• Aucun résultat trouvé

Dans ce chapitre, nous avons pr´esent´e le contexte industriel de nos travaux. Nous avons d´efini de mani`ere g´en´erale le probl`eme de planification rencontr´e, exprim´e ce dernier formellement, et nous avons fix´e les limites de nos travaux (hypoth`eses de travail). Nous avons exprim´e la NP-complexit´e du sujet trait´e en faisant un parall`ele avec plusieurs probl`emes c´el`ebres de la litt´erature. Enfin, nous avons enfin pr´esent´e la mod´elisation employ´ee dans les travaux existants et propos´e quelques modifications afin d’am´eliorer les performances de la r´esolution. Dans le chapitre qui suit, nous ´etablissons un ´etat de l’art des m´ethodes de r´esolution pouvant ˆetre employ´ees dans le domaine g´en´eral de la planification d’itin´eraires.

Chapitre 2

Etat de l’art des m´ethodes de

r´esolution pour la planification

d’itin´eraires

Ce chapitre propose un ´etat de l’art dans le domaine de la planification d’itin´eraires. Celle-ci ne doit pas ˆetre confondue avec la planification dite de mission (en robotique et dans le domaine spatial essentiellement) o`u l’objectif est de trouver un plan de mission, c’est-`a-dire un ordre partiel d’action optimal d’une s´erie de tˆaches, potentiellement concurrentes, afin de satisfaire au mieux des objectifs fix´es.

La planification d’itin´eraires est pr´esente dans des domaines vari´es tels que :

– la logistique : par exemple, les routes devant emprunter une flotte de camions de livraison en tenant compte de contraintes sp´ecifiques [Pill 11] ;

– les t´el´ecommunications : par exemple, les algorithmes au sein des protocoles de r´eseaux sans fil [Jacq 01] pour transmettre des donn´ees d’un nœud `a un autre rapidement, sans pour autant saturer le r´eseau ;

– les jeux vid´eo [Buli 10] : par exemple, les d´eplacements d’un joueur dans un monde virtuel calcul´es sur une grille, en respectant les contraintes de fluidit´e du jeu.

Face `a ces probl´ematiques, diverses m´ethodes de r´esolution existent. Nous pr´esentons, dans la suite du chapitre, celles qui sont le plus en lien avec le probl`eme trait´e dans la th`ese. Nous pr´esentons tout d’abord, en section 2.2, les diff´erents algorithmes de r´esolution de probl`emes de plus court chemin (sans puis avec contraintes). Dans un second temps, nous pr´esentons les approches exactes de Programmation Lin´eaire en Nombres Entiers (section 2.3) et de Program- mation Logique avec Contraintes (section 2.4). Enfin, nous pr´esentons en section 2.5 les diff´e- rentes approches m´etaheuristiques appliqu´ees aux probl`emes combinatoires, et leur application `

a la r´esolution du probl`eme de voyageur de commerce. Auparavant, nous faisons un bref rappel sur les classes de complexit´e permettant de qualifier la difficult´e des probl`emes rencontr´es.

2.1

Classes de complexit´e

La th´eorie de la complexit´e est le domaine de recherche qui classifie les probl`emes de d´ecision en fonction de leur difficult´e intrins`eque (c’est-`a-dire de la quantit´e des ressources, en temps et en m´emoire, n´ecessaire pour r´esoudre ce probl`eme). Un probl`eme de d´ecision, associ´e `a des param`etres d’entr´ee, est un probl`eme dont la r´eponse est oui ou non. S’il est impossible de

r´esoudre ce probl`eme, sans restriction de temps ou de m´emoire, celui-ci est dit ind´ecidable. Sinon, il entre dans au moins une des classes d´ecrites ci-apr`es (nous ne pr´esentons ici que les classes relatives `a la complexit´e en temps).

La classe P est la classe des probl`emes de d´ecision pouvant ˆetre r´esolus en temps polynˆomial par rapport `a la taille des param`etres (autrement dit en temps O(nk) avec n la taille de la donn´ee

et k un entier) par une machine d´eterministe (au sens de la machine de Turing [Turi 95]). La classe N P est la classe des probl`emes de d´ecision pouvant ˆetre r´esolus en temps polynˆomial par une machine non d´eterministe (et P ⊆ N P ). ´Egalement, les classes EXPTIME et NEXPTIME sont les classes des probl`emes de d´ecision pouvant ˆetre r´esolus en temps exponentiel par une machine d´eterministe et non d´eterministe respectivement.

Par d´efinition, pour une classe de complexit´e C, un probl`eme de d´ecision est dit C-difficile si ce probl`eme est au moins aussi difficile que tous les probl`emes dans C. De plus, un probl`eme C-difficile appartenant `a C est dit C-complet. Pour prouver qu’un probl`eme Π est C difficile, on montre g´en´eralement qu’un probl`eme C-complet connu peut se r´eduire `a Π, c’est-`a-dire ˆetre transform´e en un probl`eme de la forme de Π (on peut ´egalement montrer que tout probl`eme de C se r´eduit `a Π). Pour les probl`emes de la classe NP par exemple, on peut utiliser la liste des 21 probl`emes NP-complets de Karp [Karp 72] (il faut se restreindre aux r´eductions en temps polynˆomial pour NP).

Tout probl`eme d’optimisation peut ˆetre transform´e en un probl`eme de d´ecision ´equivalent. Par exemple, le probl`eme de d´ecision qui se rapporte au probl`eme du voyageur de commerce est celui consistant `a savoir s’il existe un chemin hamiltonien parcourant un ensemble de villes tel que sa distance soit inf´erieure `a une valeur d. Ce dernier ´etant NP-complet, on qualifie par extension le voyageur de commerce de probl`eme NP-difficile, bien qu’il s’agisse d’un abus de langage.