Vous êtes sur la page 1sur 207

Introduction aux problemes dordonnancement 28 novembre 2005 1 de 117

Plan

Introduction aux problemes dordonnancement

Mohamed Ali ALOULOU

LAMSADE
Universite Paris Dauphine
E-mail : aloulou@lamsade.dauphine.fr

28 novembre 2005
Introduction aux problemes dordonnancement 28 novembre 2005 2 de 117

Plan
Plan du cours

1 Definition et formulation du probleme dodonnancement


2 Ordonnancement de projet : rappels et extensions
3 Ordonnancement dateliers : contexte et classification
4 Ordonnancement dateliers : methodes de resolution
Introduction aux problemes dordonnancement 28 novembre 2005 3 de 117

Plan
Partie 1 : Definition et formulation du probleme
Cest quoi
lordonnancement ?
dodonnancement
Domaines
1 Cest quoi lordonnancement ?
Ordonnancement en
GdP 2 Quelques domaines concernes par la fonction
Contraintes en
ordonnancement
ordonnancement
Contraintes de potentiel 3 La fonction ordonnancement dans la gestion de la prodution
Contraintes disjonctives
Contraintes cumulatives
4 Contraintes rencontrees en ordonnancement
Formulation
mathematique
Contraintes de potentiel
Contraintes disjonctives
Contraintes cumulatives
5 Formulation mathematique
Introduction aux problemes dordonnancement 28 novembre 2005 4 de 117

Plan
Ordonnancer ?
Cest quoi
lordonnancement ?
Definition
Domaines
Le probleme dordonnancement consiste a organiser dans le
Ordonnancement en
GdP
temps la realisation dun ensemble de taches, compte tenu de
contraintes temporelles (delais, contraintes denchanements,
Contraintes en
ordonnancement
...) et de contraintes portant sur lutilisation et la disponibilite
Contraintes de potentiel
Contraintes disjonctives
des ressources requises.
Contraintes cumulatives

Formulation Un ensemble de taches


mathematique
Un environnement de ressources pour effectuer les taches
Des contraintes sur les taches et les ressources
Un critere doptimisation
= Determiner les dates dexecution des taches
Introduction aux problemes dordonnancement 28 novembre 2005 5 de 117

Plan
Domaines concernes
Cest quoi
lordonnancement ?

Domaines gestion de projets Ateliers de production


... ...
Ordonnancement en
GdP Projets Production

Contraintes en
ordonnancement
Contraintes de potentiel
Contraintes disjonctives
Ordonnancement
Contraintes cumulatives

Formulation
mathematique Administration Informatique

gestion des ressources humaines excution des programmes


emplois du temps optimisation de code
... ...
Introduction aux problemes dordonnancement 28 novembre 2005 6 de 117

Plan
La gestion de la production [Giard 2003]
Cest quoi
lordonnancement ? La gestion de production a pour objet la recherche dune
Domaines organisation efficace de la production des biens et des services
Ordonnancement en
GdP 3 categories pour classer les decisions en gestion de la
Contraintes en
production :
ordonnancement
Contraintes de potentiel
les decisions strategiques : politique long terme de
Contraintes disjonctives
Contraintes cumulatives
lentreprise
les decisions tactiques : decisions a moyen terme
Formulation
mathematique
planification de la production
plan de transport
les decisions operationnelles : court terme
gestion des stocks
ordonnancement
pilotage informatique en temps reel
Introduction aux problemes dordonnancement 28 novembre 2005 7 de 117

Plan
Contraintes rencontrees en ordonnancement
Cest quoi
lordonnancement ?

Domaines Differentes contraintes


Ordonnancement en technologiques : une tache ne peut debuter que lorsque
GdP
dautres sont achevees
Contraintes en
ordonnancement commerciales : certaines dates doivent etre achevees pour
Contraintes de potentiel
Contraintes disjonctives
une date fixee
Contraintes cumulatives
materielles : une machine ne peut traiter quune machine
Formulation
mathematique
a la fois
de main doeuvre :effectif limite
financieres : budget limite
Introduction aux problemes dordonnancement 28 novembre 2005 7 de 117

Plan
Contraintes rencontrees en ordonnancement
Cest quoi
lordonnancement ?

Domaines Differentes contraintes


Ordonnancement en technologiques : une tache ne peut debuter que lorsque
GdP
dautres sont achevees
Contraintes en
ordonnancement commerciales : certaines dates doivent etre achevees pour
Contraintes de potentiel
Contraintes disjonctives
une date fixee
Contraintes cumulatives
materielles : une machine ne peut traiter quune machine
Formulation
mathematique
a la fois
de main doeuvre :effectif limite
financieres : budget limite
Introduction aux problemes dordonnancement 28 novembre 2005 7 de 117

Plan
Contraintes rencontrees en ordonnancement
Cest quoi
lordonnancement ?

Domaines Differentes contraintes


Ordonnancement en technologiques : une tache ne peut debuter que lorsque
GdP
dautres sont achevees
Contraintes en
ordonnancement commerciales : certaines dates doivent etre achevees pour
Contraintes de potentiel
Contraintes disjonctives
une date fixee
Contraintes cumulatives
materielles : une machine ne peut traiter quune machine
Formulation
mathematique
a la fois
de main doeuvre :effectif limite
financieres : budget limite
Introduction aux problemes dordonnancement 28 novembre 2005 7 de 117

Plan
Contraintes rencontrees en ordonnancement
Cest quoi
lordonnancement ?

Domaines Differentes contraintes


Ordonnancement en technologiques : une tache ne peut debuter que lorsque
GdP
dautres sont achevees
Contraintes en
ordonnancement commerciales : certaines dates doivent etre achevees pour
Contraintes de potentiel
Contraintes disjonctives
une date fixee
Contraintes cumulatives
materielles : une machine ne peut traiter quune machine
Formulation
mathematique
a la fois
de main doeuvre :effectif limite
financieres : budget limite
Introduction aux problemes dordonnancement 28 novembre 2005 7 de 117

Plan
Contraintes rencontrees en ordonnancement
Cest quoi
lordonnancement ?

Domaines Differentes contraintes


Ordonnancement en technologiques : une tache ne peut debuter que lorsque
GdP
dautres sont achevees
Contraintes en
ordonnancement commerciales : certaines dates doivent etre achevees pour
Contraintes de potentiel
Contraintes disjonctives
une date fixee
Contraintes cumulatives
materielles : une machine ne peut traiter quune machine
Formulation
mathematique
a la fois
de main doeuvre :effectif limite
financieres : budget limite
Introduction aux problemes dordonnancement 28 novembre 2005 8 de 117

Plan
Formalisation des contraintes
Cest quoi
lordonnancement ?

Domaines

Ordonnancement en
GdP 1 Contraintes potentielles (ou de potentiels)
Contraintes en
ordonnancement
Contraintes de potentiel
2 Contraintes disjonctives
Contraintes disjonctives
Contraintes cumulatives

Formulation
3 Contraintes cumulaives
mathematique
Introduction aux problemes dordonnancement 28 novembre 2005 9 de 117

Plan
Contraintes potentielles
Cest quoi
lordonnancement ? Notation : tj : date de debut de la tache j, pj sa duree
Domaines
Forme generale : tj ti aij
Ordonnancement en
GdP
Localisation temporelle : j ne peut debuter avant une
Contraintes en certaine date (livraison de matiere premiere, conditions
ordonnancement
Contraintes de potentiel climatiques,...)
Contraintes disjonctives
Contraintes cumulatives Contrainte de delai : j doit etre terminee avant une
Formulation
certaine date
mathematique
Contrainte de succession
succession simple
succession avec attente
succession avec chevauchement
succesion immediate
Introduction aux problemes dordonnancement 28 novembre 2005 9 de 117

Plan
Contraintes potentielles
Cest quoi
lordonnancement ? Notation : tj : date de debut de la tache j, pj sa duree
Domaines
Forme generale : tj ti aij
Ordonnancement en
GdP
Localisation temporelle : j ne peut debuter avant une
Contraintes en certaine date (livraison de matiere premiere, conditions
ordonnancement
Contraintes de potentiel climatiques,...)
Contraintes disjonctives
Contraintes cumulatives Contrainte de delai : j doit etre terminee avant une
Formulation
certaine date
mathematique
Contrainte de succession
succession simple
succession avec attente
succession avec chevauchement
succesion immediate
Introduction aux problemes dordonnancement 28 novembre 2005 9 de 117

Plan
Contraintes potentielles
Cest quoi
lordonnancement ? Notation : tj : date de debut de la tache j, pj sa duree
Domaines
Forme generale : tj ti aij
Ordonnancement en
GdP
Localisation temporelle : j ne peut debuter avant une
Contraintes en certaine date (livraison de matiere premiere, conditions
ordonnancement
Contraintes de potentiel climatiques,...)
Contraintes disjonctives
Contraintes cumulatives Contrainte de delai : j doit etre terminee avant une
Formulation
certaine date
mathematique
Contrainte de succession
succession simple
succession avec attente
succession avec chevauchement
succesion immediate
Introduction aux problemes dordonnancement 28 novembre 2005 9 de 117

Plan
Contraintes potentielles
Cest quoi
lordonnancement ? Notation : tj : date de debut de la tache j, pj sa duree
Domaines
Forme generale : tj ti aij
Ordonnancement en
GdP
Localisation temporelle : j ne peut debuter avant une
Contraintes en certaine date (livraison de matiere premiere, conditions
ordonnancement
Contraintes de potentiel climatiques,...)
Contraintes disjonctives
Contraintes cumulatives Contrainte de delai : j doit etre terminee avant une
Formulation
certaine date
mathematique
Contrainte de succession
succession simple
succession avec attente
succession avec chevauchement
succesion immediate
Introduction aux problemes dordonnancement 28 novembre 2005 10 de 117

Plan
Contraintes disjonctives
Cest quoi
lordonnancement ?

Domaines
Deux taches i et j sont en disjonction si elles ne peuvent etre
Ordonnancement en executees simultanement
GdP

