INTODUCTION : Tenr compte smultanément du temps et des ressources permet d ntrodure le concept d énerge et le concept d un rasonnement basé sur des blans énergétque. Ce chaptre donne tout d abord des rappels sur quelques concepts et défntons, pus ntrodut le prncpe de rasonnement énergque général et en partculer pour le problème d ateler de fondere défn dans le chaptre précédent. e problème est consdéré comme un problème à machnes parallèles, et l applcaton du rasonnement énergétque, avec un algorthme en O(n 3 ), permet d obtenr des déductons des dates de début au plus tôt et des dates de fn au plus tard. - Concept et défnton : ntervalle temps-ressource = t, t, Q( )) : ( t Un ntervalle temps-ressource peut être défn par ces extrémtés ou borne de l ntervalle [, t ] désgnant le début et la fn de l ntervalle, et la foncton d ntensté de ressource Q(t). Un ntervalle temps-ressource est dte consommateur s l le temps et les ressources sont requs, et fournsseur s l ls sont alloués. Q(t) t Fgure. : Intervalle -essource Dans notre cas, la capacté Q(t) est consdéré comme constante Q. Dans notre cas, dans un premer temps :pour le problème de machne parallèle (les fours), la tâche utlse un seul four (Q=) ; pus dans second temps pour le problème cumulatf Q prend des valeurs constantes par ntervalles de durée fxe, mas bornée entre une valeur maxmale et une valeur mnmale qu correspondent aux pussances lmtes des fours.
Energe : énerge peut être défne par la surface bornée par la foncton d ntensté de ressource et les bornes d ntervalle. Dans le cas où cette foncton est constante, l énerge devent le produt de l ntervalle de temps par l ntensté de la ressource. Cette énerge est exprmée en unté de [essource x ] comme Hommes.Jour, Klowatt.Heure, etc. Q(t) t Pour Q(t) constante Q Energe = (t - ).Q t Fgure. : Energe Consommaton oblgatore : a consommaton oblgatore d une tâche sur un ntervalle correspond à l énerge obtenue lorsque l on cherche à repousser au maxmum la tâche dans sa fenêtre d exécuton à l extéreur de l ntervalle. En d autres termes cette consommaton oblgatore est obtenue en consdérant les postons de la tâche pour lesquelles son ntersecton avec l ntervalle est mnmale. r d t Energe consommée oblgatorement par la tâche est le mnmum Fgure.3 : Consommaton oblgatore
- Prncpe du asonnement énergétque : e rasonnement énergétque (détallé dans [opez 99]) est basé sur l évaluaton de l énerge réellement dsponble pour l exécuton d une tâche sur un ntervalle de temps, compte tenu de la consommaton oblgatore de toutes les autres tâches. Grâce à cette évaluaton, des déductons peuvent être fates et permettant d ajuster la localsaton d une tâche sans caractérser les tâches en conflt. Prncpe : Consdérant un ntervalle temps-ressources = t, t, Q ) et une tâche caractérsée par ( sa fenêtre d exécuton [r,d ], sa durée D et son ntensté q. On appelle fourne par la ressource sur et l énerge la consommaton oblgatore de la tâche sur. énerge maxmale dsponble pour l exécuton de la tâche sur l ntervalle est égale à la dfférence entre l énerge fourne les tâches j autre que la tâche ( et la somme de la consommaton oblgatore de toute ). a localsaton de dot donc être telle j j que sa consommaton sur ne pusse pas dépasser cette énerge dsponble. On suppose que les tâches ne sont pas nterruptbles. e calcul de la consommaton oblgatore de la tâche sur revens à calculer l énerge consommée en calant la tâche à ses extrémtés (calé à gauche et calé à drote) : On note l énerge calé à gauche, et l énerge calé à drote r t d r t d Energe mnmale consommée oblgatorement par la tâche Fgure.4 : Energe mnmale
énerge consommée en calant la tâche à ses extrémtés est calculée par ces relatons : énerge calée à gauche : = q. Max[0, Mn( D, t t, Max[0, r + D t] )] énerge calée à drote : = q Max[0, Mn( D, t t, Max[0, t d + D ] )]. Et l énerge oblgatore : = Mn, ) = q. Max[0, Mn( D, t t, r + D t, t d + D )] ( S l énerge dsponble pour sur, est nféreure à la consommaton de sur lorsque est calée dans ses postons extrême respectvement à gauche ou à drote, dans les deux cas, la tâche ne peux pas être calée respectvement à gauche ou drote et elle ne peut donc pas respectvement commencer à sa date de dsponblté r et termner à sa date de lvrason d. énerge manquante dot être trouvée à l extéreur de l ntervalle, donc on dot repousser l énerge calée à gauche ou à drote de façon à garder seulement l énerge dsponble sur l ntervalle, ce qu entraîne des ajustements pour r et d. 3- asonnement énergétque pour le problème à machnes parallèles : Dans le problème à machne parallèle (cas dsjonctf et non préemptf), l énerge fourne sur est = m.( t t) où m, quantté de ressource, est le nombre de machnes (dans notre cas c est nombre de fours). ntensté q (la quantté de ressource nécessare pour une tâche ) est untare, une tâche sur un seul four. Il y a n tâches à exécuter sur les m machnes. Donc : énerge calée à gauche : = Max 0, Mn( D, t t, Max[0, r + D ] )] [ t énerge calée à drote : = Max 0, Mn( D, t t, Max[0, t d + D ] )] énerge oblgatore : [ = Mn (, ) = Max [0, Mn ( D, t t, r + D t, t d + D )] On appelle marge de et on note Sl l énerge maxmale dsponble pour la tâche sur : Sl = n j j C est la somme des énerges oblgatores de toutes les autres tâches que.
Exemple : e tableau. montre un exemple de tros tâches (n=3) défnes par leurs fenêtres d exécuton [r, d ] et leurs durées D. Ces tâche seront exécutées sur deux (m=) machnes parallèles. Tâche r d D A 0 5 4 B 0 3 C 0 5 3 Tableau. : Exemple e problème est consdéré dsjonctf pur et les tâches utlsent une seule machne pour leur réalsaton. es ntervalles d étude sont = [ 0,3] = [,3] et. Proprété : Test de fasablté n Il est évdent que s >, l n y aura pas de soluton dans l ntervalle [, t ]. En effet, l énerge requse par toutes les tâches est plus grande que l énerge fourne par les ressources sur cette ntervalle, ce qu entraîne une nconsstance tâche A tâche B tâche C r A r B d B d A d C essource K (m=) =0 t =3 = 6 > = 5 n Fgure.5 : Test de fasablté
n Par contre, s <, cela entraîne une possblté d ajustement des dates lmtes d une ou pluseurs tâches sous certanes condtons. Proprété : Ajustement de la date de dsponblté «r» Pour n mporte quelle tâche, s > Sl, l est mpossble de caler la tâche à gauche. On retarde alors la date de dsponblté r de telle façon à extrare l énerge manquante à l extéreur de l ntervalle, après t, et la nouvelle valeur de r est : r Max [ r, t Sl ] tâche A tâche B r A r B t = d B d A tâche C r C d C essource K (m=) =0 t =3 Sl = < = 3 r = Max(0,) = c Fgure.6 : Ajustement de r c c Proprété 3 : Ajustement de la date de lvrason «d» Quelque sot la tâche, s > Sl, l est mpossble de caler la tâche à drote. On avance alors la date de lvrason d de telle façon à extrare l énerge manquant à l extéreur de l ntervalle, avant, et la nouvelle valeur de d est : d Mn d, t + Sl ] [ tâche A tâche B r A d A r B d B tâche C r C d C essource K (m=) = Sl B = < = d = Mn[3,] = B B
Fgure.7 : Ajustement de d 4- Chox des bornes de l ntervalle : A pror, l y a une grande quantté de bornes et t de l ntervalle qu sont remarquables et pertnentes. On montre qu l est possble d énumérer en O (n 3 ) tous les ntervalles pertnents pour l analyse de l admssblté. Ceux-c se résument à tros ensembles de dates ([] pages 74-77 et 90, [] page 68,[5] page ) : O = { r } { r + D } { d D } { d } { d D } { r D } O = + O( t) = { r + d t} Avec =, n analyse de l admssblté d un ordonnancement se fat alors en étudant les blans énergétque sur des ntervalles [ t ] cartésens : O tel que t O,,t O : et t O. O O( t) avec t O, tel que : t O, et t O( t) O( t) O et t O avec t O tel que: t O( t), dont les bornes sont dans l un des tros produt