CHALLENGE ROADEF 2001 Résolution par une métaheuristique à base de recherche à voisinage variable et propagation par contraintes Fabrice BUSCAYLET Fabrice FAURE Frédéric PERNIAS Caroline TAMBELLINI Patricia DRU Céline HACQUART Stéphane RAGUIDEAU William VANDAMME Equipe IUP AVIGNON
Introduction 8 étudiants français IUP AVIGNON: Institut Universitaire Professionnalisé Notre Projet de Fin d’Étude Equipe IUP AVIGNON
PHASES DE L’ALGORITHME 1) L'estimation d'un minorant du niveau optimal de la solution 2) La recherche d'une solution de niveau minimum 3) L'amélioration de cette solution afin de trouver la meilleure solution possible Equipe IUP AVIGNON
Programmation par contraintes Une intégration naturelle des contraintes Mécanismes de propagation de contraintes Méthode de recherche arborescente intégrée Librairie de ppc (ILOG Solver) Equipe IUP AVIGNON
L’arbre de recherche propagation de contraintes à chaque nœud Equipe IUP AVIGNON
Exploration Stratégie : diversifier et limiter la recherche la génération aléatoire Pour une ressource fréquentielle i prise au hasard : Si la fréquence n’est pas fixée : On prend au hasard une fréquence de Di Si le polarité n’est pas fixée: On prend au hasard une polarité de Pi limitation du temps et du nombre d ’échecs Equipe IUP AVIGNON
Estimation d'une borne inférieure du niveau optimal de la solution Résolution sur un sous-ensemble de contraintes (p% des contraintes) : Utilisation d’arbres de recouvrement afin de définir un sous-ensemble de contraintes significatives Equipe IUP AVIGNON
Estimation d'une borne inférieure du niveau optimal de la solution En 200 secondes nous essayons de trouver un minorant du niveau de repli Equipe IUP AVIGNON
Recherche d'une solution de niveau minimal Définition du sous-problème de départ : Si la phase 1 a dépassé son temps imparti : niveau 10 et 20% de contraintes Si l'on est sorti de la phase 1 en trouvant une solution vérifiant 70% des contraintes de niveau k alors on augmente le pourcentage à 75% Equipe IUP AVIGNON
Equipe IUP AVIGNON
Amélioration locale de la solution précédente Si on n ’a pas prouvé l’optimalité du niveau courant : Diminution du nombre de viols au niveau k-1 Si on a prouvé l ’optimalité :Diminution simultanée avec le cumul des viols aux niveaux inférieurs à k-1. (avec une priorité moindre) Equipe IUP AVIGNON
Amélioration locale de la solution précédente Utilisation de la résolution par PPC de la phase 2 mais en fixant certaines valeurs pour un ensemble de trajets Choix des trajets et des domaines autour de la solution courante Deux types de voisinages appliqués alternativement Equipe IUP AVIGNON
Voisinage 1 Libération d ’une partie des trajets (leurs fréquences et polarités seront recalculées) Choix des trajets : Equipe IUP AVIGNON
Voisinage 2 Formulation Mathématique Une solution S’ est voisine d’une solution S ssi: i [ 1 .. N ] : Si = Di ( ki ) | ki - k’i | V ( i ) S’i = Di ( k’i ) Equipe IUP AVIGNON
Voisinage 2 Un Exemple Equipe IUP AVIGNON
Choix des V(i) / Observations 1) V(i) en fonction des viols sur la fréquence i - Grande taille de voisinage pour les fréquences impliquées dans des viols. Petites taille pour les autres 2) Adaptation à la topologie locale du problème traité : Taille de l ’espace de recherche – Augmente quand on trouve des solutions – Diminue dans le cas contraire Equipe IUP AVIGNON
Choix des V(i) / Définition V ( i ) = step_size( E ) + viols( i , k1, k2) Taille de pas de recherche : step_size ( E ) = min ( max ( 2 , 2E ) , 16 ) Equipe IUP AVIGNON
Résultats Tests menés sur les problèmes des bases A, Ax et B : 34 problèmes de difficultés variées Pour les problèmes de la base A où le nombre de trajets est >1000 : difficulté d’obtenir un niveau de repli <11 Equipe IUP AVIGNON
Equipe IUP AVIGNON
Equipe IUP AVIGNON
Conclusion Pour 32 problèmes (sur les 34 disponibles) la borne inférieure correspond au niveau optimal Des améliorations possibles : détection de cycle … Une expérience très enrichissante Equipe IUP AVIGNON