Contraintes en
ordonnancement
= Les intervalles dexecution des taches disjonctives sont
Contraintes de potentiel disjoints : ]ti , ti + pi []tj , tj + pj [=
Contraintes disjonctives
Contraintes cumulatives

Formulation Disjonction dinegalites de potentiels


mathematique

tj ti pi ou ti tj pj
Introduction aux problemes dordonnancement 28 novembre 2005 11 de 117

Plan
Contraintes cumulatives
Cest quoi
lordonnancement ? Cest une generalisation des contraintes disjonctives
Domaines
Exemple : On a deux grues et 5 taches necessitant une grue
Ordonnancement en
GdP sont candidates au meme moment
Contraintes en
Soit
ordonnancement
Contraintes de potentiel
wk (t) la quantite de moyen k disponible a t.
Contraintes disjonctives
Contraintes cumulatives
wik (t) la quantite de moyen k necessaire pour executer i a
t.
Formulation
mathematique Si X
wik (t) wk (t)
iS
alors les taches de S peuvent etre executees simultanement a t
sinon les taches de S sont en disjonction
Introduction aux problemes dordonnancement 28 novembre 2005 12 de 117

Plan
Formulation mathematique
Cest quoi
lordonnancement ? n taches a executer + 2 taches fictives 0 et n + 1 de durees
Domaines nulles.
Ordonnancement en
GdP Determiner (t0 , t1 , . . . , tn , tn+1 ) de facon a
Contraintes en
Minimiser f (t0 , t1 , . . . , tn , tn+1 )
ordonnancement s.c.
Contraintes de potentiel
Contraintes disjonctives
Contraintes cumulatives
1 Contraintes de potentiel : tj ti aij
2 Contraintes disjonctives : tj ti pi ou ti tj pj
Formulation
mathematique 3 Contraintes cumulatives (idem)
4 Contraintes de non negativite : t0 , t1 , . . . , tn , tn+1 0

f est fonction des dates de debut (ou de fin des taches), par
exemple, f (t0 , t1 , . . . , tn , tn+1 ) = tn+1 t0
Introduction aux problemes dordonnancement 28 novembre 2005 13 de 117

Plan
Partie 2 : Ordonnancement de projet rappels
Probleme central de
lordonnancement :
et extensions
ressources illimitees
Definition 6 Probleme central de lordonnancement : ressources illimitees
Modelisation
Resolution Definition
Cas general : Modelisation avec un graphe potentiels-taches
ressources limitees
Problematique
Recherche dordonnancement admissible
Resolution exacte
Algorithme de liste 7 Cas general : ressources limitees
Cas de ressources
Problematique
financieres Resolution exacte
Problematique
Loffre et la demande Approche simple de resolution : alogrithme de liste
Algorithme de decalage
8 Cas de ressources financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 14 de 117

Plan
Contexte
Probleme central de
lordonnancement :
ressources illimitees Un projet consiste en un ensemble de n taches liees par des
Definition
Modelisation contraintes de succession ou de precedence
Resolution

Cas general : Objectif


ressources limitees
Problematique
Resolution exacte
Calculer la duree minimale du projet, les ressources etant
Algorithme de liste
supposees illimitees
Cas de ressources = Minimiser (tn+1 t0 ) sous les contraintes de
financieres
Problematique potentiels
Loffre et la demande
Algorithme de decalage Determiner les dates de debut au plus tot et au plus tard
des taches
Determiner les taches critiques
Introduction aux problemes dordonnancement 28 novembre 2005 15 de 117

Plan
Formulation mathematique
Probleme central de
lordonnancement :
ressources illimitees
Definition Determiner (t0 , t1 , . . . , tn , tn+1 ) de facon a
Modelisation
Resolution Minimiser (tn+1 t0 )
Cas general :
s.c.
ressources limitees
Problematique
Resolution exacte
1 Contraintes de potentiel : tj ti aij
Algorithme de liste
2 Contraintes de non negativite : t0 , t1 , . . . , tn , tn+1 0
Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 15 de 117

Plan
Formulation mathematique
Probleme central de
lordonnancement :
ressources illimitees
Definition Determiner (t0 , t1 , . . . , tn , tn+1 ) de facon a
Modelisation
Resolution Minimiser (tn+1 t0 )
Cas general :
s.c.
ressources limitees
Problematique
Resolution exacte
1 Contraintes de potentiel : tj ti aij
Algorithme de liste
2 Contraintes de non negativite : t0 , t1 , . . . , tn , tn+1 0
Cas de ressources
financieres Cest un PL
Problematique
Loffre et la demande
Algorithme de decalage
MAIS, IL Y A PLUS SIMPLE !

= Methode potentiels-taches et methode PERT


Introduction aux problemes dordonnancement 28 novembre 2005 16 de 117

Plan
Modelisation avec un graphe potentiels-taches
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution
On utilise un graphe oriente G = (X, U )
Cas general :
ressources limitees X : ensemble des sommets : taches
Problematique
Resolution exacte
Algorithme de liste
U : ensemble des arcs : contraintes de potentiels
Cas de ressources
financieres U = {(i, j) X X, contrainte tj ti aij }
Problematique
Loffre et la demande
Algorithme de decalage La valuation dun arc (i, j) est vij = aij
Introduction aux problemes dordonnancement 28 novembre 2005 17 de 117

Plan
Exemple illustratif
Probleme central de
lordonnancement : Rubrique Tache Description Duree Taches prec.
ressources illimitees Debut Lancement du projet 0 -
Definition
Modelisation Sols A Depose ancien carrelage 6 J
Resolution
B Pose carrelage 4 A
Cas general : C Joints carrelage 2 B
ressources limitees Murs D Decollage ancien papier 8 J
Problematique
Resolution exacte E Pose faence 6 D
Algorithme de liste F Pose nouveau papier 4 E
Cas de ressources Plomberie G Depose ancien evier 1 Debut
financieres H deplacement arriv. et evac. 6 G
Problematique
Loffre et la demande
I Pose et raccordement Evier 2 M
Algorithme de decalage Mobilier J Depose ancien elements 4 G
K Assemb. caissons et tiroirs 8 Debut
L Pose elements bas 6 B,J,H,K
M Pose plan de travail 4 L
N Etancheite plan de travail 1 E,M
O Pose elements hauts 1 E,J
Fin Fin du projet 0 C,F,I,N,O
Introduction aux problemes dordonnancement 28 novembre 2005 18 de 117

Plan
Graphe correspondant
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution
8 6
D E F
Cas general : 4 6
4
ressources limitees 1 6
Problematique G J O
Resolution exacte 0 1 4 1
Algorithme de liste
6 4 2
0 H A B C *
Cas de ressources 4 1
6 N
financieres 0 4
K 8 L 6 M 2
Problematique
Loffre et la demande 4
I
Algorithme de decalage

Niveau 0 1 2 3 4 5 6 7 8
Introduction aux problemes dordonnancement 28 novembre 2005 19 de 117

Plan
Recherche dun ordonnancement realisable
Probleme central de
lordonnancement :
ressources illimitees Theoreme
Definition
Modelisation
Resolution
Il existe un ordonnancement realisable ssi @ de circuit de valeur
strictement positive dans G
Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 19 de 117

Plan
Recherche dun ordonnancement realisable
Probleme central de
lordonnancement :
ressources illimitees Theoreme
Definition
Modelisation
Resolution
Il existe un ordonnancement realisable ssi @ de circuit de valeur
strictement positive dans G
Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
Si la condistion dexistence est verifiee alors, il existe en general
financieres plusieurs ordonnancements realisables de duree minimale.
Problematique
Loffre et la demande
Algorithme de decalage
On distinguera deux cas particuliers :
1 Ordonnancement au plus tot
2 Ordonnancement au plus tard (avec une date limite
dachevement du projet imposee)
Introduction aux problemes dordonnancement 28 novembre 2005 20 de 117

Plan
Dates de debut au plus tot (1)
Probleme central de
lordonnancement :
ressources illimitees Definition
Definition
Modelisation La date de debut au plus tot ti dune tache i est egale a la
Resolution
longueur du plus long chemin de la tache Debut (ou 0) a i.
Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 20 de 117

Plan
Dates de debut au plus tot (1)
Probleme central de
lordonnancement :
ressources illimitees Definition
Definition
Modelisation La date de debut au plus tot ti dune tache i est egale a la
Resolution
longueur du plus long chemin de la tache Debut (ou 0) a i.
Cas general :
ressources limitees
Problematique
Resolution exacte
Theoreme
Algorithme de liste
Dans le cas dun graphe sans circuit, on a
Cas de ressources
financieres
Problematique t0 = 0
Loffre et la demande
Algorithme de decalage
ti = max (tj + vj,i )
j1 (i)

vj,i est la valuation de larc (j, i) (par exemple la duree de j)


1 (i) est lensemble des predecesseurs de i.
Introduction aux problemes dordonnancement 28 novembre 2005 21 de 117

Plan
Dates de debut au plus tot (2)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution 5 13 19
8 6
D E F
Cas general : 4 6
0 1 19 4
ressources limitees 1 6
Problematique G J O
Resolution exacte 0 1 4 1
5 11 15
Algorithme de liste 0 6 4 2 27
0 H A B C *
1 4 1
Cas de ressources 6 N
0 4
financieres 8 6 25 2
K L M
Problematique
0 15 21 4
Loffre et la demande I
Algorithme de decalage
25
Niveau 0 1 2 3 4 5 6 7 8
Introduction aux problemes dordonnancement 28 novembre 2005 22 de 117

Plan
Dates de debut au plus tard (1)
Probleme central de
lordonnancement :
ressources illimitees On souhaite terminer le projet au plus tard a une date
Definition
Modelisation D tn+1
Resolution

Cas general :
Definition
ressources limitees
Problematique La date de debut au plus tard ti de i est la date maximum a
Resolution exacte
Algorithme de liste laquelle on peut executer i sans retarder le chantier (date D).
Cas de ressources
financieres
Problematique
Theoreme
Loffre et la demande
Algorithme de decalage

tn+1 = D
ti = tn+1 valeur dun plus long chemin entre i et n + 1
Introduction aux problemes dordonnancement 28 novembre 2005 23 de 117

Plan
Dates de debut au plus tard (2)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution Theoreme
Cas general : Dans le cas dun graphe sans circuit, on a
ressources limitees
Problematique
Resolution exacte
Algorithme de liste
t = D
Cas de ressources
financieres
ti = min {tj vi,j }
Problematique
j(i)
Loffre et la demande
Algorithme de decalage vi,j est la valuation de larc (i, j) (par exemple la duree de i)
(i) est lensemble des successeurs de i.
Introduction aux problemes dordonnancement 28 novembre 2005 24 de 117

Plan
Dates de debut au plus tard (3)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution 9 17 23
8 6
D E F
Cas general : 4 6
0 1 26 4
ressources limitees 1 6
Problematique G J O
Resolution exacte 0 1 4 1
5 11
Algorithme de liste 6 4 2
0 H A B C *
0 27
Cas de ressources 9 6 4 25 N
1
0 4
financieres 8 6 26 2
K L M
Problematique
Loffre et la demande 7 15 21 4 I
Algorithme de decalage
25
Niveau 0 1 2 3 4 5 6 7 8
Introduction aux problemes dordonnancement 28 novembre 2005 25 de 117

Plan
Marges totales et chemin critique (1)
Probleme central de
lordonnancement :
ressources illimitees Definition
Definition
Modelisation La marge totale dune tache i est le retard total quon peut se
Resolution
permettre sur i sans remettre en cause la date de fin du projet.
Cas general :
ressources limitees
Problematique M T i = t i ti
Resolution exacte
Algorithme de liste

Cas de ressources
financieres Definition
Problematique
Loffre et la demande
Algorithme de decalage
Les taches critiques ont une marge nulle (par extension si
M Ti = M Tn+1 )
= Tout retard sur leur execution entrane un retard global sur
le projet.
Un chemin est critique sil relie Debut a Fin et sil ne contient
que des taches critiques.
Introduction aux problemes dordonnancement 28 novembre 2005 26 de 117

Plan
Marges totales et chemin critique (2)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution 5 9 13 17 19 23
8 6
D E F
Cas general : 4 6
0 0 1 1 19 26 4
ressources limitees 1 6
Problematique G J O
Resolution exacte 0 1 4 1
5 5 11 11 15
Algorithme de liste 0 6 4 2 27
0 H A B C *
0 27
Cas de ressources 1 9 6 4 25 N
1
0 4
financieres 8 6 25 26 2
K L M
Problematique
Loffre et la demande 0 7 15 15 21 21 4 I
Algorithme de decalage
25 25
Niveau 0 1 2 3 4 5 6 7 8
Introduction aux problemes dordonnancement 28 novembre 2005 27 de 117

Plan
Marges totales et chemin critique (3)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution 5 9 13 17 19 23
8 6
D E F
Cas general : 4 6
0 0 1 1 19 26 4
ressources limitees 1 6
Problematique G J
J O
Resolution exacte 0 1 4 1
5 5 11 11 15
Algorithme de liste 0 6 4 2 27
0 H A B C *
0 27
Cas de ressources 1 9 6 4 25 N
1
0 4
financieres 8 6 25 26 2
K L M
Problematique
Loffre et la demande 0 7 15 15 21 21 4 I
Algorithme de decalage
25 25
Niveau 0 1 2 3 4 5 6 7 8
Introduction aux problemes dordonnancement 28 novembre 2005 28 de 117

Plan
Marges libres
Probleme central de
lordonnancement :
ressources illimitees
Definition
Definition
Modelisation
Resolution La marge libre dune tache i est le retard total quon peut se
Cas general : permettre sur i sans retarder lexecution dune autre tache (par
ressources limitees
Problematique
rapport aux dates de debut au plus tot).
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 28 de 117

Plan
Marges libres
Probleme central de
lordonnancement :
ressources illimitees
Definition
Definition
Modelisation
Resolution La marge libre dune tache i est le retard total quon peut se
Cas general : permettre sur i sans retarder lexecution dune autre tache (par
ressources limitees
Problematique
rapport aux dates de debut au plus tot).
Resolution exacte
Algorithme de liste

Cas de ressources
Theoreme
financieres
Problematique
Loffre et la demande
Algorithme de decalage
M Li = min {tj ti vi,j }
j(i)

vi,j est la valuation de larc (i, j) (par exemple la duree de i)


(i) est lensemble des successeurs de i.
Introduction aux problemes dordonnancement 28 novembre 2005 29 de 117

Plan
Marges libres (1)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Definition
Modelisation
Resolution La marge libre dune tache i est le retard total quon peut se
Cas general : permettre sur i sans retarder lexecution dune autre tache (par
ressources limitees
Problematique
rapport aux dates de debut au plus tot).
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 29 de 117

Plan
Marges libres (1)
Probleme central de
lordonnancement :
ressources illimitees
Definition
Definition
Modelisation
Resolution La marge libre dune tache i est le retard total quon peut se
Cas general : permettre sur i sans retarder lexecution dune autre tache (par
ressources limitees
Problematique
rapport aux dates de debut au plus tot).
Resolution exacte
Algorithme de liste

Cas de ressources
Theoreme
financieres
Problematique
Loffre et la demande
Algorithme de decalage
M Li = min {tj ti vi,j }
j(i)

vi,j est la valuation de larc (i, j) (par exemple la duree de i)


(i) est lensemble des successeurs de i.
Introduction aux problemes dordonnancement 28 novembre 2005 30 de 117

Plan
Problematique
Probleme central de
lordonnancement :
ressources illimitees
5 9 13 17 19 23
Definition 8 6
Modelisation D E F
Resolution 4 6
0 0 1 1 19 26 4
1 6
G J
J O
Cas general :
0 1 4 1
ressources limitees 5 5 11 11 15 27
Problematique 0 6 4 2
0 H A B C *
Resolution exacte 0 27
Algorithme de liste 1 9 6 4 25 N
1
0 4
K 8 L 6 M 25 26 2
Cas de ressources
0 7 15 15 21 21 4 I
financieres
Problematique 25 25
Loffre et la demande Niveau 0 1 2 3 4 5 6 7 8
Algorithme de decalage
La taches D et A doivent etre effectuees par la meme
personne.
= On doit choisir deffectuer D avant A ou bien A avant D
Introduction aux problemes dordonnancement 28 novembre 2005 31 de 117

Plan
Schema general
Probleme central de
lordonnancement :
ressources illimitees
Definition 1 Enumerer les differentes possibilites :
Modelisation
Resolution Si A est avant D alors on rajoute un arc de A vers D
Cas general :
value par la duree de A,
ressources limitees Si D est avant A alors on rajoute un arc de D vers A
Problematique
Resolution exacte value par la duree de D
Algorithme de liste
2 Resoudre les problemes correspondants
Cas de ressources
financieres 3 Choisir la meilleure decision
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 31 de 117

Plan
Schema general
Probleme central de
lordonnancement :
ressources illimitees
Definition 1 Enumerer les differentes possibilites :
Modelisation
Resolution Si A est avant D alors on rajoute un arc de A vers D
Cas general :
value par la duree de A,
ressources limitees Si D est avant A alors on rajoute un arc de D vers A
Problematique
Resolution exacte value par la duree de D
Algorithme de liste
2 Resoudre les problemes correspondants
Cas de ressources
financieres 3 Choisir la meilleure decision
Problematique
Loffre et la demande
Algorithme de decalage

Lorsque le nombre de taches partageant les memes ressources


est trop important le probleme devient tres difficile a resoudre
car le nombre de possibilites devient enorme !
Introduction aux problemes dordonnancement 28 novembre 2005 32 de 117

Plan
Approche simple de resolution
Probleme central de
lordonnancement :
ressources illimitees
Definition
Algorithme de liste
Modelisation
Resolution
Les conflits entre les taches utilisant la meme ressource
Cas general :
ressources limitees sont resolus par des regles de priorite statiques ou
Problematique
Resolution exacte
dynamiques
Algorithme de liste

Cas de ressources Exemples de regles de priorite


financieres
Problematique Plus petite date de debut au plus tard dabord
Loffre et la demande
Algorithme de decalage
Plus petite date de fin au plus tard dabord
Plus petite duree dabord

Les taches sont ordonnancees en incrementant le temps a


partir de 0.
Introduction aux problemes dordonnancement 28 novembre 2005 33 de 117

Plan
Autre exemple
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution

Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
A B C D E F G H I J Disponibilite
Ressource R1 3 3 1 1 1 2 3 2 1 2 5
Ressource R2 0 0 0 1 1 1 0 1 0 0 1

Appliquer lalgorithme de liste en donnant la priorite a la tache qui possede


la plus petite date de debut au plus tard.
Introduction aux problemes dordonnancement 28 novembre 2005 34 de 117

Plan
Diagramme de Gantt
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution

Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 35 de 117

Plan
Solution trouvee vs solution optimale
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution

Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage
Introduction aux problemes dordonnancement 28 novembre 2005 36 de 117

Plan
Problematique
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution
Les taches {1, 2, . . . , n} ont besoin dune seule ressource :
largent
Cas general :
ressources limitees La ressource est alimentee a des dates u1 , . . . , uq et selon
Problematique
Resolution exacte
des quantites b1 , . . . , bq
Algorithme de liste Une tache i requiert, a sa date de debut dexecution, une
Cas de ressources
quantite ai de la ressource
financieres
Problematique
Loffre et la demande Ordonnancement de duree minimale en respectant les
Algorithme de decalage
contraintes de ressource
contraintes de precedence entre taches
Introduction aux problemes dordonnancement 28 novembre 2005 37 de 117

Plan
Exemple
Probleme central de
lordonnancement :
ressources illimitees J4
Definition
6
Modelisation
J1 4
Resolution
0 6
Cas general : 0 J2 *
ressources limitees 7
Problematique
0 3
Resolution exacte
J3 8 J5
Algorithme de liste

Cas de ressources
financieres Demande : i {J1, J2, J3, J4, J5}, ai = 5
Problematique
Loffre et la demande
Algorithme de decalage
Offre
ui bi
0 15
10 5
16 10
Introduction aux problemes dordonnancement 28 novembre 2005 38 de 117

Plan
Loffre et la demande
Probleme central de
lordonnancement :
ressources illimitees
Definition
Modelisation
Resolution

Cas general :
ressources limitees
Problematique
Resolution exacte
Algorithme de liste

Cas de ressources
financieres
Problematique
Loffre et la demande
Algorithme de decalage

Aucun des ordonnancements nest admissible


Introduction aux problemes dordonnancement 28 novembre 2005 39 de 117

Plan
Algorithme de decalage
Probleme central de
lordonnancement :
ressources illimitees
Definition On peut montrer que si un ordonnancement est
Modelisation
Resolution admissible, tout ordonnancement au plus tard de meme
Cas general :
duree lest aussi
ressources limitees
Problematique
Resolution exacte
Algorithme de liste
Algorithme de decalage
Calculer un ordonnancement au plus tard
Cas de ressources
financieres Sil nest pas admissible, calculer la quantite minimale
Problematique dont il faut decaler lordonnancement au plus tard pour
Loffre et la demande
Algorithme de decalage que lordonnancement resultant soit admissible

= Lalgorithme de decalage permet dobtenir un


ordonnancement optimal
Introduction aux problemes dordonnancement 28 novembre 2005 40 de 117

Plan
Partie 3 : Ordonnancement dateliers contexte
Contexte
et classification
Classification
Schemas de
classification 9 Contexte
Les environnements
machines
Caracteristiques de 10 Classification des problemes dordonnancement
taches
Les criteres
doptimisation
Schemas de classification
Les environnements machines
Les differentes
classes Les taches et leurs caracteristiques
dordonnancement
Les criteres doptimisation
Complexite ...
... des algorithmes 11 Les differentes classes dordonnancement
... des problemes
12 Quelques notions de la theorie de la complexite
Complexite des algorithmes
Complexite des problemes
Introduction aux problemes dordonnancement 28 novembre 2005 41 de 117

Plan
Contexte
Contexte

Classification
Schemas de
classification On a un ensemble J de taches ou de travaux (ou jobs) a
Les environnements
machines
Caracteristiques de
executer
taches
Les criteres
doptimisation
Les ressources sont des machines et ne peuvent executer
Les differentes
classes quune tache a la fois
dordonnancement

Complexite ...
... des algorithmes
Les criteres font intervenir les dates de fin dexecution, les
... des problemes
dates de livraison, les stocks den cours ... et les ordres de
fabrication peuvent avoir des poids (importance) differents
Introduction aux problemes dordonnancement 28 novembre 2005 42 de 117

Plan
Schemas de classification
Contexte

Classification
Schemas de
classification
Les environnements
machines
Nous suivons les schemas de classification proposes par
Caracteristiques de
taches (Graham et al, 1979).
Les criteres
doptimisation

Les differentes
Classification a trois champs ||
classes
dordonnancement : environnement machine
Complexite ... : les caracteristiques des taches
... des algorithmes
... des problemes : le (ou les) critere(s) a optimiser
Introduction aux problemes dordonnancement 28 novembre 2005 43 de 117

Plan
Dune facon generale ...
Contexte
On doit executer n taches ou n travaux (jobs).
Classification
Schemas de
classification
Les environnements Le champ est decompose en deux sous-champs 1 et 2 .
machines
Caracteristiques de
taches
Les criteres
doptimisation
Selon les valeurs prises par 1 , on distingue :
Les differentes
Les problemes a une machine
classes
dordonnancement
Les problemes a machines paralleles
Les problemes dateliers
Complexite ...
... des algorithmes Ateliers a cheminement unique (flowshop)
... des problemes
Ateliers a cheminements multiples (jobshop)
Ateliers a cheminements libres (openshop)
...
Lordonnancement de projet sous contraintes de ressources
Introduction aux problemes dordonnancement 28 novembre 2005 44 de 117

Plan
Problemes a une machine
Contexte

Classification
Schemas de
classification
Les environnements
machines
Caracteristiques de
taches Toute tache Jj , j {1, . . . , n} de duree pj (processing time)
Les criteres
doptimisation sexecute sur une machine qui ne peut traiter plus quune tache
Les differentes a la fois.
classes
dordonnancement

Le champ 1 est absent et 2 = 1.


Complexite ...
... des algorithmes
... des problemes
Introduction aux problemes dordonnancement 28 novembre 2005 45 de 117

Plan
Problemes a machines paralleles (1)
Contexte

Classification Toute tache Jj , j {1, . . . , n} peut etre executee


Schemas de
classification
Les environnements
indifferemment sur une des m machines mises en parallele.
machines
Caracteristiques de
taches
Les criteres M1
doptimisation

Les differentes
classes M2
Entre de Sortie de
dordonnancement
latelier latelier

Complexite ...
... des algorithmes
... des problemes

Mm
Introduction aux problemes dordonnancement 28 novembre 2005 46 de 117

Plan
Problemes a machines paralleles (2)
Contexte
pi,j est la duree dexecution de Jj sur la machine
Classification
Schemas de
Mi , i = 1, . . . , m.
classification
Les environnements
machines si 1 = P alors machines identiques i, pi,j = pj
Caracteristiques de
taches
Les criteres
si 1 = Q alors machines uniformes i, pi,j = pj /si ou
doptimisation
si est la vitesse de traitement Mi
Les differentes
classes si 1 = R alors machines independantes
dordonnancement
i, pi,j = pj /si,j ou si,j est la vitesse de traitement de la
Complexite ... tache Jj par la machine Mi
... des algorithmes
... des problemes

si 2 est un entier positif, le nombre de machines est


suppose constant. Si 2 est absent alors ce nombre est
suppose arbitraire.
Introduction aux problemes dordonnancement 28 novembre 2005 47 de 117

Plan
Problemes dateliers
Contexte

Classification
Schemas de
m machines differentes Mi , i {1, . . . , m}
classification
Les environnements
machines
n travaux (jobs) Jj , j {1, . . . , n}.
Caracteristiques de
taches
Les criteres
Chaque job Jj est decrit par nj taches ou operations
doptimisation
Oi,j , i {1, . . . , nj }
Les differentes La duree dune operation Oi,j est pi,j
classes La machine qui execute loperation Oi,j du job est notee
dordonnancement
M (Oi,j ) ou Mi,j .
Complexite ... Les operations dun meme job ne peuvent pas etre
... des algorithmes
... des problemes executees simultanement

2 (voir machines paralleles)


Introduction aux problemes dordonnancement 28 novembre 2005 48 de 117

Plan
Ateliers a cheminement unique : Flowshop
Contexte

Classification
Schemas de
classification
Les environnements Entre de Sortie de
machines M1 M2 Mm
latelier latelier
Caracteristiques de
taches
Les criteres
doptimisation

Les differentes Chaque Job est constitue de m operations et lordre de


classes
dordonnancement passage sur les differentes machines est le meme pour tous
Complexite ...
les jobs Jj : O1,j O2,j , . . . , Om,j et Mi,j = Mi
... des algorithmes
... des problemes

1 = F
Introduction aux problemes dordonnancement 28 novembre 2005 49 de 117

Plan
Ateliers a cheminements quelconques : Jobshop
Contexte

Classification
Schemas de
classification
Le nombre doperations nest pas forcement le meme pour
Les environnements
machines
tous les jobs
Caracteristiques de
taches
Les criteres
Chaque job a son propre ordre de passage sur les machines
doptimisation
1 = J
Les differentes
classes Exemple
dordonnancement

Complexite ... Jj J1 J2 J3
... des algorithmes Oi,j O1,1 O2,1 O3,1 O1,2 O2,2 O3,2 O1,3 O2,3
... des problemes
Mi,j M1 M2 M3 M2 M1 M3 M3 M2
pi,j 3 2 5 4 2 2 2 3
Introduction aux problemes dordonnancement 28 novembre 2005 50 de 117

Plan
Ateliers a cheminements libres : Openshop
Contexte

Classification
Schemas de
classification
Les environnements
machines
Caracteristiques de
taches
Les criteres
doptimisation

Les differentes Le nombre doperations nest pas forcement le meme pour


classes
dordonnancement tous les jobs
Complexite ... Lordre de passage sur les machines est totalement libre
... des algorithmes
... des problemes 1 = O
Introduction aux problemes dordonnancement 28 novembre 2005 51 de 117

Plan
Autres ateliers : Flowshop hybride
Contexte

Classification
Schemas de
classification
Les environnements
machines
Caracteristiques de M2_1
taches
Les criteres
doptimisation Mm_1

Les differentes
Entre de Sortie de
M1 M2_2
classes latelier latelier
dordonnancement
Mm_2
Complexite ...
M2_3
... des algorithmes
... des problemes
Introduction aux problemes dordonnancement 28 novembre 2005 52 de 117

Plan
Les taches et leurs caracteristiques
Contexte

Classification Chaque tache Jj ou chaque job Jj peut etre caracterise par


Schemas de
classification
Les environnements une date de debut au plus tot rj (release date)
machines
Caracteristiques de
taches une duree pj , pour la tache, ou pi,j , pour loperation i du
Les criteres
doptimisation job (processing time)
Les differentes une date de fin souhaitee dj (due date)
classes
dordonnancement une date de fin obligatoire dj (deadline)
Complexite ... un poids relatif wj (weight) importance ou poids
... des algorithmes
... des problemes
Il peut y avoir des contraintes de precedence entre les
taches. Ces contraintes sont representees par un graphe
G = (J , A).
Introduction aux problemes dordonnancement 28 novembre 2005 53 de 117

Plan
Les taches et leurs caracteristiques
Contexte

Classification
Schemas de
= 1 2 3 4 . . . dans ||
classification
Les environnements
machines
1 = pmtn si la preemption des taches est autorisee, sinon
Caracteristiques de
taches
1 est absent
Les criteres
doptimisation Sil y a des contraintes de precedence entre les taches
Les differentes 2 {prec, chain, in tree, out tree}, sinon 2 est vide
classes
dordonnancement 3 = rj si les dates de debut au plus tot rj (ou dates de
Complexite ... disponibilite) des taches ne sont pas forcement identiques,
... des algorithmes
... des problemes
sinon (j, rj = 0) 3 est absent
4 = dj si la tache ou le job possede une date de fin
obligatoire
Introduction aux problemes dordonnancement 28 novembre 2005 54 de 117

Plan
Quelques mesures
Contexte
Les criteres doptimisation sexpriment en fonction des dates de
Classification
Schemas de fin des taches (ou jobs) Cj (completion times). Les criteres
classification
Les environnements
machines
sont generalement exprimes en fonction des mesures suivantes
Caracteristiques de
taches
Les criteres
le retard algebrique Lj = Cj dj (lateness)
doptimisation
le retard absolu Tj = max(0, Cj dj ) (tardiness)
Les differentes
classes lavance Ej = max(0, Cj dj ) (earliness)
dordonnancement
le penalite unitaire de retard Uj = 0 si Cj dj , Uj = 1
Complexite ...
... des algorithmes sinon
... des problemes
le duree de sejour dans latelier Fj = Cj rj
une fonction generique fj (t) donnant le cout induit si on
termine Jj a t
Introduction aux problemes dordonnancement 28 novembre 2005 55 de 117

Plan
Illustration
Contexte

Classification
Schemas de
classification pj
Les environnements
machines
Caracteristiques de Jj
taches
Les criteres
doptimisation rj dj
Fj
Les differentes En avance
classes Ej Lj = Ej
dordonnancement
Jj
Cj Tj
Complexite ...
... des algorithmes En retard
... des problemes Jj Lj = Tj

Cj
Introduction aux problemes dordonnancement 28 novembre 2005 56 de 117

Plan
Les criteres doptimisation
Contexte
On cherche alors a minimiser un ou plusieurs criteres
Classification
Schemas de
F (C1 , . . . , Cn )
classification
Les environnements
une fonction generique de cout maximum
machines
Caracteristiques de fmax = maxj {fj (Cj )}
taches
Les criteres la duree totale de lordonnancement Cmax = maxj {Cj }
doptimisation
le retard algebrique maximum Lmax = maxj Lj
Les differentes le retard maximum Tmax = maxj Tj
classes
dordonnancement
une fonction generique de cout total f P = Pj {fj (Cj )}
Complexite ... P
... des algorithmes la somme (ponderee) des dates dePfin j (wj )Cj
... des problemes
la somme (ponderee) des retards j (wj )Tj
le
Pnombre (pondere) des taches (ou jobs) en retard
j (wj )Uj P
la duree moyenne de sejour j Fj
la
Psomme (ponderee) des avances et des retards
j j Ej + j Tj
Introduction aux problemes dordonnancement 28 novembre 2005 57 de 117

Plan
Criteres reguliers
Contexte

Classification Definition
Schemas de
classification
Les environnements
Un critere F (C1 , . . . , Cn ) est dit est dit regulier si et seulement
machines
Caracteristiques de
si F est une fonction croissante des dates de fin des taches (ou
taches
Les criteres jobs)
doptimisation

Les differentes
classes
dordonnancement Corollaire
Complexite ... P P
... des algorithmes Les
P criteres C Pmax , Lmax , Tmax , j (wj )Cj , j (wj )Tj ,
... des problemes
j (wj )Uj , (wj )Fj sont reguliers
P j
Le critere j j Ej + j Tj nest pas regulier
Introduction aux problemes dordonnancement 28 novembre 2005 58 de 117

Plan
Les differentes classes dordonnancement
Contexte

Classification
Schemas de
classification
Les environnements
machines Quatre categories ou classes (par ordre dinclusion)
Caracteristiques de
taches
Les criteres
doptimisation
les ordonnancements quelconques
Les differentes
classes
dordonnancement
les ordonnancements semi-actifs
les ordonnancements actifs
Complexite ...
... des algorithmes
... des problemes
les ordonnancements sans delai
Introduction aux problemes dordonnancement 28 novembre 2005 59 de 117

Plan
Les differentes classes dordonnancement
Contexte

Classification
Definitions
Schemas de
classification
Les environnements Un ordonnancement est dit semi-actif si aucune tache ne
machines
Caracteristiques de
taches
peut etre executee plus tot sans changer lordre
Les criteres
doptimisation
dexecution sur les ressources ou violer de contrainte (de
precedence, date de debut au plus tot, ...)
Les differentes
classes
dordonnancement
Un ordonnancement est dit actif si aucune tache ne peut
Complexite ...
... des algorithmes
etre executee plus tot sans retarder une autre tache ou
... des problemes
violer de contrainte

Un ordonnancement sans delai est un ordonnancement


pour lequel aucune machine nest laissee inactive alors
quelle pourrait commencer une tache disponible
Introduction aux problemes dordonnancement 28 novembre 2005 60 de 117

Plan
Les differentes classes dordonnancement
Contexte
Exemple : 4 taches, a executer sur une machine, telles que
Classification
Schemas de r1 = r3 = 0, r2 = 1, r4 = 9 ; p1 = p2 = 3, p3 = 2, p4 = 2
classification
Les environnements
machines
Caracteristiques de 1 2 3 4
taches
Les criteres
doptimisation r2=1 r4=9

Les differentes 1 2 4 3
classes
dordonnancement r2=1 r4=9

Complexite ...
... des algorithmes
2 3 1 4
... des problemes
r2=1 r4=9

1 2 3 4
r2=1 r4=9
Introduction aux problemes dordonnancement 28 novembre 2005 61 de 117

Plan
Les differentes classes dordonnancement
Contexte

Classification
Schemas de
classification
Les environnements Exemple : 3 taches, a executer sur deux machines en parallele,
machines
Caracteristiques de
taches
telles que r2 = r3 = 0, r1 = 1 ; p1 = p2 = 2, p3 = 4
Les criteres
doptimisation

M1 4
Les differentes
classes
dordonnancement

Complexite ... M2 1 2
... des algorithmes
... des problemes r1=1
Introduction aux problemes dordonnancement 28 novembre 2005 62 de 117

Plan
Complexite des algorithmes
Contexte

Classification Un meme probleme peut generalement etre resolu par


Schemas de
classification
Les environnements
plusieurs algorithmes
machines
Caracteristiques de = il faut comprarer entre ces algorithmes
taches
Les criteres
doptimisation La comparaison se base sur le temps de calcul et sur
Les differentes
lespace memoire requis par lalgorithme
classes
dordonnancement
Definition
Complexite ...
... des algorithmes On appelle complexite en temps dun algorithme dans le pire
... des problemes
cas, la fonction f (n) qui donne une borne superieure du
nombre doperations elementaires effectuees par lalgorithme
lorsque la taille de lentree est n.
Introduction aux problemes dordonnancement 28 novembre 2005 63 de 117

Plan
Complexite des algorithmes
Contexte

Classification
Definition
Schemas de
classification On dit que f (n) O(g(n)), sil existe une constante c > 0 et
Les environnements
machines un entier n0 tels que n n0 , |f (n)| c|g(n)|
Caracteristiques de
taches
Les criteres
doptimisation
Definition
Les differentes
classes Un algorithme est de complexite polynomiale lorsque
dordonnancement
f (n) O(p(n)) et p est un polynome en n, cest-a-dire, il
Complexite ... existe une constante k telle que f (n) O(nk )
... des algorithmes
... des problemes

Definition
Un algorithme dont la fonction complexite f (n) ne peut pas
etre majoree par un polynome en n est dit exponentiel
Introduction aux problemes dordonnancement 28 novembre 2005 64 de 117

Plan
Complexite des problemes
Contexte
Distinction entre probleme de decision et probleme
Classification
Schemas de
doptimisation
classification
Les environnements
machines
Un probleme de decision est un probleme pour lequel une
Caracteristiques de
taches solution est soit oui soit non
Les criteres
doptimisation Un probleme doptimisation est un probleme pour lequel
Les differentes
on doit chercher a determiner une solution qui optimise un
classes
dordonnancement
critere
A chaque probleme doptimisation on peut associer un
Complexite ...
... des algorithmes probleme de decision
... des problemes

Definition
Un probleme de decision appartient a la classe P, sil peut etre
resolu par un algorithme polynomial en n
Introduction aux problemes dordonnancement 28 novembre 2005 65 de 117

Plan
Complexite des problemes
Contexte

Classification
Definition
Schemas de
classification Un probleme de decision appartient a la classe N P sil peut
Les environnements
machines etre resolu par un algorithme non deterministe polynomial.
Caracteristiques de
taches
Les criteres
doptimisation Definition
Les differentes
classes
On considere deux problemes de decisions Q et R. On dit que
dordonnancement Q se reduit polynomialement a R, et on note Q R, sil existe
Complexite ... une fonction polynomiale g qui transforme toute instance de Q
... des algorithmes
... des problemes
en une instance de R telle que x est une reponse oui de Q
si et seulement si g(x) est une reponse oui de R.

Definition
Un probleme R est N P-complet ssi R N P et
Q N P, telle que Q R.
Introduction aux problemes dordonnancement 28 novembre 2005 66 de 117

Plan
Complexite des problemes
Contexte
Un probleme doptimisation est dit N Pdifficile si le
Classification
Schemas de probleme de decision associe est N Pcomplet
classification
Les environnements
machines
Il existe un certain nombre de resultats dans la litterature
Caracteristiques de
taches qui montrent les liens, sous forme darbres de reduction,
Les criteres
doptimisation entre differents problemes dordonnancement.
Les differentes
Arbre de reduction en fonction des criteres doptimisation
classes
dordonnancement wiTi wiUi
Complexite ...
... des algorithmes
... des problemes
wiCi Ti Ui

Ci Lmax

Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 67 de 117

Plan
Resolution des problemes dodonnancement
Algorithmes a base
de regles de priorite
Problemes a une
13 Algorithmes a base de regles de priorite
machine
Problemes de type Problemes a une machine
flowshop
Problemes
paralleles
a machines Problemes de type flowshop
Limitation
priorite
des regles de Problemes a machines paralleles
Limitation des regles de priorite
Algorithmes plus
elabres
14 Algorithmes plus elabres
Approches pour
resoudre les
15 Approches pour resoudre les problemes NP-difficiles
problemes
NP-difficiles
Methodes constructives
Methodes constructives
Heuristiques par
Heuristiques par voisinage
voisinage
Procedures par
Procedures par evaluation et separation
evaluation et separation
Resolution du probleme Resolution du probleme 1|rj |Lmax
1|rj |Lmax
Probleme J||Cmax Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 68 de 117

Plan
Ensembles dominants
Algorithmes a base
de regles de priorite
Problemes a une
Definition
machine
Problemes
flowshop
de type
Un ensemble dordonnancements est dit dominant pour un
Problemes a machines
paralleles probleme dordonnancement donne si et seulement si quelques
Limitation des regles de
priorite soient les donnees du probleme, une solution optimale est
Algorithmes plus contenue dans cet ensemble
elabres

Approches pour
Theorem
resoudre les
problemes Lensemble des ordonnancements actifs est dominant pour les
NP-difficiles
Methodes constructives criteres reguliers
Heuristiques par
voisinage
Procedures par
evaluation et separation Corollaire
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax Lensemble des ordonnancements semi-actifs est dominant
pour les criteres reguliers
Introduction aux problemes dordonnancement 28 novembre 2005 69 de 117

Plan
Ensembles dominants
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines
Corollaire
Limitation des regles de
priorite
Un ordonnancement est completement determine par la
Algorithmes plus sequence des taches au niveau de chaque machine
elabres

Approches pour
resoudre les
problemes Attention
NP-difficiles
Methodes constructives
Un ensemble de sequences (au niveau des machines) ne
Heuristiques par
voisinage represente pas forcement un ordonnancement admissible
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 70 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
Toutes les taches sont disponibles a linstant t = 0
paralleles
Limitation des regles de (j, rj = 0))
priorite
wj est le poids de la tache Jj (ou tout simplement j)
Algorithmes plus
elabres Cj la date de fin de j (cest une inconnue)
Approches pour Un ordonnancement est completement determine par une
resoudre les
problemes sequence des taches
NP-difficiles P
Methodes constructives
Heuristiques par
Minimiser wj Cj revient a minimiser les encours totaux
voisinage
Procedures par (ponderes)
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 71 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
Tache j 1 2 3 4 5
paralleles
Limitation des regles de pj 2 3 6 5 1
priorite
wj 1 3 2 1 2
Algorithmes plus
elabres Exemple de sequence : 1 = (1, 2, 3, 4, 5)
Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 71 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
Tache j 1 2 3 4 5
paralleles
Limitation des regles de pj 2 3 6 5 1
priorite
wj 1 3 2 1 2
Algorithmes plus
elabres Exemple
P de sequence : 1 = (1, 2, 3, 4, 5)
Approches pour wj Cj (1 ) = 1 2 + 3 5 + 2 11 + 1 16 + 2 17 = 89
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 71 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
Tache j 1 2 3 4 5
paralleles
Limitation des regles de pj 2 3 6 5 1
priorite
wj 1 3 2 1 2
Algorithmes plus
elabres Exemple
P de sequence : 1 = (1, 2, 3, 4, 5)
Approches pour wj Cj (1 ) = 1 2 + 3 5 + 2 11 + 1 16 + 2 17 = 89
resoudre les
problemes
NP-difficiles
Methodes constructives
Question : Peut-on faire mieux ?
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 71 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
Tache j 1 2 3 4 5
paralleles
Limitation des regles de pj 2 3 6 5 1
priorite
wj 1 3 2 1 2
Algorithmes plus
elabres Exemple
P de sequence : 1 = (1, 2, 3, 4, 5)
Approches pour wj Cj (1 ) = 1 2 + 3 5 + 2 11 + 1 16 + 2 17 = 89
resoudre les
problemes
NP-difficiles
Methodes constructives
Question : Peut-on faire mieux ?
Heuristiques par
voisinage Reponse : oui ! !
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 72 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
Theorem
machine
Problemes
flowshop
de type
Regle de Smith : Ordonnancer les taches dans
P lordre croissant
Problemes a machines
paralleles des pj /wj minimise le stock dencours (i.e. wj Cj )
Limitation des regles de
priorite

Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 72 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
Theorem
machine
Problemes
flowshop
de type
Regle de Smith : Ordonnancer les taches dans
P lordre croissant
Problemes a machines
paralleles des pj /wj minimise le stock dencours (i.e. wj Cj )
Limitation des regles de
priorite

