Vous êtes sur la page 1sur 98

11/10/2021

Optimisation Combinatoire
Analytique Prescriptive
Mariem GZARA
Mastère de Recherche Génie Logiciel
2020-2021
ISIM-Monastir Optimisation Combinatoire
Prescriptive Analytics
Mariem GZARA
Mastère de Recherche Génie Logiciel

Plan du cours
• Chapitre I: Introduction à l’optimisation combinatoire et à
l’analytique prescriptive

• Chapitre II : Modélisation de problèmes d'optimisation


discrets : choix d'une formulation

• Chapitre III : Heuristiques et métaheuristiques

• Chapitre IV : Programmation linéaire en nombres entiers :


procédures par séparation et évaluation, méthodes de
coupes

• Chapitre V: Optimisation multi-objectif et distribution


Optimisation Combinatoire 2

1
11/10/2021

Introduction à l’optimisation
combinatoire et à
l’analytique prescriptive

Analytique Prescriptive

• Analytique des données : science qui analyse les


données brutes pour la prise de décision à partir
de cette information.
• Analytique prescriptive:
– fournit aux organisations des recommandations sur
des actions optimales pour atteindre des objectifs
métier tels que le service à la clientèle, les bénéfices
et l'efficacité opérationnelle.
– Les solutions de l’analytique prescriptive utilisent la
technologie d'optimisation pour résoudre des
décisions complexes avec des millions de variables de
décision, de contraintes et de compromis. (IBM)

Optimisation Combinatoire 4

2
11/10/2021

Analytique Prescriptive

https://huddle.eurostarsoftwaretesting.com/going-beyond-prescriptive-analytics-self-healing-auto-tuning/
Optimisation Combinatoire 5

Analytique Prescriptive
La maturité de l’analytique des données

https://timoelliott.com/blog/tag/prescriptive-analytics
Optimisation Combinatoire 6

3
11/10/2021

Classification des méthodes


d’analytique prescriptive

Optimisation Combinatoire 7
https://www.researchgate.net/figure/Classification-of-the-methods-for-prescriptive-
analytics_fig2_338970341

L’optimisation Combinatoire
• Problèmes d’optimisation de grande dimension et complexes posés
dans de nombreux secteurs:
– Télécommunications: Conception de réseaux mobiles
– Transport : tournées de véhicules, la construction de rotations d’équipage dans le
transport aérien, transport de marchandises et leur planification
– Environnement: Modélisation
– Mécanique: Conception des systèmes mécaniques
– Informatique: ordonnancement de processus, recherche d’information,
indexation de bases de données
– Traitement d’images: alignement de photos satellites
– Électronique: Placement et routage des composants
– Industriel: planification de production
– Théorie de jeu: conception de jeux

Optimisation Combinatoire 8

4
11/10/2021

L’optimisation combinatoire
Définition d’un problème d’optimisation :

Minimiser: f (x )
 
Tel que (q contraintes à satisfaire): g (x)  0

Avec x IRn et  
g ( x)  Rq

 Fonction objectif à minimiser ou à maximiser

 Cette fonction comporte des paramètres (Variables) et est


généralement soumise à des contraintes

Optimisation Combinatoire 9

L’optimisation Combinatoire
L’optimisation consiste à trouver la configuration qui soit de coût
minimal, n’est pas obligatoirement unique

Soit  l’ensemble des solutions potentielles du problème,


ensemble de configurations du problème à résoudre, espace de
recherche.

Cet ensemble est déterminé à l'aide de contraintes (souvent


analytiques) données dans l’énoncé du problème.
   
X  x  X / x  X , f ( x )  f ( x )
 
  
Optimisation Combinatoire 10

5
11/10/2021

L’Optimisation combinatoire
– Optimisation Combinatoire consiste à trouver un
"meilleur" choix parmi un ensemble fini (souvent très
grand) de possibilités

– Espace de recherchefini ou dénombrable, mais

– non énumérable en un temps « raisonnable »

Remarque: Optimisation Combinatoire, mathématiques discrètes, théorie


des graphes (3 termes presque synonymes)

Optimisation Combinatoire 11

L’Optimisation combinatoire
Taille de l’espace de recherche
1, log n, n, n.log n, n2, n3, 2n
2n
n2 n

T(n)

Log n

Optimisation Combinatoire 12

6
11/10/2021

L’Optimisation combinatoire

1, log n, n, n.log n, n2, n3, 2n

Évolution du temps Évolution de la taille


quand la taille est quand le temps est
10 fois plus grande 10 fois plus grand
1 t 
log2n t + 3,32 n10
n 10 x t 10 x n
n log2n (10 + ) x t (10 - ) x t
n2 100 x t 3,16 x n
n3 1000 x t 2,15 x n
2n t 10 n + 3,32

Optimisation Combinatoire 13

L’Optimisation combinatoire
• Quand un problème est-il résolu ? On dira qu'un
problème est bien résolu si on a trouvé un algorithme
polynomial (de faible degré) le résolvant (3).
• Les problèmes NP-difficiles :
– On n'a pas trouvé d'algorithmes polynomiaux pour
résoudre les problèmes de la partition, du stable maximal,
du voyageur de commerce et de la satisfiabilité.
– On n'a pas montré qu'il n'existait pas d'algorithme
polynomial pour un de ces problèmes, mais on a le résultat
suivant:
“Si un seul de ces problèmes est polynomial alors tous les
problèmes "raisonnables" réputés difficiles sont
polynomiaux”. Ces problèmes sont dits NPdifficiles

Optimisation Combinatoire 14

7
11/10/2021

Optimisation combinatoire
Classification des algorithmes d’optimisation

Première classification
– Méthodes exactes
• programmation dynamique
• recherche arborescente
• ...
– Méthodes approchées - heuristiques / métaheuristiques
• recuit simulé
• algorithmes évolutionnaires
• algorithmes de colonies de fourmis
• Recherche tabou

Optimisation Combinatoire 15

Optimisation combinatoire
Classification des algorithme d’optimisation

Autres classification

 Algorithmes déterministes / algorithmes stochastiques

 Algorithmes de recherche locale / algo. de recherche globale

 Algorithmes d ’optimisation locale / algo. d’optimisation


globale

Optimisation Combinatoire 16

8
11/10/2021

Optimisation combinatoire
Classification des algorithmes d’optimisation

Algorithmes exacts Heuristiques

Heuristiques Métaheuristiques
Branch Programmation A*
spécifiques
and bound dynamique

Solution Population
unique

Recherche Recuit Recherche Algorithmes Scatter Colonies de


locale simulé tabou génétiques Search fourmis

Optimisation Combinatoire 17

Optimisation combinatoire
Classification des algorithme d’optimisation

