Title: PROPAGATION GUIDE APPLIQUE LA RECHERCHE AVEC VOISINAGE LARGE
1PROPAGATION GUIDÉE APPLIQUÉE À LA RECHERCHE AVEC
VOISINAGE LARGE
2PLAN
- PLAN
- INTRODUCTION
- PROBLÈMATIQUE
- IDEE ORIGINALE
- PROBLÈME DORDONNANCEMENT DES TÂCHES EN
FABRICATION DE VOITURES - PROBLÈME DOPTIMISATION
- RECHERCHE AVEC VOISINAGE LARGE
- PROPAGATION GUIDÉE ET GÉNÉRATION DE VOISINAGES
- REDUCTION DU DOMAINE
- EXPANSION DU DUMAINE
- RÉSULTATS
- CONCLUSION
3INTRODUCTION
La recherche avec voisinage large a prouvé sa
robustesse, notamment en améliorant la résolution
de plusieurs problèmes dans la littérature
(problème dordonnancement des tâches, tournée de
véhicule ). Sa combinaison avec la programmation
par contrainte fournit de très bon résultats.
PROBLÈMATIQUE La génération des voisinages nest
pas une chose évidente, elle demande une
connaissance approfondie du problème. Lidée
majeure de cet article est de concevoir un
mécanisme de recherche par défaut pour la
programmation par contrainte, comme cest le cas
pour la programmation mathématique.
4IDEE ORIGINALE
Lidée originale est dutiliser la propagation en
programmation par contrainte pour générer les
voisinages, on espère ainsi bâtir des structures
de voisinages en sélectionnant les variables
affectées par la propagation lorsquune variable
est fixée à une valeur.
PROBLÈME DORDONNANCEMENT DES TÂCHES EN
FABRICATION DE VOITURES
Soient O lensemble des options (climatiseur,
lecteur DVD) et K lensemble des configurations.
5Pour toute option o de O, on définit lo comme
étant la longueur dune séquence et co la
capacité maximale de la ligne de production à
effectuer loption o par séquence de longueur
l0. On se donne une séquence de configuration sur
notre ligne de production slts1, s2,, sngt, la
formulation mathématique de notre problème est
6PROBLÈME DOPTIMISATION
- On aimerait appliquer les techniques de recherche
local au problème précédent. - Le problème comme définit à la section précédente
est un problème de décision, cependant on a
besoin de mesurer la qualité dune séquence même
si elle ne respecte pas toutes les contraintes de
capacité si on veut appliquer les techniques de
recherche local. Deux approches existe - Ajouter une pénalisation à notre fonction
objectif à chaque fois quune contrainte est
violée. Cette approche recherche les solutions
sans aucune violation de contraintes. - Relaxer le problème en ajoutant des nouvelles
configurations vides (sans options), ces
configurations seront insérées lorsque aucune
configuration réelle nest possible ce qui
induira un coût pénalisant la fonction objectif .
Lidée est de passer toutes les voitures sans
trop utiliser de configurations vides
intermédiaires, si toutes ces configurations
arrivent à la fin de la séquence alors on a
atteint notre solution.
7RECHERCHE LOCAL AVEC VOISINAGE
VOISINAGE LARGE
Lidée de base est de relaxer puis optimiser
itérativement une partie du problème à optimiser,
en espérant que les solutions saméliorent au
cours des itérations. En fait la programmation
par contraintes permet dajouter des contraintes
pour assurer que la solution actuelle est
meilleure que lancienne. La problématique est
de choisir les parties à relaxer et à optimiser,
un choix aléatoire fournit de résultats faibles
par rapport à un choix raisonnable.
8STRUCUTURE LNS
- produire une solution initiale
- tant que ( la solution optimale nest pas
atteinte et tlt Tl) - Choisir P, la partie du problème à optimiser
- Fixer les variables qui nappartiennent pas à P
- Si la solution actuelle est améliorer alors
- mettre à jour la solution optimale
- Fin de si
- Fin de tant que
9PROPAGATION GUIDÉE ET GÉNÉRATION DE VOISINAGE
PGLNS
RÉDUCTION DU DOMAINE
La taille du problème est celle de toutes ses
variables non fixées encore. Lorsquune
variable est fixée, on applique la propagation et
on calcul ainsi la réduction du domaine et les
variables liées à la variable fixée. Cette
information nous permettra de déterminer la
variable à fixer dans la suite.
10ALGORITHME
- Tant que la taille du domaine est plus grande
que la taille désirée - Si la liste L des variables parmi lesquelles
ont fixe une est vide - Choisir une variable aléatoire à fixe
- Sinon
- Choisir une variable de la liste L
- Fixer la variable puis appliquer la propagation
- Mise à jour de la liste L
- Fin de Si
- Fin de Tant que
-
11REMARQUES
Les variables sont ordonnées dans la liste L par
la taille de réduction du domaine lorsquune
variable est fixée à une valeur. Lalgorithme
tourne jusquau moment où on atteint la taille
désirée du domaine. Lorsque la liste L est vide,
on choisit aléatoirement une variable à
fixer. Après quune variable est fixée à une
valeur, pour chacune des variables on compare la
taille de son domaine avant et après propagation,
seulement les variables ayant un changement dans
la taille du domaine seront introduites à la
liste L.
12EXPANSION DU DOMAINE PGLNSr
Dans cette partie, au lieu de réduire la taille
du domaine, on procède par expansion du domaine.
ALGORITHME
- Tant que la taille du domaine est inférieure à
la taille désirée - si la liste L est vide
- Choisir une variable aléatoirement
- sinon
- Choisir une variable de la liste L
- Fin de Si
- Ajouter la taille du domaine de la variable à la
taille du problème - Mise à jour de la liste L (Ajouter les variables
proches de la variable s sélectionner. - Fin Tant que
13La notion de variables proches à une variable S
nest rien dautre que le volume de propagation
au niveau dune variable lorsque S est fixer à
une valeur.
RESULTATS
On a généré trois séries de 20 problèmes
dordonnancement de tâches en fabrication de
voitures. Série 1 (taille 100) Série 2 (taille
300) Série 3 (taille 500)
TYPES DE VOISINAGES
14- Voisinages aléatoires
- Sélection aléatoire des variables pendant la
construction du voisinage (on le note Va ) - Utilisation de la PGLNS en ayant une liste L
de taille 0 (vide) (on le note PGLNSa)
- Voisinages PGLNS
- PGLNS
- PGLNS PGLNSa
- PGLNSr
15(No Transcript)
16 La même tendance est remarquée pour le séries 2
et 3 (taille 300 et 500). Il est claire que les
deux stratégies 4 et 5 (PGLNS et PGLNSr)
fournissent de bon résultats comparativement aux
autres stratégies (1, 2 et 3).
CONCLUSION
On est arrivé à générer des voisinages de façon
mécanique en des temps raisonnables et qui
fournissent de bon résultats. Cependant dautres
questions restent sans réponses Que faire
lorsquon atteint un excellent voisinage? Faut il
rester proche de se voisinage? Faut il diverger?