3 e Conférence Francophone de MOdélsaton et SIMulaton Concepton, Analyse et Geston des Systèmes Industrels MOSIM 01 du 25 au 27 avrl 2001 - Troyes (France) MINIMISER LA SOMME DES RETARDS SUR UNE MACHINE AVEC DATES DE DISPONIBILITE Phlppe BAPTISTE Unversté de Technologe de Compègne, BP 20529, 60205 Compègne Cedex,France Mél : phlppe.baptste@hds.utc.fr Jacques CARLIER Unversté de Technologe de Compègne, BP 20529, 60205 Compègne Cedex,France Mél : jacques.carler@hds.utc.fr Antone JOUGLET Unversté de Technologe de Compègne, BP 20529, 60205 Compègne Cedex,France Mél : antone.jouglet@hds.utc.fr RÉSUMÉ : Dans cet artcle, nous présentons une méthode arborescente avec propagaton de contrantes pour mnmser la somme totale des retards sur une machne. Ce problème 1 r Σ T est NP - dur au sens fort. Une borne nféreure qu amélore la melleure borne connue est présentée. De plus, nous montrons que des technques de backtrack ntellgent peuvent amélorer la recherche arborescente. MOTS CLÉS : Ordonnancement sur une machne, Somme des retards, Borne Inféreure. 1. INTRODUCTION Sot N un ensemble de n jobs N = {J 1,,J n } à ordonnancer sur une machne. Chaque job J est caractérsé par une date de dsponblté r, une date d échéance d, et une durée p. La préempton des jobs n est pas autorsée. Un job est dt en retard s l fnt après sa date de dsponblté,.e., s sa date de fn C est supéreure à sa date échue d. Le retard d un job J est égal à : T = max(0, C - d ). Nous cherchons à détermner un ordonnancement qu mnmse la somme totale des retards : T =. Ce problème est NP-dur T au sens fort (Rnnooy Kan, 1976). Beaucoup de recherches ont été menées dans le cas où toutes les dates échues sont égales à zéro : 1 Σ T. (Emmons, 1969) présente des règles de domnance très pussantes qu permettent de rédure la talle du problème. Ce problème est NP-dur (Du et Leung, 1990) mas peut être résolu par l algorthme pseudopolynomal de (Lawler, 1977). Cet algorthme utlse une règle de décomposton du problème en sous-problèmes suvant la poston du job de plus grande durée dans une séquence optmale. Cet algorthme a été étendu pour les problèmes d ordonnancement par batchs en sére par (Baptste et Jouglet, 2000). (Potts et Van Wassenhove, 1982), (Chang et al., 1995) et (Szwarc et al., 1999) ont développé des recherches arborescentes en utlsant les proprétés de domnance de (Emmons, 1969) ans que la règle de décomposton de (Lawler, 1977) et fournssent des règles d élmnaton de postons possbles du job de plus grande durée. A notre connassance, les melleurs résultats ont été obtenus par (Szwarc et al., 1999). Leur recherche arborescente utlse la règle de décomposton de (Lawler, 1977) et une règle de décomposton symétrque sur le job de plus pette date échue. Résolvant le problème, une lste de sousproblèmes résolus est mantenue pour évter les répéttons. Leur algorthme est capable de résoudre des problèmes de très grande talle (500 jobs!). Les prncpaux travaux pour le problème où les dates de dsponbltés peuvent être dfférentes ont été effectués par (Chu et Portmann, 1991) et (Chu, 1992). (Chu et Portmann, 1991) démontre une condton d optmalté locale qu permet de défnr un sousensemble domnant d ordonnancements et de construre pluseurs algorthmes approchés le long de ce sous-ensemble. Pour la recherche d une soluton optmale, (Chu, 1992) établt de pussantes proprétés de domnance et met en évdence une borne nféreure calculable en O(n log n). Ces résultats sont applqués dans une recherche arborescente qu permet de résoudre des nstances dffcles de 30 jobs et des nstances plus facles qu contennent jusqu à 230 jobs. Le but de cet artcle est de proposer des améloratons de la méthode arborescente de (Chu et Portmann, 1991) et (Chu, 1992). Dans la parte 2, nous rappelons la borne nféreure de cette méthode et nous en proposons pluseurs améloratons. Dans la parte 3, nous décrvons notre recherche arborescente et nous montrons dans la parte 4 comment celu c peut être améloré par des technques de backtrack ntellgent. Nos résultats expérmentaux sont rapportés dans la parte 5. 2. CALCUL DE LA BORNE INFÉRIEURE Trouver une borne nféreure sur ce problème est assez complexe. En effet, s on autorse la préempton, le problème reste NP-dffcle. Il faut donc essayer de relaxer d autres contrantes pour trouver une borne en temps polynomal. (Chu, 1992) propose une borne nféreure de complexté O(n log n). Le calcul fat ntervenr une - 91 -
MOSIM 01 du 25 au 27 avrl 2001 - Troyes (France) règle de prorté SRPT («Shortest Remanng Processng Tme») pour le problème relaxé en autorsant la préempton : chaque fos que la machne devent dsponble, une tâche dsponble non achevée avec la plus courte durée opératore restante est placée ; l exécuton d une tâche est nterrompue lorsque sa durée opératore restante est strctement supéreure à la durée opératore d une tâche qu devent dsponble. Le calcul de la borne nféreure est basé sur le théorème suvant : Théorème (Chu, 1992) : Soent C [] la date de fn de la tâche qu se termne à la ème poston dans un ordonnancement construt à l ade de la règle SRPT et (d 1, d 2,, d n ) la sute obtenue en trant dans l ordre crossant les dates échues des tâches. Une borne nféreure de la somme des retards est: N = 1 max( C[] d',0). La borne que nous proposons est auss basée sur la relaxaton de la contrante de non nterruptblté. Nous utlsons la règle de domnance et la proposton suvante toutes deux valables unquement sans le cas préemptf. Règle de domnance Il exste un ordonnancement préemptf optmal tel que J, J j, s p p j, d d j et r r j (ou s p = p j, d = d j et r = r j ) et ( < j), alors J est termné avant que J j ne commence. Proposton 1 Soent deux jobs J et J j tels que r r j, p p j et d > d j, alors le retard global de l nstance où d et d j sont échangés est nféreur ou égal à celu de l nstance ntale. Cette proposton permet de calculer une borne nféreure, en construsant un ordonnancement par un algorthme de lste, de la manère suvante : on regarde à chaque nstant t, l ensemble des jobs non fns et dsponbles D = { J j / r j t p > 0 } et où p est la durée résduelle d un job J. Soent J 1 le job de plus pette durée et J 2 le job de plus pette date échue et soent d 1 et d 2 leur date échue, p 1 et p 2 leur durée. S d 1 = d 2, c est à dre s J 1 a auss la plus pette date échue de D, la proprété de domnance ndque que ce job précède tous les autres jobs de D. On ordonnance donc une unté de J 1. S d 1 d 2, on transforme le problème comme décrt précédemment avec J 1 et J 2. Ce nouveau problème a un retard global optmal nféreur ou égale à celu du problème que l on cherche à résoudre. Mantenant J 1 a la plus pette durée et la plus pette date échue, on ordonnance donc une unté de J 1. On ncrémente t, et on recommence. Cec jusqu à ce que tous les jobs soent fns. En fat, pour obtenr un algorthme effcace, on ne consdère que les nstants t qu correspondent aux dates de dsponblté, dates auxquelles de nouveaux jobs devennent dsponbles, ans que les nstants où un job fnt. Remarquons qu l y a au plus 2n-1 changements de tâches donc au plus 2n-1 nstants t à consdérer. En effet, le début d exécuton d un morceau de tâche apparaît lorsqu une tâche plus prortare devent dsponble (au plus n fos pusque chaque tâche devent dsponble exactement une fos), ou ben lorsqu une tâche est achevée (au plus n-1 fos pusque la dernère achevée, l n y a pas de nouvelle exécuton). Afn d obtenr un algorthme de fable complexté, on utlse une structure de tas. On mantent donc deux tas : tas_p et tas_d, qu correspondent respectvement à un tas tré dans l ordre des durées crossantes des jobs non fns et dsponbles à l nstant t, et à un tas tré dans l ordre des dates échues crossantes des jobs non fns et dsponbles à l nstant t. L nserton, l enlèvement ou la modfcaton d un job du tas se fat en O(log n). L obtenton de l élément mnmum se fat en O(1). A chaque nstant t, on a au plus une nserton et un enlèvement à fare dans chaque tas (une nserton s un job devent dsponble, et un enlèvement s un job fnt). De plus, on a au plus 2 modfcatons de tas_d et tas_p lorsque que l on dot échanger des dates échues. Une étape à l nstant t est donc en O(log n). Ans, la complexté de l algorthme est en O(n log n). Nous pouvons comparer cette nouvelle borne avec celle de (Chu, 1992). En fat, on peut remarquer que l ordre des tâches obtenu par notre algorthme est le même que celu obtenu par la règle SRPT. C est donc dans l ordre des dates échues que dffère le calcul réalsé par C. Chu et celu réalsé par notre algorthme. En fat, celu - c fournrat la même borne s on consdérat l ensemble des jobs non fns à la place de D, lors de l échange des dates échues. Exemple : Ic la borne de (Chu, 1992) donne une borne lb 1 = 0 alors que la nouvelle borne donne lb 2 = 1. En fat, on peut montrer que notre algorthme fournt toujours une borne nféreure supéreure ou égale à celle calculée par C. Chu. J r p d J1 0 1 3 J2 1 1 2 J3 1 1 2 Tableau 1. Exemple d 2 = d 3 = 2 J 1 J 2 J 3 t =0 1 2 3 d 1 = d 2 = 2 Fgure 1. Calcul de lb 1 et lb 2 d 1 = 3 d 3 = 3-92 -
MOSIM 01 du 25 au 27 avrl 2001 - Troyes (France) Mas en pratque, nous avons remarqué que les deux bornes étaent presque toujours dentques. C est pourquo, nous proposons deux améloratons pour le calcul de la borne. Tout d abord, on se place à l nstant t. J 1 est le job non fn dsponble de plus pette durée résduelle. S t + p 1 d 1, l est facle de vor que l on peut ordonnancer une unté du job J 1 à l nstant t même s ce job n a pas la plus pette date échue des jobs dsponbles. Donc s t + p 1 d 1, une unté de J 1 est ordonnancée à l nstant t, quelles que soent les dates échues. La proposton 1 montre que le fat de ne pas changer la date échue ne peut être que bénéfque et la borne est toujours nféreure à l optmum. De plus s t + p 1 < d 1, l sufft, s possble, de fare l échange avec la plus grande date échue d x de l ensemble des jobs non fns qu vérfe la relaton t + p 1 d x. La relaxaton étant plus fable, la borne obtenue sera melleure que précédemment.en pratque, nous avons remarqué que cette modfcaton n avat que peu d effet sur la valeur de la borne. La deuxème améloraton utlse une règle de domnance qu est une généralsaton de la premère règle de (Emmons, 1969) au cas préemptf avec des dates de dsponblté. On ntrodut les deux ensembles de jobs suvants : - B j est l ensemble des jobs qu ont été prouvés précéder J j dans une séquence optmale avec la règle de domnance. - A j est l ensemble des jobs qu ont été prouvés suvre J j dans une séquence optmale avec la règle de domnance. Proposton 2 Soent les jobs J et J j tel que r r j, p p j et d max(σ Bj p k + p j, d j ) (ou s < j s l on a que des égaltés), alors l exste une séquence optmale où J précède J j (J J j ). On peut alors ajuster les r j à r j = max(r j, r + p ). (Szwarc et al., 1999a) fournt une procédure en O(n 2 ) qu permet d ajuster les dates de dsponblté suvant cette règle de domnance. L dée de base c, est de propager cette règle de domnance comme une contrante et d ajuster les fenêtres de temps des jobs avant le calcul de la borne nféreure. Il est mportant de remarquer que ces ajustements ne sont pas valdes pour le problème ntal qu n est pas préemptf. Cependant, ren n empêche (1) de propager la règle de domnance préemptve, (2) de calculer la nouvelle borne (melleure pusque les dates de dsponblté ont augmenté) et (3) de rétablr les dates de dsponblté ntales. En pratque, on observe une très nette améloraton de la borne nféreure en utlsant cette technque. La propagaton de la règle de domnance étant en O(n²), le calcul de la borne a donc mantenant une complexté en O(n²). 3. RECHERCHE ARBORESCENTE Notre méthode de résoluton s appue sur la programmaton par contrantes. A chaque job sont assocées deux varables start(j ) et end(j ) (avec la contrante end(j ) - start(j ) = p ) représentant les dates de début et de fn du job. Nous pouvons alors faclement représenter le crtère par une varable contrante F : F = T = max(0, end( J ) d Pour résoudre ce problème, nous applquons une recherche tératve sur le domane de F. A chaque tératon, nous avons à résoudre un problème de décson Π,.e., vérfer qu l exste un ordonnancement réalsable dont la somme des retards est au plus F. Les règles de domnances précédentes sont c codées sous forme de contrantes. Pour la recherche arborescente, on ordonnance chronologquement les jobs. A chaque nœud de l arbre de recherche, (1) on chost un job à ordonnancer parm les jobs qu peuvent être ordonnancés après l ensemble des jobs déjà placés, (2) on applque les proprétés de domnance de (Chu, 1992) et on propage les contrantes, (3) on calcule la borne nféreure du retard des jobs restant à ordonnancer. S la somme des retards des jobs déjà ordonnancés et de la borne nféreure du retard des jobs restant à ordonnancer est supéreure à F, la recherche échoue et on remonte dans l arborescence pour chosr un autre job. S toutes les dates de dsponblté sont attentes au temps courant, on applque alors les règles de (Emmons, 1969) et l algorthme dynamque de (Lawler, 1977). 4. BACKTRACK INTELLIGENT. Les technques de backtrack ntellgent élmnent des solutons partelles non optmales déjà dentfées en rédusant le nombre de nœuds de l arbre de recherche. Tout d abord, à chaque nœud où la recherche échoue, on peut sauvegarder l ensemble des jobs déjà ordonnancés, avec la date de fn de la séquence et son retard global. S ultéreurement dans la recherche arborescente on rencontre le même ensemble de jobs avec une date de fn supéreure ou égale à celle sauvegardée et un retard global supéreur ou égal au retard global sauvegardé, on peut déclencher un backtrack pusque l on est sûr que la séquence qu sera obtenue ne sera pas optmale. Ensute, à chaque fos que l on ordonnance un job, on peut vérfer très faclement s les k derners jobs (k sera chos pett devant n), séquencés le sont optmalement. En effet s on trouve une melleure séquence des k derners jobs,.e. une séquence qu débute à la même date ou après la séquence courante, qu fnt à une date nféreure ou égale à la séquence courante et dont le ). - 93 -
MOSIM 01 du 25 au 27 avrl 2001 - Troyes (France) retard global est nféreur, on peut provoquer un backtrack. La valeur de k ne dot pas être très élevée pour évter l exploson combnatore. La premère méthode a été testée et amélore de façon non néglgeable la recherche arborescente pour les nstances les plus dures. La deuxème méthode n a été pour l nstant testée que pour k = 3, mas semble prometteuse. 5. RÉSULTATS EXPÉRIMENTAUX La méthode a été codée en C++ au dessus d ILOG SOLVER et d ILOG SCHEDULER. Les nstances utlsées ont été générées sur le même schéma que (Chu, 1992) à partr de 3 dstrbutons unformes des r, des p et des d - (r + p ). La dstrbuton des p est toujours entre 1 et 10. La dstrbuton des r est entre 0 et α Σ p. La dstrbuton des d - (r + p ) est entre 0 et β Σ p. Quatre valeurs de α et tros valeurs de β sont combnées pour produre douze ensembles d nstances chacun contenant 10 exemples. Le tableau 1 présente le nombre d nstances résolues en foncton du temps pour les dfférentes combnasons de α et β. Pour chaque valeur de t en secondes, les colonnes 1, 2, 3, et 4 présentent le nombre d nstances résolues sur 10, respectvement pour les recherches arborescentes (1), (2), (3) et (4). La comparason entre les recherches arborescentes (1) et (2) montre l effcacté de la nouvelle borne par rapport à celle de (Chu, 1992), plus partculèrement sur les combnasons d nstances les plus dffcles : (α =0 ; β =0.25 ) et (α =0.5 ; β =0.25 ). Les colonnes 3 et 4 montrent que les technques de backtrack ntellgent sont très effcaces. En effet toutes les nstances sauf une sont résolues en mons de 1200 s pour les nstances dffcles ce qu n est pas le cas pour la recherche arborescente (3). t=5 s t=30s t=60s t=300s t=600s t=1200s t=2100s t=3600s t=7200s α β 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 0 0,05 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0,5 0,05 6 6 7 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 0,05 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1,5 0,05 2 3 6 6 6 6 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 0,25 0 0 0 0 0 0 0 0 0 1 4 4 0 1 10 10 1 4 10 10 2 7 10 10 2 9 10 10 3 9 10 10 5 10 10 10 0,5 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 0 2 8 8 0 2 9 9 1 7 9 10 2 9 10 10 2 10 10 10 1 0,25 3 4 9 9 5 9 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1,5 0,25 5 5 9 9 6 8 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 0,5 9 9 10 10 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0,5 0,5 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 0,5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1,5 0,5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 Tableau 1. Nombre d nstances résolues sur 10 nstances, en foncton du temps, pour des nstances de talle n=30 jobs pour les recherches arborescentes (1), (2), (3) et (4). Consdérons les 4 recherches arborescentes suvantes : La recherche arborescente (1) est la recherche arborescente en utlsant la borne nféreure de (Chu, 1992) sans technque de backtrack ntellgent. La recherche arborescente (2) est la recherche arborescente en utlsant la nouvelle borne nféreure sans technque de backtrack ntellgent. La recherche arborescente (3) est la recherche arborescente en utlsant la nouvelle borne nféreure et la premère technque de backtrack ntellgent décrte. La recherche arborescente (4) est la recherche arborescente en utlsant la nouvelle borne nféreure et les deux technques de backtrack ntellgent avec k=3. 6. CONCLUSION Nous avons proposé une nouvelle borne basée sur la propagaton de contrantes. Les résultats expérmentaux ntaux ont montré l effcacté de cellec. Les technques de backtrack Intellgent amélorent de façon non néglgeable la recherche arborescente et semblent prometteuses. Les prncpales drectons de recherches futures vont donc être l améloraton du backtrack ntellgent, la recherche de nouvelles règles de domnance et ben sûr la vérfcaton expérmentale des résultats sur des nstances de grande talle. - 94 -
MOSIM 01 du 25 au 27 avrl 2001 - Troyes (France) RÉFÉRENCES : Abdul-Razacq T.S., Potts C.N., Van Wassenhove L.N., 1990. A survey of algorthms for the sngle machne total weghted tardness schedulng problem. Dscrete Appled Mathematcs, 26, p. 235-253. Baptste P., Jouglet A., 2000. On mnmzng total tardness n a seral batchng problem. soums. Chu C., Portmann M.C., 1991. Some new effcent methods to solve the n 1 Σ T schedulng problem. European Journal of Operatonal Research, 56. Chang S., Lu Q., Tang G., Yu W., 1995. On decomposton of the total tardness problem. Operatons Research, 17, p. 221-229. Chu C., 1992. A branch and bound algorthm to mnmze total tardness wth dfferent release dates. Naval Research Logstcs, 39, p. 265-283. Du J., Leung J.Y.-T., 1990. Mnmzng total tardness on one processor s NP-Hard. Mathematcs of Operatons Research, 15, p. 483-495. Emmons H., 1969. One-machne sequencng to mnmze certan functons of job tardness. Operatons Research, 17, p. 701-715. Lawler E.L., 1977. A pseudopolynomal algorthm for sequencng jobs to mnmze total tardness. Annals of Dscrete Mathematcs, 1, p. 331-342. Potts C.N, Van Wassenhove L.N., 1982. A decomposton algorthm for the sngle machne total tardness problem. Operatons Research Letters, 26, p. 177-182. Rnnooy Kan A.H.G, 1976. Machne sequencng problem : classfcaton, complexty and computaton. Njhoff, The Hague. Szwarc W., Della Croce F., Grosso A., 1999. Soluton of the sngle machne total tardness problem. Journal of Schedulng, 2, p. 55-71. Szwarc W., Grosso A., Della Croce F., 1999. Algorthmc Paradoxes of the sngle Machne Total Tardness Problem. - 95 -