• Aucun résultat trouvé

De l'ordonnancement déterministe à l'ordonnancement distribué sous incertitudes

N/A
N/A
Protected

Academic year: 2021

Partager "De l'ordonnancement déterministe à l'ordonnancement distribué sous incertitudes"

Copied!
204
0
0

Texte intégral

(1)

T

T

H

H

È

È

S

S

E

E

En vue de l'obtention du

D

D

O

O

C

C

T

T

O

O

R

R

A

A

T

T

D

D

E

E

L

L

U

U

N

N

I

I

V

V

E

E

R

R

S

S

I

I

T

T

É

É

D

D

E

E

T

T

O

O

U

U

L

L

O

O

U

U

S

S

E

E

Délivré par l'Université Toulouse III - Paul Sabatier Discipline ou spécialité : Systèmes industriels

JURY

Jean-Charles BILLAUT - Professeur Université de Tours (Rapporteur)

Aziz MOUKRIM - Professeur Université de Technologie de Compiègne (Rapporteur) Michel COMBACAU - Professeur Université Toulouse III (Examinateur)

Eric SANLAVILLE - Professeur Université du Havre (Examinateur)

Ecole doctorale : Ecole doctorale EDSYS Unité de recherche : LAAS-CNRS (UPR 8001)

Directeur(s) de Thèse : Cyril BRIAND - Maitre de Conférences (HDR) Université Toulouse III

Présentée et soutenue par Samia OURARI Le 28 janvier 2011

Titre :

De l'ordonnancement déterministe à l'ordonnancement

(2)
(3)

Avant-propos

Le travail présenté dans ce mémoire a été eectué, au Laboratoire d'Analyse et d'Ar-chitecture des Systèmes du C.N.R.S (Toulouse), au sein de l'équipe Modélisation, Opti-misation et Gestion Intégrée de Systèmes d'Activités, et au Centre de Développement des Technologie Avancées (Alger) au sein de l'équipe Systèmes Robotisés de Production. A ce titre, je tiens à remercier Pierre Lopez, Chargé de Recherche au C.N.R.S, de m'avoir ac-cueilli au sein du groupe MOGISA, et Monsieur Brahim Bouzouia, Directeur de recherche au CDTA, et responsable de l'équipe Systèmes Robotisés de Production à laquelle j'appar-tiens pour sa conance.

Ce travail doit énormément à mon Directeur de thèse, C. Briand qui m'a encadré pour la réalisation des travaux. Qu'il trouve ici l'expression de ma profonde gratitude et ma haute reconnaissance pour la collaboration active et fructueuse que nous avons eu. Grâce à sa patience, sa disponibilité pendant mes séjours au LAAS ou bien à travers ses appels téléphonique du LAAS au CDTA, ainsi qu'à ses encouragements, ce mémoire à pu être concrétisé et mené à terme.

Je tiens à remercier Messieurs, Michel COMBACAU, Professeur à l'Université Paul Sa-batier, pour avoir accepté de présider le jury de ma soutenance, Jean-Charles BILLAUT, Professeur à l'Université de Tours et Aziz MOUKRIM, Professeur à l'université de Techno-logie de Compiègne pour avoir rapporté cette thèse et participé au jury de ma soutenance, ainsi que Eric SANLAVILLE, Professeur à l'Université du Havre, pour avoir accepté de participer à mon jury de thèse.

Mes remerciement vont également aux collègues et amis du CDTA, et ceux du groupe MOGISA, pour leurs sympathies et encouragements. Et pour nir, je ne remercierai jamais assez mes proches et amis pour leurs aides et soutien moral.

(4)
(5)

Table des matières

Avant-propos i

Table des matières vi

Liste des gures viii

Liste des tableaux ix

INTRODUCTION 1

I Notion préliminaires et contexte

5

1 Présentation générale des problèmes d'ordonnancement 7

1.1 Introduction aux problèmes d'ordonnancement . . . 7

1.1.1 Dénition . . . 7

1.1.2 Éléments fondamentaux d'un problème d'ordonnancement . . . 8

1.1.3 Représentation à l'aide d'un graphe potentiels-tâches . . . 11

1.1.4 Classes d'ordonnancement remarquables . . . 12

1.2 Quelques notions sur la complexité des problèmes et des algorithmes . . . . 14

1.3 Aperçu des approches classique de résolution . . . 16

1.3.1 Les approches exactes . . . 17

1.3.2 Les approches métaheuristiques . . . 19

2 Limites des hypothèses classiques en ordonnancement 23 2.1 Brève Introduction aux approches de résolution robustes . . . 23

2.2 Déterminisme des paramètres . . . 24

2.3 La gestion des incertitudes en ordonnancement . . . 24

2.4 Processus de résolution d'un problème d'ordonnancement avec incertitudes 26 2.5 Les mesures de performance . . . 27

2.5.1 Flexibilité . . . 27

(6)

iv TABLE DES MATIÈRES

2.6 Résolution centralisée/distribuée des problèmes . . . 31

2.7 Synthèse . . . 33

II Problème à une machine

35

Introduction 37 3 Structure d'intervalles et dominance 39 3.1 Dénitions . . . 39

3.1.1 Structures d'intervalles, sommets, bases et pyramides . . . 41

3.1.2 Notions de dominance en ordonnancement . . . 42

3.2 Une condition analytique de dominance . . . 43

3.2.1 Problème considéré et condition de dominance . . . 43

3.2.2 Théorème des pyramides . . . 44

3.2.3 Exemple illustratif . . . 45

3.3 Notion de séquence maître-pyramide . . . 46

3.3.1 dénition . . . 46

3.3.2 Relation entre ordre totaux et la séquence maître-pyramide . . . 48

3.3.2.1 Description et notation . . . 48

3.3.2.2 Exemple illustratif . . . 49

3.4 Extensions du Théorème de dominance . . . 50

3.4.1 Cas de sommets avec base commune . . . 51

3.4.2 Cas de sommets sans bases communes . . . 51

3.5 Nouvelles conditions numériques de dominance . . . 54

3.5.1 Cas mono-pyramidal . . . 54

3.5.2 Cas multi-pyramidal . . . 56

3.6 Condition de dominance pour la minimisation de ΣUi . . . 58

3.6.1 Introduction . . . 58

3.6.2 Théorème des pyramides et minimisation de ΣUi . . . 58

3.6.3 Notion de graphes d'intervalles sommet-base . . . 59

3.6.3.1 Dénitions . . . 59

3.6.4 Étude de la dominance du théorème des pyramides . . . 61

3.6.5 Exemple illustratif . . . 66

3.7 Conclusion . . . 68

4 Une nouvelle formulation PLNE 71 4.1 Problème d'admissibilité . . . 71

4.1.1 Cas mono-pyramidal . . . 72

4.1.2 Cas multi-pyramidal . . . 73 4.1.2.1 Un modèle PLNE pour le cas multi-pyramidal indépendant 73

(7)

TABLE DES MATIÈRES v 4.1.2.2 Un modèle PLNE pour le cas multi-pyramidal quelconque 76

4.2 Minimisation du plus grand retard algébrique . . . 77

4.2.1 La méthode de Carlier . . . 79

4.2.2 Résultats numériques . . . 80

4.3 Minimisation du nombre de travaux en retard . . . 83

4.3.1 Méthodes de Baptiste et Dauzère-Pérès . . . 83

4.3.2 Utilisation de la condition d'Erschler pour le critère ΣUi . . . 85

4.3.3 Modèle PLNE pour l'obtention d'une borne supérieure . . . 86

4.3.3.1 Utilisation de la séquence maître-pyramide . . . 86

4.3.4 Modèle PLNE pour l'obtention d'une borne inférieure . . . 88

4.3.4.1 Cas polynômial et bornes inférieures . . . 88

4.3.4.2 Un modèle mathématique pour le cas à pyramides parfaites 89 4.3.4.3 Relaxation des dates de disponibilité . . . 91

4.3.4.4 Relaxation des dates échues . . . 91

4.3.5 Experimentations et analyse de performance . . . 92

4.4 Discussion . . . 95

III Le cas multi-ressource : une méthode coopérative

99

Introduction 101 5 Revue des approches robustes et coopératives 103 5.1 Tour d'horizon des méthodes . . . 103

5.1.1 Approches réactives et prédictives-réactives . . . 104

5.1.2 Approches proactives . . . 106

5.1.3 Approches proactives-réactives . . . 109

5.2 Pour une approche d'ordonnancement robuste basée sur la coopération . . 113

5.3 Tour d'horizon de l'ordonnancement coopératif . . . 114

5.3.1 Dénitions et état de l'art . . . 114

5.3.2 Les formes de coopération . . . 117

5.3.3 Organisation de la coopération en centres de décision . . . 117

