Vous êtes sur la page 1sur 116

Guide dutilisation pour les Hyper-

heuristiques pour le problme


dordonnancement : cas du flow-shop

Encadr par
Ralis par
Mme Karima BENATCHBA
M. Belahdji Mohamed Walid
Mme Fatima BENBOUZID-SI
TAYEB

Promotion : 2016/2017
RSUM

Les hyper-heuristiques sont une nouvelle classe de mthodes de rsolution apparues dans le
domaine de loptimisation combinatoire. Elles visent lever le degr de gnralit dans le but
de rsoudre un plus grand nombre dinstances et idalement plusieurs problmes. Elles
recherchent dans lespace des heuristiques au lieu de le faire dans lespace des solutions. Les
mtaheuristiques sont devenues beaucoup plus dpendantes du problme. Les hyper-
heuristiques sont nes pour pallier cet inconvnient.

Il existe deux types dhyper-heuristiques : les hyper-heuristiques de slection et celles de


gnration. Les premires cherchent slectionner la meilleure heuristique appliquer une
instance ou un problme. Les deuximes cherchent construire, de faon intelligente, une
nouvelle heuristique en assemblant des composants dheuristiques existantes.

Dans le cadre de ce projet de fin dtudes, nous proposons une hyper-heuristique de gnration
qui utilise lalgorithme gntique haut niveau pour construire la fin un nouvel algorithme
gntique efficace. Nous lavons applique sur le problme dordonnancement Flow-Shop de
permutation. Lhyper-heuristique est rpartir en modules afin quelle soit intgrable avec
dautres travaux de recherche.

Mots cls:

Optimisation combinatoire, Apprentissage automatique, Hyper-heuristique de gnration,


Algorithme gntique,

2
ABSTRACT Commented [l1]: Cette partie sera traduite quand le
rsum sera dans ltat final

Hyper-heuristics are a new class of resolution methodologies in the domain of combinatorial


optimization. Their goal is to level up the degree of generality where optimization systems
operate in order to solve a wide range of instances and ideally a wide range of problems. They
search in the space of heuristics instead of the space of solutions. Metaheuristics became more
dependent of the problem. Hyper-heuristics were born to solve this inconvenient.

There are two main types of hyper-heuristics: selection hyper-heuristics and generation hyper-
heuristics. The former seeks to select, during the search process, the most appropriate heuristic.
The latter seeks to generate and build an adapted heuristic for the given problem.

In this Master, we will study the generation hyper-heuristics. The main goal is to do a
bibliographical study on the application of generation hyper-heuristics and the solving of hard
optimization computational problems. Besides a comparative study between the different
strategies used by generation hyper-heuristics. Commented [K2]: Mj de lobjectif

KeyWords:

Combinatorial optimization, Machine Learning, generation Hyper-heuristics

3
TABLE DES MATIRES

Rsum ................................................................................................................................... 2

Abstract .................................................................................................................................. 3

Liste des figures ..................................................................................................................... 7

Liste des tableaux ................................................................................................................. 10

Liste des algorithmes ............................................................................................................ 11

Liste des abrviations ........................................................................................................... 11

Introduction gnrale............................................................................................................ 12

Chapitre 1 mthodes de rsolution des problmes doptimisation combinatoire .................... 14

1 Introduction ................................................................... Error! Bookmark not defined.

2 Mthodes de rsolution ................................................. Error! Bookmark not defined.

2.1 Mthodes exactes ................................................... Error! Bookmark not defined.

2.2 Mthodes incompltes ........................................... Error! Bookmark not defined.

2.2.1 Heuristiques.................................................... Error! Bookmark not defined.

2.2.2 Mtaheuristiques ............................................ Error! Bookmark not defined.

2.2.3 Mthodes hybrides ......................................... Error! Bookmark not defined.

2.2.3.1 Les mtaheuristiques hybrides.................... Error! Bookmark not defined.

4
2.2.3.2 L'hybridation de mtaheuristiques avec des mthodes exactes ...........Error!
Bookmark not defined.

2.3 Les hyper-heuristiques ........................................... Error! Bookmark not defined.

2.3.1 Architecture des hyper-heuristiques ............... Error! Bookmark not defined.

2.3.2 Classification des hyper-heuristiques ............. Error! Bookmark not defined.

2.3.2.1 HYPER-HEURISTIQUES DE SELECTION..................... Error! Bookmark not defined.

2.3.2.2 HYPER-HEURISTIQUES DE GENERATION .................. Error! Bookmark not defined.

2.3.2.3 Paradigmes des heuristiques bas-niveau..... Error! Bookmark not defined.

2.3.2.4 Mcanisme dapprentissage ........................ Error! Bookmark not defined.

3 Conclusion .................................................................... Error! Bookmark not defined.

Chapitre 2 Les hyper-heuristiques de gnration pour les POCError! Bookmark not


defined.

1 Introduction ................................................................... Error! Bookmark not defined.

2 Hyper-heuristique pour le problme bin-packing ......... Error! Bookmark not defined.

2.1 Fonctionnement de lhyper-heuristique ................. Error! Bookmark not defined.

2.2 Paramtres de lalgorithme gntique ................... Error! Bookmark not defined.

2.2.1 Stratgie de gnration de la population initialeError! Bookmark not


defined.

2.2.2 Stratgie de Croisement et Mutation .............. Error! Bookmark not defined.

2.3 Rsultats des tests .................................................. Error! Bookmark not defined.

3 hyper heuristique pour lordonnancement dans un atelier machine multiples ...Error!


Bookmark not defined.

3.1 Structure de lheuristique rsultante ...................... Error! Bookmark not defined.

3.2 Paramtres de lalgorithme gntique ................... Error! Bookmark not defined.

3.3 Rsultats des tests .................................................. Error! Bookmark not defined.

4 hyper-heuristique pour le problme demploi du tempsError! Bookmark not defined.

4.1 Fonctionnement de lhyper-heuristique ................. Error! Bookmark not defined.

4.2 valuation des heuristiques ................................... Error! Bookmark not defined.

5
4.3 Rsultats de tests .................................................... Error! Bookmark not defined.

5 hyper-heuristique pour le problme de laffectation quadratiqueError! Bookmark not


defined.

5.1 Principe de lhyper-heuristique ............................. Error! Bookmark not defined.

5.2 Paramtres du mta-AG......................................... Error! Bookmark not defined.

5.2.1 Stratgie de croisement .................................. Error! Bookmark not defined.

5.2.2 Stratgie de mutation ...................................... Error! Bookmark not defined.

5.3 Rsultats des tests .................................................. Error! Bookmark not defined.

6 Etude Comparative........................................................ Error! Bookmark not defined.

6.1 Avantages .............................................................. Error! Bookmark not defined.

6.2 Inconvnients ......................................................... Error! Bookmark not defined.

6.3 Conclusion ............................................................. Error! Bookmark not defined.

Chapitre 3 Conception ............................................................................................................. 53

1 INTRODUCTION ........................................................................................................ 54

2 lhyper-heuristique Hyper-AG ...................................................................................... 55

3 architecture de lhyper-heuristique propose ................................................................ 55

4 Codification dun individu de lHyper-AG................................................................... 57

5 Les hyper-oprateurs gntiques................................................................................... 58

5.1 Stratgie dinitialisation de lHyper-AG ............................................................... 58

5.2 Stratgie de slection de lhyper-AG..................................................................... 58

5.3 Stratgie de croisement de lhyper-AG ................................................................. 59

5.4 Stratgie de mutation de lhyper-AG..................................................................... 61

5.5 Stratgie de remplacement de lhyper-AG ............................................................ 61

6 problme doptimisation tudi .................................................................................... 62

7 Lalgorithme gntique bas-niveau............................................................................... 63

7.1 Codification dun individu de lAG-souche .......................................................... 66

7.2 Les oprateurs gntiques de lAG-Standard ........................................................ 66

6
7.2.1 Gnration de la population initiale ............................................................... 66

7.2.2 Slection ......................................................................................................... 69

7.2.3 Croisement ..................................................................................................... 70

7.2.4 Mutation ......................................................................................................... 73

7.2.5 Remplacement ................................................................................................ 74

7.3 Les stratgies de lAG-Spcifique ......................................................................... 75

7.4 Les oprateurs de lAG-Dynamique ...................................................................... 80

7.4.1 Mcanisme de Redmarrage(Restart) ............................................................ 80

7.4.2 Vaccination..................................................................................................... 81

8 Conclusion .................................................................................................................... 82

Chapitre 4 Mise en uvre ........................................................................................................ 84

1 Introduction ................................................................................................................... 85

2 Fonctionnement de la plate-forme de tests ................................................................... 85

3 Stratgie dexploration de lespace de recherche.......................................................... 87

4 Architecture de la plate-forme ...................................................................................... 88

4.1 Couche Donnes .................................................................................................... 89

4.2 Couche Traitement ................................................................................................ 91

4.3 Couche Prsentation : ............................................................................................ 92

5 Technologies utilises ................................................................................................... 92

5.1 Le langage C#.NET 6.0 ......................................................................................... 93

5.2 Task Parallel Library TPL ..................................................................................... 93

6 Conclusion .................................................................................................................... 93

Bibliographie ...................................................................................................................... 112

7
LISTE DES FIGURES

Figure 1 Classification selon mtaheuristiques hybrides homognes et htrognes. Des


exemples de paramtres et de mcanismes de recherche sont illustrs. Source : (Talbi 2002)
.................................................................................................................................................. 21
Figure 2 Schma d'une mtaheuristique hybride partielle. ...................................................... 22
Figure 3 Classification d'hybridation de mtaheuristiques avec des mthodes exactes proposes
.................................................................................................................................................. 23
Figure 4La barrire de domaine qui spare la couche hyper-heuristique et la couche des sous-
heuristiques .............................................................................................................................. 26
Figure 5 Classification des hyper-heuristiques selon (Burke, Hyde et al. 2010) ..................... 26
Figure 6 Arbre A Figure 7 Arbre B .................... 32
Figure 8 Droulement de la programmation gntique ........................................................... 33
Figure 9 Fonctionnement de l'heuristique de sortie qui rsout le problme du bin-packing ... 33
Figure 10 Un exemple de construction d'arbre avec la mthode croissance............................ 36
Figure 11 Croisement Standard entre deux arbres ................................................................... 37
Figure 12 Mutation standard dun arbre .................................................................................. 37
Figure 13 Fonctionnement de l'heuristique de sortie ............................................................... 39
Figure 14 Un exemple de construction d'arbre avec la mthode complte.............................. 41
Figure 15 Un graphe qui reprsente l'emploi du temps des examens. Source:(Anthony Widjaja
2004) ........................................................................................................................................ 42
Figure 16 Hyper-heuristique base sur l'volution grammaticale (Bader-El-Den, Poli et al.
2009) ........................................................................................................................................ 43
Figure 17 Illustration des matrices D et F ................................................................................ 46
Figure 18 Schma sur de lhyper-heuristique employe.......................................................... 47
Figure 19 Illustration du croisement un point dans le cas de la programmation gntique
linaire...................................................................................................................................... 49
Figure 20 Exemple de la mutation d'une instruction ............................................................... 49
Figure 21Architecture de lhyper-heuristique propose .......................................................... 57
Figure 22Codification d'un hyper-chromosome ...................................................................... 57
Figure 23Illustration de la slection k-tournoi ......................................................................... 59
Figure 24Illustration du croisement 1X ................................................................................... 60
Figure 25 Illustration du croisement 2X .................................................................................. 60

8
Figure 26 Illustration du croisement uniforme ........................................................................ 61
Figure 27 Illustration de la mutation uniforme ........................................................................ 61
Figure 28 L'excution d'une squence de tches ..................................................................... 63
Figure 29 temps de compltude le plus tt eij (Taillard 1990) ................................................. 63
Figure 30 Couches de l'AG-Souche ......................................................................................... 64
Figure 31 Exemple d'un chromosome ..................................................................................... 66
Figure 32 Illustration du NEH : insertion du J2 ....................................................................... 67
Figure 33 Illustration du NEH : insertion du J4 ....................................................................... 68
Figure 34 Plus tt temps de compltude relatif ij et la queue ij(Taillard 1990) ................ 69
Figure 35 Probabilit de chaque individu d'tre slectionn dans la slection roulette ........... 70
Figure 36 Probabilit de chaque individu d'tre slectionn dans la slection par rang .......... 70
Figure 37 Illustration du croisement OX : premire tape ...................................................... 71
Figure 38 Illustration du croisement OX : deuxime tape ..................................................... 71
Figure 39 Illustration du croisement OX : troisime tape ...................................................... 72
Figure 40 Illustration du croisement PMX : premire tape.................................................... 72
Figure 41 Illustration du croisement PMX : deuxime tape .................................................. 72
Figure 42 Illustration du croisement PMX : troisime tape ................................................... 73
Figure 43 Illustration du mcanisme de rparation.................................................................. 73
Figure 44 Illustration de la mutation SHIFT........................................................................... 74
Figure 45 Illustration de la mutation SWAP............................................................................ 74
Figure 56Illustration de la mutation POSITION ..................................................................... 74
Figure 47 Illustration de la mutation 3-Inverse........................................................................ 74
Figure 48 Mthodes de croisement de l'AG-Spcifique .......................................................... 75
Figure 49 Illustration du croisement SJOX : premire tape ................................................... 75
Figure 50 Illustration du croisement SJOX : deuxime tape ................................................ 75
Figure 51 Illustration du croisement SJOX : troisime tape ................................................. 76
Figure 52 Illustration du croisement SBOX : premire tape................................................. 76
Figure 53 Illustration du croisement SBOX : deuxime tape ............................................... 77
Figure 54 Illustration du croisement SJ2OX : premire tape ................................................. 77
Figure 55Illustration du croisement SJ2OX : deuxime tape ................................................ 77
Figure 56Illustration du croisement SJ2OX : troisime tape ................................................. 78
Figure 57 Illustration du croisement LCS : premire tape .................................................... 79
Figure 58 Illustration du croisement LCS : deuxime tape................................................... 79
Figure 59 Mcanisme de redmarrage selon (Ruiz, Maroto et al. 2006) ................................. 81
9
Figure 60 Les cellules mmoires ............................................................................................. 81
Figure 61 Vaccination d'un individu ........................................................................................ 82
Figure 62 Exemple de vaccination d'un individu en utilisant le positionnement des tches ... 82
Figure 63Fonctionnement de l'hyper-AG ................................................................................ 87
Figure 64 volution du fonctionnement de l'Hyper-AG ......................................................... 88
Figure 65 Architecture globale de la plate-forme de test ......................................................... 89
Figure 66 Illustration du fichier d'une instance classique ........................................................ 90
Figure 67 Illustration du fichier d'une instance du benchmark de Taillard ............................. 90
Figure 4 Aperu du fichier Rsultats Hyper-AG ..................................................................... 90
Figure 5 Aperu du fichier de sortie AG-Souche .................................................................... 91
Figure 70 Diagramme de classe de la plate-forme de test ....................................................... 92
Figure 1 premier lot de tests..................................................................................................... 97
Figure 2 Tests des AG-Souche intra-classes............................................................................ 98
Figure 3 Tests de lAG-Souche commun................................................................................. 99
Figure 4 Tests interclasses ....................................................................................................... 99
Figure 5 Excution dun AG-Souche sur un benchmark diffrent ........................................ 100
Figure 6 Comparaison entre les performances de l'AG Standard et l'AG spcifique ............ 101
Figure 7 ARPD par taux de vaccination ................................................................................ 102
Figure 8 CPU par taux de vaccination ................................................................................... 102
Figure 9 ARPD selon le compteur Restart ............................................................................. 103
Figure 10 ARPD selon le taux de vaccination et le compteur Restart ................................... 104
Figure 11 CPU selon le taux de vaccination et le compteur Restart ...................................... 105
Figure 12 RPD de l'AG-Souche commun selon l'instance .................................................... 108
Figure 13 Comparaison entre l'RPD de l'AG-Souche VRF et l'AG-Souche Taillard............ 110

LISTE DES TABLEAUX


Table 1 Oprandes de la fonction valuation ........................................................................... 34
Table 2 Oprations de la fonction valuation .......................................................................... 35
Table 3 Paramtres de lalgorithme gntique......................................................................... 35
Table 4 Oprandes que peut contenir la fonction qui calcule la priorit des tches ................ 40
Table 5 Oprations que peut contenir la fonction qui calcule la priorit des tches ............... 40
Table 6 Paramtres de la population initiale ............................................................................ 40
Table 7 Paramtres du Mta-AG ............................................................................................. 48
10
Tableau 8 Stratgies des hyper-heuristiques de gnration tudies ....................................... 50
Tableau 9 Avantages des mthodes tudies ........................................................................... 51
Tableau 10 Inconvnients des mthodes tudies ................................................................... 52
Table 11 Matrice qui contient les temps d'excution de chaque tche i dans la machine j ..... 62
Table 12 Mthodes de slection de lAG-Souche.................................................................... 69
Table 13 Mthodes de croisement de l'AG-Souche standard .................................................. 71
Table 14 Mthodes de mutation de lAG-Souche.................................................................... 73
Table 15 Mthodes de remplacement de l'AG-Souche ............................................................ 74
Table 1 Paramtres de l'hyper-AG ......................................................................................... 101
Table 2 Configuration des AG-Souche dynamique tests ..................................................... 104
Table 3 Paramtres de l'hyper-AG ......................................................................................... 105
Table 4 Configuration de l'AG-Souche de chaque classe ...................................................... 106
Table 5 Performances des AG-Souche intra-classes ............................................................. 106
Table 6 Configuration de l'AG-Souche 500*20 .................................................................... 108
Table 7 ARPD de l'AG-Souche 500*20 dans les autres classes ............................................ 109
Table 8 Paramtres de l'hyper-AG ......................................................................................... 109
Table 9 Configuration de l'AG-Souche VRF et Taillard ....................................................... 110

LISTE DES ALGORITHMES


Algorithme 1 heuristique Bin-Packing .................................................................................... 34
Algorithme 2 Mthode Croissance ......................................................................................... 36
Algorithme 4 Rgles de priorit .............................................................................................. 39
Algorithme 5 Mthode complte ............................................................................................ 41
Algorithme 5 Mta-algorithme gntique ............................................................................... 44
Algorithme 6 Programme LGP ................................................................................................ 47
Algorithme 8 Individu du mta-algorithme ............................................................................. 48
Algorithme 7 Hyper-AG ......................................................................................................... 86

LISTE DES ABRVIATIONS


POC : Problme d'optimisation combinatoire
11
HH : Hyper-heuristique

AG : Algorithme gntique

LGP : Linear Genetic Programming (Programmation gntique linaire)

PFSP : Problme de Flow-Shop de permutation.

INTRODUCTION GNRALE
Les mtaheuristiques ont t trs utilises, car prometteuses, dans le domaine de lintelligence
artificielle et la recherche oprationnelle durant ces 10-15 dernires annes (Salhi 2014). Elles
peuvent tre personnalises et hybrides avec dautres mthodes de rsolution pour amliorer
leur performance. Les mtaheuristiques dveloppes sont devenues, trs souvent, plus
dpendantes du problme. Ceci a rduit leur capacit tre efficace sur un plus grand ensemble
de problmes(Sorensen, Sevaux et al. 2017). De plus pour quune mtaheuristique puisse
fournir de bons rsultats sur une instance donne, un calibrage intense de ses paramtres doit
tre effectu par lutilisateur. 10% du temps total ddi la conception et le test dune nouvelle
mtaheuristique est consacr au dveloppement, tandis que 90% est consomme par la phase
de calibrage des paramtres(Adenso-Diaz and Laguna 2006). De plus, pour arriver au meilleurs
rsultats pour chaque problme, on tombe sur une heuristique ou une configuration
diffrente(Wolpert and Macready 1997).

Pour pallier ces inconvnients, les hyper-heuristiques ont vu le jour. Ce sont des mthodes de
rsolution plus gnrale qui oprent un niveau plus lev dabstraction. Elles manipulent les
heuristiques et les mtaheuristiques au lieu de manipuler des solutions du problme trait. Une
hyper-heuristique peut-tre dfinie comme une mtaheuristique/heuristique qui manipule des
mtaheuristiques/Heuristique de bas-niveau.

Lun des objectifs principaux des hyper-heuristiques est de construire un systme qui puisse
rsoudre des problmes de diffrente nature. Elles retournent, en sortie, une heuristique ou une
mtaheuristique efficace adapte linstance du problme. Elles permettent galement
dautomatiser la phase de calibrage dune mtaheuristique.

Il existe deux types dhyper-heuristiques : les hyper-heuristiques de slection qui choisissent


une heuristique partir dun ensemble dheuristiques et les hyper-heuristiques de gnration
qui crent une nouvelle heuristique. Dans ce travail, nous allons nous intresser aux hyper-

12
heuristiques de gnration. Notre objectif est de faire une synthse bibliographique sur les
approches utilises par les hyper-heuristiques de gnration pour construire une
heuristique/mtaheuristique efficace. A la fin nous tablirons une tude comparative. Nous
relevons le concept gnral derrire chaque stratgie, ainsi que les avantages et les
inconvnients de chaque mthode.

Un rsum sur les rsultats des tests Commented [K3]: Paragraphe rdig aprs rdaction de la
partie tests et rsultats

Ce rapport est structur en deux chapitres. Le premier chapitre prsente les mthodes de
rsolution des problmes doptimisation. Nous donnons brivement la dfinition dun
problme doptimisation, prsentons une classification des mthodes de rsolution et
introduisons les hyper-heuristiques, leur architecture, et leur classification selon deux
catgories : la nature de lespace de recherche de lhyper-heuristique et le mcanisme
dapprentissage employ.

