Académique Documents
Professionnel Documents
Culture Documents
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.
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:
2
ABSTRACT Commented [l1]: Cette partie sera traduite quand le
rsum sera dans ltat final
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:
3
TABLE DES MATIRES
Rsum ................................................................................................................................... 2
Abstract .................................................................................................................................. 3
Introduction gnrale............................................................................................................ 12
4
2.2.3.2 L'hybridation de mtaheuristiques avec des mthodes exactes ...........Error!
Bookmark not defined.
5
4.3 Rsultats de tests .................................................... Error! Bookmark not defined.
1 INTRODUCTION ........................................................................................................ 54
6
7.2.1 Gnration de la population initiale ............................................................... 66
7.4.2 Vaccination..................................................................................................... 81
8 Conclusion .................................................................................................................... 82
1 Introduction ................................................................................................................... 85
6 Conclusion .................................................................................................................... 93
7
LISTE DES FIGURES
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
AG : Algorithme gntique
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.
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 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.
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.
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 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).
17
dordonnancement avec machine unique et tches premptives (Lawler 1990) et
lordonnancement dans le QoS(Yu, Zhong et al. 2016).
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 :
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.
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)
21
Problme
Dcomposition du
problme
Synchronisation
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.
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).
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.
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
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
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
27
lheuristique bas-niveau. Les heuristiques bas-niveau de lhyper-heuristique peuvent
fonctionner en deux paradigmes :
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.
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.
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.
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
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
Pour valuer une heuristique gnre, on lapplique sur linstance du problme et on calcule
lvaluation avec la formule suivante :
()
=1( )
Fonction Objectif = 1 -
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
35
de la mthode Croissance sur un arbre.
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.
37
3 HYPER-HEURISTIQUE POUR LORDONNANCEMENT DANS
UN ATELIER MACHINES MULTIPLES
WT = =1 i[ci-di]+
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
38
LPT : Les tches qui ont le grand temps dexcution sont excutes en premier.
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.
40
Algorithme Mthode Complte (profondeur :
entier)
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)
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.
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
Fpour
Faire un croisement entre les deux individus en crant deux nouveaux enfants
Fpour
Muter lindividu
Fpour
G=G
Fpour
Fin
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 :
1
valuation de lheuristique = 1
=1 j=i+1[(|pi pj|)aij] + (N - M)
quation de Carter
45
5 HYPER-HEURISTIQUE POUR LE PROBLME DE
LAFFECTATION QUADRATIQUE
46
Algorithme Programme LGP (v[8] : rel )
{
...
v[0] =v[5] + 73;
v[7] = v[4] - 59;
v[4] = v[2] *v[1];
}
Individu du
mta-AG
mta-AG
AG final
AG1 AG2 AG3 AG...
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 :
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]
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
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.
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.
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%.
6 TUDE COMPARATIVE
On rsume dans le tableau 9 les hyper-heuristiques de gnration qui ont t utilises pour
chaque problme.
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.
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).
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.
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
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.
58
Figure 23Illustration de la slection k-tournoi
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
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
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
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
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):
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
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
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.
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
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.
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.
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).
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
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.
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
tape 1 : On recopie le contenu lintrieur des points de coupure dans leurs enfants
respectifs
tape 2 : On retire du parent1 les lments copis dans lenfant 2. On fait la mme chose
entre le parent2 et lenfant 1
71
Figure 39 Illustration du croisement OX : troisime 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.
72
Figure 42 Illustration du croisement PMX : troisime tape
7.2.4 Mutation
Le tableau 4prsente les mthodes de mutation qui peuvent tre utilises par 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
7.2.5 Remplacement
Les stratgies de remplacement sont recenses dans le tableau 5 :
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.
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
tape 2 : ceux qui sont avant le point de coupure sont recopis dans leurs enfants respectifs
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.
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.
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
tape 1 : On recopie les 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.
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.
Ltape suivante consiste remplir les tches manquantes dans lenfant1 partir du parent2.
Mme chose entre le parent2 et lenfant1
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.
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.
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.
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.
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
87
Figure 64 volution du fonctionnement de l'Hyper-AG
4 ARCHITECTURE DE LA PLATE-FORME
La plate-forme utilise une architecture 3-tiers qui est dtaille dans la figure 1.
88
Prsentation
Excute Affiche
Traitement
Hyper-AG AG-Souche
Stocke Envoie
Donnes
Instance du problme Rsultats
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
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.
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.
91
Figure 70 Diagramme de classe de la plate-forme de test
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.
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 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 :
,
=
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.
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.
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.
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
Les oprateurs spcifiques au problme donnent un meilleure ARPD avec une amlioration =
0.05%.
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
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.
60
50
40
30
20
10
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
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.
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.
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
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.
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.
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.
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
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.
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
VRF 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.
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