Vous êtes sur la page 1sur 68

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

2 / 51

Introduction

Plan

Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

3 / 51

Introduction

Programmation par contraintes


Problme de satisfaction de contraintes (CSP)
Un ensemble ni de variables ; Une fonction associe chaque variable son domaine ni, lensemble discret de valeurs auxquelles elle peut tre instancie ; Un ensemble ni de contraintes.
Une contrainte est une relation logique tablie entre direntes variables. Elle restreint les valeurs que ses variables peuvent prendre simultanment.

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.

Des problmes trs varis


Tches interruptibles, dures xes . . . Ressources renouvelables, consommables . . . Contraintes temporelles, fentres de temps . . . Critres doptimalit lis au temps, aux ressources, dautres cots . . .

Problmes traits Optimisation de critres rguliers pour des problmes datelier et de fournes.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

7 / 51

Introduction

Contraintes de partage de ressource

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

8 / 51

Introduction

Rsolution dun CSP


Dclaration dun CSP disjunctive (T1 , T2 , T3 ) T1 [2, 9] T2 [3, 9] T3 [0, 10]

Processus de rsolution T1 T2 T3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

9 / 51

Introduction

Rsolution dun CSP


Not rst/not last Dterminer si une tche Ti peut tre ordonnance avant/aprs un sousensemble de tches :
1. estimer la date de n au plus tt ou de dbut au plus tard des tches de ; 2. ajuster la fentre de temps de la tche Ti en fonction.

Processus de rsolution T1 T2 T3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

9 / 51

Introduction

Rsolution dun CSP


Not rst/not last Dterminer si une tche Ti peut tre ordonnance avant/aprs un sousensemble de tches :
1. estimer la date de n au plus tt ou de dbut au plus tard des tches de ; 2. ajuster la fentre de temps de la tche Ti en fonction.

Processus de rsolution T1 T2 T3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

9 / 51

Introduction

Rsolution dun CSP


Propagation de contraintes
La consistance locale ne peut plus raliser aucune infrence. Le point xe est atteint.

Processus de rsolution T1 T2 T3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

9 / 51

Introduction

Rsolution dun CSP


Algorithme backtrack avec standard labelling Slection de variable : dterminer lordre suivant lequel on va les instancier. Slection de valeur : dterminer la prochaine valeur du domaine tester. Backtrack : Remettre en cause la dernire dcision. Processus de rsolution T1 s2 = 4 T2 T3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

9 / 51

Introduction

Rsolution dun CSP


Algorithme backtrack avec standard labelling Slection de variable : dterminer lordre suivant lequel on va les instancier. Slection de valeur : dterminer la prochaine valeur du domaine tester. Backtrack : Remettre en cause la dernire dcision. Processus de rsolution T1 s2 = 4 s2 = 4 T2 T3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

9 / 51

Introduction

Rsolution dun COP

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Dnition des problmes de base


1 300

100

200

300

400

500

600

700

800

900

1 000

1 100

1 200

Time

Structure dun atelier


Une pice doit tre usine ou assemble sur direntes machines. Les tches sont regroupes en n lots constitus chacun de m tches excuter sur m machines distinctes. Chaque machine ne peut excuter quune tche la fois.

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

Ordonnancement optimal dun open-shop


1 300

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Modle disjonctif [Roy and Sussman, 1964]


1 300

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.

Arbitrage dune disjonction Transformation dune arte Ti Proprits

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Construction dun graphe disjonctif


1 300

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

4 4 T_2_0 1593 1597

0 605 605 T_2_2 992 992 1597 0 1555 42 42 T_0_2 1555 1597

0 638 638 T_1_1 959 959 1597

0 1313

284 284 T_3_2 1313 1597

0 1594

3 3 T_0_1 1594 1597

0 1528

69 69 T_1_2 1528 1597

0 1239

358 358 T_3_1 1239 1597

0 1590

7 7 T_1_0 1590 1597

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

351 351 T_3_0 1246 1597

286 286 T_1_3 1311 1311 1597

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Arbitrage complet dun graphe disjonctif


1 300

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

tat de lart sur le problme dopen-shop


1 300

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.

2. Modles Light et Heavy. 3. Redmarrages avec enregistrement de nogoods.

Un algorithme simple
Nombre restreint de composantes. Composantes disponibles dans plusieurs solveurs.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Modles Light et Heavy


1 300

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 ).

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Modles Light et Heavy