5.3.3.1 Organisation de la coopération dans un système distribué 117 5.3.3.2 Notion de réseau de centres de décision . . . 120

5.4 Synthèse . . . 122

6 Élements préliminaires 125 6.1 Introduction . . . 125

6.2 Une approche d'ordonnancement robuste à une machine . . . 126

6.2.1 Évaluation des performances d'un ensemble dominant . . . 126

(8)

6.2.1.2 Calcul de la performance au pire d'un travail . . . 127

6.2.2 Intervalles des retards et adaptation des retards . . . 129

6.3 Job shop et ordonnancements locaux robustes . . . 131

6.4 Discussion . . . 133

7 Schéma de coopération proposé 135 7.1 Contexte . . . 135

7.2 Mécanisme de coopération . . . 137

7.3 Ordonnancement local robuste . . . 139

7.4 Notion de cohérence et de exibilité . . . 139

7.4.1 Cohérence locale . . . 139

7.4.2 Cohérence globale . . . 140

7.4.3 Risque d'incohérence . . . 140

7.4.4 Flexibilité . . . 142

7.5 Conclusion . . . 142

8 Une méthode pour l'ordonnancement coopératif et robuste 145 8.1 Formalisation d'un processus de coopération inter-machines . . . 145

8.1.1 Processus de négociation . . . 145

8.1.2 Processus de coordination . . . 146

8.1.3 Processus de renégociation . . . 147

8.2 Comportement d'un centre de décision . . . 148

8.2.1 Négocier amont/ Contracter aval . . . 149

8.2.2 Proposition d'un algorithme pour la coopération inter-CDDs . . . . 151

8.3 Modèles de négociation/renégociation . . . 159

8.3.1 Choix d'un ordre total et caractérisation de séquences dominantes . 161 8.3.2 Modèle pour la coopération amont . . . 164

8.3.3 Modèle pour la coopération aval . . . 167

8.4 Conclusion . . . 170

CONCLUSION ET PERSPECTIVES 171

(9)

Table des gures

1.1 Une typologie des problèmes d'ordonnancement (d'après [Billaut 99]) . . . 10

1.2 Représentation graphique du problème du tableau 1.1 . . . 12

1.3 Solution du problème du tableau 1.3 . . . 13

1.4 Diagramme de Venn . . . 14

1.5 Arbre de réduction des problèmes selon les critères . . . 16

1.6 Les modèles d'ordonnancement . . . 16

2.1 Une organisation centralisée et hiérarchique des décisions . . . 31

3.1 Algèbre de Allen . . . 41

3.2 Relation entre les ensembles de solutions dominantes et optimales . . . 42

3.3 Diagramme des intervalles, sommets et pyramides . . . 45

3.4 Ensemble dominant de séquences du problème de la Figure 3.3 . . . 46

3.5 Algorithme de construction de σ(V ) . . . 47

3.6 Graphe EOT relatif à deux jobs i ≺ j . . . . 49

3.7 EOT correspondant à σ(V )de l'exemple de la Section 3.2.3 . . . 49

3.8 Ensemble des ordre totaux correspondant aux extensions linéaires de l'ordre partiel donné sur la gure 3.7 . . . 50

3.9 Overlaps (ti, tj) . . . 52

3.10 Structure pyramidale de m sommets sans bases communes et rtm < dt1 . . 53

3.11 Inter-dépendance des sous-séquences d'une structure multi-pyramidale . . . 57

3.12 Exemples illustrant les types de sommet(s) . . . 61

3.13 Graphe d'intervalles sommet-base associé à l'exemple de la Figure 3.3 . . . 61

3.14 Anti-arborescence et séquence maître-pyramide . . . 62

3.15 Exemple de sous-séquence sans sommet générateur . . . 64

3.16 graphe d'intervalles sommets-bases avec sommets générateurs . . . 66

3.17 Les séquences maîtres-pyramides relatives à l'exemple de la Figure 3.16 . . 67

4.1 La séquence la plus dominante dans l'ensemble des solutions possibles . . . 72

4.2 Interdépendance des sous-séquences d'une séquence dominante σ . . . . 74

4.3 Algorithme de construction de la séquence maître de Dauzère-Pérès et al. . 84

(10)

4.5 Algorithme de relaxation des dates d'échéance . . . 92

5.1 Positionnement des diérentes approches d'ordonnancement sous incertitudes104 5.2 Organisations centralisée et distribuée . . . 118

5.3 Diérents modes de distribution en ordonnancement . . . 119

5.4 Réseau de centres de décision . . . 121

6.1 La séquence la plus favorable du travail j . . . 127

6.2 La séquence la plus défavorable de la tâche j . . . 128

6.3 Domaine de variation de j dans la limite de l'ensemble dominant . . . 133

7.1 Relations entre centres de décision d'un atelier . . . 136

7.2 Interaction d'un CDD avec son environnement . . . 138

7.3 Risque d'incoherence nul . . . 141

7.4 Risque potentiel d'incoherence . . . 141

8.1 Situations nécessitant un réordonnancement . . . 147

8.2 Situations de renégotiation . . . 148

8.3 Comportement d'un centre de décision . . . 149

8.4 Cohérence et incohérence de [sj] avec [rj] . . . 150

8.5 Cohérence et incohérence de [fj] avec [dj] . . . 152

8.6 Types de messages . . . 153

8.7 Attributs des variables . . . 153

8.8 Les diérents messages reçus ou émis par un CDD . . . 154

8.9 Diagramme de séquences illustrant un processus de négociation . . . 158

8.10 Diérentes situations selon certaines valeurs de ϵr i . . . 162

8.11 Domaine de variation des variables r et d . . . 162

(11)

Liste des tableaux

1.1 Exemple d'un problème de job-shop à 3 machines . . . 12

4.1 Tableau des résultats : Lmax . . . 82

4.2 Comparaison des résultats (bornes) pour un échantillon d'instances . . . . 93

4.3 Pourcentage et temps CPU des instances résolues optimalement . . . 94

4.4 Pourcentage des solutions optimales . . . 95

4.5 Analyse de performance de la borne supérieure . . . 95

6.1 Tableau des retards obtenu pour l'exemple de la Figure 3.3 . . . 130

(12)
(13)

INTRODUCTION

L'ordonnancement consiste à organiser dans le temps l'exécution d'un ensemble de tâches au moyen d'un ensemble de ressources tout en satisfaisant un ensemble de contraintes et/ou en optimisant un ou plusieurs objectifs. C'est une fonction qui joue un rôle essentiel et peut être rencontrée dans de nombreux domaines : les systèmes industriels de production (gestion de production, gestion de projets), les systèmes informatiques (ordonnancement de processus), les systèmes administratifs (gestion hospitalière), etc. Dans le cas où les ressources sont disjonctives (machines), un problème d'ordonnancement est un problème d'optimisation combinatoire dont la solution caractérise pour chaque ressource, une sé-quence de tâches. Les travaux scientiques concernant les problèmes d'ordonnancement et les méthodes de résolution foisonnent à l'heure actuelle dans la littérature.

De très nombreuses études se sont portées sur la résolution de problèmes détermi-nistes. Les auteurs considèrent dans ce cas que les données du problème sont parfaitement connues, et proposent des méthodes pour générer un ordonnancement unique satisfaisant les contraintes du système et ayant des performances optimales ou proches des optimums. Ces méthodes sont alors, ou bien exactes (plus ou moins ecaces selon la diculté du problème), ou bien approchées (avec ou sans garantie de performance). Notons, toutefois, que ces problèmes demeurent ardus dans la plupart des cas et le développement de nou-velles méthodes d'ordonnancement déterministes est toujours d'intérêt dans le domaine théorique.

Aujourd'hui, l'hypothèse du déterminisme des problèmes d'ordonnancement est souvent jugée trop restrictive. En eet, en pratique, les données du problème ne sont pas toujours connues à l'avance. De plus, de nouvelles informations apparaissent durant l'exécution du programme prévisionnel susceptibles de rendre sa mise en ÷uvre caduque. Ce constat sur la réalité de l'environnement d'application de l'ordonnancement, à la fois non détérministe et incertain, a poussé plusieurs chercheurs à poser la problématique de l'ordonnancement avec gestion des incertitudes an que les travaux théoriques en ordonnancement puissent être destinés à être mis en ÷uvre dans la pratique. De manière générale, cela a conduit l'émergence d'une nouvelle thématique de recherche appelée ordonnancement robuste.

(14)

2 INTRODUCTION évolué selon deux axes, leur point commun étant l'utilisation d'un théorème de dominance démontré dans les années quatre-vingt, baptisé théorème des pyramides. Ce théorème, for-mulé initialement pour limiter la complexité algorithmique liée à la recherche d'une solution admissible pour un problème d'ordonnancement à une machine avec fenêtres d'exécution, a été aussi exploité dans un travail antérieur dans un contexte de robustesse, pour évaluer en temps polynomial les performances de l'ensemble dominant qu'il caractérise.