Algorithmes plus
elabres Tache j 1 2 3 4 5
pj 2 3 6 5 1
Approches pour
resoudre les wj 1 3 2 1 2
problemes
NP-difficiles pj /wj 2 1 3 5 0.5
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 72 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
Theorem
machine
Problemes
flowshop
de type
Regle de Smith : Ordonnancer les taches dans
P lordre croissant
Problemes a machines
paralleles des pj /wj minimise le stock dencours (i.e. wj Cj )
Limitation des regles de
priorite

Algorithmes plus
elabres Tache j 1 2 3 4 5
pj 2 3 6 5 1
Approches pour
resoudre les wj 1 3 2 1 2
problemes
NP-difficiles pj /wj 2 1 3 5 0.5
Methodes constructives
Heuristiques par
voisinage La sequence optimale pour le probleme avec poids est
Procedures par
evaluation et separation
= (5, 2, 1, 3, 4)
w
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 72 de 117

Plan P
Probleme 1|| wj Cj
Algorithmes a base
de regles de priorite
Problemes a une
Theorem
machine
Problemes
flowshop
de type
Regle de Smith : Ordonnancer les taches dans
P lordre croissant
Problemes a machines
paralleles des pj /wj minimise le stock dencours (i.e. wj Cj )
Limitation des regles de
priorite