1 300

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 ).

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Nouvelle heuristique darbitrage : slack/wdeg


1 300

100

200

300

400

500

600

700

800

900

1 000

1 100

1 200

Time

slack Slectionner une variable bij temps est minimale :

kl

dont la somme des tailles des fentres de

(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.

slack/wdeg Slectionner une variable bij pondr est minimal.

kl

dont le quotient du domaine sur le degr

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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.

Diversication de la recherche Requiert un lment de randomisation ou dapprentissage.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Exprimentations sur lopen-shop


1 300

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.

Brucker et al. : 26 instances entre 6 6 et 8 8. Guret-Prins : 40 instances entre 6 6 et 10 10.

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

no-restart/restart 1000 Luby Walsh 100

10 Nodes

0.1

0.01 0.01

0.1

1 Time

10

100

1000

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Enregistrement des nogoods


1 300

100

200

300

400

500

600

700

800

900

1 000

1 100

1 200

Time

restart/nogood 100 Luby Walsh

10 Nodes 1 0.1 0.1

1 Time

10

100

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Redmarrages avec enregistrement des nogoods


1 300

100

200

300

400

500

600

700

800

900

1 000

1 100

1 200

Time

no-restart/nogood 1000 Luby Walsh 100

Nodes

10

0.1 0.1

10 Time

100

1000

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Comparaison des modles Light et Heavy


1 300

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.

Complmentarit des contraintes et du branchement


Light + profile : la qualit de la courbe de demande probabiliste est dgrade, car les fentres de temps sont plus larges. Heavy + slack/wdeg : les contradictions releves par les contraintes globales perturbent lapprentissage des poids des disjonctions.

Light t hard11 286.1s n 1.3M t

Heavy n 0.4M

Light-profile t 1774.3 n 2.5M

Heavy-slack/wdeg t 806.6 n 0.6M

428.9s

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Comparaison avec les approches de ltat de lart


1 300

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.

[Tamura et al., 2006]


hard11 t Light 286.1s Heavy 428.9s t SAT 2843.5s

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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

Conclusion sur les problmes datelier


1 300

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

28 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

29 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Dnition du problme de base

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

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Ordonnancement optimal de fournes


bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

Load

Time

5 4 -111 -114 -124 -130 -90

-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

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

31 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Problmes de fournes [Potts and Kovalyov, 2000]


Premiers travaux : complexit et algorithmes dapproximation. Critres doptimalit dpendant des dates dachvement (Cmax , wj Cj ) : les tches ont quelquefois des tailles direntes. Critres doptimalit dpendant des dates chues : les tches ont gnralement des tailles identiques (sj = 1). [Vilm, 2007] : algorithmes de ltrage pour un problme de fournes s -batch avec des familles de tches et des temps dattente dpendant de la squence. Cj ,

1|p -batch; b < n; non-identical |Lmax


PLNE base sur le placement et le squencement [Daste et al., 2008b]. Branch-and-price (problme matre de squencement) [Daste et al., 2008a].

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

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

33 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Modlisation des fournes

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

34 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Structure dune solution


Un placement ralisable des tches dans les fournes. Le retard algbrique maximal des fournes sur une machine.

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.

limination dynamique de symtries sur le placement des tches.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

35 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Description de la contrainte globale sequenceEDD

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

36 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Placement dune tche (AF)

Load

Time

Rgle de ltrage bas sur les cots


1. Calculer le cot marginal du placement de la tche j dans la fourne k . 2. Additionner le cot marginal et le retard algbrique de la relaxation. 3. En cas de dpassement du cot, interdire le placement.

Calcul du cot marginal (pj pk ) pk

Contribution algorithmique Un algorithme rduit la complexit de O (n3 ) O (n2 ).


Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 38 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Placement dune tche (AF)

Load

Time

Rgle de ltrage bas sur les cots


1. Calculer le cot marginal du placement de la tche j dans la fourne k . 2. Additionner le cot marginal et le retard algbrique de la relaxation. 3. En cas de dpassement du cot, interdire le placement.

Calcul du cot marginal (pj pk ) pk dj dk pj p p

Contribution algorithmique Un algorithme rduit la complexit de O (n3 ) O (n2 ).


Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 38 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Placement dune tche (AF)

Load

Time

Rgle de ltrage bas sur les cots


1. Calculer le cot marginal du placement de la tche j dans la fourne k . 2. Additionner le cot marginal et le retard algbrique de la relaxation. 3. En cas de dpassement du cot, interdire le placement.

Calcul du cot marginal (pj pk ) pk dj < dk

Contribution algorithmique Un algorithme rduit la complexit de O (n3 ) O (n2 ).


Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 38 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Placement dune tche (AF)

Load

Time

Rgle de ltrage bas sur les cots


1. Calculer le cot marginal du placement de la tche j dans la fourne k . 2. Additionner le cot marginal et le retard algbrique de la relaxation. 3. En cas de dpassement du cot, interdire le placement.

Calcul du cot marginal (pj pk ) pk dj < dk pj pj p

Contribution algorithmique Un algorithme rduit la complexit de O (n3 ) O (n2 ).


Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 38 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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).

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

