Académique Documents
Professionnel Documents
Culture Documents
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
1
11/10/2021
Introduction à l’optimisation
combinatoire et à
l’analytique prescriptive
Analytique Prescriptive
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
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
Optimisation Combinatoire 9
L’optimisation Combinatoire
L’optimisation consiste à trouver la configuration qui soit de coût
minimal, n’est pas obligatoirement unique
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
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
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
Optimisation Combinatoire 16
8
11/10/2021
Optimisation combinatoire
Classification des algorithmes d’optimisation
Heuristiques Métaheuristiques
Branch Programmation A*
spécifiques
and bound dynamique
Solution Population
unique
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
Optimisation Combinatoire 21
Modélisation de problèmes
d'optimisation discrets : choix
d'une formulation
11
11/10/2021
Optimisation Combinatoire 24
12
11/10/2021
• 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
Optimisation Combinatoire 26
13
11/10/2021
Exemple 1
Optimisation Combinatoire 27
• Variables x,y
– Ou
– Ou exclusif
Optimisation Combinatoire 28
14
11/10/2021
Optimisation Combinatoire 29
Optimisation Combinatoire 30
15
11/10/2021
• Conjonction
Optimisation Combinatoire 31
Optimisation Combinatoire 32
16
11/10/2021
Optimisation Combinatoire 33
• Intervalles x 1 , x6
Optimisation Combinatoire 34
17
11/10/2021
Optimisation Combinatoire 35
18
11/10/2021
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
Optimisation Combinatoire 38
19
11/10/2021
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
Optimisation Combinatoire 40
20
11/10/2021
m n
c j xij
i 1 j 1
n
21
11/10/2021
• 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
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).
Problème de Binômes
Objectif
23
11/10/2021
Problème d’affectation
Problème d’affectation
n n
Minimiser Z cij xij
i 1 j 1
24
11/10/2021
25
11/10/2021
K : nombre de camions
n clients et un dépôt
26
11/10/2021
xijk * d ij M (3)
i j
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
Optimisation Combinatoire 57
https://www.researchgate.net/figure/Classification-of-metaheuristic-algorithms_fig1_342907547
Optimisation Combinatoire 58
29
11/10/2021
Optimisation Combinatoire 59
Fx, y 0.5
sin x 2 y2 0 .5
2
1 0.001x 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
•« Paysage » de
la fonction de
coût:
Optimisation Combinatoire 61
Optimisation Combinatoire 62
31
11/10/2021
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
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
Vx' 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
Optimisation Combinatoire 70
35
11/10/2021
La méthode de descente
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
• 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
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
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.
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)
39
11/10/2021
Le recuit simulé
Optimisation Combinatoire 79
Le recuit simulé
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).
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
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
44
11/10/2021
Algorithmes Génétiques
Introduction
– Sous l ’influence des conditions extérieures, les caractéristiques des êtres vivants se
modifient progressivement lors de la phase de reproduction
– É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
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
* *
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
Optimisation Combinatoire 97
Optimisation Combinatoire 98
49
11/10/2021
Optimisation Combinatoire 99
50
11/10/2021
Overview of Performance
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
• Rien n’empêche l’emploi de méthodes d’optimisation dans les algorithmes génétiques (plus
d’intelligence)
• L’inspiration biologique
52
11/10/2021
• 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
53
11/10/2021
54
11/10/2021
55
11/10/2021
56
11/10/2021
57
11/10/2021
58
11/10/2021
(1)
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.
59
11/10/2021
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
60
11/10/2021
Si qq0 intensification
Si q> q0 diversification
61
11/10/2021
62
11/10/2021
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
63
11/10/2021
Introduction
• Algorithme évolutionnaire
• L’algorithme est proposé en 1977 par Fred Glover mais appliqué qu’à
partir de 1990.
64
11/10/2021
Méthode d’amélioration
65
11/10/2021
• 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
Scatter Search
Diversification
Generation Repeat until |P| = PSize P
Method
Improvement
Method
Solution Combination
Method Subset Generation
Method
Stop if no more
RefSet
new solutions
Optimisation Combinatoire 134
67
11/10/2021
Improvement
Reference Set
Method
Stop if Update Method
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.8x 2 1x 4 1
2 2
68
11/10/2021
Méthode de génération de
diversification
-10 -5 0 +5 +10
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
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
Objective function
b1 high-quality value to measure
solutions quality
RefSet of size b
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
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
6
x4
5
x2 = (8,4)
4
3
x5
2
x
1 2 3 4 5 6 7 8 9 10 11 12 13
72
11/10/2021
New trial
solution
b Worst
b Worst
Quality 1 Best
2
.
.
.
RefSet of size b
73
11/10/2021
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
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
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
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
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
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
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
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
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
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
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
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
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
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
82
11/10/2021
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
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
(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)
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
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 )
85
11/10/2021
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.
86
11/10/2021
Additional Strategies
• Reference Set
– Rebuilding
– Multi-tier
• Subset Generation
– Subsets of size > 2
• Combination Method
– Variable number of solutions
Rebuilding
RefSet Rebuilt RefSet
b1
b2
87
11/10/2021
2-Tier RefSet
Solution Combination
Method
Improvement RefSet
Method
Try here first b1
If it fails, then b2
try here
3-Tier RefSet
Solution Combination
Method
Improvement
Method RefSet
b3
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.
89
11/10/2021
Generate 3 solutions
Generate 1 solution
b Worst
RefSet of size b
Hybrid Approaches
• Use of Memory
– Tabu Search mechanisms for intensification and
diversification
• GRASP Constructions
• Combination Methods
– GA Operators
– Path Relinking
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
• Métaheuristiques et Parallèlisme/Distribution
91
11/10/2021
92
11/10/2021
https://www.researchgate.net/figure/Classification-of-hybrid-metaheuristics-by-Raidl-after-5216_fig3_283807925
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.
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
Métaheuristiques et
Parallèlisme/Distribution
solutions:
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
"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
95
11/10/2021
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
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
97
11/10/2021
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
98