Algorithmes plus
elabres Tache j 1 2 3 4 5
pj 2 3 6 5 1
Approches pour
resoudre les wj 1 3 2 1 2
problemes
NP-difficiles pj /wj 2 1 3 5 0.5
Methodes constructives
Heuristiques par
voisinage La sequence optimale pour le probleme avec poids est
Procedures par
evaluation et separation w = (5, 2, 1, 3, 4)
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
La sequence optimale pour le probleme sans poids est
1 = (5, 1, 2, 4, 3)
Introduction aux problemes dordonnancement 28 novembre 2005 73 de 117

Plan P P
Problemes 1|rj | wj Cj et 1|rj , pmtn| wj Cj
Algorithmes a base
de regles de priorite On associe une date de disponibilite rj a une tache j
Problemes a une
machine
Problemes
flowshop
de type Theorem
Problemes a machines P
paralleles
Limitation des regles de
Le probleme 1|rj | wj Cj est NP-difficile
priorite

Algorithmes plus Theorem


elabres P
Le probleme 1|rj , pmtn| wj Cj est NP-difficile
Approches pour
resoudre les
problemes
NP-difficiles Theorem
Methodes constructives P
Heuristiques par
voisinage
Le probleme 1|rj , pmtn| Cj peut etre resolu en temps
Procedures par
evaluation et separation
polynomial :
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 73 de 117

Plan P P
Problemes 1|rj | wj Cj et 1|rj , pmtn| wj Cj
Algorithmes a base
de regles de priorite On associe une date de disponibilite rj a une tache j
Problemes a une
machine
Problemes
flowshop
de type Theorem
Problemes a machines P
paralleles
Limitation des regles de
Le probleme 1|rj | wj Cj est NP-difficile
priorite

Algorithmes plus Theorem


elabres P
Le probleme 1|rj , pmtn| wj Cj est NP-difficile
Approches pour
resoudre les
problemes
NP-difficiles Theorem
Methodes constructives P
Heuristiques par
voisinage
Le probleme 1|rj , pmtn| Cj peut etre resolu en temps
Procedures par
evaluation et separation
polynomial : Affecter la machine a la tache de plus courte
Resolution du probleme
1|rj |Lmax duree sous la condition suivante : quand une tache arrive, elle
Probleme J||Cmax
preempte la machine si sa duree est plus petite que la duree
residuelle de la tache en cours.
Introduction aux problemes dordonnancement 28 novembre 2005 74 de 117

Plan
Problemes 1||Lmax et 1|rj , pmtn|Lmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type Regle
flowshop
Problemes a machines
paralleles La regle de Jackson consiste a donner la priorite la plus elevee
Limitation des regles de
priorite
a la tache disponible de plus petite date echue.
Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 74 de 117

Plan
Problemes 1||Lmax et 1|rj , pmtn|Lmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type Regle
flowshop
Problemes a machines
paralleles La regle de Jackson consiste a donner la priorite la plus elevee
Limitation des regles de
priorite
a la tache disponible de plus petite date echue.
Algorithmes plus
elabres
Definition
Approches pour
resoudre les On designera par ordonnancement de Jackson
problemes
NP-difficiles lordonnancement de liste obtenu en appliquant la regle de
Methodes constructives
Heuristiques par Jackson
voisinage
Procedures par
evaluation et separation
Si j, rj = 0, on parle egalement dordre EDD : Earliest Due
Resolution du probleme
1|rj |Lmax
Date.
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 75 de 117

Plan
Problemes 1||Lmax et 1|rj , pmtn|Lmax
Algorithmes a base
de regles de priorite j 1 2 3 4 5 6 7
Problemes a une
machine rj 0 9 13 11 20 30 30
Problemes de type Exemple
flowshop
Problemes a machines
pj 6 7 6 7 4 3 5
paralleles
Limitation des regles de dj 31 41 22 24 27 40 48
priorite

Algorithmes plus
Ordonnancement de Jackson preemptif
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
Ordonnancement de Jackson non-preemptif
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 75 de 117

Plan
Problemes 1||Lmax et 1|rj , pmtn|Lmax
Algorithmes a base
de regles de priorite j 1 2 3 4 5 6 7
Problemes a une
machine rj 0 9 13 11 20 30 30
Problemes de type Exemple
flowshop
Problemes a machines
pj 6 7 6 7 4 3 5
paralleles
Limitation des regles de dj 31 41 22 24 27 40 48
priorite

Algorithmes plus
Ordonnancement de Jackson preemptif
elabres 25 3 0 1 7 5 7

Approches pour 1 2 4 3 4 5 2 6 2 7
resoudre les
problemes
NP-difficiles 0 6 9 13 11 19 24 28 30 33 36 41
Methodes constructives
Heuristiques par
Ordonnancement de Jackson non-preemptif
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 75 de 117

Plan
Problemes 1||Lmax et 1|rj , pmtn|Lmax
Algorithmes a base
de regles de priorite j 1 2 3 4 5 6 7
Problemes a une
machine rj 0 9 13 11 20 30 30
Problemes de type Exemple
flowshop
Problemes a machines
pj 6 7 6 7 4 3 5
paralleles
Limitation des regles de dj 31 41 22 24 27 40 48
priorite

Algorithmes plus
Ordonnancement de Jackson preemptif
elabres 25 3 0 1 7 5 7

Approches pour 1 2 4 3 4 5 2 6 2 7
resoudre les
problemes
NP-difficiles 0 6 9 13 11 19 24 28 30 33 36 41
Methodes constructives
Heuristiques par
Ordonnancement de Jackson non-preemptif
voisinage 25 25 0 5 6 4 7
Procedures par
evaluation et separation
Resolution du probleme 1 2 3 4 5 6 7
1|rj |Lmax
Probleme J||Cmax
0 6 9 16 22 29 33 36 41
Introduction aux problemes dordonnancement 28 novembre 2005 76 de 117

Plan
Problemes 1||Lmax et 1|rj , pmtn|Lmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
paralleles
Limitation
priorite
des regles de
Montrer que la regle EDD est optimale pour 1||Lmax
Algorithmes plus Montrer que lordonnancement de Jackson est optimal
elabres
pour 1|rj , pj = 1, pmtn|Lmax
Approches pour
resoudre les
Montrer que lordonnancement de Jackson est optimal
problemes
NP-difficiles
pour 1|rj , pmtn|Lmax
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 77 de 117

Plan
Probleme 1|rj |Lmax
Algorithmes a base
de regles de priorite
Problemes a une
Theorem
machine
Problemes
flowshop
de type
Le probleme 1|rj |Lmax est NP-diffcile au sens fort
Problemes a machines
paralleles
Limitation des regles de
priorite

Reduction a partir du probleme 3-Partition qui est


Algorithmes plus
elabres NP-complet au sens fort
Approches pour
resoudre les
problemes Definition
NP-difficiles
Methodes constructives Etant donnes n + 1 = 3m + 1 entiers positifsP a1 , . . . , a3m et A
Heuristiques par
voisinage
Procedures par
tels que A/4 < aj < A/2, j = 1, . . . , 3m, et 3m j=1 aj = mA,
evaluation et separation
Resolution du probleme existe-t-il une partition de lensembleP{1, . . . , 3m} en m
1|rj |Lmax
Probleme J||Cmax sous-ensembles X1 , . . . , Xm , tel que jXl aj = A,
l = 1, . . . , m ?
Introduction aux problemes dordonnancement 28 novembre 2005 78 de 117