Méthodes génériques
• Programmation linéaire (modélisation sous forme
d'équations linéaires)
• Programmation en nombres entiers (variables
entières)
• Programmation quadratique
• Programmation dynamique
• Méthodes énumératives (PPC) : SAT (problème
de satisfaisabilité booléenne ), CSP,
• Méta-heuristiques (optimisation stochastique) …

Optimisation Combinatoire 18

9
11/10/2021

Optimisation combinatoire
Classification des algorithmes d’optimisation

https://www.researchgate.net/figure/Classification-of-metaheuristics_fig1_329216082

Optimisation Combinatoire 19

https://www.researchgate.net/figure/Classifica
tion-of-metaheuristic-algorithms-
24_fig1_326760272 Optimisation Combinatoire 20

10
11/10/2021

Optimisation combinatoire

• Mais pour des cas particuliers, il peut exister


des méthodes dédiées efficaces (optimales ou
approchées).
• Par exemple :
– Sac à dos, sous conditions : algorithme glouton
– Ordonnancement : méthode du chemin critique
(PERT) Ordonnancement à 2 machines :
algorithme de Johnson ...

Optimisation Combinatoire 21

Modélisation de problèmes
d'optimisation discrets : choix
d'une formulation

11
11/10/2021

Modélisation de problèmes d'optimisation discrets :


choix d'une formulation
• Le processus de formulation consiste à traduire une
description formelle d’un problème en une formulation
mathématique: modèle mathématique.

• Problème Modèle Solution

• Le schéma à suivre pour la formulation:


– Bien comprendre le problème.
– Décrire l’objectif.
– Définir les variables de décision. Affecter des symboles pour
représenter les variables de décision
– Écrire l’objectif en fonction des variables de décision.
– Décrire chaque contrainte.
– Ecrire chaque contrainte en fonction des variables de décision.
Optimisation Combinatoire 23

Modélisation de problèmes d'optimisation


discrets : choix d'une formulation
• Définir les variables de décision
– ensemble des variables qui régissent la situation à modéliser
– variables réelles, entières, binaires, mixtes

• Préciser la fonction objectif


– fonction mathématique composée des variables de décision qui repré
sente le modèle physique modélisé
– fonction linéaire

• Préciser les contraintes du problème


– ensemble des paramètres qui limitent le modèle réalisable
équations ou inéquations composées des variables de décision

• Préciser les paramètres du modèle


– constantes associées aux contraintes et à la fonction objectif

Optimisation Combinatoire 24

12
11/10/2021

Modélisation de problèmes d'optimisation discrets :


choix d'une formulation

• Fonction Objectif: Maximiser ou minimiser


z = c1x1 + c2x2 + c3x3 + … + cnxn

• Contraintes
a11x1 + a12x2 + a13x3 + … + a1nxn (≤, =, ≥) b1
a21x1 + a22x2 + a23x3 + … + a2nxn (≤, =, ≥) b2
am1x1 + am2x2 + am3x3 + … + amnxn (≤, =, ≥) bm

• Contraintes de non-négativité xj ≥ 0 ; j = 1, 2, 3, … n
• xj variables de décision (inconnues)
• aij, bi, cj paramètres du programme linéaire

Optimisation Combinatoire 25

Exemple 1: problème de sac à dos

Optimisation Combinatoire 26

13
11/10/2021

Exemple 1

Optimisation Combinatoire 27

Modélisation de problèmes d'optimisation


discrets : formulation avec des variables 0-1

• Variables x,y
– Ou

– Ou exclusif

– Sélectionner n objets dans m objets |B|=n

Optimisation Combinatoire 28

14
11/10/2021

Modélisation de problèmes d'optimisation


discrets : formulation avec des variables 0-1

• Implication: si x est sélectionné, alors y doit


être sélectionné.

• Implication: si xi et xi+1 sont sélectionnés,


alors y doit être sélectionné.

Optimisation Combinatoire 29

Modélisation de problèmes d'optimisation


discrets : formulation
• Implication dans le cas de variables entières

Optimisation Combinatoire 30

15
11/10/2021

Modélisation de problèmes d'optimisation discrets :


contraintes logiques

• Conjonction

Optimisation Combinatoire 31

Modélisation de problèmes d'optimisation


discrets : contraintes logiques
• Disjonction

Optimisation Combinatoire 32

16
11/10/2021

Modélisation de problèmes d'optimisation


discrets : contraintes logiques

Optimisation Combinatoire 33

Modélisation de problèmes d'optimisation


discrets : intervalles

• Intervalles x 1 , x6

Optimisation Combinatoire 34

17
11/10/2021

Modélisation de problèmes d'optimisation


discrets : intervalles
• Intervalles x  1 ou x  6
• Choisir  tel que
– Si x 1 alors =1
– Si x6 alors =0

Optimisation Combinatoire 35

Problème du Sac à dos


• Un randonneur doit décider de l’équipement qu’il veut
emporter pour sa prochaine expédition.

• Pour des raisons évidentes, il veut limiter le poids total


des objets emportés pour sa prochaine expédition.

• Chacun des n objets qu’il peut emporter possède un


poids ai, i=1, …, n, ainsi qu’une utilité cj, j=1, …, n, cette
dernière étant d’autant plus grande que le randonneur
juge l’objet intéressent.

• Le poids des objets ne doit pas dépasser sa capacité.


Optimisation Combinatoire 36

18
11/10/2021

Problème du Sac à dos

n
max  c j x j
j 1
n

a x
j 1
j j
b

x j
 0,1 j  1..n

Optimisation Combinatoire 37

Sac à dos multidimensionnel


• Problème de sac à dos multidimensionnel est
posé dans le cas de la présence de plusieurs
contraintes.

Optimisation Combinatoire 38

19
11/10/2021

Sac à dos multidimensionnel

 n

 max  cjxj
 j 1

 n
(MKP)  s.c.  Aij x j  bi i  1,..., m
 j 1
 x j  0,1 j  1,..., n
 c, b, A  0

• n : nombre d’objets.
• m : nombre de contraintes
• c présente le vecteur des profits.
• A est la matrice des contraintes (m*n)
• b est le vecteur second membre.
• xj = 1 ssi l’objet j est sélectionné
Optimisation Combinatoire 39

Problème de sac à dos multiples

• Problème de sac à dos multiples (SAD-M) est


posé dans le cas de la présence de plusieurs
sacs.
• Il s’agit d’assigner chaque objet à un sac au
plus en respectant les contraintes de capacité
de chacun et en maximisant le profit total.

Optimisation Combinatoire 40

20
11/10/2021

Problème de sac à dos multiples

m n
 c j xij
 i 1 j 1
 n

sc  aij xij  bi i  1,.., m


SAD _ M  j 1
 m
  xij  1 j  1,.., n
 i 1

 xij  0,1n

Où xij=1 si l’objet j est affecté au sac i.


Optimisation Combinatoire 41

Problème de sac à dos multidimensionnel


à choix multiples
Les objets à choisir sont partitionnés en différentes classes dans
lesquelles un objet et un seul doit être sélectionné
d est le nombre de classes
• n : nombre de classes
•m : nombre de contraintes
•r i : nombre d’objets de la classe i
•c : présente le vecteur des profits.
•cij représente le profit de l'objet j de la classe i
•W est la matrice des contraintes. représente le poids de l'objet j du
groupe i dans la contrainte k
•b est le vecteur second membre.w k
ij

•xij = 1 ssi l’objet j de la classe i est sélectionné


Optimisation Combinatoire 42

21
11/10/2021

Sac à dos avec contraintes disjonctives

• Ce problème a été modélisé pour un problème


de sélection de sites pour installer des centrales
nucléaires.

• n : nombre d’objets.
• c présente le vecteur des profits.
• a est le vecteur des poids
• b est la valeur de la capacité
• E ensemble des couples d’objets incompatibles
• xj = 1 ssi l’objet j est sélectionné
Optimisation Combinatoire 43

Sac à dos avec contraintes disjonctives

 n
max

c x
j 1
j j

 n
(DCKP)  s.c. a x j j b
 j 1
 xi  x j  1 (i, j )  E

 x j  0,1 j  1,..., n

Optimisation Combinatoire 44

22
11/10/2021

Problème de Binômes
• Un ensemble de personnes P = {1, … , n} qui doivent
travailler en binôme sur des projets (n est pair).

• Chaque personne i possède une capacité Ci connue à l'avance


et qui mesure sa capacité au travail : plus Ci est petit, plus la
personne est rapide dans l'exécution de sa part du projet.

• Un binôme entre deux personnes i et j met Ci + Cj pour


terminer son projet

• Le but est de repartir les personnes en binômes compatibles de


sorte que tous les projets soient exécutés en un minimum de
temps (Les binômes travaillent en parallèle).
Mariem Gzara - ISIMM-Monastir 45

Problème de Binômes

vaut 1 si les personnes i et j forment un binôme et 0 sinon

Objectif

a) les binômes sont symétriques

b) Chaque personne fait partie d’un seul binôme

Mariem Gzara - ISIMM-Monastir 46

23
11/10/2021

Problème d’affectation

• consiste à affecter des postes à des personnes


selon des coûts d’affectation.
– Disposer de n postes et de n personnes
– Chaque personne est affectée à un et un seul poste
– Chaque poste reçoit une et une seule personne
– Il s’agit de minimiser le coût d’affectation total

Mariem Gzara - ISIMM-Monastir 47

Problème d’affectation

n n
Minimiser Z   cij xij
i 1 j 1

sous les contra int es


n
 xij  1, j  1, ..., n (1)
i 1
n
 xij  1, i  1,..., n ( 2)
j 1

xij  0,1 (3)

Mariem Gzara - ISIMM-Monastir 48

24
11/10/2021

Problème du voyageur de commerce


– Un voyageur doit visiter n villes

– Il doit passer par toutes les villes et revenir au point de


départ

– Il doit passer par chaque ville une et une seule fois

– Le voyageur doit faire le trajet de longueur minimale

– Le voyageur doit effectuer une seule tournée


Mariem Gzara - ISIMM-Monastir 49

Problème du voyageur de commerce


n n
Minimiser Z   cij xij
i 1 j 1

Sous les contra int es


n
 xij  1, i  1, ..., n (1)
j 1
n
 xij  1, j  1, ..., n ( 2)
i 1

S  V tel que S  2,   xij  S  1 (3)


iS jS

xij  0,1 i, j  1, ..., n


Mariem Gzara - ISIMM-Monastir 50

25
11/10/2021

Problème de Tournées de Véhicules


(modèle de trois index) [Laporte, 1992]
•Disposer de k camions et un dépôt
•Livraison de n clients
•Chaque clients a une demande à être livrer
•Chaque camion a une capacité
•Chaque camion part du dépôt, livre les clients de sa
tournée et revient au dépôt.
•Chaque client est livré par un seul camion
•Minimiser la durée de toutes les tournées
Mariem Gzara - ISIMM-Monastir 51

Problème de Tournées de Véhicules [Laporte, 1992]


(modèle de trois index)

K : nombre de camions

n clients et un dépôt

qi demande du client i, i<1,n>

Qk capacité du camion k, k <1,K>

M longueur maximale d’une route

dij distance entre les clients i et j

Mariem Gzara - ISIMM-Monastir 52

26
11/10/2021

Problème de Tournées de Véhicules


[Laporte,
K
1992] (modèle de trois index)
Min  xijk * d ij
k 1 i  j

Sous les contraintes :


K si i  0 avec y jk   x ijk
 yik   i (1)
k 1 sinon
 qi yik  Qk k  1, , K (2)
i

 xijk * d ij  M (3)
i j

s  V , Tel que | S | 2  x ijk | S | -1 (4)


i , jS ,i  j

1 si le camion k passe par l ' arête ij


xijk  0 si non
i, j  o, n , i  j , k  1, K 
 Mariem Gzara - ISIMM-Monastir 53

Exercice 1

Optimisation Combinatoire 54

27
11/10/2021

Solution exercice 1

Optimisation Combinatoire 55

Chapitre III:
Les méthodes approchées:
Heuristiques et Métaheuristiques

28
11/10/2021

Les méthodes approchées: Heuristiques et


Métaheuristiques
 Intelligence artificielle Bio-inspirée: les métaheuristiques
 Les métaheuristiques de recherche Locale
 La recherche locale : la descente
 Le recuit simulé
 La recherche tabou
 Autres formes de recherche locale

 Les métaheuristiques de recherche globale


 Les algorithmes évolutionnaires
 La programmation génétique
 Les colonies de fourmis
 Le « scatter search »

 Les métaheuristiques hybrides


 Métaheuristiques et parallélisme/distribution

Optimisation Combinatoire 57

Classification des métaheuristiques

https://www.researchgate.net/figure/Classification-of-metaheuristic-algorithms_fig1_342907547

Optimisation Combinatoire 58

29
11/10/2021

Optimisation Combinatoire 59

Espace de recherche et paysage

•« Paysage » de la fonction de coût:


Chercher le maximum de la fonction ci-dessus: Le maximum de cette fonction est
égal à 1 pour x = y = 0. x,y[-10,10]

Fx, y   0.5 
sin x 2  y2   0 .5
2

1  0.001x 2
 y2  2
0.9
0.8
1

0.7
0.6
0.5
-100 -100
0.4
-50 0.3 -50

0 0
y x
50 50

1 100 100

0.8
0.6
0.4
-10 0.2 -10
-5 -5
0
0 0
y x
5 5
10 10
Optimisation Combinatoire 60

30
11/10/2021

Espace de recherche et paysage

•« Paysage » de
la fonction de
coût:

Optimisation Combinatoire 61

Espace de recherche et paysage

Optimisation Combinatoire 62

31
11/10/2021

Les métaheuristiques de recherche Locale

Solution unique

La Recherche Locale
Historique scientifique: Tendance dans les années 70 : techniques d’amélioration des
solutions par recherche locale (procédure de recherche itérative qui améliore une solution
de départ en lui appliquant une série de modifications locales (mouvements) avec arrêt
lorsqu’un optimum local est trouvé.
Recherche locale
voisinage

point initial Point final

Optimisation Combinatoire 64

32
11/10/2021

La Recherche Locale
– Minimum local
• Configuration x'vérifiant :

 x  V( x') on a f x'  f x 

optimum
• Voisinage de taille ε
local
Vx'   x  X x  x'   
– Minimum global: C’est un minimum local de coût minimum

Minimum global

Espace de solution ’
Optimisation Combinatoire 65

La méthode de descente
Hill climbing
Procédure : Descente
Local :=faux
Générer une solution initiale e
Evaluer e
Répéter
Générer le voisinage de V(e)
Soit e’ la meilleure solution voisine
Si e’ est meilleur que e alors
e :=e’
Sinon local :=Vrai
Jusqu’à local

Optimisation Combinatoire 66

33
11/10/2021

Exemple
• Considérer le problème de sac à dos suivant :
Max 18 x1 + 25 x2 + 11 x3 + 14 x4 (1)
Sujet à 2 x1 + 2 x2 + x3 + x4 3 (2)
x1 , x2 , x3 , x4 = 0 ou 1 (3)
a. Expliquer la signification des variables xi, de la contrainte (2)
et de l’objectif (1).
b. Quelle est la solution optimale de ce problème ?
c. Supposer que le voisinage V(x) d’une solution x est spécifié à
l’aide de la modification suivante : La valeur d’une et d’une
seule variable est modifiée.
Quelle est la taille de ce voisinage ?

Optimisation Combinatoire 67

Exemple
d. Utiliser la méthode de descente pour résoudre ce
problème où la solution initiale x0 = [ 0, 0, 1, 0 ].
Utiliser la notion de voisinage définie dans c.
e. Qu’en dites vous de la solution obtenue ainsi que
de la méthode?
f. Soit un deuxième voisinage V’(x) d’une solution x
qui est spécifié à l’aide de la modification
suivante : permuter la valeur de deux variables.
Quelle est la taille du voisinage V’(x)?
g. Est il judicieux de choisir le voisinage V’(x) au lieu
de V(x) ? justifier.
Optimisation Combinatoire 68

34
11/10/2021

Génération de voisinage
Exemple: PVC
Voisinage 2-opt

Optimisation Combinatoire 69

Génération de voisinage

• Ces voisinages ont été définis par Lin (1965)


– 2 opt : taille du voisinages =n(n-3)/2
– En général on part d’un chemin aléatoire (ou avec
heuristique du plus proche voisin) et on applique
une transformation tant que l’on peut.

Optimisation Combinatoire 70

35
11/10/2021

La méthode de descente

(+) facile à appliquer


(-) converge uniquement vers un optimum local
(-) la qualité de la solution retournée dépend de
la solution de départ

Optimisation Combinatoire 71

Randow-Walk
Avec une probabilité p, prendre un voisin au hasard
Avec une probabilité 1-p, appliquer la descente
Un exemple : le fameux algorithme WalkSAT (GSAT est une descente stricte)

Algorithme: Randow-Walk
Introduire la proba. pnoise de choisir un mouvement
aléatoire
Soit x un nombre tiré aléatoirement entre 0 et 1
Si x < pnoise Alors // diversification
Choisir aléatoirement e’ dans V(e)
Sinon // intensification
Choisir e’ dans V(e) qui maximise f
Fin Si
 La valeur de pnoise détermine la diversification / intensification

Optimisation Combinatoire 72

36
11/10/2021

Procédure : Acceptation à seuil


T :=Tinit ; choisir ]0,1[; choisir IterStage
Best :=e ; moved :=true
Tant que moved faire
pour i:=1 à IterStage faire
Acceptation à choisir e’N(e) ;  :=f(e’)-f(e)
seuil moved:=true
Si <0 ou <T alors e:=e’
si non moved :=false
fin si
mettre à jour Best
Fin pour
T :=T
Fin Tant que
Fin Optimisation Combinatoire 73

Recherche à Voisinage Variable


(VNS – Variable Neighborhood Search)

• Motivation
– Plusieurs voisinages possibles pour un même
problème
– Un opt. local pour un voisinage n’est pas opt. dans
un autre vois.
changer de voisinage quand on arrive sur un opt.
local

Optimisation Combinatoire 74

37
11/10/2021

Recherche à Voisinage Variable


(VNS – Variable Neighborhood Search)

Stratégie pour choisir e’ dans un voisinage de e


Soient V1, V2, V3 , ... une suite de voisinages
Vt (e) = voisins de e pour le tième voisinage
En général, |Vt(e)| > |Vt-1(e)|
t1
Tant que max{f(e’’)/e’’Vt(e)} = f(e)} :t  t +1
e’ meilleure combinaison de Vt(e)

Optimisation Combinatoire 75

Le recuit simulé
• Source d’inspiration: La métallurgie et la thermodynamique
[Kirkpatrick 83].
• Principe: La capacité d’un système physique d’évoluer vers un
état énergétique minimal.
État « visqueux »
Configurations désordonnées;
Énergie élevée

Technique Technique
du recuit de la trempe

État solide cristallin État solide amorphe


minimum global de l’énergie minimum local de l’énergie

Optimisation Combinatoire 76

38
11/10/2021

Le recuit simulé
• Processus de refroidissement pour cristalliser un liquide:
– Quand on chauffe un métal, il passe à l’état liquide et a donc
beaucoup plus de degrés de liberté
– Quand on abaisse la température, il a moins de degrés de liberté, si
on le refroidit encore, il devient solide.

• Suivant la manière dont on abaisse la température on obtient


différents solides:
– Baisse brutale : verre, minimum local d’énergie
– Baisse progressive : cristal, minimum global d’énergie
– Baisse trop rapide, il y a des défauts.

• Le recuit permet, si l’on chauffe un peu, de redonner de la


liberté aux atomes.
• La probabilité de visiter l’état X est fonction de son énergie
E(X) et de la température T

Optimisation Combinatoire 77

Le recuit simulé
Procédure: Recuit simulé
T :=0 ; Initialiser T :=Tmax /* température initiale*/ ;
Génération aléatoire solution initiale e ; Evaluer e ;
Répéter
Répéter
Générer un voisin aléatoire e’ de e
Si eval(e)>eval(e’) alors e :=e’ ;
Sinon si random[0,1]<
Alors e :=e’
Jusqu’à (condition-terminaison)
T :=g(T,t) ; t :=t+1
Jusqu’à (critère d’arrêt)

E= eval(e’)-eval(e) >0 si e’ est moins bon que e dans un problème de


Optimisation Combinatoire 78
minimisation

39
11/10/2021

Le recuit simulé

• Comment déterminer la température initiale? Tmax

• Comment déterminer la procédure de refroidissement


g(T,t)?: T=rt (0<r<=1)

• Comment déterminer la condition de terminaison?: un


certain nombre d’itérations KT à chaque pallier de
température (dépend de la taille du voisinage)

• Comment déterminer le critère d’arrêt

Optimisation Combinatoire 79

Le recuit simulé

• Choix de la température initiale: faire 100


perturbations au hazard, évaluer la
moyenne(E) des variations E. choisir un
taux initial d’acceptation puis en déduire T0.

Optimisation Combinatoire 80

40
11/10/2021

Recherche Tabou

bien que son origine remonte à 1977, la RT n’est proposée qu’au milieu des années
80 indépendamment par Fred Glover et Hansen (86).

La RT surmonte le problème des optima locaux par l’utilisation de listes taboues


(principe de mémoire)

Principe
Se déplacer de solution en solution en s’interdisant de revenir en une configuration
déjà rencontrée.

Concepts
Mouvement, voisinage, liste tabou, longueur tabou, critère d’arrêt

Optimisation Combinatoire 81

Recherche Tabou

N (e) : l’espace de solution voisine à e

F(): fonction coût

Optimisation Combinatoire 82

41
11/10/2021

Recherche Tabou

Étape 1:
choisir une solution initiale e dans S (l’ensemble des solutions)
Appliquer e* =e et k = 0

Étape 2:
appliquer k = k+1
générer un sous-ensemble de solutions en N(e,k) pour que:
- les mouvements tabous ne soient pas choisis
- un des critères d’aspiration a(e,m) soit applicable.
a(e,m) : critères d’aspiration. Déterminent quand il est
avantageux d’entreprendre m, malgré son statut tabou.

Étape 3:
choisir la meilleure solution e’ parmi N(e,k)
Appliquer e = meilleur e’

Optimisation Combinatoire 83

Recherche Tabou

Étape 4:
si f(e) <= f(e*), alors nous avons trouvé une meilleure
solution
Appliquer e* = e

Étape 5:
mettre à jour la liste T et les critères d’aspiration

Étape 6:
si une condition d’arrêt est atteinte, stop.
sinon, retour à Étape 2.

Optimisation Combinatoire 84

42
11/10/2021

Recherche Tabou
Avantages et inconvénients
(+) méthode facile à implanter ;
(+) Garder un historique des endroits
visité (mémoire);
(+) Ne reste pas bloquée dans une région
donnée (Permet les mouvements non
améliorateurs) ;
(-) Incapable de passer par un optimum global
pour certains problèmes mal conditionnés.
(+) Offre des économies de temps de résolution
pour des programmes de grosse taille

Optimisation Combinatoire 85

Recherche Tabou
Questions posés
• Information à stocker dans la liste tabou?
• Longueur de la liste tabou (statique ou
dynamique)?
• Mémoire long-terme (diversification)?
• Critère d’aspiration

Optimisation Combinatoire 86

43
11/10/2021

Autres formes de recherche locale

• Un processus de recherche locale peut être itéré plusieurs fois à partir de


points différents :
– Multi-start local search : Les points de départs sont indépendants
– Iterated local search : Le point de départ d’une recherche locale est
une perturbation de la meilleure solution de la dernière recherche
locale effectuée
– Genetic local search (scatter search) :
• Une population de solutions évolue par
sélections/croisements/mutations.
• Chaque nouvelle solution générée est améliorée par recherche
locale
• Guided Local Search (GLS)
• Greedy Randomized Adaptive Search Procedure (GRASP)
• Adaptive Memory Procedures (AMP)
Optimisation Combinatoire 87

Les métaheuristiques de recherche


globale
population de solutions

44
11/10/2021

Algorithmes Génétiques
Introduction

• Introduit par Holland, 1975

• Popularisé par Goldberg, 1989

• Origine des algorithmes génétiques: analogie avec le processus de l’évolution et


de la sélection naturelle (Charles Darwin - 19ième siècle):

– Sous l ’influence des conditions extérieures, les caractéristiques des êtres vivants se
modifient progressivement lors de la phase de reproduction

– Générations d’individus mieux adaptés aux conditions complexes de leur


environnement, maximisant donc leur probabilité de survie

– Émergence des espèces qui ont survécu en transmettant leur patrimoine génétique
aux générations futures.
Optimisation Combinatoire 89

Algorithmes Génétiques
Introduction
•Principe : Faire évoluer les individus d’une
population au moyen d’opérateurs stochastiques
afin de favoriser l’émergence d’individus dont
l’évaluation / l’adaptation est meilleure
– Population initiale d’individus
–Succession d’itérations dénommées génération avec à
chaque génération, application de plusieurs opérateurs
•croisement (mélange du matériel génétique)
•mutation (perturbation du matériel génétique)
•sélection (basé sur l’évaluation des individus - fonction
d’évaluation)

Optimisation Combinatoire 90

45
11/10/2021

Algorithmes Génétiques
Explication détaillée
Algorithme: Algorithme génétiques
Étape 1: Définir un codage adéquat du chromosome
Étape 2: Définir une fonction coût (fonction d’évaluation)
Étape 3:
Début
Création de la population initiale P(0) d’une manière aléatoire
Évaluation de P(0)
Tant que (condition non terminale) faire
Sélectionner P(t) de P(t-1)
Appliquer l’opérateur de croisement avec la probabilité Pc à P(t)
Appliquer l’opérateur de mutation avec la probabilité Pm à P(t)
Évaluation de P(t)
Fin tant que
Optimisation Combinatoire 91
Fin.

Algorithmes Génétiques
Explication détaillée
• Schéma
Population Population de
Croisement
courante descendants

Sélection Mutation

Population Population de
Évaluation
évaluée descendants mutés

Optimisation Combinatoire 92

46
11/10/2021

Algorithmes Génétiques
Explication détaillée
Codage Binaire

Optimisation Combinatoire 93

• Croisement à un point:
Le premier enfant est formé par la transmission des k premiers gènes du premier parent et
des (L-k) derniers gènes du deuxième parent. Le deuxième enfant s'obtient par symétrie.

Mutation à un point

Optimisation Combinatoire 94

47
11/10/2021

Application Simple PVC


Croisement
Croisement : order-based crossover

Parent1 (3 5 7 2 1 6 4 8)

Parent2 (2 5 7 6 8 1 3 4)

Enfant (5 8 7 2 1 6 3 4)
Optimisation Combinatoire 95

Application Simple PVC


Mutation
Mutation par inversion

* *
Avant: (5 8 7 2 1 6 3 4)

Après: (5 8 6 2 1 7 3 4)

Optimisation Combinatoire 96

48
11/10/2021

PVC Exemple: 30 villes

Optimisation Combinatoire 97

Solution i (Distance = 941)

Optimisation Combinatoire 98

49
11/10/2021

Solution j (Distance = 800)

Optimisation Combinatoire 99

Solution k (Distance = 652)

Optimisation Combinatoire 100

50
11/10/2021

Meilleure Solution (Distance = 420)

Optimisation Combinatoire 101

Overview of Performance

Optimisation Combinatoire 102

51
11/10/2021

Conclusion
• Difficulté: comment faire pour traiter les contraintes et les solutions qui ne sont pas
réalisables?

– utiliser une représentation qui puisse garantir automatiquement que toutes les solutions
représentables soient réalisables

– utiliser un opérateur heuristique qui puisse transformer chaque solution non-réalisable en


une autre qui soit réalisable (exemple: dans le cas du problème du sac-à-dos, enlever des
objets sélectionnés)

– utiliser une fonction de pénalisation pour modifier la valeur de la fonction d’adaptation


de toute solution non-réalisable

• Rien n’empêche l’emploi de méthodes d’optimisation dans les algorithmes génétiques (plus
d’intelligence)

– recherche locale après les crossovers et les mutations


Optimisation Combinatoire 103

L’optimisation par colonies de fourmis


• Introduction

• L’inspiration biologique

• ACO : concepts de base

• L’algorithme Ant System

• Les variantes de l’ACO

Optimisation Combinatoire 104

52
11/10/2021

Les algorithmes de colonie de fourmis


Introduction
• Algorithmes s’inspirant du principe de colonie de fourmis,
principalement pour la résolution de problèmes d’optimisation
combinatoire.

• Le Premier algorithme de fourmis est l’Ant System (AS)


proposé pour résoudre le PVC par Marco Dorigo dans sa thèse
de doctorat en 1992.

• Cette métaheuristiques est particulièrement adaptée pour des


POC modélisés par des graphes.

Optimisation Combinatoire 105

Les algorithmes de colonie de fourmis


L’inspiration biologique

Observation: recherche de nourriture chez les fourmis

• Un "éclaireur", qui découvre par hasard une source de nourriture, rentre au nid en traçant
une piste chimique

• Cette piste stimule les ouvrières à sortir du nid et les guide jusqu’à la source de nourriture

• Après s’y être alimentées, les fourmis ainsi recrutées rentrent au nid en renforçant à leur
tour la piste chimique

• Cette communication attire vers la source de nourriture une population de plus en plus
nombreuse

 Les communications entre individus ont souvent un caractère amplifiant conduisant la


colonie à focaliser l'activité de ses membres et donc à réaliser une tâche rapidement 
prise de décisions collectives.

Optimisation Combinatoire 106

53
11/10/2021

Les algorithmes de colonie de fourmis


L’inspiration biologique

• Les fourmis L : sont tournées de droite vers la gauche.


• Les fourmis R : sont tournées de gauche vers la droite.
• La figure A : les fourmis arrivent à un point de décision où
chaque fourmi décide de tourner vers le haut ou vers le bas.

Optimisation Combinatoire 107

Les algorithmes de colonie de fourmis


L’inspiration biologique

La figure B : quelques fourmis choisissent le


haut trajet et les autres choisissent le bas trajet.
Le choix est complètement aléatoire.
Optimisation Combinatoire 108

54
11/10/2021

Les algorithmes de colonie de fourmis


L’inspiration biologique

La figure C : la majorité de fourmis choisissent


le bas trajet qui est le trajet le plus court.
Optimisation Combinatoire 109

Les algorithmes de colonie de fourmis


L’inspiration biologique

La figure D : la quantité de phéromones


présente sur le trajet le plus court a un taux
plus grand.
Optimisation Combinatoire 110

55
11/10/2021

Optimisation Combinatoire 111

ACO: concepts de base


• Auto-organisation
• Stigmergie
• Contrôle décentralisé
• Phéromone
• Intensification
• Diversification
• Recherche locale

Optimisation Combinatoire 112

56
11/10/2021

ACO: concepts de base


• Auto-organisation: un modèle de niveau global émerge
uniquement d’un grand nombre d’interactions entre les
composants du bas niveau du système.

• Stigmergie: « comme une forme de communication passant


par le biais de modification de l’environnement »
(interactions sociales indirectes), les individus échangent
des informations par le biais du travail encore.

• Contrôle décentralisé: chaque individu dispose d’une


vision locale de son environnement et ne connaît pas donc
le problème dans son ensemble.
Optimisation Combinatoire 113

ACO: concepts de base


• Phéromones :
– Les phéromones sont des substances olfactives et volatiles.
– Ces substances sont l’un des outils de communication chez les
fourmis.
– Cette substance est utilisée par les fourmis pour marquer leurs
trajets.

 Les pistes de phéromones décrivent à chaque pas l’état de la


recherche de la solution par le système.
 Le choix de la méthode d’implantation des pistes de phéromones
est donc important pour obtenir les meilleurs résultats.

Optimisation Combinatoire 114

57
11/10/2021

ACO: concepts de base


• Intensification: exploitation de l’information rassemblée par le
système à un moment donné
• Diversification: exploration de régions de l’espace de recherche
imparfaitement prises en compte.

 Dans l’algorithme de colonies de fourmis, un ensemble de


paramètres déterminent l’influence des pistes de phéromones
 Plus la valeur de ces paramètres sera élevée, plus
l’intensification sera importante car plus les pistes auront une
influence sur le choix de fourmis.
 A l’inverse, plus cette valeur sera faible, plus la diversification
sera forte car les fourmis éviteront les pistes.

Optimisation Combinatoire 115

ACO: concepts de base


• Recherche locale
– Les métaheuristiques de colonie de fourmis sont
souvent plus efficaces quand elles sont hybridées avec la
recherche locale

– La recherche locale optimise les solutions trouvées par


les fourmis avant que celles-ci ne soient utilisées pour la
mise à jour des pistes de phéromones.

Optimisation Combinatoire 116

58
11/10/2021

L’algorithme Ant System


L’algorithme AS pour un problème de voyageur de commerce:
Pour t=1 ;…... ; tmax faire
Pour chaque fourmi k=1 ;….. ; m faire
Choisir une ville au hasard
Tant qu’il y a des villes non encore visitées faire
Choisir une ville j, dans la liste Fik des villes restantes, selon la formule (1)
Fin Tant que
Déposer une piste Δki j (t) sur le trajet Tk (t) conformément à la formule (2 )
Fin pour
Évaporer les pistes selon la formule (3)
Fin pour

Optimisation Combinatoire 117

L’algorithme Ant System


La règle de déplacement : Chaque fourmi va choisir la visite suivante selon la
probabilité :

(1)

 et  sont deux paramètres contrôlant l’importance relative de l’intensité


de la piste i j et la visibilité μij.

Si  =0 alors seule la visibilité de la ville est prise en compte ; la ville la plus proche est
donc choisie à chaque pas.
Si  =0 alors seule les pistes de phéromones jouent.

Optimisation Combinatoire 118

59
11/10/2021

L’algorithme Ant System


• Après un tour complet, chaque fourmi laisse une certaine quantité de
phéromones Δi j (t) sur l’ensemble de son parcours.

Avec :
Q un paramètre fixé.
Lk (t) est la longueur du tour.
Tk (t) est le trajet effectué par la fourmi k.
Optimisation Combinatoire 119

L’algorithme Ant System


L’algorithme ne serait pas complet sans le processus d’évaporation des
pistes de phéromones. On contrebalance donc l’additivité des pistes par
une décroissance constante des valeurs des arrêtes à chaque itération.

Optimisation Combinatoire 120

60
11/10/2021

L’algorithme général des ACO


Procédure : Colonie de Fourmis
Tant que (la condition d’arrêt n’est pas atteinte) faire
Pour (chaque fourmi) faire
Tant que (l’état final n’est pas atteint) faire
Choisir l’état suivant en fonction de la mémoire et de l’environnement local
Mettre à jour les phéromones sur état choisi
Fin tant que
Fin pour
Pour (chaque fourmi) faire
Évaluer la solution obtenue
Fin pour
Mise à jour globale de phéromones
Fin tant que
Optimisation Combinatoire 121

Variantes: Ant colony system


• Règle de transition [Dorigo et al., 97]

Où q est une variable aléatoire uniformément distribuée


sur [0,1] et J une ville sélectionnée aléatoirement selon
la probabilité :

Si qq0 intensification
Si q> q0 diversification

Optimisation Combinatoire 122

61
11/10/2021

Variantes: Ant colony system


Mise à jour locale par chaque fourmi
ij(t+1)=(1-).ij(t)+ .0
Où 0 est la valeur initiale de la piste

Mise à jour globale par la fourmi élite


ij(t+1)=(1-).ij(t)+ .ij(t)
Où les arêtes (i,j) appartiennent au meilleur
tout T+ de longueur L+ et où ij(t)=1/L+

Optimisation Combinatoire 123

Variantes: MAX-MIN Ant System

Procédure : MAX-MIN Ant System


Initialiser les traces de phéromone à max
Répéter
Chaque fourmi construit une solution en exploitant les traces de phéromone
Optionnellement : améliorer les solutions construites par recherche locale
Evaporer les traces de phéromone en les multipliant par un facteur de
persistance 
Récompenser les meilleures solutions en ajoutant de la phéromone sur leurs
composants phénoménaux
Si une trace de phéromone est inférieure à min alors la mettre à min
Si une trace de phéromone est supérieure à max alors la mettre à max
Jusqu’à ce qu’un nombre maximal de cycles soit atteint ou une solution acceptable
ait été trouvée
Retourner la meilleure solution trouvée

Optimisation Combinatoire 124

62
11/10/2021

Variantes: MAX-MIN Ant System


• Seule la meilleure fourmi met à jour une piste de
phéromone
• Les valeurs des pistes sont bornées par min et max
• Les pistes sont initialisées à la valeur maximum max
• La mise à jour des pistes se fait de façon proportionnelle,
les pistes les plus fortes étant moins renforcées que les plus
faibles
• Une ré-initialisation des pistes peut être effectuée

Les meilleurs résultats sont obtenus en mettant à jour la


meilleure solution avec une fréquence de plus en plus forte
au cours de l’exécution de l’algorithme

Optimisation Combinatoire 125

Scatter search

• Introduction
• Procédure de Scatter Search
– Méthode de génération de diversification
– Ensemble de solutions de référence
– Méthode de génération de sous-ensembles
– Méthode de combinaison de solutions
• Algorithme de Scatter Search
• Exemple (0-1 Knapsack Problem)
• Comparison with GA

126 Optimisation Combinatoire

63
11/10/2021

Introduction
• Algorithme évolutionnaire

• Les concepts fondamentaux sont introduits dans les années 70 et sont


basés sur des formulations des années 60.

• L’algorithme est proposé en 1977 par Fred Glover mais appliqué qu’à
partir de 1990.

• Utilise des stratégies de diversification et d’intensification.

• Les solutions sont générées en utilisant des stratégies de combinaison.

127 Optimisation Combinatoire

Principes du Scatter Search


• Des informations utiles sur la solution optimale
sont contenues dans une collection diversifiée
de solutions élites.
• Les stratégies de combination utilisent la
diversification (exploration) et l’intensification
(interpolation).
• La combinaison de multiples solutions renforce
l’opportinuité d’exploiter l’information
contenue dans l’union de solutions élites.

128 Optimisation Combinatoire

64
11/10/2021

Méthode de génération de diversification


• L’idée est de générer une collection de solutions
diversifiées
• La qualité des solutions n’est pas la plus importante
• Les méthodes de génération sont spécifiques au
problème traité
• PSize est généralement fixé à 100 ou 5*b
• La génération est 100% déterministe ou
partiellement aléatoire

129 Optimisation Combinatoire

Méthode d’amélioration

• Doit manipuler les solutions admissibles et non


admissibles
• Il est possible de générer plusieurs instances de la
même solution
• Générallement utilise des techniques de recherche
locale (steepest descent)
• Ce composant n’est pas nécessairement toujours
implémenté dans une application du scatter search.

130 Optimisation Combinatoire

65
11/10/2021

Méthode de génération de sous-


ensembles
• Construire les sous-ensembles par les techniques
de Type 1, Type 2, Type 3 et Type 4
• Pour un RefSet de taille b il y a
approximativement (3b-7)*b/2 combinaison de
sous-ensembles possible
• Le nombre de sous-ensembles peut être réduit
en ne considérent qu’un seul niveau de
combinaison et ceci dans l’objectif de réduire le
temps d’exécution.
131 Optimisation Combinatoire

Méthode de combinaison de solutions

• Spécifique au problème
• Directement lié au codage de la solution
• Génère plus q’une solution et dépend de la
qualité des solutions combinées
• Peut générer des solutions non admissibles
• Evite de refaire les calculs effectués dans les
itérations précédentes.
132 Optimisation Combinatoire

66
11/10/2021

Méthode de mise à jour de


l’ensemble de référence
• L’objectif est de générer une collection de solutions
diversifiées de bonne qualité
• Le nombre de solutions dans RefSet est généralement
infèrieur à 20
• RefSet est composé de :
– b1 meilleures solutions obtenues durant les dernières itérations
– b2 solutions qui ont la distance euclidienne la plus élevée de
l’ensmeble RefSet courant
• Plusieurs techniques sont employées pour la mise à jour de
l’ensemble de référence (Statique, Dynamique, 2-Tier etc…)

133 Optimisation Combinatoire

Scatter Search
Diversification
Generation Repeat until |P| = PSize P
Method

Improvement
Method

Improvement Reference Set


Method Update Method

Solution Combination
Method Subset Generation
Method

Stop if no more
RefSet
new solutions
Optimisation Combinatoire 134

67
11/10/2021

Scatter Search with Rebuilding


Diversification P
Repeat until
Generation
|P| = PSize
Method
Improvement
Method

Improvement
Reference Set
Method
Stop if Update Method

Solution Combination MaxIter


Method reached Improvement
Method
Subset Generation
Method
RefSet
No more
new Diversification
solutions Generation
Optimisation Combinatoire Method 135

Exemple 1
• Problème d’optimisation non linéaire sans
contrainte

Minimize 
100 x 2  x12 2 2

 1  x1   90 x 4  x32 2
 1  x3  
2

 
10.1 x 2  1  x 4  1  19.8x 2  1x 4  1
2 2

Subject to 10  x i  10 for i  1,  ,4

Optimisation Combinatoire 136

68
11/10/2021

Méthode de génération de
diversification

Subrange 1 Subrange 2 Subrange 3 Subrange 4

-10 -5 0 +5 +10

Probabilité de sélectionner un intervalle est pProportionnel à une fréquence

Optimisation Combinatoire 137

Solutions diversifiées
Solution x1 x2 x3 x2 f(x)
1 1.11 0.85 9.48 -6.35 835546.2
2 -9.58 -6.57 -8.81 -2.27 1542078.9
3 7.42 -1.71 9.28 5.92 901878.0
4 8.83 -8.45 4.52 3.18 775470.7
5 -6.23 7.48 6 7.8 171450.5
6 1.64 3.34 -8.32 -8.66 546349.8
7 0.2 -3.64 -5.3 -7.03 114023.8
8 -3.09 6.62 -2.33 -3.12 7469.1
9 -6.08 0.67 -6.48 1.48 279099.9
10 -1.97 8.13 -5.63 8.02 54537.2

Optimisation Combinatoire 138

69
11/10/2021

Méthode d’amélioration
Solution x1 x2 x3 x2 f(x)
1 2.5 5.4 2.59 5.67 1002.7
2 -0.52 -0.5 0.35 -0.14 138.5
3 -2.6 5.9 4.23 10 7653.7
4 0.49 0.53 2.47 5.89 213.7
5 -3.04 9.45 1.14 0.41 720.1
6 -1.4 2.46 0.37 -3.94 1646.7
7 -0.36 -0.31 0.8 1.14 57.1
8 -1.63 2.51 0.73 0.56 21.5
9 -0.8 0.69 -1.16 1.5 11.2
10 -2.47 5.32 -2.92 8.15 1416.7

Nelder and Mead (1965)

Optimisation Combinatoire 139

Méthode de mise à jour de l’ensemble de


référence RefSet

Objective function
b1 high-quality value to measure
solutions quality

Min-max criterion and


b2 diverse
Euclidean distances to
solutions
measure diversity

RefSet of size b

Optimisation Combinatoire 140

70
11/10/2021

RefSet Initial
High-Quality Solutions
Solution
number in P x1 x2 x3 x4 f(x)
35 -0.0444 0.0424 1.3577 1.8047 2.1
46 1.133 1.2739 -0.6999 0.5087 3.5
34 -0.0075 0.0438 1.4783 2.2693 3.5
49 1.1803 1.4606 -0.344 0.2669 5.2
38 1.0323 0.9719 -0.8251 0.695 5.3
Diverse Solutions
Solution x1 x2 x3 x4 f(x)
37 -3.4331 10 1.0756 0.3657 1104.1
30 3.8599 10 -4.0468 10 9332.4
45 -4.4942 10 3.0653 10 13706.1
83 -0.2414 -6.5307 -0.9449 -9.4168 17134.8
16 6.1626 10 0.1003 0.1103 78973.2

Optimisation Combinatoire 141

Méthode de génération de sous-


ensemble
• Toutes les paires de solutions de référence qui
inclut au moins une nouvelle solution

• La méthode génère (b2-b)/2 paires à partir de


l’ensemble RefSet initial

Optimisation Combinatoire 142

71
11/10/2021

Méthode de Combinaison
y
x3 = (9,7) x3 = x1 - r(x2 - x1)
10 r = 2/3 x4 = x1 + r(x2 - x1)
x5 = x2 + r(x2 - x1)
9

8 x1 = (5,7)

5 x4 = (6.5,5.5) x2 = (8,4)
r = 1/2
4

3
x5 = (11,1)
2 r=1

x
1 2 3 4 5 6 7 8 9 10 11 12 13

Optimisation Combinatoire 143

D’autres méthodes de combinaison


y
x3 = x1 - r(x2 - x1)
10 x4 = x1 + r(x2 - x1)
x5 = x2 + r(x2 - x1)
9
x3
8 x1 = (5,7)

6
x4
5
x2 = (8,4)
4

3
x5
2

x
1 2 3 4 5 6 7 8 9 10 11 12 13

Optimisation Combinatoire 144

72
11/10/2021

Mise à jour de l’ensemble de référence


Quality 1 Best 1 Best
2 2
. .
. .
. .

New trial
solution
b Worst

b Worst

RefSet of size b Updated RefSet

Optimisation Combinatoire 145

Mise à jour statique


Pool of new trial solutions

Quality 1 Best
2
.
.
.

Updated RefSet = Best b from RefSet  Pool


b Worst

RefSet of size b

Optimisation Combinatoire 146

73
11/10/2021

RefSet après mise à jour


x1 x2 x3 x4 f(x)
1.1383 1.2965 0.8306 0.715 0.14
0.7016 0.5297 1.2078 1.4633 0.36
0.5269 0.287 1.2645 1.6077 0.59
1.1963 1.3968 0.6801 0.446 0.62
0.3326 0.1031 1.3632 1.8311 0.99
0.3368 0.1099 1.3818 1.9389 1.02
0.3127 0.0949 1.3512 1.8589 1.03
0.7592 0.523 1.3139 1.7195 1.18
0.2004 0.0344 1.4037 1.9438 1.24
1.3892 1.9305 0.1252 -0.0152 1.45

Optimisation Combinatoire 147

Exemple (0-1 Knapsack)


Maximiser:
11x1+10x2+9x3+12x4+10x5+6x6+7x7+5x8+3x9+8x10
(Co-efficients represent profit for each item)

Sous les contraintes :


33x1+27x2+16x3+14x4+29x5+30x6+31x7+33x8+14x9+18x10100
(Co-efficients represent weight for each item)

xi={0,1} for i=1,…,10

148 Optimisation Combinatoire

74
11/10/2021

Diversification Generator
Our goal is to generate a diverse population from a random seed:
x=(0,0,0,0,0,0,0,0,0,0)
Select h  n-1, we will choose h=5
x’1+hk=1-x1+hk for k=0,1,…,n/h
(Values that are not visited are equal to the original seed x)
Another set of diverse solutions are generated base on the compliment of x’:
x”i=1-x’I

h x' x''
1 (1,1,1,1,1,1,1,1,1,1) (0,0,0,0,0,0,0,0,0,0)

2 (1,0,1,0,1,0,1,0,1,0) (0,1,0,1,0,1,0,1,0,1)

3 (1,0,0,1,0,0,1,0,0,1) (0,1,1,0,1,1,0,1,1,0)
4 (1,0,0,0,1,0,0,0,1,0) (0,1,1,1,0,1,1,1,0,1)
5 (1,0,0,0,0,1,0,0,0,0) (0,1,1,1,1,0,1,1,1,1)
149 Optimisation Combinatoire

Diversification Generator
Weight
Solution Trial Solution Objective Value
Constraint
1 (1,1,1,1,1,1,1,1,1,1) 81 245
2 (1,0,1,0,1,0,1,0,1,0) 40 123
3 (1,0,0,1,0,0,1,0,0,1) 38 96

4 (1,0,0,0,1,0,0,0,1,0) 24 76
5 (1,0,0,0,0,1,0,0,0,0) 17 63
6 (0,0,0,0,0,0,0,0,0,0) 0 0
7 (0,1,0,1,0,1,0,1,0,1) 41 122
8 (0,1,1,0,1,1,0,1,1,0) 43 149
9 (0,1,1,1,0,1,1,1,0,1) 57 169

10 (0,1,1,1,1,0,1,1,1,1) 64 182

150 Optimisation Combinatoire

75
11/10/2021

Improvement Method
Co - efficient of x i in Objective Function
Ratio 
Co - efficient of x i in Constraint

(0,1,1,1,0,1,1,1,0,1) x1 = 0.333
x2 = 0.370
x3 = 0.563
Objective = 57 x4 = 0.857
x5 = 0.345
x6 = 0.200
Weight = 169
x7 = 0.226
x8 = 0.152
x9 = 0.214
x = 0.444
10
151 Optimisation Combinatoire

Improvement Method
x1 = 0.333
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,1,1,0,0,1)
x5 = 0.345
x6 = 0.200
Objective = 52 x7 = 0.226
x8 = 0.152 1→0
Weight = 136 x9 = 0.214
x10 = 0.444