Le premier axe abordé dans cette thèse concerne la résolution exacte de problèmes d'or-donnancement à une machine pour lesquels nous proposons de nouvelles formulations de programmation linéaire en nombres entiers. Le second axe concerne l'étude du problème d'ordonnancement de type job shop dans un contexte perturbé : en supposant que chaque ressource, assimilée à un centre de décision, dispose d'une autonomie décisionnelle, nous proposons une nouvelle approche d'ordonnancement distribuée, dont la solution globale résulte de la concaténation d'ordonnancements locaux, eux-mêmes élaborés par des négo-ciations successives entre des couples d'acteurs.

Le manuscrit est organisé comme suit :

La Partie I décrit quelques concepts nécessaires à la compréhension de la suite du manuscrit. Nous commençons par présenter brièvement les problèmes d'ordonnancement et donner un aperçu des approches classiques de résolution. Ensuite, nous discutons les limites des hypothèses classiques en ordonnancement, ou en d'autres termes les limites des ordonnancements déterministes et centralisés et montrons l'intérêt, des approches de résolution robustes et de la distribution de la fonction ordonnancement.

La seconde partie II s'intéresse à l'étude du problème d'ordonnancement à une ma-chine. Dans un premier temps, la notion de condition nécessaire et susante d'admissibilité énoncée par le théorème des pyramides est rappelée et présentée, pour ensuite énoncer de nouvelles conditions analytiques et numériques pour la recherche de la solution la plus dominante. Nous montrons aussi sous quelles conditions, le théorème des pyramides est dominant vis-à-vis du critère de minimisation du nombre de travaux en retard. Dans un second temps, à partir des résultats énoncés et démontrés, et considérant tour à tour les critères d'admissibilité, puis la minimisation du retard algébrique maximal et enn la mi-nimisation du nombre de travaux en retard, nous proposons de nouvelles formulations ma-thématiques sous forme de programmes linéaires en nombres entiers. Des expérimentations sont également présentées pour l'évaluation des performances des modèles qui mettent en évidence leur ecacité.

La dernière partie III s'intéresse à un problème à plusieurs ressources en contexte perturbé. Nous admettons d'une part, que la recherche d'une solution optimale ou presque optimale, souvent coûteuse, ne constitue pas un objectif réaliste, en raison des aléas qui

(15)

INTRODUCTION 3 viennent changer la structure du problème lors de sa mise en ÷uvre, et que d'autre part, il est possible de tirer prot d'une organisation distribuée de la fonction ordonnancement, en exploitant l'autonomie de décision dont peuvent disposer les diérentes ressources. De là, une approche nouvelle d'ordonnancement coopératif permettant à la fois, d'anticiper et de réagir hors-ligne aux perturbations et, d'intégrer une dimension distribuée dans sa résolution, est proposée. C'est une approche qui consiste à déterminer, à la place d'un or-donnancement de référence, un ensemble de solutions exibles au niveau de chaque centre de décision et à faire appel à la coopération entres les diérents acteurs pour l'ordonnan-cement global du système de fabrication.

Dans cette partie, un aperçu des méthodes traitant de l'ordonnancement sous incerti-tudes est donné dans un premier chapitre, puis, une méthode d'ordonnancement robuste à une machine avec apport de exibilité séquentielle est rappelée dans un second chapitre. La problématique d'ordonnancement multi-ressources est abordée dans le chapitre suivant, puis une approche heuristique de résolution, permettant de construire de façon distribuée et coopérative la solution d'ordonnancement est décrite dans le dernier chapitre.

(16)
(17)

Première partie

(18)
(19)

Chapitre 1

Présentation générale des problèmes

d'ordonnancement

1.1 Introduction aux problèmes d'ordonnancement

Ce chapitre constitue un rappel de quelques notions de base relatives aux problèmes d'ordonnancement. Il rappelle aussi quelques concepts sur la théorie de la complexité, et donne un aperçu des approches classiques de résolution des problèmes d'ordonnancement.

1.1.1 Dénition

On trouve dans la littérature plusieurs ouvrages consacrés à l'ordonnancement, nous

ci-tons [Baker 74], [French 82], [Carlier & Chrétienne 88], [Mortan & Pintico 93], [Chrétienne et al. 95], [Chu & Proth 96], [Esquirol & Lopez 99], [Lopez & Roubelat 01] et [Pinedo 08].

Plusieurs dénitions de l'ordonnancement y sont données, nous reprenons celle propo-sée dans [Carlier & Chrétienne 88] :

" Ordonnancer c'est programmer l'exécution d'une réalisation en attri-buant des ressources aux tâches et en xant leurs dates d'exécution."

Le terme réalisation a un sens large. En eet, selon le champ d'application de l'ordon-nancement considéré, la réalisation peut concerner, en production, les opérations à eectuer sur des machines ; en informatique parallèle, les morceaux de programmes à exécuter sur des processeurs ; ou en gestion de projets, les activités (ou actions) à accomplir nécessitant une ou plusieurs ressources.

Une opération est une activité élémentaire, reliée à d'autres opérations par des contraintes temporelles et nécessitant pour sa réalisation l'utilisation d'une ou plusieurs ressources. Un travail est constitué de plusieurs opérations. On appelle gamme d'un travail ou gamme opé-ratoire, la succession des opérations qui le constituent, ou la succession des machines qui

(20)

8 Présentation générale des problèmes d'ordonnancement leur sont associées. Les contraintes et les critères du problème concernent les opérations, leurs localisations temporelles, et les moyens nécessaires à leur réalisation.

Résoudre un problème d'ordonnancement, c'est choisir pour chaque opération une date de début, de telle sorte que les contraintes du problème soient respectées (la solution est alors dite admissible ou réalisable) et qu'un ou plusieurs critères donnés soient optimisés. Un ordonnancement est la solution au problème d'ordonnancement.

1.1.2 Éléments fondamentaux d'un problème d'ordonnancement

Un problème d'ordonnancement est déni par l'ensemble des opérations à réaliser, les machines disponibles pour les exécuter, les contraintes relatives aux opérations et aux machines ainsi que les fonctions objectifs à optimiser. Généralement, nous considérons un problème V = {J1, J2, ..., Jn} de n travaux à ordonnancer sur m machines {m1, m2, ..., mm}.

Si nous utilisons l'indice j pour désigner le travail et l'indice i pour désigner la machine, alors les principales notations des données relatives à ce problème sont :

- La durée opératoire (processing time en anglais) pi,j : c'est le temps d'exécution du travail j sur la machine i. Il sera noté pj si le travail doit être exécuté sur une seule machine.

- La date de disponibilité (release date en anglais) rj : c'est la date d'arrivée du travail j dans le système, elle représente aussi sa date de début au plus tôt.

- La date d'échéance (due date en anglais) dj : c'est la date de n d'exécution préfé-rentielle du travail j (date de livraison promise de j pour le client) ; lorsque cette date d'échéance doit être respectée, on parlera de date d'échéance stricte (deadline en anglais) notée, ˜dj.

- Le poids (weight en anglais) wj : c'est un facteur de priorité qui dénote l'importance du travail j relativement aux autres.

Plusieurs notations ont été introduites dans la littérature pour spécier un problème d'ordonnancement. Un schéma de classication proposé par [Graham et al. 79], puis repris par [Blazewicz et al. 96], structure les données d'un problème d'ordonnancement sur la base d'une notation à trois champs distincts : α|β|γ. Le champs α décrit l'environnement machine, β précise les contraintes liées aux opérations, et le champs γ décrit le ou les cri-tères à optimiser.

Les environnements machines les plus courants décomposent le champ α en deux sous champs α1 et α2. Le premier indique la nature du problème (job shop, ow shop, etc.)

(21)

1.1 Introduction aux problèmes d'ordonnancement 9 alors que le second précise le nombre de machines ou d'ensembles de machines (pools de ressources).

Les diérents environnements machines possibles, spéciés dans le champs α1, sont :

- Ressource unique : c'est le cas simple où une seule ressource disjonctive (ne pouvant traiter qu'une opération à la fois) exécute les tâches. Dans ce cas, le champ α1 = ∅

ou est absent.

- Machines parallèles : il existe m machines parallèles. Chaque opération doit être exé-cutée sur une machine à sélectionner dans l'ensemble des m machines parallèles. Les machines peuvent être alors identiques, uniformes ou indépendantes. Le champs α1

prend ainsi respectivement les valeurs P , Q ou R.