Le deuxime chapitre explore les approches utilises par les hyper-heuristiques de gnration
dans la littrature. Nous expliquons comment ont conu le fonctionnement de lhyper-
heuristique de gnration pour rsoudre le problme doptimisation. la fin nous prsentons
une tude comparative entre les approches tudies.

Le troisime chapitre dtaille la conception de lhyper-heuristique que nous proposons. Nous


prsentons le fonctionnement de notre hyper-heuristique et son architecture. Nous
commenons par dtailler la conception de la partie haut niveau qui manipule les
mtaheuristiques, puis nous enchainons vers la conception des mthodes de rsolution bas-
niveau.

Le quatrime chapitre explique le fonctionnement de notre plate-forme de test et son


architecture ainsi que les technologies utilises.

Le cinquime chapitre montre les tests effectus sur la plate-forme de test et les rsultats quon
a pu conclure. Nous avons effectu les tests sur les benchmarks standards de Taillard (Taillard
1993) et les benchmarks VRF (Vallada, Ruiz et al. 2015). Ces derniers sont des benchmarks
diffrents de Taillard pour comparer les mthodes gnres par lhyper-heuristique et vrifier
si elles sont diffrentes ou identiques.

13
14
Chapitre 1
mthodes de rsolution des problmes
doptimisation combinatoire

1 INTRODUCTION
Afin de rsoudre les problmes doptimisation, plusieurs mthodes de rsolution ont t
dveloppes. Les mthodes exactes trouvent la solution optimale en numrant implicitement
toutes les solutions possibles. Dans le cas des problmes NP-Difficile, le pire des cas demande
un nombre exponentiel ditrations qui dpend de la taille du problme. Quand la dimension
du problme devient grande, la mthode ne peut tre utilise. Si nous prenons comme exemple
le trs connu problme du voyageur de commerce o il faut dterminer le plus court chemin
qui permet de parcourir les n villes en visitant chaque ville une et une seule fois1. Considrons

1
Le parcours des villes se termine dans la ville de dpart

15
une des mthodes exactes utilisant la programmation dynamique et possdant une complexit
de O(n2n)(Held and Karp 1962). Si on suppose quune seule instruction dans le processeur
prend 1 nanoseconde, avec 80 villes seulement, cela prendrait 2*1011 annes pour rsoudre le
problme.

Les mthodes incompltes ont t dveloppes afin de trouver une solution de qualit
satisfaisante en un temps raisonnable. Pour lexemple du problme de voyageur de commerce,
des heuristiques ont t dveloppes pouvant rsoudre des instances de trs grandes tailles
(millions de villes)en un temps raisonnable. Les solutions obtenues sont proches des solutions
optimales (2% 3%)(Rego, Gamboa et al. 2011). Cependant, les chercheurs ont remarqu que
ces mthodes (heuristiques et mtaheuristiques) pouvaient donner de bons rsultats sur
certaines classes de problmes et de mauvais rsultats sur dautres(Wolpert and Macready
1995).

Les hyper-heuristiques sont, alors, apparues pour pallier ce problme en agissant comme des
mthodes qui slectionnent ou gnrent des heuristiques et des mtaheuristiques avant de
rsoudre le problme directement.

Dans ce chapitre, nous dfinissons brivement ce quest un problme doptimisation


combinatoire. Nous prsentons les mthodes de rsolution des problmes doptimisation qui
sont divises en deux catgories principales : les mthodes exactes et les mthodes
incompltes. Les mthodes incompltes comprennent les heuristiques, mtaheuristiques, les
mthodes hybrides et les hyper-heuristiques. Nous donnons une dfinition des hyper-
heuristiques, leur architecture et leur classification selon (Burke, Hyde et al. 2010)

2 MTHODES DE RSOLUTION
Nous allons prsenter dans ce qui suit les types de mthodes de rsolution. Il y a deux catgories
principales : les mthodes exactes et les mthodes incompltes.

2.1 MTHODES EXACTES


Ce sont les mthodes qui rsolvent le problme doptimisation en fournissant la solution
optimale. Elles utilisent une numration exhaustive soit explicite ou implicite de toutes les
solutions du problme. Ces mthodes ont une complexit temporelle exponentielle. Lespace
de recherche des solutions est proportionnel la taille du problme. Si le problme est de petite
ou de moyenne dimension, il est possible dobtenir la solution optimale en un temps acceptable.

16
Cependant, leur application est impossible dans la pratique pour des problmes de grande
dimension, car elles gnrent une explosion combinatoire.

Il existe plusieurs mthodes exactes comme la mthode du simplexe qui est une mthode qui a
pour but de trouver la meilleure solution (maximisation ou minimisation) dans un modle
mathmatique en utilisant seulement des relations linaires (Dantzig 2003). Elle t applique
pour , le problme du Sac dos variante 0/1 (Deo and Kowalik 1983), le problme
daffectation gnralis(Winston, Venkataramanan et al. 2003) Et le problme demploi du
temps dans les hpitaux(Borndrfer, Hoppmann et al. 2016).

La mthode de sparation et valuation (Branch and Bound B&B) a t conue pour


loptimisation discrte. Elle numre les solutions candidates en formant un arbre o
lensemble global est dans la racine. Chaque solution candidate est value et une valuation
suprieure et infrieure est calcule. Ceci a pour but de savoir quelle branche explorer et quelle
branche laguer. Pour calculer lvaluation dun nud, on rsout la version relaxe du
problme. On ignore certaines contraintes. Par exemple dans un problme doptimisation
discrte, on ne prend pas en considration que les solutions doivent tre des entiers et la
rsolution du problme devient de la programmation linaire(Land and Doig 1960). Elle a t
applique pour problme du voyageur de commerce(Little, Murty et al. 1963), la slection des
caractristiques en apprentissage automatique(Narendra and Fukunaga 1977) et le problme
dordonnancement Flow-Shop(Jung, Kim et al. 2015).

La mthode de sparation et coupure (Branch and Cut B&C) utilise lalgorithme du B&B en
combinant lutilisation des plans scants. En premier lieu, on rsout la version relaxe du
problme. La solution optimale obtenue nest pas un entier dans la plupart des cas. Un
algorithme des plans scants est appliqu en ajoutant des contraintes linaires afin dobtenir un
entier et une solution moins fractionnelle jusqu arriver la solution en nombre entier(Balas
1971). Elle a t applique pour le problme du voyageur de commerce symtrique qui contient
532 villes(Padberg and Rinaldi 1987), Problme de tournes de vhicules(Augerat, Belenguer
et al. 1998) et le problme dallocation de ressources avec contraintes(Shirzadeh Chaleshtarti
and Shadrokh 2014).

La programmation dynamique consiste rsoudre un problme complexe en le dcomposant


en sous-problmes plus faciles. Puis rsoudre chaque sous-problme et mmoriser la solution
dans une structure de donnes approprie(Cormen, Leiserson et al. 1997). Elle a t applique
pour le problme du voyageur de commerce (Held and Karp 1962), problme

17
dordonnancement avec machine unique et tches premptives (Lawler 1990) et
lordonnancement dans le QoS(Yu, Zhong et al. 2016).

2.2 MTHODES INCOMPLTES


Les mthodes exactes permettent de trouver la solution optimale. Mais quand elles sont
appliques sur un problme NP-Difficile de grande dimension, elles prennent un temps norme
ou sont interrompues cause dexcs dutilisation de la mmoire. Les chercheurs se sont
intresss et dvelopp des mthodes approximatives qui permettent de fournir des solutions
presque optimales en un temps satisfaisant (Glover and Kochenberger 2006). Nous allons
prsenter dans ce qui suit les types de mthodes incompltes qui existent dans la littrature.

2.2.1 Heuristiques
Une heuristique est dfinie comme une mthode qui exploite les caractristiques dun problme
afin de trouver une solution satisfaisante en un temps acceptable. Elle ne garantit pas de trouver
la solution optimale et est souvent utilise pour gnrer une solution initiale une autre
mthode de rsolution (Pearl 1984).

2.2.2 Mtaheuristiques
Les mtaheuristiques sont des mthodes de rsolution indpendantes du problme. Elles
peuvent tre utilises comme des botes noires sur une grande varit de problmes. Il existe
deux types de mtaheuristiques : celles qui manipulent une seule solution, et celles qui
manipulent une population de solutions (appele individus)(Osman and Kelly 1996).

Parmi les mtaheuristiques solution unique, il existe la recherche locale (RL) qui explore les
solutions candidates voisines dune solution initiale (Selman, Kautz et al. 1994). La solution
initiale est soit gnre alatoirement ou en utilisant une heuristique. Il existe plusieurs
stratgies pour explorer le voisinage. Une des stratgies est de slectionner le meilleur
voisinage qui amliore la solution courante (Hill Climbing). Une autre stratgie consiste
prendre le premier voisinage qui amliore la solution courante (First Best). Des stratgies de
recherche locale ont t proposes pour le problme du SAT(Biere 2014), problme demploi
du temps(da Fonseca, Santos et al. 2016) et pour le problme de tournes de vhicules(Otsuki
and Aihara 2016).

Loptimisation par recuit simul (Kirkpatrick, Gelatt et al. 1983) explore le voisinage dune
solution candidate. La solution voisine est accepte selon une probabilit qui dpend de la
qualit de la solution voisine. Au dbut, il est possible daccepter une solution voisine de

18
mauvaise qualit pour explorer dautres horizons de lespace de recherche. Mais au fur et
mesure, le critre dacceptation devient plus rigide pour accepter une mauvaise solution. Elle
a t applique pour le Problme du Bin-Packing (Kmpke 1988), le problme demploi du
temps scolaire(Bellio, Ceschia et al. 2016) et le problme de lordonnancement Job-
Shop(Chen, Chen et al. 2017).

La recherche tabou (Glover 1989) explore le voisinage dune solution candidate et stocke les
solutions voisines dans une mmoire. La taille de la mmoire dtermine les performances de
la recherche taboue. Elle a t applique pour le problme de coloration de graphe (Hertz and
de Werra 1987), le problme dordonnancement Job-Shop (Hurink, Jurisch et al. 1994) et le
problme du sac dos multidimensionnel (Glover and Kochenberger 1996)

Une classe importante de mtaheuristiques qui manipulent une population est les algorithmes
volutionnaires. Ces algorithmes utilisent des mcanismes qui sinspirent des mcanismes
biologiques. On dmarre lalgorithme partir dun ensemble de solutions appel population.
Une solution qui appartient la population est appele individu. Chaque individu doit tre
valu selon une fonction objectif. On applique sur la population pendant plusieurs itrations
des oprations. Chaque type dalgorithme volutionnaire possde ses propres stratgies
doprations. Parmi les algorithmes volutionnaires, on cite les algorithmes gntiques
(Goldberg and Holland 1988) qui sinspirent de la slection naturelle et les oprateurs
gntiques. Chaque solution est codifie dans un tableau dentier appel chromosome.
Lalgorithme gntique se produit dans lordre suivant :

1) Gnration de la population initiale : La population est gnre avec des individus


alatoires ou laide dheuristiques.
2) valuation : On calcule lvaluation de chaque individu grce la fonction objectif.
3) Slection : Elle consiste choisir les paires dindividus, appels parents, qui vont
participer la reproduction des enfants. On calcule une probabilit pour quun individu
soit slectionn selon son valuation.
4) Croisement (Crossover) : Le principe est de produire des enfants partir des parents
slectionns selon une stratgie. Les nouveaux enfants sont crs en interchangeant les
diffrentes valeurs des gnes des deux parents.
5) Mutation : Elle a pour but de diversifier les individus. Une partie de la population est
slectionne. La mutation est applique en choisissant un lment du chromosome et
cet lment est modifi.

19
6) Remplacement : Les enfants sont introduits dans la population. la fin de cette
opration, on aboutit une nouvelle population qui a le mme nombre dindividus que
dans la population prcdente.

Chaque itration de lalgorithme gntique est appele gnration. Lalgorithme gntique


consiste rpter les mmes oprateurs durant plusieurs gnrations. Les algorithmes
gntiques ont t appliqus sur un grand nombre de problmes comme le problme
daffectation de frquence (Hao and Dorne 1996) et le problme du Flow-Shop (Fu, Wang et
al. 2017) et le problme du voyageur de commerce(Abdoun, Tajani et al. 2016). Il existe
beaucoup dautres algorithmes volutionnaires dont une liste exhaustive a t faite par (Fister
Jr, Yang et al. 2013).

2.2.3 Mthodes hybrides


Les mthodes de rsolutions prsentes peuvent tre combines afin daboutir de systmes
doptimisation plus performants. Ce genre de mthode est appele mthode hybride. Elles sont
divises en deux catgories : les mtaheuristiques hybrides qui utilisent diffrentes mthodes
incompltes, et les mthodes hybrides qui combinent les mthodes exactes avec des
incompltes.

2.2.3.1 Les mtaheuristiques hybrides


La classification de (Talbi 2009)repose selon trois dimensions qui dpendent des
mtaheuristiques qui la composent :

1) Homogne/ htrogne : Une mtaheuristique est dite homogne quand toutes les
mtaheuristiques manipules sont identiques. Parmi les mtaheuristiques hybrides
homognes on peut citer les algorithmes gntiques en modles lots. On divise la
population totale en sous-population et on excute des algorithmes gntiques en
parallles sur ces sous-populations (Whitley, Rana et al. 1999). Elles ont t appliques
sur le problme demploi du temps scolaire(Abramson and Abela 1991). Tandis qu'une
mtaheuristique est dite htrogne quand les mtaheuristiques manipules sont de
nature diffrente. Par exemple un algorithme qui combine la recherche taboue avec les
algorithmes gntiques a t propose pour rsoudre un problme de conception de
rseau (Crainic, Nguyen et al. 1997). La figure 1 illustre une hirarchie entre les
mthodes homognes et htrognes.

20
Figure 1 Classification selon mtaheuristiques hybrides homognes et htrognes. Des exemples de paramtres et de
mcanismes de recherche sont illustrs. Source : (Talbi 2002)

2) Globale/partielle : Une mtaheuristique est dite globale quand toutes ses


mtaheuristiques explorent le mme espace de recherche. Pour les algorithmes
gntiques en modle dilots, ce sont des mtaheuristiques hybrides globales, car les
algorithmes gntiques qui se droulent en parallle rsolvent la mme instance du
problme. Une mthode est dite partielle quand elle dcompose le problme en sous-
problmes. Chaque sous-problme possde son propre espace de recherche et chaque
mtaheuristique explore l'espace de recherche. Ceci est illustr dans la figure 2. Une
mtaheuristique hybride partielle a t propose qui contient des algorithmes
gntiques pour rsoudre le problme dordonnancement Job-Shop(Husbands, Mill et
al. 1991). Le problme est dcompos en ensemble de tches o chaque algorithme
gntique essaie de le rsoudre.

21
Problme
Dcomposition du
problme

Sous-Problme Sous-Problme Sous-Problme

Mtaheuristique Mtaheuristique Mtaheuristique

Synchronisation

Construire une solution


globale valable

Figure 2 Schma d'une mtaheuristique hybride partielle.

3) Gnraliste/spcialiste : L'hybridation est dite gnraliste quand toutes les


mtaheuristiques rsolvent le mme problme d'optimisation. Les mthodes cites plus
haut sont toutes gnralistes. L'hybridation est dite spcialiste quand chaque
mtaheuristique rsout un problme d'optimisation de nature diffrente. Un exemple de
ce type de mtaheuristique hybride est dutiliser une mtaheuristique pour optimiser
une autre mtaheuristique, cest--dire trouver les valeurs optimales pour cette
mtaheuristique. Cette approche est connue sous le nom de mta-optimisation. Par
exemple un algorithme gntique a t employ pour optimiser les paramtres dun
recuit simul (Krueger 1994).

2.2.3.2 L'hybridation de mtaheuristiques avec des mthodes exactes


Une classification est propose par(Puchinger and Raidl 2005) sur lhybridation entre les
mthodes exactes et incompltes. Elle identifie deux dimensions : l'hybridation collaborative
et l'hybridation intgrative. Dans le cas de l'hybridation collaborative, les algorithmes
s'changent des informations de manire squentielle ou parallle. Dans l'hybridation
intgrative, une mthode exacte est incorpore dans une tape durant le processus d'application

22
de la mtaheuristique ou bien la mtaheuristique est incorpore dans une phase de rsolution
par une mthode exacte. La classification est prsente dans la figure 3.

Figure 3 Classification d'hybridation de mtaheuristiques avec des mthodes exactes proposes

1. Hybridation collaborative : Cette premire classe comprend des systmes ou aucun


algorithme nest contenu dans lautre. Cette classe est divise en deux sous-classes :
a. Excution squentielle : La mthode exacte fournit un ensemble de solutions
la mthode incomplte ou vice-versa. Quand elle a t applique sur le
problme de voyageur de commerce (Applegate, Bixby et al. 1998), une
recherche locale est applique pour obtenir un ensemble de solutions. partir
des artes de cet ensemble de solutions, un sous-problme est cr o on
applique la mthode exacte.
b. Excution parallle : Elle consiste diviser le problme en sous-problmes o
il y a plusieurs agents qui rsolvent ces sous-problmes. Ces agents sont soit des
mthodes exactes ou incompltes. Les agents communiquent entre eux pour
reconstruire la solution finale. Un exemple dapproche nomme TECHS
(Teams for Cooperative Heterogenous Se arch), base sur un AG et un B&B,

23
a t appliqu pour rsoudre le problme de planification dateliers (Denzinger
and Offermann 1999).
2. Hybridation intgrative : La mthode exacte est une composante intgre dans la
mthode incomplte ou vice-versa. Un algorithme gntique a t propos pour
rsoudre le problme du sac dos multidimensionnel (Chu and Beasley 1998). Il utilise
une mthode exacte pour rsoudre la version relaxe du problme et gnrer des
solutions qui constituent la population initiale de lAG. Une recherche locale
voisinage variable qui utilise une mthode exacte a t propose pour rsoudre le
problme du voyageur de commerce asymtrique (Denzinger and Offermann 1999).

2.3 LES HYPER-HEURISTIQUES


Les mtaheuristiques actuelles et les mthodes hybrides sont devenues de plus en plus
dpendantes du problme (Burke, Kendall et al. 2003). Les hyper-heuristiques sont apparues
pour rsoudre un grand nombre de problmes de diffrente nature. Elles ont t appliques
sur un grand nombre de problmes comme le problme demploi du temps (Cowling, Kendall
et al. 2000, Burke, Kendall et al. 2003), ordonnancement de production avec machines
parallles(Jakobovi, Jelenkovi et al. 2007) et le problme du MAX-SAT(Fukunaga 2002).
Lhyper-heuristique est dfinie comme tant une approche qui opre sur un niveau
dabstraction plus lev que les mtaheuristiques et doit faire le choix de lheuristique bas-
niveau qui devrait tre utilise un instant donn, selon les caractristiques de la rgion de
lespace explore. (Cowling, Kendall et al. 2000)

Pour la suite de ce chapitre, le terme heuristique se rfr lensemble des heuristiques et


des mtaheuristiques.

En se basant sur la dfinition introduite par (Cowling, Kendall et al. 2000), on peut utiliser les
critres suivants pour dcrire une hyper-heuristique :

1. Une hyper-heuristique est dun niveau plus lev ; elle gre un ensemble dheuristique
bas-niveau. Lensemble possde une cardinalit suprieure 1
2. Lhyper-heuristique cherche une bonne mthode pour rsoudre le problme plutt que
chercher la solution directement.
3. Lhyper-heuristique utilise des informations sur le problme de faon limite.
Idalement, ces informations comprennent seulement le nombre dheuristiques bas-
niveau proposes pour le problme et la fonction objectif qui doit tre maximise ou

24
minimise. Le troisime point est le plus crucial, car il garantit la gnralit des hyper-
heuristiques ainsi que leur robustesse quand elles sont appliques sur des
problmatiques de nature diffrente.

2.3.1 Architecture des hyper-heuristiques


Une heuristique classique opre directement sur le problme et possde donc des connaissances
sur ses caractristiques. Puisque lhyper-heuristique opre sur niveau plus lev dabstraction,
elle ne possde pas de connaissances sur le domaine de problme. La barrire de domaine est
une interface qui spare entre le niveau hyper-heuristique et le niveau qui contient les
caractristiques du problme (Figure 4). Elle garantit la gnralit des hyper-heuristique et la
capacit de rsoudre des problmes, quelle que soit leur nature(Burke, Kendall et al. 2003).
Nous allons prsenter, dans ce qui suit, les deux couches :

1. La couche domaine de problme : Cette couche possde une liste dheuristiques bas-
niveau {H1,H2,...Hn} ainsi que la fonction dvaluation. Si on veut appliquer lhyper-
heuristique sur un problme diffrent, on change seulement lensemble des heuristiques
et la fonction dvaluation.
2. La couche haut-niveau : Cette couche est en charge de la slection ou la construction
de lheuristique appliquer sur le problme.

La barrire de domaine agit comme une interface qui fait communiquer les informations
ncessaires entre les deux couches. La couche domaine du problme envoie des
informations standards sur lvaluation de ces heuristiques : qualit des solutions fournies,
temps dexcution, si elle est bloque dans un optimum local... partir de ces informations,
la couche haut-niveau prend la dcision sur quelle heuristique appliquer.

25
Figure 4La barrire de domaine qui spare la couche hyper-heuristique et la couche des sous-heuristiques

2.3.2 Classification des hyper-heuristiques


