• Aucun résultat trouvé

Àl'aided'outilsd'optimisation présentésen se ondepartiede ettethèse,nousavonssimulé etétudiéquatrevariationssurlapolitiqued'organisationdestournéesdeservi e.Àlalumièrede esexpérimentations, nousproposonsdesre ommandations de pratiquesen ontexteindustriel. Nous re ommandons tout d'abord d'éviter autant que possible d'augmenter le nombre de ontraintesduproblème. Lesexpérimentationssurlesproportionsderendez-vousillustrent bien ette on lusion.Nousre ommandonségalementd'éviterdespé ialiserlepersonnelendiérentes ompéten es. Noussupposons ependant quepour desproblèmes de très grande taille,ave un ee tif et un nombre de tournées important, une telle spé ialisation peut être envisageable, à ondition toutefoisde l'asso ierà ungain deprodu tivitésur lesopérations spé ialisées.

Par ailleurs, lesexpérimentationssurlaspé ialisationgéographique montrent que, pour peu que le dé oupage et la lo alisation soient adaptés, une séparation de la arte en zones peut être intéressante. En eet, les temps de résolution sont a élérés onsidérablement, alors que l'e a ité des solutions baisserelativement peu. Nous re ommandons également de sur harger l'entrée duproblème, ande donnerplusde hoix danslesdemandes àsatisfaire. Nouspensons égalementquelefaitd'augmenterlatailledel'entréeduproblèmepeut permettre de ompenser les légères pertes d'e a ité onstatées en as de dé oupage de la arte. Cette ombinaison de hoix d'organisation noussemble judi ieusepour uneappli ation industrielle.

Chapitre 9

Des ription des programmes implantés

9.1 Améliorations algorithmiques et stru tures de données e-

a es

L'implantation de programmes et de stru tures de données e a es pour les problèmes de tournéesestunetâ helongueetfastidieuse.Denombreusesaméliorationspeuventêtreapportées auldutemps;dans ettese tion,nousdétaillonstroisde esaméliorationsquinousontsemblé être signi atives,et nous expliquons omment les amélioreren ore.

9.1.1 Stru ture de données pour les tournées

Lastru ture laplusintuitivepour représenterune tournéeest laliste: lasu essiond'inter- ventions est alors représentée par une séquen e de n÷uds visités.Les diérents algorithmes de résolution abordésdans ette thèsemanipulent destournéesenpermanen e,et desmouvements sont évalués engrande quantité.C'est letemps onsommédansl'évaluation de esmouvements que nous her hons à réduire. Nous onsidérons i i uniquement les mouvements sur les n÷uds, 'est-à-direinsertion,suppression,é hangeet dépla ement;lesvoisinages detype

λ− opt

nesont don pas on ernés.L'évaluationd'un mouvement né essitedeuxopérations, quisont lamesure delavariationengendréesurlafon tionobje tif,etlavéri ationquelemouvementneprovoque au une violation de ontrainte.

Mesurerlavariationen oûtpeutgénéralementêtreee tuéentemps onstant.Enrevan he, vérier la faisabilité de la solution engendrée par le mouvement peut être moins trivial. Nous nous fo alisons i i sur le as des insertions, ar une suppression n'invalide jamais une tournée, et les é hanges et dépla ements peuvent être vus omme des ombinaisons de suppressions et d'insertions. Vérier la faisabilité d'une tournée suite à une insertion se fait a priori en

O(p)

, où

p

est le nombre de n÷uds dans la tournée. Chaque fenêtre de temps doit être respe tée, et en l'absen e de stru ture de donnée enri hie, ela implique de par ourir la tournée dans son intégrité.

Pour représenter une tournée, nousutilisons une stru ture de tableau-liste, qui autorise des opérations en temps onstant ou temps onstant amorti, à l'ex eption de la suppression dont le oût est linéaire. Chaque élément

i

de la tournée est enri hi d'une heure d'arrivée

hi

. Ainsi, l'heure à laquelle ilest possible d'arriver au n÷ud

j

si on l'insère après len÷ud

i

se al uleen temps onstant :

hj

= hi+ si

+ tij

, où

si

est le temps de servi e au n÷ud

i

, et

tij

le temps de transport entre

i

et

j

. De ette façon, lepar ours de toutela partie de latournée pré édant

9.1.2 Exploration du voisinage

Quel que soit le voisinage, il existe plusieurs possibilités pour l'explorer. Nous utilisons i i l'exemple de l'é hange de deux n÷uds au sein d'une même tournée. Pour évaluer la variation de oûtengendréepar unetelleopération, nousavonsimplanté su essivement troisalgorithmes simples:

 Cloner latournée en mémoire, ee tuerl'é hange surle lone, al uler les oûtsdes deux tournées(

O(p)