- Les ateliers à cheminement unique ou "ow shop" : il existe m machines en série. Tous les travaux ont la même gamme opératoire, et l'ordre de visite des travaux est le même pour chaque machine. Le champ α1 = F.

- Les ateliers à cheminement multiples ou "job shop" : c'est un cas plus général que le ow shop, où chaque travail à sa propre gamme opératoire. Le champ α1 = J.

- Les ateliers à cheminements libre "ou open shop" : il existe m machines. L'ordre de passage sur les machines est libre pour tous les travaux, i.e., il n'existe aucune relation de précédence entre les opérations d'un même travail. Le champ α1 = O.

La Figure suivante (issue de [Billaut 99]) présente une classication des problèmes d'or-donnancement en fonction de la nature des ressources et des gammes des travaux à réaliser. Le second champ β correspond aux contraintes liées aux opérations. Il peut inclure plusieurs sous-champs. Les principales valeurs de ces sous-champs sont données ci-dessous : - Dates de disponibilité "rj" : quand cette valeur apparaît dans le champs β cela veut dire que les dates de disponibilité des tâches sont distinctes (toutes les tâches com-mencent leur exécution après cette date). Si au contraire, toutes les tâches sont disponibles à l'instant initial, alors la valeur rj est absente du champs β.

- La préemption "pmtn" : la préemption signie qu'une machine peut interrompre à tout moment l'exécution d'une opération pour en exécuter une autre. Ainsi, quand la valeur pmtn apparaît dans le champs β cela implique que la préemption est autorisée. - La précédence "prec" : on dit que deux travaux j1 et j2 sont liés par une contrainte

(22)

10 Présentation générale des problèmes d'ordonnancement

Fig. 1.1: Une typologie des problèmes d'ordonnancement (d'après [Billaut 99]) et on note j1 ≺ j2. Si la valeur prec n'apparaît pas dans le champ β, cela signie que

les travaux ne sont pas soumis aux contraintes de pécédence.

- No-wait "nwt" : les opérations de chaque travail doivent se succéder sans attente devant la machine.

- Durées opératoires égales "pj = p". Si la valeur pj = papparaît dans le champ β cela veut dire que toutes les opérations ont la même durée opératoire.

Dans le dernier champ γ apparaît le critère d'optimisation. Le plus souvent, le critère est exprimé en fonction des variables de décision associées à chaque tâche j, soit :

- la date de n d'exécution du travail j sur la dernière machine : Cj;

- la durée de séjour du travail j dans l'atelier (Flow-time). Son expression est donnée par Fj = Cj − rj;

- le retard algébrique (lateness) qui dénote l'écart par rapport au délai souhaité avec avance favorable et retard défavorable. Il est exprimé par Lj = Cj − dj;

- le retard vrai (tardiness) donné par l'expression, toujours positive, Tj = max(0, Cj− dj) = max(0, Lj);

(23)

1.1 Introduction aux problèmes d'ordonnancement 11 - l'indicateur de retard (unit penalty) dénit par Uj =

