Académique Documents
Professionnel Documents
Culture Documents
Cours Optimisation Combinatoire 2
Cours Optimisation Combinatoire 2
Ghislain PANDRY
Chercheur, Traitement du signal et des images
Heuristique
étymologie : du grec ancien eurisko, "trouver" ;
méthode approchée conçue pour un problème d'optimisation
particulier permettant de trouver des solutions avec un temps de
calcul raisonnable ;
traduit une stratégie, une manière de penser, s'appuyant sur notre
connaissance du problème ;
indispensable pour les problèmes NP-diciles car généralement en
temps polynomial ;
Métaheuristique
une heuristique est spécique à un problème et ne peut pas être
généralisée ;
méta + heuristique =≪ au-delà ≫ + =≪ trouver ≫⇒ trouver
avec un plus haut niveau d'abstraction ;
une méta-heuristique est un ensemble de concepts : voisinage
(modication d'une solution), utilisation de la mémoire, inspiration
de la physique ou la nature ...
une méta-heuristique est une heuristique généraliste, pouvant
s'appliquer à plusieurs problèmes d'optimisation ;
classication habituelle des métaheuristiques : en fonction du
nombre de solutions qu'elles manipulent
métaheuristiques à solution unique
métaheuristiques à population de solutions
Figure
Dénition
Un algorithme glouton (greedy) est un algorithme qui, à chaque étape de
la résolution d'un problème, fait un choix optimal dans l'espoir que le
résultat nal soit optimal.
Le problème du sac-à-dos
Dénition
Considérons n objets, notés i = 1; · · · ; n, apportant chacun un bénéce ci
mais possédant un poids ωi . On veut ranger ces objets dans un sac que
l'on veut au maximum de poids b . Le problème de sac-à-dos (knapsack)
consiste à choisir les objets à prendre parmi les n objets de manière à
avoir un bénéce maximal et respecter la contrainte du poids à ne pas
dépasser. Chaque objet i , i ∈ {1, · · · , n}, doit être sélectionné au moins
pi fois et au plus qi fois.
Domaines d'application
Ce problème se rencontre bien entendu dès que l'on part en randonnée en
voulant emmener le plus possible d'objets utiles (nourriture, boissons,...).
Mais ce problème est plus fréquemment utilisé pour remplir les camions
de transport, les avions ou bateaux de fret et même pour gérer la
mémoire d'un microprocesseur.
Figure
Ghislain PANDRY Chapitre 2: L'OPTIMISATION COMBINATOIRE:
I-INTRODUCTION I.1-Le problème du sac-à-dos
II-Introduction à la recherche locale I.2-Le problème du voyageur de commerce
III-MÉTHODES D'ÉVOLUTION I.3-Le problème de coloration
I.4-Le problème du ot maximal
Dénition
Soit G = (V ; E ) un graphe non-orienté où les sommets V sont appelées
des villes et les arêtes entre deux villes des liaisons. Soit c(e) un coût
associé à la liaison e , pour toute e ∈ E . Le problème du voyageur de
commerce (TSP, Traveller Salesman Problem) consiste à déterminer un
cycle passant par chaque ville une et une seule fois. Un tel cycle est dit
hamiltonien, on l'appelle aussi souvent tour ou tournée. Ce problème
classique a trouvé de nombreuses applications dans des domaines
pourtant aussi éloignés que la production ou la construction de circuits
intégrés.
Dénition (suite)
Regardons le problème assymétrique : c'est-à-dire que les coûts des arcs
cij ̸= cji pour tout arête ij ∈ e . On considère le graphe complet
D = (V ; A), avec des coûts sur les arcs cij . On recherche le cycle
orienté, appelé tour qui contient les n villes et qui soit de taille minimale.
On dénit les variables xij = 1 si l'arc (i; j) est dans le tour et 0 sinon.
Même avec ce formalisme déjà très précis, il existe plusieurs formulations
possibles.
REMARQUE
Reconnaître un graphe hamiltonien peut sembler facile (puisque c'est
facile pour un graphe eulérien...) mais il n'en est rien. Il existe cependant
des conditions nécessaires ou susantes à l'existence d'un cycle
hamiltonien :
TSP : Problème
plus proche voisin (nearest neighbour)
Un voyageur de commerce doit visiter un certain nombre de villes
Il doit visiter chaque ville une et une seule fois
Étant donné des distances entre chaque paire de villes, il doit
minimiser la distance totale parcourue
On peut représenter ce problème par un graphe : chaque ville
correspond à un sommet et chaque arête à une paire de villes
pouvant être visitées l'une à la suite de l'autre
Le problème correspond à trouver un tour complet (circuit
Hamiltonien) dans ce graphe qui minimise la somme des
distancesinitialisation : choisir aléatoirement une première ville
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
TSP : illustration
Le problème de coloration
Dénition :k -coloration de G
Une k - coloration d'un graphe (simple, sans boucles)G = (V ; E ) est une
application c : V → {1; 2; · · · ; k} de façon telle que les sommets voisins
ont des couleurs distinctes : (vi , vj )i̸=j ∈ E , ⇒ c(vi ) ̸= c(vj )
Dénition : Stable
Un stable est un ensemble de sommets non adjacents donc une
k -coloration = un partitionnement du graphe en k stables.
PROBLÈME A RÉSOUDRE
PROBLÈME A RÉSOUDRE
Selon l'image précédente des questions peuvent être posées.
Pour un problème de dimensionnement des routes, on peut se poser
la question combien de voitures emprunteront cette route ?
Pour un problème de dimensionnement des canalisations d'eau, on
peut se poser la question quel débit d'eau faut-il pour cette ville ?
Pour un problème de dimensionnement d'un réseau d'une entreprise,
on peut se poser la question quel débit internet faut-il pour cette
entreprise ?
QUESTION FONDAMENTALE
Comment transférer une quantité maximale de "matière" de source à
destination sans dépasser la capacité de chaque arc ?
Matière=voitures ou débit d'eau ou débit internet ou ...
DÉFINITION : RÉSEAU
Un graphe fortement connexe, sans boucle et ayant plus d'un sommet est
appelé un réseau.
REMARQUE 0
Cette contrainte de conservation s'appelle aussi loi des n÷uds ou loi de
Kircho en électricité et indique qu'il n'y a pas de perte dans le réseau.
Ainsi, La somme des ots sortant en un n÷ud v est égale à la somme des
ots entrants en un n÷ud v .
EXEMPLE
ATTENTION
Sur un même réseau de transport, un ot compatible n'était pas
nécessairement complet et un ot complet n'était pas nécessairement
maximal.
X X
α= ϕ(e) − ϕ(e)(source) (2)
e∈Γ+ (s) e∈Γ− (s)
REMARQUE 1
Il est possible d'ajouter un arc ctif reliant t à s dont le ux ϕ(t; s) est
toujours la valeur α du ot ϕ . Dans ce cas, la contrainte de conservation
est aussi vériée par s et t .
REMARQUE 2
Le ot nul est toujours admissible.
EXEMPLE
on a une chaîne augmentante de A à E faisant partie d'un réseau de
transport.
EXEMPLE SUITE
Dans cette chaîne, on peut augmenter le ot de :
min({cA,B − ϕA,B ; cB,C − ϕB,C ; cD,E − ϕD,E } ∪ {ϕD,C })=min({5 − 2; 9 −
7; 5 − 0} ∪ {1})=min({3; 2; 5} ∪ {1})=min({3; 2; 5; 1})=1
On augmentera donc de 1 le ot dans cette chaîne. Ce qui signie :
augmenter de 1 le ot entre A et B , augmenter de 1 le ot entre B et C ,
diminuer de 1 le ot entre D et C , augmenter de 1 le ot entre D et E .
APPLICATION
Au départ ϕ(u) = 0, ∀u ∈ E
APPLICATION
APPLICATION
APPLICATION
APPLICATION
APPLICATION
APPLICATION
APPLICATION
APPLICATION
APPLICATION
Randonneur 1
stratégie : ≪ je suis sportif, j'explore tous les chemins possibles ≫
résultat : le pauvre, il court toujours dans la montagne ! · · · mais il
n'est pas encore mort de lassitude. Il doit être bien motivé
Moralité
la recherche exhaustive énumérative ne fut pas un choix judicieux !
Randonneur 2
stratégie : ≪ descendre pour aller en bas, quoi de plus normal ? :
tant que je peux descendre, je le fais ! ≫
résultat : pas de chance /, il a terminé dans une cuvette. Après une
nuit glaciale il s'est rendu compte que ce n'était pas le point le plus
bas. Il s'est remis en marche pour enn descendre,épuisé, au bon
endroit.
Moralité
la recherche gloutonne basique peut marcher, mais pas cette fois-ci !
avec un autre point de départ ça aurait pu mieux se passer.
descendre toujours peut conduire à une impasse !
Randonneur 3
stratégie : ≪ je descends, mais j'autorise, de temps à autre (joue
aux dés), des chemins qui montent. ≫ tient compte de l'inclinaison
des chemins qui montent. A un certain moment, il a marché (sans le
savoir) sur les pas du 2me randonneur
résultat :il est arrivé à un point très bas, qu'il n'a pas quitté, et les
équipes de secours l'ont trouvé.
Moralité
des dégradations occasionnelles de la fonction objectif peuvent nous faire
échapper d'un optimum local
Randonneur 4
stratégie : ≪ tant que je peux descendre, je le fais en empruntant le
chemin de plus grande pente si je ne peux plus descendre,
j'emprunte le chemin qui remonte avec la plus faible pente je
mémorise les derniers chemins que je viens d'emprunter pour ne pas
emprunter les emprunter tout de suite. ≫
résultat :idem que le 3me mais qui du 3me et du 4me arriva premier ?
l'histoire ne le dit pas
Moralité
avec une mémoire à court terme, on peut s'épargner des boucles innies
Moralité
fonction Ω → 2Ω : x 7→ V(x) ⊂ Ω
traduit la notion de solutions proches, semblables, voisines
suite de solutions : une trajectoire dans l'espace de recherche
Figure
Ghislain PANDRY Chapitre 2: L'OPTIMISATION COMBINATOIRE:
I-INTRODUCTION
II-Introduction à la recherche locale
III-MÉTHODES D'ÉVOLUTION
Figure Chapitre 2: L'OPTIMISATION COMBINATOIRE:
Ghislain PANDRY
I-INTRODUCTION
II-Introduction à la recherche locale
III-MÉTHODES D'ÉVOLUTION
Descente du gradient
Figure
Ghislain PANDRY Chapitre 2: L'OPTIMISATION COMBINATOIRE:
I-INTRODUCTION
II-Introduction à la recherche locale
III-MÉTHODES D'ÉVOLUTION
Figure
Ghislain PANDRY Chapitre 2: L'OPTIMISATION COMBINATOIRE:
I-INTRODUCTION
II-Introduction à la recherche locale
III-MÉTHODES D'ÉVOLUTION
Introduction
Les méthodes d'évolution sont généralement basées population de
solutions : On commence par une population de solutions pour améliorer
la solution globale. Contrairement aux recherche locales, les méthodes à
base de population de solutions améliorent, au fur et à mesure des
itérations, une population de solutions. Ces méthodes commencent par
une population initiale pour arriver ou s'approcher de la solution optimale
du problème. Ces algorithmes sont très exibles et ont la capacité de
traiter des problèmes avec des fonctions objectif de diérentes propriétés,
qu'elles soient continues, discrètes ou mixtes.
Sélection : Types
Roulette : Son principe est tiré de la roue de loterie. A chaque
individu, on associe un secteur de la roue. L'angle du
secteur correspond à la tness de l'individu.
Rang : Cette sélection se base sur la notion du tri. On trie d'abord
les individus par tness et on associe à chacun un rang.
Tournois : Une rencontre se fait entre plusieurs individus pris au
hasard. Le vainqueur est celui qui a la meilleure tness.
On peut choisir un ou plusieurs vainqueurs à la fois.
APPLICATION TSP
Un algorithme approché
1 Construire un Arbre de Couvrant de Poids (Coût) Minimal (ACCM) ;
2 Doubler chaque arête de l'ACCM pour obtenir un graphe eulérien ;
3 Trouver un cycle eulérien ;
4 Transformer le cycle eulérien en un cycle hamiltonien en supprimant
les éventuels passages en double sur certains sommets
5 Retourner le cycle Hamiltonien ;
Algorithme de Christodes
1 Calculer un arbre couvrant T de poids minimum de G
′
2 Soient V les n÷uds de T de degré impairs, calculer dans G un
′
couplage parfait M de V de poids minimum.
′
3 Calculer un cycle eulérien C de T ∪ M et renvoyer le cycle visitant
′
les n÷uds de G dans le même ordre que C .
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Algorithme de Little
Inversion de sous-tours
Pour le problème du voyageur de commerce, on peut dénir
plusieurs types de modication
Un type de modication possible consiste à inverser l'ordre de visite
d'une sous-séquence de villes
Par exemple, si la séquence de visite des villes est 1-2-3-4-5-6-7-1 et
que nous choisissions d'inverser la sous-séquence 3-4, la solution
1-2-4-3-5-6-7-1 serait obtenue suite à cette modication
Sur notre exemple, on peut vérier que la distance totale passe de
69 à 65 suite à cette modication
Exemple
Solution initiale : 1-2-3-4-5-6-7-1 (69)
Inversions de sous-tours (les autres possibilités ne mènent pas à une
solution réalisable) :
1-3-2-4-5-6-7-1 : 68
1-2-4-3-5-6-7-1 : 65
1-2-3-5-4-6-7-1 : 65
1-2-3-4-6-5-7-1 : 66
Il y a deux modications qui diminuent le plus la distance : on
choisit la première
Exemple (Suite)
Solution courante : 1-2-4-3-5-6-7-1 (65)
Inversions de sous-tours :
1-2-3-4-5-6-7-1 : 69 (solution précédente !)
1-2-4-6-5-3-7-1 : 64
Il n'y a qu'une seule modication qui diminue la distance totale : on
la choisit
Inversions à partir de 1-2-4-6-5-3-7-1 :
1-2-4-3-5-6-7-1 : 65 (solution précédente !)
1-2-4-6-5-7-3-1 : 66
Aucune modication n'améliore la valeur de l'objectif : on arrête
Exemple (Suite)
Pourtant, la solution obtenue de valeur 64 n'est pas optimale : la
solution 1-2-4-6-7-5-3-1 est de valeur 63 et on peut vérier qu'elle
est optimale
Plusieurs métaheuristiques utilisent la même approche (par type de
modications, ou voisinage) que la descente, mais tentent d'éviter
de demeurer piégé dans un minimum local (recherche avec tabous,
recuit simulé)
D'autres tentent de combiner plusieurs solutions (populations)
pour en générer de nouvelles (algorithmes génétiques)
Exemple TSP
la recherche avec tabous eectue les mêmes modications que la
descente, mais gère également la liste taboue
Solution initiale : 1-2-3-4-5-6-7-1 (69)
Itération 1 :
Inversion de la sous-séquence 3-4 → ajout des liens 2-4 et 3-5
→ Liste taboue = 2-4, 3-5
Nouvelle solution : 1-2-4-3-5-6-7-1 (65)
Itération 2 :
Inversion de la sous-séquence 3-5-6 → ajout des liens 4-6 et
3-7 → Liste taboue = 2-4, 3-5, 4-6, 3-7
Nouvelle solution : 1-2-4-6-5-3-7-1 (64)