Plan
Probleme 1|rj |Lmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une
A toute instance du probleme 3-Partition, on peut associer
Problemes de type
flowshop une instance du probleme 1|rj |Lmax a n + m 1 taches telles
Problemes a machines
paralleles
Limitation des regles de
que
rj = 0, pj = aj et dj = nj=1 aj + m 1, pour
priorite P
Algorithmes plus
elabres
j {1, . . . , n}
Approches pour
rn+k = kA + k 1, pn+k = 1 et dn+k = kA + k pour
resoudre les
problemes
k {1, . . . , m 1}
NP-difficiles
Methodes constructives
Heuristiques par
voisinage On montre que 3-Partition a une solution si, et seulement
Procedures par
evaluation et separation si, la valeur de la solution optimale, de linstance construite du
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
probleme 1|rj |Lmax , est egale a 0.
Introduction aux problemes dordonnancement 28 novembre 2005 79 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes a une n taches Jj , j = 1, . . . , n, a executer sur deux machines
machine
Problemes
flowshop
de type M1 et M2
Problemes a machines
paralleles Cheminement unique : M1 puis M2
Limitation des regles de
priorite
aj et bj sont les durees de la tache Jj , j = 1, . . . , n sur les
Algorithmes plus
elabres
machines M1 et M2 , respectivement.
Intuitivement
Approches pour
resoudre les avoir des taches executees le plus rapidement possible su
problemes
NP-difficiles
M1 pour pouvoir les executer M2 (M2 reste inactive le
Methodes constructives minimum de temps possible)
Heuristiques par
voisinage = Regle SPT sur M1
Procedures par
evaluation et separation Sur M2 , on essaie dexecuter les taches dans lordre LPT
Resolution du probleme
1|rj |Lmax pour que M2 nattende pas trop que M1 lui fournisse des
Probleme J||Cmax
taches
Introduction aux problemes dordonnancement 28 novembre 2005 80 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
Regle
machine
Problemes de type
flowshop Regle de Johnson
Problemes a machines
paralleles
Limitation
priorite
des regles de Partitionner lensemble des taches en 2 sous-ensembles
A = {j J , aj bj }
Algorithmes plus
elabres B = {j J , aj > bj }

Approches pour
Sequencer les taches de A dans lordre croissant des aj
resoudre les
problemes
sequence A
NP-difficiles
Methodes constructives
Sequencer les taches de B dans lordre decroissant des bj
Heuristiques par
voisinage sequence B
Procedures par
evaluation et separation
Resolution du probleme
Fusionner les deux sequences = {A , B }
1|rj |Lmax
Probleme J||Cmax On utilise le meme ordre de passage sur les 2 machines
Introduction aux problemes dordonnancement 28 novembre 2005 81 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Definition
Problemes de type
flowshop
Problemes a machines
Un ordonnancement pour lequel toutes les taches sont
paralleles
Limitation des regles de executees dans un meme ordre (sur les machines) est appele
priorite
ordonnancement de permutation
Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 81 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Definition
Problemes de type
flowshop
Problemes a machines
Un ordonnancement pour lequel toutes les taches sont
paralleles
Limitation des regles de executees dans un meme ordre (sur les machines) est appele
priorite
ordonnancement de permutation
Algorithmes plus
elabres
Lemme
Approches pour
resoudre les
problemes
Une instance du probleme F 2||Cmax a toujours une solution
NP-difficiles
Methodes constructives
optimale qui est un ordonnancement de permutation
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 81 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Definition
Problemes de type
flowshop
Problemes a machines
Un ordonnancement pour lequel toutes les taches sont
paralleles
Limitation des regles de executees dans un meme ordre (sur les machines) est appele
priorite
ordonnancement de permutation
Algorithmes plus
elabres
Lemme
Approches pour
resoudre les
problemes
Une instance du probleme F 2||Cmax a toujours une solution
NP-difficiles
Methodes constructives
optimale qui est un ordonnancement de permutation
Heuristiques par
voisinage
Procedures par
evaluation et separation Theorem
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax La regle de Johnson est optimale pour F 2||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 82 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type Exemple
flowshop
Problemes a machines
paralleles
Limitation des regles de j M1 M2
priorite
1 6 8
Algorithmes plus
elabres
2 4 5
3 4 1
Approches pour
resoudre les 4 8 4
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 82 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type Exemple
flowshop
Problemes a machines
paralleles
Limitation des regles de j M1 M2
priorite
1 6 8
Algorithmes plus
elabres
2 4 5
3 4 1
Approches pour
resoudre les 4 8 4
problemes
NP-difficiles
Methodes constructives A = {1, 2} et B = {3, 4}
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 82 de 117

Plan
Probleme F 2||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type Exemple
flowshop
Problemes a machines
paralleles
Limitation des regles de j M1 M2
priorite
1 6 8
Algorithmes plus
elabres
2 4 5
3 4 1
Approches pour
resoudre les 4 8 4
problemes
NP-difficiles
Methodes constructives A = {1, 2} et B = {3, 4}
Sequence optimale = (2, 1, 4, 3)
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
Dessiner le digramme de Gantt de lordonnancement optimal
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 83 de 117

Plan
Problemes a machines paralleles
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines Deux types de decision a prendre
Limitation des regles de
priorite
1 affectation des taches aux machines
Algorithmes plus
elabres
2 sequencement de chaque machine
Approches pour
resoudre les dune facon independante sil ny a pas de contraintes de
problemes
NP-difficiles
precedence entre les taches
Methodes constructives dune facon dependante sinon
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 84 de 117

Plan
Probleme P ||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
Theorem
paralleles
Limitation
priorite
des regles de Le probleme P ||Cmax est NP-difficile
Algorithmes plus
elabres
On note Cmax la valeur de la solution optimale
Approches pour
resoudre les
problemes Montrer que
NP-difficiles

P
Methodes constructives
Heuristiques par
Cmax (1/m) j pj

voisinage
Procedures par
Cmax pj , j = 1, . . . n
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 85 de 117

Plan
Probleme P |pmtn|Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type
Montrer que la duree dun ordonnancement optimal P est
Problemes a machines
paralleles superieure ou egale a B = max(maxj pj , (1/m) j pj ))
Limitation des regles de
priorite

Algorithmes plus
elabres
Proposer un algorithme qui construit un ordonnancement
dont la duree est exactement B
Approches pour
resoudre les
problemes
NP-difficiles Calculer le nombre doperations necessaires
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation Conclure quant la complexite de lalgorithme
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 85 de 117

Plan
Probleme P |pmtn|Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type
Montrer que la duree dun ordonnancement optimal P est
Problemes a machines
paralleles superieure ou egale a B = max(maxj pj , (1/m) j pj ))
Limitation des regles de
priorite

Algorithmes plus
elabres
Proposer un algorithme qui construit un ordonnancement
dont la duree est exactement B
Approches pour
resoudre les
problemes
NP-difficiles Calculer le nombre doperations necessaires
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation Conclure quant la complexite de lalgorithme
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 85 de 117

Plan
Probleme P |pmtn|Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type
Montrer que la duree dun ordonnancement optimal P est
Problemes a machines
paralleles superieure ou egale a B = max(maxj pj , (1/m) j pj ))
Limitation des regles de
priorite

Algorithmes plus
elabres
Proposer un algorithme qui construit un ordonnancement
dont la duree est exactement B
Approches pour
resoudre les
problemes
NP-difficiles Calculer le nombre doperations necessaires
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation Conclure quant la complexite de lalgorithme
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 85 de 117

Plan
Probleme P |pmtn|Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type
Montrer que la duree dun ordonnancement optimal P est
Problemes a machines
paralleles superieure ou egale a B = max(maxj pj , (1/m) j pj ))
Limitation des regles de
priorite

Algorithmes plus
elabres
Proposer un algorithme qui construit un ordonnancement
dont la duree est exactement B
Approches pour
resoudre les
problemes
NP-difficiles Calculer le nombre doperations necessaires
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation Conclure quant la complexite de lalgorithme
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 86 de 117

Plan
Probleme P ||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
paralleles
Limitation des regles de
Theorem
priorite
Un algorithme de liste est un 2-approximation algorithm
Algorithmes plus
elabres pour P ||Cmax
Approches pour
resoudre les
problemes
Theorem
NP-difficiles
Methodes constructives
LPT est un 4/3-approximation algorithm pour P ||Cmax
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 87 de 117

Plan

Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
paralleles
Limitation des regles de
priorite
Voir exemple du livre
Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 88 de 117

Plan
Probleme 1||fmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une On note P = p1 + p2 + + pn
Problemes de type
flowshop Jk la tache telle que fk (P ) = min{fj (P ), j = 1, . . . , n}
Problemes a machines
paralleles
Limitation des regles de Montrons quil un ordonnancement optimal tel que Jk
priorite
soit la derniere tache executee
Algorithmes plus (S) la valeur optimale de la fonction objectif si on
elabres fmax
Approches pour
nordonnance que les taches de S J
resoudre les (J ) min{f (P ), j = 1, . . . , n}
fmax
problemes j
NP-difficiles (J ) f (J {J })
Methodes constructives fmax max j
Heuristiques par
voisinage
Procedures par
La procedure Least-Cost-Last est optimale pour 1||fmax
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Le probleme 1|prec|fmax est-t-il polynomial ?
Introduction aux problemes dordonnancement 28 novembre 2005 88 de 117

Plan
Probleme 1||fmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une On note P = p1 + p2 + + pn
Problemes de type
flowshop Jk la tache telle que fk (P ) = min{fj (P ), j = 1, . . . , n}
Problemes a machines
paralleles
Limitation des regles de Montrons quil un ordonnancement optimal tel que Jk
priorite
soit la derniere tache executee
Algorithmes plus (S) la valeur optimale de la fonction objectif si on
elabres fmax
Approches pour
nordonnance que les taches de S J
resoudre les (J ) min{f (P ), j = 1, . . . , n}
fmax
problemes j
NP-difficiles (J ) f (J {J })
Methodes constructives fmax max j
Heuristiques par
voisinage
Procedures par
La procedure Least-Cost-Last est optimale pour 1||fmax
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Le probleme 1|prec|fmax est-t-il polynomial ?
Introduction aux problemes dordonnancement 28 novembre 2005 88 de 117

Plan
Probleme 1||fmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une On note P = p1 + p2 + + pn
Problemes de type
flowshop Jk la tache telle que fk (P ) = min{fj (P ), j = 1, . . . , n}
Problemes a machines
paralleles
Limitation des regles de Montrons quil un ordonnancement optimal tel que Jk
priorite
soit la derniere tache executee
Algorithmes plus (S) la valeur optimale de la fonction objectif si on
elabres fmax
Approches pour
nordonnance que les taches de S J
resoudre les (J ) min{f (P ), j = 1, . . . , n}
fmax
problemes j
NP-difficiles (J ) f (J {J })
Methodes constructives fmax max j
Heuristiques par
voisinage
Procedures par
La procedure Least-Cost-Last est optimale pour 1||fmax
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Le probleme 1|prec|fmax est-t-il polynomial ?
Introduction aux problemes dordonnancement 28 novembre 2005 88 de 117

Plan
Probleme 1||fmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une On note P = p1 + p2 + + pn
Problemes de type
flowshop Jk la tache telle que fk (P ) = min{fj (P ), j = 1, . . . , n}
Problemes a machines
paralleles
Limitation des regles de Montrons quil un ordonnancement optimal tel que Jk
priorite
soit la derniere tache executee
Algorithmes plus (S) la valeur optimale de la fonction objectif si on
elabres fmax
Approches pour
nordonnance que les taches de S J
resoudre les (J ) min{f (P ), j = 1, . . . , n}
fmax
problemes j
NP-difficiles (J ) f (J {J })
Methodes constructives fmax max j
Heuristiques par
voisinage
Procedures par
La procedure Least-Cost-Last est optimale pour 1||fmax
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Le probleme 1|prec|fmax est-t-il polynomial ?
Introduction aux problemes dordonnancement 28 novembre 2005 88 de 117

Plan
Probleme 1||fmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une On note P = p1 + p2 + + pn
Problemes de type
flowshop Jk la tache telle que fk (P ) = min{fj (P ), j = 1, . . . , n}
Problemes a machines
paralleles
Limitation des regles de Montrons quil un ordonnancement optimal tel que Jk
priorite
soit la derniere tache executee
Algorithmes plus (S) la valeur optimale de la fonction objectif si on
elabres fmax
Approches pour
nordonnance que les taches de S J
resoudre les (J ) min{f (P ), j = 1, . . . , n}
fmax
problemes j
NP-difficiles (J ) f (J {J })
Methodes constructives fmax max j
Heuristiques par
voisinage
Procedures par
La procedure Least-Cost-Last est optimale pour 1||fmax
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Le probleme 1|prec|fmax est-t-il polynomial ?
Introduction aux problemes dordonnancement 28 novembre 2005 88 de 117

Plan
Probleme 1||fmax
Algorithmes a base
de regles de priorite
Problemes
machine
a une On note P = p1 + p2 + + pn
Problemes de type
flowshop Jk la tache telle que fk (P ) = min{fj (P ), j = 1, . . . , n}
Problemes a machines
paralleles
Limitation des regles de Montrons quil un ordonnancement optimal tel que Jk
priorite
soit la derniere tache executee
Algorithmes plus (S) la valeur optimale de la fonction objectif si on
elabres fmax
Approches pour
nordonnance que les taches de S J
resoudre les (J ) min{f (P ), j = 1, . . . , n}
fmax
problemes j
NP-difficiles (J ) f (J {J })
Methodes constructives fmax max j
Heuristiques par
voisinage
Procedures par
La procedure Least-Cost-Last est optimale pour 1||fmax
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Le probleme 1|prec|fmax est-t-il polynomial ?
Introduction aux problemes dordonnancement 28 novembre 2005 89 de 117

Plan P
Probleme 1|| Uj
Algorithmes a base
de regles de priorite
Problemes a une n taches a ordonnancer telles que d1 d2 . . . dn
machine
Problemes de type
flowshop
Problemes
paralleles
a machines Algorithme de Hogdson
Limitation
priorite
des regles de 1 : C = 0, O , L
2 : for j = 1 to n do
Algorithmes plus 3 : C C + pj
elabres
4 : O = O {Jj }
Approches pour 5 : if C > dj then
resoudre les 6: Soit Ji le job de O de plus grande duree
problemes
NP-difficiles 7: O = O {Ji } , L = L {Ji }
Methodes constructives
Heuristiques par
8: C = C pj
voisinage 9 : end if
Procedures par
evaluation et separation 10 : end for
Resolution du probleme
1|rj |Lmax 11 : Ordonnancer les jobs de O dans lordre naturel puis les jobs de L dans
Probleme J||Cmax
nimporte quel ordre.
Introduction aux problemes dordonnancement 28 novembre 2005 90 de 117

Plan P
Probleme 1|| Uj
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type Theorem
Problemes a machines P
paralleles
Limitation des regles de
Lalgorithme de Hogdson est optimal pour 1|| Uj
priorite

Algorithmes plus
elabres

Approches pour Jj J1 J2 J3 J4 J5 J6
resoudre les
problemes Exemple : pj 6 4 7 8 3 5
NP-difficiles
Methodes constructives
dj 8 9 15 20 21 22
Heuristiques par
voisinage
Procedures par
evaluation et separation
P
Resolution du probleme Lalgorithme de Hogdson nest pas optimal pour 1|| wj Uj
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 91 de 117

Plan
Methodes constructives
Algorithmes a base
de regles de priorite
Problemes a une
machine Comment peut resoudre rapidement un probleme
Problemes de type
flowshop
Problemes a machines
dordonnancement NP-difficile ?
paralleles
Limitation des regles de
priorite