{

0 si Cj ≥ dj 1 sinon - l'avance (earliness) Ei = max(0, dj − Cj) =− min(0, Lj).

Les indicateurs de performance usuelles sont alors :

- la durée totale de l'ordonnancement (makespan) Cmax = maxjCj; - le plus grand retard algébrique Lmax = maxjLj;

- la plus grande durée de séjour Fmax = maxjFj; - le plus grand retard vrai Tmax = maxjTj; - le nombre de tâches en retard NT =∑nj=1Uj; - le retard moyen T = 1

nn

j=1Tj; - la durée moyenne de séjour F = 1

nn

j=1Fj.

À partir de ces mesures, des critères d'appréciation ou d'évaluation des solutions du problème d'ordonnancement sont construits. Pour celles que nous avons présentées, l'ob-jectif consiste dans tous les cas à minimiser ces mesures de performance. On remarque que tous ces critères sont basés sur l'inconnue Cj et des fenêtres d'exécution [rj, dj] associées aux opérations.

On note que les critères présentés ci-dessus sont tous réguliers. On dit qu'un critère, fonction des variables Cj, est régulier si sa valeur décroît lorsqu'au moins un des Cj décroît, les autres restant xes (on cherche à exécuter les tâches au plus tôt).

1.1.3 Représentation à l'aide d'un graphe potentiels-tâches

Une manière de modéliser les contraintes d'un problème d'ordonnancement d'atelier est d'utiliser un graphe potentiels tâches [Roy & Sussmann 64]. Ce graphe noté G(X, U, F ) est un graphe orienté. X représente l'ensemble des n÷uds correspondant aux opérations à ordonnancer. Cet ensemble contient parfois deux opérations ctives appelées source et puit representant respectivement le début et la n de l'ordonnancement. U est l'ensemble des arcs qui représente les contraintes de précédence entre les opérations d'une même tâche. Chaque arc u = (i, j) ∈ U de longueur δi,j, appelé arc conjonctif, correspond à une inéga-lité de potentiels entre les deux n÷uds i et j (tj − ti ≥ δi,j). Le potentiel ti correspond généralement à la date de début de l'opération i, et δi,j, à la valeur de la durée opératoire de l'opération origine i. F contient l'ensemble des arcs disjonctifs non orientés (arêtes). Ces arcs non-conjonctifs connectent mutuellement des opérations non ordonnées nécessi-tant l'utilisation de la même machine. On note qu'un arc disjonctif peut être représenté par deux arcs orientés de sens opposé.

(24)

12 Présentation générale des problèmes d'ordonnancement opérations sur les ressources, revient à orienter les arcs disjonctifs sans créer de circuits. Le plus long chemin dans le graphe résultant dénit alors la durée totale de l'ordonnancement. À titre d'illustration, considérons un problème job-shop à 3 machines M1, M2 et M3 et

4 travaux J1, J2, J3 et J4. Tous les travaux sont disponibles à l'instant zéro. Les données

concernant les gammes et les durées opératoires sont données dans le Tableau1.1. Tâche Ji 1 1 1 2 2 3 3 3 4 4 Opération i 1 2 3 4 5 6 7 8 9 10 pi 7 10 5 3 15 30 3 2 6 3 Mi M1 M2 M3 M2 M1 M3 M1 M2 M3 M1

Tab. 1.1: Exemple d'un problème de job-shop à 3 machines Le graphe disjonctif représentant ce problème est donné par la Figure 1.2

Fig. 1.2: Représentation graphique du problème du tableau1.1

Seuls les arcs disjonctifs connectant les opérations qui requièrent la machine M1 sont

représentés sur la Figure 1.2. Une solution spéciée par les ordres de passage des dié-rentes opérations sur les machines, par exemple M1(1, 5, 10, 7), M2(4, 2, 8) et M3(9, 6, 3)

voir Figure1.3, correspond à une solution minimisant le makespan Cmax. La durée totale de l'ordonnancement Cmax est ici égale à 41.

1.1.4 Classes d'ordonnancement remarquables

La solution d'un problème d'ordonnancement est par abus de language appelée ordon-nancement. Ce dernier est déni, comme évoqué précédemment, par la valeur, pour chaque tâche j, de sa date de n Cj ou, de manière équivalente, par sa date de début tj = Cj− pj,

(25)

1.1 Introduction aux problèmes d'ordonnancement 13

Fig. 1.3: Solution du problème du tableau 1.3

ainsi que par la valeur du critère de la solution considérée.

Fréquemment, on peut restreindre l'espace de recherche des solutions à un sous en-semble d'ordonnancements particuliers. On s'intéresse en particulier aux sous enen-sembles dominants. On dit qu'un sous ensemble de solutions est dominant pour l'optimisation d'un critère donné, s'il contient au moins un optimum pour ce critère. On dit qu'un sous-ensemble est dominant relativement à l'admissibilité lorsque le sous sous-ensemble contient au moins une solution admissible, s'il en existe. Rappelons qu'un ordonnancement est dit admissible s'il respecte toutes les contraintes du problème.

Trois classes d'ordonnancement sont généralement considérées dans la littérature : les ordonnancements actifs, semi-actifs et sans délai.

- Un ordonnancement est dit actif si aucune tâche ne peut être démarrée plus tôt sans décaler vers la droite une autre tâche.

- Dans un ordonnancement semi-actif (ou calé au plus tôt), aucune tâche ne peut être exécutée plus tôt sans changer l'ordre d'exécution des autres tâches sur les ressources. Notons qu'un ordonnancement actif est semi-actif.

- Un ordonnancement est dit sans délai si aucune ressource n'est laissée inactive alors qu'elle pourrait commencer l'exécution d'une autre opération.

Les relations entre les diérentes classes d'ordonnancement sont illustrées par le dia-gramme de Venn donnée sur la Figure 1.4.

Pour l'optimisation d'un critère régulier, il est susant de considérer l'ensemble des or-donnancements semi-actifs ; ces derniers dominent l'ensemble de tous les oror-donnancements. Cependant leur nombre important amène à considérer souvent les hypothèses plus restric-tives des ordonnancements actifs pour améliorer la recherche de solutions optimales. l'en-semble des ordonnancements actifs est le plus petit enl'en-semble dominant [Esquirol & Lopez 99]. Notons également que lorsqu'on considère la recherche d'ordonnancements admissibles, des conditions de dominance permettant de limiter l'espace de recherche de solutions peuvent

(26)

14 Présentation générale des problèmes d'ordonnancement

Fig. 1.4: Diagramme de Venn

être mises en évidence. Nous reviendrons en détail sur cette notion dans le Chapitre 3 de la partie II.

1.2 Quelques notions sur la complexité des problèmes

et des algorithmes

La théorie de la complexité a pour but d'apporter des informations sur la diculté théorique d'un problème à résoudre. Elle permet de classer "du point de vue mathéma-tique" les problèmes selon leur diculté [Esswein 03].

La diculté d'un problème est mesurée par la complexité du meilleur algorithme ré-solvant le problème de façon optimale. La performance d'un algorithme est évaluée sur la base du temps de calcul (nombre d'opérations élémentaires T (n) nécessaires à l'exécution de l'algorithme pour une instance de taille n) et de la taille mémoire (taille nécessaire pour stocker les diérentes structures de données) requise pour résoudre le problème. On dit sou-vent que le temps d'exécution dépend de la taille de l'instance du problème. La complexité algorithmique est un concept fondamental qui permet de mesurer les performances d'un algorithme et de le comparer avec d'autres algorithmes réalisant les mêmes fonctionnalités. Un algorithme est dit de complexité polynomiale O(p(n)) si son temps d'exécution est borné par une fonction polynomiale p en la taille de l'instance n. Si p(n) est bornée supé-rieurement par un polynôme d'ordre k, on dira alors que l'algorithme est polynomial d'ordre k, i.e. T (n) = O(nk). Si par contre il n'existe pas de polynôme p(n) tel que T (n) = O(p(n)), par exemple si T (n) = 2n, alors l'algorithme est dit de complexité exponentielle.

Les problèmes d'ordonnancement correspondent soit à des problèmes de décision, soit à des problème d'optimisation. Les problèmes de décision sont des problème pour lesquels on cherche à répondre par "oui" ou "non" à une question donnée. Un problème d'optimisation

(27)

1.2 Quelques notions sur la complexité des problèmes et des algorithmes 15 est un problème pour lequel on cherche à déterminer une solution qui optimise un critère. Les problèmes d'optimisation étant les plus couramment étudiés, il est possible d'associer à tout problème d'optimisation un problème de décision. Par exemple, le problème de dé-cision associé au problème d'optimisation F 2|rj|Cmax est : existe-t-il un ordonnancement tel que Cmax≤ b ? b étant une valeur connue.

Dans la théorie de la complexité, la résolution d'un problème d'existence s'eectue en deux phases : la recherche d'une solution et la vérication de la solution. On dénit alors deux types de classes, la classe P et la classe N P.

Un problème de décision appartient à la classe P si et seulement si il existe un algo-rithme polynomial permettant de le résoudre (la recherche et la vérication de la solution réalisable peut se faire en un temps polynomial). Il est considéré comme étant un problème "facile". Tous les problèmes de décision n'appartiennent pas forcément à la classe P . Ainsi, un problème appartient à la classe N P si et seulement il existe un algorithme non déter-ministe polynomial permettant de le résoudre (la vérication de la solution peut se réaliser en temps polynomial indépendamment du temps nécessaire à la recherche de la solution proprement dite).

Il est clair que P ⊆ N P. La théorie de la complexité ne permet pas encore d'armer que ces deux classes sont diérentes, une conjecture est que P ̸= N P et cela signie que certains problèmes "diciles" n'ont pu être résolus jusqu'à présent par des algorithmes polynomiaux. Ces problèmes appartiennent à une autre sous-classe de problèmes NP : la classe des problèmes N P−complets. Un problème de décision est dit N P−complet, s'il appartient à N P et si tous les problèmes de N P se réduisent polynomialement en ce problème. On remarque que si on parvient à dénir un algorithme polynomial pour un problème N P-complet alors P = N P. Pour les problèmes d'optimisation, un problème est dit N dicile si et seulement si le problème de décision qui lui est associé est N P-complet. La classe des problèmes N P-complets contient les problèmes les plus diciles à résoudre dans N P.

Plusieurs méthodes sont proposées dans la littérature pour résoudre les problèmes d'or-donnancement, selon leur classe de complexité. On trouve des algorithmes polynomiaux qui résolvent les problèmes "faciles". Par contre, deux alternatives sont possibles pour le cas des problèmes N P-diciles :

- les algorithmes exactes de type exponentiel qui permettent de garantir l'optimalité de la solution du problème, mais ne peuvent traiter que les problèmes de taille réduite en un temps de calcul raisonnable ;

(28)

16 Présentation générale des problèmes d'ordonnancement approchées mais sans garantie d'optimalité du problème, en un temps de calcul rai-sonnable.

La Figure1.5présente un arbre de réduction des critères d'optimisation en ordonnance-ment. Il s'interprète de la manière suivante. Pour un environnement d'atelier donné et pour des contraintes et un critère donnés, si un problème est N P-dicile, tous ses successeurs dans l'arbre le sont également.

Fig. 1.5: Arbre de réduction des problèmes selon les critères

1.3 Aperçu des approches classique de résolution

Nombreuses sont les méthodes proposées dans la littérature pour l'ordonnancement de la fabrication dans les ateliers. Elles sont généralement classées selon deux dimensions : La première est basée sur la connaissance de la disponibilité des travaux qui peut être statique ou dynamique alors que la seconde, s'appuie sur le dynamisme de la méthode d'ordonnan-cement qui peut être prévisionnelle (o-line) ou temps réel (real-time). Une schématisation des modèles d'ordonnancement selon la nature de l'univers d'ordonnancement considéré est donnée par la Figure 1.6 [Noronha & Sarma 91].

Fig. 1.6: Les modèles d'ordonnancement

Les méthodes d'ordonnancement prévisionnelles considèrent uniquement les problèmes d'ordonnancement statiques et utilisent des algorithmes pour dénir le meilleur ordonnan-cement sans tenir compte des perturbations qui peuvent intervenir. Les problèmes d'or-donnancement prévisionnel sont des problèmes d'optimisation combinatoire. À côté des

(29)

1.3 Aperçu des approches classique de résolution 17 algorithmes classiques exacts de résolution, des algorithmes approchés ont été développés. Un algorithme exact permet de garantir l'optimalité de la solution obtenue, à la diérence d'un algorithme approché qui tente de s'en approcher le plus possible.

1.3.1 Les approches exactes

- La programmation linéaire (PL) regroupe l'ensemble des problèmes d'optimisation qui consistent à maximiser (ou minimiser) une fonction objectif linéaire de variables soumises à un ensemble de contraintes exprimées sous forme d'équations ou d'in-équations linéaires. On note que l'ensemble des solutions admissibles (qui respectent les diérentes contraintes du problème) forment dans ce cas une enveloppe convexe nommé polytope et que l'ensemble des sommets du polytope constitue l'ensemble dominant de solutions parmi toutes les solutions admissibles.

L'algorithme du simplexe développé en 1947 par Dantzig permet de résoudre la plu-part des problèmes de la PL. Ce dernier étant très ecace la pluplu-part du temps, il existe cependant des exemples pour lesquels il est montré que l'algorithme du sim-plexe n'est pas polynomial [Klee & Minty 72]. Des algorithmes polynomiaux de réso-lution de PL ont été développés par la suite. Khachian propose en 1979 une méthode appelée méthode ellippsoïde jugée lente pour des problèmes réels, mais montre tou-tefois que les problèmes de programmation linéaire sont polynomiaux [Khachian 79]. Une seconde méthode de points intérieurs basée sur le principe de géométrie pro-jective et de programmation linéaire est proposée dans [Karmarkar 84]. Malgré que cette dernière méthode soit ecace pour les problèmes de grande taille, le simplexe demeure toutefois une méthode avantageuse servant de base pour d'autres approches de résolution, e.g. "les approches de décomposition".

- La programmation linéaire en nombres entiers : Lorsqu'un problème d'optimisation peut être modélisé comme un programme linéaire dont les variables sont contraintes à être entières alors le programme est dit linéaire en nombre entiers (PLNE). Quand certaines variables seulement sont contraintes à être entières, on parle alors de pro-gramme linéaire en variables mixtes (PLNE mixte).

La PLNE est souvent dicile à résoudre du fait que l'espace de recherche n'est plus convexe mais discret. Il existe principalement deux approches de recherche de la so-lution optimale entière des PLNE : Les méthodes arborescentes par séparation et évaluation (branch and bound ou le branch and cut) et les méthodes de coupes. La méthode par séparation et évaluation sera décrite plus bas. Les méthodes de coupes ont pour but de trouver le plus petit polytope contenant toutes les solutions entières du PLNE. En pratique, ces méthodes consistent à itérer le processus suivant jusqu'à obtenir une solution entière : résoudre la relaxation linéaire du problème (relâcher les contraintes d'intégrité), puis ajouter des contraintes supplémentaires au problème

(30)

18 Présentation générale des problèmes d'ordonnancement (les coupes) pour réduire l'enveloppe des solutions sans éliminer des solutions entières admissibles. La diculté principale de cette méthode réside dans le choix des coupes ecaces pour une convergence rapide de l'algorithme. Dans [Johnson et al. 00], les auteurs mettent en avant les méthodologies les plus utilisées ces dernières années pour la resolution des problèmes pratiques de taille importante en PLNE-mixte. - La méthode par séparation et évaluation (PSE) : C'est une méthode de recherche

arborescente qui énumère à travers des n÷uds des sous-ensembles de solutions. Le principe est d'éliminer de l'arbre de recherche les branches prouvées non-optimales an d'éviter l'énumération exhaustive des solutions. Pour chaque sous-ensemble, une borne inférieure et une borne supérieure du critère sont calculées. Si à un n÷ud donné, la borne inférieure est supérieure à la meilleure borne supérieure trouvée jus-qu'ici (pour un problème de minimisation), alors il est certain qu'il n'existe pas de solutions meilleure dans ce sous-ensemble issu du n÷ud (le branchement s'arrête au niveau du n÷ud). Les méthodes de recherche arborescente sont généralement des méthodes exponentielles.

