Institut de la Francophonie pour l’Informatique de Hanoi
Ordonnancement sous contraintes
de consommation énergétique
Mémoire de fin d’études
MANGOUA SOFACK William ()
Encadrement :
Christian ARTIGUES et Pierre LOPEZ
Laboratoire d’Analyse et d’Architecture des
Systèmes
19 octobre 2009
Dédicaces
A
Mon matelas,
Ma couverture,
Mon oreiller.
i
Remerciements
Mes premiers remerciements vont à mes encadreurs Christian ARTIGUES
et Pierre LOPEZ pour le temps qu’il m’ont consacré durant ce stage, leur
soutien, leurs conseils scientifiques, leur disponibilité et leurs aides précieuses
qui ont été nécessaires pour aller jusqu’au bout de ce travail de stage. Je
tiens à remercier tous les membre de l’équipe MOGISA, particulièrement :
Oumar (Le Mogor), Wafa, Touria et Christèle pour leur amitié, leur soutien
et leur accueil dans le groupe.
Je remercie Monsieur Ngo Hong Son pour avoir accepté d’être le rapporteur de ce travail et pour son précieux temps qu’il y a accordé.
Je tiens à remercier le directeur et les Professeurs de l’IFI, qui m’ont donné
des connaissances et m’ont aidé, par leurs encouragements à bien suivre la
formation de master. Je remercie aussi tout le staff administratif de l’IFI
pour leurs encouragement. Il s’agit de M. Son, Mme Hien, Mme Loan et M.
Tuan. Je remercie sincèrement mes camarades de classes qui m’ont accueilli
et couvert de beaucoup de chaleur durant mon séjour au Vietnam. Je fais un
clin d’œil particulier à Kim Dung, Giap, Hiep et Luyen.
Mes remerciements vont aussi aux membres de ma grande famille pour
leur encouragement, leurs prières et leur présence malgré la distance. Je ne
saurais terminer sans remercier mes amis, les Bikunda.
ii
Résumé
Le raisonnement énergétique est une technique particulière de propagation de contraintes. Celui-ci s’appuie sur les concepts d’intervalle tempsressource et d’énergie pour raisonner simultanément sur les contraintes de
temps et de ressources. Il est basé sur l’évaluation de l’énergie réellement disponible pour l’exécution d’une tâche sur un intervalle de temps, compte tenu
de la consommation des autres tâches. Grâce à cette évaluation, des bilans
énergétiques peuvent mettre en évidence un manque d’énergie sur cet intervalle, ce qui amène à produire des conditions de séquencement entre tâches
ou interdire la localisation d’une tâche sur certains intervalles de temps. La
littérature nous propose un ensemble d’intervalles à utiliser pour détecter
une infaisabilité d’un problème de type cumulatif (CuSP : Cumulative Scheduling Problem). Dans ce rapport, nous proposons un ensemble d’intervalles
semblables, approprié à un contexte plus général de problème énergétique
(EnSP : Energetic Scheduling Problem).
Mots-clés : recherche opérationnelle, programmation par contraintes,
propagation de contraintes, raisonnement énergétique, analyse énergétique,
intervalle temps-ressource, consommation obligatoire, problème EnSP, problème CuSP.
iii
Abstract
The energetic reasoning is a special technique of constraint propagation.
It builds on the concepts of time-resource interval and energy simultaneously
to reason about the time constraints and resources constraints. It is based
on the evaluation of the energy actually available for the execution of a
task on a time interval, given the consumption of other tasks. Through this
quantification, energy audits can highlight a lack of energy on this interval,
which leads to produce conditions of sequencing between tasks or prohibit
the location of a certain task on time intervals. The literature offers a set of
intervals to be used to detect infeasibility of a cumulative problem (CuSP :
Cumulative Scheduling Problem). In this report we propose a set of similar
intervals, suitable for a more general problem of energy (EnSP : Energetic
Scheduling Problem).
Keywords : operational research, constraint programming, constraint
propagation, energetic reasoning, energetic analysis, time-ressource interval,
required consumption, EnSP problem, CuSP problem.
iv
Table des matières
Dédicaces
i
Remerciements
ii
Résumé
iii
Abstract
iv
Table des matières
vi
1 Introduction générale
1.1 Introduction . . . . . . . .
1.2 Problématique, contexte et
1.3 Contribution . . . . . . . .
1.4 Plan du mémoire . . . . .
. . . . . . . . .
positionnement
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Etat de l’art
2.1 Problème d’ordonnancement sous contraintes énergétiques .
2.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Définition . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Classification . . . . . . . . . . . . . . . . . . . . . .
2.1.4 Le problème EnSP . . . . . . . . . . . . . . . . . . .
2.2 Propagation de contraintes . . . . . . . . . . . . . . . . . . .
2.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Techniques de propagation de contraintes pour les ressources cumulatives . . . . . . . . . . . . . . . . . . .
v
.
.
.
.
1
1
2
3
3
.
.
.
.
.
.
.
4
4
4
5
7
8
11
11
. 12
vi
TABLE DES MATIÈRES
2.3
2.4
2.5
2.6
Le raisonnement énergétique . . . . . . . . . . . . . . . . . .
2.3.1 L’intervalle temps-ressource . . . . . . . . . . . . . .
2.3.2 Consommation obligatoire d’une tâche sur un intervalle fournisseur . . . . . . . . . . . . . . . . . . . . .
Principe de l’approche énergétique . . . . . . . . . . . . . .
2.4.1 Propriétés du raisonnement énergétique . . . . . . . .
2.4.2 Problème du raisonnement énergétique . . . . . . . .
Autres approches du raisonnement énergétique . . . . . . . .
2.5.1 Raisonnement énergétique amélioré . . . . . . . . . .
2.5.2 Raisonnement énergétique / enveloppe énergétique .
2.5.3 Raisonnement énergétique pour des activités trapézoïdales . . . . . . . . . . . . . . . . . . . . . . . . . . .
Résumé et analyse de l’existant . . . . . . . . . . . . . . . .
3 Le raisonnement énergétique pour le problème EnSP
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Les instants remarquables . . . . . . . . . . . . . . . . . . .
3.2.1 Analyse énergétique au plus tôt . . . . . . . . . . . .
3.2.2 Analyse énergétique au plus tard . . . . . . . . . . .
3.2.3 Les combinaisons possibles des instants remarquables
3.2.4 Cas particulier du problème CuSP . . . . . . . . . . .
3.3 Propriétés des instants remarquables . . . . . . . . . . . . .
3.4 Les intervalles remarquables . . . . . . . . . . . . . . . . . .
3.4.1 Les bornes des intervalles remarquables . . . . . . . .
3.4.2 Réduction de l’ensemble d’intervalles . . . . . . . . .
. 12
. 13
.
.
.
.
.
.
.
14
16
16
17
19
19
19
. 19
. 20
.
.
.
.
.
.
.
.
.
.
23
23
25
25
34
35
40
42
45
45
46
4 Conclusion générale
47
4.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Ordonnancement sous contraintes de consommation énergétique
Table des figures
2.1
2.2
2.3
Situation de notre travail. Source : [Lop91] . . . . . . . . . . . 9
Solution d’un problème EnSP. Source : [ALH09] . . . . . . . . 11
Cas possibles pour 𝑤𝐿 (𝑖, 𝑡1 , 𝑡2 ). Source : [ALH09] . . . . . . . . 15
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
Analogie EnSP/Principe des vases communicants
Instant remarquable 𝑥1 . . . . . . . . . . . . . . .
Progression de 𝑓 (𝑥) en grande pente . . . . . . .
Instant remarquable 𝑥2 . . . . . . . . . . . . . . .
Progression de 𝑓 (𝑥) en petite pente . . . . . . . .
Instant remarquable 𝑥3 . . . . . . . . . . . . . . .
Progression de 𝑓 (𝑥) en grande pente . . . . . . .
Tâche calée à gauche à l’instant remarquable 𝑥4 .
Tâche calée à droite à l’instant remarquable 𝑥4 . .
Tâche calée à gauche à l’instant remarquable 𝑥5 .
Tâche calée à droite à l’instant remarquable 𝑥5 . .
Configuration 1 . . . . . . . . . . . . . . . . . . .
Allure de 𝑓 (𝑥) avec la configuration 1 . . . . . . .
Configuration 2 . . . . . . . . . . . . . . . . . . .
Allure de 𝑓 (𝑥) avec la configuration 2 . . . . . . .
Configuration 3 . . . . . . . . . . . . . . . . . . .
Allure de 𝑓 (𝑥) avec la configuration 3 . . . . . . .
Configuration 4 . . . . . . . . . . . . . . . . . . .
Allure de 𝑓 (𝑥) avec la configuration 4 . . . . . . .
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
25
26
27
28
29
29
30
32
32
33
36
37
38
38
39
39
40
41
Liste des tableaux
2.1
2.2
2.3
2.4
Les contraintes de l’exemple 2 . . . . . . . . .
Les résultats des calculs de l’exemple 2 . . . .
Mise en évidence de l’infaisabilité de l’exemple
Contraintes de l’exemple 3 . . . . . . . . . . .
3.1
3.2
Instants remarquables issus de l’analyse énergétique au plus tôt
Instants remarquables issus de l’analyse énergétique au plus
tard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ensembles d’instants remarquables issus de l’analyse énergétique au plus tôt . . . . . . . . . . . . . . . . . . . . . . . . .
Ensembles d’instants remarquables issus de l’analyse énergétique au plus tard . . . . . . . . . . . . . . . . . . . . . . . . .
Similitudes entre les résultats des problèmes CusP et EnSP . .
Intersection des plans . . . . . . . . . . . . . . . . . . . . . . .
3.3
3.4
3.5
3.6
viii
.
.
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
21
21
22
34
35
41
41
42
43
Chapitre 1
Introduction générale
1.1
Introduction
L’objectif général du stage concerne l’organisation de l’exécution d’activités (ordonnancement) et la maîtrise des consommations d’énergie électrique
dans les ateliers de production. La méthodologie proposée est l’application de
techniques de propagation de contraintes particulières (faisant référence au
«raisonnement énergétique») pour limiter les décisions en termes d’allocation
de machines aux activités et de positionnement temporel de ces activités.
Si le raisonnement énergétique existe et a été exploité pour la résolution
de problèmes d’ordonnancement depuis une quinzaine d’années, il n’a jamais
été étendu pour la prise en compte de contraintes particulières issues des
consommations électriques dans la fabrication de biens (on a notamment un
intervalle de puissances à respecter sur des fours qui constituent nos machines
ainsi qu’un lien entre la puissance utilisée par les machines et les durées des
activités). Des premiers résultats ont été obtenus et montrent le bien-fondé
de l’emploi d’un tel raisonnement dans ce contexte. Il reste toutefois à valider
les formules analytiques proposées, à identifier les intervalles temporels pertinents pour l’application du raisonnement énergétique, à intégrer l’approche
dans une méthode de résolution générale («Branch-and-Bound»), enfin à valider expérimentalement la démarche par une série de tests réalistes.
1
1.2 Problématique, contexte et positionnement
1.2
2
Problématique, contexte et positionnement
L’ordonnancement sous contraintes peut être défini comme un thème qui
étudie la manière de résoudre les problèmes d’ordonnancement en utilisant la
programmation par contraintes [Bap98]. Une des idées-clé de la programmation par contraintes (CP : Constraint Programming) est que les contraintes
peuvent être utilisées «activement» pour réduire le domaine de solutions, déduire de nouvelles contraintes et détecter d’éventuelles inconsistances. Le fait
d’utiliser des contraintes de la sorte pour obtenir certaines déductions est appelé propagation de contraintes [Bap98]. Le raisonnement énergétique est une
technique particulière de propagation de contraintes [Lop91]. Celui-ci s’appuie sur les concepts d’intervalle temps-ressource et d’énergie pour raisonner
simultanément sur les contraintes de temps et de ressources. Dans [ALH09],
il est présenté une description formelle de la propagation de contraintes pour
un problème d’ordonnancement dit «énergétique» (présence de contraintes
de consommation énergétique). Le schéma général de résolution est de type
Branch-and-Bound auquel le raisonnement énergétique à été intégré. Plusieurs questions non résolues restent posées dans ces travaux. L’analyse faite
dans le raisonnement énergétique s’appuie sur des intervalles de temps bien
précis et clairement identifiés dans [Bap98], pour une sous-classe de problèmes
d’ordonnancement dits problèmes cumulatifs (CuSP : Cumulative Scheduling
Problem). Le problème est de savoir si ce même ensemble d’intervalles est suffisant dans un cadre plus général du problème d’ordonnancement énergétique
(EnSP : Energetic Scheduling Problem).
Dans le cadre de notre stage, réalisé au sein du groupe Modélisation,
Optimisation et Gestion Intégrée de Systèmes d’Activités (MOGISA) du Laboratoire d’Analyse et d’Architecture des Systèmes (LAAS), nous avons essayé de répondre à cette question. Ces travaux se situent dans le domaine
de la recherche opérationnelle, précisément celui de la programmation par
contraintes, et s’inscrivent dans le cadre de la recherche fondamentale. Plusieurs travaux à l’instar de [Bap98], [Lop91] et [ALH09] se sont penchés sur
ces problèmes et les résultats obtenus jusqu’à présent montrent que le domaine est encore ouvert.
Ordonnancement sous contraintes de consommation énergétique
1.3 Contribution
1.3
3
Contribution
Le but de ce travail de stage est de proposer un ensemble suffisant d’intervalles à utiliser pour établir l’infaisabilité d’un problème EnSP avec l’analyse
énergétique. En plus d’un état de l’art sur le sujet, nous avons d’abord proposé les instants remarquables associé à un problème EnSP. Avec ces instants,
nous avons construit les intervalles cherchés. Nous avons aussi proposé un simulateur permettant de simuler l’analyse énergétique au plus tôt d’une tâche
et d’obtenir sa courbe de consommation obligatoire.
1.4
Plan du mémoire
Après cette introduction générale, nous présentons, dans le chapitre 2,
un état de l’art relatif aux références pertinentes permettant d’appuyer le
propos de ce stage. Le premier paragraphe traite des problèmes d’ordonnancement énergétique. Nous en présentons une introduction générale, une
définition et une classification suivie d’une présentation du problème EnSP.
Le deuxième paragraphe traite de la propagation de contraintes. Nous y faisons une introduction suivie d’un tour d’horizon de quelques techniques de
propagation de contraintes appliquées aux ressources cumulatives. Les trois
paragraphes suivants sont réservés au raisonnement énergétique. Nous aborderons les notions d’intervalle temps-ressource et de consommation obligatoire d’une tâche. Il sera ensuite question des propriétés relatives au principe
du raisonnement énergétique. Nous évoquerons aussi d’autres façons d’appréhender le raisonnement énergétique. Nous terminons ce chapitre par une
synthèse de l’existant qui contient un résumé et une analyse de l’existant.
Le troisième chapitre de ce mémoire présente la contribution qu’apporte
ce travail. Il y sera essentiellement question d’instants et d’intervalles remarquables. Le premier paragraphe donne le détail de l’obtention des instants
remarquables. Le second présente les propriétés de ces instants remarquables.
Le dernier paragraphe nous dévoile les intervalles cherchés.
Ordonnancement sous contraintes de consommation énergétique
Chapitre 2
Etat de l’art
Résumé
L’objectif de cette partie est de dresser un état de l’art sur le raisonnement
énergétique. Ceci n’est pas une recherche bibliographique exhaustive sur le
sujet. C’est surtout une présentation d’un ensemble de références pertinentes
nous permettant de mieux l’aborder. Dans un premier temps, nous présentons le problème à résoudre. Après cette formulation, nous exposons dans
un second temps le principe général de la propagation de contraintes, puis
celui du raisonnement énergétique. Enfin, nous abordons quelques solutions
existantes dans la littérature.
2.1
Problème d’ordonnancement sous contraintes
énergétiques
2.1.1
Introduction
La maîtrise de la consommation d’énergie est une préoccupation de plus
en plus présente dans tous les secteurs industriels. L’augmentation des coûts
énergétiques, les préoccupations environnementales, les difficultés d’approvisionnement ont un impact sur l’activité des entreprises et les systèmes
de production sont affectés en premier lieu. Ces problèmes se déclinent du
4
2.1 Problème d’ordonnancement sous contraintes énergétiques
5
long terme (ex. installation d’unités, mise en place d’un réseau d’approvisionnement) au court terme (ex. puissance disponible à un instant donné)
[HATB07]. La consommation en énergie est devenue un problème crucial
dans la conception des équipements électroniques dont l’alimentation est assurée par une batterie [NG06]. La maîtrise de cette consommation constitue
un cheval de bataille de l’optimisation combinatoire.
Les problèmes d’ordonnancement traités ici relèvent des problèmes combinatoires, difficiles à résoudre de par le très grand nombre de combinaisons
envisageables pour la preuve d’existence voire la construction d’une solution.
L’ordonnancement est un ensemble de moyens par lesquels une organisation,
une entité, choisit une suite d’actions pour atteindre un objectif donné tout
en accordant de l’importance au positionnement temporel (date de début et
de fin) et spatial (affectation aux ressources) des tâches qui permettent de
réaliser ces actions, compte tenu des moyens de production (ressources) ayant
été affectés pour la réalisation de chacune d’elles.
2.1.2
Définition
Il est proposé dans [Ben65] une définition formelle d’un problème d’ordonnancement. On dit qu’on est en présence d’un problème d’ordonnancement
si le problème posé satisfait à trois conditions :
– Il s’agit d’étudier le comment d’une réalisation. Cette réalisation peut
être de nature très variée. Il est question ici de guider la conception et
le contrôle de la réalisation.
– Cette réalisation est décomposable en éléments, qu’on appelle tâche.
La notion générale de tâche ne peut être précisée que par son contenu
concret. Celui-ci dépend de chaque cas particulier de problème. Généralement, une tâche est un élément de réalisation caractérisée par sa durée, son époque de début, et/ou son époque de fin, ainsi que les moyens
(ressources) à mettre en œuvre pour la réaliser. Une tâche est morcelable ou non morcelable. Dans le premier cas, on dit que la préemption
est autorisée ; l’exécution de la tâche peut s’effectuer par morceaux, sur
une ou plusieurs machines, avec ou sans mémoire du traitement déjà
Ordonnancement sous contraintes de consommation énergétique
2.1 Problème d’ordonnancement sous contraintes énergétiques
6
effectué. Une ressource est un moyen technique ou humain destiné à
être utilisé pour la réalisation d’au moins une tâche et disponible en
quantité limitée ou non. Les ressources sont définies comme consommables (la capacité diminue après consommation), renouvelables (la capacité demeure identique, même après consommation) ou doublement
contraintes (utilisation instantanée et consommation globale limitées).
On distingue de plus des ressources disjonctives utilisables par une seule
tâche à la fois et des ressources cumulatives qui peuvent être utilisées
simultanément par plusieurs tâches [Lop91].
– Cette réalisation est soumise à un ensemble de contraintes. Les tâches
sont soumises à des exigences qu’il faut respecter pour que les valeurs
attribuées à leurs caractéristiques représentent réellement une façon
possible d’effectuer la réalisation.
Dans ces conditions, et pour un problème de ce type, on appellera ordonnancement, un ensemble de valeurs des caractéristiques des tâches conforme
aux exigences données. A un problème d’ordonnancement, il peut correspondre plusieurs ordonnancements. Ceux-ci apparaissent comme des points
à l’intérieur d’un domaine 𝑃 (domaine des ordonnancements réalisables) défini par des contraintes, ensemble de points entre lesquels il faut choisir, selon
certains critères. On est donc amené à :
– Analyser la compatibilité. 𝑃 est-il vide ? Si oui, le problème est sans
solution. On peut alors essayer de déterminer quels sont les paramètres
qui sont à l’origine de l’incompatibilité.
– Choisir entre plusieurs possibilités si 𝑃 n’est pas vide. La recherche
de l’ordonnancement optimum est dans la plupart des cas difficile à
cause de la complexité de 𝑃 . On se contente donc alors de déterminer
un ordonnancement réalisable «assez bon» en s’appuyant sur l’une des
méthodes comme celles présentées dans [Ben65].
– Adapter les décisions et contrôler la réalisation au cours de son évolution dans le temps. En cours de réalisation, certaines données du problème se précisent, d’autres nouvelles apparaissent. La méthode utilisée
doit donc être assez souple pour permettre à tout moment de modifier
le planning prévu initialement.
Ordonnancement sous contraintes de consommation énergétique
2.1 Problème d’ordonnancement sous contraintes énergétiques
2.1.3
7
Classification
Plusieurs classifications ont été proposées pour les problèmes d’ordonnancement. [Ben65] établit une classification basée sur les contraintes et distingue alors les contraintes potentielles, les contraintes de type disjonctif, les
contraintes de type cumulatif et les autres types de contraintes. Il est présenté
dans [Roy70] une classification selon la nature des inconnues du problème à
résoudre, qui peuvent être les dates de début des tâches (T), leurs durées (D),
les ressources utilisées (W), deux (TD, TW) ou trois (TDW) de ces caractéristiques considérées simultanément. Une autre classification, basée cette
fois-ci sur la nature des tâches est proposée dans [Slo81] ; il distingue alors
les problèmes préemptifs et les problèmes non-préemptifs.
[Lop91] propose une classification plus fine des problèmes du type T,
énumérant ainsi :
– le cas où les ressources ne sont pas prises en compte, appelé problème
central de l’ordonnancement,
– le cas général où toutes les ressources sont prises en compte.
Dans le cas général, deux classifications parallèles sont alors possibles.
On a, d’une part, les problèmes à ressources renouvelables et les problèmes
à ressources non renouvelables, et d’autre part, les problèmes disjonctifs et
les problèmes cumulatifs. Un problème disjonctif possède des contraintes qui
imposent à certaines tâches d’être exécutées pendant des intervalles de temps
disjoints. Dans le cas des problèmes cumulatifs, les ressources peuvent sous
certaines contraintes être utilisées simultanément par plusieurs tâches.
Les problèmes à ressources renouvelables et disjonctives sont souvent appelés problèmes d’atelier. Dans ce cas particulier, on parle indifféremment
de tâche ou d’opération, de ressource ou de machine. Une opération nécessite une machine pour sa réalisation. Les opérations relatives à la fabrication
d’un produit doivent généralement être réalisées en séquence et constituent
un travail ou «job».
En se limitant aux problèmes d’atelier, diverses classifications ont été
présentées dans [Gra81], [Law89], [Got93], [MT63], [Bak74], [CMM67]. Un
problème d’ordonnancement est décrit dans [CMM67] par quatre types d’in-
Ordonnancement sous contraintes de consommation énergétique
2.1 Problème d’ordonnancement sous contraintes énergétiques
8
formation :
– les travaux et les opérations à effectuer ;
– le nombre et le type de machines ;
– l’ordre d’utilisation des machines (lié à la gamme de fabrication) ;
– le critère à optimiser.
Dans la littérature, on distingue les problèmes à ressource unique (une
machine ou machines à exemplaires multiples) et les problèmes à plusieurs
ressources dont les problèmes d’atelier font partie. Au sein de ce dernier type
de problème, et en établissant une classification selon la nature des gammes
de fabrication, on trouve du plus au moins contraint :
– le flow-shop ou atelier à cheminement unique : la séquence des machines
sur laquelle doit passer un produit est fixe (chaîne de fabrication) ;
– le job-shop ou atelier à cheminement multiples : chaque produit ou
famille de produits possède une gamme spécifique (le flow-shop correspond à un cas particulier de job-shop où les gammes sont identiques
pour chaque produit) ;
– l’open-shop ou atelier à cheminements quelconques : l’ordre d’exécution
des opérations d’un travail est libre. Les problèmes diffèrent également
par la nature des arrivées des produits. On distingue le problème statique, où les travaux arrivent simultanément (dates de début au plus
tôt identiques) dans l’atelier qui est immédiatement disponible pour
leur exécution, et le problème dynamique où les travaux arrivent de
façon continue (dates de début au plus tôt différentes).
Compte tenu de la typologie présentée ci-dessus, le problème EnSP sur
lequel portent nos travaux et qui est décrit dans la suite, se rattache essentiellement aux problèmes de type T, avec des ressources de type renouvelables
et cumulatives, comme le montre la figure 2.1.
2.1.4
Le problème EnSP
Le problème d’ordonnancement sous contraintes de consommation énergétique (EnSP : Energy Scheduling Problem) est clairement défini dans [ALH09].
Ce problème prend en entrée un ensemble de 𝑛 activités 𝐴 = {1, 2, ..., 𝑛},
Ordonnancement sous contraintes de consommation énergétique
2.1 Problème d’ordonnancement sous contraintes énergétiques
9
Figure 2.1 – Situation de notre travail. Source : [Lop91]
devant être exécutées sans interruption et utilisant une ressource énergétique
de capacité 𝐵. Chaque activité a une exigence énergétique 𝑊𝑖 , a un besoin
de ressources compris entre 𝑏𝑚𝑖𝑛
et 𝑏𝑚𝑎𝑥
, et doit s’exécuter dans une fenêtre
𝑖
𝑖
temporelle [𝑟𝑖 , 𝑑𝑖 ]. Pour des raisons pratiques, le temps est considéré comme
étant discret avec la supposition selon laquelle le changement de puissance
allouée à une activité ne peut intervenir qu’à une période de temps discret.
Le problème EnSP à résoudre consiste à déterminer pour chaque activité la
date de début 𝑠𝑡𝑖 ≥ 𝑟𝑖 , la date de fin 𝑓 𝑡𝑖 ≤ 𝑑𝑖 et la quantité de ressource
Ordonnancement sous contraintes de consommation énergétique
2.1 Problème d’ordonnancement sous contraintes énergétiques
10
allouée 𝑏𝑖𝑡 telle que :
{
si 𝑡 ∈ [𝑠𝑡𝑖 , 𝑓 𝑡𝑖 − 1]
≤ 𝑏𝑖𝑡 ≤ 𝑏𝑚𝑎𝑥
𝑏𝑚𝑖𝑛
𝑖
𝑖
𝑏𝑖𝑡 = 0 sinon
La contrainte sur la limitation de la puissance totale disponible s’écrit
∀𝑡,
∑
𝑏𝑖𝑡 ≤ 𝐵
𝑖∈𝐴
pour chaque instant 𝑡. Les variables 𝑏𝑖𝑡 et 𝑝𝑖 = 𝑓 𝑡𝑖 − 𝑠𝑡𝑖 sont considérées
comme discrètes. Chaque activité est enfin soumise à la contrainte
𝑓 𝑡𝑖 −1
𝑊𝑖 ≤
∑
𝑏𝑖𝑡
𝑡=𝑠𝑡𝑖
En fait, l’idéal est d’avoir l’égalité. Or, ceci n’est pas toujours possible compte
= 𝑏𝑖 , nous obtenons un
= 𝑏𝑚𝑎𝑥
tenu du contexte de temps discret. Avec 𝑏𝑚𝑖𝑛
𝑖
𝑖
cas particulier qui est le problème cumulatif (CuSP : Cumulative Scheduling
Problem), décrit dans [LE96] et qui peut être décrit par l’analogie suivante.
Un problème d’ordonnancement disposant d’une ressource en quantité 𝐵 sur une durée 𝑃 , consommée par 𝑛 tâches de durée 𝑝𝑖 en
quantité 𝑊𝑖 , est isomorphe au problème de placement de 𝑛 rectangles de dimensions 𝑝𝑖 ⋅𝑊𝑖 dans un rectangle de dimension 𝐵 ⋅𝑃
[Lop04].
Dans la suite, nous utiliserons les notations employées dans ce paragraphe
pour une tâche.
A titre d’exemple, nous reprenons celui de [ALH09]. Considérons un problème EnSP avec 𝐵 = 5, et trois activités telles que 𝑊1 = 12, 𝑏𝑚𝑖𝑛
= 1,
1
𝑏𝑚𝑎𝑥
= 5, 𝑟1 = 0, 𝑑1 = 6 ; 𝑊2 = 12, 𝑏𝑚𝑖𝑛
= 2, 𝑏𝑚𝑎𝑥
= 5, 𝑟2 = 2, 𝑑2 = 6 ;
1
2
2
𝑚𝑖𝑛
𝑚𝑎𝑥
𝑊3 = 6, 𝑏3 = 2, 𝑏3 = 2, 𝑟3 = 2, 𝑑3 = 5. La figure 2.2 décrit une solution
réalisable pour cette instance de problème.
Ordonnancement sous contraintes de consommation énergétique
2.2 Propagation de contraintes
11
Figure 2.2 – Solution d’un problème EnSP. Source : [ALH09]
2.2
Propagation de contraintes
2.2.1
Introduction
Les contraintes peuvent être utilisées dynamiquement pour réduire l’effort d’exécution nécessaire pour résoudre les problèmes combinatoires. Les
contraintes sont utilisées, non seulement pour vérifier la validité de la solution, mais aussi de façon active pour réduire le domaine de recherche, déduire
de nouvelles contraintes et détecter des inconsistances [BLN01]. Ce processus permettant d’utiliser les contraintes à des fins de déduction est appelé
propagation de contraintes.
La propagation de contraintes a pour but de simplifier la résolution d’un
problème ou de démontrer l’absence de solution. Elle désigne ainsi, non pas
une technique de résolution, mais un ensemble de techniques de réécriture des
contraintes qui facilitent l’exploration de l’ensemble des solutions, sans pour
autant le modifier. De façon schématique, à chaque étape, le cycle suivant
est répété :
– choix d’un sous-ensemble de contraintes et génération d’une contrainte
induite ;
– mise en évidence d’une contrainte redondante relativement à la contrainte
Ordonnancement sous contraintes de consommation énergétique
2.3 Le raisonnement énergétique
12
induite ;
– modification de l’ensemble des contraintes : ajout de la contrainte induite et retrait de la contrainte redondante.
Pratiquement, cela peut consister à retirer du domaine des variables de
décision, les valeurs qui n’appartiennent à aucune solution : ce filtrage des
domaines évite de nombreuses tentatives de résolution vouées à l’échec. Ces
techniques permettent aussi de simplifier l’expression des contraintes, par
exemple en éliminant des contraintes redondantes. Dans un contexte d’aide
à la décision, cela permet la caractérisation de solutions admissibles en dégageant des degrés de liberté pour la prise de décision effective. La propagation
peut enfin dans certains cas apporter la preuve d’une inconsistance globale
du problème, et ce avant toute tentative de résolution [Lop03].
2.2.2
Techniques de propagation de contraintes pour les
ressources cumulatives
Un bilan des techniques existantes en propagation des contraintes de ressources cumulatives (time-tabling, edge-finding, raisonnement énergétique)
est présenté dans [Lab03]. Certaines limitations de ces approches y sont identifiées, en particulier pour les problèmes contenant de nombreuses contraintes
de précédence et/ou pour lesquels les dates possibles des activités sont peu
contraintes.
2.3
Le raisonnement énergétique
Le raisonnement énergétique trouve sa genèse dans les notions de bosse
et de partie obligatoire introduites par Abd-El Kader Lahrichi [Lah82]. Ce
sont ces notions qui ont permis une réflexion initiale sur les concepts liés à
l’énergie [Lop91], [HGH08]. Depuis, de nombreux auteurs se sont intéressés,
ont repris, amélioré et étendu le raisonnement énergétique pour le traitement
de problèmes d’ordonnancement en introduisant d’autres concepts comme
ceux d’intervalles temps-ressources et de consommation obligatoire (Philippe
Baptiste, Claude Le Pape & Wim Nuijten ; Emmanuel Néron & Jacques
Ordonnancement sous contraintes de consommation énergétique
2.3 Le raisonnement énergétique
13
Carlier ; Luc Mercier & Pascal Van Hentenryck). Des produits commerciaux
sont nés de ces travaux. Citons par exemple la bibliothèque SCHEDULER des
produits d’optimisation d’ILOG (primitives comme ilo_consumes) [Lop04].
Le raisonnement énergétique a été utilisé dans plusieurs articles à l’instar
de [NBG01] et [TLN04] avec les mêmes concepts de base tels que celui de
l’intervalle temps-ressource et de la consommation obligatoire d’une tâche.
2.3.1
L’intervalle temps-ressource
L’idée de base est d’introduire un concept qui permette de considérer
les facteurs temps et ressource de manière simultanée. L’intervalle tempsressource 𝐼 est ainsi défini ; il est caractérisé par des valeurs instantanées :
– ses extrémités temporelles 𝑡1 (début) et 𝑡2 (fin),
– son intensité de ressource 𝐵𝐼𝑘 (𝑡) avec 𝑡 ∈ [𝑡1 , 𝑡2 ] et 𝑘 ∈ 𝐾1 où 𝐾1 est
l’ensemble des ressources associées à 𝐼.
Dans la suite, on ne considère que les intervalles uniformes, c’est-à-dire
tels que 𝐵𝐼𝑘 (𝑡) = 𝐵𝐼𝑘 = 𝐶𝑡𝑒, ∀𝑡. On peut également associer à un intervalle
temps-ressource les caractéristiques intégrales :
– sa durée : 𝑃𝐼 = 𝑡2 − 𝑡1 ,
– son énergie de ressource : 𝑊𝐼𝑘 = 𝑃𝐼 𝐵𝐼𝑘 . Cette énergie est exprimée en
unité de [ressource x temps].
La modélisation des problèmes d’ordonnancement peut s’appuyer sur
deux types d’intervalles temps-ressource [LEE92] :
– les intervalles consommateurs dans lesquels le temps et les ressources
sont requis. Un intervalle consommateur est associé à l’utilisation de
ressources par une tâche : il est donc simplement appelé tâche,
– les intervalles fournisseurs dans lesquels le temps et les ressources sont
allouées. Sur de tels intervalles, on étudie l’effet de la consommation
d’énergie sur l’ordonnancement d’une ou plusieurs tâches.
Ordonnancement sous contraintes de consommation énergétique
2.3 Le raisonnement énergétique
2.3.2
14
Consommation obligatoire d’une tâche sur un intervalle fournisseur
Etant donné [𝑡1 , 𝑡2 ] un intervalle fournisseur, 𝑤(𝑖, 𝑡1 , 𝑡2 ) et 𝑤(𝑖, 𝑡1 , 𝑡2 ) sont
respectivement utilisés pour noter la consommation et la consommation obligatoire d’une activité sur cet intervalle. Pour évaluer 𝑤(𝑖, 𝑡1 , 𝑡2 ), l’activité doit
être considérée de la configuration où elle est calée à gauche (resp. droite)
vers celle où elle l’est à droite (resp. gauche) dans sa fenêtre temporelle .
Pour le problème CuSP, nous avons comme dans [ALH09] :
– la consommation lorsque l’activité est calée à gauche
𝑤𝐿 (𝑖, 𝑡1 , 𝑡2 ) = 𝑏𝑖 ⋅ max {0, min (𝑝𝑖 , 𝑡2 − 𝑡1 , 𝑟𝑖 + 𝑝𝑖 − 𝑡1 )}
– la consommation lorsque l’activité est calée à droite
𝑤𝑅 (𝑖, 𝑡1 , 𝑡2 ) = 𝑏𝑖 ⋅ max {0, min (𝑝𝑖 , 𝑡2 − 𝑡1 , 𝑡2 − 𝑑𝑖 + 𝑝𝑖 )}
La consommation obligatoire pour ce cas est alors donnée par l’expression
𝑤(𝑖, 𝑡1 , 𝑡2 ) = min {𝑤𝐿 (𝑖, 𝑡1 , 𝑡2 ), 𝑤𝑅 (𝑖, 𝑡1 , 𝑡2 )}
Ce qui s’écrit encore
𝑤(𝑖, 𝑡1 , 𝑡2 ) = 𝑏𝑖 ⋅ max {0, min (𝑝𝑖 , 𝑡2 − 𝑡1 , 𝑟𝑖 + 𝑝𝑖 − 𝑡1 , 𝑡2 − 𝑑𝑖 + 𝑝𝑖 )}
La figure 2.3 suivante nous montre les différents cas possibles pour 𝑤𝐿 (𝑖, 𝑡1 , 𝑡2 )
quand l’activité 𝑖, avec une exigence énergétique 𝑊𝑖 , est calée à gauche, dans
un cadre plus général de problème EnSP. Dans ce cas, pour évaluer 𝑤(𝑖, 𝑡1 , 𝑡2 ),
nous devons d’abord calculer 𝑤− (𝑖, 𝑡1 ), la consommation maximale de 𝑖 avant
𝑡1 , et 𝑤+ (𝑖, 𝑡2 ), la consommation maximale de 𝑖 après 𝑡2 . Nous avons alors :
𝑤− (𝑖, 𝑡1 ) = min {𝑊𝑖 , max (0, 𝑏𝑚𝑎𝑥
⋅ (𝑡1 − 𝑟𝑖 ))}
𝑖
𝑤+ (𝑖, 𝑡2 ) = min {𝑊𝑖 , max (0, 𝑏𝑚𝑎𝑥
⋅ (𝑑𝑖 − 𝑡2 ))}
𝑖
𝑤(𝑖, 𝑡1 , 𝑡2 ) peut alors être obtenue par l’algorithme suivant si on se place
dans les conditions où cette quantité n’est pas nulle :
Ordonnancement sous contraintes de consommation énergétique
15
2.3 Le raisonnement énergétique
Figure 2.3 – Cas possibles pour 𝑤𝐿 (𝑖, 𝑡1 , 𝑡2 ). Source : [ALH09]
Début
𝑤(𝑖, 𝑡1 , 𝑡2 ) ← 𝑊𝑖 − (𝑤− (𝑖, 𝑡1 ) + 𝑤+ (𝑖, 𝑡2 ))
Si (𝑤(𝑖, 𝑡1 , 𝑡2 ) < 𝑏𝑚𝑖𝑛
⋅ (min(𝑡2 , 𝑑𝑖 ) − max(𝑡1 , 𝑟𝑖 ))) Alors
𝑖
⋅ (𝑡2 − 𝑡1 )}
𝑤(𝑖, 𝑡1 , 𝑡2 ) ← min {𝑊𝑖 − 𝑤− (𝑖, 𝑡1 ), 𝑊𝑖 − 𝑤+ (𝑖, 𝑡2 ), 𝑏𝑚𝑖𝑛
𝑖
Fin
Dans le même ordre d’idée, nous définissons aussi la quantité d’énergie
maximale disponible pour l’exécution d’une activité. Elle est notée 𝑆𝐿(𝑖, 𝑡1 , 𝑡2 )
et donnée par la relation suivante :
𝑆𝐿(𝑖, 𝑡1 , 𝑡2 ) = 𝐵 ⋅ (𝑡2 − 𝑡1 ) −
∑
𝑤(𝑗, 𝑡1 , 𝑡2 )
𝑗∈𝐴∖{𝑖}
Ordonnancement sous contraintes de consommation énergétique
16
2.4 Principe de l’approche énergétique
Nous définissons aussi
𝑆𝐿(𝑡1 , 𝑡2 ) = 𝐵 ⋅ (𝑡2 − 𝑡1 ) −
∑
𝑤(𝑖, 𝑡1 , 𝑡2 )
𝑖∈𝐴
2.4
Principe de l’approche énergétique
2.4.1
Propriétés du raisonnement énergétique
Le principe de l’approche énergétique se résume en quelques propriétés.
[LEE92] présente une approche énergétique pour l’analyse du problème d’ordonnancement de tâches sous des contraintes de temps et de ressources, particulièrement le problème CuSP. La représentation du problème est basée
sur les notions d’intervalle temps-ressource et d’énergie, concepts visant une
prise en compte simultanée du temps et des ressources. On distingue les intervalles consommateurs, ou tâches, et les intervalles fournisseurs. L’approche
proposée consiste à étudier les interactions entre les tâches et les intervalles
fournisseurs de manière à déduire de nouvelles contraintes sur les extrémités
temporelles d’une tâche (date de début au plus tôt, date de fin au plus tard) ;
ceci permet de «rétrécir» la fenêtre temporelle allouée pour son exécution.
Cette approche a été reprise et adaptée au problème EnSP dans [ALH09].
On peut trouver dans cet article plusieurs propriétés et règles de dominance
pour le problème EnSP.
Partant de la définition et des notations adoptées dans la description du
problème EnSP, nous reprenons les propriétés du raisonnement énergétique
décrites dans [ALH09].
Propriété 1 : Consistance globale d’un problème EnSP
Si pour une activité i, 𝑏𝑚𝑎𝑥
⋅ (𝑑𝑖 − 𝑟𝑖 ) < 𝑊𝑖 , alors le problème EnSP n’a
𝑖
pas de solution
Propriété 2 : Consistance locale d’un problème EnSP
∑
S’il existe [𝑡1 , 𝑡2 ] qui vérifie 𝑖∈𝐴 𝑤 (𝑖, 𝑡1 , 𝑡2 ) > 𝐵 ⋅ (𝑡2 − 𝑡1 ), alors le problème EnSP n’a pas de solution.
Propriété 3 : ajustement des fenêtres d’un problème EnSP
Cette propriété permet, pour une activité, d’ajuster la date de début au
Ordonnancement sous contraintes de consommation énergétique