39 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

valuation des rgles de ltrage


Comparaison des temps de rsolution (n <= 50) 100 90 80 70 % Rsolution 60 50 40 30 20 10 0 0.01 0.1 1 10 Temps (s)
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 40 / 51

Load

Time

PF+AF+LF AF+LF LF FF 100 1000 3600

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Comparaison avec un modle PLNE


Comparaison des temps de rsolution (n <= 50) 100 90 80 70 % Rsolution 60 50 40 30 20 10 0 0.01 0.1 1 10 Temps (s)
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 41 / 51

Load

Time

PPC PLNE 100 1000 3600

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Comparaison avec un modle PLNE


Comparaison des carts la borne inf. (n > 50) 1.4

Load

Time

1.3

PPC

1.2

1.1

1 1.1 1.2 1.3 1.4 PLNE


Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 42 / 51

1.5

1.6

1.7

1.8

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Comparaison avec un branch-and-price

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

43 / 51

bp10-07 - Lmax=-90
d9 dd 57 d 1 d10 d2 d3 d d6 4 d8

5 4 -111 -114 -124 -130 -90

-123

3 2 1 0

Ordonnancement dune machine traitement par fournes

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

Conclusion sur les problmes de fournes

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

44 / 51

Implmentation dans le solveur de contraintes choco

Plan

Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

45 / 51

Implmentation dans le solveur de contraintes choco

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

46 / 51

Implmentation dans le solveur de contraintes choco

Module dordonnancement sous contraintes


TaskVariable
makeTaskVar(...); makeTaskVarArray(...);

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

Implmentation dans le solveur de contraintes choco

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.

Placement : complete decreasing (rst | best | worst) t + symtries.

Algorithme de recherche (Solver)


//Politiques de redmarrage setRestart(boolean restart); setGeometricRestart(int base, double grow, int restartLimit); setLubyRestart(int base, int grow, int restartLimit); //Enregistrement de nogoods setRecordNogoodFromRestart(boolean record); //Procdures doptimisation (en dveloppement) Configuration.BOTTOM_UP; Configuration.INIT_DESTRUCTIVE_LOWER_BOUND; Configuration.INIT_SHAVING;
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes 48 / 51

Conclusion et perspectives

Plan

Introduction Ordonnancement datelier Ordonnancement dune machine traitement par fournes Implmentation dans le solveur de contraintes choco Conclusion et perspectives

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

49 / 51

Conclusion et perspectives

Conclusion

Problmes datelier : JOPT09, CP09, JoC11


Algorithme simple, exible, robuste et gnrique. Modles Light et Heavy. Heuristique darbitrage bases sur les domaines et degrs : slack/wdeg.

Problmes de fournes : JOPT10, CPAIOR11, EJOR


Modle base sur une dcomposition naturelle du problme. Contrainte globale pour loptimisation exploitant une relaxation polynomiale.

Solveur choco : CP10


Module dordonnancement et de placement une dimension. Allocation de ressources.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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.

Relaxations bases sur les problmes machines parallles.

Long terme
Structure disjonctive. Allocation de ressources. Contraintes souples.
Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

51 / 51

Merci pour votre attention

Une dernire fourne pour la route . . .

Nombre de fournes (PF)


Rgles de ltrage bas sur les cots
Mettre jour le cot associ au nombre minimal de fournes. Rduction du nombre maximal de fournes en cas de dpassement des cots.

Exemple avec 3 tches et 2 nouvelles fournes


Insertion de nouvelles fournes consistues dune unique tche. Tris : p1 p2 p3 et d1 d2 d3

d1

d2

d3

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

53 / 56

Une dernire fourne pour la route . . .

Nombre de fournes (PF)