Selon la classification propose par (Burke, Hyde et al. 2010), les hyper-heuristiques sont
divises selon deux dimensions ( figure 5 : (1) La nature de lespace de recherche de lhyper-
heuristique (2) est le type de mcanisme dapprentissage employ. Cette classification est
illustre dans la figure 5. noter que dans la suite de ce chapitre, lespace de recherche
reprsente celui qui contient les heuristiques et mtaheuristiques que lhyper-heuristique
explore et non lespace de recherche des solutions.

heuristique
constructive
Nature de l'espace de

Hyper-heuristique
de slection heuristique
recherche

perturbatrice
heuristique
Hyper-heuristique constructive
de gnration heuristique
perturbatrice

Apprentissage
Online
Feedback

Apprentissage
Offline
Aucun
apprentissage

Figure 5 Classification des hyper-heuristiques selon (Burke, Hyde et al. 2010)

26
2.3.2.1 Hyper-heuristiques de slection
Lhyper-heuristique possde un ensemble dheuristiques bas-niveau. Elles sont values selon
une fonction objectif. partir de cette valuation, lhyper-heuristique va slectionner une ou
une combinaison dheuristiques appliquer. Nous expliquons dans ce qui suit les stratgies
dvaluation des heuristiques bas-niveau :

Max : Lheuristique qui donne la meilleure solution est slectionne. Donc, on favorise
lintensification.
Roulette : On assigne chaque heuristique une probabilit dtre slectionne selon la
qualit de la solution fournie. Les heuristiques qui fournissent de bonnes solutions ont
la plus grande probabilit dtre slectionnes.
Apprentissage par renforcement : On value une heuristique selon ses performances
quand elle est applique sur une solution du problme. Si elle donne de bonnes
performances, elle est rcompense. Sinon, elle est pnalise.
Fonction de choix : Chaque heuristique est value selon trois critres
- La qualit de ses performances de faon individuelle
- La qualit de sa performance en tant que successeur dune autre heuristique
- Dernire date dutilisation

2.4 HYPER-HEURISTIQUES DE GNRATION


Cette classe dhyper-heuristique construit une nouvelle heuristique au lieu de choisir une
heuristique conue avant. la fin, le rsultat dune hyper-heuristique de gnration peut tre :

Une mtaheuristique : On construit la mtaheuristique en assemblant diffrents


oprateurs de la mtaheuristique. Prenons lexemple de lalgorithme gntique. On
choisit la stratgie de gnration de population initiale, la stratgie de la slection, du
croisement et de la mutation.
Une heuristique spcifique au problme : On construit lheuristique en utilisant la
programmation gntique(Koza 1992).

2.4.1.1 Paradigmes des heuristiques bas-niveau


Nous avons prsent une classification selon la nature de lespace de recherche qui est : les
hyper-heuristiques de slection et les hyper-heuristiques de gnration. Comme illustr dans la
figure 5, ce critre possde un deuxime niveau en hirarchie qui est le paradigme de

27
lheuristique bas-niveau. Les heuristiques bas-niveau de lhyper-heuristique peuvent
fonctionner en deux paradigmes :

i. Paradigme constructif : Ces approches construisent des solutions par


incrmentation. partir dune solution vide, on slectionne intelligemment et on
utilise une heuristique constructive graduellement pour aboutir une solution
complte. Lhyper-heuristique dispose dun ensemble dheuristiques constructives
prexistantes et lalgorithme doit slectionner la bonne heuristique qui peut
rsoudre le problme courant de manire efficace.
ii. Paradigme pertubateur : En considrant des solutions candidates compltes, on
essaie de les modifier pour obtenir de meilleures solutions.

2.4.1.2 Mcanisme dapprentissage


Un deuxime critre pour classifier les hyper-heuristiques est la nature du mcanisme
dapprentissage employ. On peut distinguer :

lapprentissage offline : lalgorithme effectue lapprentissage seulement aprs la fin


dexcution de lhyper-heuristique.
lapprentissage online : lapprentissage se droule durant la rsolution de linstance
du problme.
Aucun apprentissage

3 CONCLUSION
Dans ce chapitre, nous avons prsent les mthodes de rsolution ainsi que leur classification.
Lavantage majeur des heuristiques et des mtaheuristiques est le pouvoir trouver une solution
de bonne qualit en un temps raisonnable. Cependant, une heuristique nest pas efficace sur
toutes les classes de problmes. Il a dailleurs t prouv quil nexiste pas dheuristique ou
mtaheuristique qui sont performantes sur toutes les instances dun problme (Wolpert and
Macready 1995). Par la suite nous avons prsent les hyper-heuristiques, leur architecture et
leur classification selon (Burke, Hyde et al. 2010).

Les hyper-heuristiques sont apparues comme des mthodes qui ont pour but de slectionner ou
de construire lheuristique la plus adapte au problme. Une particularit majeure des hyper-
heuristiques est quelles oprent sur lespace de recherche des heuristiques et des
mtaheuristiques plutt que sur celui des solutions. Ceci a pour consquence dlever le niveau

28
de gnralit des mthodes de recherche. On distingue deux types dhyper-heuristiques selon
la nature de leur espace de recherche : les hyper-heuristiques de slection et de gnration. Afin
de slectionner ou gnrer de faon intelligente lheuristique approprie, un apprentissage
automatique doit tre employ.

Les hyper-heuristiques de gnration ont t appliques sur plusieurs problmes, car elles
prsentent lavantage de gnrer des mthodes de rsolution nouvelles et performantes. Nous
allons nous intresser dans le chapitre suivant ce type dhyper-heuristique et les stratgies
employes pour rsoudre diffrents problmes doptimisation.

29
Chapitre 2
Les hyper-heuristiques de gnration
pour les POC

30
1 INTRODUCTION
Les hyper-heuristiques de gnration prsentent plusieurs avantages. Elles permettent dobtenir
une heuristique adapte aux caractristiques dune instance du problme. Elles permettent aussi
dautomatiser la phase de construction et de calibrage dune mtaheuristique.

Les hyper-heuristiques de gnration ont t moins explores que les hyper-heuristiques de


slection, car la phase de construction dune nouvelle heuristique peut tre coteuse en temps
et en mmoire. Elles sont plus difficiles implmenter compares aux hyper-heuristiques de
slection puisquelles requirent la dcomposition dheuristiques existantes et la conception de
stratgies appropries(Burke, Gendreau et al. 2013). Mais elles ont lavantage de pouvoir tre
rutilises sur dautres instances du problme sans devoir lancer la phase de gnration
nouveau.

Dans ce chapitre, nous nous intressons aux stratgies des hyper-heuristiques de gnration
dveloppes par les chercheurs pour rsoudre diffrents problmes doptimisation. La plupart
des hyper-heuristiques de gnration dans la littrature emploient la programmation gntique
(Koza 1992) qui est un algorithme gntique qui fait voluer des heuristiques. Elle est utilise
pour pouvoir gnrer des heuristiques adaptes linstance du problme donn. Durant la phase
de conception, on prend un ensemble dheuristiques ou mtaheuristique depuis la littrature et
on les dcompose en plusieurs composants. La programmation gntique combine ces
composants pour construire la fin une heuristique performante.

Nous allons prsenter, dans ce qui suit, des hyper-heuristiques de gnration utilises pour la
rsolution de certains problmes doptimisation combinatoire. Nous effectuons par la suite une
tude comparative entre ces diffrentes approches en relevant le concept, les avantages et les
inconvnients de chacune. On conclura le chapitre avec une synthse.

2 HYPER-HEURISTIQUE POUR LE PROBLME BIN-PACKING


Lhyper-heuristique de gnration utilise un algorithme gntique pour gnrer une heuristique
pour rsoudre le problme de rangement de botes (Burke, Hyde et al. 2006). Ce dernier est un
problme NP-Difficile connu (Coffman, Galambos et al. 1999). On possde n objets qui ont

31
chacun un poids pi. On a une infinit de botes dune capacit C. Le but est de ranger tous les
objets dans le plus petit nombre de botes possibles. Dans la version statique, tous les objets
sont disponibles linstant 0 et leur poids est connu lavance. Dans la version dynamique,
chaque objet peut arriver un instant t et nest pas forcment disponible linstant t=0. On ne
connait le poids des objets que quand ils arrivent. Par ailleurs, ds quun objet est rang dans
une bote, il ne peut plus tre dplac vers une autre bote.

2.1 FONCTIONNEMENT DE LHYPER-HEURISTIQUE


Lhyper-heuristique utilise un algorithme gntique dont les individus sont des heuristiques et
non des solutions. Cette mthode est appele la programmation gntique (Koza 1992). Le
chromosome de lalgorithme gntique reprsente une seule heuristique avec une structure
darbre LISP. Les feuilles de larbre contiennent des valeurs doprandes et les nuds internes
contiennent les oprations. Deux exemples dheuristiques sont illustrs dans les figures suivant
larbre A (figure 6) et larbre B (Figure 7).

Figure 6 Arbre A Figure 7 Arbre B

Chaque heuristique est value selon une fonction objectif. tant donn que les heuristiques
sont codifies en individus, on leur applique les oprateurs de lalgorithme gntique :
slection, croisement, mutation, remplacement pendant plusieurs gnrations. la fin, on
aboutit une heuristique qui peut rsoudre le problme doptimisation de manire efficace. Le
droulement du mta-algorithme gntique est rsum dans la figure 8.

32
Figure 8 Droulement de la programmation gntique

Pour le problme du bin-packing, le pseudo-code de lheuristique de sortie est donn par


lalgorithme 1. Lheuristique prend des dcisions en se basant sur les informations suivantes :
le poids de lobjet p, le poids actuel de la bote i et la capacit maximale de la boite i. Ces
paramtres sont lentre de la fonction valuer() qui reprsente la stratgie de lheuristique
pour slectionner dans quelle bote i ranger lobjet p. Cette fonction possde une structure
darbre qui a une profondeur maximale de 4. Un exemple de cette fonction est illustr dans la
figure 9. Elle constitue le chromosome du mta-algorithme gntique de lhyper-heuristique.

Figure 9 Fonctionnement de l'heuristique de sortie qui rsout le problme du bin-packing

33
Algorithme Heuristique Bin-Packing

Dbut
L : le vecteur des objets
: le vecteur des botes.
Pour chaque objet p dans L
Pour chaque bote i dans A
Rsultat = valuer (poids de lobjet p, poids actuel de boite i, capacit de la
boite i)
Si rsultat > 0 mettre objet p dans bote i
FPOUR
FPOUR
Fin

Algorithme 1 heuristique Bin-Packing

Pour valuer une heuristique gnre, on lapplique sur linstance du problme et on calcule
lvaluation avec la formule suivante :
()

=1( )

Fonction Objectif = 1 -

O N : le nombre de botes utilises

La fonction objectif est minimiser. Elle a pour but de favoriser les heuristiques qui remplissent
compltement les boites et ne laissent pas beaucoup despace vide.

(Burke, Hyde et al. 2006) ont dfini lheuristique comme tant un arbre dune profondeur
maximale de 4. Les oprandes que peut contenir la fonction valuer() sont rsums dans le
tableau 1

Symbol Description
F La Somme des poids de tous
les objets dans la bote
courante
C Capacit de la bote
S Poids de lobjet courant
Table 1 Oprandes de la fonction valuation

Les oprations que peut contenir la fonction valuer() sont rsumes dans le tableau 2

34
Symbole Entres Description
+ 2 Somme
- 2 Soustraction
* 2 Multiplication
% 2 Si la deuxime entre nest
pas nulle, on fait division.
Retourner 1 sinon
A 1 La valeur absolue de lentre
Table 2 Oprations de la fonction valuation

2.2 PARAMTRES DE LALGORITHME GNTIQUE


Les paramtres de lalgorithme gntique qui fait voluer les heuristiques sont rsums dans le
tableau 3

Taille de la population 1000


Mthode dinitialisation des individus Croissance
Critre de slection Roulette, Slection de la mme solution est
possible
Croisement Croisement standard, 90% de la population
est slectionne
Mutation 10%, Mutation standard
Critre darrt 50 gnrations
Table 3 Paramtres de lalgorithme gntique

2.2.1 Stratgie de gnration de la population initiale


La population initiale de lalgorithme gntique est gnre grce la stratgie
Croissance . Cette mthode est une fonction rcursive utilise dans la programmation
gntique pour gnrer des arbres de manire alatoire(Freuder and Wallace 2005). Elle
fonctionne avec le pseudo-code illustr dans lalgorithme 2. La figure 10 illustre lapplication

35
de la mthode Croissance sur un arbre.

Algorithme Mthode Croissance (profondeur : entier)

Si profondeur < profondeur de larbre maximal


Nud : = un oprande ou une opration de faon
alatoire
Pour i : = 1 nombre darguments du nud
Enfant : = croissance (profondeur +1)
Sinon
Nud : = un oprande de valeur alatoire
Retourner Nud
Fin

Algorithme 2 Mthode Croissance

Figure 10 Un exemple de construction d'arbre avec la


mthode croissance

2.3 STRATGIE DE CROISEMENT ET MUTATION


Le croisement standard et la mutation standard ont t choisis pour cet algorithme gntique
(Burke, Hyde et al. 2006). Le croisement standard consiste choisir un sous-arbre dans chaque
parent. Puis les deux sous arbres sont permuts pour gnrer les enfants (Freuder and Wallace
2005). Un exemple est montr dans la figure 11.

36
La mutation standard consiste slectionner alatoirement un nud, puis le supprimer et le
remplacer par un sous arbre gnr alatoirement. Larbre rsultat ne doit pas dpasser la
profondeur maximale (Freuder and Wallace 2005). Un exemple est montr dans la figure 12.

Figure 11 Croisement Standard entre deux arbres

Figure 12 Mutation standard dun arbre

2.4 RSULTATS DES TESTS


Lhyper-heuristique a t applique sur 20 instances du benchmark de Falkenauer(Falkenauer
1996). Ce sont des instances qui contiennent 120 objets avec des poids rpartis alatoirement
de manire uniforme. Les heuristiques gnres rivalisent avec les heuristiques existantes.
Certaines heuristiques gnres fonctionnaient comme lheuristique First-Fit. Elle range lobjet
dans la premire boite disponible et qui a de lespace. Dans 2 instances, lhyper-heuristique a
dlivr une solution qui utilise une boite de moins que la meilleure solution atteinte. Dans les
autres instances, les heuristiques ont gnr une solution qui utilise une boite de plus par
rapport aux meilleurs rsultats atteints.

37
3 HYPER-HEURISTIQUE POUR LORDONNANCEMENT DANS
UN ATELIER MACHINES MULTIPLES

Lhyper-heuristique utilise la programmation gntique. Elle emploie un algorithme gntique


pour construire une heuristique qui calcule la priorit de chaque tche selon plusieurs critres
comme la date dchance, le temps dexcution de la tche, poids de la tche... afin de rsoudre
le problme dordonnancement dans un atelier machines multiples(Jakobovi, Jelenkovi et
al. 2007). La version du problme que trait est un problme de Flow-Shop hybride prsent
par (Rodrguez, Petrovic et al. 2007). On a un nombre n de jobs Ji qui peuvent tre traits sur
un nombre m de machines. Dans la version statique, tous les jobs sont disponibles linstant
0. Tandis que dans la version dynamique, les tches ne sont disponibles qu un instant t j. Le
temps de traitement dun job est pj et sa date dchance est dj. Chaque machine possde sa
propre vitesse de traitement si. Donc le temps efficace de traitement dun job j sur une machine
i est donn par la formule pij = pj/si. Chaque job possde une pnalit sil se termine aprs sa
date dchance ri. Le but est de minimiser le retard pondr WT dont la formule est donne
ci-dessous (Vepsalainen and Morton 1987) :

WT = =1 i[ci-di]+

Avec ci la date de fin dexcution du job Ji.

Les chromosomes de lhyper-heuristique sont des heuristiques possdant une structure darbre
dont la profondeur maximale est 17. Cette profondeur a t fixe par (Jakobovi, Jelenkovi et
al. 2007).Le type dheuristiques que lhyper-heuristique gnre est appel Rgles de priorit
(Dispatching Rules).Lheuristique calcule la priorit de chaque job partir de ses
caractristiques comme le temps dexcution, la date dchance, le poids.Aprs avoir calcul
la priorit de tous les jobs, ceux avec la plus grande priorit sont excuts en premier. Le
pseudo-code de lheuristique de sortie est donn par lalgorithme 4 et son fonctionnement est
rsum dans la figure 13. Voici des heuristiques qui utilisent les rgles de priorit proposes
(Baker 1984):

EDD : Les jobs avec la date dchance la plus proche sont les plus prioritaires.


WSPT : les jobs avec un temps de traitement avec poids maximal : max sont

les plus prioritaires.

38
LPT : Les tches qui ont le grand temps dexcution sont excutes en premier.

Figure 13 Fonctionnement de l'heuristique de sortie

Algorithme Rgle de priorit


Tant quil y a au moins une tche non ordonnance
Attendre quune machine(k) soit prte
Calculer la priorit de toutes les tches sur la machine k
Traiter le job avec la plus grande priorit sur la machine k
Fin Tantque
Fin
Algorithme 3 Rgles de priorit

3.1 STRUCTURE DE LHEURISTIQUE RSULTANTE


Comme lhyper-heuristique utilise la programmation gntique, les heuristiques ont une
structure dun arbre. La fonction qui permet de calculer la priorit des jobs peut contenir des
oprandes qui sont rsums dans le tableau 4 et des oprations qui sont rsumes dans le tableau
5.

Oprande Dfinition
Tt Temps de traitement dun job(pj)
Dd Date dchance (dj)
W Poids(wj)
Nr Nombre des jobs restants non traits
SPr La somme des temps de traitement des jobs restants
SD La somme des dates dchance de tous les jobs
SL Max{dj-pj-temps,0}
SLs Max {dj-pj/sk-temps,
}
Oprandes des tches qui doivent suivre un ordre prcis

39
TTP Le temps de traitement du job qui prcde Jj
Tm Le temps moyen de traitement de tous les jobs prcdents
1
=1 kj
1
Table 4 Oprandes que peut contenir la fonction qui calcule la priorit des tches

Opration Dfinition
ADD,SUB,MUL Addition binaire, oprateurs de soustraction et de
multiplication
DIV DIV(a,b) = 1 si b<0.00001, a/b sinon
Table 5 Oprations que peut contenir la fonction qui calcule la priorit des tches

Pour valuer chaque heuristique, on lapplique sur le problme. Le retard pondr dans cette
version du problme constitue le critre dvaluation de chaque heuristique.

3.2 PARAMTRES DE LALGORITHME GNTIQUE


Les paramtres de lalgorithme gntique qui a fait voluer les heuristiques sont rsums dans
le tableau 6

Taille de la population 10000


Mthode dinitialisation des arbres Demi-Demi
Critre de slection Roulette, re-slection permise
Croisement Croisement standard, 90% de la population
est slectionne
Mutation 10%, Mutation standard
Critre darrt 1000 gnrations
Table 6 Paramtres de la population initiale

Stratgie de gnration de la population initiale : La stratgie dinitialisation est Demi-


demi. Elle fonctionne de la manire suivante : 50% des arbres sont gnrs avec la mthode
croissance, et 50% avec la mthode complte. La mthode complte ressemble celle de la
mthode croissance, sauf que tous les nuds qui ont une profondeur infrieure aux profondeurs
maximales sont des nuds internes. Ceci a pour consquence de ne gnrer que des arbres
quilibrs. En dautres termes, pour accder une feuille, on requiert le mme nombre de
nuds visits que toutes les autres feuilles(Freuder and Wallace 2005). Le pseudo-code de
cette mthode est donn par lalgorithme 5. La figure 14 illustre un exemple de gnration
darbre avec cette mthode.

40
Algorithme Mthode Complte (profondeur :
entier)

Si profondeur < profondeur de larbre maximal


Nud : = une opration de faon alatoire
Pour i : = 1 nombre darguments du nud
Enfant i := croissance (profondeur +1)
Sinon
Nud : = un oprande de faon alatoire
Retourner Nud
FSINON
Algorithme 4 Mthode complte Figure 14 Un exemple de construction d'arbre avec la mthode complte
Fin
3.3 RSULTATS DES TESTS
Lhyper-heuristique a t applique sur 600 instances de problmes gnres alatoirement.
Les tests taient diviss en deux catgories selon le temps darrive des jobs : environnement
statique et environnement dynamique. Dans lenvironnement statique, tous les jobs sont
disponibles linstant t=0. Dans lenvironnement dynamique, de nouveaux jobs peuvent
arriver durant lexcution et ne sont pas disponibles au dbut. Dans lenvironnement statique,
les heuristiques gnres ont montr de bons rsultats. Elles rivalisaient avec les heuristiques
et mtaheuristiques existantes. Lhyper-heuristique a donn les meilleurs rsultats dans 23%
des instances. Dans le cas de lenvironnement dynamique, les heuristiques gnres ont
largement dpass les heuristiques et mtaheuristiques performantes. Lhyper-heuristique a
donn les meilleurs rsultats dans 77% des instances. Alors que les autres mthodes existantes
combines donnaient les meilleurs rsultats dans 22% des benchmarks.

4 HYPER-HEURISTIQUE POUR LE PROBLME DEMPLOI DU


TEMPS

Lhyper-heuristique utilise un algorithme gntique qui fait voluer des heuristiques


constructives gnres avec une grammaire pour rsoudre le problme demploi du temps
scolaire (Bader-El-Den, Poli et al. 2009). Le Problme demploi du temps scolaire a pour but
dassigner tous les cours dans un crneau horaire en respectant plusieurs contraintes. Un
emploi du temps est une table qui coordonne les quatre lments suivants : tudiants,

41
enseignants, salles, crneaux horaires. Il existe deux types de contraintes(Qu, Burke et al.
2009) :

Contraintes dures : ce sont des contraintes quil faut imprativement respecter. Si une
solution candidate ne respecte pas ces contraintes, elle est invalide. Des exemples de
contraintes dures sont : un vnement ne peut pas tre assign en mme temps des
salles diffrentes, deux vnements ne peuvent pas tre assigns au mme crneau
horaire, lemploi du temps doit respecter la disponibilit de la salle et de lenseignant.
Contraintes souples : Ces contraintes peuvent tre violes. Mais chaque violation de
contrainte, une pnalit est ajoute en fonction du type de contrainte. La meilleure
solution est celle qui minimise la somme totale des pnalits.

Les contraintes peuvent tre modlises par graphes (de Werra 1985) o les sommets sont les
cours et une arte va lier deux cours qui ont au moins un tudiant en commun et ne peuvent se
drouler en mme temps. Aprs modlisation du problme par graphe, le problme se
transforme en un problme de coloration de graphe. Il sagit dassigner une couleur un
sommet de faon ce que deux sommets qui ont la mme arte ne possdent pas la mme
couleur. Le but est dutiliser un nombre minimal de couleurs pour colorer le graphe. La couleur
chromatique est le nombre total de couleurs utilises. Un exemple de modlisation des
contraintes est illustr dans la figure 15. Ce graphe possde 3 couleurs.
Informatique A Math
B

Economie
Chimie
B

Math A Chimie B

Figure 15 Un graphe qui reprsente l'emploi du temps des examens. Source:(Anthony Widjaja 2004)

4.1 FONCTIONNEMENT DE LHYPER-HEURISTIQUE


La mthode propose par (Bader-El-Den, Poli et al. 2009) utilise lvolution
grammaticale(Ryan, Collins et al. 1998) pour construire lheuristique. Lvolution
grammaticale est une extension de la programmation gntique o les individus ont une
structure dune chaine de caractres engendre par une grammaire conue auparavant et non
une structure darbre. La chane de caractres gnre contient les instructions de lalgorithme.

42
Puisque les individus sont engendrs par une grammaire, ils sont transforms en structure
darbre abstrait et on leur applique les oprateurs de lalgorithme gntique.

Pour ce problme, lvolution grammaticale a t employe de la manire suivante :

1. On slectionne manuellement des heuristiques dj existantes dans la littrature.


2. On dcompose chaque heuristique en composants indpendants et basiques.
3. On conoit une grammaire pour gnrer des heuristiques.
4. Les composants des heuristiques sont considrs comme des terminaux de la
grammaire. On utilise cette grammaire pour gnrer de nouvelles heuristiques.
5. On utilisera lalgorithme gntique pour faire voluer ces heuristiques et aboutir
lheuristique finale.

La figure 16 montre le fonctionnement de lhyper-heuristique.

Figure 16 Hyper-heuristique base sur l'volution grammaticale (Bader-El-Den, Poli et al. 2009)

43
le pseudo-code de lhyper-heuristique est donn par lalgorithme 6

Algorithme Mta-algorithme gntique

Gnrer la population initiale en utilisant la grammaire

Pour i = 1 nbrGnrations faire

Pour j= 1 nbrIndividus faire

Appliquer lindividu(j) de G sur linstance du problme

Calculer la fitness de lindividu(j)

Fpour

Crer une nouvelle gnration vide G

Pour m = 1 (nbrIndividus* taux croisement) faire

Slectionner deux individus de G selon fitness(parents)

Faire un croisement entre les deux individus en crant deux nouveaux enfants

Insrer les deux enfants dans G

Fpour

Pour m=1 (taux Mutation*NbrIndividus) faire

Choisir un individu de G selon sa fitness

Muter lindividu

Insrer le nouvel individu dans G

Fpour

G=G

Fpour

Fin

Algorithme 5 Mta-algorithme gntique

44
4.2 VALUATION DES HEURISTIQUES
Pour valuer chaque heuristique, on utilise une fonction minimiser qui est une extension de
lquation de Carter(Carter, Laporte et al. 1996). Lquation de Carter permet de calculer la
pnalit de violation des contraintes souples :

1
C(t) = 1
=1 j=i+1[(|pi p j|)aij]

O :

N : la somme totale des examens.


S : le nombre dtudiants.
Aij : le nombre dtudiants qui assistent les deux examens i et j.
pi : le crneau horaire o lexamen i a t assign.
w(| pi pj |) : retourne 25 | pi pj |si | pi pj | 5, retourne 0 sinon. Ceci veut dire que
si un tudiant possde deux examens planifis lun aprs lautre, i augmenter la pnalit
par une large valeur, 25-1=16. Ce facteur dcroit rapidement (car lexponentielle devient
ngative) ds que lcart entre les examens augmente.

La fonction qui permet dvaluer une heuristique est la suivante :

1
valuation de lheuristique = 1
=1 j=i+1[(|pi pj|)aij] + (N - M)

quation de Carter

La premire partie est celle de lquation de Carter. Mais N a t chang en M, o M reprsente


le nombre total dexamens qui ont t planifis avec succs(Bader-El-Den, Poli et al. 2009).
La deuxime partie a t ajoute pour pnaliser les heuristiques qui nont pas pu planifier tous
les examens pour cause de violation de contraintes dures.

4.3 RSULTATS DE TESTS


Lhyper-heuristique a t applique sur 10 benchmarks de Carter(Carter, Laporte et al. 1996).
La taille des benchmarks varie de 81 682 examens et de 611 tudiants 18 419 tudiants. Les
heuristiques gnres ont montr les meilleurs rsultats dans 4 benchmarks et les seconds
meilleurs rsultats dans 5 autres benchmarks. En dautres termes, dans 9 benchmarks sur 10
lhyper-heuristique a montr soit les meilleurs ou seconds meilleurs rsultats.

45
5 HYPER-HEURISTIQUE POUR LE PROBLME DE
LAFFECTATION QUADRATIQUE

Lhyper-heuristique fait voluer des algorithmes gntiques grce un mta-algorithme


gntique pour la rsolution du problme daffectation quadratique (Oltean 2005). Le problme
daffectation quadratique suppose quon dispose de n usines et un ensemble p
demplacements. Il faut affecter chaque usine i un emplacement j. la distance dij spare
lusine i et lusine j. Toutes les distances sont exprimes dans une matrice D. Entre chaque
usine i et usine j, il existe un poids fij, aussi appel flux (par exemple la quantit de stock quon
peut transporter entre les deux usines). Ces flux sont exprims avec la matrice F. La fonction
objectif minimiser est la somme de la distance multiplie par le flux correspondant. (Goldberg
2006). Les deux matrices D et F sont illustres dans la figure 17.

Distance entre les


Flux entre les usines
emplacements

Figure 17 Illustration des matrices D et F

5.1 PRINCIPE DE LHYPER-HEURISTIQUE


Lapproche propose par (Oltean 2005) est dutiliser la programmation gntique linaire
(Linear Genetic Programming LGP)(Brameier and Banzhaf 2001)pour gnrer un
algorithme gntique qui rsout le problme. La programmation gntique linaire diffre de
la programmation gntique ordinaire par le fait que les individus nont pas une structure
darbre, mais ils sont exprims avec un langage impratif comme le C ou Pascal. Les individus
sont une suite dinstructions daffectation (Banzhaf, Nordin et al. 1998).Un exemple
dheuristique gnr par la programmation gntique linaire est illustr dans lalgorithme 7.

Un exemple dindividu (Oltean 2005):

46
Algorithme Programme LGP (v[8] : rel )
{
...
v[0] =v[5] + 73;
v[7] = v[4] - 59;
v[4] = v[2] *v[1];
}

Algorithme 6 Programme LGP

Pour faire la distinction, lalgorithme gntique charg de rsoudre le problme de laffectation


quadratique sera appel AG. Par consquent, les individus de lAG sont des solutions codes
avec une structure de vecteur. L'algorithme gntique gntique qui est charg de produire les
instructions de lAG sera appel mta-AG. La figure 18illustre le fonctionnement de lhyper-
heuristique.

Individu du
mta-AG
mta-AG
AG final
AG1 AG2 AG3 AG...

Figure 18 Schma sur de lhyper-heuristique employe

Un algorithme gntique classique suit les tapes suivantes : slection, croisement, mutation
puis le remplacement (Goldberg 2006). Cependant, pour lAG rsultant, les oprateurs peuvent
tre appliqus dans nimporte quel ordre. LAG ne manipule pas une seule population, mais
plusieurs populations diffrentes. Dans cette tude, lAG manipule 8 populations. Chaque
instruction de lAG engendre une nouvelle population. Une instruction suit la forme suivante :

Pop[i] = Mutation(pop[j]) //La population pop[j] subit une mutation. Population[i]


sauvegarde la nouvelle population
Pop[i] = Slection (pop[j], pop[k]) // on fait une slection des individus entre pop[j]
et pop[k], le rsultat est sauvegard dans pop[i]

47
Pop[i] = Croisement (pop[j], pop[k]) // on fait un croisement des individus entre
pop[j] et pop[k], le rsultat est sauvegard dans pop[i]

Un exemple dindividu du mta-algorithme gntique est illustr dans lalgorithme 8.

Algorithme Individu
Pour (int k = 0; k < MaxGenerations; k++){
//Pour chaque gnration on rpt les instructions suivantes
Pop[0] = Mutation(Pop[5]);
Pop[7] = Slection(Pop[3], Pop[6]);
Pop[4] = Mutation(Pop[2]);
Pop[2] = Croisement(Pop[0], Pop[2]);
Pop[6] = Mutation(Pop[1]);
Pop[2] = Slection(Pop[4], Pop[3]);
Pop[1] = Mutation(Pop[6]);
Pop[3] = Croisement(Pop[5], Pop[1]);
}
Fin

Algorithme 7 Individu du mta-algorithme

Pour valuer chaque AG, cest--dire, chaque individu du GP, la fonction dvaluation est la
moyenne des solutions de chaque AG. Chaque individu du GP est droul pendant 50
gnrations.

5.2 PARAMTRES DU MTA-AG


Les paramtres de lalgorithme gntique qui a fait voluer les heuristiques sont rsums dans
le tableau 7

Taille de la population 40
Mthode dinitialisation des AGs Alatoire
Critre de slection litisme
Croisement Croisement un point
Mutation 90%, Mutation standard
Critre darrt 100 gnrations
Table 7 Paramtres du Mta-AG

48
5.2.1 Stratgie de croisement
Le croisement un point est appliqu. Une instruction est choisie alatoirement dans les deux
parents. Toutes les instructions aprs linstruction slectionne sont permutes entre les deux
parents (Banzhaf, Nordin et al. 1998). Un exemple de croisement un point est illustr dans la
figure 19.

Figure 19 Illustration du croisement un point dans le cas de la programmation gntique linaire

5.2.2 Stratgie de mutation


La mutation standard se fait en slectionnant une instruction alatoirement. Soit on change la
variable, soit on change lopration (Banzhaf, Nordin et al. 1998). Lexemple dans la figure 20
montre la mutation dune instruction.

Figure 20 Exemple de la mutation d'une instruction

5.3 RSULTATS DES TESTS


(Oltean 2005) a compar entre les performances de lalgorithme gntique gnr par lhyper-
heuristique et un algorithme gntique standard. Il a premirement excut lhyper-heuristique
sur le problme de laffectation quadratique. Il la ensuite applique sur un autre problme qui
est le problme de voyageur de commerce. Pour le problme daffectation quadratique, il a

49
excut lhyper-heuristique sur les 26 instances les plus difficiles du benchmark (Burkard,
Karisch et al. 1997). Lalgorithme gntique gnr a donn de meilleurs rsultats que
lalgorithme gntique standard sur toutes les instances avec une diffrence de dviation allant
de 0.02% 22.90%.

Pour le problme de voyageur de commerce, lhyper-heuristique a t applique sur les


benchmarks de TSPLIB(Reinelt 1991) qui contiennent de 48 2000 villes. Lalgorithme
gntique gnr a donn de meilleurs rsultats que lalgorithme gntique standard dans toutes
les instances avec une dviation allant de 0.38% 5.79%.

6 TUDE COMPARATIVE
On rsume dans le tableau 9 les hyper-heuristiques de gnration qui ont t utilises pour
chaque problme.

Problme Rfrence Mthode de rsolution Paradigme


Bin-Packing (Burke, Hyde et al. Utiliser la programmation gntique pour gnrer Constructif
2006) une fonction qui dcide quel objet p insrer dans
le bin A
Ordonnancement sur des (Jakobovi, Utiliser la programmation gntique pour gnrer Constructif
machines multiples Jelenkovi et al. une fonction qui calcule la priorit de chaque job
2007)
Problmes demplois du (Bader-El-Den, Utiliser lvolution grammaticale pour construire de Constructif
temps de cours Poli et al. 2009) nouvelles heuristiques qui affectent un cours dans
un crneau horaire selon plusieurs critres
Problme de laffectation (Oltean 2005) Utiliser la programmation gntique linaire pour Perturbatif
quadratique gnrer un autre algorithme gntique.
Tableau 8 Stratgies des hyper-heuristiques de gnration tudies

Toutes les hyper-heuristiques tudies ont montr de bonnes performances dans la version
dynamique du problme. Pour le problme dordonnancement, toutes les heuristiques gnres
par lhyper-heuristique ont montr de meilleurs rsultats que les heuristiques de la littrature.
Du point de vue performance, les heuristiques gnres ont soit rivalis avec les heuristiques
existantes ou ont montr de meilleures performances.

Le tableau 12, rsume les avantages de chaque hyper-heuristique utilise sur un problme
doptimisation.

50
Problme Bin-Packing EDT Ordonnancement Affectation
(Burke, Hyde et (Bader-El-Den, (Jakobovi, Jelenkovi et al. quadratique
Avantage al. 2006) Poli et al. 2009) 2007) (Oltean 2005)
Donne de bons
rsultats dans la
version dynamique Les heuristiques gnres sont
du problme plus performantes que les
heuristiques de la littrature
Amlioration
considrable par
rapport aux Dans un environnement
heuristiques dynamique, et si les jobs
existantes doivent respecter une
squence, lamlioration est de
90%.
Grand nombre
dheuristiques
performantes
Tableau 9 Avantages des mthodes tudies

Dans le cas dune hyper-heuristique qui utilise la programmation gntique,il y a une grande
probabilit de tomber sur des heuristiques invalides ou qui possdent des instructions inutiles.
Une heuristique invalide est une heuristique qui viole une ou plusieurs contraintes du problme.

Selon la stratgie de lhyper-heuristique, lespace de recherche des heuristiques peut tre large
ou restreint. Par exemple lvolution grammaticale permet davoir un grand nombre
dheuristiques diffrentes. Tandis que pour lhyper-heuristique pour rsoudre le problme de
Bin-Packing et daffectation quadratique, le nombre dheuristiques possibles nest pas trs
grand. Les inconvnients de chaque hyper-heuristique sont rsums dans le tableau 11.

Bin-Packing (Burke, EDT Ordonnancement Affectation


Hyde et al. 2006) (Bader-El-Den, Poli (Jakobovi, quadratique
et al. 2009) Jelenkovi et al. (Oltean 2005)
2007)
Grand nombre
dheuristiques

invalides
Contient des
instructions inutiles

51
Espace de recherche
des heuristiques

restreint
Coteux en
ressources

Tableau 10 Inconvnients des mthodes tudies

6.1 CONCLUSION
Aprs une tude bibliographique des diffrentes stratgies employes par les hyper-
heuristiques de gnration, on remarque que la plupart des hyper-heuristiques de
gnration se basent sur la programmation gntique (Koza 1992) et ses variantes
comme lvolution grammaticale (Ryan, Collins et al. 1998) et la programmation
gntique linaire (Brameier and Banzhaf 2001). Les hyper-heuristiques qui utilisent la
programmation gntique ont linconvnient de produire des heuristiques invalides.
Pour pallier cet inconvnient, un mcanisme doit tre implment afin de rparer une
heuristique invalide. Si la rparation est impossible, on peut accepter lheuristique
invalide et la faire voluer. Aprs plusieurs croisement et mutations, lheuristique peut
devenir valide et mme meilleure que les autres heuristiques (Burke, Hyde et al. 2007).

Les hyper-heuristiques de gnration peuvent produire de faon automatique et


intelligente une heuristique spcialise pour rsoudre une classe de problmes
doptimisation. Elle profite dun espace de recherche plus large compar aux hyper-
heuristiques de slection(Burke, Hyde et al. 2010). Les heuristiques et mtaheuristiques
gnres ont montr de bons rsultats. Certaines ont pu dpasser les performances les
heuristiques et mtaheuristiques de la littrature. La structure des heuristiques joue un
rle important. Elle dtermine lespace de recherche de lhyper-heuristique (Bader-El-
Den, Poli et al. 2009).

La phase de construction dheuristique ou de mtaheuristique peut tre coteuse en


temps et en mmoire. Mais aprs avoir gnr 20 heuristiques sur des classes diffrentes
de problmes (Burke, Hyde et al. 2007) a appliqu ces heuristiques sur des benchmarks
diffrents. 17 heuristiques ont donn de bons rsultats.

Dans le chapitre qui suit, nous prsentons la conception de lhyper-heuristique


propose, son architecture ainsi que les stratgies employes par lhyper-heuristique.

52
Chapitre 3
Conception

53
1 INTRODUCTION
Dans le chapitre prcdent, nous avons effectu une tude bibliographique sur les stratgies
des hyper-heuristiques de gnration. Au dbut, ces hyper-heuristiques ncessitent du temps et
des ressources afin de construire des mthodes de rsolution performantes. Mais cet
inconvnient est court terme, car les mthodes gnres vont tre rutilises dans le futur sur
les instances du problme. Dans ce qui suit, nous allons dtailler la conception de lhyper-
heuristique propose. Elle est capable de rsoudre un grand ensemble de problmes
doptimisation qui se base sur le fonctionnement dun algorithme gntique qui fait voluer
des mthodes de rsolution bas-niveau qui sont aussi des algorithmes gntiques. En dautres
termes, on utilise un algorithme gntique qui fait voluer des algorithmes gntiques.

Dans le but dobtenir la fin un algorithme gntique performant, il faut tester toutes les
combinaisons possibles de paramtres. Les paramtres des algorithmes gntiques
interagissent de manire non linaire. On ne peut pas optimiser un seul paramtre. Il faut
combiner plusieurs paramtres la fois et tester le rsultat. Pour un simple algorithme
gntique standard qui est utilisable sur la majorit des problmes, on a recens 96 000
combinaisons possibles. Il est ncessaire dutiliser un mta-algorithme gntique afin de
chercher parmi ces combinaisons la meilleure configuration. Le problme de trouver la
meilleure combinaison est trait comme un problme doptimisation en lui-mme. Lespace de
recherche constitue le nombre de combinaisons possibles. Il faut distinguer entre lhyper-
heuristique qui emploie un mta-algorithme gntique et les algorithmes gntiques bas-
niveau. On va nommer lhyper-heuristique Hyper-AG. Alors que lalgorithme gntique bas-
niveau qui rsout directement le problme doptimisation est appel AG-Souche. Pour que
lhyper-heuristique puisse rsoudre une grande varit de problmes doptimisation, elle
emploie en premier temps un algorithme gntique standard applicable sur tout type de
problme. Mais il y a des cas o lalgorithme standard peut fournir des rsultats insuffisants.
Afin damliorer ses performances, nous avons enrichi lAG-Souche avec des couches
additionnelles. Une couche qui comprend des stratgies gntiques ddies au problme quon
veut rsoudre. Une autre couche a t dveloppe qui diversifie ou intensifie la population.
Dans le cas o une population stagne dans un optimum local, le mcanisme de diversification
est dclench et on obtient une population diversifie. Le mcanisme dintensification est
utilis pour amliorer la qualit des individus.

54
2 HYPER-HEURISTIQUE HYPER-AG
Lhyper-heuristique est un algorithme gntique et manipule des hyper-individus qui
contiennent les stratgies et les paramtres des AG-Souche. Le chromosome de lhyper-AG est
appel hyper-chromosome. Chaque gne de lhyper-chromosome reprsente soit une stratgie
ou la valeur dun paramtre. Pour mesurer les performances des AG-Souche, on les droule
sur un ensemble dinstances de problmes pendant k gnrations. Pour valuer la fitness de
chaque hyper-chromosome, on instancie des AG-Souche avec les valeurs contenues dans
chaque hyper-chromosome. On excute ces AG-Souche sur un ensemble dinstances du
problme et on mesure leurs performances la fin. Les hyper-chromosomes passent travers
les oprations dun algorithme gntique. On gnre une population initiale dhyper-
chromosomes. On value chacun en lexcutant sur un ensemble de problmes. Durant la
slection, on choisit un ensemble dhyper-chromosomes afin de gnrer de nouveaux hyper-
chromosomes aprs le croisement et la mutation. A la fin de chaque itration, on value les
nouveaux hyper-chromosomes et on construit la nouvelle population de la gnration suivante.
On rpte les mmes tapes pendant k gnrations.

3 ARCHITECTURE DE LHYPER-HEURISTIQUE PROPOSE


Lhyper-heuristique propose est constitue de deux parties disposes en niveaux comme suit :

Niveau Hyper-heuristique : Cest la partie suprieure qui permet de gnrer la


mtaheuristique qui va rsoudre le problme doptimisation. Nous avons choisi dutiliser une
mtaheuristique base de population. Parmi ces mtaheuristiques, on a choisi lalgorithme
gntique. Lhyper-heuristique (nomme Hyper-AG) va gnrer la fin une mtaheuristique
qui va rsoudre un problme doptimisation de manire efficace et qui est elle aussi un
algorithme gntique (nomm AG-souche). Lhyper-heuristique fonctionne en tant
qualgorithme gntique qui manipule des algorithmes gntiques.

Niveau Rsolution : Elle contient les composants de la mthode qui va rsoudre le problme
doptimisation. La mthode finale qui rsout le problme est un algorithme gntique. Cette
couche contient des composants qui reprsentent des stratgies et des paramtres dalgorithmes
gntiques. Parmi les oprations gntiques, on peut citer les stratgies de slection, de
croisement, de mutation Parmi les paramtres on peut citer le taux de croisement, le taux de

55
mutation, le nombre dindividus... Ces composants dfinissent lespace de recherche de
lhyper-heuristique.

Ces parties sont indpendantes. Il est possible dapporter des modifications une partie
sans altrer le fonctionnement de la solution globale. Si on veut que lhyper-heuristique gnre
la fin une autre mtaheuristique autre quun algorithme gntique, il suffit de changer la partie
infrieure. Larchitecture de lhyper-heuristique est illustre dans la figure 13.

Choix de la
valuation des
mthode bas-
mthodes bas-
niveau
niveau

56
Figure 21Architecture de lhyper-heuristique propose

4 CODIFICATION DUN INDIVIDU DE LHYPER-AG


Lhyper-heuristique manipule des AG-Souche dont les stratgies et paramtres sont codifis
dans des hyper-chromosomes.La codification dun hyper-chromosome est illustre dans la
figure 14.

Nbr Stratgie de Slection Croisement Pc Mutation Pm Inverser Remplacement Critre


Individus lheuristique croisement et darrt
initiale mutation
Figure 22Codification d'un hyper-chromosome

Les gnes de lhyper-chromosome sont :

Nbr Individus : Nombre dindividus dans la population initiale de lAG-souche ;


Stratgie de gnration de la population initiale :Elle indique la stratgie de
gnration de la population initiale lAG-souche ;
Slection :indique la stratgie de slection de lAG-souche ;
Croisement : indique la stratgie de croisementde lAG-souche ;
Pc : La probabilit de croisementde lAG-souche ;
Mutation : indique la stratgie de mutationde lAG-souche ;
Pm : La probabilit de mutationde lAG-souche ;
Inverser croisement et mutation: Ce paramtre indique si on peut inverser lordre
entre le croisement et la mutation dans lAG-souche. Il peut prendre seulement deux
valeurs 0 et 1 :

57
o 0 : de lAG-souche se droule normalement avec croisement puis mutation.
o 1 : On inverse lordre de croisement et de mutation.
Remplacement : indique la stratgie de remplacementde lAG-souche ;
Critre darrt : si 0, on arrte lalgorithme gntique quand la population est stagne
pendant k gnrations. Le paramtre k est fix avant lexcution de lhyper-heuristique.
Sinon lentier indique le nombre de gnrations de lAG.

5 LES HYPER-OPRATEURS GNTIQUES


Lhyper-heuristique utilise un algorithme gntique. On explique les stratgies des hyper-
oprateurs utiliss par lhyper-AG.

5.1 STRATGIE DINITIALISATION DE LHYPER-AG


Les paramtres des AG-Souche initiaux sont gnrs de deux manires :

Alatoire : Les AG-Souche sont gnrs de manire alatoire et uniforme.


Meilleures stratgies : une partie de la population est initialise avec des paramtres
dAG-Souche performants. Le reste de la population initiale est rempli avec des AG-
Souche gnrs avec des paramtres et des stratgies alatoires.

5.2 STRATGIE DE SLECTION DE LHYPER-AG


Alatoire : On slectionner les parents de manire alatoire
litisme (De Jong 1975): Les individus qui possdent la meilleure fitness seront
slectionns. Cette stratgie favorise fortement lintensification. Dans certains cas, elle
peut mener la convergence prmature vers loptimum local
K-Tournoi (Goldberg and Deb 1991): On slectionne k individus. Lindividu qui
possde la meilleure fitness parmi les k individus est slectionn comme parent. La figure
15 montre un exemple de 3-tournoi.

58
Figure 23Illustration de la slection k-tournoi

5.3 STRATGIE DE CROISEMENT DE LHYPER-AG


Pour le croisement, il existe trois stratgies :

1. Croisement 1X (Davis 1985) :Il consiste partager les parents en deux parties
alatoirement grce un point de coupure. Ce point de coupure doit tre le mme dans
les deux parents. La premire partie du parent1 (respectivement parent2) et recopie
dans lenfant1 1 (respectivement enfant 2) . Pour la deuxime partie, on recopie celle
du parent 1 dans lenfant 2 et celle du parent2 dans lenfant 1

Parent 1

500 1 1 7 95 2 11 2 200 50 0
Parent 2

1000 3 4 3 80 3 5 1 200 70 10

Enfant1 :

59
1000 3 4 3 80 3 11 2 200 50 0
Enfant 2 :

500 1 1 7 95 2 5 1 200 70 10

Figure 24Illustration du croisement 1X

2. Croisement 2X (Davis 1985) :Il consiste choisir deux points de coupures


alatoirement sur les deux parents. Les points de coupures doivent tre dans la mme
position dans les deux parents. Le contenu en dehors des deux points de coupure est
recopi depuis les parents vers leurs enfants respectifs. La partie lintrieur des zones
de coupure est inverse.

Parent 1

500 1 1 7 95 2 11 2 200 50 0
Parent 2

1000 3 4 3 80 3 5 1 200 70 10

Enfant1 :

500 1 1 3 80 3 5 1 200 50 0
Enfant 2 :

500 1 1 7 95 2 11 2 200 70 10

Figure 25 Illustration du croisement 2X

Croisement uniforme(Spears and De Jong 1995) :Le croisement uniforme avec


probabilit r consiste inverses la valeur des deux gnes des parents selon une
probabilit r.Dans lexemple illustr dans la figure 18, la probabilit r = 0,5.

Parent 1

500 1 1 7 95 2 11 2 200 50 0
Parent 2

1000 3 4 3 80 3 5 1 200 70 10

60
Enfant 1

500 1 4 7 80 3 11 2 200 70 0
Enfant 2

1000 3 1 3 95 2 5 1 200 50 10
Figure 26 Illustration du croisement uniforme

5.4 STRATGIE DE MUTATION DE LHYPER-AG


La stratgie de mutation de lhyper-heuristique consiste slectionner alatoirement un nombre
k de paramtres et changer leurs valeurs avec des valeurs alatoires. Dans la lexemple illustr
par la figure 19, k = 3

500 1 1 7 95 2 11 2 200 50 0

500 1 3 5 95 2 1 2 200 50 0
Figure 27 Illustration de la mutation uniforme

5.5 STRATGIE DE REMPLACEMENT DE LHYPER-AG


On utilise trois stratgies de remplacement :

1. gnrationnel : aprs chaque gnration, les enfants constituent la nouvelle


population et remplacent les anciens individus. Dans le cas o le nombre
denfants est infrieur au nombre dindividus de la population, on remplit la
population avec des parents slectionns alatoirement.
2. litiste : partir des parents et des enfants, on garde seulement les meilleurs
individus dans la nouvelle population.
2. Remplacement + : on remplit une partie de la nouvelle population avec les
meilleurs individus partir des anciens individus, les enfants gnrs par
croisement et mutation. Le reste de la nouvelle population est choisi
alatoirement

61
6 PROBLME DOPTIMISATION TUDI
Depuis la parution de larticle de (Johnson 1954), le problme de lordonnancement Flow-shop
a t lun des problmes les plus tudis et lun des domaines de recherche les plus actifs. La
variante la plus connue du problme Flow-shop est le problme de Flow-shop de permutation
PFSP. Selon la notation ||(Graham, Lawler et al. 1979), il est not F/prmu/Cmax. Le
problme du Flow Shop de permutation sans attente avec comme fonction objectif de
minimiser le makespan Cmaxa t prouv NP-Difficile quand le nombre m de machines est
suprieur 3 (ROCK 1984).

Soit un ensemble M de machines {M1,Mm} et N de tches {J1,Jn}. Chaque tche I doit tre
excute sur les m machines. Lordre de passage des tches doit tre identique sur toutes les
machines, i.eles tches ne peuvent pas changer dordre durant leur excution. Le temps
dexcution de chaque tche est connu lavance et est non ngatif.ij le temps dexcution de
la tche i sur la machine j est not , , . Le tableau 1 montre un exemple dune
matrice qui contient les temps dexcution de 4 tches dans 5 machines.

Machines M1 M2 M3 M4 M5

Tches
J1 5 9 8 10 1
J2 9 3 10 1 8
J3 9 4 5 8 6
J4 4 8 8 7 2
Table 11 Matrice qui contient les temps d'excution de chaque tche i dans la machine j

Pour le problme du PFSP, on suppose les caractristiques des tches suivantes (Baker and
Trietsch 1974):

Toutes les tches sont indpendantes et disponibles linstant t=0


On suppose quil ny ait pas de pannes sur les machines
Les tches sont non premptives. Ds quune tche est excute sur une machine, elle
ne peut pas tre interrompue jusqu sa fin.

Le critre dordonnancement optimiser est le Cmax (Makespan). Le Cmaxreprsente la date de


fin d'excution de la dernire tche sur la dernire machine. La rsolution du PFSP consiste

62
trouver lordre des tches, aussi appel permutation, afin dobtenir le Cmax minimal. La figure
20montre lexcution de la squence 3-2-1-4 qui a men un Cmax =39

Figure 28 L'excution d'une squence de tches

Soit la permutation { 1, 2 ,, n } qui reprsente la squence de n jobs sur m machines. Soit


la matrice T qui contient le temps dexcution de la tche i sur la machine j. On peut calculer
le Cmax en O(nm) tapes de la manire suivante :

Cmax = enm = max(en,m-1,en-1,m) + tn,m avec :

eij : reprsente le temps de fin au plus tt de la tche i dans la machine j. Il est calcul
de la manire suivante :
o eij = max (ei,j-1,ei-1,j) + ti,j (i = 2...n) (j = 2...m)
o e1j = 0, ei1 = 0

Figure 29 temps de compltude le plus tt eij (Taillard 1990)

7 LALGORITHME GNTIQUE BAS-NIVEAU


Il sagit de lAG-souche qui va rsoudre le problme doptimisation tudi. Cependant, dans
certains cas lAG-souche peut donner des rsultats insuffisants. Pour pallier ce problme, nous
avons implment dautres stratgies et mcanismes rpartis en couches. Ces couches
permettent damliorer les performances de lAG-Souche en largissant lespace de recherche

63
de lHyper-AG. LAG-Souche est compos de trois couches qui sont illustres dans la figure
22:

1. Couche AG-Standard : Elle contient les oprateurs qui peuvent tre utiliss par tous
les algorithmes gntiques, peu importe le type de problme.
2. Couche AG-Spcifique : Elle contient des oprateurs ddis au problme
doptimisation quon veut rsoudre.
3. Couche AG-Dynamique : Elle contient des mcanismes qui peuvent senclencher
durant lexcution de lalgorithme gntique si un certain critre est atteint
(gnralement la stagnation). Ces mcanismes permettent dassurer soit la
diversification de la population ou son intensification.

Figure 30 Couches de l'AG-Souche

LAG-Souche utilise les oprateurs gntiques suivants : slection, croisement, mutation et


remplacement. Si les mcanismes de redmarrage ou de vaccination sont activs, ils seront
aussi utiliss. Lalgorithme 2 montre le pseudo-code de lalgorithme gntique.

64
ALGORITHME AG-Souche
Population actuelle Initialisation () ;
Mise jour de la fitness des individus
Pour i allant de 1 nbrGnrations
POUR
//Croisement
Pour j allant de 1 (nombre dindividus * taux de Crossover)
//on slectionne (nombre dindividus * taux de croisement) parents
Population des parentsslection (Population actuelle);
Pour j allant de 1 (nombre dindividus * taux de Crossover)
Gnrer un nombre alatoire [0,1]
Si ce nombre alatoire < Probabilit de Crossover
SI
slectionner deux parents alatoirement de la population des parents avec remise
(E1, E2) Crossover (Parent1, Parent2)
Ajouter (E1, E2) la population des enfants
FSI
//on fusionne lancienne population et la population des enfants
Ajouter tous les enfants la population intermdiaire
Ajouter les individus de la population actuelle la population intermdiaire
Pour j allant de 1 nombre dindividus de la population intermdiaire
//mutation des individus de la population intermdiaire
POUR
Gnrer un nombre alatoire [0,1]
Si ce nombre alatoire < Probabilit de mutation
Population intermdiaire [j] Mutation (Population actuelle[j])
FPOUR
//Vaccination
Gnrer un nombre alatoire [0,1]
Si ce nombre alatoire < Probabilit de Vaccination
SI
VaccinExtraireVaccin(Meilleur individu 1,Meilleur individu 2) //on extrait la forme
commune entre les deux meilleurs individus qui est le vaccin
Trier la population actuelle selon la fitness
Pour j allant de nombre individus (nombre individus* taux vaccination)
Population Actuelle[j]= injecterVaccin(population intermdiaire [j],Vaccin)
FSI
Si DclencheurRestart != 0 // reprsente le nombre de gnrations k o la population
est stagne afin denclencher le mcanisme du redmarrage
SI
Si la moyenne de la gnration actuelle la moyenne de la gnration prcdente <//Si
la moyenne de la population est stagne
compteurRestart++ ;
Si compteurRestart = =DclencheurRestart
Restart () ;
FSI
FPOUR
FIN
Algorithme 2AG-Souche

65
7.1 CODIFICATION DUN INDIVIDU DE LAG-SOUCHE
Le but de la rsolution du problme Flow-Shop de permutation est de trouver une permutation
de tches qui minimise la fonction objectif. Un chromosome reprsente donc une permutation
{1, 2 ,, n }de n tches. Les valeurs du chromosome reprsentent lindice de chaque tche
dans la permutation (Reeves 1995). La figure 23 montre un exemple dun chromosome pour
le problme du Flow-Shop de permutation.

3 2 4 1
Figure 31 Exemple d'un chromosome

. Lalgorithme 1montre le pseudo-code de lalgorithme gntique

7.2 LES OPRATEURS GNTIQUES DE LAG-STANDARD


On va prsenter dans ce qui suit la stratgie utilise par les oprateurs de lAG Standard

7.2.1 Gnration de la population initiale


La population initiale peut dterminer quelle partie de lespace de recherche lalgorithme
gntique va explorer. Les stratgies de gnration de la population initiale sont :

Uniformment alatoire : Mettre les n tches dans un ordre alatoire


Heuristique:(Reeves 1995) a conclu que si la population initiale contient des individus
gnrs alatoirement et dautres individus gnrs par une heuristique, la population
converge plus rapidement vers la solution optimale. 90% des individus de la population
sont gnrs alatoirement. On remplit le reste de la population initiale avec des
individus gnrs partir de la mutation dun individu gnr par une heuristique. Pour
le problme du Flow-shop de permutation, Lheuristique utilise est lheuristique
NEH(Nawaz, Enscore et al. 1983). Pour la mutation, on utilise la mutation SHIFT qui
consiste retirer une tche alatoire et linsrer dans une autre position alatoire.
Lheuristique NEH est parmi les mthodes polynomiales qui donnent de trs bons
rsultats dans la pratique(Nawaz, Enscore et al. 1983). Elle se droule en deuxtapes :

tape 1 : Pour chaque job, on additionne ces temps dexcution sur toutes les
=1
machines. Pour nimporte quelle tche i, on calcule , puis on ordonne de
manire descendante les tches selon la somme des temps dexcution de chaque tche
sur toutes les machines. On assigne des indices aux jobs selon leur ordre. La tche qui

66
a la plus grande somme de temps dexcution sur toutes les machines est appele J1.
La tche qui suit est appele J2

tape 2 : On prend les deux premiers jobs et on les ordonne de faon ce que le Cmax
soit minimis. Par exemple pour J1-J2, Cmax = 42 et pour J2-J1, Cmax = 46. On prend la
squence J1-J2. Pour k>= 2, on insre la kime tche la position qui minimise le
makespan de la squence correspondante. Soit la matrice Tdes dures opratoires dun
atelier de 4 tches et 5 machines. :

1 2 3 4 5
5 9 8 10 1
9 3 10 1 8
9 4 5 8 6
( 4 8 8 7 2 )

Quand on fait la somme des temps dexcution sur toutes les machines et aprs le tri
descendant, on obtient lordre suivant : J1, J3, J2, J4.
Makespan partiel de J1-J3 = 46, J3-J1 = 42. On prend la squence J3-J1.
Pour la tche J2, on calcule le makespan partiel des squences J2-J3-J1, J3-J2-J1 et J3-
J1-J2. Le makespan partiel de ces trois squences est montr dans la figure 24. Puisque
la squence J3-J1-J2 possde le makespan partiel minimal, on prend cette squence.

Figure 32 Illustration du NEH : insertion du J2

Pour J4, on calcule le makespan partiel des squences : J4-J3-J1-J2, J3-J4-J1-J2, J3-J1-
J4-J2 et J3-J1-J2-J4. Le makespan partiel des quatre squences est montr dans la figure
16. Puisque la squence J3-J4-J1-J2 possde le makespan partiel minimal, on prend

67
cette squence. La squence choisie durant la dernire itration est la solution finale
produite par lheuristique NEH qui est : J3-J4-J1-J2 avec un Cmax = 54.

Figure 33 Illustration du NEH : insertion du J4

Dans le cas o deux squences ou plus possdent le mme makespan partiel, on utilise
dautres critres pour choisir quelle squence prendre. Parmi ces critres, on choisit la squence
qui rduit le temps dinterruption (idle time)(Fernandez-Viagas and Framinan 2014).

Lacclration de Taillard : Lheuristique NEH possde une complexit O(n3m)(Reeves


1995). Pour rduire la complexit de lheuristique, on utilise lacclration de Taillard (Taillard
1990) pour rduire la complexit de lheuristique O(nm). Pour calculer le makespan partiel
Cmax, on utilise la formule suivante :

Cmax= max (ij+qij)


=1

3. ij Plus tt temps de compltude relatif. Cest la dure entre le dbut de lopration


linstant t=0 et la compltude du kme job.

fi0 = 0 fij = max(fi,j-1,ei-1,j) + tkj (i = 1...k) (j = 1...m) avec

e0j = 0, ei0 = 0 eij = max(ei,j-1,ei-1,j) + tij (i = 1...k-1) (j = 1...m)

4. qij reprsente la dure entre le dbut du job i et la fin de toute lopration.

qkj = 0, qi,m+1 = 0 qij = max(qi,j+1,qi+1,j) + tij (i = k-1...1) (j = m...1)

68
Figure 34 Plus tt temps de compltude relatif ij et la queue ij(Taillard 1990)

7.2.2 Slection
Les mthodes de slection utilises par lAG-Souche sont recenses dans le tableau 1

Index Mthodes de slection


1 Roulette
2 2-Tournoi
3 3-Tournoi
4 4-Tournoi
5 litisme
6 Rang
Table 12 Mthodes de slection de lAG-Souche

1. Roulette (Goldberg and Deb 1991): Chaque individu est affect une probabilit
proportionnelle sa fitness.

()
P(i) =
=1 ()

Chaque individu occupe une portion de la roue qui est proportionnelle sa fitness. La roue est
tourne N fois, o N est le nombre de parents slectionner. Aprs chaque tour, lindividu qui
est sous le marqueur de la roue est slectionn parmi les parents. Elle a pour but de slectionner
de bons individus tout en vitant la convergence prmature.

Individu Fitness
Individu 1 28
Individu 2 14
Individu 3 9

69
Individu 4 4

Figure 35 Probabilit de chaque individu d'tre slectionn dans la slection roulette Commented [K4]: Rparer celle-ci

2. Rang : Cest une autre mthode qui a pour but dviter la convergence
prmature. Baker (1985). Les individus sont ordonns selon leur fitness de
manire ascendante. On attribue une valeur chaque individu qui dpend de son
rang et linstant t qui est la tme gnration. Cette valeur est calcule avec la formule
suivante :
(,)1
Valeur (i,t)= Min + (Max Min) 1

Min et Max sont deux valeurs arbitraires. Il est recommand de mettre la valeur de Max =
1.1 et Min = Max/2(Baker 1984). Cette mthode ignore la diffrence entre la fitness des
individus. Ceci a pour avantage dviter quun petit groupe dindividus ayant une plus
grande fitness soit toujours slectionn.

Individu Fitness Probabilit


Individu 1 28 4/10
Individu 2 14 3/10
Individu 1 Individu 2 Individu 3 Individu4 Individu 3 9 2/10
Individu 4 4 1/10
Figure 36 Probabilit de chaque individu d'tre slectionn dans la slection par
rang

7.2.3 Croisement
Les mthodes de croisement utilises par lAG-Souche sont recenses dans le tableau 3.Le
tableau 3 contient des stratgies de croisement standards ainsi que les stratgies de croisement
ddies au problme du Flow-shop de permutation.

70
Indexe Mthodes de croisement
1 PMX
2 OX
3 1X Mthodes

4 2X standards
Table 13 Mthodes de croisement de l'AG-Souche standard

Croisement OX (Davis 1985): Deux points de coupures sont slectionns


alatoirement dans les deux parents. Aprs il se droule en deux tapes :

tape 1 : On recopie le contenu lintrieur des points de coupure dans leurs enfants
respectifs

Figure 37 Illustration du croisement OX : premire tape

tape 2 : On retire du parent1 les lments copis dans lenfant 2. On fait la mme chose
entre le parent2 et lenfant 1

Figure 38 Illustration du croisement OX : deuxime tape

tape 3 : On remplit lenfant1 avec les lments restants du parent2 en commenant du


premier lment. On fait la mme chose entre le parent2 et lenfant 1

71
Figure 39 Illustration du croisement OX : troisime tape

Croisement PMX (Bierwirth, Mattfeld et al. 1996) : deux points de coupures


sont slectionns alatoirement sur les deux parents. On insre le contenu entre les
deux points de coupure aux enfants de manire inverse.

Figure 40 Illustration du croisement PMX : premire tape

Puis on cre une table dassociation entre le contenu qui se trouve lintrieur des points de
coupure.

1 <-> 6
5 <-> 9
7 <-> 8

On remplace les valeurs dans les parents par les valeurs contenues dans le tableau dassociation.

Figure 41 Illustration du croisement PMX : deuxime tape

Aprs on les copies dans les enfants respectifs

72
Figure 42 Illustration du croisement PMX : troisime tape

Mcanisme de rparation : Certains oprateurs de croisement peuvent mener des individus


invalides comme le croisement 1X, 2X et PMX. La plupart du temps, la cause de leur invalidit
est lexistence de deux tches identiques dans un chromosome. La rparation consiste dtecter
la position de deux tches ou plus similaire. Lexistence de tches similaires implique labsence
dautres tches dans le chromosome. Pour rendre le chromosome valide, on insre les tches
absentes la place des tches similaires. On choisit dinsrer la nouvelle tche dans la position
qui minimise le Cmax.

Figure 43 Illustration du mcanisme de rparation

7.2.4 Mutation
Le tableau 4prsente les mthodes de mutation qui peuvent tre utilises par lAG-Souche.

Indexe Mthodes de mutation


1 SHIFT
2 SWAP
3 POSITION
4 3-Inverse
Table 14 Mthodes de mutation de lAG-Souche

Mutation SHIFT : On retire une tche alatoirement et on la rinsre dans une autre position
alatoire.

73
Figure 44 Illustration de la mutation SHIFT

Mutation SWAP : On choisit alatoirement deux tches et on inverse leur position

Figure 45 Illustration de la mutation SWAP

Mutation POSITION : Cest un cas spcial de la mutation SWAP o inverse la position de


deux tches adjacentes.

Figure 46Illustration de la mutation POSITION

Mutation 3-Inverse : On choisit une squence de trois tches conscutives alatoirement et


on inverse leur ordre

Figure 47 Illustration de la mutation 3-Inverse

7.2.5 Remplacement
Les stratgies de remplacement sont recenses dans le tableau 5 :

Numro Mthodes de remplacement


1 gnrationnel
2 litiste
3 +
Table 15 Mthodes de remplacement de l'AG-Souche

74
7.3 LES STRATGIES DE LAG-SPCIFIQUE
Afin damliorer les performances de lAG-Standard, on a intgr des stratgies de croisement
ddies au problme tudi, qui est le problme dordonnancement Flow-Shop de permutation.

Indexe Mthodes de croisement


5 SJOX
6 SBOX
7 SJ2OX
8 SB2OX
9 LCS
Figure 48 Mthodes de croisement de l'AG-Spcifique

Croisement SJOX : Propos par (Ruiz, Maroto et al. 2006). Un point de coupure est
choisi alatoirement sur les deux parents. Il se droule en trois tapes :

tape 1 : Les jobs qui sont identiques dans les deux parents et dans les mmes positions
sont recopis vers les enfants

Figure 49 Illustration du croisement SJOX : premire tape

tape 2 : ceux qui sont avant le point de coupure sont recopis dans leurs enfants respectifs

Figure 50 Illustration du croisement SJOX : deuxime tape

75
tape 3 : Les tches qui ne sont pas disponibles dans lenfant2 sont recopies partir du
parent1 dans le mme ordre quelles taient dans le parent1. On fait la mme chose entre le
parent2 et lenfant1.

Figure 51 Illustration du croisement SJOX : troisime tape

Croisement SBOX : Cest une variante du SJOX. Au lieu de recopier les mmes tches
qui sont dans la mme position, on recopie les mmes blocs, en dautres termes une squence
de tches qui a un nombre doccurrences plus grand ou gal 2, et on les recopie dans les
enfants respectifs.

Figure 52 Illustration du croisement SBOX : premire tape

Ltape suivante est le mme processus que dans le croisement SJOX : les tches avant le point
de coupure sont copies dans les enfants respectifs. Aprs, on recopie les lments manquants
de lenfant1 partir du parent2 et mmes choses entre le parent1 et lenfant2.

76
Figure 53 Illustration du croisement SBOX : deuxime tape

5. Croisement SJ2OX : Il fonctionne comme le SJOX, mais au lieu dutiliser un seul


point de coupure, on utilise deux. La partie lintrieur des points de coupure est recopie
partir des parents vers les enfants respectifs.

tape 1 : On recopie les tches identiques qui sont dans la mme position.

Figure 54 Illustration du croisement SJ2OX : premire tape

tape 2 : On recopie les tches qui sont entre les deux points de coupure vers les
enfants.

Figure 55Illustration du croisement SJ2OX : deuxime tape

tape 3 : On recopie les tches partir du parent 2 vers lenfant 1 tout en respectant
lordre des tches dans le parent 2. On fait de mme entre le parent 1 et lenfant 2.

77
Figure 56Illustration du croisement SJ2OX : troisime tape

Croisement SB2OX : Il fonctionne comme le SBOX, mais on utilise aussi deux points
de coupure. On recopie la partie entre les deux points partir des parents vers les enfants
respectifs.

tape 1 : On recopie les blocs de tches identiques qui sont dans la mme position.

tape 2 : On recopie les tches qui sont entre les deux points de coupure vers les
enfants.

tape 3 : On recopie les tches partir du parent 2 vers lenfant 1 tout en respectant
lordre des tches dans le parent 2. On fait de mme entre le parent 1 et lenfant 2.

78
Croisement LCS (Iyer and Saxena 2004):Le croisement LCS (Longest Common
Sequence) consiste dtecter la sous-squence commune la plus longue entre deux individus.
Les tches appartenant la plus longue sous-squence commune sont recopies dans les enfants
respectifs.

Figure 57 Illustration du croisement LCS : premire tape

Ltape suivante consiste remplir les tches manquantes dans lenfant1 partir du parent2.
Mme chose entre le parent2 et lenfant1

Figure 58 Illustration du croisement LCS : deuxime tape

79
7.4 LES OPRATEURS DE LAG-DYNAMIQUE
Durant lexcution dun algorithme gntique, la population volue travers plusieurs
gnrations. une certaine tape, la population peut atteindre un degr bas de diversification
et devient coince autour dun optimum local. Pour rsoudre ce problme, on peut construire
une nouvelle population plus diversifie partir de la population actuelle et redmarrer
lalgorithme gntique. Cette solution est appele mcanisme de redmarrage (Restart). Afin
de savoir si la population stagne dans un optimum local, on calcule la diffrence de moyenne
de la population entre deux gnrations et le taux de diversification des individus entre deux
gnrations. Si la diffrence de moyenne est petite et le taux de diversification est aussi petit,
on incrmente un compteur. Si ce compteur atteint un nombre k de gnrations, on dclenche
le mcanisme de redmarrage.

Dans dautres cas, il est ncessaire damliorer la qualit dun ensemble dindividus
afin que la population contienne en majorit de bons individus. Pour cela, on utilise le
mcanisme de vaccination qui consiste relever une forme commune partir des meilleurs
individus et linjecter dans dautres individus afin damliorer leur qualit.

7.4.1 Mcanisme de Redmarrage(Restart)


Le mcanisme fonctionne selon la solution propose par (Ruiz, Maroto et al. 2006):

1. On trie tous les individus de manire ascendante selon leur Cmax


2. On garde les 20% meilleurs individus.
3. partir de la portion restante qui reprsente 80%,on applique une mutation SHIFT
aux 20% meilleurs individus et on remplace 50% des individus restants. Les 25%
sont remplacs par des individus gnrs par lheuristique NEH+mutation SHIFT.
Les 25% restants sont remplacs par des individus gnrs alatoirement.

80
Figure 59 Mcanisme de redmarrage selon (Ruiz, Maroto et al. 2006)

7.4.2 Vaccination
La vaccination consiste modifier les gnes dun individu x en utilisant des connaissances
acquises durant lexcution afin damliorer leur qualit. Ces connaissances sont extraites
partir des meilleurs individus de la population (Jiao and Wang 2000). Les cellules mmoires
sont les N meilleurs individus de la population. Le vaccin est extrait partir de deux ou
plusieurs cellules mmoires qui sont choisies alatoirement depuis lensemble des cellules
mmoires. Le nombre N est un paramtre qui peut influer sur les performances de la
vaccination. On extrait partir des cellules mmoires une forme commune qui existe entre les
individus. Il y a deux stratgies pour dtecter cette forme commune.

1. Plus longue sous-squence commune : La premire consiste trouver la plus longue sous-
squence commune entre deux ou plusieurs chromosomes. Comment dtecter la plus longue
sous-squence commune entre deux individus a t expliqu dans la partie 1.7.2.3 Croisement
LCS. Soient deux cellules mmoires C1 et C2 montres dans la figure 39.

Figure 60 Les cellules mmoires

La plus longue sous-squence commune entre les deux cellules est : 49385. Pour linjecter sur
lindividu quon veut amliorer, on rarrange les tches de telle faon quelles suivent le mme
ordre que le vaccin.

81
Figure 61 Vaccination d'un individu

2. Positionnement des tches : La deuxime stratgie consiste dtecter les tches qui se
trouvent dans la mme position dans les cellules mmoires. On identifie la valeur des tches
ainsi que leur position. Dans lindividu vacciner, il faut que ses tches soient dans la mme
position que pour les individus dont on a extrait le vaccin. Dans lexemple illustr par la figure
41, les tches 2, 8 et 7 apparaissent dans la mme position dans les deux individus qui sont la
deuxime, cinquime et sixime position. Pour vacciner un individu, ces tches doivent tre
dans la mme position que pour C1 et C2.

Figure 62 Exemple de vaccination d'un individu en utilisant le positionnement des tches

8 CONCLUSION
Dans ce chapitre, nous avons prsent notre hyper-heuristique base sur un hyper-
algorithme gntique qui a pour but de construire la fin une mtaheuristique, qui est un
algorithme gntique niveau dans notre cas, capable de rsoudre un problme doptimisation
de manire efficace. On a codifi les paramtres et stratgies des AG-Souche dans des hyper-
chromosomes qui constituent les individus de lHyper-AG. On a appliqu lhyper-heuristique
sur un problme doptimisation NP-Difficile qui est le problme du Flow-shop de permutation.
Dans le cas o lAG-Souche standard se montre insuffisant, on lui a ajout deux couches
supplmentaires. Une couche qui possde des stratgies ddies au problme. Une autre couche
qui possde le mcanisme de Restart afin de diversifier la population et le mcanisme de
vaccination afin de lintensifier.

82
Dans le chapitre suivant, nous prsentons la mise en uvre de la plate-forme de test,
son architecture et les technologies utilises.

83
Chapitre 4
Mise en uvre

84
1 INTRODUCTION
Notre solution est une plate-forme qui utilise une hyper-heuristique pour rsoudre les
problmes doptimisation. Elle contient un module qui gnre une mthode de rsolution la
fin. Ce module utilise un algorithme gntique pour voluer les mthodes de rsolution bas-
niveau. Durant lexcution de lhyper-heuristique, il y a des cas o lhyper-AG stagne
rapidement dans un optimum local. Pour rsoudre cet inconvnient, des stratgies dexploration
de lespace de recherche ont t implmentes.

Dans ce chapitre, nous expliquons le fonctionnement de la plate-forme de tests, nous allons


dtailler les stratgies dexploration de lespace de recherche. Ces stratgies sont : lisolement
des couches, exploration par couches variables et lisolement des paramtres. Nous prsentons
ensuite larchitecture de la plate-forme ainsi que les technologies utilises.

2 FONCTIONNEMENT DE LA PLATE-FORME DE TESTS


La plate-forme est compose de deux parties. Une partie rsolution bas-niveau qui contient les
AG-Souche. Une partie hyper-heuristique qui manipule les AG-Souche. Lhyper-heuristique
est un algorithme gntique et manipule des hyper-individus qui contiennent les stratgies et
les paramtres des AG-Souche. Chaque gne de lhyper-chromosome reprsente soit une
stratgie ou la valeur dun paramtre. Pour mesurer les performances des AG-Souche, on les
droule sur un ensemble dinstances de problmes pendant k gnrations. La fitness de chaque
AG-Souche est la moyenne de sa population aprs avoir t excut. La fonction objectif est
appele fonction objectif on-line (DeJong 1975). Le fonctionnement de lhyper-AG est rsum
dans le pseudo-code de lalgorithme 7 ainsi que la figure 54

85
ALGORITHME Hyper-AG
Population dAGs Gnration_initiale () //gnration de la population initiale
soit avec des stratgies alatoires ou les stratgies des meilleurs AGs.
Calcul de la fitness de tous les AGs
Pour i allant de 1 nbrGnrations
POUR
Population des enfants
Population dindividus muts
Pour j allant de 1 nombre dindividus/2
POUR
Gnrer un nombre alatoire r[0,1]
Si r < Pc
SI
(Parent1, Parent2) Hyper_Slection () //on slectionne
deux parents alatoirement avec remise partir des k meilleurs
individus
(Enfant1, Enfant2) Hyper_Croisement (Parent1, Parent2)
Ajouter Enfant1 et Enfant2 la population des enfants
FSI
FPOUR
Population actuelle Population actuelle Population des enfants
Pour j allant de 1 nombre dindividus/2
POUR
Gnrer un nombre alatoire r[0,1]
Si r < Pm
SI
Algorithme 8 Hyper-AG
Choisir alatoirement individu_mut partir de la population
actuelle ou la population des enfants
Individu_mut Hyper_Mutation(individu_mut)
Ajouter Individu_mut la population dindividus muts

86
Non

Oui
Figure 63Fonctionnement de l'hyper-AG

3 STRATGIE DEXPLORATION DE LESPACE DE RECHERCHE


Durant le fonctionnement de lHyper-AG, il est possible de guider lexploration de lespace de
recherche selon plusieurs stratgies qui sont les suivantes :

1. Isolement des couches : Il est possible dinhiber certaines couches de lAG-Souche et


activer dautres couches.

2. Exploration par couches variables : Durant lexcution de lHyper-AG, on change la


nature des oprateurs manipuls, par consquent lespace de recherche, aprs chaque
nombre k gnrations. Cette volution est explique dans la figure 4

87
Figure 64 volution du fonctionnement de l'Hyper-AG

3. Isolement des paramtres : Afin de trouver les meilleures valeurs de certains


paramtres comme les taux de mutation et croisement, il est possible de fixer
les stratgies des diffrentes oprations et certains paramtres. Les paramtres
tudier sont les seuls champs qui peuvent tre varis et manipuls par lhyper-
heuristique. Par exemple pour trouver la valeur du taux de mutation et taux de
croisement optimal, tous les autres champs de lhyper-chromosome sont fixs
part le taux de croisement et le taux de mutation. Lhyper-AG va ensuite oprer
uniquement sur la valeur du taux de croisement et taux de mutation. Durant
linitialisation des AG-Souche, les hyper-chromosomes contiennent tous les
mmes gnes except les paramtres quon veut tudier et qui sont diversifis.
Lhyper-croisement et lhyper-mutation se produisent seulement sur les gnes
quon veut tudier.

4 ARCHITECTURE DE LA PLATE-FORME
La plate-forme utilise une architecture 3-tiers qui est dtaille dans la figure 1.

88
Prsentation

Interface utilisateur Prsentation des rsultats

Excute Affiche

Traitement

Hyper-AG AG-Souche
Stocke Envoie

Donnes
Instance du problme Rsultats

Figure 65 Architecture globale de la plate-forme de test

La plate-forme est compose de 3 couches indpendantes qui communiquent par un flux de


donnes. On va dtailler dans ce qui suit le fonctionnement de chaque couche.

4.1 COUCHE DONNEES


Elle contient les donnes concernant linstance de problme rsoudre ainsi que les rsultats
aprs excution de la plate-forme sur linstance du problme. On va dtailler dans ce qui suit
ces deux modules :

1) Fichier instance du problme : Il contient les donnes de linstance est prsent dans
la figure 1 et figure 1. La premire ligne contient les caractristiques du problme. Pour
le problme du Flow-Shop de permutation on a besoin du nombre de machines et le
nombre des tches. Les benchmarks de Taillard(Taillard 1993) contiennent des
informations supplmentaires sur linstance du problme :
a. Initial seed : est un numro de srie utilise pour gnrer une suite unique de
nombres alatoires.
b. Upper bound : Cest la meilleure fitness quon a obtenu actuellement. Elle
reprsente la borne suprieure de la fonction objectif
c. Lower bound : La borne infrieure de la fonction objectif.