Algorithmes plus 1 Algorithmes a base de regle(s) de priorite


elabres

Approches pour
resoudre les 2 Algorithmes par decomposition spatiale
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
3 Algorithmes par decompostion temporelle
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
4 Algorithmes par decomposition spatiale et temporelle
Introduction aux problemes dordonnancement 28 novembre 2005 92 de 117

Plan
F ||Cmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type
Heuristique de Campbell, Dudek, et Smith (CDS)
Problemes a machines
paralleles
Limitation des regles de
priorite
Construire des ordonnancements de permutation
Algorithmes plus
elabres Utiliser lalgorithme de johnson sur m 1 problemes
Approches pour
F 2||Cmax
resoudre les
problemes
= une sequence pour chaque probleme
NP-difficiles
Methodes constructives Evaluer les sequences trouvees pour le probleme F ||Cmax
Heuristiques par
voisinage
Procedures par
Selectionner la meilleure sequence
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 93 de 117

Plan
P |rj |Lmax
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines
Heuristiques etudiants ID (2004-2005)
Limitation des regles de
priorite

Algorithmes plus
elabres
Affecter les taches aux machines
Approches pour
Utiliser lalgorithme de Carlier pour resoudre m problemes
resoudre les
problemes
1|rj |Lmax pour le sequencement sur chaque machine
NP-difficiles
Methodes constructives
une metaheuristique pour ameliorer laffectation
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 94 de 117

Plan
Problemes doptimisation discrete
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type Definition
Problemes a machines
paralleles
Limitation des regles de
Problemes doptimisation discrete
priorite
Etant donne un ensemble S de solutions realisables
Algorithmes plus
elabres Etant donnee une fonction cout c : S IR
Approches pour Trouver une solution s S telle que c(s ) c(s) pour
resoudre les
problemes tout s S.
NP-difficiles
Methodes constructives
Heuristiques par
voisinage Les problemes dordonnancement non preemptifs sont des
Procedures par
evaluation et separation
Resolution du probleme
problemes doptimisation discrete.
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 95 de 117

Plan
Methodes de recherche par voisinage
Algorithmes a base
de regles de priorite
Problemes a une Demarrer avec une solution initiale s0
machine
Problemes
flowshop
de type
Passer dune solution courante s a une autre solution
Problemes
paralleles
a machines
voisine s0 (meilleure ou non) tant que le test darret nest
Limitation des regles de
priorite pas verifie.
Algorithmes plus
elabres
Le voisinage N (s) dune solution s est lensemble des
Approches pour
resoudre les
solutions s0 qui peuvent etre obtenues a partir de s a
problemes
NP-difficiles
travers une modification bien definie.
Methodes constructives
Heuristiques par
voisinage
Procedures par Faire une recherche dans le voisinage de s
evaluation et separation
Resolution du probleme
1|rj |Lmax
Evaluer les solutions s0 F (s) N (s)
Accepter ou rejeter de passer a s0 dans literation suivante.
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 96 de 117

Plan
Methodes de recherche par voisinage
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines
Ce qui differencie les methodes de recherche locale
Limitation des regles de
priorite
La representation dune solution
Algorithmes plus
elabres La conception du voisinage
Approches pour La procedure de recherche dans le voisinage
resoudre les
problemes Le critere dacceptation ou de rejet dune solution
NP-difficiles
Methodes constructives rencontree
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 97 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Enonce du probleme
Problemes a une
machine
Problemes de type
Soit S lensemble des solutions admissibles dun probleme
flowshop
Problemes a machines combinatoire P
paralleles
Limitation
priorite
des regles de f (s) le critere considere pour evaluer une solution s S
On cherche une solution s S telle que
f (s ) = minsS f (s)
Algorithmes plus
elabres

Approches pour
resoudre les Hypotheses
problemes
NP-difficiles On suppose quil existe une heuristique permettant de
Methodes constructives
Heuristiques par
voisinage
calculer une borne superieure B du minimum recherche :
Procedures par
evaluation et separation
f (s ) B
Resolution du probleme
1|rj |Lmax On suppose quon peut effectuer une partition
Probleme J||Cmax
{S1 , S2 , . . . , Sk } de S telle que
S1 S2 . . . Sk = S
Si Sj = pour tout i, j {1, . . . , k} et i 6= j
Introduction aux problemes dordonnancement 28 novembre 2005 97 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Enonce du probleme
Problemes a une
machine
Problemes de type
Soit S lensemble des solutions admissibles dun probleme
flowshop
Problemes a machines combinatoire P
paralleles
Limitation
priorite
des regles de f (s) le critere considere pour evaluer une solution s S
On cherche une solution s S telle que
f (s ) = minsS f (s)
Algorithmes plus
elabres

Approches pour
resoudre les Hypotheses
problemes
NP-difficiles On suppose quil existe une heuristique permettant de
Methodes constructives
Heuristiques par
voisinage
calculer une borne superieure B du minimum recherche :
Procedures par
evaluation et separation
f (s ) B
Resolution du probleme
1|rj |Lmax On suppose quon peut effectuer une partition
Probleme J||Cmax
{S1 , S2 , . . . , Sk } de S telle que
S1 S2 . . . Sk = S
Si Sj = pour tout i, j {1, . . . , k} et i 6= j
Introduction aux problemes dordonnancement 28 novembre 2005 97 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Enonce du probleme
Problemes a une
machine
Problemes de type
Soit S lensemble des solutions admissibles dun probleme
flowshop
Problemes a machines combinatoire P
paralleles
Limitation
priorite
des regles de f (s) le critere considere pour evaluer une solution s S
On cherche une solution s S telle que
f (s ) = minsS f (s)
Algorithmes plus
elabres

Approches pour
resoudre les Hypotheses
problemes
NP-difficiles On suppose quil existe une heuristique permettant de
Methodes constructives
Heuristiques par
voisinage
calculer une borne superieure B du minimum recherche :
Procedures par
evaluation et separation
f (s ) B
Resolution du probleme
1|rj |Lmax On suppose quon peut effectuer une partition
Probleme J||Cmax
{S1 , S2 , . . . , Sk } de S telle que
S1 S2 . . . Sk = S
Si Sj = pour tout i, j {1, . . . , k} et i 6= j
Introduction aux problemes dordonnancement 28 novembre 2005 97 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Enonce du probleme
Problemes a une
machine
Problemes de type
Soit S lensemble des solutions admissibles dun probleme
flowshop
Problemes a machines combinatoire P
paralleles
Limitation
priorite
des regles de f (s) le critere considere pour evaluer une solution s S
On cherche une solution s S telle que
f (s ) = minsS f (s)
Algorithmes plus
elabres

Approches pour
resoudre les Hypotheses
problemes
NP-difficiles On suppose quil existe une heuristique permettant de
Methodes constructives
Heuristiques par
voisinage
calculer une borne superieure B du minimum recherche :
Procedures par
evaluation et separation
f (s ) B
Resolution du probleme
1|rj |Lmax On suppose quon peut effectuer une partition
Probleme J||Cmax
{S1 , S2 , . . . , Sk } de S telle que
S1 S2 . . . Sk = S
Si Sj = pour tout i, j {1, . . . , k} et i 6= j
Introduction aux problemes dordonnancement 28 novembre 2005 98 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Hypotheses (suite)
Problemes a une
machine
Problemes
flowshop
de type On suppose quil est possible, pour tout i = 1, . . . , k, de
Problemes
paralleles
a machines
calculer une borne inferieure bi de f (s) sur Si :
Limitation des regles de
priorite s Si , bi f (s)
Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles Si bi > B alors Si ne peut contenir une solution optimale
Methodes constructives
Heuristiques par Abandonner la recherche dans Si
voisinage
Procedures par
evaluation et separation
Si bi B alors Si peut contenir une solution optimale
Resolution du probleme
1|rj |Lmax Continuer la recherche dans Si
Probleme J||Cmax
Si bi = B alors optimum local
Introduction aux problemes dordonnancement 28 novembre 2005 98 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Hypotheses (suite)
Problemes a une
machine
Problemes
flowshop
de type On suppose quil est possible, pour tout i = 1, . . . , k, de
Problemes
paralleles
a machines
calculer une borne inferieure bi de f (s) sur Si :
Limitation des regles de
priorite s Si , bi f (s)
Algorithmes plus
elabres
Quelles conclusions peut-on avoir ?
Approches pour
resoudre les
problemes
NP-difficiles Si bi > B alors Si ne peut contenir une solution optimale
Methodes constructives
Heuristiques par Abandonner la recherche dans Si
voisinage
Procedures par
evaluation et separation
Si bi B alors Si peut contenir une solution optimale
Resolution du probleme
1|rj |Lmax Continuer la recherche dans Si
Probleme J||Cmax
Si bi = B alors optimum local
Introduction aux problemes dordonnancement 28 novembre 2005 98 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Hypotheses (suite)
Problemes a une
machine
Problemes
flowshop
de type On suppose quil est possible, pour tout i = 1, . . . , k, de
Problemes
paralleles
a machines
calculer une borne inferieure bi de f (s) sur Si :
Limitation des regles de
priorite s Si , bi f (s)
Algorithmes plus
elabres
Quelles conclusions peut-on avoir ?
Approches pour
resoudre les
Pour tout i = 1, . . . , k
problemes
NP-difficiles Si bi > B alors Si ne peut contenir une solution optimale
Methodes constructives
Heuristiques par Abandonner la recherche dans Si
voisinage
Procedures par
evaluation et separation
Si bi B alors Si peut contenir une solution optimale
Resolution du probleme
1|rj |Lmax Continuer la recherche dans Si
Probleme J||Cmax
Si bi = B alors optimum local
Introduction aux problemes dordonnancement 28 novembre 2005 98 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Hypotheses (suite)
Problemes a une
machine
Problemes
flowshop
de type On suppose quil est possible, pour tout i = 1, . . . , k, de
Problemes
paralleles
a machines
calculer une borne inferieure bi de f (s) sur Si :
Limitation des regles de
priorite s Si , bi f (s)
Algorithmes plus
elabres
Quelles conclusions peut-on avoir ?
Approches pour
resoudre les
Pour tout i = 1, . . . , k
problemes
NP-difficiles Si bi > B alors Si ne peut contenir une solution optimale
Methodes constructives
Heuristiques par Abandonner la recherche dans Si
voisinage
Procedures par
evaluation et separation
Si bi B alors Si peut contenir une solution optimale
Resolution du probleme
1|rj |Lmax Continuer la recherche dans Si
Probleme J||Cmax
Si bi = B alors optimum local
Introduction aux problemes dordonnancement 28 novembre 2005 98 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Hypotheses (suite)
Problemes a une
machine
Problemes
flowshop
de type On suppose quil est possible, pour tout i = 1, . . . , k, de
Problemes
paralleles
a machines
calculer une borne inferieure bi de f (s) sur Si :
Limitation des regles de
priorite s Si , bi f (s)
Algorithmes plus
elabres
Quelles conclusions peut-on avoir ?
Approches pour
resoudre les
Pour tout i = 1, . . . , k
problemes
NP-difficiles Si bi > B alors Si ne peut contenir une solution optimale
Methodes constructives
Heuristiques par Abandonner la recherche dans Si
voisinage
Procedures par
evaluation et separation
Si bi B alors Si peut contenir une solution optimale
Resolution du probleme
1|rj |Lmax Continuer la recherche dans Si
Probleme J||Cmax
Si bi = B alors optimum local
Introduction aux problemes dordonnancement 28 novembre 2005 99 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite
Problemes a une Continuer la recherche dans Si veut dire quon effectue une
machine
Problemes de type partition de Si en ki sous-ensemble Si,1 , Si,2 , . . . , Si,ki
flowshop
Problemes a machines
paralleles
Limitation des regles de
priorite

Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 99 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite
Problemes a une Continuer la recherche dans Si veut dire quon effectue une
machine
Problemes de type partition de Si en ki sous-ensemble Si,1 , Si,2 , . . . , Si,ki
flowshop
Problemes a machines
paralleles
Limitation
priorite
des regles de
Pour tout j = 1, . . . , ki
Algorithmes plus Si bi,j > B alors Si,j ne peut contenir une solution
elabres
optimale
Approches pour Abandonner la recherche dans Si,j
resoudre les
problemes
NP-difficiles
Si bi,j B alors Si,j peut contenir une solution optimale
Methodes constructives
Heuristiques par
Continuer la recherche dans Si,j
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 99 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite
Problemes a une Continuer la recherche dans Si veut dire quon effectue une
machine
Problemes de type partition de Si en ki sous-ensemble Si,1 , Si,2 , . . . , Si,ki
flowshop
Problemes a machines
paralleles
Limitation
priorite
des regles de
Pour tout j = 1, . . . , ki
Algorithmes plus Si bi,j > B alors Si,j ne peut contenir une solution
elabres
optimale
Approches pour Abandonner la recherche dans Si,j
resoudre les
problemes
NP-difficiles
Si bi,j B alors Si,j peut contenir une solution optimale
Methodes constructives
Heuristiques par
Continuer la recherche dans Si,j
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Si pour tout j = 1, . . . , ki , on a abondonne la recherche dans
Probleme J||Cmax
Si,j , alors ceci veut dire quon abandonne la recherche dans Si
Introduction aux problemes dordonnancement 28 novembre 2005 100 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type
S
Problemes a machines
paralleles
Limitation des regles de b1 B bk > B
priorite b2 > B bi B
Algorithmes plus
elabres S1 S2 Si Sk
Approches pour bi,3 B
bi,1 B
resoudre les bi,2 > B
problemes
NP-difficiles
Methodes constructives
Heuristiques par
Si,1 Si,2 Si,3
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 101 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Schemas devolution de lexploration
Problemes a une
machine
Problemes de type En largeur dabord
flowshop
Problemes
paralleles
a machines
En profondeur dabord
Limitation des regles de
priorite
Meilleur noeud dabord (ex : borne inferieure minimale)
Algorithmes plus
elabres
Borne superieure
Approches pour
resoudre les Si on trouve dans un noeud donne une borne superieure
problemes
NP-difficiles B 0 < B, on remplace B par B 0 dans la suite des calculs
Methodes constructives
Heuristiques par
voisinage
Le calcul de nouvelles bornes est generalement fait au
Procedures par
evaluation et separation niveau des feuilles de larbre de decision
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 101 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Schemas devolution de lexploration
Problemes a une
machine
Problemes de type En largeur dabord
flowshop
Problemes
paralleles
a machines
En profondeur dabord
Limitation des regles de
priorite
Meilleur noeud dabord (ex : borne inferieure minimale)
Algorithmes plus
elabres
Borne superieure
Approches pour
resoudre les Si on trouve dans un noeud donne une borne superieure
problemes
NP-difficiles B 0 < B, on remplace B par B 0 dans la suite des calculs
Methodes constructives
Heuristiques par
voisinage
Le calcul de nouvelles bornes est generalement fait au
Procedures par
evaluation et separation niveau des feuilles de larbre de decision
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 101 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Schemas devolution de lexploration
Problemes a une
machine
Problemes de type En largeur dabord
flowshop
Problemes
paralleles
a machines
En profondeur dabord
Limitation des regles de
priorite
Meilleur noeud dabord (ex : borne inferieure minimale)
Algorithmes plus
elabres
Borne superieure
Approches pour
resoudre les Si on trouve dans un noeud donne une borne superieure
problemes
NP-difficiles B 0 < B, on remplace B par B 0 dans la suite des calculs
Methodes constructives
Heuristiques par
voisinage
Le calcul de nouvelles bornes est generalement fait au
Procedures par
evaluation et separation niveau des feuilles de larbre de decision
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 101 de 117

