Box Methode M2 R

40
Université François Rabelais ECOLE POLYTECHNIQUE Département informatique 64 avenue Jean Portalis 37200 TOURS Rapport de stage Application de la méthode des boîtes pour échantillonner l’ensemble des optima de Pareto Vincent T’KINDT Rabah BELAÏD Laboratoire d’Informatique DI3 M2R 64 Avenue Jean Portalis 2007/2008 37200 TOURS

Transcript of Box Methode M2 R

Page 1: Box Methode M2 R

Université François RabelaisECOLE POLYTECHNIQUEDépartement informatique64 avenue Jean Portalis37200 TOURS

Rapport de stage

Application de la méthode des boîtes pour échantillonnerl’ensemble des optima de Pareto

Vincent T’KINDT Rabah BELAÏDLaboratoire d’Informatique DI3 M2R64 Avenue Jean Portalis 2007/200837200 TOURS

Page 2: Box Methode M2 R

Table des matières

1 Le problème d’ordonnancement 61.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.1 Présentation du problème d’ordonnancement . . . . . . . . . . . . . 61.1.2 Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Résolution du Q|ri, pi = 1|Cmax . . . . . . . . . . . . . . . . . . . . . . . . 71.2.1 pseudo-code de l’algorithme : . . . . . . . . . . . . . . . . . . . . . 8

1.3 Résolution du Q|ri, pi = 1|Lmax . . . . . . . . . . . . . . . . . . . . . . . . 111.4 Objectif du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.1 Optimalité dans les problèmes multicritères [5] . . . . . . . . . . . 121.4.2 Détérmination des optima de pareto . . . . . . . . . . . . . . . . . 121.4.3 Enumération des optima de pareto . . . . . . . . . . . . . . . . . . 14

2 La méthode des boites 162.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2 la version lexicographique de l’approche ǫ-contrainte . . . . . . . . . . . . . 172.3 La méthode des boites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4 La version a posteriori de la méthode des boites . . . . . . . . . . . . . . . 222.5 La version a priori de la méthode des boites . . . . . . . . . . . . . . . . . 232.6 Qualités de la représentation . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Application au Q|ri, pi = p|Cmax, Lmax 263.1 la méthode des boites pour le problème Q|ri, pi = p|Cmax, Lmax 26

3.2 Le problème de faisabilité Q|ri, pi = p, di|− . . . . . . . . . . . . . . . . . . 283.2.1 Modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.2 Pseudo code de Qdec . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.3 Pseudo code de la deuxième version de Qdec : . . . . . . . . . . . . 34

3.3 Expérimentation numérique . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Page 3: Box Methode M2 R

Table des figures

1.1 Détermination par l’approche ǫ-contrainte . . . . . . . . . . . . . . . . . . 131.2 Enumération des optima de pareto stricts en utilisant l’approche ǫ-contrainte

15

2.1 La boîte initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Partitionnement d’une boite . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3 Résultat du partitionnement d’une boite . . . . . . . . . . . . . . . . . . . 212.4 Version a priori de la méthode des boites . . . . . . . . . . . . . . . . . . . 23

Page 4: Box Methode M2 R

Remerciements

Je remercie l’équipe Ordonnancement et Conduite de m’avoir bien accueillie pour ce stagedu master 2 de recherche informatique.Je tiens tout particulièrement à remercier Monsieur Vincent T’KINDT, encadrant demon stage de M2R, pour les connaissances, le soutien qu’il m’a apporté, et surtout pourla confiance qu’il a exprimé tout au long de ce stage.

Page 5: Box Methode M2 R

Introduction

Ordonnancer un ensemble de taches c’est leurs affecter des ressources limitées dans letemps en vue d’optimiser une ou plusieurs critères. Dans le cas des ordonnancements quisont évalués sur un unique critère, la solution optimale est clairement définie contraire-ment aux ordonnancements évalués sur plusieurs critères. En effet, pour de tels problèmes,la solution cherchée est un ensemble de points correspondants aux meilleurs compromispossibles entre les critères.

Le meilleur compromis est fixé par le décideur, il n’est pas figé, il n’est pas modéli-sable, il évolue aléatoirement dans le temps. Le prix du pétrole qui augmente impliqueque le coût du transport devient primordial, la perte de gros clients rend la productiviténégligeable à coté du coût de stockage, des accords politiques sur le taux des émissionsdes gaz toxiques dont résulte une taxe et voila le coût de production qui redevient crucial.C’est dans ce contexte que ce place l’énumération des optima de Pareto, offrir au décideurla possibilité de choisir une solution parmi les meilleures.

Nous nous intéressons dans ce travail à l’énumération des optima de pareto dans unproblème à machines parallèles uniformes avec des taches identiques, cette configurationconcorde avec les industries utilisant des machines neuves et modernes à cotés d’autres,moins efficaces et moins rapides, pour le traitement des mêmes taches, des traitements delots.

Le chapitre 1 de ce document est une introduction au problème d’ordonnancement quenous traitons, nous y rappelons certaines définitions élémentaires ainsi que des notationsde bases qui seront utilisées par la suite.

Le chapitre 2 est consacré à la méthode d’énumération utilisé dans ce travail, nous ydécrirons ses fondements, son fonctionnement et ses qualités.

Le chapitre 3 quand à lui est dédié à l’application de la méthode des boites sur leproblème d’ordonnancement bicritères que nous traitons, nous y présentons l’évaluationd’un algorithme nécessaire à cette application.

Nous finirons par une conclusion générale et des perspectives.

Page 6: Box Methode M2 R

Chapitre 1

Le problème d’ordonnancement

1.1 Introduction

1.1.1 Présentation du problème d’ordonnancement

Nous nous intéressons dans notre travail à l’énumération des optima de paréto d’unproblème d’ordonnancement de travaux identiques avec différentes dates de débuts auplus tôt sur des machines parallèles uniformes, les critères à minimiser étant le Cmax etLmax.

En utilisant la notation introduite par Graham, notre problème serai noté Q|ri, pi =p, di|Cmax, Lmax.Nous avons donc n taches i qui seront ordonnancées sur m machines parallèles j. Chaquetaches i est définie par sa date de début au plus tôt ri, sa date de fin souhaité di, et untemps opératoire pi. Toutes les taches ont le même temps opératoire, nous aurons ainsi∀i = 1..n pi = p. elles doivent être totalement exécuté par une des machines et ce sansaucune interruption.

Chaque machine j doit exécuter un travail à la fois, et ne se différencie des autresmachines que par sa vitesse opératoire Vj d’où le nom machine parallèle uniforme. Cecinous permet de définir le temps opératoire réel d’une tache i ordonnancé sur une machinej, qui serai pi,j = pi/Vj.

Résoudre notre problème consiste à déterminer pour chaque tache i la machine j surla quelle elle sera exécuter à un instant ti tel que ti ≥ ri, l’objectif étant de minimiserdeux critères à la fois.Le premier critère est le maximum des dates de fin des taches Cmax (makespan), il estdéfini par Cmax = maxi=1..n{Ci}, avec Ci date de fin d’une tache i.Le second critère est le retard algébrique, il est défini par Lmax = maxi=1..n{Ci − di}.Trouver une solution qui permet de minimiser les deux critères simultanément dans unproblème bi-critère n’est pas très évident, vu que l’existante d’une telle solution n’estgénéralement pas vérifié. Nous nous orientons donc vers l’énumération des optima deparéto stricts que nous définirons ultérieurement.

