Gipad Ro Demassey App1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 18

Recherche Opérationnelle - APP 1

Transports et réseaux

Sophie Demassey
26 septembre 2011

Références
[1] David L. Applegate, Robert E. Bixby, Vasek Chvátal, and William J. Cook. The Traveling Salesman
Problem : A Computational Study. Princeton University Press, 2006.
[2] G. B. Dantzig, R. Fulkerson, and S. M. Johnson. Solution of a large-scale traveling salesman problem.
Operations Research, 2 :393–410, 1954.
[3] S. Lin and B. Kernighan. An effective heuristic algorithm for the traveling-salesman problem. Ope-
rations Research, 21 :498–516, 1973.
[4] I Or. Traveling salesman-type combinatorial problems and their relation to the logistics of regional blood
banking. PhD thesis, Northwestern University, Evanston, Ill., 1976.
[5] M.W.P. Savelsbergh. Local search in routing problems with time windows. Annals of Operations
Research, 4 :285–305, 1985.
[6] http://www.tsp.gatech.edu/methods/.

EMN/GIPAD12/SD/OC/app1 -1- 26/9/2011


1 Première partie : Flots et couvertures
Convention de notations
Par la suite, on s’efforcera d’employer les notations suivantes :
– un graphe orienté simple est noté G = (V, E) avec V l’ensemble des sommets, |V| = m et E ⊆ V × V
l’ensemble des arcs, |E| = n ;
– δ− (i) (respectivement δ+ (i)) dénote l’ensemble des prédécesseurs (resp. successeurs) de i ∈ V ;
– si le graphe G est valué, le poids (ou le coût ou la longueur) d’un arc (i, j) ∈ E est noté pij ∈ R ; G
est alors noté (V, E, p) ;
– si G est un réseau de transport, la capacité d’un arc (i, j) ∈ E est notée cij , avec cij ∈ Z+ ; soient
s ∈ V (source) et t ∈ V \ {s} (puits), deux sommets particuliers de G, on note G0 le graphe obtenu
de G en supprimant tout arc entrant en s et sortant de t et en ajoutant un arc (t, s) (l’arc de retour) ;
la valeur d’un flot sur un arc (i, j) ∈ E (le flux dans l’arc) est notée fij ∈ R+ ; lij ∈ Z+ dénote la
borne inférieure du flot sur l’arc (i, j) et aij ∈ R+ dénote le coût d’une unité de flot sur l’arc.

Glossaire
1. Soit G = (V, E, l, u) un graphe orienté, avec bornes inférieures et capacités sur les arcs (0 6 le 6
ue , ∀e ∈ E). À l’aide des notations précédentes, définir formellement les notions de graphes sui-
vantes :
(a) un flot compatible dans G :
(b) un flot [compatible] de s à t dans G :
(c) la valeur d’un flot de s (source) vers t (puits) dans G :
(d) une coupe séparant s et t dans G :
(e) la capacité d’une coupe dans un graphe valué G = (V, E, p) :
(f) le graphe d’écart d’un flot :
(g) un chemin augmentant d’un flot :
2. Donner une définition des problèmes classiques d’optimisation suivants en précisant l’instance
en entrée et la solution en sortie :
(a) problème de flot maximum
(b) problème de flot de coût minimum
(c) problème de coupe de capacité minimum
(d) problème de transbordement
(e) problème de couplage de cardinalité maximum
(f) problème de couplage de poids maximum
3. Définir formellement les notions suivantes :
(a) matrice unimodulaire :
(b) matrice totalement unimodulaire :

EMN/GIPAD12/SD/OC/app1 -2- 26/9/2011


1.1 Séance 1
Question 1 compléter 1 le glossaire ci-avant.

Problème 1

1. rappel : toute référence doit être citée.

EMN/GIPAD12/SD/OC/app1 -3- 26/9/2011


Question 2 Proposer une modélisation graphique du transport de la nitrocellulose et des explosifs pour le pro-
blème 1 ; décrire le graphe (sommets et arcs) de 3 manières différentes, par : sa matrice d’adjacence, sa matrice
d’incidence et sa liste des successeurs ;

Question 3 Quel problème classique d’optimisation combinatoire reconnaissez-vous ?

Question 4 Prouver que le problème 1 possède une solution réalisable ; une solution optimale.

Question 5 Proposer une modélisation d’une instance générale du problème en un programme linéaire.

Question 6 Discuter de la nature entière/fractionnaire des solutions du problème 1.

Question 7 Soit une variante du problème, dans laquelle une tonne de nitrocellulose ne permet de produire que
0,8 tonne d’explosifs, modifier le modèle linéaire en conséquence. Modifier l’énoncé du problème pour le rendre à
nouveau réalisable.

Question 8 Recenser des algorithmes applicables à la résolution de ce problème, discuter de leur complexité.

EMN/GIPAD12/SD/OC/app1 -4- 26/9/2011


Problème 2 Nivellement de terrain. Cette application est inspirée d’un problème auquel les ingénieurs
civils doivent faire face lors de la construction de routes en terrains montagneux. La figure 1 représente
le tracé plan de la route à construire, à travers cols et vallées.

F IGURE 1 – Terrain et tracé de la route en coupe.