- Relaxation lagrangienne : C'est une méthodologie générale qui permet d'obtenir des bornes inférieures de bonne qualité pour certains problèmes d'optimisation combina-toire. L'idée de la technique consiste à supprimer (relaxer) une partie des contraintes (en principe celles qui rendent le problème dicile) en les introduisant dans la fonc-tion objectif sous forme d'une pénalité (combinaison linéaire des contraintes relaxées) si les contraintes relaxées ne sont pas respectées. Les coecients de cette combinaison sont appelés multiplicateurs de Lagrange, et la nouvelle fonction objectif est appelée le Lagrangien du problème. La résolution du nouveau problème se fait généralement en utilisant la méthode du sous-gradient ou bien la méthode de génération de co-lonnes.

- Génération de colonnes : Dans la pratique, de nombreux problèmes d'optimisation combinatoire sont complexes et de grande taille. Ils possèdent un grand nombre de variables (colonnes). Ceci empêche donc leur résolution par les logiciels, disponibles aujourd'hui, de résolution des programmes linéaires. Pour pouvoir les traiter, la mé-thode de génération de colonnes est utilisée. Cette mémé-thode repose sur la décompo-sition du modèle original par la méthode de Dantzig et Wolfe [Dantzig & Wolfe 60]. L'idée principale consiste à décomposer le modèle d'origine en un ou plusieurs sous-problèmes plus faciles à résoudre, l'ensemble étant généralement coordonné par un programme linéaire appelé maître. Le principe de l'algorithme de génération de lonnes consiste à résoudre un problème original (P ) avec un sous-ensemble de co-lonnes (variables) de taille réduite, puis à l'alimenter itérativement avec de nouvelles colonnes susceptibles d'améliorer la solution courante, jusqu'à atteindre l'optimalité.

(31)

1.3 Aperçu des approches classique de résolution 19 Les méthodes utilisant la génération de colonnes rencontrent souvent des problèmes de convergence. En eet, la rapidité de la méthode dépend à la fois, du nombre d'itérations nécessaire jusqu'à preuve d'optimalité (i.e. de l'ecacité de l'algorithme générateur dans le choix de la colonne améliorante), et du temps de calcul consacré à chaque étape de résolution. Il existe dans la littérature des procédures d'accéleration de la convergence [Touati 08].

- La programmation dynamique La programmation dynamique n'est pas à proprement parler un algorithme mais un principe général applicable à de nombreux problèmes d'optimisation avec contraintes, possédant une certaine propriété dite de décompo-sabilité [Minoux 08]. En général, les problèmes se ramènent au choix d'une suite de décisions séquentielles pour un objectif donné. Le résultat dénit la valeur optimale du critère. Pour obtenir la solution optimale, un parcours à rebours des décisions qui ont menées à la valeur optimale est eectué. Ces méthodes ont une complexité polynomiale ou exponentielle, selon le problème.

1.3.2 Les approches métaheuristiques

Longtemps, la recherche s'est orientée vers la proposition d'algorithmes exacts pour les problèmes de complexité polynomiale. Toutefois, pour tenter de résoudre les problème N P-diciles, plusieurs chercheurs se sont orientés vers la proposition de méthodes de résolution approchées, appelées aussi heuristiques, qui fournissent des solutions de bonnes qualités en un temps de calcul raisonnable. On note que la qualité d'une heuristique est évaluée à la base de plusieurs jeux d'instances, en déterminant la déviation moyenne du critère par rapport à sa valeur optimale, et le temps de calcul en fonction de la taille du problème. On distingue plusieurs types d'heuristiques. Les heuristiques de construction qui génèrent une solution au problème sans remise en cause des décisions, les heuristiques de voisinage qui tentent d'améliorer des solutions initiales dans leur voisinage par des techniques de recherche locale, et les heuristiques à base de population de solutions qui explorent un espace de recherche de solutions très vaste.

Notons qu'une métaheuristique est un cadre général des heuristiques qui, à l'inverse de ces dernières, repose sur des mécanismes généraux "génériques" indépendant de tout problème. Parmi les heuristiques les plus généralement citées dans la littérature, on trouve : - Les algorithmes gloutons. Ce sont des méthodes constructives où l'on construit pro-gressivement une solution locale pour un problème d'optimisation, avec l'espoir d'at-teindre la solution globale optimale. Si l'algorithme fournit systématiquement une solution optimale, il constitue une méthode exacte, dans le cas contraire, il est ap-pelé une heuristique gloutonne. En ordonnancement, les algorithmes gloutons sont

(32)

20 Présentation générale des problèmes d'ordonnancement des méthodes de construction par règles de priorité simples de type SPT, EDD, etc. - Les méthodes de recherche locale ou métaheuristiques à base de voisinage. Ces mé-thodes partent d'une solution de départ unique, puis passent d'une solution à une autre voisine par déplacement successif, dans le but d'améliorer le critère. Parmi les méthodes de voisinage, on peut citer les méthodes de descente pour lesquelles une solution voisine doit obligatoirement améliorer le critère, i.e., s'arrête dès qu'il n'existe plus de meilleure solution dans le voisinage. On note toutefois, qu'an de pouvoir s'échapper des minima locaux, d'autres approches autorisent de dégrader provisoirement le critère dans le but de pouvoir obtenir un optimum global. C'est le cas de la méthode du recuit simulé introduite en 1983 par Kirkpatrich et al. [Kirkpatrick et al. 83] inspirée du recuit physique en métallurgie. Son principe est simple. A chaque itération, une solution voisine est choisie aléatoirement, puis accep-tée avec une dégradation du critère sous certaines conditions. Les mouvements non améliorants sont donc autorisés avec une certaine probabilité qui dépend de l'im-portance de la dégradation et de l'avancée de la procédure. Une autre méthode qui autorise la dégradation du critère est la méthode tabou [Glover 89] et [Glover 90]. Contrairement au recuit simulé qui génère aléatoirement une solution dans le voisi-nage de la solution courante, la méthode tabou explore le voisivoisi-nage de la solution courante pour choisir la meilleure solution. Pour éviter de cycler, i.e revenir sur la solution déjà visitée, une liste tabou de solutions explorées est maintenue.

Il existe beaucoup d'articles se référant au méthodes sus-citées de recherche locale. La recherche tabou en compte le plus grand nombre. Il existe toutefois d'autres méthodes de même type mais moins référencées dans la litérature, comme la recherche à voisi-nage variable, la méthode iterated local search ou bien guided local search [Sevaux 04]. - Les métaheuristiques à base de population, connues aussi sous l'appellation d'al-gorithmes évolutionnistes, sont des méthodes de recherche qui travaillent sur une population de solutions plutôt que sur une solution unique. Parmi ces méthode, on retrouve les algorithmes génétiques développés par Holland [Holland 75]. Ils sont ba-sés sur la théorie de l'évolution des espèces dans leur milieu naturel énoncée par Darwin. L'idée consiste à combiner une population d'individus entre elles pour for-mer de nouveaux individus enfants ayant une empreinte génétique nouvelle héritée des parents. Une fonction évaluation tness mesure la force d'adaptation de chaque individu de la population. L'algorithme génétique s'appuie alors sur deux phases : la selection (favorisant les individus ayant un meilleur tness), et la recombinaison (opérateurs de croisement et mutation) qui génère une nouvelle population d'indivi-dus enfants en conservant les "bonnes" caractéristiques de leurs parents. On note que la diculté de la procédure réside dans la représentation ou le codage des solutions. Une autre méthode à base de population est l'algorithme de colonies de fourmis