89
Figure 66 Illustration du fichier d'une instance classique

Figure 67 Illustration du fichier d'une instance du benchmark de Taillard

2) Fichier de sortie : On enregistre les rsultats obtenus aprs avoir excut la plate-forme
de tests sur linstance du problme. Il existe deux types de fichiers rsultats :
a. Fichiers de sortie Hyper-AG : Ces rsultats sont enregistrs aprs excution
de lhyper-heuristique sur linstance du problme. On enregistre lvolution et
les performances des individus de lhyper-AG. La premire partie concerne le
type dinstance du problme. La deuxime partie contient la configuration des
AG-Souche. La troisime partie concerne les performances de lAG-Souche. La
quatrime partie montre la configuration de lhyper-heuristique. Un aperu est
affich dans la figure 1.

Figure 68 Aperu du fichier Rsultats Hyper-AG

90
b. Fichier de sortie AG-Souche : Ce fichier montre les performances de lAG-
Souche sur une instance du problme. Un aperu est montr dans la figure 1.

Figure 69 Aperu du fichier de sortie AG-Souche

4.2 COUCHE TRAITEMENT


Elle contient les deux mthodes de rsolution : lhyper-AG et lAG-Souche. Pour excuter ces
deux types dalgorithmes, on a conu les structures de donnes suivantes :