Il s’agit de redistribuer la terre des zones les plus élevées (A, C et E) aux zones les plus basse (B et D)
afin de créer le tracé de route nivellé. On dispose pour cela d’un camion dont on cherchera à minimiser
les déplacements. En considérant la charge du camion comme unité de volume, alors :
– les volumes de terre à retirer des zones A, C et E sont respectivement de 6, 3, et 5 ;
– les volumes de terre pour remblayer les zones B et D sont respectivement de 7 et 3 ;
Enfin, les distances entre les différentes zones sont de : 12km entre A et B, 15km entre B et C, 9km entre
C et D, 10km entre D et E.

Question 9 Discuter du problème 2.

EMN/GIPAD12/SD/OC/app1 -5- 26/9/2011


1.2 Séance 2
Problème 3 La problématique suivante concerne la protection d’informations sensibles lors de la pu-
blication de données. Soit un ensemble de données statistiques obtenues par l’INSEE à partir des ré-
ponses confidentielles d’un panel I d’individus à un ensemble J de questions. À toute question j ∈ J,
la réponse d’un individu i ∈ I consiste en une valeur xij entière positive. L’INSEE souhaite publier les
moyennes de toutes ces réponses – les moyennes ri des réponses par individu i ∈ I et les moyennes
cj des réponses par question j ∈ J – sans compromettre la confidentialité des réponses individuelles
xij , (i, j) I × J.

Question 10 Formuler précisément le problème de décision (instance en entrée et solution en sortie) que l’INSEE
doit résoudre afin de déterminer si les moyennes sont ou non publiables.

Question 11 Exhiber une condition suffisante élémentaire, telle que la solution au problème est NON pour toute
instance vérifiant la condition.

Question 12 Exprimer les formules mathématiques liant les valeurs xij , ri , cj , (i, j) ∈ I × J ; faire le lien avec la
loi de Kirschoff ; en déduire une modélisation graphique du problème.