6

Page 7: Box Methode M2 R

1.1.2 Etat de l’art

Dans la littérature, le nombre de travaux qui portent sur les problèmes à machines pa-rallèles identiques domine largement celui des problèmes à machines parallèles uniformes,ceci dit plusieurs résultats intéressant ont été établie.[4] on démontré que Q|ri|Cmax ainsi que Q|ri|Lmax étais NP-difficile. [1] proposent uneheuristique avec une garantie de performance indépendante des vitesses des machines pourle Q|ri|Cmax.Pour des problèmes avec des taches identiques, [6] présentent des algorithmes polyno-miaux pour des problèmes de types Q|pi = 1|fmax qui sont équivalant au problèmesQ|pi = p|fmax. ils proposent un algorithme en O(n + mlog(m)) pour minimiser le Cmax

et le C, et en O(nlog(n)) pour minimiser Cw, Lmax, Tmax, et Uw, et enfin en O(nlog2(n))pour Tw

max.Lorsque les dates de début au plus tôt sont différentes, ils proposent un algorithme enO(nlog(n)) pour le Q|ri, pi = 1|Cmax.[3] traite le problème Q|ri, pi = 1|Lmax et propose une Procédure par Séparation et éva-luation très efficace. il insinue que ce problème est NP-difficile en se basant sur le résultatde [8] , qui ont démontré que Q|ri, pi = 1, di affectable|Cmax est NP-difficile au sens fort,mais il ne le démontre pas. Ce problème reste donc ouvert.

1.2 Résolution du Q|ri, pi = 1|Cmax

[6] présentent une méthode séquentielle en O(nlog(n)) qui se base sur le principeLST (Latest Start T ime) pour résoudre le Q|ri, pi = 1|Cmax. C’est un algorithme en deuxphases qu’on résume comme suit :

Dans la première phase, une date de fin impérative commune d , assez grande pour quetous les travaux soient ordonnancés, est fixé. Le LST d’une tache i noté Si, ∀i = 1..n estdéfini comme étant sa date de début au plus tard, qui respecte la date de fin impératived. L’affectation des taches sur les machines est déterminée en choisissant une tache i eten la plaçant sur la machine qui la commencera au plus tard. Le résultat de cette phaseest un ensemble ordonné de date de début au plus tard et d’affectation sur les machinesS ={S1, .., Sn}.

Dans la deuxième phase, les taches triées dans un ordre croissant des ri sont ordon-nancer en considérant leurs dates de début au plus tôt, et ce sur les machines déterminéespar l’ordre inverse de l’ensemble S.L’ordonnancement obtenu ainsi est optimal.

7

Page 8: Box Methode M2 R

1.2.1 pseudo-code de l’algorithme :

Etape 1 : /* Initialisation de l’algorithme */

T = {1, ..., n} ; // T ensemble des taches trié dans l’orde croissant des ri’sAM = ∅ ; // AM contient l’ordre LST d’affectation sur les machines

d ; //deadline assez grande pour ordonnancer toutes les taches

CMj = d, ∀j = 1, ..., m ; // CM

j est le completion time d’une machine j

σ = ∅ ;Etape 2 : /* Etablissement de l’ordre LST */

Pour i = 1 a n faireune machine j est choisie tel que (CM

j − pVj

) = max1≤k≤m(CMk − p

Vk) ;

AM = AM ∪ {j} ;CM

j = CMj − p

Vj;

FinPourEtape 3 : /* ordonnancement des taches */

CMj = 0,∀j = 1, ..., m ;

Pour k = 1 a n fairesoit i la tache T [k] ;soit j la machine AM [n − k] ;ordonnancer i sur la machine j a t tel que : t = max(ri, C

Mj ) ;

CMj = t + p

Vj;

σ = σ ∪ {i} ;FinPour

considerons l’exemple suivant : n = 5,m = 2, p = 6, V1 = 3, V2 = 2, [ri] = [1; 3; 5; 6; 7]

1. Première itération : début de la phase d’affectation.T = {1, ..., 5}, AM = ∅, CM

j = d = 16, σ = ∅.la tache 1 est placée sur la machine 1, AM = [1], CM

1 = 14.

2. Deuxième itération : AM = [1], CM1 = 14,CM

2 = 16.la tache 2 est placée sur la machine 2, AM = [1; 2], CM

1 = 14,CM2 = 13.

8

Page 9: Box Methode M2 R

3. Troisième itération : AM = [1; 2], CM1 = 14,CM

2 = 13.la tache 3 est placée sur la machine 1, AM = [1; 2; 1], CM

1 = 12,CM2 = 13.

4. Quatrième itération : AM = [1; 2; 1], CM1 = 12,CM

2 = 13.la tache 4 est placée sur la machine 1, AM = [1; 2; 1; 1], CM

1 = 10,CM2 = 13.

5. Cinquième itération : AM = [1; 2; 1; 1], CM1 = 10,CM

2 = 13.la tache 5 est placée sur la machine 2, AM = [1; 2; 1; 1; 2], CM

1 = 10,CM2 = 10.

fin de la phase d’affectation.

6. Sixième itération : début de la phase de séquencement.T = [1; 2; 3; 4; 5],AM = [1; 2; 1; 1; 2], CM

1 = 0,CM2 = 0.

9

Page 10: Box Methode M2 R

la tache 1 est ordonnancée sur la machine 2 à t = r1 = 1, AM = [1; 2; 1; 1;−],CM

1 = 0,CM2 = 4,

σ = σ ∪ {1}.

7. Septième itération : AM = [1; 2; 1; 1;−], CM1 = 0,CM

2 = 4,σ = {1}la tache 2 est ordonnancée sur la machine 1 à t = r2 = 3, AM = [1; 2; 1;−;−],CM

1 = 5,CM2 = 4,

σ = σ ∪ {2}.

8. Huitième itération : AM = [1; 2; 1;−;−], CM1 = 5,CM

2 = 4,σ = {1, 2}la tache 3 est ordonnancée sur la machine 1 à t = 5, AM = [1; 2;−;−;−], CM

1 =7,CM

2 = 4,σ = σ ∪ {3}.

9. Neuvième itération : AM = [1; 2;−;−;−], CM1 = 7,CM

2 = 4,σ = {1, 2, 3}la tache 4 est ordonnancée sur la machine 2 à t = 6, AM = [1;−;−;−;−],CM

1 = 7,CM2 = 9,

σ = σ ∪ {4}.

10

Page 11: Box Methode M2 R

10. Dixième itération : AM = [1;−;−;−;−], CM1 = 7,CM

2 = 9,σ = {1, 2, 3, 4}la tache 5 est ordonnancée sur la machine 1 à t = 7, AM = ∅, CM

1 = 9,CM2 = 9,

σ = σ ∪ {5}.

Fin de la phase de séquencement et arrêt de l’algorithme, la solution retourné estoptimale.

1.3 Résolution du Q|ri, pi = 1|Lmax

La complexité de ce problème est une question ouverte dans la littérature, il n’a pas étédémontré qu’un problème NP-difficile pouvait se réduire à lui et il n’existe pas d’algorithmepolynomial pour sa résolution. [3] propose une procédure par séparation et évaluation pourle Q|ri, pi = p, di|Lmax qui trouve une solution optimale en moins de 100 000 itérationspour des problèmes dont le nombre de travaux n ≤ 80 et le nombre de machines m ≤ 3.