152 Optimisation Combinatoire

76
11/10/2021

Improvement Method
x1 = 0.333
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,1,0,0,1)
x5 = 0.345
x6 = 0.200 1→0
Objective = 46 x7 = 0.226
x8 = 0.152 1→0
Weight = 106 x9 = 0.214
x10 = 0.444

153 Optimisation Combinatoire

Improvement Method
x1 = 0.333
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,0,0,0,1)
x5 = 0.345
x6 = 0.200 1→0
Objective = 39 x7 = 0.226 1→0
x8 = 0.152 1→0
Weight = 75 x9 = 0.214
x10 = 0.444

154 Optimisation Combinatoire

77
11/10/2021

Improvement Method
x1 = 0.333
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,1,0,0,0,0,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 49 x7 = 0.226 1→0
x8 = 0.152 1→0
Weight = 104 x9 = 0.214
x10 = 0.444

155 Optimisation Combinatoire

Improvement Method
x1 = 0.333
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,0,0,0,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 39 x7 = 0.226 1→0
x8 = 0.152 1→0
Weight = 75 x9 = 0.214
x10 = 0.444

156 Optimisation Combinatoire

78
11/10/2021

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(1,1,1,1,0,0,0,0,0,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 50 x7 = 0.226 1→0
x8 = 0.152 1→0
Weight = 108 x9 = 0.214
x10 = 0.444

157 Optimisation Combinatoire

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,0,0,0,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 39 x7 = 0.226 1→0
x8 = 0.152 1→0
Weight = 75 x9 = 0.214
x10 = 0.444

158 Optimisation Combinatoire

79
11/10/2021

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,1,0,0,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 46 x7 = 0.226 1→0 0→1
x8 = 0.152 1→0
Weight = 106 x9 = 0.214
x10 = 0.444

159 Optimisation Combinatoire

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,0,0,0,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 39 x7 = 0.226 1→0 0→1
x8 = 0.152 1→0
Weight = 75 x9 = 0.214
x10 = 0.444

160 Optimisation Combinatoire

80
11/10/2021

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,0,0,1,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 42 x7 = 0.226 1→0 0→1
x8 = 0.152 1→0
Weight = 89 x9 = 0.214 0→1
x10 = 0.444

161 Optimisation Combinatoire

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,1,0,0,1,1)
x5 = 0.345 0→1
x6 = 0.200 1→0 0→1
Objective = 48 x7 = 0.226 1→0 0→1
x8 = 0.152 1→0
Weight = 119 x9 = 0.214 0→1
x10 = 0.444