Paramtre : cette structure regroupe les informations concernant un paramtre ou une


stratgie de lAG-Souche comme sa valeur, les valeurs possibles quil peut prendre, si
cest un paramtre discret comme la stratgie de croisement ou un paramtre continu
comme le taux de mutation...
HyperIndividu : Elle contient les valeurs de tous les paramtres et stratgies de lAG-
Souche. Elles constituent les individus de notre hyper-heuristique.
Solution : Cest la solution lie au problme et constituent les individus de lAG-
Souche. Dans notre cas, cest une reprsentation de la solution du problme du Flow-
shop de permutation.

Pour mettre en uvre la couche traitement de la plate-forme, on a conu le diagramme de classe


qui est dcrit dans la figure 1. Il permet de prsenter les entits de la plate-forme et les relations
entre eux. Nous identifions trois types de packages auquel les classes appartiennent qui sont :

1) Package Hyperheuristique : Elle contient lhyper-AG et les entits manipules par


lhyper-AG.
2) Package AGSouche : Elle contient les entits ncessaires que lAG-Souche emploie.
3) Package Problme : Elle contient les caractristiques de linstance du problme, ainsi
que es heuristiques propres au problme.

91
Figure 70 Diagramme de classe de la plate-forme de test

4.3 COUCHE PRSENTATION :