1.4 Objectif du travail

Comme nous l’avons énoncé dans la présentation du problème que nous traitons, notreobjectif est de minimiser deux critères simultanément. Dans les problèmes d’ordonnance-ments dont l’objectif est d’optimiser un seul critère, la définition d’une solution optimaleest évidente. En effet une solution appartient à l’ensemble R, et dans R on dispose d’unpréordre total qui nous permet de comparer tous couple de solutions et de déterminer lameilleure.

Dans les problèmes d’optimisation multicritères, la définition d’une solution optimalen’est pas aussi évidente, car il existe rarement une solution minimisant tous les critèressimultanément, on s’intéresse plutôt à des solutions de meilleurs compromis. L’optimalitédans les problèmes multicritères fera l’objet de notre prochain paragraphe.

11

Page 12: Box Methode M2 R

1.4.1 Optimalité dans les problèmes multicritères [5]

Soit S ⊂ RQ l’ensemble des solutions, et Z ⊂ R

k l’image dans l’espace des critères deS par k critères Zi.Soit la structure d’ordre associée à R

k tel que, ∀x, y ∈ Rk :

x ≤ y ⇔ xi ≤ yi,∀i = 1..K

x = y ⇔ xi = yi,∀i = 1..K

Cette structure d’ordre définit un préordre partiel sur Rk, k ≥ 2, mais ne peut détermi-

ner à chaque fois la meilleure solution à cause de l’incomparabilité de certains vecteurs.L’optimalité dans les problèmes d’ordonnancement multicritères est définit à l’aide de lanotion d’optimum de pareto.

Definition 1.x ∈ S est un optimum de Pareto faible (ou solution faiblement efficace), si et seulementsi 6 ∃ y ∈ S tel que ∀i = 1..k, Zi(y) < Zi(x).L’ensemble des optima de pareto faibles est noté WE.

Definition 2.x ∈ S est un optimum de Pareto strict (ou solution efficace), si et seulement si 6 ∃ y ∈ Stel que ∀i = 1..k, Zi(y) ≤ Zi(x).L’ensemble des oprima de pareto strict est noté E,et on a E ⊂ WE.

Definition 3.un problème d’optimisation multicritère est défini comme suit :

minf(x) =

Z1(x)Z2(x)

...ZK(x)

avec x ∈ S

1.4.2 Détérmination des optima de pareto

Après avoir définit les optima de Pareto, nous allons maintenant nous intéressé auxméthodes qui nous permettent de les calculer. Parmi ces méthodes nous définirons lesdeux qui sont utilisé dans la méthode des boites.

12

Page 13: Box Methode M2 R

Approche ǫ-contrainte

L’approche ǫ-contrainte est très souvent utilisé dans la littérature. Elle consiste àramener un problème d’optimisation multicritère à un problème monocritère en fixantdes bornes supérieures sur k − 1 des critères du problème multicritère initial. La fonctionobjective du problème sera noté ǫ(Z1/Z2, .., ZK). Z1 sera le critère à minimiser et ∀i =2, .., k Zi ≤ ǫ.Le problème monocritère résultant, noté (Pǫk) , est le suivant :

Min Zk(x)sachant que :

x ∈ SZi(x) ≤ ǫk

i ,∀i ∈ [1; k], i 6= k

Fig. 1.1 – Détermination par l’approche ǫ-contrainte

Une solution optimale pour le Problème (PǫK ) est un optimum de pareto faible.

Approche lexicographique

Dans la méthode lexicographique, un ordre d’optimisation des critères est définit. Cetteméthode est utilisée lorsqu’aucune compensation n’est autorisée sur les critères. L’ordre

13

Page 14: Box Methode M2 R

établi reflète l’importance des critères, ainsi le critère le plus important sera optimisé enpremier. La fonction objective du problème sera noté Lex(Z1, Z2, .., Zk).

Déterminer une solution optimale x0 pour le nouveau problème qui sera noté minLex(Z)est équivalent à trouver une solution x0 ∈ Sk avec :

S1 = {x ∈ S/Z1(x0) = minx∈S(Z1(x))},

S2 = {x ∈ S1/Z2(x0) = minx∈S1(Z2(x))},...

Sk = {x ∈ Sk−1/Zk(x0) = minx∈Sk−1(Zk(x))},

Proprietés :

∀x ∈ Si, 1 ≤ i ≤ K,x est optimum de pareto faible.∀x ∈ Sk, x est un optimum de pareto strict.

1.4.3 Enumération des optima de pareto

Comme nous l’avons introduit dans la section précédente, un optimum de pareto estune solution de meilleur compromis. Dans la réalité il est difficile de savoir quel est l’op-timum de pareto le mieux adapté aux besoins et objectifs stratégiques de l’entreprise, lapossibilité d’en choisir un parmi d’autres devient primordiale. L’énumération des optimade pareto répond à ce besoin, il s’agit d’approximer l’ensemble des optima de pareto strict.

Enumeration basée sur l’approche ǫ-contrainte [9]

Nous présentons dans ce paragraphe une méthode d’énumération pour des problèmesbicritère basé sur l’approche ǫ-contrainte. L’énumération est effectué itérativement enchangeant le paramètre ǫ à chaque itération, tel que décrit sur la figure 1.2.

Initialement on pose ǫ0 = HV, ou HV est une valeur suffisamment grande.On lance la méthode ǫ-contrainte avec le paramètre ǫ = ǫ0,On note l’optimum résultantz1.on fixe une nouvelle valeur pour ǫ qu’on notera ǫ1 tel que ǫ1 = z1

1 − 1. On relancera ensuite le calcul avec la nouvelle valeur de ǫ.Ce processus va être répéter jusqu’à ce que le problème ǫ-contrainte devienne infaisable,ce qui est le cas avec la valeur ǫ4 dans la figure 1.2.

Enumération basée sur la méthode des boites

La méthode des boites a été présenté par [2], c’est une méthode qui combine l’approchelexicographique et l’approche ǫ-contrainte pour l’énumération des optima de pareto strict.Elle fera l’objet de notre prochain chapitre.

14

Page 15: Box Methode M2 R

Fig. 1.2 – Enumération des optima de pareto stricts en utilisant l’approche ǫ-contrainte

15

Page 16: Box Methode M2 R

Chapitre 2

La méthode des boites

Ce chapitre est consacré à la méthode des boites et est intégralement inspiré de [2].Nous commencerons par introduire la notion de représentation de l’ensemble des optimade pareto stricts et les éléments qui déterminent sa qualité. En suite nous présenteronsle principe de méthode des boites et décrirons les deux versions existantes. Nous finironspar présenter ses qualités.

2.1 Introduction

Soit le problème d’optimisation bicritère suivant :

min f(x) =

(

Z1(x)Z2(x)

)

avec x ∈ S

Soit : Y = f(S) l’ensemble des solutions dans l’espace des critères.SE l’ensemble des optima de pareto strict et YE = f(SE).

[2] définissent une représentation ( appelée aussi approximation) Rep comme un ensemblede points tel que : Rep ⊂ Y . Cet ensemble de points est une approximation de l’ensembleYE , et comme Rep 6= YE la notion de qualité de la représentation est primordiale.

