Académique Documents
Professionnel Documents
Culture Documents
Arnaud Malapert Le 9 septembre 2011 lcole Nationale Suprieure des Techniques Industrielles et des Mines de Nantes Directeur de thse : Narendra Jussien, Professeur, cole des Mines de Nantes Co-encadrant : Louis-Martin Rousseau, Professeur, cole Polytechnique de Montral Responsables scientiques : Christelle Guret, Matre-assistante, cole des Mines de Nantes Andr Langevin, Professeur, Polytechnique de Montral
Plan
Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives
2 / 51
Introduction
Plan
Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives
3 / 51
Introduction
Terminologie
Une instanciation assigne une valeur de son domaine une variable. Une aectation est lensemble des domaines courants de toutes les variables. Une aectation est dite consistante si elle ne viole aucune contrainte. Une solution est une aectation totale et consistante.
Optimisation sous contraintes : COP = CSP + fonction objectif f f est souvent modlise par une variable.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 4 / 51
Introduction
Problmes dordonnancement
Dnition Organiser un ensemble de tches soumises certaines contraintes, et dont lexcution ncessite des ressources :
dterminer leurs dates de dmarrage et dachvement ; leur attribuer des ressources ; de telle sorte que les contraintes soient respectes.
Problmes traits Optimisation de critres rguliers pour des problmes datelier et de fournes.
5 / 51
Introduction
Tche ou activit
Dnitions
Une tche Ti est une entit lmentaire de travail localise dans le temps par une date de dbut si et une date de n ei . Sa ralisation est caractrise par une dure positive pi . Une tche Ti peut tre :
interruptible si + pi ei ; non interruptible si + pi = ei .
Fentre de temps dune tche Ti : [esti , lcti ]. Partie obligatoire dune tche non interruptible Ti : [lsti , ecti ].
esti
pi
ecti
lsti
pi
lcti
6 / 51
Introduction
Contraintes temporelles
Contrainte de prcdence Une contrainte de prcdence entre deux tches Ti et Tj est reprsentable par une unique ingalit de potentiel. Dnition : Ti Tj sj ei 0 (Ti prcde Tj ).
Contrainte de disjonction Une contrainte de disjonction entre deux tches Ti et Tj est satisfaite si les tches sexcutent dans des fentres de temps disjointes. Dnition : Ti Tj (Ti Tj ) (Tj Ti ). Arbitrage : dterminer lordre relatif entre les deux tches. Rication : une variable boolenne reprsente larbitrage.
7 / 51
Introduction
Dnitions
1. Une ressource est un moyen technique ou humain requis pour la ralisation dune tche et disponible en quantit limite. 2. Une ressource disjonctive ne peut excuter quune seule tche la fois.
Contrainte globale
Utiliser linformation smantique issue de raisonnements sur des sous-pbs. Augmenter lecacit du ltrage ou rduire les temps de calcul.
8 / 51
Introduction
Processus de rsolution T1 T2 T3
9 / 51
Introduction
Processus de rsolution T1 T2 T3
9 / 51
Introduction
Processus de rsolution T1 T2 T3
9 / 51
Introduction
Processus de rsolution T1 T2 T3
9 / 51
Introduction
9 / 51
Introduction
9 / 51
Introduction
Procdures doptimisation : rsolution dune srie de CSPs. bottom-up incrmente la borne infrieure lb lorsque le CSP o obj = lb est insatisable jusqu ce quune solution optimale soit trouve. top-down rsout le CSP o obj < ub jusqu ce que le sous-problme devienne insatisable. variantes dichotomiques, incompltes . . .
10
4
4
10
11
3
12
13
14
2
15
1
16
10
11
12
13
14
15
16
10 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
Plan
1 300
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives
11 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Squencement des lots ow-shop : lordre est x et commun tous les lots. job-shop : lordre est x, mais propre chaque lot. open-shop : le squencement des tches des lots nest pas impos. Minimisation du dlai total (Cmax ). O //Cmax , J //Cmax et F //Cmax sont NP-diciles pour m 3.
Sous-ensembles dominants pour dautres critres rguliers. Calcul des chemins critiques et des goulots dtranglement.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 12 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
T_1_3
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
1 300
Time
13 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
graphe disjonctif G = (T , P , D)
T est lensemble des noeuds, reprsentant les tches, Tstart et Tend . P est lensemble des arcs reprsentant les contraintes de prcdence. D est lensemble des artes reprsentant les disjonctions.
Tj en un arc Ti
Tj ou Tj
Ti .
1. Lexistence dun cycle entrane une inconsistance triviale du problme. 2. Tout ordonnancement ralisable correspond un arbitrage complet de G . 3. En labsence dautres contraintes, il existe un ordonnancement ralisable dont le dlai total correspond la longueur dun plus long chemin de G , appel chemin critique. 4. Ici, le calcul des chemins critiques peut tre ralis en temps polynomial.
14 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
0 390 390 T_2_3 1207 1207 1597 0 1596 1 1 T_2_1 1596 1597 0 1593
0 605 605 T_2_2 992 992 1597 0 1555 42 42 T_0_2 1555 1597
0 1313
0 1594
0 1528
0 1239
0 1590
0 1590
7 7 T_3_3 1590 1597 0 1280 317 317 T_0_3 1280 1597 0 638 638 T_0_0 959 959 1597
0 1246
15 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
317 T_0_3
324
358
638 T_0_0
996
996
42 T_0_2
1038
1248
3 T_0_1
1251
605 T_2_2
605
605
390 T_2_3
995
1247
1 T_2_1
1248
1248
4 T_2_0
1252
7 T_1_0
638 T_1_1
645
889
69 T_1_2
958
995
286 T_1_3
1281
7 T_3_3
351 T_3_0
358
605
284 T_3_2
889
889
358 T_3_1
1247
16 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Mthodes exactes
[Brucker et al., 1997] : rech. arborescente complexe (arbitrages multiples). [Guret et al., 2000] : rech. de Brucker avec retour arrire intelligent. [Dorndorf et al., 2001] : rech. de Brucker avec tests de consistance. [Laborie, 2005] : rech. arborescente pour lordonnancement cumulatif. [Tamura et al., 2006] : encodage du COP en un problme SAT.
Mthodes approches
[Prins, 2000] : algorithme gntique. [Blum, 2005] : optimisation par colonies de fourmis. [Sha and Hsu, 2008] : optimisation par essaim de particules.
Motivations
Labsence de squencement des lots augmente la combinatoire (open-shop). Proposer une approche top-down simple et comptitive.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes
17 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
Algorithme de rsolution
1 300
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Composantes cls
1. Calcul dune solution initiale.
La qualit de la premire solution dcouverte a une importance cruciale.
Un algorithme simple
Nombre restreint de composantes. Composantes disponibles dans plusieurs solveurs.
18 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Modle Light
Contraintes de prcdence. Contraintes de disjonction ries . Stratgie de branchement slack/wdeg : arbitrage dterministe dune disjonction choisie par apprentissage.
Modle Heavy
Contraintes de prcdence. Contraintes de disjonction ries . Contraintes globales disjonctives sur les jobs et les machines. Stratgie de branchement profile : arbitrage randomise dune disjonction entre deux tches participant majoritairement un pic de demande probabiliste (ressource instant ).
19 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Modle Light
Contraintes de prcdence. Contraintes de disjonction ries . Stratgie de branchement slack/wdeg : arbitrage dterministe dune disjonction choisie par apprentissage.
Modle Heavy
Contraintes de prcdence. Contraintes de disjonction ries . Contraintes globales disjonctives sur les jobs et les machines. Stratgie de branchement profile : arbitrage randomise dune disjonction entre deux tches participant majoritairement un pic de demande probabiliste (ressource instant ).
19 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
kl
(lstij estij + 1) + (lstkl estkl + 1) wdeg Slectionner la variable dont le poids pondr des contraintes est maximal.
Le poids dune contrainte est initialis la valeur de son degr. Il est incrment chaque fois quelle dclenche une contradiction. Le degr des variables bij
kl
est unitaire.
kl
20 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
Techniques de redmarrages
1 300
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Politiques de redmarrage Luby(1,2) : 1, 1, 2, 1, 1, 2, 4, 1, 1, 2, 1, 1, 2, 4, 8, . . . [Luby et al., 1993] Walsh(1, 2) : 1, 2, 4, 8, 16, 32, 64, . . . [Walsh, 1999] Enregistrement de nogoods [Lecoutre et al., 2007]
Lexploration accomplie durant une tape est totalement mmorise. Cette partie de larbre de recherche ne sera plus visite lors des tapes suivantes.
21 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Jeux dinstances ( 6 6)
Taillard : 40 instances entre 7 7 et 20 20.
Preuve doptimalit : OPT = LB . Les mtaheuristiques ferment le jeu dinstances.
Motivations
valuation des direntes composantes de lalgorithme. Comparaison des modles Light et Heavy. Comparaison avec les approches de ltat de lart.
Protocole
20 excutions de lalgorithme. Solveur PPC : choco et mistral. Deux grilles de calcul avec des machines Linux.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 22 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
Redmarrages
1 300
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
10 Nodes
0.1
0.01 0.01
0.1
1 Time
10
100
1000
23 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
1 Time
10
100
24 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Nodes
10
0.1 0.1
10 Time
100
1000
25 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Modles robustes Ils rsolvent toutes les instances pour toutes les excutions. Dirences pendant la rsolution
Le modle Light est plus rapide. Le modle Heavy visite moins de nuds.
Heavy n 0.4M
428.9s
26 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Mtaheuristiques
Certains optimums ne sont dcouverts par aucune mtaheuristique.
Name tai20-* gp10-* t t Heavy 103.6s 13.1s ACO 52.0s 567.1s PSO 35.1s 367.3s
Mthodes exactes
Par rapport aux ntres, les rsultats de [Laborie, 2005] semblent :
Instances de Taillard : pas de rsultats ; Instances de Brucker : comparables ; Instances de Guret-Prins : lgrement moins bons.
27 / 51
GP04-01 - Cmax=1281
M_3
T_3_0
T_3_2
T_3_1
Ordonnancement datelier
T_1_3
M_2
T_2_2
T_2_3
Resources
M_1
T_1_1
T_1_2
M_0
T_0_3
T_0_0
100
200
300
400
500
600
700
800
900
1 000
1 100
1 200
Time
Contributions
Algorithme simple, exible, robuste et gnrique.
Identication des composantes cls de lalgorithme. Modles Light et Heavy. Problmes dopen-shop et de job-shop.
Nouvelles heuristiques darbitrage bases sur les domaines et degrs. Rexion sur limplmentation du modle disjonctif dans un solveur
28 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Plan
Load
Time
Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives
29 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
Tches Chaque tche j est caractrise par sa dure dexcution pj , sa date chue dj , et sa taille sj (les tailles des tches ne sont pas identiques). Machine traitement par fournes Elle peut excuter simultanment plusieurs tches dans une fourne :
aucune tche nest ajoute ou retire dune fourne pendant son excution ; la somme des tailles des jobs dune fourne ne dpasse pas sa capacit b ; la dure dexcution dune fourne est gale celle de sa plus longue tche ; la date de n Cj dune tche j est la date de n de sa fourne.
Hypothse Les tches et la machine sont disponibles depuis linstant 0. Minimiser le retard algbrique maximal Lmax = max1j n (Cj dj ) 1|p -batch; b < n; non-identical |Lmax est NP-dicile.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 30 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
-123
Bacthes
3 2 1 0
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
31 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
tat de lart
Load
Time
Motivations
Proposer un modle PPC exploitant la dcomposition naturelle du problme. Appliquer des techniques de ltrage bas sur les cots.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 32 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Principe de la dcomposition
Load
Time
Placement des jobs dans les fournes Le problme de placement (bin packing ) une dimension est NP-Complet : soit n articles (tches) caractriss chacun par une taille positive sj 0 et m conteneurs (fournes) caractriss par une capacit b , existe-til un placement des n articles dans les m conteneurs tel que la somme des tailles des articles dans chaque conteneur reste infrieure la capacit b ? Minimisation du retard algbrique maximal des fournes sur une machine Le problme 1||Lmax , peut tre rsolu en temps polynomial : un ordonnancement optimal est obtenu en appliquant la rgle de Jackson (earliest due date (EDD-)rule ) qui squence les tches en ordre non dcroissant de leur date chue.
33 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
Constraintes
Contraintes ensemblistes sur les dures et les dates chues des fournes. Contrainte globale de placement une dimension : pack [Shaw, 2004]. Contrainte globale doptimisation de la squence : sequenceEDD. Contraintes basiques dlimination de symtries sur le placement des tches.
34 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Algorithme de rsolution
Load
Time
Algorithme de recherche
Procdure doptimisation : top-down. Algorithme backtrack sans redmarrages. Mthode de sparation : standard labelling n-aire.
Slection de variables : complete decreasing. Slection de valeurs : rst t, best t, batch t.
35 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
Dnition la contrainte globale sequenceEDD assure que la valeur de la variable Lmax soit le plus grand retard algbrique de la squence de fournes ordonnances en suivant la rgle EDD. Raisonnements lis la satisabilit Aucun, toutes les squences de fournes sont ralisables ds lors que le placement des tches est consistant. Raisonnements lis loptimalit
Lide principale est de dduire des contraintes primitives partir des informations sur les cots des aectations. sequenceEDD utilise une relaxation vers un problme une machine.
36 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Rgles de ltrage
Load
Time
Relaxation
Une instance I (A) du problme 1||Lmax est construite partir dune aectation A, puis ordonnance en suivant la rgle EDD. Le retard de la relaxation ne dcrot jamais aprs une dcision et converge vers la valeur de lobjectif au cours de la recherche.
Rgles de ltrage simples (O (n)) FF : appliquer la relaxation aprs le placement des tches. LF : appliquer la relaxation chaque nud de larbre de recherche. Rgles de ltrage bas sur les cots (O (n2 )) AF : Restrictions sur le placement des tches. PF : Restrictions sur le nombre de fournes non vides.
1. Augmenter le retard en fonction des nouvelles fournes ncessaires. 2. Rduire le nombre de nouvelles fournes pour satisfaire les cots.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes
37 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Exprimentations
Load
Time
Jeu dinstances 200 instances gnres alatoirement (n {10, 20, 50, 75, 100}). Motivations
valuation des rgles de ltrage. valuation des heuristiques de selection de valeur. Comparaison avec :
un modle PLNE [Daste et al., 2008b] ; un branch-and-price [Daste et al., 2008a].
Protocole
Solveur PPC : choco. Solveur PLNE : Ilog Cplex 11.2.1. Grille de calcul avec machines Linux (Proc 2.4 GHz, RAM 48 GB).
39 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
1.3
PPC
1.2
1.1
1.5
1.6
1.7
1.8
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
n = 20 B&P 55 % des instances rsolues avec une limite de temps dune heure. PPC 100 % des instances rsolues en moins dune seconde. n = 50 B&P 8 % des instances rsolues avec une limite de temps dune heure. PPC 95 % des instances rsolues avec une limite de temps dune heure avec un temps moyen de rsolution t 100s.
43 / 51
bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8
-123
3 2 1 0
Bacthes
10 9
Capacity
J9 J4 J6 8 J5 7 6 5 J1 4 J10 3 2 1 0 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 J2 J7 J3 J8
Load
Time
Contributions
Exploitation de la dcomposition naturelle du problme. Contrainte globale pour loptimisation exploitant une relaxation polynomiale base sur un problme dordonnancement une machine. Stratgie de recherche et heuristique de slection batch t.
44 / 51
Plan
Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives
45 / 51
Solveur choco
Un solveur de contraintes sous licence libre http://choco.mines-nantes.fr/ Motivations Scientique : diuser le travail ralis et susciter des collaborations. Technique : participer au dveloppement dun projet open source.
46 / 51
Constraint
//Temporelles precedence(task1, task2, delta); precedenceDisjoint(task1, task2, dir, fwd, bwd); //Partage de ressource disjunctive(tasks[], usages[], uppBound); cumulative(tasks[],heights[],usages[],consumption,capacity,uppBound) //Allocation de ressource (en dveloppement) useResources(task, k, resources[]); useResourcesGeq(task, k, resources[]); //Placement pack(itemSets[], loads[], bins[], sizes[], nbNonEmpty);
Prtraitement dun modle (reformulation) Construction automatique et modulaire du modle disjonctif partir des fentres de temps, des contraintes temporelles et de partage de ressource.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 47 / 51
lments du solveur
Stratgies de recherche (BranchingFactory)
Ordonnancement : profile, setTimes. Domaines sur degrs : (dom | slack | preserved)/(deg | ddeg | wdeg)
Standard labelling binaire ou n-aire. Calcul incrmental des poids ou non.
Conclusion et perspectives
Plan
Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives
49 / 51
Conclusion et perspectives
Conclusion
50 / 51
Conclusion et perspectives
Perspectives
Court terme
Application dautres problmes datelier.
[Grimes and Hebrard, 2010, Grimes and Hebrard, 2011].
Application dautres problmes de fournes. Heuristiques de slection bases sur les cots.
Moyen terme
Contraintes de partage de ressource :
1. Adapter dynamiquement les propagateurs ; 2. Amliorer lapprentissage des poids pondrs des variables.
Long terme
Structure disjonctive. Allocation de ressources. Contraintes souples.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes
51 / 51
d1
d2
d3
53 / 56
d1
d2
d3 p1 p1 p2 p1 + p2
53 / 56
d1
d2
d3 p1 p1 p2 p1 + p2
Lmax
53 / 56
d1
d2
d3 p1 p1 Lmax p2 p1 + p2
53 / 56
Bibliographie
References I
Blum, C. (2005).
Beam-ACO : hybridizing ant colony optimization with beam search : an application to open shop scheduling. Comput. Oper. Res., 32(6) :15651591.
54 / 56
Bibliographie
References II
Guret, C., Jussien, N., and Prins, C. (2000).
Using intelligent backtracking to improve branch-and-bound methods : An application to open-shop problems. European Journal of Operational Research, 127 :344354.
Laborie, P. (2005).
Complete MCS-based search : Application to resource constrained project scheduling. In Kaelbling, L. P. and Saotti, A., editors, IJCAI, pages 181186. Professional Book Center.
Prins, C. (2000).
Competitive genetic algorithms for the open-shop scheduling problem. Mathematical methods of operations research, 52(3) :389411.
55 / 56
Bibliographie
References III
Shaw, P. (2004).
A constraint for bin packing. In Wallace, M., editor, Principles and Practice of Constraint Programming - CP 2004, 10th International Conference, CP 2004, Toronto, Canada, September 27 - October 1, 2004, Proceedings, volume 3258 of Lecture Notes in Computer Science, pages 648662. Springer.
Vilm, P. (2007).
Global Constraints in Scheduling. PhD thesis, Charles University in Prague, Faculty of Mathematics and Physics, Department of Theoretical Computer Science and Mathematical Logic, KTIML MFF, Universita Karlova, Malostransk nmst 2/25, 118 00 Praha 1, Czech Republic.
Walsh, T. (1999).
Search in a small world. In IJCAI 99 : Proceedings of the Sixteenth International Joint Conference on Articial Intelligence, pages 11721177, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc.
56 / 56