Introduction au MRP en planification de production
Introduction au MRP en planification de production
Pour effectuer ce calcul, il convient de commencer par les articles achets pour remonter
progressivement les niveaux de nomenclature jusqu'aux produits finis.
Dans notre exemple, les articles BR et FA utilisent le composant PL qui est achet et dont le
cot unitaire d'achat est gal 9 euros (
c
PL
= 9). On suppose que le cot de l'atelier d'usinage
par semaine est de 700 euros (
m
US
= 700). Le fichier gamme indique
t
US,BR
=0.003 et
t
US,FA
=0.007. On a
P(BR) = P(FA) = PL et
l
PL,BR
=1; l
PL,FA
=8. Ce qui donne
c
BR
= 700 0.003+19 =11.1 et
c
FA
= 700 0.007+8 9 = 76.9, ce qui n'est pas surprenant
compte tenu du fait que la FACE est plus labore que la BRANCHE. On va donc anticiper la
production de l'article le moins cher stocker, savoir l'article BR.
A la priode 6, le dficit de capacit est de 3.04 jours (ce qui reprsente 3.04/0.003=1013
units retrancher du dbut d'ordre en BR la priode 6, soit 1160-1013=147). CE dficit
peut tre combl en utilisant l'excdent de capacit de 2.55 jours en priode 4, ce qui
reprsente 2.55/0.003=850 units de plus produire que prvu initialement ; le dbut d'ordre
corrig en priode 4 est alors de 300+850=1150. Le complment, savoir 3.04-2.55=0.49
peut tre combl en utilisant l'excdent de capacit la priode 3 (excdent gal 1.64), ce
qui reprsente 0.49/0.003=163 units de plus produire en priode 3.
A la priode 5, le dficit est de 0.7 ce qui reprsente 0.7/0.003=233 units retrancher du
dbut d'ordre initialement prvu (soit 800-233=567). Ce dficit peut tre combl en utilisant
la capacit excdentaire de la priode 3 qui est dsormais gale 1.64-0.49=1.15. Tout peut
donc se rattraper en priode 3 puisque la capacit excdentaire restante (1.15) est suprieure
0.7. On produire en plus la priode 3 ces 233 units. Le dbut d'ordre corrig de la priode 3
est finalement gal 440+163+233=836. La figure 12 fournit un rsum des oprations (on
s'arrte la priode 6 au del de laquelle les dbuts d'ordre de fabrication sont nuls).
Figure 12. Ajustement charge - capacit sur le poste usinage
17
4.2 Ajustement par adaptation de la capacit
On peut envisager le recours du travail temporaire pour accrotre momentanment la
capacit de production (soit par l'embauche d'intrimaire, soit par le transfert de personnel
entre units productives si les centres de production sont quips pour accueillir un travailleur
supplmentaire).
L'embauche d'un intrimaire doit tre conomiquement plus rentable que la solution de
l'ajustement par les stocks. Dans notre exemple, cela revient comparer le cot associ
l'embauche d'un travailleur temporaire pour 3.74 jours au cot de stockage de la production
qu'on est oblig d'anticiper. En prenant
o =0.01, le cot de stockage de cette production
anticipe est de
0.0111.1(850 2+163 3+2332) =294.705. Pour que l'embauche
d'un temporaire constitue une meilleure option, il faudrait que son cot journalier soit
infrieur 294.705/3.74=78.8 euros, ce qui est impossible.
5. Rgles d'approvisionnement (lotissement)
Jusqu' prsent nous avons considr une seule rgle d'approvisionnement, le lot pour lot
qui consiste s'approvisionner d'un montant gal aux besoins nets chaque priode.
L'algorithme de Wagner-Whitin (1958) utilise la programmation dynamique pour optimiser
les lots d'un article considr isolment (sous-section 5.1). Il existe galement des mthodes
dites heuristiques, plus simples, qui ne garantissent pas l'obtention d'une solution optimale.
Nous prsentons deux d'entre elles dans une deuxime sous-section. On adopte au pralable
les notations suivantes.
S : cot fixe de lancement ;
h : cot de stockage par unit et par priode ;
D
t,k
= d
j
j =t
k
, o
H(D
t,k
) est le cot de stockage associ au lot
x
t
= D
t,k
.
On considre l'chancier suivant de besoins bruts et l'on suppose
S =1.668 et
h =0.0042.
Pour simplifier, les rceptions prvues et le stock initial sont supposs nuls de sorte que les
besoins nets correspondent aux besoins bruts.
Priode 1 2 3 4 5 6
d
t
(besoins
bruts)
46 30 82 90 56 17
5.1 L'algorithme de Wagner-Whitin (WW)
L'algorithme permet d'obtenir la solution optimale au problme de minimisation des cots
d'approvisionnement sur un horizon donn, sous contrainte de satisfaction de la demande
(besoins nets). Formellement, le problme s'crit
min
x
1
,K ,x
T
Sy
t
+ hI
t
t =1
T
,
sous les contraintes
18
I
t
= I
t 1
+ x
t
d
t
I
T
= 0
x
t
eN
y
t
=
1si x
t
> 0
0 sinon
Comme la fonction de cot est concave, on montre qu'un approvisionnement optimal couvre
toujours un nombre entier de demandes futures. Wagner et Within proposent une mthode de
rsolution du problme par la programmation dynamique. Le principe est le suivant : une
politique optimale est ncessairement compose de sous-politiques optimales.
Soit
F(t)
, le cot de la politique optimale pour les priodes
1,2,K ,t
. Ce cot s'crit :
F(t) = min
k=0,K ,t 1
S + H(D
k+1,t
) + F(k)
{ }
, avec
F(0) =0
. Ainsi, le cot de la politique optimale
pour les priodes
1,2,K ,t
s'obtient en comparant les cots associs aux alternatives suivantes.
- Couvrir les demandes des priodes 1
t
par un approvisionnement la premire priode
- Couvrir les demandes des priodes 2
t
par un approvisionnement la priode 2 et
adopter la politique optimale pour la priode 1
- Couvrir les demandes des priodes 3
t
par un approvisionnement la priode 3 et
adopter la politique optimale pour les priodes 1 et 2, etc.
L'application de l'algorithme notre exemple est faite la figure 13.
Figure 13. Application de WW
19
Dtaillons ce qui se passe la priode
t = 3. On a
F(3) = min
k=0,K ,2
S + H(D
k+1,3
) + F(k)
{ }
, soit
F(3) = min
k=0,K ,2
S + H(D
1,3
) + F(0);S + H(D
2,3
) + F(1);S + H(D
3,3
) + F(2)
{ }
. La premire
possibilit consiste placer un lot unique la priode 1 permettant de couvrir les demandes
des 3 priodes et adopter la politique optimale en 0. Le cot de cette option est donc gal
S +H(D
1,3
) +F(0), avec
S =1.668 puisqu'il n'y a qu'un seul lancement,
H(D
1,3
) =0.0042 (30 1+82 2) =0.8148 et
F(0) =0. Le cot total associ cette option
est donc gal 2.4828. La deuxime possibilit consiste s'approvisionner en priode 2 d'un
lot couvrant les demandes des priodes 2 et 3 et adopter la politique qui tait optimale
lorsqu'on ne considrait qu'une seule priode de demande (dans ce cas l, pas beaucoup de
choix, il s'agit d'un lot la priode 1 couvrant les besoins de cette priode). Enfin, la troisime
possibilit est de s'approvisionner la priode 3 pour couvrir la demande de cette priode et
adopter la politique optimale pour les 2 premires priodes. Cette politique consistait
s'approvisionner la priode 1 pour couvrir les demandes des priodes 1 et 2, pour un cot
gal
F(2) =1.794. Finalement, quand on arrive la priode 6, on obtient la solution
optimale qui consiste s'approvisionner aux 1 et 3.
5.2 La mthode du moindre cot unitaire ou Least Unit Cost (LUC)
La mthode LUC consiste choisir le lot
x
t
= D
t,k
vrifiant la condition
C(D
t,k
)
D
t,k
<
C(D
t,k+1
)
D
t,k+1
pour
t s k sT.
L'application de la mthode notre exemple est faite la figure 14 o l'on donne la
dernire colonne le cot moyen par demande. On slectionne le lot qui minimise ce cot
moyen. On obtient
x
1
= D
1,4
= 248 et l'on a
x
2
= x
3
=0. On itre la procdure pour la priode
d'approvisionnement suivante, savoir la priode 5. On obtient finalement des lots aux
priodes 1 et 5 pour un cot total qu'on peut lire la Figure 13, savoir 5.3562.
Figure 14. Application de la mthode LUC
5.3 La mthode de Silver-Meal
Cette mthode procde de la mme logique que la prcdente sauf qu'il s'agit ici de
minimiser le cot moyen par priode, pour les priodes que le lot permet de couvrir.
Formellement, il s'agit de choisir le lot choisir le lot
x
t
= D
t,k
vrifiant la condition
20
C(D
t,k
)
k (t 1)
<
C(D
t,k+1
)
k +1(t 1)
pour
t s k sT, o
k (t 1) est le nombre de priodes que l'on peut
couvrir avec le lot
x
t
= D
t,k
.
L'application de la mthode notre exemple consiste est faite la figure 15. La demande
cumule
D
1,3
vrifie la condition recherche, on choisit donc
x
1
= D
1,3
=158 et l'on a
x
2
= x
3
=0. On itre la procdure pour la priode d'approvisionnement suivante, savoir la
priode 4.
Figure 15. Application de l'heuristique de Silver-Meal
6. Planification en horizon glissant
En horizon glissant, on suppose que la demande est connue avec certitude sur un nombre
limit de priodes appel fentre de prvision que l'on note
W. Si
t dsigne la priode
courante, alors on va appliquer une technique d'approvisionnement donne aux demandes des
priodes
t,K ,t +W 1 et obtenir un chancier de lots sur cette fentre. Mais seul
l'approvisionnement de la priode courante sera mis en oeuvre. A la priode courante
suivante, savoir
t +1, on connat les demandes des priodes
t +1
t,K ,t +W sur lesquelles
on applique nouveau la technique d'approvisionnement choisie. On connat donc une
demande supplmentaire, celle de la priode
t +W et il se peut alors que l'chancier de lots
diffre de celui obtenu la priode prcdente. A nouveau, seul l'approvisionnement de la
priode courante est lanc.
Pour illustrer le raisonnement, on considre toujours le mme exemple que prcdemment
et l'on suppose que la fentre de prvision est de 3 priodes, de sorte qu' la priode courante
1, on connat seulement les demandes des priodes 1 3. Supposons que la technique
d'approvisionnement retenue soit l'algorithme de Wagner-Whitin. La Figure 16 illustre la
procdure de calcul des lots en horizon glissant.
L'application de WW aux 3 premires demandes conduit un chancier de lots gal
(158,0,0). On implmente le lot de la priode courante, savoir 158. A la priode courante
suivante, c'est dire la priode 2, la demande de la priode 4 est rvle. On recalcule les
besoins nets sur la fentre de prvision et on obtient (0,0,90) pour ces besoins nets aux
priodes 2 4. L'application de WW suggre des lots identiques ces besoins nets mais seul
le lot de la priode courante est implment, savoir 0. A la priode courante 3, la demande
de la priode 5 est rvle. On recalcule les besoins nets sur la fentre (priodes 3 5) et on
applique WW. On obtient l'chancier de lots (0,146,0). Seul le lot de la priode 3 est
implment, savoir 0. Le principe demeure le mme la priode 4 ou WW suggre un
approvisionnement de 163 units qui est mis en oeuvre. Notons qu'en raison de la rvlation
d'une demande supplmentaire chaque priode, les lots suggrs par WW peuvent changer,
ce qui est le cas du lot de la priode 4, qui prend successivement les valeurs de 90 units puis
146 puis 163 units. Si l'on stoppe artificiellement l'horizon 6 priodes et que l'on calcule le
cot total sur cet horizon, on constate que ce cot, 4.5288, diffre du cot que l'on obtient
21
lorsqu'on applique WW l'ensemble des 6 demandes (voir Figure 13) et qui s'lve 4.5246.
Il existe donc une perte d'optimalit en horizon glissant li au fait que les demandes ne sont
rvles que progressivement et que des dcisions d'approvisionnement sont fixes avant que
toute la demande soit connue.
Figure 16. Planification en horizon glissant
7. MRP et gestion des stocks multi-chelon
Il existe essentiellement deux catgories de politiques classiques de gestion des stocks : les
politiques rvision continue et les politiques rvision priodique.
Une politique rvision continue suppose que le dcideur connat l'tat exact des stocks
pour passer des commandes tout moment. Dans les politiques rvision priodique, au
contraire, les stocks ne sont valus qu' intervalles rguliers et les commandes sont passes
des moments prcis.
Ces politiques traditionnelles de gestion des stocks ne permettent pas de grer de faon
satisfaisante les stocks multi-chelon, pour deux raisons essentielles. Ces politiques supposent
en effet que les diffrentes rfrences peuvent tre gres indpendamment parce que les
demandes sont indpendantes. En outre, elles s'appliquent la gestion d'articles dont la
demande est relativement stationnaire.
22
7.1 Gestion de stocks d'articles demande dpendante
Une gestion indpendante des stocks multi-chelon serait lourde de consquences en terme
de probabilit de rupture de stock. A titre d'illustration, imaginons que l'on accepte une
probabilit de rupture de 5%, pour chacun des stocks de composants qui entrent dans la
fabrication des lunettes. La probabilit pour que ces 7 composants soient disponibles
simultanment est gale
0,95
7
~ 0,70. Autrement dit, il n'y a que 70% de chance de pouvoir
assembler les lunettes. En revanche, le principe mme de la mthode MRP implique que les
besoins nets en composants sont dtermins suffisamment l'avance, pour qu'une rupture de
stock ne puisse pas se produire.
7.2 Irrgularit de la demande
Les modles de gestion point de commande sont satisfaisants pour la gestion du stock des
articles dont la demande est stationnaire. Dans le cas des stocks multi-chelon, la demande en
composants connat des fluctuations qui s'amplifient mesure que l'on descend dans les
niveaux de nomenclature. En effet, mme si la demande en produits finis est stationnaire,
celle en composants ne l'est plus du fait du lancement de la fabrication par lots. A titre
d'illustration, considrons la Figure 17.
Figure 17. Exemple d'irrgularit de la demande gnre par les lots
Pour simplifier, nous supposons que les dlais sont nuls. Les fins d'ordres rsultent de
l'application d'une rgle d'approvisionnement donne. Comme on peut le constater, la
demande en lunettes est stationnaire, mais celle en branches est fortement irrgulire.
8. Conclusion
L'objectif de la mthode MRP ne rside pas dans l'obtention d'une solution globalement
optimale au problme de minimisation des cots d'approvisionnement (de tous les articles
considrs simultanment), des dlais de livraison, etc., notamment sous les contraintes de
capacit de production et de satisfaction de la demande.
23
Elle cherche une solution ralisable qui, contrairement la solution optimale, peut tre
obtenue dans un temps raisonnable. En effet, ce problme d'optimisation est d'une complexit
telle que sa rsolution exacte n'est pas envisageable. De plus, l'instabilit de l'environnement
obligerait reconsidrer sans cesse cet optimum. Nanmoins, ceci n'exclut pas le recours
des mthodes optimales, pour rsoudre des problmes partiels comme l'optimisation des cots
d'approvisionnement d'un seul article.
Le MRP part d'un constat, celui de l'inadquation des politiques classiques de gestion des
stocks au cas des stocks multi-chelon. Une politique de gestion des stocks se dfinit par les
rponses qu'elle apporte aux questions suivantes : quand doit on s'approvisionner, et quel doit
tre le volume de l'approvisionnement. De nombreux modles d'approvisionnement ont t
conus pour rpondre aux exigences du cadre analytique dans lequel se situe le MRP
(demandes discrtes, dterministes, non stationnaires, etc.). Fondamentalement, le MRP
utilise des mthodes de groupage des besoins nets qui consistent minimiser certains critres
de cots, pour chaque article considr isolment. Ces mthodes, optimales ou non au regard
de la gestion d'un seul article, ne sauraient garantir la solution globalement optimale, car elles
ignorent les interdpendances des produits. Nanmoins, elles sont susceptibles de fournir des
solutions plus satisfaisantes en termes de cot, que les squences d'approvisionnements
obtenues l'issue de la seule planification des besoins en composants
1
INTRODUCTION AUX PROBLMES
D'ORDONNANCEMENT
Le problme dordonnancement consiste organiser dans le temps la ralisation dun
ensemble de tches, compte tenu de contraintes temporelles (dlais, contraintes
denchanements, etc.) et de contraintes portant sur lutilisation et la disponibilit des
ressources requises.
Aprs avoir donn quelques dfinitions permettant de mieux caractriser les variantes du
problme pos (section 1), nous nous intresserons l'ordonnancement de projets (section 2),
puis nous abordons les problmes d'ordonnancement en ateliers spcialiss (section 3). Dans
une troisime section nous aborderons les problmes d'ordonnancement de projets.
1. Quelques dfinitions
Un problme d'ordonnancement consiste guider la conception et le contrle d'une
ralisation pouvant tre de nature trs varie. Il peut s'agir d'un grand ensemble (projet
immobilier, navire, etc.), de l'organisation d'un emploi du temps, etc.
On appelle tche
j (ou job) un lment de ralisation, avec
t
j
la date de dbut de la tche ;
C
j
, sa date de fin (completion time) et
p
j
, son temps opratoire (processing time). Chaque
tche peut tre caractrise par des lments additionnels comme :
- une date de dbut au plus tt
t
j
(release date)
- une date de fin souhaite
d
j
(due date) ;
- une date de fin obligatoire
D
j
(deadline).
Les tches peuvent tre soumises des contraintes qu'il est ncessaire de respecter pour
trouver un ordonnancement ralisable, c'est--dire un ordre dans lequel ces tches pourront
tre excutes sans qu'il y ait violation de ces contraintes. Ces contraintes peuvent tre de
plusieurs natures.
Les contraintes de type potentiel sont celles qui peuvent se mettre sous la forme
t
j
t
i
> a
ij
o
a
ij
est une constante. Elles permettent de traduire par exemple les contraintes
suivantes.
- Succession de deux tches. La tche
j ne peut dbuter qu'aprs l'excution de la tche
i . Ce qui s'crit
t
j
> t
i
+ p
i
, soit
t
j
t
i
> p
i
pour retrouver la forme prcdente. Cette
contrainte est encore appele contrainte de succession temporelle (par exemple, on ne
peut faire les fondations si le terrassement n'est pas fini).
- Succession de deux tches sans interruption. La tche
j commence ds que la tche
i
est termine, ce qui s'crit
t
j
= t
i
+ p
i
.
- Succession de deux tches avec un intervalle de battement not
u
ij
:
t
j
> t
i
+ p
i
+u
ij
,
soit
t
j
t
i
> p
i
+u
ij
.
- La tche
j ne peut commencer avant que la tche
i ait atteint un degr d'avancement
suffisant. Soit
t
j
> t
i
+op
i
, avec
0 <o <1.
2
- La tche
j ne peut commencer avant une date donne :
t
j
> t
j
+u
- La tche
j doit tre termine avant une date donne :
t
j
+ p
j
s d
j
Les deux dernires contraintes sont encore appeles contraintes de localisation temporelles.
Les contraintes de type disjonctif imposent certaines tches d'tre excutes pendant
des intervalles de temps disjoints. Ces contraintes apparaissent lorsque deux tches
distinctes d'une mme ralisation ncessitent la prsence d'un moyen unique. Par exemple
une seule grue sur un chantier, une seule fraiseuse dans un atelier, etc. Ces contraintes
s'crivent
t
j
t
i
> p
i
ou bien
t
i
t
j
> p
j
(il n'y a pas de contrainte de succession).
Les contraintes de type cumulatif associent chaque tche
j les besoins en matriel, en
budget ou en main d'oeuvre requis pour sa ralisation. Ces besoins peuvent varier au cours
du temps. Ces contraintes sont gnralement assez souples puisqu'un budget peut tre
dpass (dans la limite du raisonnable) et que l'on peut recourir une main d'oeuvre
temporaire en cas d'insuffisance de la main d'oeuvre permanente. C'est la souplesse de ces
contraintes cumulatives qui permet de les distinguer des contraintes disjonctives. Si par
exemple un ouvrier ne peut accomplir deux tches simultanment, la prise en compte de
limitations de main d'oeuvre doit s'exprimer l'aide de contraintes disjonctives.
Ainsi, les ressources disjonctives ne peuvent excuter qu'une tche la fois tandis que les
ressources cumulatives peuvent excuter un nombre limit d'oprations simultanment.
Ordonnancer, c'est trouver un ordre de traitement ralisable des tches, c'est--dire qui
respecte l'ensemble des contraintes associes au problme pos. Cet ordre n'est pas
ncessairement unique et le choix d'un ordonnancement particulier parmi l'ensemble des
ordonnancements ralisables peut se faire en s'appuyant sur diffrents critres comme
- Le retard algbrique (lateness) :
L
j
= C
j
d
j
(diffrence entre la date de fin effective
et la date de fin souhaite, cette diffrence pouvant tre ngative dans le cas ou la tche
s'achve avant la date souhaite) ;
- Le retard absolu (tardiness) :
T
j
=max( 0,C
j
d
j
) ;
- L'avance (earliness) :
E
j
=max( 0,d
j
C
j
) ;
- La pnalit de retard
U
j
= 0 si
C
j
s d
j
et
U
j
=1 sinon ;
- La dure de sjour dans l'atelier :
F
j
= C
j
t
j
.
2. Ordonnancement de projets
Le problme consiste dterminer l'ordre dans lequel doivent s'enchaner les tches de sorte
minimiser la dure totale d'excution du projet, sous diffrentes contraintes de type
potentiel, disjonctif ou cumulatif comme nous les avons dcrites dans la section prcdente.
Un problme d'ordonnancement avec des contraintes de localisation temporelle et de
succession temporelle est appel problme central d'ordonnancement.
2.1 Formulation du problme central d'ordonnancement et reprsentation
Potentiel-Tches
3
On rappelle que
t
j
dsigne la date de dbut de la tche
j avec
j =1,K ,n et
p
j
, son temps
opratoire (processing time) ou dure d'excution. En associant artificiellement la tche
0
l'vnement "dbut du projet" et la tche
n +1 l'vnement "fin du projet", alors la fonction
objectif s'crit
mint
n+1
t
0
et les contraintes de succession d'un ensemble
S de tches
concernes s'crivent
t
j
>t
i
+ p
i
(i, j) eS. On dit que la tche
i est un anctre de la tche
j . On note
I
1
( j) l'ensemble des anctres de la tche
j et
I( j) l'ensemble des tches
successeurs de
j .
Le projet peut se reprsenter sous la forme d'un graphe dont les noeuds sont les tches et
dont les arcs (flche reliant un noeud un autre) symbolisent les relations de succession entre
couples de tches concernes. Ainsi, l'ensemble
S reprsente les arcs du graphe. Tout arc
orient
(i, j) est valu par la dure d'excution
p
i
de la tche
i , encore appele longueur de
l'arc
(i, j)
Prenons l'exemple de projet dont les donnes figurent dans le Tableau 1 ; les dures de
chaque tche tant exprimes en jours.
Tche
j Dsignation Dure
p
j
Anctres
i
1 Terrassement 5 -
2 Fondations 4 1
3 Colonnes porteuses 2 2
4 Charpente 2 3
5 Couverture 3 4
6 Maonnerie 5 3
7 Plomberie 3 2
8 Coulage dalle 3 7
9 Chauffage 4 8 et 6
10 Pltre 10 9 et 5
11 Finitions 5 10
Tableau 1. Un exemple de projet
2.1.1. Classement des tches par niveaux
Pour tracer correctement le graphe potentiel-tches, c'est--dire pour affecter une position
approprie dans l'espace chacune des tches de sorte avoir une reprsentation claire, on
affecte ces tches des niveaux, qui reprsentent des tapes de ralisation du projet selon
l'algorithme de classement des tches par niveau constitu des tapes suivantes.
- Etape 1. Placer au niveau
k = 0 les tches qui n'ont aucun anctre (tches
j telles que
I
1
( j) = C). Supprimer ces tches de la liste de tches affecter. Poser
k := k +1
- Etape 2. Affecter au niveau
k les tches ayant pour anctres les tches ayant t affectes
au niveau
k 1. Supprimer ces tches de la liste de tches affecter. Poser
k := k +1
- Etape 3. S'il reste des tches dans la liste des tches affecter, retourner l'tape 2. Sinon
la dcomposition des tches en niveaux est termine.
L'application de l'algorithme notre exemple du Tableau 1 est faite la Figure 1. La tche
qui n'a pas d'anctre est la tche 1 que l'on place au niveau 0. A l'itration suivante, parmi
les tches restant classer, on slectionne celles qui ont la tche 1 comme anctre. La tche
4
2 est donc affecte au niveau 2, puisque
I
1
(2) =1. A l'itration 3, les tches restant classer
et ayant la tche 2 comme anctres sont les tches 3 et 7 (
I
1
(3) =I
1
(7) =2) qui viennent
donc se placer au niveau 2. A l'itration 4, les tches 4 et 6 ont la tche 3 pour anctre et la
tche 8 l'anctre 7. Les tches 4, 6 et 8 se placent dont au niveau 3, etc.
Figure 1. Exemple d'application de l'algorithme de classement
des tches par niveau
Pour obtenir le graphe potentiel-tches, on commence par placer les tches du niveau 0,
puis celles du niveau 1 etc., jusqu'au niveau le plus lev. Puis, l'aide de la colonne
indiquant les anctres de chaque tche, on relie les tches leurs anctres par un arc valu
par le temps d'excution de la tche. Dans notre exemple, on obtient le graphe potentiel-
tches de la Figure 2.
5
Figure 2. Un exemple de graphe Potentiel-Tches
2.1.2. Reprsentation d'autres types de contraintes
Supposons que la tche 3 ne puisse commencer qu' la date 10. Ceci s'crit
t
3
>10, soit
t
3
>t
0
+10. On reprsente cette contrainte par un arc joignant les noeuds 0 3 et valu par 10.
Si la tche 5 doit tre commence avant la date 40, c'est--dire si
t
5
s 40, soit
t
5
s t
0
+40
alors on reprsente cette contrainte par un arc joignant les noeuds 5 0 et valu par -40.
Enfin, supposons que la tche 9 doivent dbuter au plus tard 5 jours aprs le dbut de la
tche 8, c'est--dire
t
9
s t
8
+5 . On reprsente cette contrainte par un arc joignant le noeud 9
au noeud 8 et valu par -5.
La Figure 3 donne la reprsentation de ces contraintes supplmentaires.
Plus gnralement, avec
a,b,c trois entiers strictement positifs, on a le tableau suivant.
Contrainte Reprsentation
t
j
> a t
j
>t
0
+a
Arc
(0, j) valu par
a
t
j
s b t
j
s t
0
+b
Arc
( j,0) valu par
b
t
j
s t
i
+c
Arc
( j,i) valu par
c
6
Figure 3. Autres types de contraintes
2.1.3. Conditions de ralisabilit d'un ordonnancement
On peut montrer que les contraintes temporelles sont compatibles entre elles si et seulement
si le graphe associ ne comporte aucun circuit de longueur positive. Un circuit est un sous-
ensemble d'arcs partant du noeud
i pour revenir au noeud
i . La longueur du circuit est
simplement la somme des longueurs des arcs le constituant.
Pour illustrer le raisonnement, supposons que nous ayons la situation suivante. La tche 1
qui dure
p
1
jours doit tre termine avant que la tche 2 ne commence. Ceci s'crit
t
2
> t
1
+ p
1
et se reprsente par un noeud 1 reli au noeud 2 par un arc de longueur
p
1
. La tche 2 qui dure
p
2
jours doit tre termine avant que la tche 3 commence. Graphiquement, on a un arc de
longueur
p
2
reliant les noeuds 2 et 3. La tche 3 qui dure
p
3
jours doit tre termine avant
que la tche 1 commence. On a un arc de longueur
p
3
reliant 3 1. Cette situation est
reprsente la figure suivante.
Ecrivons les contraintes correspondantes :
t
1
+ p
1
s t
2
;
t
2
+ p
2
s t
3
;
t
3
+ p
3
s t
1
. En
sommant et en simplifiant on obtient
p
1
+ p
2
+ p
3
s0.
En revanche, la prsence d'un circuit de longueur ngative ne pose pas de problme, comme
c'est le cas la Figure 3 pour le cycle
(8,9,8) de longueur
2. Les contraintes
correspondantes s'crivent
t
8
+ 3s t
9
et
t
9
5 s t
8
. En les combinant on obtient par exemple
t
9
5 s t
8
s t
9
3 ce qui constitue une condition ralisable.
2.2 Dtermination de l'ordonnancement au plus tt et au plus tard, marges
libres et chemin critique
7
Ordonnancement au plus tt. Partant du noeud 0 qui marque le dbut du chantier, la date
de dbut au plus tt
t
j
d'une tche
j se dfinit par
t
j
= max
ieI
1
( j )
t
i
+ p
i
{ }
, pour
j =0,K ,n +1.
Ainsi une tche peut dmarrer au plus tt lorsque la plus longue des tches qui la prcde est
termine, et lorsque toutes ces tches anctres ont elles-mmes dmarr au plus tt. On note
que
t
n+1
donne la dure d'excution du projet pour un ordonnancement au plus tt.
L'application de cette rgle notre exemple de la Figure 2 donne
t
1
= t
0
+ p
0
=0, puis
t
2
= t
1
+ p
1
=5, puis
t
3
= t
2
+ p
2
=9 ;
t
7
= t
2
+ p
2
=9 ;
t
4
= t
6
= t
3
+ p
3
=11 ;
t
8
= t
7
+ p
7
=12 ;
t
5
= t
4
+ p
4
=13. La tche 9 a deux prdcesseurs
I
1
(9) = 6,8 { }, donc
t
9
= max t
6
+ p
6
, t
8
+ p
8
{ }
c'est--dire
t
9
= max 11+5,12+ 3
{ }
=16. Puis
t
10
= max t
5
+ p
5
, t
9
+ p
9
{ }
= 20 ;
t
11
= t
10
+ p
10
= 30. Enfin
t
12
= t
11
+ p
11
= 35. La dure totale
d'excution du projet est donc de 35 jours lorsqu'on effectue un ordonnancement au plus tt.
Ordonnancement au plus tard. On note
t j la date de dbut au plus tard de la tche
j . Il
s'agit de la date limite laquelle on peut encore commencer une tche sans que cela affecte la
dure totale d'excution du projet rsultant de l'ordonnancement au plus tt. Ainsi, certaines
tches peuvent tre retardes sans que cela allonge la date de fin du projet. Pour dterminer
les dates de dbut au plus tard des tches, on commence par la fin du projet pour remonter au
dbut. Il est clair que pour la tche fictive 12 symbolisant la fin du projet, on a
t12 = t
12
= 35
car retarder la tche fictive "fin du projet", revient allonger la dure totale d'excution du
projet. La tche 11 peut s'achever au plus tard la date o on peut faire dmarrer au plus tard
la tche 12, c'est--dire
t11 + p
11
= t12, soit
t11 = 35 5 = 30. De mme, pour la tche 10, on a
t10 + p
10
= t11, soit
t10 = 30 10 =20. La tche 5 qui prcde la tche 10 doit s'achever au plus
tard quand on peut commencer la tche 10 au plus tard, c'est--dire
t5 + p
5
= t10 soit
t5 =20 3 =17. Pour la tche 9 on obtient
t9 =20 4 =16. Un raisonnement similaire pour
les tches 4, 6 et 8 conduit
t4 =17 2 =15 ;
t6 =16 5 =11 ;
t8 =16 3 =13. La tche 3 a
deux tches qui lui succdent : la tche 4 qui peut dmarrer au plus tard en 15 et la tche 6 qui
peut dmarrer au plus tard la date 11. Il faut donc que la tche 3 se termine au plus tard la
date 11, c'est--dire
t3 + p
3
=min(t4,t6), soit
t3 =min(15,11) 2 =9. Par un raisonnement
similaire, on poursuit la dtermination de toutes les dates de dbut au plus tard des tches.
La gnralisation donne
t j = min
ieI( j )
t i { }
p
j
, pour
j = n +1,K ,0 et
tn+1 = t
n+1
.
Tche critique, marge libre et chemin critique. On appelle tche critique toute tche dont
le retard affecte la fin au plus tt du projet. Toute tche critique
j est telle que sa date de
dbut au plus tard correspond sa date de dbut au plus tt, c'est--dire
t j = t
j
. La marge
libre
m
j
d'une tche
j se dfinit comme la diffrence entre sa date de dbut au plus tard et sa
date de dbut au plus tt, soit
m
j
= t j t
j
. Cette marge correspond la valeur maximale du
retard autoris pour dbuter une tche sans que cela retarde la fin du projet. Cette marge est
nulle pour les tches critiques, et positive pour celles qui ne le sont pas. Enfin, on appelle
chemin critique, l'ensemble des tches critiques qui reprsentent les tches surveiller si l'on
veut respecter le dlai minimum de ralisation du projet. La somme des longueurs des arcs
constituant le chemin critique donne la dure minimum d'excution du projet.
Dans notre exemple, la tche 5 peut commencer au plus tt la date
t
5
=13 et doit
commencer au plus tard la date
t5 =17, on peut donc retarder le dbut de la tche de 4 jours
8
au maximum par rapport sa date de dbut au plus tt. On dispose donc d'une marge de 4
jours pour cette tche. En revanche, la tche 9 qui doit s'achever au plus tard la date 20 pour
commencer au plus tard la tche 10 cette mme date est une tche critique car elle s'achve
la date 20. Sa marge libre est nulle. La Figure 4 reprsente le chemin critique.
Figure 4. Chemin critique
2.3 L'ordonnancement par la mthode P.E.R.T. (Program Evaluation Review
Technique)
La mthode PERT s'est dveloppe paralllement la mthode Potentiel-Tches et s'en
distingue par le fait que les tches ne sont plus associes aux noeuds mais aux arcs du rseau
(on appelle rseau tout graphe orient). L'algorithme de rsolution pour la mthode PERT est
trs semblable celui de la mthode Potentiel-Tches. La diffrence majeure rside donc dans
la construction du graphe PERT, souvent plus difficile que celui de la mthode Potentiel-
Tches.
Dans la mthode PERT, on associe chaque tche un arc de longueur gale sa dure
d'excution. Les noeuds sont utiliss pour traduire les relations de succession temporelle. La
construction du graphe PERT pose divers problmes qui amnent ajouter des arcs fictifs qui
ne correspondent aucune tche. Le cas se rencontre pour les contraintes de succession
temporelle. Supposons par exemple que la tche 1 prcde les tches 2 et 3 et que la tche 4
prcde la tche 3. On peut donner une reprsentation de ce cas la Figure 5. Cependant le
graphe de la Figure 5 dit que la tche 4 prcde la tche 2, ce qui n'est pas le cas.
9
Figure 5. PERT incohrent
Pour rsoudre ce problme, on doit ajouter un noeud fictif permettant de dissocier la tche
2 de la tche 4 et on doit ajouter un arc fictif entre le noeud existant et le noeud fictif pour
traduire le lien entre les tches 1 et 3. Cet arc fictif qui est donc une tche fictive a une dure
d'excution nulle. Ceci est reprsent la Figure 6.
Figure 6. PERT cohrent
Outre sa lisibilit plus complexe, le graphe PERT ncessite souvent l'introduction de
nombreux arcs fictifs. On prfrera la mthode Potentiel-Tches.
2.4 Prise en compte des ressources mobilises et minimisation des cots
Jusqu' prsent on a considr la dure de chaque tche comme une donne. Or la dure
d'une tche particulire peut varier en fonction des ressources qu'elle mobilise, comme
l'emploi de travailleurs supplmentaires, l'achat ou la location de matriel additionnel. En
gnral, il est donc possible de diminuer la dure d'excution d'une tche moyennant la
mobilisation de ressources supplmentaires qui supposent un cot additionnel. Nous allons
examiner ici comment il est possible de raliser un arbitrage entre la dure des tches et leur
cot.
Supposons que toute tche
j possde une dure minimum d'excution (incompressible),
note
p
j
et une dure maximum note
p
j
. Si l'on admet que le cot associ la dure est
une fonction dcroissante et linaire de cette dure, alors la fonction de cot s'crit
c
j
( p
j
) = c
j
(p
j
) +o
j
( p
j
p
j
),
ce qui donne pour la dure maximale
10
c
j
( p
j
) = c
j
(p
j
) +o
j
( p
j
p
j
).
La pente de la fonction de cot est donne par
o
j
=
c
j
( p
j
) c
j
( p
j
)
p
j
p
j
L'objectif de minimisation des cots associs aux dures des tches s'crit
min z = c
j
( p
j
) +o
j
( p
j
p
j
)
| |
j =1
n
= K + o
j
p
j
j =1
n
,
Le terme
K tant constant et en remplaant
o
j
par sa valeur, on obtient finalement
min z =
c
j
( p
j
) c
j
( p
j
)
p
j
p
j
p
j
j =1
n
,
Les
p
j
tant cette fois-ci des variables pour le problme. Les variables du problme sont
donc les suivantes
-
t
j
la date de dbut de la tche
j pour
j =1,K ,n +1 (on rappelle que
t
n+1
est la date de
fin du projet, donc la dure d'excution totale du projet) ;
-
p
j
, la dure d'excution de la tche
j .
Le problme de minimisation des cots des tches se formule donc comme suit
min z =
c
j
( p
j
) c
j
( p
j
)
p
j
p
j
p
j
j =1
n
s.c.
t
j
> t
0
(localisation temporelle)
t
j
> t
i
+ p
i
(succession temporelle)
t
n+1
> t
j
+ p
j
(fin de projet)
p
j
s p
j
s p
j
(bornes sur la dure)
t
n+1
s T (borne sur la fin de projet)
La borne sur la fin de projet a du tre ajoute sans quoi, tant donn l'objectif de
minimisation des cots associs aux dures, le processus d'optimisation conduirait
proposer
p
j
= p
j
, j .
3. Ordonnancement en ateliers spcialiss
Un centre de production dsigne une usine, un dpartement, un atelier, un groupe de
machines ou une machine. Il peut tre toute autre chose si la ralisation n'est pas un produit
fabriqu mais une prestation de service : caisse de supermarch, centre de tri postal.
11
Une classification rpandue des problmes d'ordonnancement en ateliers se fonde sur les
diffrentes configurations des centres de production (machines). Les modles les plus connus
sont ceux dune machine unique, de machines parallles, dun atelier cheminement unique
ou dun atelier cheminement multiple.
3.1 Typologie des centres de production
Machine unique. L'ensemble des tches ncessite pour leur excution le passage sur un
centre de production unique (Figure 7). Ce problme prend son intrt lorsque le centre de
production constitue un goulot d'tranglement qui peut influencer l'ensemble du processus de
production. Le problme peut alors se restreindre l'tude de ce centre uniquement.
Figure 7. Ordonnancement de
n tches sur un unique centre de production
Machines parallles. Dans cette configuration (Figure 8), on dispose de
m centres de
production identiques. Lordonnancement seffectue alors en deux phases : la premire phase
consiste affecter les tches aux machines et la deuxime phase consiste tablir la squence
de ralisation de ces tches sur chaque machine.
Figure 8. Ordonnancement de
n tches sur
m machines parallles identiques
Atelier cheminement unique (Flow Shop). Il s'agit d'un atelier o les tapes de
transformation sont identiques pour tous les produits fabriqus (voir Figure 9). Les machines
peuvent tre ddies une opration prcise, et sont implantes en fonction de leur squence
dintervention dans la gamme de production. Ce type d'atelier se caractrise par une grande
productivit et une faible flexibilit et permet la fabrication de produits faiblement diversifis.
12
Dans ce type d'atelier, l'objectif gnralement retenu consiste trouver une squence de
tches qui minimise le temps total de production.
Figure 9. Ateliers cheminement unique - Flow Shop
Une "gnralisation" de ce type d'ateliers est donne par les flow shops hybrides ou
atelier cheminement unique avec machines en exemplaires multiples qui comme leur
nom l'indique font coexister plusieurs machines du mme type en parallle.
Ateliers cheminements multiples (Job Shop). Les ateliers cheminements multiples
traitent une varit de produits dont la production requiert plusieurs types de machines dans
des squences varies mais selon un ordre dfini d'oprations excuter pour la fabrication de
chaque type de produit. Ils sont adapts la fabrication de produits diversifis pour lesquels
une demande faible s'exprime. Ils se caractrisent ainsi par une variabilit dans les oprations
et un mix de production variable dans le temps. Il est donc ncessaire que le systme soit
flexible (susceptible de rpondre au mieux aux variations de la demande). Comme
prcdemment, lobjectif le plus considr est la minimisation du temps total de production.
La Figure 10 montre un exemple dun atelier cheminements multiples avec quatre travaux
et six machines.
Figure 10. Atelier cheminements multiples (Jop Shop)
Ce type d'ateliers se distingue des ateliers cheminement libre (open shop) o chaque
produit traiter doit subir un ensemble doprations sur un ensemble de machines, mais dans
un ordre totalement libre.
13
3.2 Ordonnancement de
n tches ncessitant un seul centre de production
Nous sommes dans le cas de la Figure 7. Considrons l'exemple consign dans le Tableau 2
o les temps opratoires
p
j
associs aux jobs (tches)
j sont exprims en centimes d'heure.
Il est clair que quel que soit l'ordre des tches retenu, le temps opratoire total reste le mme
savoir
p
j
j
.
Tout ordonnancement associe chacune des tches un numro d'ordre. Il s'agit donc d'une
application
O qui, la position
h dans la squence fait correspondre une tche unique
j = O(h). On prsente dans le tableau 1 un ordonnancement possible (ligne "Job
programm"). On a ainsi
O(1) = 3,
O(2) = 4 etc. L'application inverse
O
1
( j) = h associe
naturellement toute tche
j sa position
h (ou numro d'ordre) dans la squence, avec
h =1,K ,n. L'avant dernire ligne indique pour chaque tche sa date de fin
C
j
effective. A la
dernire ligne, nous donnons la date effective de dbut de la tche. Dans la suite, nous ne
ferons pas de distinction entre la position
h dans la squence et la tche
j affecte cette
position.
Job
j 1 2 3 4 5
Temps opratoire
p
j
5
0
1
50
8
0
2
00
3
0
Job programm 3 4 1 5 2
Date de fin effective
C
j
8
0
2
80
3
30
3
60
5
10
Date de dbut effective
t
j
0 8
0
2
80
3
30
3
60
Tableau 2. Un exemple d'ordonnancement
Notons que le temps d'attente d'une tche situe en position
h dans la squence est donn
par
t
h
, sa date de dbut effective. Si les tches se succdent sans encombre, comme c'est le
cas ici, alors le temps d'attente d'une tche est gal la somme des temps opratoires de toutes
les tches la prcdant dans la squence. Ainsi
t
h
= p
k
k=1
h1
, o
p
k
dsigne le temps opratoire
de la tche situe en position
k dans la squence. Le temps total d'attente est gal
t
h
h=1
n
= p
k
k=1
h1
h=1
n
= np
1
+(n 1) p
2
+L + p
n
. Le temps
moyen d'attente par tche, not
A , est simplement la moyenne arithmtique des temps
d'attente, savoir
A =
1
n
t
h
h=1
n
= p
1
+
n 1
n
p
2
+L +
1
n
p
n
.
Dans l'exemple du Tableau 2, on obtient
A =1050/5 =210.
3.2.1. Minimisation du temps moyen d'attente (rgle T.O.M.)
Puisque le critre du temps opratoire total ne permet pas de discriminer parmi les
n!
ordonnancements possibles, on va considrer un autre critre, celui du temps moyen d'attente.
14
D'aprs la dfinition de ce temps, il est vident pour le minimiser qu'il faut ordonner les
tches par ordre croissant de temps d'excution puisque le plus gros coefficient ( savoir 1) est
affect au temps d'excution de la premire tche, et le plus faible ( savoir
1/ n) la dernire
tche. Cette rgle est connue sous le nom de Shortest Processing Time rule (SPT rule) ou
rgle T.O.M. (Temps Opratoire Moyen).
Dans notre exemple, l'ordonnancement qui permet de minimiser ce temps moyen d'attente
est dfini par la squence de jobs
5,1,3,2,4 { }
.
Un autre critre pouvant tre retenu est celui du retard qui se dfinit comme la diffrence
entre la date de fin effective
C
j
et la date de fin souhaite
d
j
. Nous prenons ici comme date
de fin souhaite "thorique" pour chaque tche, sa date de fin effective si cette tche avait t
programme en premier. Dans ce cas, on a donc
d
j
= p
j
j =1,K ,n. Avec cette dfinition de
la date de fin souhaite, on note que
C
j
d
j
>0 j =1,K ,n de sorte que retard algbrique
(lateness) et retard absolu (tardiness) correspondent toujours.
Le Tableau 3 indique le retard
de chaque tche pour l'ordonnancement retenu dans le Tableau 1.
Position
h 1 2 3 4 5
Job programm
j = O(h) 3 4 1 5 2
Date de fin effective
C
j
8
0
2
80
3
30
3
60
5
10
=1560
Date de fin souhaite
d
j
= p
j
8
0
2
00
5
0
3
0
1
50
= 510
Retard
L
j
= C
j
d
j
0 8
0
2
80
3
30
3
60
=1050 =1560 510
Tableau 3. Retard algbrique.
On cherche donc minimiser
L = C
j
d
j
( )
=
j =1
n
C
j
p
j
j =1
n
j =1
n
. En rappelant que
p
h
dsigne le temps opratoire du job plac en
position
h dans la squence, alors
C
h
= p
h
k=1
h
= p
h
k=1
h
h=1
n
,
ce qui en dveloppant donne
np
1
+(n 1)p
2
+L + p
n
. Ainsi, au temps opratoire de la
premire tche est affecte le plus gros coefficient multiplicateur, savoir
n et la dernire
tche, le plus faible. A nouveau, comme pour le temps moyen d'attente, il est vident qu'il faut
ordonner les tches par ordre croissant de leur temps opratoire pour minimiser le retard.
Une application notre exemple de la rgle T.O.M. qui revient donc minimiser le retard
algbrique "thorique" est donne dans le Tableau 4. Le retard total est gal 1090 et le retard
moyen vaut 1090/5=218.
Job
j 1 2 3 4 5
Temps opratoire
p
j
5
0
1
50
8
0
2
00
3
0
Job programm 5 1 3 2 4
15
j = O(h)
Date de fin effective
C
j
3
0
8
0
1
60
3
10
5
10
=1090
Tableau 4. Application de la rgle T.O.M.
3.2.2. La rgle de la date de fin minimale (Early Due Date, ou E.D.D.).
Cette rgle consiste simplement squencer les tches par ordre croissant de leur date de fin
souhaite. On montre que cet ordonnancement minimise le retard algbrique vrai (lateness)
L =
1
n
(C
h
d
h
)
h=1
n
, o les
d
h
correspondent aux "vraies" dates de fin souhaite et non aux
temps opratoires. On introduit dans le Tableau 5 ce type de date et l'on donne
l'ordonnancement correspondant ce critre E.D.D.
Job
j 1 2 3 4 5
Temps opratoire
p
j
5
0
1
50
8
0
2
00
3
0
Date de fin souhaite
d
j
1
00
3
00
4
10
4
00
2
00
Job programm
j = O(h)
1 5 2 4 3
Tableau 5. Application de la rgle E.D.D.
3.2.3. La rgle First Come First Serve (F.C.F.S) et comparaison des Trois rgles
La rgle F.C.F.S conduit excuter les tches dans leur ordre d'arrive. On supposera dans
notre exemple que l'ordre d'arrive des jobs correspond celui du Tableau 2, savoir
3,4,1,5,2 { }. Nous allons comparer la performance de ces 3 rgles l'aide des critres suivants:
- Le temps moyen d'attente
A =
1
n
t
h
h=1
n
- Le retard algbrique moyen "vrai" (lateness)
L =
1
n
(C
h
d
h
)
h=1
n
, o , rappelons-le, les
d
h
correspondent aux "vraies" dates de fin souhaite et non aux temps opratoires.
- Le retard absolu (tardiness) moyen
T =
1
n
max( 0,C
h
d
h
)
h=1
n
;
- L'avance (earliness) moyenne
E =
1
n
max( 0, d
h
C
h
)
h=1
n
;
La Figure 11 donne les ordonnancements selon les 3 rgles ainsi que la valeur des critres
prcdents pour chacun d'eux. On constate que la rgle F.C.F.S conduit une avance
moyenne maximum dans notre cas, mais ce rsultat est fortuit et l'avantage d'une telle rgle
ne se mesure pas l'aide des critres retenus ici : cette rgle est souvent employe pour sa
simplicit. La rgle T.O.M. permet de minimiser le temps moyen d'attente. De ce point de
vue elle constitue la meilleure rgle. Mais elle ne minimise pas le retard algbrique vrai, ce
16
que fait la rgle E.D.D. On note que l'avance moyenne est plus faible avec E.D.D qu'avec
T.O.M. ce qui a pour consquence un temps de stockage des tches acheves plus faible.
Figure 11. Comparaison des rgles T.O.M., E.D.D. et F.C.F.S.
3.3 Ordonnancement de
n tches sur deux centres de production
Chaque tche ncessite pour son excution le passage sur deux machines
A et
B . On note
p
jA
et
p
jB
les temps opratoires de la tche
j sur les machines
A et
B respectivement. Le
critre d'ordonnancement retenu est celui de la minimisation du temps total d'excution de
toutes les tches sur les deux machines. On distingue deux cas :
- Toutes les tches sont excutes d'abord sur
A puis sur
B (elles ont toutes le mme
ordre de passage sur les deux machines). Il s'agit d'un cas particulier de la Figure 9 o
m =2 (cheminement unique ou Flow Shop).
- Les tches n'ont pas toutes le mme ordre de passage sur les deux machines. Ce cas
s'inscrit dans celui de la Figure 10, avec
m =2 (cheminement multiple ou Job Shop).
17
3.3.1 Le cas de tches s'effectuant toutes selon le mme ordre sur chaque machine
(algorithme de Johnson) - Flow Shop
Le raisonnement suivre est illustr l'aide des donnes de temps opratoire consignes
dans le Tableau 6.
Job
j 1 2 3 4 5
Temps opratoire
p
jA
5
0
1
50
8
0
2
00
3
0
Temps opratoire
p
jB
6
0
5
0
1
50
7
0
2
00
Tableau 6. Exemple pour deux machines - Flow Shop
L'algorithme de Johnson (1954) permet de dterminer l'ordonnancement qui minimise le
temps opratoire total.
- Etape 1. Rechercher la tche
j dont le temps opratoire
p
jm
est le plus faible, quelle
que soit la machine
m
- Etape 2. Si
m= A, placer la tche
j la premire place disponible dans la squence
d'ordonnancement. Sinon, placer cette tche la dernire place disponible
- Etape 3. Supprimer la tche
j de la liste des tches restant ordonnancer. S'il reste
plus d'une tche dans la liste, retourner l'tape 1. Sinon, placer la dernire tche la
seule position disponible restante dans la squence d'ordonnancement.
En appliquant l'algorithme notre exemple, la tche 5 vient en premire position. La tche 2
est affecte la dernire position. La tche 1 est place en deuxime. La tche 4 est place en
quatrime position. Il ne reste plus que la troisime place pour la tche 3. L'ordonnancement
optimal est donc
5,1,3,4,2 { }.
Le temps opratoire total est donn par la date de fin de la dernire tche sur la dernire
machine, savoir
C
nm
dans le cas du flow shop
n tches et
m machines. Pour dterminer
C
nm
, on doit dterminer pralablement les dates de fin de chaque tche
j sur chaque machine
k ,
C
jk
. Pour que la tche
j puisse dbuter sur la machine
k , il faut la fois que cette tche
soit termine sur la machine prcdente
k 1 et que la machine
k soit disponible, ce qui est le
cas lorsque la machine a termin d'excuter ses oprations sur la tche prcdente
j 1. Donc
la tche
j ne peut dbuter sur la machine
k qu'en date
max( C
j 1,k
;C
j,k1
) o
C
j 1,k
est la date
de disponibilit de la machine
k et
C
j,k1
est la date de fin de la tche
j sur la machine
k 1.
Sur la premire machine, seule la date d'achvement de la tche prcdente donne la date de
dbut de la tche suivante. Et pour la premire tche, seule sa date d'achvement sur la
machine prcdente compte. On a finalement
C
j,k
= max( C
j 1,k
;C
j,k1
) + p
j,k
pour k = 2,K , m et j = 2,K , n
C
j,k
= C
j 1,k
+ p
j,k
pour k =1et j = 2,K , n
C
j,k
= C
j,k1
+ p
j,k
pour k = 2,K , m et j =1
C
1,1
= p
1,1
18
3.3.2. Le diagramme de Gantt
Le calcul du temps opratoire total est facilit par une reprsentation de l'ordonnancement
par un diagramme de Gantt o figure
- en abscisse : le temps ; chaque tche tant reprsente par sa date de dbut et sa
date de fin ;
- en ordonne : les moyens de production utiliss (chaque centre de production).
A la Figure 12 on trouve le diagramme de Gantt associ l'ordonnancement optimal.
Figure 12. Diagramme de Gantt associ l'ordonnancement optimal
Si l'on avait retenu pour ce cas l'ordonnancement selon la rgle T.O.M, savoir
5,1,3,2,4 { },
nous aurions obtenu le diagramme de Gantt de la Figure 13, o il existe un temps
d'inoccupation de la machine B (repr par la lettre Z sur le diagramme) de 20 centime
d'heure. En effet, la tche 4 ne se termine qu'en 510 sur la machine A alors que la machine B
est disponible ds la date 490.
Figure 13. Diagramme de Gantt associ l'ordonnancement T.O.M.
3.3.3 Le cas de tches ne s'effectuant pas dans le mme ordre (algorithme de
Jackson) - Job Shop
Dans le cas le plus gnral, certaines tches ne ncessitent leur passage que sur l'une des
deux machines, d'autres sur les deux machines, dans un ordre ou dans un autre.
L'ordonnancement qui minimise le temps opratoire total s'obtient par l'algorithme de Jackson
qui rsulte d'une adaptation de l'algorithme de Johnson. Nous allons prsenter cet algorithme
en l'illustrant simultanment l'aide de l'exemple consign dans le Tableau 7.
Tches sur A puis sur B Tches sur B puis sur
A
Job
j 1 2 3 4 5 6 7 8 9 1 1
19
0 1
Temps opratoire
p
jA
5
0
8
0
1
0
5
0
3
0
7
0
9
0
2
0
1
0
4
0
1
0
Temps opratoire
p
jB
3
0
6
0
3
0
0 0 0 7
0
3
0
1
00
0 0
Tableau 7. Illustration de l'algorithme de Jackson
Etape 1. Faire une partition de l'ensemble des tches en :
- L'ensemble
J
A
des jobs ne passant que sur la machine A ;
J
A
= 4,5,6 { }
- L'ensemble
J
B
des jobs ne passant que sur la machine B ;
J
B
= 10,11 { }
- L'ensemble
J
AB
des jobs passant d'abord sur la machine A puis sur la machine B ;
J
AB
= 1,2,3 { }
- L'ensemble
J
BA
des jobs passant d'abord sur la machine B puis sur la machine A ;
J
BA
= 7,8,9 { }
Etape 2. Calculer un ordonnancement pour chaque sous-ensemble
- Dterminer l'ordonnancement optimal avec l'algorithme de Johnson pour chacun des
sous-ensembles de tches passant sur les deux machines. Pour
J
AB
, on obtient
O
AB
= 3,2,1 { } et pour
J
BA
, on a
O
BA
= 9,8,7 { }
- Pour les tches ne ncessitant le passage que sur l'une des deux machines, on retombe
dans le cas de l'ordonnancement de
n tches sur une machine, o la squence n'a pas
d'influence sur le temps opratoire total. On pourra donc choisir la rgle T.O.M par
exemple. Dans notre illustration, la rgle T.O.M conduit pour
J
A
= 4,5,6 { } la squence
O
A
= 5,4,6 { } et pour
J
B
= 10,11 { } la squence
O
B
= 11,10 { }.
Etape 3. Combiner les sous-ensembles de squences pour obtenir l'ordonnancement final en
remarquant que l'on a intrt dbuter le plus vite possible sur la machine A les tches qui
devront ensuite tre traites sur la machine B et mettre en dernier sur cette machine A les
tches qui doivent d'abord aller sur B. Cela revient combiner les rsultats de la manire
suivante.
- Pour la machine A, la squence finale est
O
AB
O
A
O
BA
, ce qui donne dans
l'exemple
3,2,1,5,4,6,9,8,7 { }
- Pour la machine B, la squence finale est
O
BA
O
B
O
AB
, ce qui donne dans
l'exemple
9,8,7,11,10,3,2,1 { }
On peut comme prcdemment utiliser un diagramme de Gantt pour reprsenter
l'ordonnancement optimal.
3.4 Ordonnancement de
n tches sur
m machines avec ordre identique de
passage - Flow Shop (heuristique CDS)
Il existe dans ce cas
n! ( )
m
ordonnancements possibles. La formulation gnrale de ce
problme peut tre rsolue l'optimum l'aide de la programmation dynamique ou de la
programmation linaire en nombre entiers. Mais au del d'un certain nombre de tches et de
machines, la taille du problme devient telle qu'il est impossible de trouver une solution
optimale dans un temps raisonnable.
20
L'une des approches heuristiques existantes pour ce type de problme est propose par
Campbell, Dudek et Smith (1970), (CDS dans la suite). Cette mthode consiste gnrer
m1 solutions en appliquant l'algorithme de Johnson sur deux machines fictives. La
premire regroupe les
k premires machines, la deuxime regroupe les
k dernires ; avec
k
variant de
1
m1. Les temps opratoires de chaque tche
j sur ces deux machines fictives
sont la somme des temps opratoires sur les machines qu'elles regroupent. Ils se dfinissent
donc de la manire suivante
P
j1
= p
jh
h=1
k
, P
j 2
= p
jh
h=mk+1
m
i=1
n
,
s.c.
x
i, j
=1
i=1
n
x
i, j
=1
j =1
n
La premire contrainte exprime le fait que si le voyageur entre dans la ville
i alors il en sort
(c'est--dire qu'il existe une ville
j o le voyageur se rend depuis la ville
i ). La deuxime
contrainte implique que pour arriver la ville
j le voyageur venait ncessairement d'une ville
i .
Le problme peut se rsoudre par le Branch and Bound (encore appel procdure par
sparation - valuation) qui s'applique aux programmes linaires en nombres entiers et se
fonde sur des relaxations du problme, rsolus l'aide du simplexe. La procdure garantit
l'obtention d'une solution optimale.
3.5.2 Programmation linaire en nombres entiers : l'algorithme de Branch-and-
Bound
Lorsqu'on a affaire un problme avec des contraintes d'intgralit (tout ou partie des
variables du problmes doivent tre entires), la tentation est grande de rsoudre le problme
en ignorant ces contraintes d'intgralit, ce qui peut se faire l'aide du simplexe (problme
linaire, o la fonction objectif et les contraintes sont linaires). Puis, prendre les solutions
obtenues par le simplexe et les arrondir. Mais cela ne marche pas. L'exemple suivant montre
le "danger" d'une telle mthode. Considrons le problme :
max z = x
1
+5x
2
s.c.
x
1
+10x
2
s 20
x
1
s 2
x
1
, x
2
eN
En ignorant les contraintes d'intgralit, la solution fournie par le simplexe est
x
1
=2;x
2
=1.8 et donne
z =11. La premire ide serait d'arrondir
x
2
l'entier immdiatement
suprieur, soit
x
2
= 2. Mais cette solution est infaisable car elle ne respecte pas la contrainte
x
1
+10x
2
s20. En arrondissant alors
x
2
l'entier immdiatement infrieur, soit
x
2
=1, les
contraintes sont respectes mais
z = 7 n'est pas l'optimum. En effet, la solution optimale de ce
problme est
x
1
=0;x
2
=2, ce qui donne
z =10.
Une autre solution laquelle on peut penser consiste en l'numration de toutes les solutions
possibles et de choisir la meilleure. Cela peut marcher pour les problmes de petites tailles,
mais ce n'est pas pensable pour les problmes de moyenne et grande taille. Par exemple, un
problme contenant 20 variables binaires donne
2
20
=1048576 solutions numrer.
24
L'explosion combinatoire est encore plus importante lorsqu'on considre des variables
entires prenant leur valeur dans un intervalle plus large.
La mthode de Branch and Bound constitue la technique approprie pour rsoudre ce type
de problme. Elle se fonde sur l'observation selon laquelle l'numration de solutions entires
prend la forme d'un arbre. Considrons par exemple l'numration complte des solutions
d'un problme comportant une variable entire "gnrale"
x
1
s 3 et deux variables binaires
0 s x
2
s1 et
0 s x
3
s1. La Figure 15 montre l'numration complte de toutes les solutions.
Figure 15. Arbre d'numration
Le noeud racine reprsente toutes les solutions au problme. Le noeud
x
1
= 2 reprsente
toutes les solutions avec
x
1
= 2. Ce noeud est le noeud parent du noeud enfant
x
2
= 0 qui
contient quant lui toutes les solutions o on a la fois
x
1
= 2 et
x
2
= 0, etc. Les noeuds
feuilles de l'arbre sont ceux pour lesquels
x
1
,
x
2
et
x
3
ont toutes une valeur entire. Il en
existe 12 qui reprsentent toutes les combinaisons possibles de solutions entires au
problme.
L'ide de base du Branch and Bound est d'viter autant que possible que l'arbre grandisse,
en explorant uniquement les noeuds qui fournissent les solutions les plus prometteuses. Le
caractre prometteur de ces solutions est valu en estimant une borne sur la valeur de la
fonction objectif qui pourra tre obtenue par l'exploration de noeuds des itrations
ultrieures. La sparation (branching) se produit lorsqu'un noeud est slectionn pour une
exploration des solutions issues de ce noeud. L'valuation (bounding) se produit lorsque la
meilleure valeur d'un noeud est estime. On utilise la terminologie suivante.
- Noeud : toute solution, partielle ou complte
- Noeud-feuille, ou feuille : solution complte (les valeurs de toutes les variables sont
connues)
- Noeud - bourgeon (bud node) : toute solution partielle, ralisable ou non.
25
- Mthode de dtermination d'une borne : elle permet d'estimer la meilleure valeur de la
fonction objectif qu'il est possible d'obtenir en laissant grandir un noeud. Cette mthode
doit toujours produire une estimation optimiste.
- Mthode de sparation : processus par lequel on cre un noeud enfant partir d'un noeud
bourgeon.
- Incumbent : meilleure solution entire trouve jusque l.
C'est la mthode de dtermination d'une borne qui est le vecteur d'efficacit de l'algorithme
de branch and bound. Reprenons par exemple le problme du voyageur de commerce. Dans
ce cas, un noeud reprsente un tour partiel et la mthode de dtermination d'une borne peut
consister estimer la longueur du tour le plus court qu'il est possible d'effectuer partir du
tour partiel. Considrons le tour partiel apparaissant en rouge la Figure 16.
Figure 16. Tour partiel dans le problme du voyageur de commerce
Une mthode de dtermination de la borne peut consister rechercher un arbre de
recouvrement minimum qui est un graphe joignant tous les noeuds et de longueur totale
minimum. Dans notre exemple, l'arbre de recouvrement minimum apparat en pointills et
en bleu sur la Figure 17.
Figure 17. Arbre de recouvrement minimum
La borne sur la valeur de la fonction objectif est donne par la somme de la longueur du
tour partiel et de la longueur de l'arbre de recouvrement minimum, savoir
(10+5)+(5+5+10+10+5+5)=55. La solution ainsi gnre n'est pas ralisable car certaines
villes sont visites plusieurs fois. Mais il s'agit d'une bonne sous-estimation de la longueur
totale du tour.
Un autre algorithme plus efficace pour ce problme existe ; on le doit Little, Murty,
Sweeney et Karel. Sa prsentation est faite dans l'ouvrage de Vincent Giard, pp. 390-401.