Ils évaluent la qualité des représentations générer par leurs algorithme avec les attributssuivants :

Cardinalité : La cardinalité porte sur la taille du système à représenter et de la repré-sentation, en effet le système doit être raisonnablement petit vu que le calcul de chaquepoint représentatif requière un certain effort. La cardinalité de la représentation doit aussiêtre raisonnable sinon, si elle contient un nombre important de points il sera difficile dechoisir celui qui offre le meilleur compromis.

16

Page 17: Box Methode M2 R

Précision : Une représentation précise reflète un ensemble de solutions non dominécomplet. En d’autre terme la précision permet d’exclure les situations ou une majeurepartie des solutions non dominées ne soit pas incluse dans la représentation.

L’erreur de représentation : C’est la distance entre maxz∈Rep et miny∈YEnoté ‖z −

y‖. Ainsi si tous les points de la représentation sont contenus dans YE alors l’erreur dereprésentation est nulle.

Densité d’un cluster : La notion de densité est très proche de celle de la cardinalité,en effet on doit éviter d’avoir des boites larges qui contiennent trop de points, sachantque ces point doivent représenter le même sous ensemble des optima de pareto stricts.

La méthode des boites permet de calculer une représentation pour un problème d’ordon-nancement bicritère. Une représentation Rep calculé ne contient que des vecteurs stricte-ment non dominé i.e Rep ⊆ YE. ceci implique une erreur de représentation nulle.

Chaque point de la représentation est associé à un rectangle (boite) et représentetoutes les solutions non dominées de cette boite. A chaque itération de la méthode, lacollection des boites contient l’ensemble des vecteurs non dominés, et donc détermineaussi les régions qui n’en contiennent aucun. Les points de la représentation sont générésavec une version lexicographique de la méthode ǫ-contrainte.

2.2 La version lexicographique de l’approche ǫ-contrainte

Soit le problème Pǫ définit comme suit :

Lex min

(

f2(x)f1(x)

)

avec : f1(x) ≤ ǫx ∈ S

La résolution de ce problème se fait dans un ordre lexicographique i.e : f2(x) sera optimiseren premier puis f1(x)., sachant que le critère f1(x) est borné par la valeur ǫ.Cette méthode a plusieurs propriétés intéressantes et très utiles pour la construction dereprésentation. Ainsi [2] démontrent que toute solution du problème (Pǫ) est un optimumde pareto strict, et que tout optimum de pareto peut être obtenu avec une valeur ǫadéquate.

2.3 La méthode des boites

Initialement, on commence par calculer deux solutions optimales avec la méthodelexicographique (une solution pour chaque ordre lexicographique). Ces deux points vontdéterminer la boite initiale qui va contenir l’ensemble des vecteurs non dominés.

17

Page 18: Box Methode M2 R

Puis on élimine des parties de cette boite initiale en utilisant les résultats obtenus aprèschaque itération. Une itération équivaux à la résolution d’un problème (Pǫ) avec la versionlexicographique de l’approche ǫ-contrainte en utilisant un paramètre ǫ adéquat que l’onchoisi.

Le résultat partiel après chaque itération est une collection de boites dans la quelle l’en-semble des vecteurs non dominés est inclus. Pour chaque boite du résultat partiel onconnait un point non dominé qui représente l’ensemble des points non dominés dans cetteboite.

La méthode s’arrête lorsque la surface de la plus grande boite est inférieur a une sur-face de précision que l’on défini a priori. si une précision ∆ est utilisé, la collection desboites résultantes sera noté ∆-représentation.Le coin inférieur droit de chaque boite est considéré comme le point représentatif.

Exemple :Soit un problème d’optimisation bicritère P :

minf(x) =

(

f1(x)f2(x)

)

avec x ∈ S

On détermine en utilisant l’approche lexicographique deux solutions optimales z1 et z2

tel que :

z1 =

(

z11

z21

)

= lex minx∈S

(

f1(x)f2(x)

)

z2 =

(

z12

z22

)

= lex minx∈S

(

f2(x)f1(x)

)

On note R(z1, z2) le rectangle (boite) défini par z1 et z2 tel que :

z1 = (z11 , z

12) est le coin supérieur gauche.

z2 = (z21 , z

22) est le coin inférieur droit.

la figure 2.1 décrit la boite initiale.

a(R(z1, z2)) est la surface de la boite déterminé par z1 et z2 tel que :

18

Page 19: Box Methode M2 R

a(R(z1, z2)) = (z21 − z1

1)(z12 − z2

2)

Il est évident que YE est un sous ensemble de R(z1, z2) ,i.e : YE ⊆ R(z1, z2) .

Fig. 2.1 – La boîte initiale

A chaque itération, un vecteur non dominé est connu, et une des boites sera décom-posée en plusieurs boites plus petites. Certaines des boites résultantes seront éliminées dela collection vu qu’elles ne contiennent aucun vecteur non dominé.

Considérons une boite R(y1, y2) avec a(R(y1, y2)) > ∆.∆ est la surface de précision.

On fixe ǫ= ⌊(y11 + y1

2)/2⌋. et on résoud le problème (Pǫ).

Soit x∗ ∈ S la solution optimale de (Pǫ). Et z∗ = (f1(x∗), f2(x

∗)) sa représentation dansl’espace des critères. la figure 2.2 Décrit le partitionnement d’une boite.

En utilisant les point z∗ et ǫ, on divise la boite R(y1, y2) en cinq rectangle.

19

Page 20: Box Methode M2 R

R1 = R(y1, z∗)R2 = R(p1, p4)R3 = R(p2, p6)R4 = R(p3, p7)R5 = R(p5, y2)

Fig. 2.2 – Partitionnement d’une boite

avec :

p1 =

(

z∗1y1

2

)

, p2 =

(

ǫ + 1y1

2

)

, p3 =

(

y11

z∗2

)

, p4 =

(

ǫz∗2

)

,

p5 =

(

ǫ + 1z∗2 − 1

)

, p6 =

(

y21

z∗2

)

et p7 =

(

ǫy2

2

)

Il est a noté que les points p2 et p5 ont leurs premières coordonnées décalées d’une unitévers la droite de ǫ, et que la seconde coordonné du point p5 est aussi décalé d’une unitévers le bas. Ceci est du au fait qu’aucun vecteur non dominé faisable puisse avoir des

20

Page 21: Box Methode M2 R

coordonnés fractionnaires.Il est a noté aussi que les points pi, i = 1, .., 7, ne sont pas nécessairement des vecteursfaisables.[2] ont énoncé et démontré les propriétés suivantes :

(1) (R2 ∪ R3) ∩ YE ⊆ {z∗}.(2) R4 ∩ YE ⊆ {z∗}.(3) YE ∩ R(y1, y2) ⊆ R1 ∪ R5.(4) a(R1) + a(R5) ≤

12

a(R(y1, y2)).

Les propriétés (1) et (2) implique que les boites R2, R3, et R4 peuvent être éliminées dela collection vu qu’elles ne contiennent aucun vecteur non dominé.La propriété (3) confirme que l’ensemble des vecteurs non dominé sera toujours inclusdans les boites, et enfin la quatrième présente la rapidité de convergence de la méthodevers la précision ∆.

Fig. 2.3 – Résultat du partitionnement d’une boite

21

Page 22: Box Methode M2 R

