• Aucun résultat trouvé

Résolution du RCPSP avec production et consommation de ressources : modèles PLNE basés sur les événements

N/A
N/A
Protected

Academic year: 2021

Partager "Résolution du RCPSP avec production et consommation de ressources : modèles PLNE basés sur les événements"

Copied!
11
0
0

Texte intégral

(1)

HAL Id: hal-00484259

https://hal.archives-ouvertes.fr/hal-00484259

Submitted on 18 May 2010

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

de ressources : modèles PLNE basés sur les événements

Oumar Koné, Christian Artigues, Pierre Lopez, Marcel Mongeau

To cite this version:

Oumar Koné, Christian Artigues, Pierre Lopez, Marcel Mongeau. Résolution du RCPSP avec pro-

duction et consommation de ressources : modèles PLNE basés sur les événements. International

Conference of Modeling and Simulation ( MOSIM’10), May 2010, Hammamet, Tunisie. 10p. �hal-

00484259�

(2)

8e Conf´erence Internationale de MOd´elisation et SIMulation - MOSIM’10 - 10 au 12 mai 2010 - Hammamet - Tunisie

«Evaluation et optimisation des syst`emes innovants de production de biens et de services´ »

R´ ESOLUTION DU RCPSP AVEC PRODUCTION ET CONSOMMATION DE RESSOURCES : MOD` ELES PLNE

BAS´ ES SUR LES ´ EV´ ENEMENTS

Oumar KON´E1,2,3, Christian ARTIGUES1,2, Pierre LOPEZ1,2 & Marcel MONGEAU3,4

1CNRS ; LAAS ; 7 avenue du colonel Roche, F-31077 Toulouse, France

2 Universit´e de Toulouse ; UPS, INSA, INP, ISAE ; LAAS ; F-31077 Toulouse, France

3 Universit´e de Toulouse ; UPS, INSA, UT1, UTM ; Institut de Math´ematiques de Toulouse

4 CNRS ; Institut de Math´ematiques de Toulouse UMR 5219 ; F-31062 Toulouse, France

R´ESUM´E : Cet article traite de l’extension du probl`eme d’ordonnancement de projet `a moyens limit´es qui prend en compte la consommation et la production de ressources. Nous proposons deux mod`eles bas´es sur l’utilisation de variables indic´ees par des ´ev´enements. Puis, nous comparons leurs r´esultats `a ceux de quelques mod`eles classiques de la litt´erature.

MOTS-CL´ES : Ordonnancement de projet, RCPSP, programmation lin´eaire en nombres entiers, mod-

`eles `a ´ev´enements, formulation on/off.

INTRODUCTION

Le probl`eme d’ordonnancement de projet `a moyens limit´es (RCPSP : Resource-Constrained Project Scheduling Problem), est l’un des probl`emes d’ordonnancement cumulatif les plus connus, du fait de l’int´erˆet que lui ont accord´e les chercheurs du domaine de la recherche op´erationnelle et de ses nombreuses applications industrielles. Dans cet article nous nous int´eressons `a l’extension du RCPSP qui, au-del`a des ressources renouvelables, que nous consid´erons dans sa version basique, comporte

´egalement des ressources pouvant ˆetre produites et consomm´ees lors de l’ex´ecution des activit´es. Cette extension est d´esign´ee par le terme RCPSP avec production et consommation de ressources.

Il existe dans la litt´erature des travaux se rapportant

`a ce type de RCPSP avec production et consomma- tion de ressources. Le probl`eme d’ordonnancement de projet avec contraintes d’inventaire de stock et con- traintes temporelles g´en´eralis´ees, incluant `a la fois des ressources renouvelables et non renouvelables, a ´et´e formalis´e par Neumann et Schwindt [19] en 2002. Ces auteurs proposent ´egalement un branch-and-bound avec un filtrage par une heuristique de recherche en faisceau, pour la r´esolution de ce probl`eme. Car- lier et al. [11] traitent ce type de probl`eme (RCPSP avec production et consommation de ressources) in- cluant des contraintes de “time-lag” g´en´eralis´ees, en proposant un nouvel algorithme dit de liste. Pour plus de d´etails sur l’´etat de l’art des travaux traitant

de ce type de probl`eme, nous renvoyons le lecteur aux articles suivants [18, 8, 11]. Celui de Laborie [18] d´efinit les bases du concept du RTN (“Resource Temporal Network”), offrant une grande puissance de mod´elisation et sert de support pour d’autres auteurs tels que Bouleyet al. [8].

Dans notre ´etude, apr`es une description d´etaill´ee du RCPSP et l’extension que nous traitons dans cet ar- ticle, nous pr´esentons des extensions des mod`eles de programmation lin´eaire en nombres entiers pour le RCPSP basique, dont deux nouvelles formulations, que nous ´etendrons `a la r´esolution du RCPSP avec production et consommation de ressources. Pour finir, nous pr´esentons quelques r´esultats exp´erimen- taux.

1 D´EFINITION DU PROBL`EME

Formellement, le probl`eme d’ordonnancement de projet sous contraintes de ressources (RCPSP) est un probl`eme d’optimisation combinatoire d´efini par un 6-uplet (V, p, E, R, B, b), o`u V est un ensemble d’activit´es,pest un vecteur dedur´ees d’ex´ecution,E est un ensemble derelations de pr´ec´edences,Rest un ensemble deressources,Best un vecteur decapacit´es (disponibilit´es des ressources), etbest une matrice de demandes (consommations de ressource).

(3)

1.1 Description du RCPSP basique

Soit n le nombre d’activit´es `a ordonnancer, et m le nombre de ressources disponibles. Les activit´es constituant le projet sont identifi´ees par un ensemble {0, . . . , n+ 1}. L’activit´e 0 repr´esente par convention le d´ebut de l’ordonnancement (d´ebut du projet), et l’activit´en+1 quant `a elle repr´esente sym´etriquement la fin de l’ordonnancement (fin du projet). Toutes deux sont des activit´es fictives appel´ees ´egalementac- tivit´es jalons. L’ensemble des activit´es non-fictives est not´eA={1, . . . , n}. Les dur´ees d’ex´ecution sont repr´esent´ees par un vecteur p de Nn+2, o`u la ii`eme composante,pi, est la dur´ee d’ex´ecution de l’activit´e i, avec les valeurs sp´ecialesp0=pn+1= 0, caract´eris- tiques des deux activit´es fictives.

Lesrelations de pr´ec´edences (repr´esent´ees par exem- ple sur un graphe potentiels-tˆaches acyclique) sont donn´ees par un ensemble E de paires d’indices d’activit´es telles que (i, j)∈E signifie que l’activit´e i pr´ec`ede l’activit´ej.

On parle deressource cumulativesi la ressource peut ˆetre utilis´ee au mˆeme moment par plusieurs activi- t´es lors de leur ex´ecution. Dans le cas contraire, on parle de ressource disjonctive. Une ressource est dite renouvelable si elle redevient disponible dans sa quantit´e initiale, une fois lib´er´ee par les activit´es.

