• Aucun résultat trouvé

Problèmes classiques

Dans le document THÈSE. En vue de l'obtention du JURY (Page 32-44)

gènes au descendant ety fournit la partie complémentaire. Ensuite, au cours de cette même itération, Nm solutions subissent une mutation, c'est-à-dire une modication aléatoire d'un gène. Pour obtenir la nouvelle population, on considère la population précédente ainsi que les nouvelles solutions générées par mutation ou croisement. LesN meilleures solutions sont alors sélectionnées selon le critère d'optimisation considéré. Notons que ce critère représente une mesure d'adaptation au milieu.

Le même processus est réitéré jusqu'à ce que la condition d'arrêt soit atteinte (par exemple un nombre de générations xé).

Un inconvénient certain demeure un temps de calcul important, avec en pratique des résultats inférieurs à ceux obtenus par une recherche taboue.

1.1.4 La recherche gloutonne

La recherche gloutonne est une méthode approchée qui construit une seule solution, par une suite de choix locaux et dénitifs, c'est-à-dire sans retours en arrière. Elle cherche, à chaque itération, à faire le choix le plus avantageux.

La recherche gloutonne ne donne aucune garantie sur la qualité du résultat, ni en termes de satisfaction des contraintes (le cas échéant), ni en termes d'optimalité. Il existe cependant des variantes intéressantes qui pallient ces faiblesses, notamment le glouton stochastique itéré (voir heuristic-biased stochastic sampling (Bresina 1996)) : des recherches gloutonnes successives (à partir d'une solution vide) sont eectuées à l'aide d'heuristiques bruitées. La recherche est ainsi diversiée.

L'avantage certain de la recherche gloutonne demeure sa complexité linéaire, fonction du nombre de choix à réaliser et du nombre d'alternatives possibles pour ces choix. De plus, il existe de nombreuses heuristiques pour les problèmes d'optimisation combinatoire classiques, et il est très facile d'en créer d'autres.

1.2 Problèmes classiques

1.2.1 Le sac à dos

Le problème du sac à dos (Kellerer et al. 2004) est l'un des problèmes les plus célèbres en optimisation combinatoire, en grande partie pour sa formulation très simple et ses applications diverses (gestion de portefeuilles, chargement de bateaux ou d'avions, découpe de matériaux . . . ).

Énoncé du problème

Intéressons-nous à un randonneur qui prépare son sac à dos pour partir en montagne, et qui doit donc choisir ce qu'il emporte avec lui. Il dispose de nombreux objets qui peuvent être utiles à son excursion (boîtes de conserve, gourdes, couteaux . . . ). Chacun de ces objets, numérotés de1 à n, lui apporterait un certain confort mesuré par un nombre positif pj. Bien sûr, le poids wj de chaque objet que le randonneur ajoute dans son sac augmente la charge

qu'il doit porter. Pour des raisons évidentes, il souhaite limiter le poids total du sac à dos et xe ainsi une charge maximalec à ne pas dépasser.

Le problème revient nalement à choisir les objets à insérer, de sorte à obtenir un sac le plus "utile" possible tout en respectant une charge maximale (voir Figure 1.1).

1 boîte de conserve et une bouteille d’eau de 1l?

1 bouteille d’eau de 50cl?

2 boîtes de conserve et

Figure 1.1 Illustration du problème du sac à dos.

Plus formellement, le problème du sac à dos (en anglais Knapsack Problem) est déni comme suit.

Dénition 1 (Problème du sac à dos). SoitN l'ensemble ni des objets disponibles. Pour tout objetj, soientpj etwj respectivement l'utilité et le poids dej. On désigne parcla capacité du sac à dos. L'objectif est de sélectionner un sous-ensemble de N tel que l'utilité totale des objets sélectionnés soit maximisée et tel que le poids total n'excède pas c, i.e. trouver S ⊆N respectantX

j∈S

wj ≤c et maximisant X

j∈S

pj.

Il existe de nombreuses variantes de ce problème célèbre. Citons le sac à dos multi-dimensionnel dans lequel s'ajoutent des contraintes portant sur des dimensions autres que le poids total des objets (le volume total par exemple), le sac à dos multi-objectif dans lequel s'ajoutent des critères autres que le confort du randonneur (plusieurs valeurs sont attribuées aux objets), ou encore le sac à dos multiple dans lequel plusieurs sacs de capacités diérentes sont disponibles et dans lequel la valeur d'un objet dépend du sac qui le contient.

Méthodes de résolution