2.4 La version a posteriori de la méthode des boites

Nous présentons dans cette section la version a posteriori de la méthode des boites.Dans cette version une nouvelle valeur ǫ est fixée à chaque itération. Cette valeur estdéterminée de la même façon que dans l’exemple précédent i.e : ǫ = ⌊(y1

1 +y12)/2⌋ où y1 et

y2 sont respectivement le coin supérieur gauche et le coin inférieur droit de la plus largeboite de la collection.

Pseudo code de la version a posteriori

Input : Un problème d’optimisation bicritère, ∆ > 0 ;Output : Rep ⊆ YE avec une précision ∆ ;

Etape 1 : /* Initialisation de l’algorithme */

S = ∅ ; //Ensemble des boites.Rep = ∅ ; //La Représentation.

Etape 2 : /* Calcul de la boite initiale */

Calculer z1 et z2 avec l’approche lexicographique ;Calculer a(R(z1, z2)) ;Rep = {z1, z2} ;S = {R(z1, z2)} ;

Etape 3 : /* Boucle pricipale */

Tantque S 6= ∅ faire

choisir la plus large des boites R(y1, y2) ∈ S ;S = S − {R(y1, y2)} ;résoudre Pǫ avec ǫ = ⌊(y1

1 + y12)/2⌋ et obtenir une solution obtimale z∗ ∈ YE ;

Rep = Rep ∪ {z∗} ;Si a(R(y1, z∗)) > ∆ Alors

S = S ∪ {R(y1, z∗)} ;FinSiSi a(R(p5, y2)) > ∆ Alors

S = S ∪ {R(p5, y2)} ;FinSi

FinTantque

[2] ont démontré qu’au bout d’un nombre fini d’étape, la version a posteriori se termineet que tous les points représentés sont des vecteurs non dominés. La complexité est en :

O(T1 + (a(R(y1, y2))/∆)T2)

T1 est le temps nécessaire pour calculer la boite initiale.T2 est le temps nécessaire pour résoudre Pǫ.

Il est a noté que T1 et T2 dépendent fortement du problème considéré.

22

Page 23: Box Methode M2 R

2.5 La version a priori de la méthode des boites

Dans la version a priori, au lieu de calculer la prochaine valeur ǫ après chaque itération,on calcule des valeurs équidistantes de ǫ a priori. Ce calcul est basé sur la valeur de laprécision ∆. Le résultat sera une ∆-représentation pour toute valeur de ∆.Soit :

ǫj =⌊z11 + (j/k + 1)(z2

1 − z11)⌋

Soit : zj ; j = 1, .., k, l’image de la solution optimale pour un problème (Pǫj).Dans cette

version de la méthode les points zj ; j = 1, .., k, ne sont pas forcément différents.Soit les points pj ; j = k, .., 1 tel que :

pk= (ǫk + 1, zk2 − 1).

pj= (ǫj + 1, zj2 − 1) Si zj+1 6= zj.

pj= zj Sinon.

L’ensemble des points {pj} sera utilisé pour définir les boites, cependant il ne représentepas nécessairement des solutions réalisables. On en conclu que :

YE ⊆ R(z1, z1) ∪⋃k−1

j=1 R(pj, zj+1) ∪ R(pk, z2)

Fig. 2.4 – Version a priori de la méthode des boites

23

Page 24: Box Methode M2 R

Pseudo code de la version a priori

Input : Un problème d’optimisation bicritère, ∆ > 0 ;Output : Rep ⊆ YE avec une précision ∆ ;

Etape 1 : /* Initialisation de l’algorithme */Rep = ∅ ; //La Représentation.

Etape 2 : /* Calcul de la boite initiale et du Pas */Calculer z1 et z2 avec l’approche lexicographique ;Calculer a(R(z1, z2)) ;Rep = {z1, z2} ;k = ⌈a(R(z1, z2))/∆⌉ − 1 ;

Etape 3 : /* Boucle pricipale */Pour i = k à 1 faire

ǫj = ⌊z11 + (j/k + 1)(z2

1 − z11)⌋ ;

résoudre Pǫjet obtenir une solution obtimale zj ;

Rep = Rep ∪ {zj} ;FinPour

Les problèmes (Pǫj) sont résolus de droit à gauche vu que c’est plus pratique et rapide

que de faire de gauche à droite. Effectivement la solution optimale d’un problème (Pǫj)

peut être optimale pour les problèmes (Pǫi) i = 1, .., j − 1, et par conséquent on risque

d’en ignorer certaines.

2.6 Qualités de la représentation

Cardinalité