Question 13 Un sous-ensemble {(i, j, xij ) | (i, j) ∈ Y ( I × J} de réponses, avec les individus et les questions
qui s’y rapportent, ont été éventées. Modifier votre modèle en conséquence.

Question 14 ? Soit f un (s, t)-flot compatible de valeur v dans G et Gf le graphe d’écart. Donner une condition
nécessaire et suffisante sur Gf pour qu’il existe un autre (s, t)-flot compatible f 0 de valeur v dans G tel que
0 = f − 1. 2 À partir de ce résultat, proposer une démarche de résolution ; proposer un algorithme et donner sa
fij ij
complexité.

Problème 4 Grâce au tatouage de votre frère unique, vous parvenez, avec 7 de vos co-détenus, à vous
évader de la prison de la Joliette. Vous devez maintenant courir pour rejoindre un aérodrome voisin où
un avion, prêt à décoller, vous attend. Il vous faut pour cela traverser un dédale de ruelles très étroites
empêchant une fuite groupée. Malheureusement pour vous, le capitaine Bellick, qui connaît bien le plan
de ces ruelles, a eu le temps de se poster le long de l’une d’entre elles de sorte à intercepter au moins
l’un d’entre vous, voire plus.

Question 15 Discuter du problème 4 : modéliser la stratégie du capitaine (i.e. le problème que le capitaine doit
résoudre pour savoir quelle ruelle choisir). Quelle stratégie peut vous assurer d’arriver au moins à 6 à l’aéro-
drome ? Ajouter à la modélisation. Proposer un algorithme de résolution pour le problème du capitaine ; indiquer
la complexité. Qualifier la topologie du réseau de ruelles, sachant qu’il ne possède ni voie souterraine, ni voie
aérienne.

2. Indication : voir le problème de flot de coût minimal et sa résolution par l’algorithme dit primal.

EMN/GIPAD12/SD/OC/app1 -6- 26/9/2011


1.3 Séance 3
Problème 5 En Éthiopie, suite à une récente campagne de sondages géologiques, le gouvernement fédéral
(MoWR) et les bureaux régionaux des eaux (WRB) ont lancé l’exploitation de nouvelles nappes phréatiques dé-
couvertes. Les forages et les pompes mécaniques ont été installés ; il s’agit maintenant de mettre en place sur
certains emplacements de forage, les équipements d’analyse et de traitement des eaux. À défaut d’être directement
équipé, un forage doit nécessairement être raccordé à au moins un site de traitement : le raccordement est possible
si et seulement si la distance est inférieure à 150 km. Les coûts de création et d’exploitation d’un site de traitement
sont extrêmement élevés pour le pays. L’objectif est donc d’en minimiser le nombre.

Question 16 Modéliser le problème 5 en un programme linéaire en nombre entiers (P) ; réduire l’expression du
modèle, en supprimant tout ensemble de contraintes induit et démontrer la validité du modèle ; comment s’appelle
la matrice définissant le système linéaire de contraintes de (P) (en terme de graphe) ?

Question 17 Dualité faible/forte et bornes. Écrire le programme linéaire dual (D̄) de (P). On note (D) le
programme linéaire en nombres entiers dont (D̄) est la relaxation continue ; on note (P̄) la relaxation continue de
(P). Soient x∗ , x̄∗ , y∗ et ȳ∗ des solutions optimales de (P), (P̄), (D) et (D̄), respectivement. Prouver l’existence
de telles solutions, puis établir une relation d’ordre entre elles. S’il existe z une solution réalisable à la fois de (P)
et de (D), que dire des optima de (P) et (D) ?

Question 18 Connaissant ∆ ∈ Z+ , le nombre maximal de forages voisins auxquels un forage peut être raccordé,
déterminer une solution réalisable de (D̄) ; en déduire une borne inférieure du problème 5 ; exprimer de manière
générique 3 cette borne du problème (P).

Question 19 Illustrer chacun des deux cas suivants par un exemple d’instance qui le vérifie :
1. (P) et (D) ont des valeurs optimales égales ;
2. (P), (P̄) et (D) ont des valeurs optimales différentes.
Pour ces deux instances, identifier des solutions optimales de (P), (P̄), (D) et (D̄). Pour prouver l’optimalité des
solutions de (P̄) de (D̄), on pourra s’appliquer d’abord à borner les valeurs optimales de ces programmes linéaires
en considérant des combinaisons valides de leurs contraintes.

Question 20 Complexité. Quel est le nom usuel du problème d’optimisation modélisé par (P) ? Quelle est sa
complexité théorique ? Exhiber une classe d’instances pour laquelle, le problème est trivial.

Question 21 Approximation et garantie de performance. Ajouter au glossaire les définitions de : algo-


rithme d’approximation (v.s. algorithme d’optimisation), ratio de performance absolu, algorithme
r-approché, problème r-approximable.
Soit G = (V, E) un graphe définissant une instance quelconque de (P). Exhiber une solution réalisable de (P)
de valeur maximale ; montrer que la valeur de toute solution réalisable de (P) est au plus égale à |V|. Soit ∆ le
degré maximal de G, montrer que la valeur de toute solution réalisable de (P) est au plus égale à ∆ + 1 fois la
valeur optimale. 4

Question 22 Proposer un algorithme glouton d’approximation pour (P) ; donner sa complexité temporelle
et spatiale.

Question 23 Déterminer une solution optimale du problème 5 pour l’instance à 20 forages représentée sur la
figure 2, en argumentant votre raisonnement.

Question 24 Votre solution, répondant à la question précédente, a été retenue et les usines de traitement ont
été construites aux emplacement préconisés. La seconde étape consiste à réaliser un réseau de canalisation de
longueur totale minimale permettant de relier l’ensemble des 20 forages. Ce réseau est composé de deux types de
canalisations : des raccords forage-usine (dont la longueur est non nulle et inférieure à 150 km), et des raccords
usine-usine. Quelles sont les caractéristiques d’un tel réseau ? Comment appelle-t’on un tel objet en terme de
graphe ? Proposer un algorithme de construction du réseau.
3. comment appelle-t’on ∆ en terme de graphes ?
4. Hint : borner par une combinaison des contraintes de (P).

EMN/GIPAD12/SD/OC/app1 -7- 26/9/2011


F IGURE 2 – instance à 20 forages du problème 5

EMN/GIPAD12/SD/OC/app1 -8- 26/9/2011


Dans la suite, on considèrera un graphe G = (V, E) non-orienté. Pour simplifier la notation, on posera
E ⊆ V × V en assimilant (i, j) = (j, i) pour désigner une même arête {i, j}.

Question 25 Ajouter au glossaire, la définition et le nom usuel français de chacun des problèmes suivants :
minimum edge cover
minimum node cover
maximum clique
maximum matching
maximum independant set
maximum stable
maximal matching
maximal independant set

Problème 6 Accès wifi. Une municipalité a décidé d’offrir un accès wifi à tous les habitants du centre-ville. Elle
veut équiper le plus petit nombre possible de carrefours en bornes wifi (dont la longueur d’émission est supérieure
à la plus longue rue de la ville) de manière à ce que, depuis chaque habitation dans chaque rue, au moins un signal
soit capté.

Problème 7 Reconnaissance d’images. Soient deux images A et B de taille identique, on s’intéresse à la proxi-
mité de ces deux images selon une mesure simple 5 : la fréquence d’apparition de couleurs. Par exemple, selon une
telle mesure, deux images bichromes, l’une composée de 200 pixels rouges et de 56 pixels jaunes, l’autre compo-
sée de 206 pixels noirs et de 50 pixels blancs, sont considérées comme quasi-identiques : en appariant 200 pixels
rouges/noirs et 50 pixels jaunes/blanc, on obtient une « distance » égale à 250/256. De manière générale, on appa-
rie tous pixels de A à tous pixels de B et on cherche le nombre maximal de couples mutuellement cohérents (divisé
par la taille des images) : deux couples (a1 , b1 ) ∈ A × B et (a2 , b2 ) ∈ A × B sont dits cohérents si et seulement si
a1 et a2 sont de la même couleur et b1 et b2 sont de la même couleur, ou bien, a1 et a2 sont de couleurs différentes
et b1 et b2 sont de couleurs différentes.

Problème 8 Ordonnancement de tâches sur bi-processeur. Étant donnés deux processeurs, un ensemble de
tâches de durée unitaire et une relation de compatibilité entre paires de tâches, l’ordonnanceur du système doit
déterminer le temps minimal nécessaire à l’exécution de l’ensemble des tâches au moyen des deux processeurs, de
sorte que : (i) une tâche est exécutée par l’un ou l’autre des deux processeurs (ii) un processeur exécute une tâche
à la fois (iii) deux tâches exécutées en parallèle sur les deux processeurs sont nécessairement compatibles.

Problème 9 Débat politique. Une émission radiophonique new-yorkaise souhaite organiser un débat politique
entre partisans démocrates et républicains. Les participants ont déjà été sélectionnés, et les échanges s’annoncent
houleux. Afin d’éviter toute querelle familliale, les producteurs décident, en dernière minute, de ne pas faire par-
ticiper des membres d’une même famille qui seraient de tendances politiques opposées. Le nombre de participants
doit cependant rester le plus large possible.

Problème 10 Structure moléculaire. Une molécule est définie par la liste et le nombre de ces atomes, mais
aussi par sa structure : l’ordre des liaisons inter-atomiques. À partir de la première information, les chimistes ont
donc à déterminer la structure atomique possible d’une molécule, c’est à dire affecter un ordre (simple, double,
etc.) aux liaisons inter-atomiques de sorte que la valence des atomes soit respectée. On considère une molécule
hydrocarbonée, composée d’atomes C de carbone (de valence 4) et H d’hydrogène (de valence 1). Les liaisons
C − H sont nécessairement simples mais les liaisons C − C peuvent être simples ou doubles. Avec des liaisons
simples (à gauche sur le schéma), les valences des atomes de carbone C seraient toutes égales à 3. Il s’agit donc de
déterminer quelles liaisons C − C doubler pour que chaque atome de carbone ait une valence de 4.
5. L’application est ici simplifiée, mais le raisonnement est identique pour des mesures plus complexes.

EMN/GIPAD12/SD/OC/app1 -9- 26/9/2011


Question 26 Qualifier les problèmes 6 à 10.

Question 27 Qualifier les deux problèmes modélisés par les programmes linéaires en nombres entiers suivants :
X X
(Px ) : max { xe | xe 6 1 (∀i ∈ V), x ∈ ZE +} (1)
e∈E e∈E|i∈e
X
(Pu ) : max { ui | ui + uj 6 1 (∀(i, j) ∈ V 2 \ E), u ∈ ZV
+ } (2)
i∈V

Trouver leurs classes de complexité respectives.

Question 28 Modéliser les 6 premiers problèmes de la question 25 en programmes linéaires en nombres entiers.
Exhiber un maximum de relations entre ces différents problèmes (par complémentarité, dualité, etc.). En déduire,
la classe de complexité de tous.

Question 29 Identifier, parmi les problèmes 6 à 10, ceux résolvables en temps polynomial.

Question 30 Approximation pour la couverture de sommets. Proposer un algorithme glouton d’approxi-


mation pour le problème du transversal de cardinalité minimale, où, à chaque itération, un sommet est ajouté au
transversal en construction. On trouvera dans la littérature, la preuve qu’un tel algorithme est ln |V|-approché.
Étant donné un couplage maximal X ⊆ E, montrer que S = {i ∈ V | ∃e ∈ X ∧ i ∈ e} est un transversal de
cardinalité inférieure ou égale à 2 fois la cardinalité minimale d’un transversal ; proposer alors un second algo-
rithme basé sur la recherche glouton d’un couplage maximal. Donner et commenter la garantie de performance de
ce second algorithme.

EMN/GIPAD12/SD/OC/app1 -10- 26/9/2011


2 Seconde partie : Tournées
2.1 Séance 4
Problème 11 Une des premières étapes dans la fabrication de circuits imprimés consiste à percer la
plaque support de silice aux endroits définis pour fixer les composants électroniques. En entrée, on
dispose d’une plaque sur laquelle sont marqués les emplacements des trous à faire au moyen d’une
perçeuse automatique mobile. La perçeuse peut réaliser les trous dans n’importe quel ordre, en se dé-
plaçant sur un plan horizontal au-dessus de la plaque, et sa vitesse de déplacement est constante. Les
positions initiale et finale de la perçeuse sont au-dessus du centre de la plaque. On souhaite déterminer
l’ordre de perçage des trous qui minimise le déplacement total de la machine.

Question 31 Modéliser cette problématique en une instance du problème du voyageur de commerce (Traveling
Salesman Problem – TSP). Qualifier cette instance du TSP (symétrique, assymétrique, euclidien,...) ? Étant don-
née une solution optimale du problème – on note πi le i-ème trou percé suivant cette solution – exprimer la valeur
optimale du TSP équivalent.

Le problème d’optimisation considéré ci-après est le TSP euclidien sur un ensemble V de villes : trouver
la plus courte route non-orientée qui passe par chacune des villes et qui termine là où elle commence.
On note n = |V| le nombre de villes et G = (KV , c) le graphe complet non-orienté sur l’ensemble V des
sommets et pondéré par la matrice c des distances entre les villes.

Question 32 Caractérisation des solutions. Montrer que dans toute solution optimale du TSP euclidien,
chaque ville est visitée exactement une fois. Montrer que le problème est équivalent à trouver un cycle (simple)
hamiltonien de G de plus petite longueur. Donner deux représentations/encodages d’un cycle hamiltonien dans
G – par une séquence de sommets ou par un ensemble d’arêtes – en précisant la taille de ces ensembles et les
contraintes définissant ces ensembles. Combien de cycles hamiltoniens G possède-t’il ? Par la suite, on désignera
par tour un cycle hamiltonien dans G et par tour partiel un cycle dans G.

Construction de tours.

Question 33 On s’intéresse à des heuristiques constructives gloutonnes de tours : partant d’un unique sommet
ou, plus généralement, d’un tour partiel, la construction consiste à augmenter le tour partiel courant d’un nou-
veau sommet à chaque itération, jusqu’à ce que tous les sommets soient ajoutés. Le choix du tour partiel initial

EMN/GIPAD12/SD/OC/app1 -11- 26/9/2011


est défini par la politique d’initialisation de l’heuristique ; Le choix du prochain sommet ajouté à chaque ité-
ration est défini par la politique de sélection ; le choix du point d’insertion de ce nouveau sommet est défini
par la politique d’insertion. Écrire les algorithmes des heuristiques gloutonnes correspondant aux politiques de
sélection/insertion suivantes :
voisin le plus proche : ajoute, à la suite du dernier sommet du tour partiel, son voisin non encore visité le plus
proche ;
insertion la plus proche : sélectionne un sommet non visité arbitrairement et l’ajoute au tour partiel juste
après le sommet le plus proche ;
insertion la moins coûteuse : sélectionne un sommet non visité arbitrairement et l’ajoute au tour partiel à
l’endroit qui résulte en l’augmentation minimale du coût du tour partiel.
Quel est le défaut principal de la première approche en comparaison des deux autres ? Discuter de la complexité et
des structures de données les plus adaptées à ces algorithmes.

Question 34 Modifier les deux derniers algorithmes pour utiliser la politique de sélection suivante :
sélection du plus proche : sélectionne le sommet non visité le plus proche de l’ensemble des sommets du tour
partiel.
Comparer l’augmentation du coût du tour partiel obtenu à chaque itération pour chacun des 3 algorithmes.

Question 35 Modifier le dernier algorithme pour utiliser les politiques d’initialisation et de sélection suivantes :
initialisation : le tour partiel initial est formé des deux sommets les plus distants ;
sélection du plus distant : sélectionne à chaque itération le sommet non visité le plus distant de l’ensemble des
sommets du tour partiel.
Discuter l’intérêt de cette démarche en illustrant, par exemple, le résultat sur une instance.

Question 36 Soit l’algorithme constructif suivant :

input : G = (KV , c) graphe complet non-orienté sur V muni de la distance eulérienne c.


step 0. T = { (i) | i ∈ V}
step 1. si |T| = 1, STOP RETURN T ∈ T
sinon choisis T 6= T 0 dans T tels que min{cij | i ∈ T , j ∈ T 0 } soit minimal
step 2. si T = (i) et T 0 = (j) alors T 00 = (ij)
sinon si T = (i) et T 0 = (j1 j2 . . . jk ) alors T 00 = (ij1 j2 . . . jk )
sinon si T = (j1 j2 . . . jk ) et T 0 = (i) alors T 00 = (ij1 j2 . . . jk )
sinon si T 0 = (i1 i2 . . . il ) et T = (j1 j2 . . . jk ) alors T 00 = (i1 i2 . . . il j1 j2 . . . jk )
step 3. T = T \ {T , T 0 } ∪ {T 00 }, GOTO step 1

où (i1 i2 . . . il ) est la notation usuelle d’une permutation d’éléments. Quel est la valeur de retour de cet algo-
rithme ? En décrire chaque étape. Proposer une amélioration de step 2.

Question 37 Quelle relation existe-t’il entre le problème de l’arbre de recouvrement de poids minimal dans
un graphe et le TSP ? Citer deux célèbres algorithmes de calcul de l’arbre de recouvrement de poids minimal dans
un graphe et donner leur complexité. Faire le parallèle entre ces algorithmes et les algorithmes des questions 34 et
36. Citer une autre heuristique pour le TSP basée sur la recherche d’un arbre de recouvrement de poids minimal
du graphe.

EMN/GIPAD12/SD/OC/app1 -12- 26/9/2011


Amélioration de tours. Une procédure de recherche locale consiste à partir d’une solution initiale
et lui appliquer une série de transformations pour aboutir à une solution de meilleur coût. Une telle
procédure repose sur quatre éléments : la construction d’une solution initiale, la liste de transformations
applicables, la politique de sélection de la transformation à appliquer à chaque itération, et la condition
d’arrêt.
Une condition d’arrêt communément utilisée est l’obtention d’un optimum local, c’est à dire une
solution telle qu’aucune transformation autorisée ne mène à une solution meilleure. Une condition
de sélection de la transformation à appliquer à chaque itération est que celle-ci améliore la solution
courante. Sous ces deux conditions, et si le problème est borné, la procédure est assurée de terminer. La
méthode de descente (hill-climbing) est un exemple de procédure de recherche locale qui sélectionne à
chaque itération, la transformation menant à la meilleure solution atteignable.
On a traité de la construction de solutions initiales pour le TSP dans les questions précédentes 6 . On
considère maintenant des classes de transformations locales possibles. Un mouvement de recherche
locale est une opération qui transforme une solution réalisable en une autre solution réalisable. Le voi-
sinage d’une solution associé à un mouvement est l’image de la solution par cette opération.

Question 38 Montrer que les opérations suivantes sont des mouvements de recherche locale, les décrire formel-
lement ou les illustrer, et donner la taille d’un voisinage :
inversion de sommets : échange deux sommets consécutifs du tour ;
échange de sommets : échange deux sommets distincts du tour ;
échange d’arêtes 2-opt : supprime deux arêtes non-adjacentes du tour et reconnecte (une seule possibilité) les
deux chemins résultant.

Question 39 Illustrer les deux mouvements suivants :


échange d’arêtes 3-opt : supprime trois arêtes du tour et reconnecte les chemins résultants.
échange d’arêtes Or-opt : supprime trois arêtes telles que l’un des chemins résultant contienne exactement 1,
2 ou 3 sommets et reconnecte les trois chemins résultants.
Déterminer l’ordre de grandeur des voisinages correspondant. Montrer que les voisinages 2-opt et Or-opt sont in-
clus dans le voisinage 3-opt et qu’un mouvement 3-opt est équivalent à au plus deux mouvements 2-opt successifs.
Remarquer que ces transformations se généralisent au mouvement r-opt, pour r > 1, et discuter de l’applicabilité
de ce type de voisinage.
Pour en savoir plus :
– la procédure Or-opt [4] est une recherche locale où à chaque itération, sont appliqués tous les
mouvements Or-opt qui diminuent le coût de la solution courante : d’abord les mouvements de
réinsertion de 3 villes puis de 2 villes puis de 1 ville. C’est une procédure simple à implémenter,
relativement peu coûteuse et qui donne de bons résultats ;
– la procédure variable r-opt de Lin et Kernighan [3] est une recherche locale qui à chaque itération
effectue un mouvement r-opt avec r ajustable : plus précisément, à chaque itération, une série
potentiellement longue de mouvements 2-opt est appliquée de sorte que chaque sous-série initiale
de mouvements mène à une meilleure solution, mais qu’en revanche, un de ces mouvements 2-
opt isolé peut causer l’augmentation du coût. Cette procédure est difficile à implémenter mais elle
est très performante et l’une des meilleures à ce jour ;
– les politiques de sélection de mouvement et conditions d’arrêt décrites dans les questions précé-
dentes assurent la terminaison de la procédure de recherche locale, mais celle-ci aboutit alors en
un optimum local sans possiblité d’en sortir (pour atteindre un optimum global). Une technique
souvent utilisée est de relancer alors la procédure si celle-ci n’est pas entièrement déterministe (en
partant d’une solution initiale différente ou en insérant des choix aléatoires dans la procédure).
On retient alors le meilleur optimum local atteint parmi toutes les relances. L’approche alternative
permettant d’échapper aux optima locaux est de considérer des périodes d’intensification de la
recherche vers des solutions de meilleurs coût (comme dans une recherche locale, en considérant
également des critères probabilistes dans la politique de sélection) et des périodes de diversifica-
tion où l’on va appliquer des transformations plus globales de la (ou des) solution(s) courante(s)
6. en partie du moins : il existe beaucoup d’autres heuristiques constructives pour le TSP

EMN/GIPAD12/SD/OC/app1 -13- 26/9/2011


de manière à aller explorer d’autres parties de l’espace de recherche. Cette approche est celle des
metaheuristiques telles que les méthodes du recuit simulé, la méthode tabou, les algorithmes
génétiques, les colonies de fourmis, etc.

Relaxations, bornes inférieures et branchement

Question 40 Montrer que le coût minimal d’un arbre de recouvrement de G est au plus égal à l’optimum du
TSP. Proposer une borne inférieure du TSP basée sur le calcul d’un arbre de recouvrement de poids minimal.
Quel autre problème classique de graphe forme aussi une relaxation du TSP. Avec quelles complexités les bornes
inférieures issues de ces relaxations peuvent-elles être calculées ?

Question 41 Soit les variables de décision yk ∈ V, 1 6 k 6? définies par yk = i si et seulement si i est


la k-ème ville visitée par le tour. Décrire une méthode exacte de recherche arborescente pour le TSP basée sur
le branchement sur ces variables. A minima la méthode devra couper tout nœud de l’arbre de recherche dont
l’instanciation partielle correspondante des variables de décision ne constitue pas un tour partiel. Le branchement
pourra également assurer qu’un tour ne soit présent qu’à au plus une feuille de l’arbre de recherche. Enfin, on
pourra ajouter à la méthode des calculs de bornes (incrémentales si possible).

Question 42 Même question avec les variables de décision xe ∈ {0, 1} définies par xe = 1 si et seulement si
l’arête e de G appartient au tour. Même question avec les variables de décision zi ∈ V définies par zi = j si et
seulement si la ville j suit la ville i dans le tour.

EMN/GIPAD12/SD/OC/app1 -14- 26/9/2011


2.2 Séance 5
Problème 12 Les chaînes de construction et de montage des voitures fourmillent de problèmes d’op-
timisation combinatoire. L’un des problèmes qui se posent consiste à ordonner le passage d’un lot de
voitures sur la chaîne de peinture de sorte que la durée totale de passage soit minimale. On connaît
la couleur attribuée à chacune des voitures du lot ainsi que son temps de passage sur la machine (qui
dépend du niveau d’équipement de la voiture et de la couleur). La chaîne de peinture peut opérer sur
toutes les voitures, quelque soit la couleur et quelque soit l’ordre. Cependant, le temps de préparation
de la machine entre deux voitures dépend des couleurs de ces voitures : ce laps de temps, qui est connu
précisément, est plus ou moins long selon si les deux voitures sont de même couleur (léger nettoyage
des jets), ou bien si la seconde voiture est de teinte foncée (nettoyage moyen et changement de couleur)
ou bien si la seconde voiture est de teinte claire (nettoyage supérieur et changement de couleur). Enfin
la chaîne est nettoyée en profondeur après chaque passage de lot, ce qui induit un temps final plus long
encore, qui dépend aussi de la dernière couleur utilisée.

Question 43 Identifier toutes les données d’entrée, puis modéliser le problème.

On reprend ici les notations de la section précédente : soit un graphe complet non-orienté pondéré
G = (KV , c) à n = |V| sommets.

Question 44 assignment problem. On considère le problème Pd’affectation linéaire suivant : trouver une
fonction bijective f de V (ensemble fini discret) dans V telle que i∈V ci f(i) soit minimal. Formuler en un pro-
gramme linéaire en variables booléennes (PLVB). À quelle classe de complexité ce problème appartient-il ? Quelle
relation existe-t’il entre ce problème et le TSP ? Proposer une seconde formulation de PLVB pour le problème
d’affectation linéaire avec exactement |V| contraintes.

Question 45 subtour cuts. Soit W un sous-ensemble strict non-vide de V (∅ ( W ( V) et A l’ensemble des


arêtes de G ayant exactement une extrémité dans W. Un tour (i.e. un cycle hamiltonien) T de G ne peut être
entièrement inclu dans le sous-graphe de G engendré par W. Quelle relation existe-t’il entre T et le graphe partiel
engendré par A ? Modéliser cette condition au moyen des variables de la question précédente : une telle contrainte
est appelée contrainte d’élimination de sous-tour. En déduire une formulation linéaire du TSP ; évaluer sa
taille.

Question 46 control zones. On considère ici un encodage du TSP, différent encore, basé sur exactement n
disques, chacun centré sur un sommet de G, et ne s’intersectant pas (les disques sont soit deux à deux disjoints,
soit seulement adjacents). Comparer la somme des diamètres des disques et le coût d’un tour dans G. Proposer
un programme linéaire modélisant une relaxation du TSP et basé sur des variables continues ri > 0 : pour tout
sommet i ∈ V, ri est la longueur du rayon du disque centré en i. Considérer le dual de ce PL.

EMN/GIPAD12/SD/OC/app1 -15- 26/9/2011


Question 47 moats. Montrer sur un exemple, que l’optimum du PL de la question précédente n’atteint pas
nécessairement l’optimum du TSP. Soit une solution optimale (r1 , . . . , rn ) du PL et un sous-ensemble W ( V tel
qu’aucun disque centré sur un sommet de W n’est adjacent à un disque centré sur un sommet de V \ W. Exprimer
la valeur maximale uW > 0 telle que, pour tous i ∈ W et j ∈ V \ W, le disque centré sur i de rayon ri + uW
n’intersecte pas le disque centré sur j de rayon rj . Que déduire de cette information pour le TSP ? Proposer un
algorithme glouton d’amélioration de la borne du PL.

Question 48 Proposer un modèle linéaire du problème de cycle hamiltonien (on prendra une fonction objective
constante quelconque) basé sur des variables booléennes de type yik = 1 si et seulement si i est le k-ème sommet
du cycle. Compléter ce modèle en un PLVB du TSP de taille polynomiale en n.

Dantzig, Fulkerson et Jonhson [2] furent les premiers à considérer la relaxation AP et les contraintes de
sous-tours pour le TSP. Partant de la solution optimale de (P) le PLVB de la question 44, ils proposèrent
la méthode de résolution itérative suivante : à chaque itération, la relaxation continue de (P) est résolue
et une contrainte de sous-tour, violée par la solution courante, est recherchée puis, si elle existe, ajoutée
à (P). Cette méthode est aujourd’hui appelée algorithme de génération de coupes.
Pour les questions de recherche bibliographique suivantes, on pourra s’appuyer notamment sur les
documents disponibles sur [6] et qui reprennent en partie le livre [1].

Question 49 Montrer que l’algorithme termine. Que peut-on dire de la solution retournée ? Définir les méthodes
de séparation et de branch-and-cut.

Question 50 Résumer la méthode de [2] de recherche de coupes de sous-tour. S’agit-il d’une heuristique ou, au
contraire, la méthode assure-t’elle de trouver une coupe tant qu’il en existe ?
– citer d’autres méthodes de recherche de coupes de sous-tour ;
– citer d’autres classes de coupes structurelles propres au TSP ;
– citer une classe de coupes générique à tout PLNE.

EMN/GIPAD12/SD/OC/app1 -16- 26/9/2011


2.3 Séance 6 – rédacteurs : Fabien Le Huédé et Sophie Demassey
2.4 Problem statement
The Vehicle Routing Problem with Time Windows (VRPTW) is the extension of the Capacitated VRP
where the service at each customer i must start within a time interval [ai , bi ] called a time window.
During the service time, denoted si , the vehicle stays at the location of customer i. If it arrives at this
location before time ai , it has to wait until the customer is ready to start service.
The VRPTW consists in finding a set of kmax routes, one for each vehicle, such that :
1. each vehicle starts from and returns to one specific location called the depot,
2. each customer is visited by exactly one vehicle,
3. the sum of the demands of the customers visited by a vehicle does not exceed its capacity C,
4. for each customer i, the service starts within the time window [ai , bi ] and it lasts si time units,
5. the travel between two locations i and j – when it is allowed – lasts tij time units and it has a
financial cost cij ,
6. the sum of the vehicle travel costs is minimized.

2.5 Model
Let N = {1, . . . , n} be the set of customers and K = {1, . . . , kmax } be the set of vehicles that can be used
to perform the service. The VRPTW is defined on a network G = (V, A), where V = {0, . . . , n + 1} and
the nodes 0 and n + 1 represent the depot : all feasible vehicle routes correspond to elementary paths
from node 0 to node n + 1 in G. For each arc (i, j) ∈ A, we denote tij the travel time on this arc and
cij the travel cost. For each vertex i ∈ V, we denote δ+ (i) the set of successors of i and δ− (i) the set of
predecessors of i.
Nodes 0 and n + 1 are given a time window [E, L] where E and L represent the earliest departure
from the depot and the latest possible arrival at the depot, respectively. In addition, zero demands and
service times are defined for these nodes (d0 = dn+1 = s0 = sn+1 = 0). Unused vehicles can be
represented by routes having exactly one arc : the arc (0, n + 1) defined with t0,n+1 = c0,n+1 = 0.
The following mathematical model uses two types of variables : flow variables xk ij , (i, j) ∈ A, k ∈ K,
k
equal to 1 if arc (i, j) is used by vehicle k and 0 otherwise, and time variables wi , i ∈ V, k ∈ K, specifying
the start of service at node i when serviced by vehicle k.

X X
min z = cij xk
ij (3)
k∈K(i,j)∈A
X X
s.t. xk
ij = 1 ∀i ∈ N, (4)
k∈Kj∈δ+ (i)
X X
xk
ij − xk
ji = 0 ∀k ∈ K, j ∈ N, (5)
i∈δ− (j) i∈δ+ (j)
X
xk
0i = 1 ∀k ∈ K, (6)
i∈δ+ (0)
X
xk
i(n+1) = 1 ∀k ∈ K, (7)
i∈δ− (n+1)

xk k k
ij (wi + si + tij − wj ) 6 0 ∀k ∈ K, (i, j) ∈ A, (8)
X X
ai xk k
ij 6 wi 6 bi xk
ij ∀i ∈ N, ∀k ∈ K, (9)
j∈δ+ (i) j∈δ+ (i)

E 6 wk
i 6L ∀k ∈ K, i ∈ {0, n + 1}, (10)
X X
di ( xk
ij ) 6 C ∀k ∈ K, (11)
i∈N j∈δ+ (i)

ij ∈ {0, 1}
xk ∀k ∈ K, (i, j) ∈ A. (12)

EMN/GIPAD12/SD/OC/app1 -17- 26/9/2011


Question 51 model analysis.
1. Explain each constraint of the model.
2. Explain why subtour elimination is ensured by this model.
3. Propose a linear formulation for constraint (8). 7
4. In order to reduce the graph (and the number of variables) as a preprocessing step, consider temporal or
capacity limitation arguments to eliminate arcs that do not enter in any solution.
5. Is it useful to distinguish between the various vehicles in this model ? Propose a second model where the
vehicles are not distincts. Consider the objective of minimizing the number of vehicles used and propose a
linear formulation of this objective in both models.

2.6 Local search algorithm for VRPTW


This part relies on the study of Savelsbergh’s paper [5]. These results are given for the TSP, so they
can be used in the VRP for routes improvements. The following questions deal with algorithms propo-
sed for the 2-opt (2-interchange) neighborhood only.

Question 52 The lexicographic search algorithm.


1. Relate Savelsbergh notations to the former notations. Explain the differences.
2. Could we suppose that service time is included in transportation times ?
3. In pseudo-code, write the lexicographic search algorithm for 2-Opt explained in the paper.
4. Summarize the acceptability conditions of a 2-opt move.
5. Consider problem P1 of Figure 3 and the route described in Figure 4, build the tours following the lexico-
graphic search for i = 0 and i = 1. Note : the graph is complete although only selected edges are represented
on the figure. Time windows are given next to each vertex on the graph.

tij 0 1 2 3 4 5 6 7
0 0 10 18 18 25 20 10 10
1 10 0 10 12 22 20 18 20
2 18 10 0 10 12 20 22 28
3 18 12 10 0 15 12 12 20
4 25 22 12 15 0 10 22 32
5 20 20 20 12 10 0 15 25
6 10 18 22 12 22 15 0 10
7 10 20 28 20 32 25 10 0

F IGURE 3 – A graph description and table of times for P1

F IGURE 4 – Feasible solution for P1

Question 53 Incremental version of the algorithm. Savelsbergh proposes an efficient implementation of the
lexicographic search algorithm, using additional global variables to reduce the checking effort to O(1) time for
each 2-exchange.
1. Summarize the initialization and the update steps for these variables.
2. Run the algorithm at iteration i = 2 using this technique.
3. At the end of page 293, the author quickly describe a profitability test but does not explain it. Propose a
method for this test and give its complexity.

7. Hint : consider xk k
ij = 1 then introduce an arbitrary large constant M s.t. it remains unconstrained when xij = 0.

EMN/GIPAD12/SD/OC/app1 -18- 26/9/2011

Vous aimerez peut-être aussi