Elle contient linterface utilisateur qui permet de configurer lhyper-AG et lAG-Souche ainsi
que le module qui permet dafficher les rsultats pour lutilisateur.

5 TECHNOLOGIES UTILISES
Le choix du langage de programmation et les bibliothques utilises sont importants pour le
dveloppement de la plate-forme de tests. Nous allons dtailler dans ce qui suit les technologies
utilises.

92
5.1 LE LANGAGE C#.NET 6.0
Cest un langage de programmation orient objet. Ce langage offre un grand ensemble de
bibliothques intgres dans la plate-forme .NET 4.6. Lenvironnement de travail utilis est
Visual Studio 2015 Community.

5.2 TASK PARALLEL LIBRARY TPL


TPL est une bibliothque fournie dans la plate-forme .NET. Elle contient des mthodes et des
interfaces pour la programmation multithreading. Elle permet de synchroniser entre les threads
et laccs aux donnes partages. Cette bibliothque a t utilise dans lhyper-heuristique afin
de parallliser la partie excution des AG-Souche ainsi que dans lAG-Souche pour parallliser
la partie calcul de fitness des solutions.

6 CONCLUSION
Dans ce chapitre, nous avons prsent le fonctionnement de la plate-forme de tests. Il est
possible pour lutilisateur disoler certains mcanismes de lAG-Souche et dactiver dautres.
Nous avons expliqu les diffrentes stratgies employes pour appliquer cette fonctionnalit.
Nous avons prsent architecture de la plate-forme. Nous avons opt pour une architecture 3-
tiers qui contient les couches suivantes : Donnes, traitement et prsentation. La couche
Donnes contient les caractristiques du problme rsoudre ainsi que les rsultats
dexcution de la plate-forme. La couche Traitement contient les mthodes de rsolution
que la plate-forme utilise. La couche Prsentation contient linterface utilisateur que peut
utiliser le client et laffichage des rsultats de la plate-forme.