Rgles de ltrage bas sur les cots
Mettre jour le cot associ au nombre minimal de fournes. Rduction du nombre maximal de fournes en cas de dpassement des cots.

Exemple avec 3 tches et 2 nouvelles fournes


Insertion de nouvelles fournes consistues dune unique tche. Tris : p1 p2 p3 et d1 d2 d3

d1

d2

d3 p1 p1 p2 p1 + p2

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

53 / 56

Une dernire fourne pour la route . . .

Nombre de fournes (PF)


Rgles de ltrage bas sur les cots
Mettre jour le cot associ au nombre minimal de fournes. Rduction du nombre maximal de fournes en cas de dpassement des cots.

Exemple avec 3 tches et 2 nouvelles fournes


Insertion de nouvelles fournes consistues dune unique tche. Tris : p1 p2 p3 et d1 d2 d3

d1

d2

d3 p1 p1 p2 p1 + p2

Lmax

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

53 / 56

Une dernire fourne pour la route . . .

Nombre de fournes (PF)


Rgles de ltrage bas sur les cots
Mettre jour le cot associ au nombre minimal de fournes. Rduction du nombre maximal de fournes en cas de dpassement des cots.

Exemple avec 3 tches et 2 nouvelles fournes


Insertion de nouvelles fournes consistues dune unique tche. Tris : p1 p2 p3 et d1 d2 d3

d1

d2

d3 p1 p1 Lmax p2 p1 + p2

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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.

Brucker, P., Hurink, J., Jurisch, B., and Wstmann, B. (1997).


A branch & bound algorithm for the open-shop problem. In GO-II Meeting : Proceedings of the second international colloquium on Graphs and optimization, pages 4359, Amsterdam, The Netherlands. Elsevier Science Publishers B. V.

Daste, D., Gueret, C., and Lahlou, C. (2008a).


A Branch-and-Price algorithm to minimize the maximum lateness on a batch processing machine. In Proceedings of the 11th international workshop on Project Management and Scheduling PMS08, pages 6469, IStanbul Turquie.

Daste, D., Gueret, C., and Lahlou, C. (2008b).


Gnration de colonnes pour lordonnancement dune machine traitement par fournes. In 7ime confrence internationale de modlisation et simulation MOSIM08, volume 3, pages 17831790, Paris France.

Dorndorf, U., Pesch, E., and Huy, T. P. (2001).


Solving the open shop scheduling problem. Journal of Scheduling, 4 :157174.

Grimes, D. and Hebrard, E. (2010).


Job shop scheduling with setup times and maximal time-lags : A simple constraint programming approach. In Lodi, A., Milano, M., and Toth, P., editors, CPAIOR, volume 6140 of Lecture Notes in Computer Science, pages 147161. Springer.

Grimes, D. and Hebrard, E. (2011).


Models and strategies for variants of the job shop scheduling problem. In Lee, J. H.-M., editor, CP, volume 6876 of Lecture Notes in Computer Science, pages 356372. Springer.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

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.

Lecoutre, C., Sais, L., Tabary, S., and Vidal, V. (2007).


Nogood recording from restarts. In Veloso, M. M., editor, IJCAI 2007, Proceedings of the 20th International Joint Conference on Articial Intelligence, pages 131136, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc.

Luby, Sinclair, and Zuckerman (1993).


Optimal speedup of las vegas algorithms. IPL : Information Processing Letters, 47 :173180.

Potts, C. N. and Kovalyov, M. Y. (2000).


Scheduling with batching : A review. European Journal of Operational Research, 120(2) :228249.

Prins, C. (2000).
Competitive genetic algorithms for the open-shop scheduling problem. Mathematical methods of operations research, 52(3) :389411.

Roy, B. and Sussman, B. (1964).


Les problmes dordonnancement avec contraintes disjonctives. Technical report, Technical Report Note DS no 9bis, SEMA, Paris.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

55 / 56

Bibliographie

References III

Sha, D. Y. and Hsu, C.-Y. (2008).


A new particle swarm optimization for the open shop scheduling problem. Comput. Oper. Res., 35(10) :32433261.

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.

Tamura, N., Taga, A., Kitagawa, S., and Banbara, M. (2006).


Compiling nite linear CSP into SAT. In Principles and Practice of Constraint Programming - CP 2006, volume 4204 of Lecture Notes in Computer Science, pages 590603. Springer Berlin / Heidelberg.

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.

Techniques dordonnancement datelier et de fournes bases sur la programmation par contraintes

56 / 56