Le nombre de point de la représentation est au plus 2⌈log2(a(R(z1,z2))/∆⌉ + 1 pour la ver-sion a posteriori de la méthode des boites et est de ⌈a(R(z1, z2)/∆⌉+ 1 pour la version apriori de la méthode. Ces deux valeurs sont les valeurs des pires cas, en pratique le nombrede points est bien inférieur vu que des solutions peuvent être optimales pour plusieursproblèmes (Pǫ) simultanément.

Une particularité de la méthode est que l’on peut avoir la cardinalité désirée. Ceci enreformulant les algorithmes des deux versions de manière à avoir en entrée une cardinalitédésirée N au lieu de la précision ∆. La précision sera ainsi en fonction de la cardinalitésouhaitée N tel que :

∆ = a(R(z1, z2))/(N − 1) pour la version a posteriori.∆ = a(R(z1, z2))/(N − 2) pour la version a priori.

24

Page 25: Box Methode M2 R

Précision

Une définition courante de la précision d’une approximation (représentation) Rep estun pourcentage ǫ de la distance entre tous vecteurs non dominés et le point de la représen-tation le plus proche. Les points représentatifs des boites générées par les deux versionsde la méthode atteignent un pourcentage ǫ tel que :

ǫ = maxy∈Rep, y∈R(z,y){(y1 − z1)/y1}

avec y le point représentatif de la boite R(z, y).Les deux versions de la méthode sont exactes si la valeur de ∆ et suffisamment petite.

L’erreur de représentation

Soit erreurRep l’erreur de représentation de l’approximation Rep :

erreurRep = maxz∈Repminy∈YE‖z − y‖

Dans les deux versions de la méthode, seules les vecteurs non dominés sont générés, parconséquent l’erreur de représentation sera toujours nulle.

Densité d’un cluster

A la fin de chacune des versions de l’algorithme, il est possible de réduire le nombrede points de chaque boite. Cette réduction permettra de diminué la cardinalité tout enmaintenant la précision ∆ de la représentation.

25

Page 26: Box Methode M2 R

Chapitre 3

Application au Q|ri, pi = p|Cmax, Lmax

3.1 la méthode des boites pour le problème Q|ri, pi = p|Cmax, Lmax

Nous détaillons dans ce paragraphe l’application de la méthode des boites au problèmeQ|ri, pi = p|Cmax, Lmax. La version de la méthode utilisé et la version a priori.

On commence par déterminer la boite initiale en calculant les deux solutions s1 et s2

des problèmes Q|ri, pi = p|lex(Lmax, Cmax) et Q|ri, pi = p|Lex(Cmax, Lmax) respective-ment.On calcule en suite k le nombre des valeurs équidistantes ǫj.

k = ⌈a(R(s1, s2))/∆⌉ − 1

Une fois k fixé on pourra calculer les ǫj tel que :

ǫj = ⌊s11 + (j/k + 1)(s2

1 − s11)⌋

26

Page 27: Box Methode M2 R

Le problème Pǫjque nous devrons résoudre à chaque itération est : Q|ri, pi = p, Lmax ≤

ǫj|Cmax qui est équivalant au Q|ri, pi = p, di = di + ǫj|Cmax.La résolution de ce dernier se fera avec une recherche dichotomique à travers des résolu-tion successive de problèmes de décision Q|ri, pi = p, di|−. Cette recherche dichotomiquese fait sur un intervalle [LBCmax

, UBCmax].

Ainsi pour une valeur δ ∈ [LBCmax, UBCmax

] on aura a résoudre un problème Q|ri, pi =p, di, Cmax ≤ δ|− qui est équivalent au problème Q|ri, pi = p, di’ = min(di, δ)|−. Si leproblème est faisable alors δ = UBCmax

sinon δ = LBCmax.

La recherche s’arrête lorsque UBCmax− LBCmax

= 1. Nous aurons obtenu une solutionoptimale C∗

max = UBCmax, et un Lmax qui correspond à cette solution.

27

Page 28: Box Methode M2 R

Pseudo code :

Input : Un problème d’optimisation bicritère, ∆ > 0 ;Output : Rep ⊆ YE avec une précision ∆ ;

Etape 1 : /* Initialisation de l’algorithme */

Rep = ∅ ; //La Représentation.Etape 2 : /* Calcul de la boite initiale et du Pas */

Calculer s1 ;// solution pour Q|ri, pi = p|lex(Lmax, Cmax)Calculer s2 // solution pour Q|ri, pi = p|lex(Cmax, Lmax)Calculer a(R(s1, s2)) ;Rep = {s1, s2} ;k = ⌈a(R(s1, s2))/∆⌉ − 1 ;

Etape 3 : /* Boucle pricipale */

Pour i = k à 1 faireǫj = ⌊z1

1 + (j/k + 1)(z21 − z1

1)⌋ ;Pour i = 1 à n faire

di = di + ǫj ;FinPourcalculer les bornes LBCmax et UBCmax ,Tant que UBCmax − LBCmax ≥ 1 faire

δ =UBCmax+LBCmax

2 ;Pour i = 1 à n faire

di’=min(di, δ) ;FinPour

Si Q|ri, pi = p, di’|− est faisable AlorsUBCmax = δ ;

SinonLBCmax = δ ;

FinSiFinTantque

C∗max = UBCmax ;

déterminer Lmax ;zj = (C∗

max, Lmax) ;Rep = Rep ∪ {zj} ;

FinPour

L’inconvénient de l’algorithme si dessus est qu’il nécessite la résolution des problèmesQ|ri, pi = p|Lmax et Q|ri, pi = p, di|− qui sont des problèmes ouverts.

3.2 Le problème de faisabilité Q|ri, pi = p, di|−

Pour pouvoir utiliser la méthode des boites pour le problème Q|ri, pi = p|Cmax, Lmax

, il nous faut résoudre le Q|ri, pi = p, di|− en temps polynomial. L’objectif est de pouvoirdéterminer pour une instance donnée l’existence d’un ordonnancement faisable ou pas.

28

Page 29: Box Methode M2 R

Si les vitesses des machines sont identiques, nous nous retrouvons avec le problèmeà machine parallèle identique P |ri, pi = p, di|−. [7] propose un algorithme exacte enO(n3log(log(n))) pour le résoudre.L’algorithme de Simons est une combinaison entre les règles ERD-FAM (Earliest ReleaseDate first on the Fastest Available Machine ) et EDD-FAM (Earliest Due Date first onthe Fastest Available Machine).

En s’inspirant directement de l’algorithme de Simons, Monsieur T’KINDT Vincenta proposé l’algorithme Qdec pour résoudre le Q|ri, pi = p, di|−. Nous décrirons cet al-gorithme en détaille après avoir présenté le modèle mathématique pour le problème enquestion.

3.2.1 Modèle mathématique

Variables :

• yi,j =

{

1 si la tache i placée sur la machine j.0 sinon.

. yi,j ∈ {0, 1}.

• xi,k =

{

1 si la tache i est placee avant la tache k.0 sinon.

, xi,k ∈ {0, 1}.

• ti : date de début de la tache i. ti ∈ R+.

Contraintes :• xi,k + xk,i=1 ∀i, k = 1, .., n i 6= k

•∑m

j=1 yi,j=1 ∀i = 1, .., n.

• ti + p∑m

j=11Vj

yi,j ≤ di ∀i = 1, .., n.

• ti ≥ ri ∀i = 1, .., n.

• ti+p∑m

j=11Vj

yi,j ≤ tk +(3−xi,k−yk,i−yi,j)HV∀i, k = 1, .., n i 6= k∀j = 1, ..,m

29

Page 30: Box Methode M2 R

3.2.2 Pseudo code de Qdec

Etape 1 : /* Initialisation de l’algorithme */T = {1, ..., n} ; // T est l’ensemble des taches triées par ordre croissant des ri.

A = ∅ ; // A est triés par ordre croissant des di.B = ∅ ; // B est l’ensembles des barrières bi,j,t.CM

j = 0,∀j = 1, ...,m ;σ = ∅ ;

Etape 2 : /* Boucle principale */Tant que (|T ∪ A| 6= 0) Faire

select = false ;Tantque !(select) Faire

t11 = mini∈(A∪T )−B ri ;t12 = minbi,j,t∈B t ; //tel que la tache i n’a pas été déja sélectionner

Si t11 ≤ t12 Alorst1 = t11 ;barrier=false ;

Sinont1 = ri ;barrier=true ;

FinSij est tel que max(CM

j , t1) + pVj

= min1≤k≤m(max(CMk , t1) + p

Vk) ;

Si !(barrière sur i,j) Alorsselect=true ;

FinSiFinTant que ;

t2 = CMj ;

t = max(t1, t2) ;Si (barrier) Alors

Déplacer de T vers A toutes les taches disponibles à t ;Sinon

Déplacer de (T − B) vers A toutes les taches disponibles à t ;FinSiSoit i = A[1] la première tache disponible avec la plus petite deadline ;

Si t + pVj

≤ di Alors

Ordonnancer i sur la machine j à t : CMj = t + p

Vj, σ = σ ∪ {i} et A = A − {i} ;

Si (barrier) AlorsB = B − {bi,j,t} ;

FinSiSinon

Soit ℓ la dérnière tache ordonnancer tel que dℓ > di ;Soit C= {les taches ordonnancer entre ℓ et i} ∪ {i} ;T = T + C+A ;σ = σ − C−{ℓ} ;A = ∅ ;B = B ∪ {bℓ,j,mink∈Crk

} ;Actualiser les CM

j

FinSiFinTant que ;

30

Page 31: Box Methode M2 R

Exemple considerons l’instance suivante :

n = 6,m = 2, p = 4, V1 = 1, V2 = 2, [ri] = [0; 1; 1; 4; 5; 7] et [di] = [3; 6; 12; 10; 9; 9].

1. Première itération :. T = {1, ..., 6}, A = ∅, CMj = 0,B = ∅, σ = ∅.

t1 = t11 = 0, j = 2, t2 = 0 et t = 0. A = {1} et T = {2, ..., 6}.La tache 1 est ordonnancée sur la machine 2 à t=0 ⇒ A = ∅, σ = σ ∪ {1}, CM

2 = 2.

2. Deuxième itération. t1 = t11 = 1, j = 2, t2 = 2 et t = 2. A = {2, 3} et T = {4, 5, 6}.la tache 2 est ordonnancée sur la machine 2 à t=2 ⇒ A = {3}, σ = σ∪{2}, CM

2 = 4.

3. Troisième itération. t1 = t11 = 1, j = 1, t2 = 0 et t = 1. A = {3} et T = {4, 5, 6}.la tache 3 est ordonnancée sur la machine 1 à t=1 ⇒ A = ∅, σ = σ ∪ {3}, CM

1 = 5.

4. Quatrième itération : t1 = t11 = 4, j = 2, t2 = 4 et t = 4. A = {4} et T = {5, 6}.la tache 4 est ordonnancée sur la machine 2 à t=4 ⇒ A = ∅, σ = σ ∪ {4}, CM

2 = 6.

5. Cinquième itération : t1 = t11 = 5, j = 2, t2 = 6 et t = 6. A = {5} et T = {6}.la tache 5 est ordonnancée sur la machine 2 à t=6 ⇒ A = ∅, σ = σ ∪ {5}, CM

2 = 8.

31

Page 32: Box Methode M2 R

6. Sixième itération : t1 = 7, j = 2, t2 = 8 et t = 8. A = {6} et T = ∅.la tache 6 ne peut étre placée sur la machine 2 vu qu’elle finirais à t= 10 > d6 = 9.ℓ = 4, C= {5; 6}, A = ∅, σ = σ − {4, 5}, CM

2 = 4, T = {4; 5; 6}, B = {(4, 2, 5)}.

7. Septième itération : t11 = 5, t12 = 5, t1 = t11 = 5, barrier=false,j = 2, t2 = 4 et t = 5. A = {5}, T = {4; 6}, et B = {(4, 2, 5)}.la tache 5 est ordonnancée sur la machine 2 à t=5 ⇒ A = ∅, σ = σ ∪ {5}, CM

2 = 7.

8. Huitième itération : t11 = 7, t12 = 5, t1 = r4 = 4, barrier=true,j = 1, t2 = 5 et t = 5. A = {4} et T = {6}.la tache 4 est ordonnancée sur la machine 1 à t=5 ⇒ A = ∅, σ = σ ∪ {4}, CM

1 = 9,et B = ∅.

9. Neuvième itération : t1 = t11 = 7, j = 2, t2 = 7 et t = 7. A = {6} et T = ∅.la tache 6 est ordonnancée sur la machine 2 à t=7 ⇒ A = ∅, σ = σ ∪ {6}, CM

2 = 9.

L’algorithme s’arrête, il a trouvé une solution faisable

Contre exemple : considerons l’instance suivante :

32

Page 33: Box Methode M2 R

n = 4,m = 2, p = 4, V1 = 1, V2 = 2, [ri] = [0; 1; 3; 5] et [di] = [3; 5; 6; 7].

l’algorithme Qdec fera erreur sur cette instance et dira qu’elle est infaisable. il ordon-nancera les taches [1; 2; 3] sur la machine 2 et ne pourra pas placer la tache 4 sur aucunedes machines.

le diagramme de Gantt suivant illustre une solution faisable pour ce problème : Qdecn’est pas exacte.

une raison évidente de cette anomalie est l’utilisation du principe ERD −FAM dansQdec, il est aisé de démontrer qu’avec des ri croissant uniformément et une différenceassez importante des vitesses des machines, ERD−FAM placera tous les travaux sur lamachine la plus rapide et ne pourra exploiter les autres machines.

Ce constat nous a poussé à faire une version de Qdec utilisant le principe ERD −FM : Earliest Realese Date first on the F irst available Machine. Le résultat est plusintéressant mais l’algorithme n’est pas exact.

33

Page 34: Box Methode M2 R

3.2.3 Pseudo code de la deuxième version de Qdec :

Etape 1 : /* Initialisation de l’algorithme */

T = {1, ..., n} ; // T est l’ensemble des taches triées par ordre croissant des ri.M = {1, ..., n} ;// M est triés par ordre croissant des CM

j .

AJ = ∅ ; // AJ est triés par ordre croissant des di.AM = ∅ ; // AM est triés par ordre décroissant des Vj ’sB = ∅ ; // B est l’ensembles des barrières bi,j,t

CMj = 0, ∀j = 1, ..., m ;

σ = ∅ ;Etape 2 : /* Boucle principale */

Tant que (|T ∪ AJ | 6= 0) Faire

select = false ;Tant que !(select) Faire

t11 = mini∈(AJ∪T )−B ri ;

t12 = minbi,j,t

∈B t ;//tel que la tache i n’a pas été déja sélectionner

Si t11 ≤ t12 Alorst1 = t11 ;barrier=false ;

Sinont1 = ri ;barrier=true ;

FinSiDéplacer de M vers AM toutes les machines disponibles à t= t1 ;Si (|AM | 6= 0) Alors

Soit j = AM [1] //la plus rapide des machines disponiblesSinon

Soit j = M [1] //la première machine qui sera disponible ;FinSiSi !(barrière sur i,j) Alors

select=true ;FinSi

FinTant que ;

t2 = CMj ;

t = max(t1, t2) ;Si (barrier) Alors

Déplacer de T vers AJ toutes les taches disponibles à t ;Sinon

Déplacer de (T − B) vers AJ toutes les taches disponibles à t ;FinSiSoit i = AJ [1] la première tache disponible avec la plus petite deadline ;

Si t + pVj

≤ di Alors

Ordonnancer i sur la machine j à t : CMj = t + p

Vj, σ = σ ∪ {i} et AJ = AJ − {i} ;

Si (barrier) AlorsB = B − {bi,j,t} ;

FinSiSinon //placer la tache sur la FAM

j est tel que max(CMj , t1) + p

Vj= min1≤k≤m(max(CM

k, t1) + p

Vk) ;

t2 = CMj ;

t = max(t1, t2) ;

Si t + pVj

≤ di Alors

Ordonnancer i sur la machine j à t : CMj = t + p

Vj, σ = σ ∪ {i} et AJ = AJ − {i} ;

Si (barrier) AlorsB = B − {bi,j,t} ;

FinSiSinon

Soit ℓ la dérnière tache ordonnancer tel que dℓ > di ;Soit C = {les taches ordonnancer entre ℓ et i} ∪ {i} ;T = T + C + AJ ;σ = σ − C−{ℓ} ;AJ = ∅ ;B = B ∪ {bℓ,j,mink∈Crk

} ;

Actualiser les CMj

FinSiFinSi

FinTant que ;

34

Page 35: Box Methode M2 R

Exemple Reprenons le contre exemple précèdent

n = 4,m = 2, p = 4, V1 = 1, V2 = 2, [ri] = [0; 1; 3; 5] et [di] = [3; 5; 6; 7].

1. Première itération :. T = {1, ..., 4}, M = [2; 1],AJ = ∅,AM = ∅, CMj = 0,B = ∅,

σ = ∅.t1 = t11 = 0, AM = [2; 1], j = 2, t2 = 0 et t = 0. AJ = {1} et T = {2, 3, 4}.La tache 1 est ordonnancée sur la machine 2 à t=0 ⇒ AJ = ∅, σ = σ∪{1}, CM

2 = 2.

2. Deuxième itération. t1 = t11 = 1,AM = [1], j = 1, t2 = 0 et t = 1. AJ = {2} etT = {3, 4}.la tache 2 est ordonnancée sur la machine 1 à t=1 ⇒ AJ = ∅, σ = σ ∪{2}, CM

1 = 5.

3. Troisième itération. t1 = t11 = 3,AM = ∅,M = [2; 1], j = 2, t2 = 2 et t = 3.AJ = {3} et T = {4}.la tache 3 est ordonnancée sur la machine 2 à t=3 ⇒ AJ = ∅, σ = σ ∪{3}, CM

2 = 5.

35

Page 36: Box Methode M2 R

4. Quatrième itération : t1 = t11 = 5,AM = [2; 1], j = 2, t2 = 5 et t = 5. AJ = {4} etT = ∅.la tache 4 est ordonnancée sur la machine 2 à t=5 ⇒ AJ = ∅, σ = σ ∪{4}, CM

2 = 7.

Contre exemple : considerons l’instance suivante :

n = 2,m = 2, p = 12, V1 = 2, V2 = 3, [ri] = [0; 2] et [di] = [6; 7].

Dans cet exemple, les deux version de l’algorithme placerons la tache 1 sur la machine2 et ne pourrons pas placer la tache 2, le résultat retourné est que le problème est infaisablealors qu’on peut observé une solution réalisable sur la deuxième figure.

36

Page 37: Box Methode M2 R

3.3 Expérimentation numérique

La compagne de tests utilisés pour évaluer les deux versions de l’algorithme Qdec estla suivante :Le nombre de travaux n prend ses valeurs dans l’ensemble {8; 9; 10; 11; 12}.Le nombre de machines m prend ses valeurs dans l’ensemble {2; 3; 4; 5; 6}.

Pour générer les données, nous utilisons un paramètre R qui nous permet de maîtriserla distribution des dates de débuts au plus tôt ri et des dates de fin impératives di.R prend ses valeurs dans l’ensemble {0.2; 0.4; 0.6; 0.8; 1.0; 1.2; 1.4; 1.6}.

Pour chaque triplet (n,m,R) nous générons 50 instances, ce qui nous fait 400 instancespour un nombre de travaux et de machines (n,m)fixé. Au total nous avons évalué 10000instances différentes.

Nous présentons les résultats dans deux tableaux. Dans le premier nous nous intéres-sons au nombre d’instances erronées par nombre de travaux. La première colonne repré-sente le nombre de travaux, la seconde et la troisième correspondent au nombre d’instanceserronées par la première et la seconde version de Qdec respectivement, la quatrième dé-signe le nombre d’instance erroné par les deux algorithmes.

Dans le second tableau nous nous intéressons au nombre d’instances erronées parnombre de machines. La première colonne représente le nombre de machines, la secondeet la troisième correspondent au nombre d’instances erronées par la première et la secondeversion de Qdec respectivement, la quatrième désigne le nombre d’instances erronées parles deux algorithmes.

Il est à noter qu’une instance erronée est un problème faisable pour le quel l’algorithmene trouve pas un ordonnancement faisable, jamais l’inverse.

37

Page 38: Box Methode M2 R

Nombre de travaux Erreur Qdec1 Erreur Qdec2 Erreur commune

8 21/2000 12/2000 9/20009 30/2000 23/2000 23/200010 33/2000 16/2000 13/200011 34/2000 26/2000 26/200012 41/2000 31/2000 30/2000

Total 159/10000 108/10000 101/10000

Tab. 3.1 – Résultats en fonction du nombre de travaux.

Nombre de machines Erreur Qdec1 Erreur Qdec2 Erreur commune

2 103/2000 67/2000 65/20003 44/2000 36/2000 33/20004 11/2000 5/2000 3/20005 1/2000 0/2000 0/20006 0/2000 0/2000 0/2000

Total 159/10000 108/10000 101/10000

Tab. 3.2 – Résultats en fonction du nombre de machines.

D’après les résultats présentés dans les deux tableaux précédents nous déduisons letaux d’erreur global atteint 1,59% et 1,08% pour la première version et la deuxièmerespectivement. Même si cette valeur et relativement petite, il est évident qu’elle n’estpas borné, plus il y aura de taches a ordonnancer plus l’alogorithme aura a prendre desdécisions, eventuellements des mauvaises.

38

Page 39: Box Methode M2 R

Conclusion

Ce travail de recherche a porté sur l’échantillonnage de l’ensemble des optima de paretoà travers l’application de la méthode des boites, malheureusement le travail expérimentaln’a pas pu aboutir à cause de l’absence d’algorithmes polynomiaux nécessaires pour cer-taines étapes.Cette absence est le premier résultat expérimentale sur le quel nous avons abouti, onne sait pas s’il existe un algorithme pour résoudre le Q|ri, pi = p, di|−, et on n’a pas pudémonter qu’il n’en existe pas, le problème est ouvert ! ! !

Pour moi personnellement, ce travail fus une expérience très enrichissante, ça mapermis de me familiarisé avec le domaine de l’ordonnancement et de l’optimisation mul-ticritère et a suscité en moi de la curiosité envers ce domaine dont je ne soupçonnai pasl’existence il y a tous juste un an.

A la suite de ce travail, plusieurs perspectives peuvent être envisagées, à commencer parétudier expérimentalement l’application de la méthode des boites sur un autre problème,éventuellement le P |ri, pi = p|Cmax, Lmax. Mais aussi faire une étude comparative entrecette méthode d’échantillonnage et les autres méthodes existantes. Un autre point trèsimportant, la détermination de la complexité du problème de décision Q|ri, pi = p, di|−.

39

Page 40: Box Methode M2 R

Bibliographie

[1] G.J. Kyparisis C. Koulamas. Makespan minimization on uniform parallel machineswith release times. European Journal of Operational Research, 157 :262–266, 2004.

[2] H. W. Hamacher C. R. Pedersen, S. Ruzika. Finding representative systems for discretebicriterion optimization problems. Operations Research Letters, 35 :336–344, 2007.

[3] M.M. Dessouky. Scheduling identical jobs with unequal ready times on uniform parallelmachines to minimize the maximum lateness. Computers and Industrial Engineering,34(4), 1998.

[4] M.R.Garey D.S.Johnson. Computers and intractability : A guide to the theory ofnp-completeness. Freeman, New York, 1979.

[5] V. T’kindt J.C.Billaut. L’ordonnancement multicritère. Presses Universitaires deTours, 2000.

[6] J.K.Lenstra S.L.van de Velde M.I. Dessouky, B.J.Lageweg. Scheduling identical jobson uniform parallel machines. Statistica Neerlandica, 44(3) :115–123, 1990.

[7] B. Simons. Multiprocessor scheduling of unit-time jobs with arbitrary release timesand deadlines. SIAM Journal on Computing, 12(2) :294–299, 1983.

[8] M.I. Dessouky S.K. Verma, M.M. Dessouky. Flowshop scheduling with identical jobsand uniform parallel machines. European Journal of Operational Research, 109 :620–631, 1998.

[9] V. T’kindt. L’ordonnancement multicritère : Théorie, modèles et algorithmes. hdr.2005.

40