Plan
Principe des methodes B&B
Algorithmes a base
de regles de priorite Schemas devolution de lexploration
Problemes a une
machine
Problemes de type En largeur dabord
flowshop
Problemes
paralleles
a machines
En profondeur dabord
Limitation des regles de
priorite
Meilleur noeud dabord (ex : borne inferieure minimale)
Algorithmes plus
elabres
Borne superieure
Approches pour
resoudre les Si on trouve dans un noeud donne une borne superieure
problemes
NP-difficiles B 0 < B, on remplace B par B 0 dans la suite des calculs
Methodes constructives
Heuristiques par
voisinage
Le calcul de nouvelles bornes est generalement fait au
Procedures par
evaluation et separation niveau des feuilles de larbre de decision
Resolution du probleme
1|rj |Lmax la borne est la valeur du critere de lordonnancement
Probleme J||Cmax
correspondant a la feuille
Introduction aux problemes dordonnancement 28 novembre 2005 102 de 117

Plan
... En resume
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
Ce qui differencie les approches par evaluation et separation
flowshop
Problemes a machines est :
paralleles
Limitation des regles de
priorite

Algorithmes plus le schema de separation (comment partionner S)


elabres
le schema devolution de lexploration de larbre de
Approches pour
resoudre les decision
problemes
NP-difficiles les methodes de calcul des bornes superieures et inferieures
Methodes constructives
Heuristiques par
voisinage
la frequence de calcul des bornes superieures
Procedures par
evaluation et separation
Resolution du probleme
...
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 103 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Parametres de la methode
Problemes a une
machine
Problemes de type
Schema de separation :
flowshop
Problemes a machines
Si est lensemble des ordonnancements pour lesquels la
paralleles
Limitation des regles de
tache i est placee en premier
priorite
Si,j est lensemble des ordonnancements pour lesquels i
Algorithmes plus est premiere position et j en deuxieme
elabres

Approches pour Schema devolution de lexploration de larbre de decision :
resoudre les
problemes largeur dabord (par exemple)
NP-difficiles
Methodes constructives Borne superieure donnee par lalgorithme de Jackson
Heuristiques par
voisinage non-preemptif (on la met a jour a chaque niveau)
Procedures par
evaluation et separation
Resolution du probleme
Borne inferieure donnee par lalgorithme de Jackson
1|rj |Lmax
Probleme J||Cmax preemptif
On construit des ordonnancements actifs ! !
Introduction aux problemes dordonnancement 28 novembre 2005 104 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite Exemple
Problemes a une
machine
Problemes de type
j 1 2 3 4 5 6 7
flowshop
Problemes a machines
rj 0 9 13 11 20 30 30
paralleles
Limitation des regles de pj 6 7 6 7 4 3 5
priorite
dj 31 41 22 24 27 40 48
Algorithmes plus
elabres
Ordonnancement de Jackson preemptif
25 3 0 1 7 5 7
Approches pour
resoudre les 1 2 4 3 4 5 2 6 2 7
problemes
NP-difficiles
Methodes constructives 0 6 9 13 11 19 24 28 30 33 36 41
Heuristiques par
voisinage Ordonnancement de Jackson non-preemptif
Procedures par 25 25 0 5 6 4 7
evaluation et separation
Resolution du probleme
1|rj |Lmax
1 2 3 4 5 6 7
Probleme J||Cmax

0 6 9 16 22 29 33 36 41
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres

Approches pour
resoudre les
Taches candidates pour la premiere place :
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres
1ere iteration
Approches pour
resoudre les
Taches candidates pour la premiere place :
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres
1ere iteration
Approches pour
resoudre les
Taches candidates pour la premiere place :
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres
1ere iteration
Approches pour
resoudre les
Taches candidates pour la premiere place : J1 seulement
problemes
NP-difficiles
parce quon construit des ordonnancements actifs
Methodes constructives
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres
1ere iteration
Approches pour
resoudre les
Taches candidates pour la premiere place : J1 seulement
problemes
NP-difficiles
parce quon construit des ordonnancements actifs
Methodes constructives S1 = S : on place J1 en premiere position
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres
1ere iteration
Approches pour
resoudre les
Taches candidates pour la premiere place : J1 seulement
problemes
NP-difficiles
parce quon construit des ordonnancements actifs
Methodes constructives S1 = S : on place J1 en premiere position
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 105 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Initialisation
Problemes de type
flowshop
Problemes a machines
t0 0
paralleles
Limitation
priorite
des regles de B0 = 6 et b0 = 1
Algorithmes plus
elabres
1ere iteration
Approches pour
resoudre les
Taches candidates pour la premiere place : J1 seulement
problemes
NP-difficiles
parce quon construit des ordonnancements actifs
Methodes constructives S1 = S : on place J1 en premiere position
Heuristiques par
voisinage
Procedures par b1 = b0 = 1 et B1 = B0 = 6 on poursuit la recherche
evaluation et separation
Resolution du probleme
1|rj |Lmax t1 max(r1 , t0 ) + p1 = 6
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place :
flowshop
Problemes a machines
paralleles
Limitation des regles de
priorite
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les = On a trouve une solution optimale
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les = On a trouve une solution optimale
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les = On a trouve une solution optimale
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 106 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite 2eme iteration
Problemes a une
machine
Problemes de type
Taches candidates pour la deuxieme place : J2 , J3 et J4
flowshop
Problemes a machines (respect du fait quon construit des ordonnancements
paralleles
Limitation
priorite
des regles de actifs)
b1,2 = 6 ; b1,3 = 3 ; b1,4 = 2
Algorithmes plus
elabres B1,2 = B1 = 6 ; B1,3 = 3 ; B1,4 = 2
Approches pour
resoudre les = On a trouve une solution optimale
problemes
NP-difficiles = (1, 4, )
Methodes constructives
Heuristiques par
est la sequence donnee par lalgorithme de Jackson
voisinage
Procedures par
non-preemptif applique sur linstance composee des taches
evaluation et separation
Resolution du probleme
{J2 , J3 , J5 , J6 , J7 } a partir de linstant
1|rj |Lmax
Probleme J||Cmax
t = max(t1 , r4 ) + p4 = 18
= (1, 4, 3, 5, 6, 2, 7)
Introduction aux problemes dordonnancement 28 novembre 2005 107 de 117

Plan
Premiere methode
Algorithmes a base
de regles de priorite
Problemes
machine
a une Arbre de decision
Problemes de type
flowshop b0 = 1
Problemes a machines t=0 source
paralleles B0 = 6
Limitation des regles de
priorite

Algorithmes plus b1 = 1
elabres 1re position t=6 J1 B1 = 6
Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par 2me position J2 J3 J4
voisinage
Procedures par
evaluation et separation b1,2 = 6 b1,3 = 3 b1,4 = 2
Resolution du probleme
1|rj |Lmax B1,2 = 6 B1,3 = 3 B1,4 = 2
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 108 de 117

Plan
Deuxieme methode
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines
paralleles
Limitation des regles de
priorite

Algorithmes plus
elabres Voir feuilles jointes
Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 109 de 117

Plan
Modelisation
Algorithmes a base
de regles de priorite
Problemes a une Jj J1 J2 J3
machine
Problemes de type Oi,j O1,1 O2,1 O3,1 O1,2 O2,2 O3,2 O1,3 O2,3
flowshop
Problemes a machines Mi,j M1 M2 M3 M2 M1 M3 M3 M2
paralleles
Limitation des regles de pi,j 3 2 5 4 2 2 2 3
priorite

3 2
Algorithmes plus
elabres O1,1 O2,1 O3,1
2 4 3 2
0 2 5
Approches pour
resoudre les 2 3 5
problemes
0 4 2 2
NP-difficiles 0 O1,2 O2,2 O3,2 *
Methodes constructives
Heuristiques par 3 2
voisinage
Procedures par 2 3
evaluation et separation 0 5 2
Resolution du probleme 4
1|rj |Lmax O1,3 O2,3
Probleme J||Cmax 2
Introduction aux problemes dordonnancement 28 novembre 2005 110 de 117

Plan
Modelisation
Algorithmes a base
de regles de priorite
Problemes
machine
a une Modelisation avec un graphe disjonctif G = (V, C, D)
Problemes de type
flowshop
Problemes a machines
V ensemble des sommets : les operations
paralleles
Limitation des regles de
C ensemble des arcs conjonctifs : contraintes de
priorite
precedence entre operations dun meme job + arcs dus
Algorithmes plus aux sommets source (0) et puits ()
elabres
D ensemble des arcs disjonctifs : conflits entre les
Approches pour operations utilisant la meme machine
resoudre les
problemes
NP-difficiles
Resoudre le probleme de jobshop consiste a orienter les
Methodes constructives arcs disjonctifs sans creer de circuit
Heuristiques par
voisinage
Procedures par
ordre de passage des taches sur une meme ressource
evaluation et separation
Resolution du probleme
1|rj |Lmax
Le plus long chemin dans le graphe resultant determine la
Probleme J||Cmax
duree totale de lordonnancement
Introduction aux problemes dordonnancement 28 novembre 2005 110 de 117

Plan
Modelisation
Algorithmes a base
de regles de priorite
Problemes
machine
a une Modelisation avec un graphe disjonctif G = (V, C, D)
Problemes de type
flowshop
Problemes a machines
V ensemble des sommets : les operations
paralleles
Limitation des regles de
C ensemble des arcs conjonctifs : contraintes de
priorite
precedence entre operations dun meme job + arcs dus
Algorithmes plus aux sommets source (0) et puits ()
elabres
D ensemble des arcs disjonctifs : conflits entre les
Approches pour operations utilisant la meme machine
resoudre les
problemes
NP-difficiles
Resoudre le probleme de jobshop consiste a orienter les
Methodes constructives arcs disjonctifs sans creer de circuit
Heuristiques par
voisinage
Procedures par
ordre de passage des taches sur une meme ressource
evaluation et separation
Resolution du probleme
1|rj |Lmax
Le plus long chemin dans le graphe resultant determine la
Probleme J||Cmax
duree totale de lordonnancement
Introduction aux problemes dordonnancement 28 novembre 2005 110 de 117