162 Optimisation Combinatoire

81
11/10/2021

Improvement Method
x1 = 0.333 0→1
x2 = 0.370
x3 = 0.563
x4 = 0.857
(0,1,1,1,0,0,0,0,1,1)
x5 = 0.345 0→1
x6 = 0.200 1→0
Objective = 42 x7 = 0.226 1→0 0→1
x8 = 0.152 1→0
Weight = 89 x9 = 0.214 0→1
x10 = 0.444

Most Improved Feasible Solution of #9


163 Optimisation Combinatoire

Improvement Method
Objective Objective
Solution Trial Solution Improved Solution
Value Value
1 (1,1,1,1,1,1,1,1,1,1) 81 (0,1,1,1,0,0,0,0,1,1) 42
2 (1,0,1,0,1,0,1,0,1,0) 40 (1,0,1,1,1,0,0,0,0,0) 42
3 (1,0,0,1,0,0,1,0,0,1) 38 (1,0,0,1,0,0,1,0,0,1) 38
4 (1,0,0,0,1,0,0,0,1,0) 24 (1,0,0,1,1,0,0,0,1,0) 36
5 (1,0,0,0,0,1,0,0,0,0) 17 (1,0,1,1,0,1,0,0,0,0) 38
6 (0,0,0,0,0,0,0,0,0,0) 0 (0,1,1,1,0,0,0,0,0,1) 39
7 (0,1,0,1,0,1,0,1,0,1) 41 (0,1,0,1,0,1,0,0,0,1) 36
8 (0,1,1,0,1,1,0,1,1,0) 43 (0,1,1,1,1,0,0,0,1,0) 44
9 (0,1,1,1,0,1,1,1,0,1) 57 (0,1,1,1,0,0,0,0,1,1) 42
10 (0,1,1,1,1,0,1,1,1,1) 64 (0,1,1,1,0,0,0,0,1,1) 42