(33)

1.3 Aperçu des approches classique de résolution 21 introduit initialement par Dorigo et al. [Dorigo 92] pour la résolution du problème du voyageur de commerce, puis repris pour plusieurs autres domaines d'application. Cette métaheuristique reproduit le comportement auto-organisationnel des fourmis qui cherchent à atteindre depuis leur nid un objectif précis "une source de nourri-ture", analogue à la recherche du plus court chemin pour le problème du voyageur de commerce. Les fourmis ont la particularité de déposer une substance odorante appe-lée phéromone et marquent ainsi leurs trajets, ceci permettant à leur congénère de les suivre. Il est prouvé expérimentalement que ce comportement permet aux colonies de fourmis de choisir (sous certaines conditions) le plus court chemin vers la source à exploiter.

Après ce rappel sur quelques notions de bases relatives aux problèmes d'ordonnance-ment, nous discutons dans le chapitre qui suit, des limites des hypothèses classiques en ordonnancement.

(34)
(35)

Chapitre 2

Limites des hypothèses classiques en

ordonnancement

Ce chapitre met l'accent sur le fait qu'il est irréaliste de supposer les paramètres du pro-blème d'ordonnancement déterministes, et s'interesse plus particulièrement à la gestion des incertitudes en ordonnancement. Il décrit d'abord les sources d'incertitudes et le processus de résolution d'un ordonnancement dans un environnement dynamique. Les notions de exibilité et de robustesse sont ensuite introduites. Enn, ce chapitre met en évidence, les limites d'une résolution centralisée des problèmes d'ordonnancement et, l'intérêt d'adopter une organisation distribuée des décisions.

2.1 Brève Introduction aux approches de résolution

ro-bustes

Dans une discussion concernant les problèmes d'ordonnancement dans la pratique, Pi-nedo [Pinedo 08] fait le constat suivant :

" En pratique, l'environnement d'ordonnancement est généralement sujet à une quantité signicative d'aléatoire ; en conséquence, il n'est pas inté-ressant de passer un temps énorme à déterminer une solution supposée optimale lorsque, en quelques heures à cause de quelque événement aléa-toire, la structure du problème ou bien la liste des travaux aura changé."

L'environnement d'application de l'ordonnancement est donc par nature dynamique et perturbé. De ce fait, la probabilité qu'un ordonnancement soit eectivement mis en ÷uvre comme prévu est faible.

Pourtant, la littérature scientique compte un grand nombre de travaux de recherche qui se sont basés sur le développement d'algorithmes déterministes pour la résolution opti-male ou sous-optiopti-male de problèmes d'ordonnancement. Toutefois, ces études ne prennent

(36)

24 Limites des hypothèses classiques en ordonnancement pas en compte la phase de mise en ÷uvre de l'ordonnancement dans son environnement réel. Aujourd'hui, l'hypothèse du déterminisme des problèmes d'ordonnancement est jugée restrictive, et la problématique de l'ordonnancement avec gestion des incertitudes est posée et intéresse plusieurs chercheurs. Le chapitre suivant est consacré à cette problématique.

2.2 Déterminisme des paramètres

Les algorithmes polynomiaux ou approchés cités dans le chapitre précédent sont des algorithmes déterministes utilisés en phase hors-ligne. Ils considèrent toutes les données du problème connues a priori (problème déterministe). Leur résolution permet de produire un ou plusieurs ordonnancements prévisionnels. La phase d'exécution de la solution d'or-donnancement prévisionnelle se fait en ligne. On distingue ainsi le temps de résolution du problème d'ordonnancement du temps d'exécution de la solution trouvée. L'échelle de temps associée à l'exécution qui peut être très variable suivant l'application, n'a aucune inuence sur celle de la résolution, qui est celle des moyens de calcul [Sanlaville 05].

En pratique, les données du problème ne sont pas toujours connues à l'avance. De plus, des informations nouvelles apparaissent durant l'exécution du programme prévision-nel susceptible de rendre sa mise en ÷vre caduque. Des algorithmes d'ordonnancements dynamiques sont alors utilisés en-ligne pour adapter progressivement la solution aux pertur-bations qui surgissent. En ordonnancement en-ligne, et contrairement à l'ordonnancement déterministe, les traitements pour la résolution du problème sont eectués durant la phase d'exécution.

L'environnement de l'ordonnancement étant par essence dynamique et incertain, la littérature scientique a connu ces dernières années une émergence de la problématique d'ordonnancement avec prise en compte des perturbations. Une synthèse de ces approches sera donnée dans la partieIIIde ce manuscrit. Dans ce qui suit, nous dénissons les termes élémentaires nécessaire à l'appréhension de cette problématique. Les notions de exibilité, de robustesse et de modèles d'incertitudes, propres aux méthodes d'ordonnancement sous incertitudes, sont ainsi présentées.

2.3 La gestion des incertitudes en ordonnancement

Dans un environnement industriel, la probabilité qu'un ordonnancement prévisionnel soit exécuté comme prévu est faible [Davenport & Beck 00]. Plusieurs types d'incertitudes modient et perturbent l'état d'un système de production, et presque toutes les données associées à un problème d'ordonnancement peuvent être aectées. Dans la littérature, une

(37)

2.3 La gestion des incertitudes en ordonnancement 25 distinction est faite sur les types de changement susceptibles d'intervenir. Les termes d'in-certitudes, d'aléas et parfois de variations les désignent.

- Incertitudes : les données d'un problème d'ordonnancement sont soumises à des incertitudes si leurs valeurs ne sont pas connues à priori, ou si elles sont sujettes à des modications, après le calcul de l'ordonnancement ou pendant son exécution. La donnée peut alors être associée à une variable aléatoire de loi connue, ou bien à un ensemble de valeurs possibles. C'est le cas, par exemple, d'une durée opératoire d'une tâche variant durant l'exécution de l'ordonnancement.

- Aléa : désigne les types particuliers d'incertitudes "événements" qui modient les données. La probabilité d'un aléa peut ainsi être connue ou pas. Les cas d'une ma-chine tombant en panne ou une tâche devenant soudainement prioritaire, sont des exemples d'aléas.

Parmi les incertitudes et les sources d'incertitudes rencontrées dans diérents travaux [Davenport & Beck 00], [Kouvelis & Yu 97] et [Billaut et al. 05], nous citons :

- les durées opératoires réelles des tâches pouvant varier relativement à celles estimées ; - une tâche pouvant être annulée ou pouvant arriver aléatoirement ; une variation pou-vant aussi se produire sur la date de disponibilité ou la date d'échéance d'une opéra-tion ;

- des machines pouvant devenir non disponibles en raison de panne, de maintenance ou d'indisponibilité d'opérateur ou de matière première ;

- les coûts associés aux tâches pouvant être modiés au moment d'exécution.

Il est évidemment possible d'imaginer d'autres sources d'incertitudes. Nous remarquons que dans tous les cas les modications aectent les données du problème. Ces dernières sont ou bien incertaines ou partiellement connues pour le cas des données chirées (la durée opératoire, la date de disponibilité, etc), ou bien modiées suite aux aléas qui surviennent en temps réel, c'est le cas des données structurelles (arrivée aléatoire, panne machine, etc.). La prise en compte des incertitudes lors de la construction de l'ordonnancement dépend du niveau de connaissance de l'incertitude : connue, partiellement connue ou inconnue. Dans [Billaut et al. 05], plusieurs types de modèles sont distingués :

- le modèle aléatoire ou stochastique où les données du problème d'ordonnancement sont associées à des variables aléatoires et à des distributions de probabilité ;

- le modèle par intervalles où les paramètres du problème prennent leur valeur dans un ensemble continu de valeurs possibles. Les paramètres auxquels est associé ce modèle

(38)