Le problème de décision associé est le suivant : étant donné un nombre k, existe-t-il un ensembleS⊆N tel que P

j∈Swj ≤c etP

j∈Spj ≥k.

Ce problème est NP-complet, c'est-à-dire que toute solution est vériée en temps polynomial mais que les algorithmes de recherche de solutions sont de complexité exponentielle (ils sont en fait ici pseudo-polynomiaux). Le problème initial d'optimisation est, quant à lui, NP-dicile car sa résolution est au moins aussi dicile que celle du problème de décision. Les algorithmes

1.2. Problèmes classiques 15 optimaux capables de résoudre ce type de problèmes ont un temps d'exécution exponentiel en la taille de l'entrée dans le pire cas. Néanmoins, il est parfois possible de résoudre en un temps raisonnable certaines instances. On le constate d'ailleurs pour le problème du sac à dos puisque la programmation dynamique et les recherches arborescentes par séparation et évaluation viennent à bout des instances de petite taille.

Les algorithmes approchés sont cependant très utiles pour obtenir rapidement, sur des in-stances de taille quelconque, des solutions réalisables. Une idée naturelle pour ce problème consiste à insérer en priorité les objets les plus ecaces (compromis entre utilité et poids), jusqu'à saturation du sac à dos. La notion d'ecacité est en fait liée à la densité d'utilité d'un objet, elle-même dénie par le rapport entre son utilité et son poids. Cela conduit à un algorithme glouton très simple (voir l'algorithme 1) sur lequel se basent de nombreuses tech-niques plus sophistiquées. Évidemment, la solution est fournie en peu de temps, mais elle peut s'avérer très mauvaise suivant l'instance considérée. Heureusement, le comportement moyen est bon en pratique.

Algorithme 1 : Algorithme glouton insérant les objets par ordre décroissant d'ecacité trierN par ordre décroissant d'ecacité wpjj ;

1

S← ∅ ;

2

¯

w←0; //w¯ est le poids total des objets actuellement dans le sac

3

zG←0 ; //zG est l'utilité de la solution courante

4

foreachj∈N do

5

if w¯+wj ≤c then

6

S←S∪ {j} ; //insérer l'objet j dans le sac à dos

7

¯

w←w¯+wj ;

8

zG←zG+pj ;

9

return(S, zG)

10

Il existe des algorithmes pour le problème du sac à dos garantissant une distance maximale à l'optimum. La complexité de ces algorithmes est, en général, liée à l'inverse de l'écart relatif attendu (O(n1),O(n2+ 12) . . . ). Les temps d'exécution sont potentiellement conséquents.

De nombreux papiers s'attaquent à la résolution approchée du problème multi-dimensionnel par l'utilisation de métaheuristiques. (Chu et Beasley 1998) présente par exemple un nouvel al-gorithme génétique. Celui-ci incorpore, en plus des opérateurs classiques (sélection, croisement, mutation), un opérateur heuristique qui utilise des connaissances spéciques au problème.

Un algorithme de recherche taboue est également développé dans l'article (Glover et Kochenberger 1996). On y trouve une mémoire exible intégrant des informations de fréquence, à savoir le nombre de sélections de chaque objet au cours destdernières itérations.

Parallèlement, (Vasquez et Hao 2001a) propose une approche hybride qui combine la recherche taboue avec la programmation linéaire. L'algorithme utilise la méthode du

sim-plexe pour obtenir des points continus autour desquels lancer un algorithme tabou. Cet article souligne aussi les avancées notables pour ce type de problème.

Enn, (Alaya et al. 2007) propose de résoudre le problème du sac à dos multi-dimensionnel en utilisant la métaheuristique d'optimisation par colonies de fourmis (en anglais Ant Colony Optimization). L'idée est de construire des solutions de façon incrémentale, par ajouts succes-sifs d'objets à une solution partielle. À chaque itération, l'objet à ajouter est choisi selon une probabilité dépendant de traces de phéromone et d'une information heuristique locale. Les traces de phéromone sont en fait une forme d'apprentissage. Plusieurs façons de déposer ces traces sont étudiées (sur les objets sélectionnés, sur les couples d'objets sélectionnés consécu-tivement, . . . ).

Lien avec le problème traité

Le problème du sac à dos se rapproche de notre problème de planication d'observations par son aspect surcontraint et donc sélectif. Une analogie évidente peut s'établir entre, d'une part, objets et observations, et d'autre part, sac à dos et satellites. De plus, les dimensions des objets sont à mettre en parallèle avec l'énergie et la mémoire consommées par les observations.

En particulier, le sous-problème du vidage des données est très proche du problème académique (voir Figure 1.2).

temps fenêtre de visibilité d’une station de réception

temps fenêtre de visibilité d’une station de réception

Télédéchargements :

utilité totale = 8+6+4 =18

solution optimale problème

utilité ded1= 8 utilité ded2= 9 utilité ded3= 6 utilité ded4= 4 d1

d2

d3

d4

durée du vidaged4

d1 d3 d4

Figure 1.2 Télédéchargement des données sous forme d'un problème de sac à dos.

1.2. Problèmes classiques 17 1.2.2 Le plus long chemin

Le problème du plus long chemin est issu de la théorie des graphes (Christodes 1975, Gondran et al. 1984). Contrairement au problème de plus court chemin, il est en général dicile à résoudre.

Énoncé du problème

Le Problème du Plus Long Chemin consiste à trouver, dans un graphe donné, un chemin simple de longueur maximale entre deux sommets (voir Figure 1.3). Un chemin est dit simple si aucun sommet n'est répété.

A

B D

E 2

1

3

1 1

4

C

Figure 1.3 Illustration du problème du plus long chemin entre A et E.

Dénition 2 (Problème du Plus Long Chemin). Soit G = (X, E) un graphe pondéré, où X et E représentent respectivement les sommets et les arêtes3 deG. À chaque arête (i, j) est associé un coût ci,j. L'objectif est de trouver un chemin de coût maximal entre un sommet de départ s∈X et un sommet nalt∈X, en supposant qu'un tel chemin existe i.e.t∈R(s), où R(s) désigne l'ensemble des sommets atteignables à partir de s.

Méthodes de résolution

Le problème du plus long chemin est NP-dicile dans le cas général4, ce qui se démon-tre facilement avec la notion de circuits hamiltoniens dénis en 1.2.3. Pour cette raison, les techniques proposées sont typiquement basées sur des heuristiques.

(Karger et al. 1993) présente plusieurs algorithmes approchés de complexité polynomiale pour le problème du plus long chemin dans un graphe non pondéré non orienté.

De plus, une méthode aléatoire pour la recherche de chemins de longueur k entre deux n÷uds Ns etNe, dans un graphe non orienté non pondéré (la longueur désigne ici le nombre

3. Les liens entre sommets ou n÷uds sont appelés arêtes dans un graphe non-orienté et arcs dans un graphe orienté.

4. Il est d'usage de qualier de facile le problème du plus court chemin simple, et de dicile le problème du plus long chemin simple, car leur dénition n'est pas symétrique. Typiquement, des poids positifs sont considérés. Dans ce cas, le problème du plus court chemin est eectivement facile, même en présence de cycles.

Il devient également NP-dicile dès lors qu'il existe des cycles négatifs.

d'arcs impliqués), est décrite dans (Alon et al. 1995). Cette méthode est appelé color-coding.

L'idée est de colorer aléatoirement les n÷uds du grapheGavec exactement k couleurs, et de déterminer s'il existe un chemin "coloré", i.e. dont les n÷uds sont de couleurs diérentes, de longueur k entre Ns etNe. Elle permet de savoir s'il existe un chemin de longueur k en un tempsO(2k.mlogn)où nest le nombre de sommets etm le nombre d'arêtes. En conséquence, elle détecte en temps polynomial si un chemin de longueurO(logn)existe.

Enn, l'article (Portugal et al. 2010) présente quatre approches à base d'algorithmes géné-tiques pour résoudre ce problème. Les trois premiers algorithmes utilisent des mécanismes de croisement entre paires de solutions basés sur leurs régions d'intersection, et le quatrième utilise un mécanisme de mutation sur des solutions individuelles, dans lequel la perturbation appliquée dépend de l'état du système.

Notons que, dans le cadre des graphes acycliques, le problème devient très simple : il est résolu en temps polynomial en considérant l'opposé du poids de chaque arête et en faisant appel à un algorithme de recherche de plus court chemin (Dijkstra, A . . . ). Dans le cadre des graphes orientés acycliques, il est même possible de le résoudre directement, en temps linéaire, par programmation dynamique (voir algorithme 2).

Algorithme 2 : Calcul de la longueur du plus long chemin d'un graphe orienté acyclique par programmation dynamique

input : Graphe Orienté Acyclique G= (X, E) output : Longueur du plus long chemin

initialiser à 0 les |X|éléments du tableau L;

1

trier dans T les éléments de X par (un) ordre topologique ; //pour tout arc (u, v), u

2

vient avant v dans T foreachx∈T do

3

foreach(x, y)∈E do

4

if L[y]≤L[x] +cx,y then

5

L[y] =L[x] +cx,y;

6

returnmax

x∈X(L[x]); //pour reconstruire le chemin, il suffit d'introduire un

7

tableau de successeurs qui est mis à jour dès que L est modifié

Lien avec le problème traité

Le problème du plus long chemin se rapproche de notre problème de planication d'obser-vations par sa volonté de maximiser une quantité sur un parcours. Donnons-nous un graphe pondéréG= (X, E) dans lequel les n÷uds représentent les observations à réaliser, agrémen-tées d'une observation factice de départ of et d'une observation factice d'arrivée ol, toutes deux obligatoires. Considérons un graphe orienté pour préciser les relations de précédence en-tre observations. Le poids d'un arc(i, j)désigne l'utilité apportée par l'observationj. Dans ce

1.2. Problèmes classiques 19 cas, la recherche d'un plan maximisant l'utilité totale apportée par les observations réalisées est équivalente à la recherche d'un plus long chemin entreof etol (voir Figure 1.4).

plus long chemin 2

1

2

2

3

3

2

2

3 o1

o2 o3

o4

o5

ol of

utilité deo1= 2 utilité deo2= 1 utilité deo3= 2 utilité deo4= 3 utilité deo5= 2

Figure 1.4 Planication d'observations sous forme de problème de plus long chemin.

1.2.3 Le voyageur de commerce

Le Problème du Voyageur de Commerce (en anglais Traveling Salesman Problem ou TSP) est un autre problème classique issu de la théorie des graphes. Si ce problème est très populaire, c'est sans doute parce qu'il y a un contraste saisissant entre sa dénition très simple et sa résolution étonnamment dicile. L'ouvrage (Lawler et al. 1985) lui est entièrement dédié.

Énoncé du problème

Intéressons-nous à un représentant de commerce qui doit rendre visite à un ensemble de clients situés dans des villes diérentes. Le but du représentant est de partir de son domicile, de rendre visite une fois à chaque client, et de revenir à son domicile en minimisant le kilométrage parcouru (voir Figure 1.5).

La formulation mathématique du problème fait appel à la notion de cycle hamiltonien dont voici la dénition.

Dénition 3 (Cycle hamiltonien). Soit un grapheG= (X, E)oùXetEdésignent respec-tivement l'ensemble des sommets et l'ensemble des arêtes de G. Un parcours est hamiltonien s'il visite une fois et une seule chaque sommet deG.

Une dénition formelle du Problème du Voyageur de Commerce est désormais possible.

Dénition 4 (Problème du Voyageur de Commerce). Considérons un graphe complet G = (X, E) dans lequel l'ensemble X des sommets représente les villes à visiter dont celle

Figure 1.5 Illustration du problème du voyageur de commerce.

du domicile, et l'ensemble E des arêtes représente les parcours possibles entre ces villes. Une distance de parcoursdi,j entre les villesietj est associée à toute arête(i, j)∈E. La longueur d'un chemin dansG est égale à la somme des distances associées aux arcs de ce chemin.

Le Problème du Voyageur de Commerce consiste à trouver un cycle hamiltonien de longueur minimale.

La diérence essentielle avec les problèmes de plus court chemin, problèmes faciles pour lesquels il existe des algorithmes optimaux ecaces, réside dans l'obligation de passer par tous les sommets. Toutefois, il est vrai qu'une telle contrainte est relativement forte. Le représentant de commerce peut décider de ne pas visiter certaines villes sans client ce jour-là. C'est pourquoi, il existe des variantes plus réalistes du problème. Par exemple, on peut chercher un cycle de coût minimal visitant au moins une fois chaque ville d'un sous-ensemble de villes incluant la localité de départ. Une autre variante intéressante appelée Problème du Voyageur de Commerce avec fenêtres temporelles consiste à associer à chaque ville un intervalle de temps au cours duquel doit avoir lieu sa visite. L'ouvrage (Gutin et Punnen 2002) liste toute une série de variantes et récapitule les méthodes de résolution existantes.

Méthodes de résolution

Le problème d'existence d'un circuit hamiltonien dans un graphe étant NP-complet, le TSP est quant à lui NP-dicile. Face à un tel problème, les approches habituelles sont de développer des algorithmes optimaux susceptibles de fournir, sur des instances de petite taille, une solution exacte en un temps raisonnable, ou des algorithmes approchés capables de s'attaquer à des instances de taille bien plus importante mais qui ne garantissent pas de solution optimale.

1.2. Problèmes classiques 21 Pour le TSP, une technique très naïve mais naturelle consiste à essayer toutes les permuta-tions et à relever celle de coût minimal. Malheureusement, la complexité est alors factorielle, ce qui rend cette technique inapplicable même pour un nombre très limité de villes (moins de vingt). D'autres approches, plus intelligentes, sont aptes à trouver une solution optimale sur des instances comportant davantage de villes. Parmi elles, on peut citer l'emploi d'algo-rithmes de type séparation et évaluation ou encore l'emploi d'algod'algo-rithmes de programmation dynamique.

Néanmoins, si l'on s'intéresse à des instances de taille beaucoup plus importante (e.g.

plusieurs millions de villes) ou si l'on se donne des temps de calcul très courts, les méth-odes approchées sont indispensables.

Les plus simples sont les heuristiques gloutonnes. Il en existe quatre classiques pour le TSP : Plus Proche Voisin, Plus Proche Insertion, Plus Lointaine Insertion et Meilleure Insertion.

La première heuristique est la plus simple (voir l'algorithme 3). On part d'un sommet 1 caractérisant le domicile. À chacune desn−1itérations, on connecte le dernier sommet atteint au sommet libre le plus proche (au sens des coûts). On relie nalement le dernier sommet au sommet1. Cette heuristique s'exécute très rapidement, enO(n2), mais peut manquer, à cause de sa nature myope, des chemins plus courts, facilement identiables par un humain. Elle est très mauvaise dans le pire cas, mais sa performance moyenne est bien meilleure en pratique.

Les autres heuristiques partent d'un cycleµ réduit à une boucle sur le sommet 1. À chaque itération, on choisit un sommet libre j, puis on cherche la position d'insertion entre deux sommets i et k de µ qui minimise l'augmentation de coût ∆d = di,j +dj,k −di,k. Dans la Plus Proche Insertion, j est le sommet le plus proche du cycle µ5. Dans la Plus Lointaine Insertion, j est le sommet le plus proche de µ. Dans la Meilleure Insertion, on teste tous les sommets j non encore insérés à toutes les positions de la tournée et on choisit le meilleur couple (sommet,position).

La Meilleure Insertion s'exécute en O(n3) tandis que les autres sont implémentables (non trivialement) enO(n2). En moyenne, ces heuristiques sont très bonnes. On a même la garantie que, dans le cas euclidien6, le coût total est au pire deux fois plus grand que le coût optimal.

L'ouvrage (Prins 1994) fournit les résultats de la comparaison de ces heuristiques. Dans le cas non euclidien, l'heuristique de Plus Proche Voisin est la meilleure, tandis que, de façon surprenante, l'heuristique de Plus Lointaine Insertion est la meilleure dans le cas euclidien.

Les métaheuristiques de type recuit simulé et recherche taboue donnent cependant de bien meilleurs résultats. L'élément essentiel de ces métaheuristiques demeure la dénition du voisi-nage. Pour le TSP, il est d'usage d'utiliser le voisinage k-OPT : par exemple, le voisinage 2-OPT consiste à supprimer 2 arêtes non adjacentes d'un cycle hamiltonien, puis à recon-necter les 2 chaînes obtenues par 2 nouvelles arêtes pour reformer un cycle (voir Figure 1.6).

5. La distance Distj d'un sommet j au cycle µ est égale à la distance minimale entre j et chacun des sommets deµ:Distj = min

i∈µ(di,j).

6. Cas particulier oùdi,j est la distance euclidienne entreietj, et vérie doncdi,j+dj,kdik.

Algorithme 3 : Heuristique du Plus Proche Voisin input : MatriceA des coûts entre sommets output : RouteCycle empruntée par le voyageur C←0 ;

1

Cycle[1]←1; //le sommet 1 correspond au domicile

2

fori←2 to NX do

3

Free[i]← True ;

4

forLast ←1 toNX −1 do

5

DMin ← MaxCost ;

6

fori←2 to NX do //on cherche le sommet le plus proche

7

if Free[i]and (A[Cycle[Last], i]<DMin)then

8

DMin ←A[Cycle[Last], i];

9

imin←i;

10

Free[imin]← False ;

11

Cycle[Last+ 1]←imin ; //le prochain sommet du cycle est imin

12

C←C+DMin ;

13

C←C+A[imin,1];

14

Cycle[NX + 1]←1;

15

returnCycle

16

L'énumération du voisinage est enO(nk).

j

k i

j

k i

l l

Figure 1.6 Tansformation 2-OPT dans un graphe.

Lien avec le problème traité

Le problème du voyageur de commerce se rapproche de notre problème d'observation de la Terre par sa volonté de minimiser la distance (ou durée) totale d'un parcours avec points de passage donnés. Considérons un graphe orienté pondéréG= (X, E)dans lequel les n÷uds

1.2. Problèmes classiques 23 du graphe représentent les observations à réaliser, avec ajout d'un sommetof l factice. Pour chaque arc(i, j)∈E, sa pondérationdi,j regroupe la durée de réalisation deiet la transition entreietj. Dans ce cas, la recherche d'un plan réalisant toutes les observations en un temps minimal est équivalente à la recherche d'un plus court chemin hamiltonien (voir Figure 1.7).

0 0 0 0

1 1

1

1

hamiltonien plus court chemin

2

4

5

3 6 7 5

4 3

2

5 6

of l

o1

o2 o3

o4

Figure 1.7 Planication d'observations sous forme de problème du voyageur de commerce.

La diérence majeure avec notre problème réel est l'obligation de réaliser toutes les ob-servations. La variante avec fenêtres temporelles permet également de prendre en compte les fenêtres de réalisation possibles pour les observations, particularité qui provient de l'agilité des satellites.

Néanmoins, il demeure dicile de prendre en compte certaines contraintes, même simples, comme celles portant sur les ressources.

1.2.4 Les tournées de véhicules

Le Problème des Tournées de Véhicules (en anglais Vehicule Routing Problem ou VRP) est en fait une extension du problème de voyageur de commerce, dans lequel on ne considère plus un unique représentant pour visiter les villes mais une équipe (une otte de véhicules ; voir Figure 1.8).

Des variantes de ce problème peuvent prendre en compte le volume des commandes de chaque client, leurs horaires d'ouverture et la capacité des véhicules.

Ce problème se trouve au moins aussi dicile que le précédent. On trouve néanmoins des algorithmes optimaux pour une centaine de villes, par exemple une recherche arborescente par

Figure 1.8 Illustration du problème des tournées de véhicules.

séparation et évaluation (Fisher 1994).

La majeure partie des techniques utilisées sont sans conteste les heuristiques (exploration relativement limitée mais solutions de bonne qualité) et les métaheuristiques (exploration profonde des zones prometteuses et solutions de très bonne qualité) car aucun algorithme exact ne peut garantir l'obtention de tournées optimales en un temps raisonable, lorsque le nombre de villes à visiter est grand.

Parmi les heuristiques rencontrées gurent des méthodes constructives : une solution fais-able est construite pas à pas tout en gardant un ÷il sur le coût de la solution, sans aucune phase d'amélioration. L'une des plus connues est appelée Clarke and Wright savings (Clarke et Wright 1964) et s'applique lorsque le nombre de véhicules n'est pas xé (c'est une variable de décision). L'idée est la suivante : lorsque deux routes (0, . . . , i,0) et(0, j, . . . ,0)peuvent être fusionnées en une seule route(0, . . . , i, j, . . . ,0), une économie de distancesi,j =di,0+d0,j−di,j est réalisée (voir Figure 1.9). L'algorithme procède donc en deux étapes. D'abord, il calcule tous lessi,j pouri, j∈[1..n]eti6=j), les trie dans l'ordre décroissant, et créenroutes(0, i,0) pour i∈ [1..n]. Ensuite, en partant du début de la liste, il détermine s'il existe deux routes qui peuvent être fusionnées, l'une commençant par(0, j), l'autre nissant par(i,0). Les routes sont alors combinées en supprimant(0, j) et(i,0), et en insérant (i, j).

Parallèlement, les métaheuristiques classiques sont employées dans la littérature pour ré-soudre ce problème : colonies de fourmis (Bullnheimer et al. 1997)(construction des parcours et mise à jour des traces), algorithmes génétiques, recuit simulé, recherche taboue (Xu et Kelly 1996)(permutation de sommets entre parcours, repositionnement global de sommets dans d'autres routes et améliorations locales de parcours).

Notons que les méthodes d'amélioration de parcours utilisées pour le TSP peuvent

Dans le document THÈSE. En vue de l'obtention du JURY (Page 32-44)