• Aucun résultat trouvé

R´ ecapitulatif des probl` emes combinatoires trait´ es avec des fourmis 37

2.3 Optimisation combinatoire

2.3.13 R´ ecapitulatif des probl` emes combinatoires trait´ es avec des fourmis 37

Le tableau 2.1 pr´esente pour chaque probl`eme combinatoire les r´ef´erences correspon-dant `a des travaux inspir´es des fourmis. Bien que ce tableau soit par d´efinition d´epass´e, nous avons tent´e d’y faire figurer le maximum de r´ef´erences bibliographiques. De plus il donne un aper¸cu de la vitalit´e de ce domaine. Les probl`emes sont approximativement class´es par ordre d’apparition.

38 2.3 Optimisation combinatoire

Probl`eme R´ef´erences

Travelling Salesman (Colorni et al., 1991; Dorigo et al., 1991; Dorigo, 1992; Co-lorni et al., 1992; CoCo-lorni et al., 1995; Gambardella and Do-rigo, 1995; Dorigo and Gambardella, 1996; Dorigo et al., 1996; Gambardella and Dorigo, 1996; Bullnheimer et al., 1997b; Dorigo and Gambardella, 1997b; Dorigo and Gam-bardella, 1997a; St¨utzle and Hoos, 1997b; St¨utzle and Hoos, 1997c; St¨utzle and Hoos, 1997a; Bullnheimer et al., 1999c; St¨utzle and Dorigo, 1999b)

Quadratic Assignement (Maniezzo et al., 1994; Gambardella and Dorigo, 1995; Gam-bardella et al., 1997; Taillard and GamGam-bardella, 1997; Ma-niezzo, 1998; Maniezzo and Carbonaro, 1998; Taillard, 1998; Roux et al., 1999; Gambardella et al., 1999b; Maniezzo and Colorni, 1999; St¨utzle and Dorigo, 1999a)

Jobshop Scheduling (Colorni et al., 1994)

Bin Packing (Bilchev and Parmee, 1996b)

Vehicle Routing (Bullnheimer et al., 1997a; Bullnheimer et al., 1999b; Bulln-heimer et al., 1999a; BullnBulln-heimer, 1999; Gambardella et al., 1999a)

Network Routing (Di Caro and Dorigo, 1997; Schoonderwoerd et al., 1997; Di Caro and Dorigo, 1998b; Di Caro and Dorigo, 1998a; Di Caro and Dorigo, 1998; Di Caro and Dorigo, 1998; Bonabeau et al., 1998a; Heusse et al., 1998; White et al., 1998) Bus Driver Scheduling (Forsyth and Wren, 1997)

Sequential Ordering (Gambardella and Dorigo, 1997) Graph Coloring (Costa and Hertz, 1997)

Frequency Assignement (Maniezzo and Carbonaro, 1998; Maniezzo and Carbonaro, 2000)

Shortest common su-persequence

(Michel and Middendorf, 1998; Michel and Middendorf, 1999)

Flowshop Scheduling (St¨utzle, 1998a; La¨ugt et al., 2000; T’Kindt et al., 2000) Multi-objectif (Mariano and Morales, 1999)

Virtual Wave Length Path routing

(Navarro Varela and Sinclair, 1999) Multiple Knapsack (Leguizam´on and Michalewicz, 1999) Single Machine Total

Tardiness

(Bauer et al., 1999) Recognizing

Hamilto-nian Graphs

(Wagner and Bruckstein, 1999) Total Weighted

Tardi-ness

(den Besten et al., 2000)

Constraint Satisfaction (Pimon and Solnon, 2000; Solnon, 2000b; Solnon, 2000a) Dynamic graph search (Wagner et al., 2000)

2.4 Optimisation num´erique

Les articles pr´esent´es dans cette section placent les fourmis dans un espace `a va-riables r´eelles. La difficult´e de d´efinir le mouvement des agents fourmis dans ce genre d’espace explique le nombre moins important de publications relatives `a ce domaine d’´etude.