164 Optimisation Combinatoire

82
11/10/2021

Reference Set Update


Solution Improved Solution Objective Value

1 (0,1,1,1,0,0,0,0,1,1) 42
2 (1,0,1,1,1,0,0,0,0,0) 42
3 (1,0,0,1,0,0,1,0,0,1) 38
4 (1,0,0,1,1,0,0,0,1,0) 36
5 (1,0,1,1,0,1,0,0,0,0) 38
6 (0,1,1,1,0,0,0,0,0,1) 39
7 (0,1,0,1,0,1,0,0,0,1) 36
8 (0,1,1,1,1,0,0,0,1,0) 44
9 (0,1,1,1,0,0,0,0,1,1) 42
10 (0,1,1,1,0,0,0,0,1,1) 42

165 Optimisation Combinatoire

Reference Set Update


In the previous slide, the elite solutions were taken as 1, 2 and 8. Diversity also
needs to be incorporated into the Reference set by taking the solutions that are
farthest from the best solutions.

Distance: (Solution 1 and Solution 8)


(0, 1, 1, 1, 0, 0, 0, 0, 1, 1) Solution 1
(0 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,1 ,0) Solution 8
(0+0+0+0+1+0+0+0+0+1) = 2

Distance to solution Minimum


Candidate Solution
Solution 1 Solution 2 Solution 8 Distance
3 (1,0,0,1,0,0,1,0,0,1) 5 4 7 4
4 (1,0,0,1,1,0,0,0,1,0) 5 3 3 2
5 (1,0,1,1,0,1,0,0,0,0) 5 3 5 2
6 (0,1,1,1,0,0,0,0,0,1) 1 4 3 1
7 (0,1,0,1,0,1,0,0,0,1) 3 Combinatoire 6
Optimisation 5 3 166