Dans sa version basique, le RCPSP met en jeu des ressources renouvelables formalis´ees par l’ensemble R ={1, . . . , m}. Les disponibilit´es des ressources re- nouvelables sont repr´esent´ees par un vecteurBdeNm tel queBk indique la capacit´e de la ressource renou- velable k. Les consommations des activit´espour les ressources renouvelables figurent dans la matriceb, de taille (n+ 2)×m, dont la composantebik repr´esente la quantit´e de ressource renouvelable k utilis´ee par l’activit´e i sur toute sa dur´ee d’ex´ecution. On pose b0k=bn+1,k= 0, pour toutk∈R.

Un ordonnancementest un point S de Rn+2 tel que sa i`eme composante, Si, repr´esente la date de d´ebut de l’activit´ei. La date de d´emarrage est S0= 0. Le makespan d’un ordonnancement S est ´egal `a Sn+1, la date de d´ebut de l’activit´e de fin de projet. Une solution S est dite r´ealisable si elle est compatible avec les contraintes de pr´ec´edences

Sj−Si≥pi ∀(i, j)∈E, (1) et les contraintes de ressources

!

iAt

bik≤Bk ∀k∈R,∀t∈H, (2)

o`u At = {i ∈ A |Si ≤ t < Si + pi} repr´esente l’ensemble des activit´es non-fictives en cours d’ex´ecution `a l’instant t et la non-pr´eemption des activit´es, H = {0,1, . . . , T} est l’horizon d’ordonnancement, et T la longueur de l’horizon

d’ordonnancement (pouvant ˆetre consid´er´ee comme une borne sup´erieure pour le makespan.

Le RCPSP est le probl`eme visant `a trouver un or- donnancement non-pr´eemptif S de makespan mini- malSn+1soumis `a des contraintes de pr´ec´edences et des contraintes de ressources.

Le RCPSP est l’un des probl`emes d’optimisation com- binatoire les plus difficiles `a r´esoudre. La d´emonstra- tion de sa NP-difficult´e au sens fort est donn´ee par Blazewiczet al. [7].

1.2 RCPSP avec consommation et produc- tion de ressource

La particularit´e du RCPSP avec production et con- sommation de ressources, est qu’en plus d’utiliser les ressources d´ecrites ci-dessus, on a aussi affaire `a des ressources particuli`eres, dites non renouvelables. Cer- tains auteurs [19] parlent de ressources cumulatives pour ce type de ressources. Il s’agit de ressources qui sont consomm´ees (ou pas) au d´ebut de l’ex´ecution d’une activit´e, dans une certaine quantit´e, puis repro- duites dans une autre quantit´e `a la fin de l’ex´ecution de cette activit´e. Plus pr´ecis´ement, une activit´eicon- somme cip unit´es de la ressourcep au d´ebut de son ex´ecution et en produitc+ipunit´es `a la fin de son ex´ecu- tion. On d´esignera parP l’ensemble de ces ressources etCple niveau de stock initial de la ressourcep∈P. De ces ressources, on peut distinguer les cas de figure suivants :

• Si cip =c+ip , alors pest une ressource renouve- lable comme dans le RCPSP basique.

• Dans le cas o`u l’on acip '=c+ip :

– Si cip = 0 et c+ip > 0 (production de ressources). G´en´eralement pr´ec´ed´e de la consommation d’une certaine quantit´e d’une autre ressource, ce cas est ren- contr´e dans les industries de transforma- tion de mati`eres et parfois en produc- tion d’´energie (sauf que l’´energie produite de fa¸con continue peut ˆetre utilis´ee avant mˆeme l’ach`evement de l’activit´e produc- trice).

– Si cip < c+ip, alors on consomme au d´epart une certaine quantit´e du produit afin d’en produire davantage.

– Si cip > c+ip, alors pest une ressource con- sommable telle qu’un budget, une mati`ere premi`ere, etc.

(4)

MOSIM’10 - 10 au 12 mai 2010 - Hammamet - Tunisie

2 FORMULATIONS PLNE `A TEMPS DIS- CRET

Bas´ees sur l’utilisation de variables index´ees sur un horizon de temps discr´etis´e, les formulations `a temps discret ont donn´e lieu `a la formulation basique `a temps discret (DT) et la formulation d´esagr´eg´ee `a temps discret (DDT).

Propos´ee en 1969 par Pritsker et al. [20], la for- mulation basique `a temps discret (DT) est bas´ee sur l’utilisation, pour chaque activit´e i, de variables d’optimisation binairesxitindex´ees par le temps et la discr´etisation de l’horizon d’ordonnancement. Cette variable vaut 1 si l’activit´eid´emarre son ex´ecution `a l’instantt, et 0 sinon.

Le mod`ele DDT propos´ee par Christofides en 1987 [12] est tr`es proche de DT. Cependant, ces formula- tions diff`erent par leur mani`ere de formuler la con- trainte de pr´ec´edence. Typiquement, alors que le mod`ele DT d´efinit la contrainte pour chaque paire d’activit´es de l’ensemble des pr´ec´edences, le mod`e- le DDT propose une contrainte pour chaque paire d’activit´es de l’ensemble des pr´ec´edences et pour chaque instant de l’horizon d’ordonnancement.

Ces mod`eles, class´es parmi les mod`eles comprenant un nombre pseudo-polynomial de variables et de con- traintes, s’av`erent p´enalisant pour la r´esolution des probl`emes `a horizon de temps tr`es ´etendu. Cepen- dant, ils sont connus (principalement DDT) pour fournir d’assez bons r´esultats et des bornes int´eres- santes par relaxation continue sur les instances clas- siques du RCPSP (cf. [4]).

Pour la prise en compte de l’aspect production de ressources dans ces mod`eles, nous introduisons la variable continue stp indiquant le niveau de stock de chaque ressource p ∈ P `a chaque instant t. Les contraintes additionnelles sont les suivantes :

s0p=Cp

nX1 i=1

xi0cip ∀pP (3)

stp=st1,p

nX1 i=1

xitcip

+

n−1X

i=1

xi,t−pic+ip ∀(t, p)H×P, t >0 (4) stp0 (t, p)H×P. (5)

La contrainte (4) impose `a chaque instant t, que le niveau de stock (stp) de chaque ressource p ∈ P soit ´egal au niveau de stock `a l’instant pr´ec´e- dent (t − 1) de cette ressource, augment´e de la somme des productions ("n1

i=1 xitcip) de cette mˆeme ressource par les activit´es finissant leur ex´ecution `a l’instant t, et diminu´e de la somme des consomma- tions ("n−1

i=1 xi,tpic+ip) des activit´es d´ebutant leur

ex´ecution `a ce mˆeme instantt.

Quant `a la contrainte (3), elle traite du cas particu- lier de la contrainte (4) `a l’instantt= 0, c’est-`a-dire quand on d´ebute le projet.