Plan
Modelisation
Algorithmes a base
de regles de priorite
Problemes
machine
a une Modelisation avec un graphe disjonctif G = (V, C, D)
Problemes de type
flowshop
Problemes a machines
V ensemble des sommets : les operations
paralleles
Limitation des regles de
C ensemble des arcs conjonctifs : contraintes de
priorite
precedence entre operations dun meme job + arcs dus
Algorithmes plus aux sommets source (0) et puits ()
elabres
D ensemble des arcs disjonctifs : conflits entre les
Approches pour operations utilisant la meme machine
resoudre les
problemes
NP-difficiles
Resoudre le probleme de jobshop consiste a orienter les
Methodes constructives arcs disjonctifs sans creer de circuit
Heuristiques par
voisinage
Procedures par
ordre de passage des taches sur une meme ressource
evaluation et separation
Resolution du probleme
1|rj |Lmax
Le plus long chemin dans le graphe resultant determine la
Probleme J||Cmax
duree totale de lordonnancement
Introduction aux problemes dordonnancement 28 novembre 2005 111 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines A un ordonnancement partiel (ou complet) S est associe
paralleles
Limitation
priorite
des regles de un graphe GS = (V, CS , DS )
Algorithmes plus
elabres CS = C CD(S), CD(S) est lensemble des arcs qui
Approches pour
remplacent certains arcs de D (selon S)
resoudre les
problemes
NP-difficiles DS = D DC(S), DC(S) est lensemble des arcs qui ont
Methodes constructives
Heuristiques par
ete arbitres (remplaces par les arcs conjonctifs CD(S))
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 111 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines A un ordonnancement partiel (ou complet) S est associe
paralleles
Limitation
priorite
des regles de un graphe GS = (V, CS , DS )
Algorithmes plus
elabres CS = C CD(S), CD(S) est lensemble des arcs qui
Approches pour
remplacent certains arcs de D (selon S)
resoudre les
problemes
NP-difficiles DS = D DC(S), DC(S) est lensemble des arcs qui ont
Methodes constructives
Heuristiques par
ete arbitres (remplaces par les arcs conjonctifs CD(S))
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 111 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes a machines A un ordonnancement partiel (ou complet) S est associe
paralleles
Limitation
priorite
des regles de un graphe GS = (V, CS , DS )
Algorithmes plus
elabres CS = C CD(S), CD(S) est lensemble des arcs qui
Approches pour
remplacent certains arcs de D (selon S)
resoudre les
problemes
NP-difficiles DS = D DC(S), DC(S) est lensemble des arcs qui ont
Methodes constructives
Heuristiques par
ete arbitres (remplaces par les arcs conjonctifs CD(S))
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 112 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Supposons que les ordres de passage ont ete decides sur
Problemes de type
flowshop un sous ensemble de machines M {M1 , M2 , . . . , Mm }
Problemes a machines
paralleles
Limitation des regles de On note D(k) lensemble
Sm des arcs disjonctifs dues a la
priorite
machine Mk : D = k=1 D(k)
Algorithmes plus On note C(k) lensemble des arcs conjonctifs qui
elabres
remplacent les arcs disjonctifs D(k) de la machine Mk
Approches pour (pour la solution partielle courante)
resoudre les
problemes Le graphe disjonctif correspondant est note
NP-difficiles G(M) = (V, C(M), D(M)) avec
Methodes constructives
Heuristiques par
voisinage [ [
Procedures par
evaluation et separation
C(M) = C(k) et D(M) = D(k)
Resolution du probleme kM kM
/
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 112 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Supposons que les ordres de passage ont ete decides sur
Problemes de type
flowshop un sous ensemble de machines M {M1 , M2 , . . . , Mm }
Problemes a machines
paralleles
Limitation des regles de On note D(k) lensemble
Sm des arcs disjonctifs dues a la
priorite
machine Mk : D = k=1 D(k)
Algorithmes plus On note C(k) lensemble des arcs conjonctifs qui
elabres
remplacent les arcs disjonctifs D(k) de la machine Mk
Approches pour (pour la solution partielle courante)
resoudre les
problemes Le graphe disjonctif correspondant est note
NP-difficiles G(M) = (V, C(M), D(M)) avec
Methodes constructives
Heuristiques par
voisinage [ [
Procedures par
evaluation et separation
C(M) = C(k) et D(M) = D(k)
Resolution du probleme kM kM
/
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 112 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Supposons que les ordres de passage ont ete decides sur
Problemes de type
flowshop un sous ensemble de machines M {M1 , M2 , . . . , Mm }
Problemes a machines
paralleles
Limitation des regles de On note D(k) lensemble
Sm des arcs disjonctifs dues a la
priorite
machine Mk : D = k=1 D(k)
Algorithmes plus On note C(k) lensemble des arcs conjonctifs qui
elabres
remplacent les arcs disjonctifs D(k) de la machine Mk
Approches pour (pour la solution partielle courante)
resoudre les
problemes Le graphe disjonctif correspondant est note
NP-difficiles G(M) = (V, C(M), D(M)) avec
Methodes constructives
Heuristiques par
voisinage [ [
Procedures par
evaluation et separation
C(M) = C(k) et D(M) = D(k)
Resolution du probleme kM kM
/
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 112 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes
machine
a une
Supposons que les ordres de passage ont ete decides sur
Problemes de type
flowshop un sous ensemble de machines M {M1 , M2 , . . . , Mm }
Problemes a machines
paralleles
Limitation des regles de On note D(k) lensemble
Sm des arcs disjonctifs dues a la
priorite
machine Mk : D = k=1 D(k)
Algorithmes plus On note C(k) lensemble des arcs conjonctifs qui
elabres
remplacent les arcs disjonctifs D(k) de la machine Mk
Approches pour (pour la solution partielle courante)
resoudre les
problemes Le graphe disjonctif correspondant est note
NP-difficiles G(M) = (V, C(M), D(M)) avec
Methodes constructives
Heuristiques par
voisinage [ [
Procedures par
evaluation et separation
C(M) = C(k) et D(M) = D(k)
Resolution du probleme kM kM
/
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 113 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type Principe : La Methode de shifting bottelneck consiste a
Problemes
paralleles
a machines
augmenter lensemble M progressivement jusqua ordonnancer
Limitation des regles de
priorite toutes les machines
Algorithmes plus
elabres
1 Dans quel ordre les machines sont introduites dans M ?
Approches pour
resoudre les
problemes
NP-difficiles 2 Comment ordonnancer une machine selectionnee ?
Methodes constructives
Heuristiques par
voisinage
Quel probleme dordonnancement considerer sur une
Procedures par
evaluation et separation
machine selectionnee ?
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 113 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type Principe : La Methode de shifting bottelneck consiste a
Problemes
paralleles
a machines
augmenter lensemble M progressivement jusqua ordonnancer
Limitation des regles de
priorite toutes les machines
Algorithmes plus
elabres
1 Dans quel ordre les machines sont introduites dans M ?
Approches pour
resoudre les
problemes
NP-difficiles 2 Comment ordonnancer une machine selectionnee ?
Methodes constructives
Heuristiques par
voisinage
Quel probleme dordonnancement considerer sur une
Procedures par
evaluation et separation
machine selectionnee ?
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 113 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes
flowshop
de type Principe : La Methode de shifting bottelneck consiste a
Problemes
paralleles
a machines
augmenter lensemble M progressivement jusqua ordonnancer
Limitation des regles de
priorite toutes les machines
Algorithmes plus
elabres
1 Dans quel ordre les machines sont introduites dans M ?
Approches pour
resoudre les
problemes
NP-difficiles 2 Comment ordonnancer une machine selectionnee ?
Methodes constructives
Heuristiques par
voisinage
Quel probleme dordonnancement considerer sur une
Procedures par
evaluation et separation
machine selectionnee ?
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 114 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
1 Dans quel ordre les machines sont introduites dans M ?
machine
Problemes de type On suppose quun certain nombre de decisions ont ete
flowshop
Problemes a machines prises, i.e., M fixe
paralleles
Limitation des regles de On construit un probleme dordonnancement P (k, M)
priorite
pour chaque machine Mk /M
Algorithmes plus On resout chaque probleme de facon a optimiser une
elabres
fonction objectif f (k, M)
Approches pour On choisit la machine Mk telle que
resoudre les
problemes
NP-difficiles
f (k , M) = max f (k, M)
Mk M
/
Methodes constructives
Heuristiques par
voisinage Lordonnancement partiel correspond au graphe
Procedures par
evaluation et separation
Resolution du probleme G(M) = (V, C(M) C(k ), D(M) D(k ))
1|rj |Lmax
Probleme J||Cmax
C(k ) est lensemble des arcs dus a la solution optimale de
la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 114 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
1 Dans quel ordre les machines sont introduites dans M ?
machine
Problemes de type On suppose quun certain nombre de decisions ont ete
flowshop
Problemes a machines prises, i.e., M fixe
paralleles
Limitation des regles de On construit un probleme dordonnancement P (k, M)
priorite
pour chaque machine Mk /M
Algorithmes plus On resout chaque probleme de facon a optimiser une
elabres
fonction objectif f (k, M)
Approches pour On choisit la machine Mk telle que
resoudre les
problemes
NP-difficiles
f (k , M) = max f (k, M)
Mk M
/
Methodes constructives
Heuristiques par
voisinage Lordonnancement partiel correspond au graphe
Procedures par
evaluation et separation
Resolution du probleme G(M) = (V, C(M) C(k ), D(M) D(k ))
1|rj |Lmax
Probleme J||Cmax
C(k ) est lensemble des arcs dus a la solution optimale de
la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 114 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
1 Dans quel ordre les machines sont introduites dans M ?
machine
Problemes de type On suppose quun certain nombre de decisions ont ete
flowshop
Problemes a machines prises, i.e., M fixe
paralleles
Limitation des regles de On construit un probleme dordonnancement P (k, M)
priorite
pour chaque machine Mk /M
Algorithmes plus On resout chaque probleme de facon a optimiser une
elabres
fonction objectif f (k, M)
Approches pour On choisit la machine Mk telle que
resoudre les
problemes
NP-difficiles
f (k , M) = max f (k, M)
Mk M
/
Methodes constructives
Heuristiques par
voisinage Lordonnancement partiel correspond au graphe
Procedures par
evaluation et separation
Resolution du probleme G(M) = (V, C(M) C(k ), D(M) D(k ))
1|rj |Lmax
Probleme J||Cmax
C(k ) est lensemble des arcs dus a la solution optimale de
la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 114 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
1 Dans quel ordre les machines sont introduites dans M ?
machine
Problemes de type On suppose quun certain nombre de decisions ont ete
flowshop
Problemes a machines prises, i.e., M fixe
paralleles
Limitation des regles de On construit un probleme dordonnancement P (k, M)
priorite
pour chaque machine Mk /M
Algorithmes plus On resout chaque probleme de facon a optimiser une
elabres
fonction objectif f (k, M)
Approches pour On choisit la machine Mk telle que
resoudre les
problemes
NP-difficiles
f (k , M) = max f (k, M)
Mk M
/
Methodes constructives
Heuristiques par
voisinage Lordonnancement partiel correspond au graphe
Procedures par
evaluation et separation
Resolution du probleme G(M) = (V, C(M) C(k ), D(M) D(k ))
1|rj |Lmax
Probleme J||Cmax
C(k ) est lensemble des arcs dus a la solution optimale de
la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 114 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
1 Dans quel ordre les machines sont introduites dans M ?
machine
Problemes de type On suppose quun certain nombre de decisions ont ete
flowshop
Problemes a machines prises, i.e., M fixe
paralleles
Limitation des regles de On construit un probleme dordonnancement P (k, M)
priorite
pour chaque machine Mk /M
Algorithmes plus On resout chaque probleme de facon a optimiser une
elabres
fonction objectif f (k, M)
Approches pour On choisit la machine Mk telle que
resoudre les
problemes
NP-difficiles
f (k , M) = max f (k, M)
Mk M
/
Methodes constructives
Heuristiques par
voisinage Lordonnancement partiel correspond au graphe
Procedures par
evaluation et separation
Resolution du probleme G(M) = (V, C(M) C(k ), D(M) D(k ))
1|rj |Lmax
Probleme J||Cmax
C(k ) est lensemble des arcs dus a la solution optimale de
la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 114 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
1 Dans quel ordre les machines sont introduites dans M ?
machine
Problemes de type On suppose quun certain nombre de decisions ont ete
flowshop
Problemes a machines prises, i.e., M fixe
paralleles
Limitation des regles de On construit un probleme dordonnancement P (k, M)
priorite
pour chaque machine Mk /M
Algorithmes plus On resout chaque probleme de facon a optimiser une
elabres
fonction objectif f (k, M)
Approches pour On choisit la machine Mk telle que
resoudre les
problemes
NP-difficiles
f (k , M) = max f (k, M)
Mk M
/
Methodes constructives
Heuristiques par
voisinage Lordonnancement partiel correspond au graphe
Procedures par
evaluation et separation
Resolution du probleme G(M) = (V, C(M) C(k ), D(M) D(k ))
1|rj |Lmax
Probleme J||Cmax
C(k ) est lensemble des arcs dus a la solution optimale de
la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 115 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine 1 Dans quel ordre les machines ... ?
Problemes de type
flowshop
Problemes a machines 2 Quel probleme dordonnancement P (k, M) ?
paralleles
Limitation des regles de
priorite L(i, j) plus long chemin du sommet i au sommet j dans le
graphe G(M) = (V, C(M), D(M))
Algorithmes plus
elabres ri = L(0, i) date de debut au plus tot de loperation
representee par le sommet i (qui sexecute sur la machine
Approches pour
resoudre les Mk )
problemes
NP-difficiles
di = L(0, ) L(i, ) + pi est la date de fin au plus tard
Methodes constructives de loperation representee par i
Heuristiques par
voisinage Critere : minimiser le retard algebrique Lmax pour la
Procedures par
evaluation et separation machine Mk sachant que les machines appartenant a M
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
ont ete deja ordonnancees
Introduction aux problemes dordonnancement 28 novembre 2005 115 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine 1 Dans quel ordre les machines ... ?
Problemes de type
flowshop
Problemes a machines 2 Quel probleme dordonnancement P (k, M) ?
paralleles
Limitation des regles de
priorite L(i, j) plus long chemin du sommet i au sommet j dans le
graphe G(M) = (V, C(M), D(M))
Algorithmes plus
elabres ri = L(0, i) date de debut au plus tot de loperation
representee par le sommet i (qui sexecute sur la machine
Approches pour
resoudre les Mk )
problemes
NP-difficiles
di = L(0, ) L(i, ) + pi est la date de fin au plus tard
Methodes constructives de loperation representee par i
Heuristiques par
voisinage Critere : minimiser le retard algebrique Lmax pour la
Procedures par
evaluation et separation machine Mk sachant que les machines appartenant a M
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
ont ete deja ordonnancees
Introduction aux problemes dordonnancement 28 novembre 2005 115 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine 1 Dans quel ordre les machines ... ?
Problemes de type
flowshop
Problemes a machines 2 Quel probleme dordonnancement P (k, M) ?
paralleles
Limitation des regles de
priorite L(i, j) plus long chemin du sommet i au sommet j dans le
graphe G(M) = (V, C(M), D(M))
Algorithmes plus
elabres ri = L(0, i) date de debut au plus tot de loperation
representee par le sommet i (qui sexecute sur la machine
Approches pour
resoudre les Mk )
problemes
NP-difficiles
di = L(0, ) L(i, ) + pi est la date de fin au plus tard
Methodes constructives de loperation representee par i
Heuristiques par
voisinage Critere : minimiser le retard algebrique Lmax pour la
Procedures par
evaluation et separation machine Mk sachant que les machines appartenant a M
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
ont ete deja ordonnancees
Introduction aux problemes dordonnancement 28 novembre 2005 115 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine 1 Dans quel ordre les machines ... ?
Problemes de type
flowshop
Problemes a machines 2 Quel probleme dordonnancement P (k, M) ?
paralleles
Limitation des regles de
priorite L(i, j) plus long chemin du sommet i au sommet j dans le
graphe G(M) = (V, C(M), D(M))
Algorithmes plus
elabres ri = L(0, i) date de debut au plus tot de loperation
representee par le sommet i (qui sexecute sur la machine
Approches pour
resoudre les Mk )
problemes
NP-difficiles
di = L(0, ) L(i, ) + pi est la date de fin au plus tard
Methodes constructives de loperation representee par i
Heuristiques par
voisinage Critere : minimiser le retard algebrique Lmax pour la
Procedures par
evaluation et separation machine Mk sachant que les machines appartenant a M
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
ont ete deja ordonnancees
Introduction aux problemes dordonnancement 28 novembre 2005 115 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine 1 Dans quel ordre les machines ... ?
Problemes de type
flowshop
Problemes a machines 2 Quel probleme dordonnancement P (k, M) ?
paralleles
Limitation des regles de
priorite L(i, j) plus long chemin du sommet i au sommet j dans le
graphe G(M) = (V, C(M), D(M))
Algorithmes plus
elabres ri = L(0, i) date de debut au plus tot de loperation
representee par le sommet i (qui sexecute sur la machine
Approches pour
resoudre les Mk )
problemes
NP-difficiles
di = L(0, ) L(i, ) + pi est la date de fin au plus tard
Methodes constructives de loperation representee par i
Heuristiques par
voisinage Critere : minimiser le retard algebrique Lmax pour la
Procedures par
evaluation et separation machine Mk sachant que les machines appartenant a M
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
ont ete deja ordonnancees
Introduction aux problemes dordonnancement 28 novembre 2005 116 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une Pourquoi ce probleme ?
machine
Problemes de type
flowshop
Problemes a machines
paralleles
Limitation des regles de
priorite

Algorithmes plus
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 116 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une Pourquoi ce probleme ?
machine
Problemes
flowshop
de type
Si les machines nappartenant pas a M pouvaient
Problemes a machines
paralleles
Limitation des regles de
executer une infinite doperations a la fois, L(0, ) serait le
priorite
makespan, etant donne lordre de passage des operations
Algorithmes plus sur les machines apparatenant a M
elabres

Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 116 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une Pourquoi ce probleme ?
machine
Problemes
flowshop
de type
Si les machines nappartenant pas a M pouvaient
Problemes a machines
paralleles
Limitation des regles de
executer une infinite doperations a la fois, L(0, ) serait le
priorite
makespan, etant donne lordre de passage des operations
Algorithmes plus sur les machines apparatenant a M
elabres
L(0, i) est bien la date de debut au plus tot de i
Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 116 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une Pourquoi ce probleme ?
machine
Problemes
flowshop
de type
Si les machines nappartenant pas a M pouvaient
Problemes a machines
paralleles
Limitation des regles de
executer une infinite doperations a la fois, L(0, ) serait le
priorite
makespan, etant donne lordre de passage des operations
Algorithmes plus sur les machines apparatenant a M
elabres
L(0, i) est bien la date de debut au plus tot de i
Approches pour
resoudre les
L(i, ) pi est bien le temps necessaire pour atteindre
problemes
NP-difficiles
lorsque i est terminee
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 116 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une Pourquoi ce probleme ?
machine
Problemes
flowshop
de type
Si les machines nappartenant pas a M pouvaient
Problemes a machines
paralleles
Limitation des regles de
executer une infinite doperations a la fois, L(0, ) serait le
priorite
makespan, etant donne lordre de passage des operations
Algorithmes plus sur les machines apparatenant a M
elabres
L(0, i) est bien la date de debut au plus tot de i
Approches pour
resoudre les
L(i, ) pi est bien le temps necessaire pour atteindre
problemes
NP-difficiles
lorsque i est terminee
Methodes constructives pour ne pas augmenter le makespan, il faut finir i
Heuristiques par
voisinage
Procedures par
avant L(0, ) L(i, ) + pi , sinon le makespan augmente
evaluation et separation
Resolution du probleme au moins dune quantite egale au retard du a
1|rj |Lmax
Probleme J||Cmax lintroduction de la machine Mk
Introduction aux problemes dordonnancement 28 novembre 2005 117 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines Raffinement
Limitation
priorite
des regles de A chaque fois quon introduit une nouvelle machine k dans
M, on resout les problemes P (k, M {k}) pour effectuer une
Algorithmes plus
elabres optimisation locale
Approches pour
resoudre les
problemes
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 117 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines Raffinement
Limitation
priorite
des regles de A chaque fois quon introduit une nouvelle machine k dans
M, on resout les problemes P (k, M {k}) pour effectuer une
Algorithmes plus
elabres optimisation locale
Approches pour
resoudre les
problemes
Pourquoi ?
NP-difficiles
Methodes constructives
Heuristiques par
voisinage
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax
Introduction aux problemes dordonnancement 28 novembre 2005 117 de 117

Plan
Methode de shifting bottelneck
Algorithmes a base
de regles de priorite
Problemes a une
machine
Problemes de type
flowshop
Problemes
paralleles
a machines Raffinement
Limitation
priorite
des regles de A chaque fois quon introduit une nouvelle machine k dans
M, on resout les problemes P (k, M {k}) pour effectuer une
Algorithmes plus
elabres optimisation locale
Approches pour
resoudre les
problemes
Pourquoi ?
NP-difficiles Le probleme P (k, M {k}) est different du probleme
Methodes constructives
Heuristiques par
voisinage
P (k, M {k } {k})
Procedures par
evaluation et separation
Resolution du probleme
1|rj |Lmax
Probleme J||Cmax