Dans (Bilchev and Parmee, 1995; Bilchev and Parmee, 1996a), les auteurs d´ecrivent un syst`eme de calcul dynamique qui permet de traiter des probl`emes d’optimisation dans des espaces d´efinis sur ce type d’espace de recherche. Il s’agit de minimiser une fonction f `a n variables r´eelles. La m´etaphore de la colonie de fourmis propos´ee est appliqu´ee `a un probl`eme de conception en ing´enierie qui est fortement contraint.

La difficult´e d’aborder des probl`emes `a variables r´eelles par une population d’agents fourmis provient du caract`ere non discret de la structure de description du probl`eme. Le syst`eme propos´e par les auteurs (appel´e Ant Colony Metaphor, ACM par la suite) se compose d’un ensemble fini de vecteurs repr´esentant des directions qui partent d’un point central repr´esentant le nid. Ces vecteurs ´evoluent dans le temps suivant les per-formances des fourmis. La figure 2.3.a montre ces vecteurs repr´esentant des directions int´eressantes pour les fourmis `a la sortie du nid.

v v v v v1 2 3 4 5 N v v v v v1 2 3 4 5 1 R N (a) (b)

Fig. 2.3 – Optimisation num´erique : ACM. (a) Directions de recherche `a la sortie du nid. (b) Rayons de recherche.

Chaque fourmi choisit une direction pour sortir du nid (vecteur vk). Une fois qu’elle a atteint la position indiqu´ee par le vecteur vk, elle tente d’am´eliorer l’optimum cou-rant en g´en´erant un point de Rn dans le voisinage de vk. La taille de ce voisinage est d´etermin´ee par la valeur R. La figure 2.3.b illustre graphiquement les rayons de recherche qui peuvent ˆetre diff´erents pour chaque direction vk.

L’algorithme 2.2 utilise la structure de donn´ees A(t) qui repr´esente le nid et son voisinage.

Avant que l’algorithme soit lanc´e, il faut placer le nid. Ceci peut ˆetre effectu´e par un algorithme g´en´etique ou une m´ethode similaire. ACM est alors utilis´e comme

algo-40 2.4 Optimisation num´erique

Algorithme 2.2: Optimisation num´erique par une colonie de fourmis. ACM()

(1) t← 0

(2) Initialiser A(t) (3) Evaluer A(t)´ (4) Evaporer A(t)´

(5) tantque la condition d’arrˆet est fausse faire (6) t← t + 1

(7) D´eposer ph´eromones A(t) (8) D´eplacer fourmis A(t) (9) EvaluerA(t)´

(10) Evaporer A(t)´ (11) fintantque

(12) retourner la meilleure solution trouv´ee

rithme de recherche locale fine. Il faut ensuite d´efinir un rayon R qui d´etermine la taille du sous espace de recherche consid´er´e `a chaque cycle. Initialiser A(t) envoie les fourmis dans diff´erentes directions et `a un rayon inf´erieur `a R. Evaluer A(t) est un appel `a la fonction objectif pour toutes les fourmis. D´eposer ph´eromones A(t) permet de d´eposer les ph´eromones sur les directions s´electionn´ees par les fourmis relativement `a la perfor-mance de chaque direction. D´eplacer fourmis A(t) envoie les fourmis en s´electionnant les directions al´eatoirement et proportionnellement `a la quantit´e de ph´eromones. La fourmi est alors plac´ee sur la meilleure position trouv´ee par une fourmi ayant d´ej`a empreint´e cette direction. Evaporer A(t) r´eduit le marquage des ph´eromones. Le pas local est d´etermin´e par la formule suivante :

∆(t, R) = R× (1 − r(1−t/T )b) (2.20)

o`u r est nombre al´eatoire dans [0, 1], T est le nombre maximal d’it´erations de l’algo-rithme et b est un param`etre fixant le degr´e de non-uniformit´e. La fonction ∆(t, R) renvoie ainsi un r´eel dans [0, R] qui est en probabilit´e plus proche de 0 quand t se rapproche de T .

Pour am´eliorer le mod`ele, la fourmi peut cr´eer une direction bas´ee sur deux di-rections existantes. Ce m´ecanisme s’apparente au croisement pour les algorithmes g´en´etiques. La description de ACM est cependant obscure sur ce dernier point, ce qui rend difficile son impl´ementation.

Wodrich(Wodrich, 1996) a propos´e une m´ethode assez similaire. Il utilise cepen-dant deux types de fourmis : des agents de recherche globaux sont introduits afin de remplacer l’algorithme g´en´etique. De plus, il introduit une notion d’ˆage pour chaque di-rection ce qui lui permet d’´eliminer celles qui ne permettent pas d’am´eliorer la meilleure solution et de diff´erencier le rayon R pour chaque direction.