En outre, une condition suppl´ementaire `a respecter s’ajoutant au probl`eme, consiste `a imposer que les ac- tivit´es d´ebutant leur ex´ecution disposent de suffisam- ment de ressources pour ˆetre ex´ecut´ees. Pour ce faire, on impose avec la contrainte (5), que la variablestp

reste toujours positive, exprimant ainsi le fait qu’on ne doit `a aucun moment ˆetre en d´eficit de ressource.

On note que les variablesstppeuvent ˆetre substitu´ees par leur valeur en fonction desxit.

3 MOD`ELE `A TEMPS CONTINU BAS´EE SUR LES FLOTS (FCT)

Inspir´e par les travaux de Balas et al. [5], et sur la base de la formulation d’Alvarez-Vald`es et Tamarit [1], Artigueset al. [3] proposent le mod`ele nomm´efor- mulation `a temps continu bas´ee sur les flots (FCT).

Ce mod`ele utilise des variables de flots pour la ges- tion des ressources, de variables continues usuelles de date de d´ebut Si pour d´efinir la date de d´ebut de chaque activit´e du projet et des variables s´equen- tielles binairesxij permettant de d´efinir un ordre par- tiel entre les diff´erentes activit´es (xij= 1, si l’activit´e i pr´ec`ede l’activit´e j). Les variables continues fijk

d´efinissent la quantit´e de ressourcek“envoy´ee” (rede- venue disponible) par l’activit´ei(`a la fin de son ex´e- cution) `a l’activit´ej(au d´ebut de son ex´ecution). On consid`ere que les ressources sont toutes disponibles et stock´ees au niveau de l’activit´e fictive 0 (sommet source dans le graphe de pr´ec´edence associ´e au pro- jet). Par la suite, les activit´es d´emarrant leur ex´e- cution utilisent ces ressources pour ˆetre ex´ecut´ees, et une fois termin´ees, elles transf`erent ces ressources aux activit´es qui les succ`edent. Cette op´eration se r´ep`ete jusqu’`a ce que les derni`eres activit´es `a ˆetre ex´ecut´ees, les transmettent `a leur tour `a l’activit´e fictive n+ 1 (sommetpuits).

Pour ce type de mod`ele, class´e parmi les mod`eles compacts, Applegate et Cook [2] montrent que cette formulation produit de mauvaises relaxations dues `a l’utilisation d’une constante “grand M” dans les con- traintes. Par contre, pour la r´esolution des probl`emes ayant de grands horizons, cette formulation peut ˆetre pr´ef´erable. Cependant, l’utilisation des variables s´equentielles pourrait ˆetre `a l’origine d’un trop grand nombre de sym´etries, affectant de ce fait les perfor- mances du mod`ele pour la r´esolution de probl`emes fortement cumulatifs.

L’adaptation de ce mod`ele `a la r´esolution du RCPSP avec production et consommation de ressources impose l’ajout d’une variable continueDijprepr´esen-

(5)

tant la quantit´e de ressource p ∈ P que l’activit´e i (`a la fin de ex´ecution) envoie `a l’activit´ej (au d´ebut de son ex´ecution). Comme l’exprime la contrainte (6) ci-dessous, cette quantit´e ne peut en aucun cas d´epasser le minimum entre la quantit´e produite par l’activit´e i et la quantit´e consomm´ee par l’activit´e j, si l’activit´e i pr´ec`ede l’activit´e j. Ainsi, con- form´ement au principe de ce mod`ele, les nouvelles ressources non-renouvelables sont ´egalement g´er´ees `a l’aide des flots, par les contraintes suivantes :

Dijpmin (c+ip, cjp)xi,j (i, j)A2, pP (6) X

j∈A∪{0}

Dijp=cjp iA∪ {n+ 1}, pP (7) X

iA∪{n+1}

Dijp=c+ip ∀iA∪ {0}, pP (8)

c+0p=Ck ∀pP (9)

c+(n+1)p= + pP (10)