Dans le chapitre suivant, nous allons tudier les performances des AG-Souche gnrs
par lhyper-AG ainsi que les performances des couches de lAG-Souche. Le chapitre contient
les rsultats des tests effectus pour valuer les performances de la plate-forme.

93
Chapitre 5
Test et rsultats

94
1 INTRODUCTION
Dans ce chapitre, nous prsentons les rsultats obtenus aprs les excutions de la plate-forme
de tests. Nous tudions les performances des couches de lAG-Souche. On teste premirement
les oprateurs spcifiques au PFSP puis les mcanismes de la couche dynamique. Nous
tudions les performances des AG-Souches gnrs par lhyper-heuristique. Nous valuons un
AG-Souche gnr aprs avoir excut lhyper-heuristique sur une seule instance. Nous
droulons lAG-rsultant sur les 9 autres instances de la mme classe et nous valuons ses
performances intra-classes. Nous excutons lhyper-heuristique sur trois instances diffrentes.
Nous prlevons une configuration commune que partagent les 3 AG-rsultants. Nous droulons
et valuons les performances de ce nouvel AG-Souche avec la configuration commune. Aprs
lvaluation intra-classe des AG-Souche, nous tudions ses performances interclasses. Nous
excutons lhyper-heuristique sur une instance. Grce lAG-rsultant aprs excution, nous
le droulons dans les instances des autres classes du benchmark. Nous tudions ensuite si un
AG-Souche issu dune classe de benchmark, comme les benchmarks de VRF(Vallada, Ruiz et
al. 2015), est efficace ou montrent de mauvais rsultats dans des benchmarks de nature
diffrente. Cette hypothse a t prouve thoriquement(Wolpert and Macready 1997). Si une
mtaheuristique donne de bons rsultats sur une certaine classe de problmes, elle donne de
mauvais rsultats dans dautres classes. Le but de ce test est de vrifier cela grce
lexprimentation.

2 BENCHMARKS DE TESTS
Afin dexcuter la plate-forme sur le cas tudi qui est le problme du Flow-Shop de
permutation, nous avons utilis les benchmarks de Taillard(Taillard 1993) et les benchmarks
VRF(Vallada, Ruiz et al. 2015). Les benchmarks de Taillard(Taillard 1993) sont une srie
dinstances utilises dans les problmes dordonnancement. Ces sont des benchmarks de
rfrence afin de mesurer les performances des mthodes de rsolutions des problmes
dordonnancement. Ils sont de bons critres de comparaison car toutes les instances contiennent

95
la borne suprieure (Upper Bound) qui correspond la meilleure solution obtenue et la borne
infrieure (Lower Bound) de la fonction objectif. Les benchmarks de Taillard(Taillard 1993)
sont des instances gnres alatoirement. Lensemble des instances comprend 11 classes de n
tches et m machines avec n {20, 50, 100,200} et m {5, 10,20} o chaque classe possde 10
instances de la mme taille. Chaque classe de benchmarks de Taillard est nomme de la faon
suivant : n*m.

Les benchmarks VRF(Vallada, Ruiz et al. 2015) constituent les nouveaux benchmarks pour le
problme du Flow-Shop de permutation. Ils consistent en un ensemble de 240 instance de petite
taille et 240 autres instance de grande taille allant jusqu 800 tches et 60 machines. Ces
benchmarks sont plus difficiles rsoudre car lcart entre la meilleure borne suprieure
obtenue de la fonction objectif et la borne infrieur est plus grand que dans les benchmarks de
Taillard.

Les rsultats des performances ont t mesurs en termes dARPD et dACPU ordonn selon
la taille du benchmark. LARPDj(Average Relative Percentage Deviation) est calcul selon
lquation suivante :

,
j =

o I : Le nombre dinstances et RPDi,j : reprsente le pourcentage de dviation relative obtenu


par lalgorithme j quand il est appliqu linstance i. Cette dviation est par rapport au meilleur
rsultat obtenu (la borne suprieure de la fonction objectif). Il est calcul selon lquation
,()
suivante : , = 100
()

O Best(i) reprsente le meilleur rsultat obtenu pour linstance i. LACPU reprsente le temps
moyen ncessaire pour une mthode de rsolution dexcuter une instance. Il est dfini selon
la formule suivante :

,
=

o I : reprsente le nombre dinstances et CPUi,j : le temps en secondes requis pour lalgorithme


i afin de rsoudre linstance j . On utilise lACPU en tant que mtrique pour voir si la mthode
de rsolution peut donner de bons rsultats de faon rapide.

96
3 PLAN DEXCUTION
Dans le premier lot des tests, nous allons tester les performances des couches suprieures de
lAG-Souche qui sont lAG-Souche spcifique et lAG-souche dynamique. Nous droulons
lhyper-heuristique sur les 10 instances du benchmark 20*5 avec les configurations dAG-
Souche suivantes : lAG-Souche standard, AG-Souche spcifique, AG-Souche avec
vaccination, AG-Souche avec Restart et AG-Souche avec vaccination et le Restart. Nous
comparons les performances de lAG-Souche spcifique et dynamique avec les performances
de lAG-Souche standard. Cette partie des tests est rsume dans la figure 1.

Figure 71 premier lot de tests

Dans le deuxime lot des tests, nous valuons les performances des AG-Souche gnrs par
lhyper-heuristique sur des instances dune mme classe, des instances des autres classes et sur
des benchmarks de nature diffrente. Nous excutons lhyper-heuristique sur une seule instance
dune classe de benchmark. Les classes de benchmark tudies sont : 20*5, 20*10, 20*20,
100*5,100*10, 100*20, 200*10, 200*20 et 500*20. Nous prenons lAG rsultant de chaque
instance et nous lexcutons sur les 9 autres instances de la mme classe dun benchmark.
Cette partie du test est rsume dans la figure 1.

97
Figure 72 Tests des AG-Souche intra-classes

Nous prenons trois AG-Souche gnrs diffrents aprs avoir excut lhyper-heuristique sur
trois instances diffrentes. Nous prlevons une configuration commune entre ces trois AG-
rsultants. Cette configuration commune reprsente la configuration dun nouvel AG-Souche
quon va excuter sur les 10 instances du benchmark 20*5 et nous valuons ses rsultats. Cette
partie du test est rsume dans la figure 1.

98
Figure 73 Tests de lAG-Souche commun

Nous valuons les performances dun AG-Souche dans les autres classes. Nous excutons
lhyper-heuristique sur la premire instance du benchmark 500* 20. Nous excutons lAG-
rsultant dans les 10 instances des autres classes : 20*5, 20*10, 20*20, 100*5, 100*10, 100*20,
200*10, 200*20. Cette partie du test est rsume dans la figure 1.

Figure 74 Tests interclasses

99
Dans le troisime lot de tests, nous comparons les performances des AG-rsultant dune
instance de Taillard(Taillard 1993) 20*5 et lAG-rsultant dune instance VRF(Vallada, Ruiz
et al. 2015) 20*5. Nous excutons lhyper-heuristique sur une instance VRF(Vallada, Ruiz et
al. 2015). Cet AG-rsultant est droul sur les autres instances du benchmark de Taillard 20*5.
Nous comparons dans un deuxime lieu les performances des deux AG-Souche Taillard et VRF
quand ils sont excuts sur les instances du benchmark VRF. Nous prenons lAG-rsultant de
Taillard et celui du VRF nous les droulons sur les instances VRF 20*5. Cette partie du test est
rsume dans la figure 1. Les instances du benchmark VRF et Taillard doivent tre de la mme
classe.

Figure 75 Excution dun AG-Souche sur un benchmark diffrent

4 PERFORMANCES DES COUCHES DE LAG-SOUCHE


Pour ltude des couches de lAG-Souche, nous avons excut lhyper-heuristique sur les
benchmarks de Taillard 20*5. La configuration de lhyper-heuristique est dans la table 1.

Taille de la population 20
Mthode dinitialisation des arbres Alatoire uniforme
Critre de slection Tournoi
Croisement Croisement uniforme avec un taux = 0.5
Taux de croisement 0.9
Mutation Mutation uniforme
Taux de mutation 0.05
Critre darrt 10 gnrations

100
Taille de la population des AG-Souche 150
Critre darrt des AG-Souche 70 gnrations
Table 16 Paramtres de l'hyper-AG

4.1 PERFORMANCES DE LAG SPCIFIQUE


Le but de ces tests et de comparer entre les performances des oprateurs standards et des
oprateurs spcifiques au problme. Les rsultats sont rsums dans la figure 1.

Comparaison entre l'AG-Standard et spcifique


selon leur ARPD
2.4424
2.4422
2.442
2.4418
2.4416
2.4414
2.4412
2.441
2.4408
2.4406
2.4404
standard spcifique

Figure 76 Comparaison entre les performances de l'AG Standard et l'AG spcifique

Les oprateurs spcifiques au problme donnent un meilleure ARPD avec une amlioration =
0.05%.

4.2 PERFORMANCES DE LAG DYNAMIQUE


Le but de ces tests est de mesurer les performances des mcanismes dynamiques de lAG-
Souche.

4.2.1 Vaccination
On a lanc lhyper-heuristiques sur les 10 instances du benchmark Taillard 20*5 avec les taux
de vaccination de lAG-Souche suivants : 0, 0.2, 0.4 et 0.6 et en dsactivant le mcanisme de
Restart.

101
ARPD moyen par taux de vaccination
3

2.5

1.5

0.5

0
0 0.2 0.4 0.6

Figure 77 ARPD par taux de vaccination

LAG-Souche avec vaccination donne de bons rsultats par rapport lAG-Souche sans
vaccination avec une amlioration = 39,59%. La valeur du taux de vaccination qui donne les
meilleurs rsultats est 0.4. Aprs avoir dpass ce taux, lARPD se dtriore. Puisque la
vaccination favorise lintensification, il ne faut pas que le taux de vaccination soit lev. Sinon
il y aura une grande probabilit dtre bloqu autour dun optimum local.

CPU Moyen par taux de vaccination


70

60

50

40

30

20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

Figure 78 CPU par taux de vaccination

Concernant la dure dexcution, plus le taux de vaccination est lev, plus le temps
dexcution de lAG-souche augmente. Ceci est d ltape de la vaccination durant laquelle

102
Il faut relever la sous-squence commune la plus longue entre les meilleurs individus. Cette
opration prend du temps. De plus, il faut appliquer le vaccin aux pires individus et recalculer
leur valuation.

4.2.2 Restart
On a excut lhyper-heuristique sur les 10 instances du benchmark 20*5 avec plusieurs
valeurs du compteur Restart et en dsactivant la vaccination. Le compteur Restart reprsente
le nombre de gnrations durant laquelle la population a stagn. On a lanc lhyper-heuristique
avec les compteurs Restart suivants : 25, 50, 75. Plus le compteur est petit, plus il y a une
grande probabilit de dclencher le Restart durant lexcution. Si le compteur Restart > nombre
de gnration de lAG-Souche, le mcanisme de Restart ne se dclenche jamais. Dans ces tests,
le nombre de de gnrations de lAG-Souche = 70. Si le compteur Restart = 75, il ne sera jamais
dclench.

ARPD selon le compteur Restart


1.75

1.7

1.65

1.6

1.55

1.5

1.45
1 2 3

ARPD
4.2.3
Figure 79 ARPD selon le compteur Restart

On peut remarquer une amlioration de lARPD de lAG-Souche avec Restart compar lAG-
Souche sans Restart (celui avec compteur Restart = 75) avec une amlioration =9,4%. Le
compteur Restart qui donne le meilleur rsultat= 50. Un algorithme gntique peut sortir de
loptimum local pendant k gnrations. Si lalgorithme gntique sort de loptimum local de
cette manire, on atteint une nouvelle meilleure solution. Mais si le compteur Restart < k, on
sort de loptimum local mais sans avoir une nouvelle meilleure solution.

4.2.4 Vaccination avec Restart


Nous avons appliqu lAG-Souche avec les configurations rsumes dans la table 1.

103
Configuration Taux Compteur
Vaccination Restart
1 0 25
2 0 50
3 0 75
4 0.2 25
5 0.2 50
6 0.2 75
7 0.4 25
8 0.4 50
9 0.4 75
10 0.6 25
11 0.6 50
12 0.6 75
Table 17 Configuration des AG-Souche dynamique tests

Figure 80 ARPD selon le taux de vaccination et le compteur Restart

Nous remarquons, travers le graphe XX, que lAG-Souche qui a donn le pire ARPD est
lAG-Souche avec taux de vaccination =0 et compteur Restart = 75. Cest lAG-Souche sans
la vaccination et le Restart. LAG-Souche qui a donn les meilleurs rsultats est celui avec le
taux de vaccination = 0.4 et compteur Restart = 50. Ces valeurs correspondent aux meilleures
valeurs trouves dans les deux tudes prcdentes. La vaccination travaille en collaboration
avec le Restart. La vaccination intensifie suffisamment la population. Ds que la population

104
converge vers loptimum local, le Restart est dclench aprs k gnrations pour diversifier la
population.

Le CPU selon le taux de vaccination et le


compteur Restart
50
45
40
35
30
25
20
15
10
5
0
1 2 3 4 5 6 7 8 9 10 11 12

Figure 81 CPU selon le taux de vaccination et le compteur Restart

Quand on augmente le taux de vaccination et quon diminue le compteur Restart, le CPU


devient plus grand.

5 PERFORMANCES DES AG-SOUCHE


Le but de ces tests est de mesurer les performances des AG-Souche quand ils sont appliqus
sur les instances de mme classe, des instances des autres classes et finalement des instances
de benchmarks de nature diffrente. Nous valuons aussi les performances dun AG-Souche
construit partir de 3 AG-Souche gnrs de la mme classe. Cet AG-Souche est nomm Ag-
Souche commun. Pour ltude des performances des AG-Souche, nous avons excut lhyper-
heuristique sur les benchmarks de Taillard suivants : 20*5, 20*10, 20*20, 100*5, 100*10,
100*20. La configuration de lhyper-heuristique est dans la table 1.

Taille de la population 25
Mthode dinitialisation des arbres Alatoire uniforme
Critre de slection litisme
Croisement Croisement uniforme avec un taux = 0.5
Taux de croisement 0.85
Mutation Mutation uniforme
Taux de mutation 0.05
Critre darrt 10 gnrations
Taille de la population des AG-Souche 300
Critre darrt des AG-Souche 150 gnrations
Table 18 Paramtres de l'hyper-AG

105
5.1 PERFORMANCES DE LAG-SOUCHE INTRA-CLASSE
Le but de cette tude est dvaluer les performances dun AG-Souche sur les instances de
benchmark de mme classe. Nous excutons lhyper-heuristique sur la premire instance de
chaque classe de benchmark. A la fin dexcution nous prenons lAG-Souche gnr et nous
lexcutons sur les 9 autres instances de la mme classe. Les rsultats sont compils dans la
table 1. La configuration dAG-Souche de chaque classe est rsume dans la table 1. Puisque
le nombre de gnrations et dindividus est le mme pour tous les AG-Souche, nous lomettons
en sachant nombre de gnrations = 70 et nombre dindividus = 150.

Classe de Initialisatio Slection Crossove Taux Mutatio Taux


benchmar n r Crossover n Mutation
k
20*5 NEH roulette OX 0.89 Shift 0.09
20*10 Alatoire Elitisme 1X 0,78 3- 0,01
inverse
20*20 Alatoire 4- SBOX 0,81 3- 0,09
Tournoi inverse
100*5 Alatoire roulette SB2OX 0,7 3- 0,1
inverse
100*10 Alatoire Elitisme 1X 0,82 shift 0,07
100*20 Alatoire Elitisme 1X 0,71 position 0,01
200*10 Alatoire Rang SB2OX 0,79 Echange 0,07
200*20 Alatoire Rang SB2OX 0,78 3- 0,1
inverse
500*20 Alatoire 4- SJOX 0,81 Shift 0,07
tournoi
Table 19 Configuration de l'AG-Souche de chaque classe

Pour valuer les performances de lAG-Souche, nous comparons son ARPD lARPD des

Classe de ARPD
benchmark
20*5 1.2935
20*10 2.4828
20*20 7.8882
100*5 0.3118
100*10 0.9673
100*20 5.0001
200*10 1.0984
200*20 4.1251
500*20 1.8215
Moyenne ARPD 2.75
Table 20 Performances des AG-Souche intra-classes

106
Nous pouvons remarquer que les AG-Souche ont donn de bons rsultats sur les instances de
leur mme classe avec une moyenne ARPD = 2,75.

5.2 PERFORMANCE DE LAG-SOUCHE COMMUN


On a ensuite excut lhyper-heuristique sur trois instances qui sont respectivement linstance
1, linstance 2 et linstance 3 du benchmark 20*5. On obtient pour chaque instance un AG
souche, respectivement AG-Souche1, AG-Souche2 et AG-Souche3. On relve lAG-souche
qui possde une configuration commune que partagent les trois AG-souche gnrs. LAG-
souche qui possde la configuration commune entre les trois AG-souche est appel AG-Souche
commun.

De quelle Initialisatio Slection Crossove Taux Mut Taux Taux de Restar


instance n r Crossover atio Mutatio vaccination t
lAG- n n
souche
provient
1 NEH roulette OX 0.89 Shift 0.09 0.2 50
2 Alatoire rang 1X 0.87 Shift 0.07 0.4 50
3 NEH roulette OX 0.94 Shift 0.05 0.4 25
AG- NEH roulette OX Moyenne(0.8 Shift Moyenn 0.4 50
Souche 9,0.87,0.94) e(0.09,0.
commun = 0.83 07,0.05)
=0.05

Aprs avoir excut lAG-Souche commun sur les 10 instances du benchmark 20*5, les
rsultats de lexcution de lAG-Souche commun sont rsums dans la figure 1.

107
RPD de l'AG-Souche commun selon l'instance
3.5

2.5

1.5

0.5

0
1 2 3 4 5 6 7 8 9 10

Figure 82 RPD de l'AG-Souche commun selon l'instance

LAG-Souche commun a enregistr un ARPD= 1.306572. LARPD de lAG-Souche gnr


de la premire instance a gnr un ARPD= 1.2935. La diffrence de dviation = 1% qui est
petite. LAG-Souche commun a donn un bon RPD avec lgrement pire de lARPD de lAG-
Souche gnr de la premire instance

5.3 PERFORMANCES DE LAG-SOUCHE INTERCLASSES


Le but de ces tests est de mesurer les performances de lAG-Souche dans les autres classes du
benchmark. On prend lAG-Souche gnr aprs excution de lhyper-heuristique sur
linstance 500*20. La configuration de lAG-Souche est dans la table 1. On excute cet AG sur
les 10 instances des autres classes et on mesure lARPD. Les rsultats sont compils dans la
table 1. Nous comparons les rsultats avec les rsultats prcdents concernant lARPD des AG-
Souche intra-classe.

Classe de Initialisatio Slection Crossove Taux Mutatio Taux


benchmar n r Crossover n Mutation
k
500*20 Alatoire 4- SJOX 0,81 Shift 0,07
tournoi
Table 21 Configuration de l'AG-Souche 500*20

Classe de ARPD de lAG ARPD des AG- difference de


benchmark 500*20 dans les Souches intra- dviation (en
autres classes classes pourcentag%)
20*5 0.11861 0.11641 1.86%
20*10 2.4828 2.4828 0.00014%

108
20*20 8.2117 7.8882 3.94%
100*5 0.2496 0.3118 -24.9%
100*10 1.0779 0.9673 10.26%
100*20 7.0337 5.0001 28.91%
200*10 2.0778 1.0984 47.13%
200*20 6.6626 4.1251 38.09%
Moyenne
3.49 2.75 13.16%
ARPD
Table 22 ARPD de l'AG-Souche 500*20 dans les autres classes

Dans toutes les classes, on peut remarquer que lAG-Souche 500*20 a donn de bons rsultats.
LARP=3.49. Nous avons compar entre les Ag-Souche quand ils sont excuts sur les
instances de la mme classe et dans les autres classes. Les AG-Souche donnent toujours de
meilleurs rsultats quand ils sont excuts dans les instances de la mme classe avec une
amlioration moyenne = 13,16%. Les AG-Souche donnent toujours de meilleurs rsultats
quand ils sont excuts les instances de leur mme classe.

5.4 AG-SOUCHE VRF


Le but de ces tests est de vrifier si les AG-Souche rsultants sont performants sur toutes les
classes de problmes ou performant sur une seule classe seulement. Nous excutons lhyper-
heuristique sur une instance du benchmark VRF 20*5. La configuration de lhyper-heuristique
est dans la table 1. LAG-Souche souche gnr par lhyper-heuristique va tre excute sur
les 10 instances du benchmark de Taillard 20*5 et nous tudions ses performances.

Taille de la population 20
Mthode dinitialisation des arbres Alatoire uniforme
Critre de slection Tournoi
Croisement Croisement uniforme avec un taux = 0.5
Taux de croisement 0.9
Mutation Mutation uniforme
Taux de mutation 0.05
Critre darrt 10 gnrations
Taille de la population des AG-Souche 150
Critre darrt des AG-Souche 70 gnrations
Table 23 Paramtres de l'hyper-AG

Les configurations de lAG-Souche VRF et Taillard sont dans la table 1. Nous prsentons la
configuration de lAG-Souche Taillard dans la table 1 pour la comparer avec la configuration
de lAG-Souche VRF. LAG-Souche Taillard consiste en lAG-Souche gnr aprs excution
de lhyper-heuristique sur la premire instance du benchmark Taillard 20*5. Aprs
comparaison entre ces deux configuration, le taux de ressemblance =