26 Limites des hypothèses classiques en ordonnancement sont généralement les dates de disponibilité (rj ∈ [rj, rj], les dates échues [dj, dj] et les durées opératoires [pj, pj];

- le modèle par scénario où les paramètres du problème P prennent valeur dans un ensemble discret de valeurs possibles P ∈ {P1, P2, ..., Pp}. Chaque ensemble Pi

cor-respond à un scénario, c'est-à-dire à un problème d'ordonnancement déterministe distinct.

De manière générale, des schémas de résolution des problèmes d'ordonnancement sont proposés, couplant à la fois une partie hors ligne et une partie en-ligne pour tenir compte ou modéliser les perturbations. Les notions de exibilité et de robustesse sont alors dénies pour caractériser un système d'ordonnancement capable de gérer les incertitudes. Nous discutons de ces deux notions dans les sections suivantes.

2.4 Processus de résolution d'un problème

d'ordonnan-cement avec incertitudes

De manière globale, la résolution pratique d'un problème d'ordonnancement dans un environnement dynamique et perturbé nécessite les étapes suivantes [GOThA 02] :

- étape 0 : dénition du problème statique avec spécication des incertitudes et leur modélisation ;

- étape statique : calcul d'un ensemble de solutions par un algorithme statique α. On parle aussi d'ensemble d'ordonnancements de référence ("baseline schedules") ; - étape dynamique : lors de l'exécution, calcul d'une solution unique (eectivement

mise en ÷uvre) par un algorithme dynamique δ.

À l'issue de la phase statique, un ensemble d'ordonnancements prévisionnels est déni par application de l'algorithme α. Partant de la solution prévisionnelle, l'ordonnancement dynamique doit choisir la solution qui sera réellement mise en exécution. Pour juger de la performance de la solution mise en ÷uvre, des mesures génériques de robustesse sont proposées pour évaluer si la solution choisie est la plus robuste.

Il est à noter que, lorsque la solution prévisionnelle proposée par l'algorithme statique est constituée d'un ensemble d'ordonnancements, la qualité de cette solution est forcément évaluée par un ensemble de valeurs possibles, et peut ainsi être caractérisée soit par une valeur moyenne, ou bien par les valeurs extrêmes, i.e. la qualité dans le meilleure des cas et la qualité dans le pire des cas [Aloulou et al. 02], [Briand et al. 03b] et [Briand et al. 03a].

(39)

2.5 Les mesures de performance 27

De manière globale, dans les environnements d'application soumis à perturbation, les approches de résolution proposées dans la littérature pour l'ordonnancement se diéren-cient par la nature des décisions prises durant les étapes de résolution du problème : statiques et dynamiques. Longtemps, les approches déterministes ont prédominé, suppo-sant implicitement que l'ordonnancement statique peut être appliqué comme prévu. Il est aujourd'hui irréaliste d'ignorer l'aspect dynamique et incertain de l'environnement d'appli-cation. On signale toutefois, que l'ordonnancement stochastique a été proposé dès l'origine pour prendre les incertitudes en compte, même si la diculté à mettre en ÷uvre de façon pratique une telle approche a limité son développement. Une voie nouvelle, l'ordonnance-ment robuste, s'est imposée ces dernières années et s'est posée en intermédiaire entre les approches purement déterministes et celles purement en-ligne [Sanlaville 05]. Une classi-cation des méthodes d'ordonnancement robustes est décrite dans la Partie III. La section suivante introduit les notions qui permettent de prendre en compte les incertitudes en ordonnancement, à savoir la exibilité et la robustesse.

2.5 Les mesures de performance

2.5.1 Flexibilité

Le terme exibilité est déni dans [GOThA 02] comme la liberté dont on dispose du-rant la phase de mise en ÷uvre de l'ordonnancement. Elle est vue comme l'existence de modications possibles au sein d'un ordonnancement statique (calculé hors-ligne) entraî-nant des pertes de performances restant acceptables ou nulles. Elle peut aussi être associée à l'existence d'une famille d'ordonnancements pouvant être acceptée à l'exécution, sans privilégier un ordonnancement en particulier.

On trouve toutefois d'autres dénitions relatives aux ordonnancements exibles. Herro-lelen et Leus, dans [Herroelen & Leus 04b] dénissent un ordonnancement exible comme étant un ordonnancement ayant la capacité d'être réparé facilement, i.e. modiable en un nouveau ordonnancement de haute qualité.

Deux formes de exibilité ont aussi été mises en évidence suivant le contexte de l'étude : statique et dynamique [Pujo & Brun-Picard 02].

La exibilité statique d'une solution d'un problème d'ordonnancement réside dans la capacité des contraintes manipulées à autoriser plusieurs stratégies de décision pouvant être acceptées à l'exécution [Pujo & Brun-Picard 02]. On distingue alors dans ce cas plu-sieurs types de exibilité [Billaut et al. 05] :

- la exibilité sur le temps ou exibilité temporelle, existe lorsque les dates de début et de n des opérations peuvent varier. Une telle exibilité autorise d'avancer ou de

(40)

28 Limites des hypothèses classiques en ordonnancement retarder certaines opérations si les conditions le permettent. Elle est souvent présente de manière implicite et est induite par la plupart des autres formes de exibilité en ordonnancement ;

- la exibilité sur les ordres ou exibilité séquentielle autorise des modications de l'ordonnancement en cours d'exécution, et ce au niveau de l'ordre de passage des opé-rations (séquences) sur chaque ressource. L'introduction de cette exibilité impose de manipuler non pas un seul ordonnancement, mais une famille d'ordonnancements possibles. De ce fait, il est plus dicile, en évitant la combinatoire liée à une énumé-ration exhaustive et systématique des solutions, de déterminer la performance d'une famille d'ordonnancements, ces derniers ne possédant pas tous une performance iden-tique. Notons que cette exibilité suppose toutefois une présence plus importante de exibilité temporelle ;

- la exibilité sur les ressources ou exibilité sur les aectations. Les ressources existent dans ce cas en plusieurs exemplaires. Cette forme de exibilité est présente lorsqu'on autorise l'exécution d'une tâche sur une autre ressource que celle prévue initialement. Elle est nécessaire et est de grande utilité lorsque, par exemple, une machine tombe en panne. Elle suppose implicitement la présence d'une exibilité séquentielle et tem-porelle ;

- la exibilité sur les modes d'exécution existe lorsqu'il est possible de changer le mode d'exécution des opérations (préemption autorisée, changement de gammes, etc.) pour pallier une situation dicile, au prix d'une dégradation de la performance. Cette exi-bilité requiert de la exiexi-bilité séquentielle et temporelle, et dans certains cas de la exibilité sur les aectations ;

- la exibilité de l'environnement de l'entreprise. Il s'agit par exemple de la possibilité de négocier des délais avec des clients, ou de faire appel a un sous-traitant pour ac-croître temporairement la capacité de travail.

Nous rappelons que les formes de exibilité citées précédemment sont de type statique. La exibilité dynamique (décisionnelle) d'un ordonnancement correspond à la capacité d'un algorithme à adapter l'ordonnancement obtenu hors-ligne, lorsque les contraintes uctuent (suite à des aléas), de manière à satisfaire les objectifs qui lui sont assignés, en exploitant au mieux la exibilité statique disponible.

Pour tout type de exibilité, un outil quantitatif de mesure, appelé indicateur de exi-bilité est déni pour traduire le niveau de exiexi-bilité obtenu. On peut ainsi considérer la cardinalité de la famille d'ordonnancement proposé statiquement comme une mesure de exibilité. D'autres approches proposent de mesurer a posteriori la exibilité proposée en

Figure

Fig. 1.1: Une typologie des problèmes d'ordonnancement (d'après [ Billaut 99 ]) et on note j 1 ≺ j 2
Tab. 1.1: Exemple d'un problème de job-shop à 3 machines Le graphe disjonctif représentant ce problème est donné par la Figure 1.2
Fig. 1.4: Diagramme de Venn
Fig. 2.1: Une organisation centralisée et hiérarchique des décisions
+7

Références

Documents relatifs

Cette démarche d’intégration des contraintes d’énergie dans la planification et l’ordonnancement de la production se retrouve pour d’autres types de ressources dont

Qu'il s'agisse d'une négociation ou d'une renégociation, CDD u dénit selon son organisation interne (à tra- vers un modèle amont qu'on note M u et décrit dans la Section ), tout

En effet, les param`etres de qualit´e de service concernant le Cloud Computing peuvent ˆetre classifi´es dans des cat´egories bien distinctes (performance, coˆ uts, ...) et donc

Nous tenons à vous déclarer nos remerciements les plus sincères pour avoir accepté de diriger ce travail et avoir vérifier à son élaboration avec patience et disponibilité.

Dans cet article, nous consid´erons qu’un agent doit ex´ecuter un ensemble de tˆaches reli´ees ensemble dans un graphe acy- clique orient´e tel que les nœuds correspondent

La méthode de recherche d'un plan-solution que nous utilisons dans cette thèse consiste à trouver tous les plans faisables, propager les contraintes temporelles sur les tâches de

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

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