La contrainte (7) impose que la somme des quan- tit´es de ressources p ∈P re¸cues des activit´es pr´ec´e- dentes par une activit´e i, soit ´egale `a la quantit´e de ressources qu’elle consomme pendant son ex´ecu- tion. Sym´etriquement, la contrainte (8) impose que la somme des quantit´es de ressources envoy´ees par l’activit´e iaux autres activit´es, soit ´egale `a la quan- tit´e qu’elle produit. Cependant, `a l’aide de la con- trainte (9) (respectivement, contrainte (10)), pour chaque ressourcep∈P, on fixe la production de cette ressource par l’activit´e 0 (respectivement l’activit´e n+ 1) `a son niveau de stock initial (respectivement,

`a l’infini).

4 FORMULATIONS PLNE BAS´EE SUR LES ´EV´ENEMENTS

A la diff´erence des mod`eles `a temps discret, Zapa-` ta et al. [21] proposent une formulation de type PLNE bas´ee sur les ´ev´enements utilisant trois types de variables binaires pour la r´esolution du pro- bl`eme d’ordonnancement multi-projet multi-mode `a ressources limit´ees (MRCMPSP). Nous pr´esentons ici deux nouveaux mod`eles utilisant moins de variables binaires.

4.1 Formulation start/end bas´ee sur les

´ev´enements (SEE)

Notre formulation dite start/end utilisant ´egalement des variables index´ees par les ´ev´enements, se distingue par l’utilisation de deux types de variables binaires (xie et yie). Celles-ci d´eterminent l’ex´ecution d’une activit´e dans le temps `a l’aide d’´ev´enements. Plus pr´ecis´ement, xie indique si oui ou non l’activit´e i d´ebute son ex´ecution `a l’´ev´enemente, etyie indique si oui ou non l’activit´e i termine son ex´ecution `a l’´ev´enement e.

Nous avons ´egalement besoin d’une variable continue te d´esignant la date de l’´ev´enement e et d’une vari- able continuebek indiquant le niveau de la ressource kutilis´ee entre les ´ev´enementseete+1. L’utilisation des activit´es fictives 0 etn+ 1 n’´etant pas n´ecessaire dans ce mod`ele, on ne consid`ere que l’ensembleAdes nactivit´es (non-fictives), et doncn+ 1 ´ev´enements.

r,t,x,ymin tn (11)

t0= 0 (12)

tf te+pixie

pi(1yif) (e, f)∈ E2, f > e,iA(13) te+1te e∈ E, e < n (14) X

e∈E

xie= 1 iA (15)

X

e∈E

yie= 1 ∀iA (16)

Xn e!=e

yie!+

eX1 e!=0

xje!1 (i, j)E,e∈ E (17)

r0k=X

iA

bikxi0 kR (18)

rek=r(e1)k+ X

iA

bikxieX

iA

bikyie ∀e∈ E, e1, kR (19)

rekBk ∀e∈ E, kR (20)

te0 e∈ E (21)

rek0 e∈ E, kR. (22) xie∈ {0,1}, yie∈ {0,1} ∀iA,∀e∈ E (23)

La fonction-objectif est donn´ee par (11) et l’´equation (12) fixe la date de l’´ev´enement 0 plac´e par convention

`a 0.

L’in´equation (13) stipule que si l’activit´eid´ebute son ex´ecution `a l’´ev´enementeet la termine `a l’´ev´enement f, alors le moment qui s´epare l’´ev´enement f de l’´ev´enementeest au moins ´egal `a la dur´ee op´eratoire de l’activit´ei.

L’in´equation (14) impose que la date de l’´ev´enement e soit ant´erieure ou ´egale `a la date de l’´ev´enement e+ 1.

La contrainte (15) (respectivement (16)) impose qu’une activit´e ne peut d´ebuter (resp. ne peut se ter- miner) qu’une et une seule fois, c’est-`a-dire n’est as- soci´ee qu’`a un et un seul ´ev´enement.

L’in´equation (17) repr´esente les contraintes de pr´ec´e- dence. Elle impose que :

si"e1

e!=0xje! = 1 alors "n

e!=eyie! = 0.

En d’autres termes, pour toute paire d’activit´es (i, j) appartenant `a l’ensemble de pr´ec´edences E, l’´ev´enement de d´ebut d’ex´ecution de l’activit´e j se produira en mˆeme temps, ou apr`es, l’´ev´enement de fin d’ex´ecution de l’activit´ei.

Les ´equations (18) et (19) repr´esentent les contraintes

(6)

MOSIM’10 - 10 au 12 mai 2010 - Hammamet - Tunisie

de conservation des ressources. La contrainte (19) (respectivement (18)) donne la consommation totale rek(resp. r0k) de la ressourcek`a l’´ev´enemente(resp.

`a l’´ev´enement 0).

Les contraintes (20) repr´esentent les contraintes de ressources. Pour chaque ´ev´enemente, elles limitent la consommation totale des ressources `a la capacit´e to- tale disponible de cette ressource, et ce, pour chaque ressource k. Cependant, notons que l’utilisation de variables continues rek n’est pas indispensable. On peut les remplacer par leur expression, donn´ee par les ´equations (18) et (19), dans l’in´equation (20).

Ce mod`ele, comportant un nombre polynomial de variables et de contraintes, class´e parmi les mod`eles dits compacts, se caract´erise par la simplicit´e de mo- d´elisation des contraintes de ressources.

Comme les mod`eles dits s´equentiels [13, 3] (o`u une variable binairexij d´ecide de l’ordre relatif des acti- vit´esietj), le mod`ele start/end est bas´e sur la logique qui consiste avant tout `a trouver un ordre partiel ou global des activit´es, puis `a appliquer une autre m´e- thode de post-traitement (tel que l’algorithme s´eriel [15]) pour affiner/d´eterminer la solution optimale.

Pour la prise en compte de l’aspect production de ressource dans le RCPSP, on introduit de nouvelles variables continues sep ≥ 0 indiquant le niveau de stock de chaque ressource p ∈ P imm´ediatement apr`es chaque ´ev´enement e. Ainsi, on d´efinit les contraintes suivantes :

s0p=Cp

nX1 i=1

xi0cip pP (24)

sep=se1,p

nX1 i=1

xiecip+

nX1 i=1

yi,ec+ip ∀(e, p)∈ E ×P, e >0 (25) sep0 ∀(e, p)∈ E ×P (26)

Ces contraintes permettent de calculer le niveau de stock de chaque ressourcep`a chaque ´ev´enemente, qui est ´egal `a celui `a l’´ev´enement pr´ec´edente−1, diminu´e des quantit´es consomm´ees `a l’´ev´enementepar les ac- tivit´es d´ebutant leur ex´ecution, et augment´e de la production de celles finissant ene. Ainsi, l’utilisation des variables binaires xie (respectivement yi,e) indi- quant le d´ebut (respectivement la fin) des activit´es, caract´eristiques de ce mod`ele, simplifie l’expression de ces contraintes (24) et (25), ditescontraintes d’´etat des stocks. La contrainte (26) permet d’assurer que les activit´es d´emarrant leur ex´ecution disposent de suffisamment de ressource pour ˆetre ex´ecut´ees.

4.2 Formulation on/off bas´ee sur les ´ev´ene- ments (OOE)

Cette deuxi`eme formulation bas´ee sur la notion d’´ev´enements que nous proposons, utilise un seul type de variables binaires (zie) en plus des variables con- tinueste. La variable binaire zie permet d’identifier les intervalles pendant lesquels une activit´e d´ebute ou est en cours d’ex´ecution. Ainsi, zie vaut 1 si l’activit´e i d´ebute, ou est en cours d’ex´ecution, im- m´ediatement apr`es l’´ev´enement e, sinon elle vaut 0.

Quant `a la variablete, elle d´etermine toujours la date de l’´ev´enement e. Dans ce mod`ele, on prouve ais´e- ment qu’un ordonnancement optimal ne comportera pas plus d’´ev´enements de d´ebut que d’activit´es exis- tantes. De ce fait, on pourra restreindre l’ensemble des ´ev´enements `a n´el´ements : E ={0,1, . . . , n−1}, sachant que l’utilisation des activit´es fictives n’est pas indispensable. Le nombre d’´ev´enements est ici ´egal au nombre d’activit´es.

h j

1 2

0 Evénements

Variables i

g

zi1= 1 zi2= 1

Figure 1: Ev´enements dans la formulationon/off La figure 1 montre un exemple d’ordonnancement `a quatre activit´es (g, h, i et j) et une seule ressource.

On n’a besoin que de trois ´ev´enements pour sa mod´elisation, car n’ayant pas d’activit´e qui d´emarre

`a la fin de l’ex´ecution des activit´esiet j, il n’est pas n´ecessaire de leur associer des ´ev´enements de fin. La formulation OOE est donc :

z,t,CminmaxCmax (27)

Cmaxte+ (ziezi(e1))pi e∈ E,iA (28)

t0= 0 (29)

tf te+ (ziezi(e1)

(zifzi(f1))1)pi e∈ E \ {0},f∈ E,

iA, f > e (30) te+1te ∀e)=n1∈ E (31)

e1

X

e!=0

zie! e(1(ziezi(e−1))) e)= 0∈ E (32)

nX1

e!=e

zie! (ne)(1 + (ziezi(e1))) e)= 0∈ E (33) X

e∈E

zie1 iA (34)

zie+ Xe e!=0

zje! 1 + (1zie)e ∀e∈ E,∀(i, j)E(35)

nX1 i=0

bikzieBk ∀e∈ E,∀kR (36)

te0 ∀e∈ E (37)

zie∈ {0,1} iA,e∈ E (38)

La d´efinition du makespan, Cmax est assur´ee par

(7)

la contrainte (28). Elle impose que Cmax ≥ te+pi

