Vous peut aussi vouloir regarder une technique appelée "recuit simulé". Comme les algorithmes génétiques, cela utilise une fonction d'évaluation pour déterminer la qualité des solutions candidates - mais la génération des candidats a tendance à être plus simple. Chaque type d'algorithme donne de meilleurs résultats dans certaines circonstances - à partir d'un bref sondage Google, il semble que génétique a l'avantage, mais le recuit sera plus rapide à mettre en œuvre.
Voici un document de comparaison (pour un domaine différent, pas de programmation): http://www.ee.utulsa.edu/~tmanikas/Pubs/gasa-TR-96-101.pdf
Nous avons utilisé recuit simulé dans une grande application de planification et a bien fonctionné.
Pour être honnête, si le volume du personnel est inférieur à environ 40, je recommande de donner une représentation visuelle de la liste et de laisser l'utilisateur finaliser l'horaire. Peut-être utiliseriez-vous un algorithme pour créer un calendrier candidat, puis laissez l'utilisateur jouer avec. Vous pouvez toujours utiliser la fonction d'évaluation pour vérifier le travail de l'utilisateur et donner votre avis sur la qualité de sa solution.
-1 Bien que les problèmes d'algorithmes de schduling soient pertinents pour Operation Research, le simple fait de mentionner OR sans élaborer n'est pas une réponse. C'est comme dire Pourquoi ne pas utiliser l'IA, les mathématiques ou les alorithmes – tovare
Point pris, je me sens gêné. Mais pour ma défense, la RO est un lien et avec une courte question sans aucune contrainte sur le domaine du problème, il n'est pas facile de donner une réponse élaborée. – Jonke
Oui, comme pénalité, vous devez trouver un bon code-échantillon GA et poster le lien ;-) – tovare