Hybridation dune Méthode Glouton et dune Recherche Locale Weinberg Benjamin Laboratoire dInformatique Fondamental de Lille, France
Motivation Appréhender la difficulté effective du problème Appréhender la difficulté effective du problème Apprendre les spécificités du problème: Apprendre les spécificités du problème: Ce qui fait que certaines heuristiques marchent mieux Voir les méthodes qui donnent une solution dans un temps raisonnable Voir les méthodes qui donnent une solution dans un temps raisonnable AG, RS convergent vers une solution optimale (random le fait aussi) Quelle heuristique pour un problème nouveau Quelle heuristique pour un problème nouveau
Adaptation du problème Fonction objective Fonction objective h1: nombre de contraintes violées (CI & CEM) h2: la distance moyenne entre la différence entre les fréquences de trajets contraints et la contrainte de séparation Minimiser h1, en cas de «litige» maximiser h2. Stratégie Stratégie k := 11; on cherche une affectation C tq h1(C) = 0 Puis on recommence avec k := k-1
Codage f 1,p 1 f 2,p 2 f i,p i f n,p n …… trajets 1101 …… affectés …… Permutation: trajets regroupés par liens …… Indice des «débuts» des liens 0151 …… Nb violations
Méthode ADSD Origine de la méthode Origine de la méthode une recherche locale voisinage: changement de valeur à un lien. Modifier toutes les valeurs en une seule passe! Modifier toutes les valeurs en une seule passe! => voisinage = totalité de lespace de recherche?? Désallocation de variables pour se déplacer plus efficacement Désallocation de variables pour se déplacer plus efficacement
ADGR Parcours dune partie du voisinage Parcours dune partie du voisinage Pour chaque lien cherche la meilleure valeur Parcours aléatoire des liens Choix de la valeur locale à la variable Mettre à jour la note de la conf. + les tableaux «affecté» et «nb violations» Maintien des contraintes Maintien des contraintes de domaines dégalité de fréquences
AD Désallocation de certaines variables Désallocation de certaines variables Politique choisie: Politique choisie: Les liens dont au moins un trajet viole des contraintes Nécessité du tableau des contraintes violées Nécessité du tableau des contraintes violées Mise à jour de ce tableau à moindre coup pendant une évaluation
ADSD (algo) TQ critère non atteint FAIRE TQ critère non atteint FAIRE SI ADGR améliore suffisamment conf. ALORS SI ADGR améliore suffisamment conf. ALORS SI conf. est meilleur ALORS SI conf. est meilleur ALORS mémoriser conf. mémoriser conf. FSI. FSI. SINON SINON AD (conf.) AD (conf.) FSI FSI FAIT FAIT
Expérimentation (I) Code en C ANSI Code en C ANSI Run sur des PC linux 933Mhz Run sur des PC linux 933Mhz Option doptimisation -O3 Option doptimisation -O3 Paramètres: Paramètres: Pente minimale: 0.05 Nb itérations de pente faible avant ouverture: 1 Nb Itérations séparant le changement dordre des liens: 5
Expérimentation (II) 76fapp fapp fapp07 710fapp fapp05 66fapp04 88fapp03 54fapp0254fapp011110fapp1056test03 77test02 44test fapp fapp fapp fapp fapp11911test04-11fapp23 -11fapp22 -11fapp21 -10fapp20 -11fapp19 -11fapp18 -4fapp17 -11fapp16
Conclusion & Perspectives Base A plus facile que la Base B Base A plus facile que la Base B Peu Robuste Peu Robuste De bon résultats sur Base A De bon résultats sur Base A Modifier h2 Modifier h2 Appliquer des mécanismes + sophistiqués quune simple désallocation Appliquer des mécanismes + sophistiqués quune simple désallocation Utiliser un algorithme à population (AG hybride) Utiliser un algorithme à population (AG hybride)