si l’activit´e i est en cours d’ex´ecution juste apr`es l’´ev´enement e. En d’autres termes, le makespan doit ˆetre sup´erieur ou ´egal `a la date de fin de toute activit´e i en cours d’ex´ecution juste apr`es l’´ev´enemente.

Tout comme la contrainte (12) du mod`elestart/end, la contrainte (29) fixe la date de l’´ev´enement 0 `a l’instant 0.

Les contraintes (30) ont deux rˆoles essentiels. D’une part, elles permettent de lier les variables binaires zie aux variables continueste. D’autre part, elles as- surent que si une activit´eicommence `a l’´ev´enement e et se termine `a l’´ev´enement f, alors la date de l’´ev´enementf est sup´erieure `a la date de l’´ev´enement e, augment´ee de la dur´ee op´eratoire de l’activit´ei.

Les contraintes (31), tout comme les contraintes (14) imposent que la date de tout ´ev´enement e soit sup´erieure ou ´egale `a la date de l’´ev´enement pr´ec´e- dent,e−1.

Les contraintes (32) et (33) repr´esentent les con- traintes de non-pr´eemption des activit´es. Elles as- surent la contigu¨ıt´e des ´ev´enements durant lesquels une activit´e reste en cours d’ex´ecution.

Les contraintes (34) imposent que chaque activit´e soit ex´ecut´ee au moins une fois pendant le projet.

Les contraintes (35) garantissent les relations de pr´ec´edence entre les activit´es.

Les contraintes de ressources (36) imposent que la somme des quantit´es de chaque ressource consomm´ee par les activit´es en cours d’ex´ecution `a chaque ´ev´ene- ment ereste inf´erieure `a la capacit´e disponible de la ressource.

Ce mod`ele peut ˆetre class´e parmi les formulations comportant un nombre polynomial de variables et de contraintes. Ainsi, le mod`ele OOE peut traiter des projets ayant un horizon d’ordonnancement par- ticuli`erement ´etendu. De plus, OOE ne requiert pas l’utilisation d’activit´es fictives. De fa¸con plus impor- tante, OOE pr´esente une simplicit´e particuli`ere pour la mod´elisation des contraintes de ressource renouve- lables. Pour finir, OOE est bas´e sur la mˆeme logique de r´esolution qui consiste d’abord `a trouver un ordre partiel ou global des activit´es, puis `a appliquer une m´ethode de post-traitement pour affiner/d´eterminer la solution optimale.

La variante OOE Prec

Cette variante, qui est en fait le mod`ele OOE avec un “preprocessing”, est obtenue en supprimant dans l’ensemble des ´ev´enements possibles pour chaque ac- tivit´e, les ´ev´enements pendant lesquels cette activi-

t´e ne pourra pas ˆetre en ex´ecution `a cause de ses pr´ed´ecesseurs (un ou plusieurs de ses pr´ed´ecesseurs sont en cours d’ex´ecution ou n’ont toujours pas en- core ´et´e ex´ecut´es). Sym´etriquement, on supprimera aussi pour cette activit´e, tous les ´ev´enements pendant lesquels elle ne pourra pas ˆetre en cours d’ex´ecution

`a cause de ses successeurs.

SoitA(i) l’ensemble des pr´ed´ecesseurs de l’activit´ei dans le graphe de pr´ec´edence G, et D(i) l’ensemble de ses successeurs.

Proposition 4.1. Il existe une solution optimale de OOE telle que pour chaque activit´ei: "|A(i)|

e=0 zie= 0 et"n

e=n−|D(i)|+1zie= 0.

D´emonstration 1. Lorsqu’on a n ´ev´enements, il existe toujours une solution optimale telle que ses activit´es d´ebuteront `a des ´ev´enements distincts. En d’autres termes, pour deux activit´es distinctes iet j, on aura :

zie−zi,e−1= 1∧zjf −zj,f−1= 1 =⇒ e'=f.

Il est important de remarquer que cela n’interdit pas que te = tf. De plus, si j est un pr´ed´ecesseur de i dans G, alors l’´ev´enement affect´e `a j sera stricte- ment ant´erieur `a l’´ev´enement affect´e `ai: te> tf. La proposition est une cons´equence de ces deux observa- tions.

On obtient OOE Prec en fixant donc d’embl´ee les variables suivantes `a 0, et on obtient ainsi une for- mulation correcte pour le RCPSP :

zie= 0, i∈A, e∈ {0, . . . ,|A(i)|}∪{n−|D(i)|+1, . . . , n}. (39)

Adaptation des mod`eles OOE et OOE Prec au RCPSP avec production et consommation de ressources

Pour les mod`eles OOE et OOE Prec, la prise en compte de l’aspect production de ressources n´ecessite non seulement l’ajout de nouvelles contraintes, mais aussi l’introduction de nouvelles variables continues.

Nous d´efinissons :

• sep la variable continue indiquant le niveau de stock de la ressourcep∈P `a l’´ev´enemente;

• piep la variable continue indiquant la quantit´e de ressources p ∈ P produite par l’activit´e i `a l’´ev´enemente;

• uiep la variable continue indiquant la quantit´e de ressources p ∈ P consomm´ee (utilis´ee) par l’activit´ei`a l’´ev´enemente.

(8)

MOSIM’10 - 10 au 12 mai 2010 - Hammamet - Tunisie

Afin de simplifier l’expression de certaines con- traintes, on utilisera temporairement des variables in- term´ediaires Xie et Yie. Il ne s’agit en aucun cas de nouvelles variables `a ajouter au mod`ele, mais plutˆot de notations permettant de simplifier l’´ecriture des contraintes. On pourra facilement remplacer directe- ment dans les diff´erentes contraintes ces deux vari- ables interm´ediaires par leurs d´efinitions :

Xi,e:=zie−zi,e−1, ainsiXi,e∈ {−1,0,1}; Yi,e:=zie−zi,e+1, de sorte queYi,e∈ {−1,0,1}. On notera que Xi,e = −Yi,e1. De plus Xi,e = 1 signifie que l’activit´e i se termine `a l’´ev´enement e et Yi,e = 1 signifie que l’activit´e i finit son ex´ecu- tion `a l’´ev´enement e. Lorsque Xi,e = Yi,e = 0, alors l’activit´eine d´ebute, ni termine son ex´ecution

`a l’´ev´enemente.

Pour le RCPSP avec production et consommation de ressources, les contraintes additionnelles `a ajouter aux mod`eles OOE et OOE Prec, sont les suivantes :

piep0 (e, i, p)∈ E ×A×P (40) piepc+ipYi,e1 (e, i, p)∈ E ×A×P (41) piepc+ipzi,e−1 ∀(e, i, p)∈ E ×A×P (42) piepc+ip(1zi,e) ∀(e, i, p)∈ E ×A×P (43) uiep0 (e, i, p)∈ E ×A×P (44) uiepcipXie ∀(e, i, p)∈ E ×A×P (45) uiepcipzie ∀(e, i, p)∈ E ×A×P (46) uiepcip(1zi,e−1) (e, i, p)∈ E ×A×P (47)

sep=se1,p+ X

iA

piepX

iA

uiep (e, p)∈ E ×P, e >0 (48)

s0p=CpX

iA

ui0p pP (49)

sep0 (e, p)∈ E ×P (50)

Ces nombres importants de variables continues et de contraintes suppl´ementaires sont essentiellement dus au fait que ce mod`ele ne dispose pas de variable permettant l’identification nette et pr´ecise du d´ebut (respectivement de la fin) de l’ex´ecution de chaque ac- tivit´e correspondant au point de consommation (resp.

de production) de la ressource. Ainsi, pour d´eter- miner la consommation (respectivement la produc- tion) des activit´es d´ebutant (resp. terminant) leur ex´ecution `a l’´ev´enemente, on utilise `a la fois les con- traintes (41), (42) et (43) (resp. (45), (46) et (47)).