83
11/10/2021

Subset Generation
Objective
Solution Solution
Value
1 (0,1,1,1,0,0,0,0,1,1) 42
2 (1,0,1,1,1,0,0,0,0,0) 42
8 (0,1,1,1,1,0,0,0,1,0) 44
3 (1,0,0,1,0,0,1,0,0,1) 38
7 (0,1,0,1,0,1,0,0,0,1) 36

Type 1 Solutions Type 2 Solutions Type 3 Solutions Type 4 Solutions

(1,2) (1,8) (1,3) (1,7) (1,2,8) (1,3,8) (1,7,8) (1,2,8,3) (1,7,8,2) (1,2,8,3,7)
(2,8) (2,3) (2,7) (2,3,8) (2,7,8) (3,7,8,1)
(8,3) (8,7) (3,7,8)
(3,7)

167 Optimisation Combinatoire

Solution Combination
j
 OV ( j )  xi
j S
Score ( x i ) 
 OV ( j )
j S

Sol’n x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

3 0.322 0.000 0.000 0.322 0.000 0.000 0.322 0.000 0.000 0.322

7 0.000 0.305 0.000 0.305 0.000 0.305 0.000 0.000 0.000 0.305

8 0.000 0.373 0.373 0.373 0.373 0.000 0.000 0.000 0.373 0.000

Total 0.322 0.678 0.373 1.000 0.373 0.305 0.322 0.000 0.373 0.627

168 Optimisation Combinatoire

84
11/10/2021

Solution Combination
1 If score (i) > 0.5
xi  
0 If score (i) ≤ 0.5

Sol’n x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

3 0.322 0.000 0.000 0.322 0.000 0.000 0.322 0.000 0.000 0.322

7 0.000 0.305 0.000 0.305 0.000 0.305 0.000 0.000 0.000 0.305

8 0.000 0.373 0.373 0.373 0.373 0.000 0.000 0.000 0.373 0.000

Total 0.322 0.678 0.373 1.000 0.373 0.305 0.322 0.000 0.373 0.627
x’ = ( 0, 1, 0, 1, 0, 0, 0, 0, 0, 1 )

169 Optimisation Combinatoire

Scatter Search Comparison to GA


• RefSet size vs. Generation Size
• All solutions participate in combination in Scatter
Search
• Evolution of the population is controlled by
deterministic rules
• Local search procedures are integral to Scatter
Search
• Scatter Searches are not generally limited to
combining two “parent” solutions
• Initial population is not constructed in a random
manner

170 Optimisation Combinatoire

85
11/10/2021

Scatter Search Applications


Vehicle Routing Rochat and Taillard (1995
(1995);
); Ochi, et al. (1998
(1998);
); Atan and
Secomandi (1999
(1999);
); Rego and Leã
Leão ((2000
2000);); Corberán,
Corberán, et
al. (2002
(2002))
TSP Olivia San Martin ((2000
2000))
Arc Routing Greistorfer (1999
(1999))
Quadratic Assignment Cung et al. (1996
(1996))
Financial Product Design Consiglio and Zenios (1999
(1999))
Neural Network Training Kelly, Rangaswamy and Xu ((1996
1996);
); Laguna and Martí
Martí
(2001)
2001)
Combat Forces Assessment Model Bulut (2001
(2001))
Graph Drawing Laguna and Martí
Martí ((1999
1999))
Linear Ordering Laguna, Martí
Martí and Campos (2001
(2001))
Unconstrained Optimization Fleurent, et al. (1996
(1996);
); Laguna and Mart
Martíí ((2000
2000))
Bit Representation Rana and Whitely (1997
(1997))
Multi--objective Assignment
Multi Laguna, Louren
Lourenço
ço and Mart
Martíí (2000
(2000))
Optimization Simulation Glover, Kelly and Laguna ((1996
1996);
); Grant ((1998
1998))
Tree Problems Canuto, Resende and Ribeiro ((2001
2001);
); Xu Chiu and
Glover (2000
(2000))
Optimisation Combinatoire 171

References
Cung, V., T. Mautor, P. Michelon, and A. Tavares (1997), “A Scatter Search Based Approach for the Quadratic
Assignment Problem” Proceedings of the IEEE-ICEC'97 Conference in Indianapolis, April 13-16

Glover, F., A. Løkketangen and D. Woodruff (1999), “Scatter Search to Generate Diverse MIP Solutions” in OR
Computing Tools for Modeling, Optimization and Simulation: Interfaces in Computer Science and
Operations Research, M. Laguna and J.L. Gonazalez-Velarde (Eds.), Kluwer Academic Publishers, pp. 299-
317
http://www-bus.colorado.edu/faculty/glover/ssdiversemip.pdf (Last Access: March 24th 2003)

Glover, F., M. Laguna and R. Martí (2000), “Scatter Search” To appear in Theory and Applications of
Evolutionary Computation: Recent Trends, A. Ghosh and S. Tsutsui (Eds.), Springer-Verlag
http://leeds.colorado.edu/Faculty/Laguna/articles/ss2.pdf (Last Access: March 24th 2003)

Glover, F., M. Laguna and R. Martí (2000), “Fundamentals of Scatter Search and Path Relinking” Control and
Cybernetics, 29 (3), pp. 653-684
http://leeds.colorado.edu/Faculty/Laguna/articles/ss3.pdf (Last Access: March 24th 2003)

Glover, F., M. Laguna and R. Martí (2002), “Fundamentals of Scatter Search and Path Relinking: Foundations
and Advanced Designs” to appear in New Optimization Techniques in Engineering, Godfrey Onwubolu
(Eds.)
http://leeds.colorado.edu/faculty/glover/aassprad.pdf (Last Access: March 24th 2003)

Laguna, M. (2002), “Scatter Search” in Handbook of Applied Optimization, P. M. Pardalos and M. G. C. Resende
(Eds.), Oxford University Press, pp. 183-193
http://www-bus.colorado.edu/Faculty/Laguna/articles/ss1.pdf (Last Access: March 24th 2003)

