Documente Academic
Documente Profesional
Documente Cultură
1.
INTRODUCTION
"! #$!%&'
(*)
(*)
Avec cette remarque on pourra trouver des simplifications pour les deux modles de programmation linaire
en nombres entiers ainsi que pour la gestion des donnes
dans la mthode tabou.
Cet article sorganise autour de 5 sections. La section 2.
prsente deux modles de programmation linaire en variables 01 qui permettent une premire approche du problme. Des tests numriques sur ces modles sont dvelopps dans la section 5. et suffisent nous convaincre du
bien fond dune approche par mtaheuristique. La section 3. prsente une structure de donnes originale et dtaille le calcul de la solution initiale servant la recherche
tabou. Dans la section 4., le cur de la recherche tabou est
introduit avec le voisinage, les mouvements tabous et les
raffinements propres la gestion de la liste tabou. Enfin,
des rsultats numriques dans la section 5. viennent tayer
nos propos.
2. PROGRAMMATION LINAIRE EN NOMBRES
ENTIERS
La programmation linaire en nombres entiers permet de
modliser rapidement le problme dordonnancement et
offre une approche intressante dans notre cas. Par contre,
mme avec un code commercial puissant, le problme
reste suffisamment complexe pour ne pas tre rsolu optimalement pour toutes les instances, et surtout celles de
grande taille.
Dans cette section, deux modles de programmation linaire en nombres entiers sont proposs et plusieurs
plus dune position et grce la remarque 1, il est possible quun job nait pas de position (il sera donc en retard). La contrainte (3) indique que chaque position sur
chaque machine ne peut tre occupe par plus dun job.
La contrainte (4) impose au job en position
sur
une machine de commencer son excution aprs la fin
de lexcution du job en position sur la mme machine.
La contrainte (5) empche tout dmarrage dun job avant
sa date de dbut au plus tt et la contrainte (6) attribue
une position sur une machine un job si et seulement si
celui-ci peut se terminer avant sa date chue. La contrainte
(7) imposera chaque job, soit de trouver une position
pour sexcuter, soit dtre en retard. On peut aussi remplacer cette contrainte par une contrainte quivalente
loptimum de notre problme
.
2.1.
+-, . /
2354 6
Variables de position
8
0]I
`DKE:
Pour cette modlisation, on aura aussi besoin de calculer un horizon maximum que lon dfinira sans raffinement par
. Mais cause de
la remarque 1, il nest pas ncessaire de trouver une date
de dbut dexcution pour chaque job. Ainsi lhorizon de
temps considrer sarrte-t-il la date de fin dexcution
du dernier job termin temps. Cet instant est born par
la plus grande date chue, soit
.
+ - ,9. :
1
7 , .
<
=
(1)
; 'A
%>@?
sous
contraintes
= < = B +-,
.C
DEF
(2)
,
= >< ? .>@?
D 0 F GH
+-,
.GC
D 1 :
%>@? <
(3)
=
75,9.JI K+J-,9.LCM75,
N?9O . DD 0 :F QP H
%>< ?
(4)
1
=
D 0 F GH
7 ,9. P + -,9.GR
D 1 :
%>< ?
(5)
=
S
W
D
F
75,9.JI P T3UV+J-,9.GC D 0 : GH
%>?
1
(6)
= < = B +-,
.XIM F
DEF
(7)
,
>? .>@ ?
D
F
7 ,9.LR
D 10 :
GH (8)
DEF GH
+ -,9.LY[Z H T\
D 0 F GH
D 1 :
(9)
T
\
DEF
Y[Z H
(10)
2 54
a
a bTc$%>@?9deded < #'I %< @> ?
<
=
g ; 'A@
%>@?
sous
h-=i
jk#i contraintes
2To4pI*@ F
i
4l>nm
= < = 4 2 q CM
(11)
DKEF
D 7 F a
DKEF GH
D 7 tu a
DKEF
(12)
(13)
(14)
(15)
7
h i j k i
4l>xm i 2 o^4 y
I z R
Avec ce type de variables, la rsolution en 01 est possible condition que lhorizon de temps reste trs limit.
Quand ce nest pas le cas, le nombre de variables crot et
la rsolution aboutit rarement. Par contre, la relaxation linaire donne souvent des bornes de qualit satisfaisante,
mais avec trop de variables, mme celle-ci est affecte. En
revanche, de rcentes tudes montrent que ce type de modlisations peut tre utilis efficacement pour des rsolutions par gnration de colonnes (den Akker et al., 2000).
3.
Cette section prsente tout dabord une structure de donnes originale et innovante qui permet de manipuler une
classe de solutions quivalentes au lieu dune seule solution. Nous montrons ensuite comment cette structure de
donnes permet galement damliorer la solution initiale
de notre recherche tabou.
Chaque job
Placement lastique
K T
{ 7V|G} ~ H 7V|G53
17
0
37
17
C_ ,
FG a
FG a
La rgle classique
(weighted shortest processing
time) permet de placer en priorit les jobs de poids fort et
de petite dure. La meilleure insertion pour ce problme
consiste occuper les machines de faon ne pas laisser
de temps mort (idle time) sur celles-ci.
Initialement, les listes dordonnancement des diffrentes
machines sont vides (tous les jobs sont en retard). Pour
chaque job, on recherche sur les diffrentes machines le
plus petit intervalle maximum disponible respectant les
contraintes
. Si aucun intervalle ne permet linsertion, le job reste en retard, et lon passe au suivant. La
complexit de lheuristique
est de
.
S oH oH oU
S n U
4. RECHERCHE TABOUE
4.1. Liste taboue
Le voisinage retenu pour la recherche tabou est lchange
dun job en retard avec un ou plusieurs jobs termins
1
1 |G5s |G} ~
18
Nous avons test plusieurs critres tabou entre deux extrmes : dun ct lordonnancement complet et de lautre
le poids des jobs en retard. Nous avons en dfinitive retenu
la paire
(somme des poids et somme
des dures des jobs en retard), en excluant toute information sur les jobs termins temps. En effet, il existe
de nombreuses solutions voisines quivalentes (permutations entre machines) qui tendent saturer rapidement la
seul ne suffit
liste tabou. A linverse, le critre
pas : son domaine de valeurs est beaucoup trop restreint
par rapport au nombre de solutions possibles.
4.2.
5. RSULTATS NUMRIQUES
Nous prsentons ici une synthse des rsultats obtenus
sur une srie de problmes gnrs par P. Baptiste et al.
(Baptiste et al., 1998), ce qui nous permet de comparer les
rsultats issus dune mthode exacte avec la recherche taboue que nous avons mise en uvre. La mthode exacte a
t dveloppe par P. Baptiste et al. (Baptiste et al., 2000),
elle est base sur la propagation de contraintes. Pour la
. Comme P. Baptiste
suite, cette mthode sera note
et al., nous avons arbitrairement limit le temps de calcul
de chaque instance 600s.
v
|G%
S
%H GH |G%TU
|G% 8
a
v
ys
a
|G5 _
v
T
v
|G%
donne de
Pour les tableaux de TAB 1, lorsque
meilleurs rsultats que
, les solutions sont trs proches
(du mme ordre de grandeur que
). Dans le cas
contraire, la technique dcrite dans (Baptiste et al., 2000)
donne des solutions trs loignes de la solution trouve
par
lorsquelle est interrompue prmaturment.
a
a
a
ys
:
y
y
T
:
y
y
|G%
1
0
7
0
23.3
0
8
2
145
153
99
0
5
2
1174
1305
|G%
1
1
25
8
RFRENCES
10
10
1
35
38.9
0
23
12
210
180
99
1
22
12
21
1996
1459
ys
:
y
y
T
:
y
y
1
4 1.25
5
1
1
1
4
4
4
10
3.5
1.5
4
|G%
1
6
1
4
|G%
1
1
1
10
13 2.92
5
3.2
3 3.67
7
9
5
99
13.29
14.3
28.6
99
15 42.4
7
41.6
3
22.3
v
6.
g
a
v
CONCLUSION