Explicitement, si une activit´e i termine son ex´ecu- tion `a l’´ev´enemente, alors la contrainte (41) a pour vocation d’imposer que la valeur de la variable piep

qui d´etermine sa production de ressource p `a cet

´ev´enement e, soit au moins ´egale `a sa production de ressource c+ip, tandis que les deux autres contraintes (42) et (43) imposent que la valeur de cette mˆeme variable, `a ce mˆeme ´ev´enement e, pour la mˆeme ac- tivit´ei, soit au plus ´egale `a cette mˆeme production de

ressourcec+ip. Cela revient `a imposer que la valeur de la variablepiep soit ´egale `a c+ip, si l’activit´eitermine son ex´ecution `a l’´ev´enement e, pour toute ressource p ∈ P. La combinaison de ces contraintes permet

´egalement d’annuler la valeur de cette variable `a tout autre ´ev´enement, afin de ne rendre significative que sa valeur `a l’´ev´enementeconsid´er´e plus haut.

De mˆeme, dans le cas de la consommation de ressource, la contrainte (45) impose que la variable uiep soit au moins ´egale `a cip (la consommation de la ressourcepde l’activit´e i); les contraintes (46) et (47) imposent alors qu’elle ne d´epasse pas cette mˆeme valeurcip. Ici, on consid`ere que l’activit´eid´ebute `a l’´ev´enement e et se termine `a un autre ´ev´enement quelconque. Ainsi, de fa¸con analogue `a la variable piep, il r´esulte de la combinaison des contraintes (44), (45), (46), et (47) que la variableuiepsera ´egale `acip

`a l’´ev´enement e, et nulle pour tous les autres ´ev´ene- ments.

La contrainte (48) d´etermine le niveau de stock de la ressource p ∈ P `a l’´ev´enement e. Il est ´egal au niveau de stock `a l’´ev´enement pr´ec´edent, moins la somme des quantit´es produites de la mˆeme ressource par les activit´es en fin d’ex´ecution, moins la somme de celles consomm´ees par les activit´es en cours, tout ceci `a l’´ev´enemente. Donc, il est ´egalement possible de supprimer les variablessep, en les rempla¸cant par leur valeur.

La contrainte (50) stipule qu’une activit´e ne peut d´ebuter son ex´ecution que si elle dispose de suffi- samment de ressource. Pour finir, alors que la con- trainte (40) (respectivement la contrainte (44)) inter- dit que les quantit´es produites (resp. consomm´ees) soient n´egatives, la contrainte (50) permet de garan- tir de fa¸con analogue aux contraintes (5) et (26), qu’on ne sera en aucun cas en situation de d´eficit de ressource.

5 R´ESULTATS EXP´ERIMENTAUX

Tous les tests ont ´et´e effectu´es sur un PC Dell Xeon 5110 biprocesseur cadenc´e `a 1,6 GHz, avec 4 GB de RAM, tournant sous le syst`eme d’exploitation Fedora de Linux. Toutes les formulations ont ´et´e cod´ees en C++, dans un environnement ILOG-Concert version 2.6. Nous avons utilis´e le solveur commercial ILOG- Cplex version 11.1 pour les r´esolutions. Le temps limite de r´esolution pour chaque instance a ´et´e fix´e `a 500 secondes.

5.1 Les instances

Dans notre ´etude, nous avons utilis´e les instances suivantes :

KSD30 : Nous avons retenu les 100 premi`eres des

(9)

480 instances (de 30 activit´es et 4 ressources) g´en´er´ees par Kolischet al. [16].