Laguna, M., and R. Martí (2003), “Scatter Search: Methodology and Implementations in C” Kluwer Academic
Publishers, Boston, 312 pp.

172 Optimisation Combinatoire

86
11/10/2021

Additional Strategies
• Reference Set
– Rebuilding
– Multi-tier

• Subset Generation
– Subsets of size > 2

• Combination Method
– Variable number of solutions

Optimisation Combinatoire 173

Rebuilding
RefSet Rebuilt RefSet

b1

b2

Diversification Reference Set


Generation Method Update Method

Optimisation Combinatoire 174

87
11/10/2021

2-Tier RefSet
Solution Combination
Method

Improvement RefSet
Method
Try here first b1

If it fails, then b2
try here

Optimisation Combinatoire 175

3-Tier RefSet
Solution Combination
Method

Improvement
Method RefSet

Try here first b1

If it fails, then b2 Try departing


try here solution here

b3

Optimisation Combinatoire 176

88
11/10/2021

Subset Generation
• Subset Type 1: all 2-element subsets.
• Subset Type 2: 3-element subsets derived from the
2-element subsets by augmenting each 2-element
subset to include the best solution not in this
subset.
• Subset Type 3: 4-element subsets derived from the
3-element subsets by augmenting each 3-element
subset to include the best solutions not in this
subset.
• Subset Type 4: the subsets consisting of the best i
elements, for i = 5 to b.

Optimisation Combinatoire 177

Subsets of Size > 2


90%
80%
70%
60%
50%
40%
30%
20%
10%
0% Random
Type 1 LOLIB
Type 2
Type 3
Type 4

Optimisation Combinatoire 178

89
11/10/2021

Variable Number of Solutions


Quality 1 Best
2
.
.
. Generate 5 solutions

Generate 3 solutions

Generate 1 solution

b Worst

RefSet of size b

Optimisation Combinatoire 179

Hybrid Approaches
• Use of Memory
– Tabu Search mechanisms for intensification and
diversification
• GRASP Constructions
• Combination Methods
– GA Operators
– Path Relinking

Optimisation Combinatoire 180

90
11/10/2021

Advanced Designs
• Reference Set Update
– Dynamic / Static
– 2 Tier / 3 Tier
• Subset Generation
• Use of Memory
– Explicit Memory
– Attributive Memory
• Path Relinking
Optimisation Combinatoire 181

Les métaheuristiques

• Les métaheuristiques hybrides

• Métaheuristiques et Parallèlisme/Distribution

• Adaptation des métaheuristiques

Optimisation Combinatoire 182

91
11/10/2021

Les méta-heuristiques hybrides


• Motivations:
– robustesse,
– meilleure exploration de l’espace de recherche,
– complémentarité des méta-heuristiques (intensification
versus diversification, exploitation versus exploration,
recherche locale/globale),
– Problème de très grande taille,
– Diviser pour régner,
– Méthodes exactes et approchées.

Optimisation Combinatoire 183

Les méta-heuristiques Hybrides


• Exemples courants d’hybridation:
– L’opérateur de mutation est une recherche locale,
– Utiliser des heuristiques dans l’opérateur de
croisement
– Utiliser la recherche locale dans les colonies de
fourmis
– Utiliser les méta-heuristiques en séquences:
(AG+RT, AG+RS, Heuristiques+AG, RS+AG)

Optimisation Combinatoire 184

92
11/10/2021

Les méta-heuristiques Hybrides

https://www.researchgate.net/figure/Classification-of-hybrid-metaheuristics-by-Raidl-after-5216_fig3_283807925

Optimisation Combinatoire 185

Métaheuristiques et
Parallèlisme/Distribution
• Motivations:
– Réduire le temps de réponse
– Résoudre des problèmes de plus grande taille
– Résoudre des problèmes distribués
– Intérêt de point de vue algorithmiques: nouveaux
modèles de résolution
– Les méta-heuristiques parallèles sont plus
robustes que leurs version séquentielles.

Optimisation Combinatoire 186

93
11/10/2021

Métaheuristiques et
Parallèlisme/Distribution
Parallélisation des méta-heuristiques à solution unique
La distribution de la génération
et l’évaluation du voisinage L’approche multi départ

Optimisation Combinatoire 187

Métaheuristiques et
Parallèlisme/Distribution

• Parallélisation des méta-heuristiques à population de

solutions:

– Parallélisation du calcul de performance

– Parallélisation à gros grains sur des populations multiples

– Parallélisation à grains fin sur une population unique

Optimisation Combinatoire 188

94
11/10/2021

Métaheuristiques et
Parallèlisme/Distribution
Modèle maître esclave synchrone Modèle en île
versus asynchrone

P2
P5

P1

P4 P3

Optimisation Combinatoire 189

Adaptation des méta-heuristiques


Atouts
• générales et applicables à une très large classe de problèmes
• possibilité de compromis entre le temps de calcul et la qualité de solution
• possibilité d'intégrer des connaissances spécifiques du problème
• domaines d'application privilégiés : problèmes combinatoires de grande taille

"Inconvénients"
• optimum global non garanti
• adaptation souvent indispensable
• difficulté de prévoir la performance (qualité et temps)

Performance
• théorique: preuve de convergence dans certains cas, non utilisable en pratique
• pratique : dépend de l'adaptation au problème (codage du problème, connaissances spécifiques,
traitement de contraintes, structures de données...)

Perspectives:
Systèmes de résolution génériques fondés sur les métaheuristiques

L’approche méta-heuristique constitue un outil puissant pour la résolution de problèmes


combinatoires difficiles (discrets et continus)
Optimisation Combinatoire 190

95
11/10/2021

Adaptation des méta-heuristiques


Résolution d'un problème avec une métaheuristique
• analyse et modélisation du problème à traiter
• choix d'une métaheuristique selon
• la qualité des solutions recherchées
• la disponibilité des connaissances sur le problème
• le savoir-faire...
• adaptation de la métaheuristique au problème
• configuration (espace de recherche)
• fonction d’évaluation
• Voisinage
• opérateurs de recherche
• traitement des contraintes
• structures de données...

Évaluation de l'algorithme (benchmarking si possible)


• qualité de la meilleure solution trouvée ou profile de recherche
• rapidité, i.e. l'effort (le "temps" de calcul, le nb d'itération...) nécessaire pour trouver une
solution
• robustesse

Optimisation Combinatoire 191

Adaptation des méta-heuristiques


Deux principes de base pour une recherche heuristique

Intensification (ou exploitation)

• permet d’examiner en profondeur une zone particulière de l’espace de


recherche

Diversification (ou exploration)

• permet d’orienter la recherche vers de nouvelles zones (prometteuses)


dans l’espace de recherche

Une recherche heuristique efficace


• nécessite un bon compris entre intensification et diversification

Remarque: Métaheuristiques fournissent des moyens différents pour la mise en


œuvre de ces deux principes complémentaires.

Optimisation Combinatoire 192

96
11/10/2021

Références
• Johann Dréo , Alain Pétrowski, Patrick Siarry et Eric Taillard, Métaheuristiques pour
l'optimisation difficile, édition Eyrolles, 2003.
• Yann Collette et Patrick Siarry, Optimisation multiobjectif, édition Eyrolles, 2002.
• Glover, Fred, “Tabu Search – Part I”, ORSA Journal on Computing 1, 190-206, 1989.
• Glover, Fred, “Tabu Search – Part II”, ORSA Journal on Computing 2, 4-32, 1990.
• Glover, F., Taillard and D. de Werra, “ A User's Guide to Tabu Search”, Annals of
Operations Research 41, 3-28., 1993.
• Hertz, A., Taillard, E. and Werra, D. A Tutorial on Tabu Search. Accessed on April
14, 2005: http://www.cs.colostate.edu/~whitley/CS640/hertz92tutorial.pdf
• T. Stützle and H.H. Hoos. MAX −MIN Ant System. Journal of Future Genera on
Computer Systems, special isue on Ant Algorithms, 16 :889–914, 2000.
• Laguna, M. and R. Martí (2003) Scatter Search: Methodology and Implementations
in C, Kluwer Academic Publishers, Boston

Optimisation Combinatoire 193

Références
• Johann Dréo , Alain Pétrowski, Patrick Siarry et Eric Taillard, Métaheuristiques pour
l'optimisation difficile, édition Eyrolles, 2003.
• Yann Collette et Patrick Siarry, Optimisation multiobjectif, édition Eyrolles, 2002.
• Glover, Fred, “Tabu Search – Part I”, ORSA Journal on Computing 1, 190-206, 1989.
• Glover, Fred, “Tabu Search – Part II”, ORSA Journal on Computing 2, 4-32, 1990.
• Glover, F., Taillard and D. de Werra, “ A User's Guide to Tabu Search”, Annals of
Operations Research 41, 3-28., 1993.
• Hertz, A., Taillard, E. and Werra, D. A Tutorial on Tabu Search. Accessed on April
14, 2005: http://www.cs.colostate.edu/~whitley/CS640/hertz92tutorial.pdf
• T. Stützle and H.H. Hoos. MAX −MIN Ant System. Journal of Future Genera on
Computer Systems, special isue on Ant Algorithms, 16 :889–914, 2000.
• Laguna, M. and R. Martí (2003) Scatter Search: Methodology and Implementations
in C, Kluwer Academic Publishers, Boston

Optimisation Combinatoire 194

97
11/10/2021

CHAPITRE IV :
PROGRAMMATION LINÉAIRE EN
NOMBRES ENTIERS : PROCÉDURES PAR
SÉPARATION ET ÉVALUATION,
MÉTHODES DE COUPES

Optimisation Combinatoire 195

CHAPITRE V
OPTIMISATION MULTI-OBJECTIF ET
DISTRIBUTION

Optimisation Combinatoire 196

98

Vous aimerez peut-être aussi