109


100= (2/8)*100 = 25%. Donc les deux configurations

sont diffrentes 75%. Nous navons pas pris en considration le nombre dindividus et le
nombre de gnrations car il est fix pour tous les AG-Souche.

Benchm NbrGenera Nbr Initialisa Slecti Crosso Taux Mutati Taux Taux de Rest
ark tion Population tion on ver Crossover on Mutation vaccination art
VRF 70 150 Alatoir roulet 2X 0.98 Shift 0.09 0.4 75
e te
Taillar 70 150 NEH roulet OX 0.89 Shift 0.09 0.2 50
d te
Table 24 Configuration de l'AG-Souche VRF et Taillard

Aprs excution de lAG-Souche VRF sur les 10 instances de Taillard,

Comparaison entre l'RPD de l'AG-Souche VRF et


l'AG-Souche Taillard
9
8
7
6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 10

VRF Taillard

Figure 83 Comparaison entre l'RPD de l'AG-Souche VRF et l'AG-Souche Taillard

Si lAG-Souche VRF donne de mauvais rsultats sur les benchmarks de Taillard, ceci veut
dire que pour chaque classe de problme, il lui faut un AG-Souche adapt. Do la ncessit
dune hyper-heuristique. Si les performances de lAG-Souche de VRF sont gales aux
performances des AG-Souche de Taillard, ceci veut dire quil existe la mme configuration
entre AG-Souche sur toutes les classes du problme. LAG-Souche Taillard a montr de
meilleurs rsultats que lAG-Souche VRF dans les 10 instances. LARPD de lAG-Souche
VRF= 0.035. LAG-Souche de Taillard a enregistr un ARPD sur les instances de Taillard
lARPD =0.013. La diffrence de dviation = 63,58%. LAG-Souche Taillard donne un ARPD
2.7 meilleur que celui de lAG-Souche VRF dans les instances de Taillard.

En deuxime partie, on teste lAG-Souche issu de linstance de Taillard et on lexcute sur les
10 instances du benchmark VRF 20*5. Nous comparons ses performances avec les

110
performances de lAG-Souche VRF aprs excution sur les instances du benchmarks VRF
20*5. On compare entre la fitness des meilleures solutions fournies par les AG-Souche.

Comparaison entre l'AG-Souche Taillard et l'AG-Souche VRF


sur les instances VRF selon la meilleure solution fournie
1450
1400
1350
1300
1250
1200
1150
1100
1050
1000
1 2 3 4 5 6 7 8 9 10

Taillard VRF

Dans les instances VRF, lAG-Souche VRF donne un meilleur rsultat dans 8 des instances.
Dans 2 instances les deux AG-Souche ont fourni deux meilleures solutions de fitness gale.

6 CONCLUSION
Dans ce chapitre, nous avons test les performances des couches de lAG-Souche qui sont la
couche de lAG spcifique et lAG dynamique. Nous avons utilis la plate-forme de tests pour
mesurer les performances de ces mcanismes. Les oprateurs spcifiques et les mcanismes
ont apport une bonne amlioration aux performances de lAG-Souche. Pour les mcanismes
dynamiques, il y a certaines valeurs ne pas dpasser sinon les performances de lAG-Souche
comment diminuer. Nous avons valu les performances des AG-Souche gnrs par lhyper-
heuristique. Premirement nous avons fait une comparaison intra-classes. On a droul chaque
AG-Souche dans les instances de sa classe respective. Nous avons effectu une comparaison
interclasses. On a gnr un AG-Souche aprs avoir excut lhyper-heuristique sur la premire
instance du benchmark Taillard 500*20. Nous avons ensuite excut cet AG-Souche dans les
instances des autres classes du benchmark Taillard. Les performances. Les AG-Souche ont
montr de bons rsultats quand ils sont excuts sur leurs classes respectives et les autres
classes. Les AG-Souche donnent de performances meilleures quand ils sont excuts dans la
mme classe. Nous avons excut lhyper-heuristique sur trois instances diffrentes de la mme
classe. Nous avons prlev une configuration commune que partagent les 3 AG-Souche
gnrs. Ce nouvel AG-Souche est excut dans les autres instances de la mme classe. Il a

111
montr de bons rsultats. Il est lgrement dpass par lAG-Souche gnr partir dune seule
instance avec une diffrence de dviation = 1%. Pour vrifier si pour chaque type de
benchmark, il lui faut un AG-Souche adapt, nous avons excut lhyper-heuristique dans deux
benchmarks diffrents : les benchmarks de Taillard(Taillard 1993) et les benchmarks
VRF(Vallada, Ruiz et al. 2015). Nous avons effectu une comparaison entre les AG-Souche
gnr de chaque benchmark et de leurs performances. On a remarqu que quand un AG-
Souche est excut dans un benchmark diffrent, il donne de mauvais rsultats. Sur les 10
instances de Taillard, LAG-Souche gnr partir des instances de Taillard a donn des
performances 2.7 meilleures que lAG-Souche gnr partir des benchmarks VRF. Nous
avons test les performances de lAG-Souche provenant de Taillard sur les benchmarks VRF
et nous avons compar ses performances avec lAG-Souche issu du benchmark VRF. LAG-
Souche VRF donne toujours de meilleurs rsultats que lAG-Souche Taillard quand il excut
dans les instances du benchmark VRF.

BIBLIOGRAPHIE
Abdoun, O., C. Tajani, J. Abouchabaka and H. El (2016). "Improved Genetic Algorithm to Solve
Asymmetric Traveling Salesman Problem." International Journal of Open Problems in Computer
Science & Mathematics 9(4).
Abramson, D. and J. Abela (1991). "A parallel genetic algorithm for solving the school timetabling
problem."
Adenso-Diaz, B. and M. Laguna (2006). "Fine-tuning of algorithms using fractional experimental
designs and local search." Operations research 54(1): 99-114.
Applegate, D., R. Bixby, W. Cook and V. Chvtal (1998). "On the solution of travelling salesman
problems."
Augerat, P., J. M. Belenguer, E. Benavent, A. Corbern, D. Naddef and G. Rinaldi (1998).
"Computational results with a branch-and-cut code for the capacitated vehicle routing problem."
Bader-El-Den, M., R. Poli and S. Fatima (2009). "Evolving timetabling heuristics using a grammar-based
genetic programming hyper-heuristic framework." Memetic Computing 1(3): 205-219.
Baker, K. R. (1984). Introduction to sequencing and scheduling, John Wiley & Sons.
Baker, K. R. and D. Trietsch (1974). "ResourceConstrained Project Scheduling." Principles of
Sequencing and Scheduling: 398-417.

112
Balas, E. (1971). "Intersection cutsa new type of cutting planes for integer programming."
Operations Research 19(1): 19-39.
Banzhaf, W., P. Nordin, R. E. Keller and F. D. Francone (1998). Genetic programming: an introduction,
Morgan Kaufmann Publishers San Francisco.
Bellio, R., S. Ceschia, L. Di Gaspero, A. Schaerf and T. Urli (2016). "Feature-based tuning of simulated
annealing applied to the curriculum-based course timetabling problem." Computers & Operations
Research 65: 83-92.
Biere, A. (2014). "Yet another local search solver and Lingeling and friends entering the SAT
Competition 2014." SAT Competition 2014(2): 65.
Bierwirth, C., D. Mattfeld and H. Kopfer (1996). "On permutation representations for scheduling
problems." Parallel Problem Solving from NaturePPSN IV: 310-318.
Borndrfer, R., H. Hoppmann, M. Karbstein and F. Lbel (2016). "The Modulo Network Simplex with
Integrated Passenger Routing."
Brameier, M. and W. Banzhaf (2001). "A comparison of linear genetic programming and neural
networks in medical data mining." IEEE Transactions on Evolutionary Computation 5(1): 17-26.
Burkard, R. E., S. E. Karisch and F. Rendl (1997). "QAPLIBa quadratic assignment problem library."
Journal of Global optimization 10(4): 391-403.
Burke, E., G. Kendall, J. Newall, E. Hart, P. Ross and S. Schulenburg (2003). Hyper-heuristics: An
emerging direction in modern search technology. Handbook of metaheuristics, Springer: 457-474.
Burke, E. K., M. Gendreau, M. Hyde, G. Kendall, G. Ochoa, E. zcan and R. Qu (2013). "Hyper-heuristics:
A survey of the state of the art." Journal of the Operational Research Society 64(12): 1695-1724.
Burke, E. K., M. Hyde, G. Kendall, G. Ochoa, E. zcan and J. R. Woodward (2010). A classification of
hyper-heuristic approaches. Handbook of metaheuristics, Springer: 449-468.
Burke, E. K., M. R. Hyde and G. Kendall (2006). Evolving bin packing heuristics with genetic
programming. Parallel Problem Solving from Nature-PPSN IX, Springer: 860-869.
Burke, E. K., M. R. Hyde, G. Kendall and J. Woodward (2007). Automatic heuristic generation with
genetic programming: evolving a jack-of-all-trades or a master of one. Proceedings of the 9th annual
conference on Genetic and evolutionary computation, ACM.
Burke, E. K., G. Kendall and E. Soubeiga (2003). "A tabu-search hyperheuristic for timetabling and
rostering." Journal of Heuristics 9(6): 451-470.
Carter, M. W., G. Laporte and S. Y. Lee (1996). "Examination timetabling: Algorithmic strategies and
applications." Journal of the Operational Research Society 47(3): 373-383.
Chen, J. C., Y.-Y. Chen, T.-L. Chen and J. Z. Lin (2017). "Comparison of simulated annealing and tabu-
search algorithms in advanced planning and scheduling systems for TFT-LCD colour filter fabs."
International Journal of Computer Integrated Manufacturing 30(6): 516-534.
Chu, P. C. and J. E. Beasley (1998). "A genetic algorithm for the multidimensional knapsack problem."
Journal of heuristics 4(1): 63-86.
Coffman, E. G., G. Galambos, S. Martello and D. Vigo (1999). Bin packing approximation algorithms:
Combinatorial analysis. Handbook of combinatorial optimization, Springer: 151-207.
Cormen, T. H., C. E. Leiserson, R. L. Rivest, P. Chrtienne and X. Cazin (1997). Introduction
l'algorithmique, Dunod.
Cowling, P., G. Kendall and E. Soubeiga (2000). A hyperheuristic approach to scheduling a sales
summit. International Conference on the Practice and Theory of Automated Timetabling, Springer.
Crainic, T., A. Nguyen and M. Gendreau (1997). Cooperative multi-thread parallel tabu search with
evolutionary adaptive memory. 2nd international conference on metaheuristics, Sophia Antipolis,
France.
da Fonseca, G. H. G., H. G. Santos, T. . M. Toffolo, S. S. Brito and M. J. F. Souza (2016). "GOAL solver:
a hybrid local search based solver for high school timetabling." Annals of Operations Research 239(1):
77-97.
Dantzig, G. B. (2003). "Maximization of a linear function of variables subject to linear inequalities." The
Basic George B. Dantzig: 24-32.

113
Davis, L. (1985). Applying adaptive algorithms to epistatic domains. IJCAI.
De Jong, K. A. (1975). "Analysis of the behavior of a class of genetic adaptive systems."
de Werra, D. (1985). "An introduction to timetabling." European journal of operational research 19(2):
151-162.
DeJong, K. (1975). "An analysis of the behavior of a class of genetic adaptive systems." Ph. D. Thesis,
University of Michigan.
Denzinger, J. and T. Offermann (1999). On cooperation between evolutionary algorithms and other
search paradigms. Evolutionary Computation, 1999. CEC 99. Proceedings of the 1999 Congress on,
IEEE.
Deo, N. and J. S. Kowalik (1983). Discrete optimization algorithms: with pascal programs, Courier
Corporation.
Falkenauer, E. (1996). "A hybrid grouping genetic algorithm for bin packing." Journal of heuristics 2(1):
5-30.
Fernandez-Viagas, V. and J. M. Framinan (2014). "On insertion tie-breaking rules in heuristics for the
permutation flowshop scheduling problem." Computers & Operations Research 45: 60-67.
Fister Jr, I., X.-S. Yang, I. Fister, J. Brest and D. Fister (2013). "A brief review of nature-inspired
algorithms for optimization." arXiv preprint arXiv:1307.4186.
Freuder, E. and M. Wallace (2005). "Search Methodologies-Introductory Tutorials in Optimization and
Decision Support Techniques."
Fu, Y., H. Wang, M. Huang, J. Ding and G. Tian (2017). "Multiobjective flow shop deteriorating
scheduling problem via an adaptive multipopulation genetic algorithm." Proceedings of the Institution
of Mechanical Engineers, Part B: Journal of Engineering Manufacture: 0954405417691553.
Fukunaga, A. (2002). Automated discovery of composite SAT variable-selection heuristics. AAAI/IAAI.
Glover, F. (1989). "Tabu searchpart I." ORSA Journal on computing 1(3): 190-206.
Glover, F. and G. A. Kochenberger (1996). Critical event tabu search for multidimensional knapsack
problems. Meta-Heuristics, Springer: 407-427.
Glover, F. W. and G. A. Kochenberger (2006). Handbook of metaheuristics, Springer Science & Business
Media.
Goldberg, D. E. (2006). Genetic algorithms, Pearson Education India.
Goldberg, D. E. and K. Deb (1991). "A comparative analysis of selection schemes used in genetic
algorithms." Foundations of genetic algorithms 1: 69-93.
Goldberg, D. E. and J. H. Holland (1988). "Genetic algorithms and machine learning." Machine learning
3(2): 95-99.
Graham, R. L., E. L. Lawler, J. K. Lenstra and A. R. Kan (1979). "Optimization and approximation in
deterministic sequencing and scheduling: a survey." Annals of discrete mathematics 5: 287-326.
Hao, J. and R. Dorne (1996). Study of genetic search for the frequency assignment problem. Artificial
Evolution, Springer.
Held, M. and R. M. Karp (1962). "A dynamic programming approach to sequencing problems." Journal
of the Society for Industrial and Applied Mathematics 10(1): 196-210.
Hertz, A. and D. de Werra (1987). "Using tabu search techniques for graph coloring." Computing 39(4):
345-351.
Hurink, J., B. Jurisch and M. Thole (1994). "Tabu search for the job-shop scheduling problem with
multi-purpose machines." Operations-Research-Spektrum 15(4): 205-215.
Husbands, P., F. Mill and S. Warrington (1991). "Genetic algorithms, production plan optimisation and
scheduling." Parallel problem solving from nature: 80-84.
Iyer, S. K. and B. Saxena (2004). "Improved genetic algorithm for the permutation flowshop scheduling
problem." Computers & Operations Research 31(4): 593-606.
Jakobovi, D., L. Jelenkovi and L. Budin (2007). Genetic programming heuristics for multiple machine
scheduling. European Conference on Genetic Programming, Springer.
Jiao, L. and L. Wang (2000). "A novel genetic algorithm based on immunity." IEEE Transactions on
Systems, Man, and Cybernetics-part A: systems and humans 30(5): 552-561.

114
Johnson, S. M. (1954). "Optimal twoand threestage production schedules with setup times
included." Naval Research Logistics (NRL) 1(1): 61-68.
Jung, C., H.-J. Kim and T.-E. Lee (2015). "A branch and bound algorithm for cyclic scheduling of timed
Petri nets." IEEE Transactions on Automation Science and Engineering 12(1): 309-323.
Kmpke, T. (1988). "Simulated annealing: use of a new tool in bin packing." Annals of Operations
Research 16(1): 327-332.
Kirkpatrick, S., C. D. Gelatt and M. P. Vecchi (1983). "Optimization by simulated annealing." science
220(4598): 671-680.
Koza, J. R. (1992). Genetic programming: on the programming of computers by means of natural
selection, MIT press.
Krueger, M. (1994). Mthode d'analyse d'algorithmes d'optimisation stochastiques l'aide
d'algorithmes gntiques.
Land, A. H. and A. G. Doig (1960). "An automatic method of solving discrete programming problems."
Econometrica: Journal of the Econometric Society: 497-520.
Lawler, E. L. (1990). "A dynamic programming algorithm for preemptive scheduling of a single machine
to minimize the number of late jobs." Annals of Operations Research 26(1): 125-133.
Little, J. D., K. G. Murty, D. W. Sweeney and C. Karel (1963). "An algorithm for the traveling salesman
problem." Operations research 11(6): 972-989.
Narendra, P. M. and K. Fukunaga (1977). "A branch and bound algorithm for feature subset selection."
IEEE Transactions on Computers 26(9): 917-922.
Nawaz, M., E. E. Enscore and I. Ham (1983). "A heuristic algorithm for the m-machine, n-job flow-shop
sequencing problem." Omega 11(1): 91-95.
Oltean, M. (2005). "Evolving evolutionary algorithms using linear genetic programming." Evolutionary
Computation 13(3): 387-410.
Osman, I. H. and J. P. Kelly (1996). Meta-heuristics: an overview. Meta-heuristics, Springer: 1-21.
Otsuki, T. and K. Aihara (2016). "New variable depth local search for multiple depot vehicle scheduling
problems." Journal of Heuristics 22(4): 567-585.
Padberg, M. and G. Rinaldi (1987). "Optimization of a 532-city symmetric traveling salesman problem
by branch and cut." Operations Research Letters 6(1): 1-7.
Pearl, J. (1984). "Heuristics: intelligent search strategies for computer problem solving."
Puchinger, J. and G. R. Raidl (2005). Combining metaheuristics and exact algorithms in combinatorial
optimization: A survey and classification. International Work-Conference on the Interplay Between
Natural and Artificial Computation, Springer.
Qu, R., E. K. Burke, B. McCollum, L. T. Merlot and S. Y. Lee (2009). "A survey of search methodologies
and automated system development for examination timetabling." Journal of scheduling 12(1): 55-
89.
Reeves, C. R. (1995). "A genetic algorithm for flowshop sequencing." Computers & operations research
22(1): 5-13.
Rego, C., D. Gamboa, F. Glover and C. Osterman (2011). "Traveling salesman problem heuristics:
leading methods, implementations and latest advances." European Journal of Operational Research
211(3): 427-441.
Reinelt, G. (1991). "TSPLIBA traveling salesman problem library." ORSA journal on computing 3(4):
376-384.
ROCK, H. (1984). "The three-machine no-wait flow shops is NP-complete." Journal of the Association
for Computing Machinery 31(2): 336-345.
Rodrguez, J. V., S. Petrovic and A. Salhi (2007). A combined meta-heuristic with hyper-heuristic
approach to the scheduling of the hybrid flow shop with sequence dependent setup times and uniform
machines. Proceedings of the 3rd Multidisciplinary International Conference on Scheduling: Theory
and Applications. MISTA: Paris, France.
Ruiz, R., C. Maroto and J. Alcaraz (2006). "Two new robust genetic algorithms for the flowshop
scheduling problem." Omega 34(5): 461-476.

115
Ryan, C., J. Collins and M. O. Neill (1998). Grammatical evolution: Evolving programs for an arbitrary
language. European Conference on Genetic Programming, Springer.
Salhi, S. (2014). "Handbook of metaheuristics." The Journal of the Operational Research Society 65(2):
320.
Selman, B., H. A. Kautz and B. Cohen (1994). Noise strategies for improving local search. AAAI.
Shirzadeh Chaleshtarti, A. and S. Shadrokh (2014). "A Branch and Cut Algorithm for Resource-
Constrained Project Scheduling Problem Subject to Nonrenewable Resources with Pre-Scheduled
Procurement." Arabian Journal for Science & Engineering (Springer Science & Business Media BV)
39(11).
Sorensen, K., M. Sevaux and F. Glover (2017). "A history of metaheuristics." arXiv preprint
arXiv:1704.00853.
Spears, W. M. and K. D. De Jong (1995). On the virtues of parameterized uniform crossover, DTIC
Document.
Taillard, E. (1990). "Some efficient heuristic methods for the flow shop sequencing problem."
European journal of Operational research 47(1): 65-74.
Taillard, E. (1993). "Benchmarks for basic scheduling problems." european journal of operational
research 64(2): 278-285.
Talbi, E.-G. (2002). "A taxonomy of hybrid metaheuristics." Journal of heuristics 8(5): 541-564.
Talbi, E.-G. (2009). Metaheuristics: from design to implementation, John Wiley & Sons.
Vallada, E., R. Ruiz and J. M. Framinan (2015). "New hard benchmark for flowshop scheduling
problems minimising makespan." European Journal of Operational Research 240(3): 666-677.
Vepsalainen, A. P. and T. E. Morton (1987). "Priority rules for job shops with weighted tardiness costs."
Management science 33(8): 1035-1047.
Whitley, D., S. Rana and R. B. Heckendorn (1999). "The island model genetic algorithm: On separability,
population size and convergence." CIT. Journal of computing and information technology 7(1): 33-47.
Winston, W. L., M. Venkataramanan and J. B. Goldberg (2003). Introduction to mathematical
programming, Thomson/Brooks/Cole Duxbury; Pacific Grove, CA.
Wolpert, D. H. and W. G. Macready (1995). No free lunch theorems for search, Technical Report SFI-
TR-95-02-010, Santa Fe Institute.
Wolpert, D. H. and W. G. Macready (1997). "No free lunch theorems for optimization." IEEE
transactions on evolutionary computation 1(1): 67-82.
Yu, R., W. Zhong, S. Xie, Y. Zhang and Y. Zhang (2016). "QoS differential scheduling in cognitive-radio-
based smart grid networks: An adaptive dynamic programming approach." IEEE transactions on neural
networks and learning systems 27(2): 435-443.

116

Vous aimerez peut-être aussi