BL : Les 39 instances (de 20 `a 25 activit´es et 3 ressources) propos´ees par Baptiste et Le Pape [6].

Connues pour ˆetre fortement cumulatives, elles ont

´et´e con¸cues pour r´epondre aux critiques sur le carac- t`ere fortement disjonctif des instances KSD.

PACK: Les 55 instances de 17 `a 35 activit´es, pour 3 ressources, propos´ees par Carlier et N´eron [10] com- portant tr`es peu de contraintes de pr´ec´edences, et connues comme assez difficiles `a r´esoudre [3].

Ces instances issues de la litt´erature n’ont pas tou- jours fait l’unanimit´e et ont mˆeme ´et´e l’objet de cri- tiques. Par exemple, concernant les instances KSD, il apparaˆıt que les instances les plus difficiles `a r´esoudre sont celles qui sont les plus disjonctives, ce qui n’est pas repr´esentatif des instances r´eelles du RCPSP.

Soulignons de plus que la plupart de ces instances ne comportent que des dur´ees op´eratoires relativement courtes (comprises entre 0 et 10 pour les KSD, par exemple). D’embl´ee, ceci conf`ere un avantage aux for- mulations utilisant des variables indic´ees par le temps, car, dans ce cas, celles-ci ne g´en`erent pas beaucoup de variables et de contraintes, att´enuant ainsi leur han- dicap li´e au fait qu’il s’agit de formulations de type pseudo-polynomial. Alors que dans certaines appli- cations industrielles (p´etrochimique ou pharmaceu- tique, par exemple), on a parfois affaire `a des dur´ees longues pour certaines activit´es, avec de grandes dis- parit´es entre les dur´ees. Ces cas se retrouvent ´egale- ment dans le domaine de l’industrie des proc´ed´es, et dans certains probl`emes d’ordonnancement avec des traitements par lots [14].

De ce fait, nous proposons deux nouveaux types d’instances, qui ne sont en r´ealit´e que des versions modifi´ees de certaines instances existantes : PACK d et KSD15 d. Nous donnons ci-dessous une descrip- tion plus pr´ecise de la m´ethode utilis´ee pour g´en´erer ces nouvelles instances.

Pour g´en´erer une instance B `a partir d’une instance existante A, consid´erons les param`etres x, y, b et a suivants tel que :

1. On s´electionne les x premi`eres activit´es non- fictives de l’instance A (on laisse de cˆot´e les autres activit´es ainsi que les contraintes de pr´ec´e- dence qui leur sont adjacentes).

2. Pour les activit´es s´electionn´ees, on connecte les activit´es sans pr´ed´ecesseurs `a l’activit´e 0 et les activit´es sans successeurs `a l’activit´ex+ 1.

3. On s´electionne de fa¸con al´eatoire y activit´es parmi les x activit´es non-fictives et on multi- plie leur dur´ee par un coefficienta+b, o`ub est

un nombre g´en´er´e al´eatoirement entre 0 et 1 et a unfacteur multiplicatif de la dur´ee (d´efini ci- dessous pour chaque type d’instance). Il s’agit d’une valeur arbitraire permettant d’augmenter les dur´ees. Les dur´ees ainsi obtenues sont ar- rondies au nombre entier le plus proche.

KSD15 d: Ces instances ont ´et´e cr´e´ees `a partir des KSD30 selon la proc´edure ´evoqu´ee ci-dessus, avec les param`etres suivants : x= 15, ce qui correspond `a la moiti´e des activit´es initiales du KSD30 ;y = 7 c’est-

`a-dire que parmi les 15 activit´es s´electionn´ees, seule la dur´ee op´eratoire de 7 activit´es d’entre elles sera augment´ee, avec la valeur du facteur multiplicatif fix´e

`aa= 25. On obtient ainsi des instances de taille plus r´eduite (n = 15), mais avec des dur´ees op´eratoires plus grandes, allant ainsi de 1 jusqu’`a environ 250 unit´es de temps.

PACK d : Ce deuxi`eme type d’instances propos´ees a ´et´e obtenu par la modification des instances PACK, avec les param`etres suivants : la totalit´e des activit´es initialesx=n, avecn le nombre d’activit´es dans les instances PACK. On modifie la dur´ee op´eratoire de 10 de ces activit´es (y = 10), en utilisant un facteur multiplicatifa= 50. On obtient donc 55 instances de mˆeme taille que les PACK originaux, mais avec des dur´ees d’activit´es atteignant parfois le millier.

Toutes ces nouvelles instances sont disponibles sur demande aupr`es des auteurs. De plus, pour une de- scription plus exhaustive des ces diff´erentes instances, nous invitons le lecteur `a se ref´erer `a l’article [17].

5.2 Adaptation des instances au probl`eme

´etudi´e

Les instances ´evoqu´ees ne prenant pas en compte l’aspect consommation et production de ressource du RCPSP, nous les avons modifi´ees, en g´en´erant pour chaque activit´e de chaque instance, trois nouvelles ressources, cette fois non-renouvelables. Pour cha- cune de ces nouvelles ressources, la quantit´ecip con- somm´ee (respectivement la quantit´ec+ip produite) au d´ebut (respectivement `a la fin) de l’ex´ecution est g´en´er´ee al´eatoirement entre 0 et 10. `A chacune de ces ressources est ´egalement associ´e un stock initial (capacit´e initiale)Cp. Ces diff´erentes caract´eristiques des nouvelles ressources sont g´en´er´ees al´eatoirement sous deux contraintes essentielles :

• Aucune quantit´e consomm´ee ne doit ˆetre sup´erieure au stock initial. Ceci autorise n’importe quelle activit´e `a d´emarrer le projet.

• Afin de ne pas rendre le probl`eme plus disjonc- tif qu’il ne l’´etait avant, la somme des quantit´es produites doit rester sup´erieure `a la somme des quantit´es consomm´ees.

(10)

MOSIM’10 - 10 au 12 mai 2010 - Hammamet - Tunisie

5.3 R´esultats

Le tableau 1 pr´esente le r´esultat de nos tests num´eriques.

Tableau 1: R´esultats de la r´esolution exacte du RCPSP avec consommation et production de ressource

Inst. Mod`eles %Ent. %Opt Ecart´ ∆CPM Tps

KSD30 DT 84 63 10,21 25,20 52,60

DDT 82 71 0.13 7.65 83.87

OOE Prec 78 1 52.63 76.13 415.70

FCT 69 20 46.65 70.35 289.39

SEE 2 0 179.86 179.86

OOE 1 0 65.96 65.96

PACK OOE 94.55 1.82 20.44 277.83 110.85

OOE Prec 92.73 3.64 13.13 258.18 449.26 DT 90.91 18.18 48.04 365.49 126.63 DDT 47.27 32.73 1.33 245.66 168.04

SEE 29.09 0 3.71 134.13

FCT 9.09 0 5.90 96.41

BL OOE Prec 100 0 17.61 72.57

DDT 94.87 48.72 1.32 47.62 125.55 DT 87.18 38.46 49.82 119.82 108.60

OOE 74.36 0 27.64 87.56

SEE 41.03 0 31.11 88.51

FCT 20.51 0 26.79 72.51

KSD15 d FCT 100 93.94 0.12 10.15 18.26

OOE Prec 100 80.81 0.05 10.08 30.69

OOE 100 79.80 0.10 10.14 62.33

SEE 98.99 75.76 0.32 10.30 49.34

DT 0 0

DDT 0 0

PACK d OOE Prec 96.36 5.45 1.62 249.77 252.09 OOE 96.36 5.45 5.80 264.41 320.62

SEE 29.09 0 4.87 146.09

FCT 5.45 1.82 0 44.02 100.01

DT 0 0

DDT 0 % 0 %

On note %Entiers : le pourcentage de solutions en- ti`eres trouv´ees au bout des 500 secondes de r´esolu- tion ; %Opt : le pourcentage de solutions optimales trouv´ees au bout des 500 secondes ; ´Ecart : l’´ecart moyen par rapport `a la meilleure solution connue ;

∆CPM : l’´ecart par rapport `a la valeur du chemin critique, et Tps : le temps moyen mis pour trouver une solution optimale.

Pour les instances KSD30, les formulations `a temps discret pr´esentent les meilleurs r´esultats et DDT af- fiche la meilleure performance. Cette derni`ere trouve des solutions enti`eres pour 84% des instances, avec 63% de solutions optimales. Le mod`ele OOE Prec (3e performance) trouve des solutions enti`eres pour 78% des cas, mˆeme s’il ne prouve l’optimalit´e que pour tr`es peu d’entre elles.

Concernant les instances PACK, on constate que les mod`eles OOE et OOE Prec trouvent le plus grand nombre de solutions enti`eres, battant mˆeme les for- mulations `a temps discret DT (deuxi`eme meilleure performance) et DDT (troisi`eme meilleure perfor- mance). Cependant, si l’on r´eduit le crit`ere de perfor- mance au seul nombre de solutions optimales (%Opt), DDT suivie de DT fournissent toujours les meilleurs scores.

Les r´esultats sur les instances BL montrent que mˆeme si les mod`eles `a temps discret (DDT suivi de DDT) trouvent le plus grand nombre de solutions optimales, le mod`ele OOE Prec affiche la meilleure performance en termes de solutions enti`eres trouv´ees.

Sur les instances KSD15 d, la formulation FCT est la meilleure, suivie de pr`es par OOE Prec et OOE.

L’ajout de nouvelles ressources sur des instances com- portant d´ej`a de tr`es longues dur´ees op´eratoires rend les mod`eles `a temps discret (DT et DDT) tr`es exi- geants en m´emoire et donc incapables des traiter ces instances dans les conditions de tests ´evoqu´ees plus haut (dans notre estimation, il faudrait sans doute une machine comportant au moins 7 Go de RAM pour ˆetre `a mˆeme de les r´esoudre). Il en est de mˆeme pour les instances PACK d. Pour ces derni`eres, le mod`ele OOE Prec, suivi des mod`eles OOE, puis SEE et FCT conduisent aux meilleures performances.

De fa¸con globale, on constate que le mod`ele OOE et sa variante OOE Prec pr´esentent quasiment la meilleure performance sur trois types d’instances (PACK, BL et KSD15 d), la deuxi`eme meilleure performance sur un type d’instance (KSD15 d) et la troisi`eme sur un autre type (KSD30). Ceci nous am`ene `a conclure que globalement, les nouvelles formulations on/off seraient les mieux adapt´ees pour le RCPSP avec con- sommation et production de ressources.

6 CONCLUSION

Dans cet article, nous avons ´etudi´e la variante du RCPSP avec production et consommation de ressources lors de l’ex´ecution des activit´es et nous avons propos´e deux mod`eles PLNE bas´es sur la no- tion d’´ev´enements (start/end et on/off).

Nos r´esultats num´eriques sur diverses instances mon- trent qu’en plus d’ˆetre la plus indiqu´ee que les mo- d`eles classiques sur les instances `a longues dur´ees, le mod`ele on/off r´esout le plus grand nombre d’instances, tous types d’instances confondus.

References

[1] R. Alvarez-Vald`es and J.M. Tamarit, “The project scheduling polyhedron: dimension, facets and lifting theorems”, European Jour- nal of Operational Research, 67(2): 204–220, 1993.

[2] D. Applegate and W. Cook, “A computational study of job-shop scheduling”,ORSA Journal on Computing, 3(2): 149–156, 1991.

[3] C. Artigues, P. Michelon, and S. Reusser,

“Insertion techniques for static and dy- namic resource-constrained project schedul- ing”, European Journal of Operational Re- search, 149(2): 249–267, 2003.

[4] C. Artigues, O. Kon´e , P. Lopez, M. Mongeau, E. N´eron, and D. Rivreau, “Computational experiments”, in C. Artigues, S. Demassey, and E. N´eron, (Eds.), Resource-constrained

(11)

project scheduling: Models, algorithms, ex- tensions and applications, ISTE/Wiley, pages 98–102, 2008.

[5] E. Balas, “Project scheduling with resource constraints”, in E.M.L. Beale, (Ed.), Appli- cations of Mathematical Programming Tech- niques, pages 187–200, American Elsevier, 1970.

[6] P. Baptiste and C. Le Pape, “Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems”, Constraints, 5(1-2): 119–139, 2000.

[7] J. Blazewicz, J. Lenstra, and A.H.G. Rin- nooy Kan, “Scheduling subject to resource constraints: Classification and complexity”, Discrete Applied Mathematics, 5(1): 11–24, 1983.

[8] H. Bouly, J. Carlier, A. Moukrim, and M. Russo, “Solving RCPSP with re- sources production possibility by tasks”, In : MHOSI’2005, 24–26 Avril, 2005.

[9] P. Brucker, “Scheduling and constraint propagation”, Discrete Applied Mathematics, 123(1–3): 227–256, 2002,

[10] J. Carlier and E. N´eron, “On linear lower bounds for resource constrained project scheduling problem”,European Journal of Op- erational Research, 149: 314–324 ,2003.

[11] J. Carlier, A. Moukrim, and H. Xu, “The project scheduling problem with produc- tion and consumption of resources: A list- scheduling based algorithm”,Discrete Applied Mathematics, 2009.

[12] N. Christofides, R. Alvarez-Vald`es, and J.M.

Tamarit , “Project scheduling with resource constraints: A branch and bound approach”, European Journal of Operational Research, 29(3): 262–273, 1987.

[13] S. Demassey, C. Artigues, and P. Michelon,

“Constraint propagation based cutting planes:

an application to the resource-constrained project scheduling problem”,INFORMS Jour- nal on Computing, 17(1): 52–65, 2005.

[14] J. M. Pinto and I. E. Grossmann, “A continu- ous time MILP model for short term schedul- ing of batch plants with pre-ordering con- straints”,Industrial & Engineering Chemistry Research, 34(9): 3037–3051, 1995.

[15] R. Kolisch, “Serial and parallel resource- constrained project scheduling methods re- visited: Theory and computation”, European

Journal of Operational Research, 90(2): 320–

333, 1996.

[16] R. Kolisch and A. Sprecher, “PSPLIB - A project scheduling library”, European Jour- nal of Operational Research, 96(1): 205–216, 1997.

[17] O. Kon´e, C. Artigues, P. Lopez, and M.

Mongeau, “Event-based MILP models for resource- constrained project scheduling prob- lems”, Computers & Operations Research, 2010. doi:10.1016/j.cor.2009.12.011.

[18] P. Laborie, “Algorithms for propagating re- source constraints in a planning and schedul- ing: Existing approaches and new results”, Artificial Intelligence, 143: 151–188, 2003.

[19] K. Neumann and C. Schwindt, “Project scheduling with inventory constraints”,Math- ematical Methods of Operations Research, 56:513–533, 2002.

[20] A. Pritsker, L. Watters, and P. Wolfe , “Multi- project scheduling with limited resources: A zero-one programming approach”, Manage- ment Science, 16: 93–108, 1969.

[21] J. C. Zapata, B. M. Hodge, and G. V.

Reklaitis, “The multimode resource con- strained multiproject scheduling problem:

Alternative formulations”, AIChE Journal, 54(8): 2101–2119, 2008.

Références

Documents relatifs

Une opération élémentaire O s est alors le passage (réglage de la machine et exécution) d'un lot de fabrication donné sur un groupe de machines donné et repéré par son numéro k s

Considérons une variable aléatoire susceptible de prendre n’importe quelle valeur réelle appartenant à un intervalle donné.. Cet intervalle peut être [0; 1] ou R

Dans un exercice, on pourra utiliser les r´ esultats des questions pr´ ec´ edentes mˆ eme si celles-ci n’ont pas ´ et´ e trait´ ees.. Le bar` eme

Dans un exercice, on pourra utiliser les r´ esultats des questions pr´ ec´ edentes mˆ eme si celles-ci n’ont pas ´ et´ e trait´ ees.. Le bar` eme est indicatif et d´

Dans un exercice, on pourra utiliser les r´ esultats des questions pr´ ec´ edentes mˆ eme si celles-ci n’ont pas ´ et´ e trait´ ees.. Le bar` eme

Dans un exercice, on pourra utiliser les r´ esultats des questions pr´ ec´ edentes mˆ eme si celles- ci n’ont pas ´ et´ e trait´ ees.. Le bar` eme

Dans un exercice, on pourra utiliser les r´ esultats des questions pr´ ec´ edentes mˆ eme si celles-ci n’ont pas ´ et´ e trait´ ees.. Donner, sur un dessin, l’allure de

Une étude biologique a montré que pour une population de moules bretonnes, le taux de