à haque fois) etrenvoyer ladiéren e.

 Ee tuerl'é hangesurlatournée, al ulerle oûtde ettetournéemodiée,restaurerl'état initial, al ulerle oûtde référen e, et renvoyer ladiéren e.

 Par ourir la sous-tournée bornée par les positions des deux n÷uds é hangés, en utilisant dynamiquement les ar stels qu'ilsseraient danslasolution modiée.

La troisièmesolution estnaturellement laplus rapide,etles deuxpremiers algorithmes peuvent semblerstupides.Cependant,laprésen ede ontraintesderepas ompliquegrandementl'évalua- tionde esmouvements, ardenombreux asparti uliers peuventsurgir

1

.Lestroisalgorithmes sont don itésdansl'ordre hronologiquedeleurimplantation, qui orrespondàunordre rois- sant de vitessed'exé ution, maisaussiàun ordre roissant de di ulté d'implantation.

Suivant le même prin ipe, nous avons simplié la plupart des opérations. Les seuls mou- vements dont l'évaluation né essite toujours de modier une tournée (et don des é ritures en mémoire) sontl'é hange d'ar s(pour le2-opt) et le3-é hange den÷uds.Il n'existeplus devoi- sinage qui,dansnos programmes, utilise en ore un lonage de tournée. Il estpossible d'évaluer lesvariationsde oûtengendréesparlesdeuxvoisinages itéssansee tuerd'eetdebord,mais e n'est pas trivial. La première di ulté onsiste à dénombrer l'ensemble des as parti uliers pouvant surgir lors d'un é hange de deux ar s,ou d'unerotation de 3 n÷uds,et impliquant un pointde repas.Àtitred'exemple, nousavonsdénombré 13 asparti uliers pour le2-é hange de n÷uds au seind'unemême tournée.

Lesdiéren esd'e a ité enregistréesentre lestroisméthodesd'évaluationsont assez spe - ta ulaires. Le hoix s'estee tué empiriquement, maisà titre d'exemple et pour desproblèmes à 300 lients, les premiers temps d'exé ution étaient de l'ordre de inq minutes. La variante 3, utiliséeau hapitre 3,donne pourles mêmesinstan es destemps n'ex édant pas inqse ondes.

9.1.3 Stru ture de données pour les hemins

Nousnousintéressonsi ià lastru turede donnéesutiliséepour représenterun hemin dans l'heuristique de des ente randomisée du hapitre 6.Cette stru ture est également utilisée pour la re her he taboue du même hapitre. Nous avons hoisi d'utiliser un tableau de su esseurs, 'est-à-direuntableau

T

telque

T[i]

estlesu esseurde

i

danslasolutionreprésentée. Lataille d'unteltableauestlenombreden÷udsprésentsdanslegraphedusous-problème.Siunélément

k

n'est pasprésent dansle hemin représenté, alors

T[k]

est une valeur négative.

Une telle stru ture permet desopérations d'insertion, suppression, é hange et dépla ement en temps onstant, e qui estun avantage onsidérable.Le seul défautde ette stru ture,à nos yeux, est l'o upation inutile d'espa e; en eet, le tableau est dimensionné par leproblème, et non par la solution (qui est pourtant de taille bien moindre). Dans lapratique, il est fréquent de onsidérer des heminsde10n÷udstraversant ungraphede100n÷uds.Cependant,dansles heuristiques on ernées, e i n'est absolument pasgênant, puisque le nombre total de hemins onsidérés reste faible. L'heuristique né essiteun hemin qui est modiéau l de larésolution,

1

auquel il faut ajouter un ensemble de bonnes solutions onservées, dont le nombre ne dépasse jamaismille en pratique.Cetteproblématique detaille n'est don absolument pasgênante.

9.1.4 Perspe tives d'améliorations algorithmiques

Nous avons vu qu'il était possible d'é onomiser le par ours du début de tournée, dans le adre de l'exploration du voisinage. Pour e faire, il faut sto ker l'heure d'arrivée au plus tt en haque n÷ud. Bien que e ne soit pas implanté dans es travaux, il est également possible d'é onomiser lepar ours de la n de tournée. Pour ela, il sut de sto ker en haque n÷ud la date de départ au plus tard pour que la n de tournée ne viole au une ontrainte. Une telle amélioration réduirait la omplexité desopérationsque nousutilisons:

 L'insertion s'évalueraiten temps onstant.

 Les é hanges d'ar s et de n÷uds ne né essiteraient que le par ours de la sous-tournée bornée par les n÷uds on ernéspar eté hange. Dansle pire des as, la omplexité reste lamême(taille delatournée),maisenpratiquel'impa testtrès ertainement intéressant. Par ailleurs,nousn'avonspasappliqué esméthodesdesto kage d'informations temporelles àlareprésentationdes hemins,dansle adredel'heuristiquedéveloppéeau hapitre6.Ee tuer ette amélioration permettrait ertainement un gainde temps signi atif.