Post on 03-Apr-2015
1
Ordonnancement sous incertitudes : Approche proactive
Présent par : Youness KADROUSous la direction de : M. Najib Najid
Équipe « Système Logistique et de Production »
- IRCCyN - Institut de Recherche en Communication
et Cybernétique de NantesUMR CNRS 6597
2
Plan
1. L’ordonnancement déterministe
2. Prise en compte des incertitudes
3. L’ordonnancement avec incertitudes Les mesures de performance Les approches de résolutions
4. Approche proactive: Quelques techniques
5. Travaux en cours
6. Conclusion et perspectives
3
L’ordonnancement déterministe
Problème d’ordonnancement Placer dans le temps un ensemble de tâches i = 1….N. Respecter les contraintes:
Temporelles : date de disponibilité, relation de précédences Ressources : Disponibilité, capacité
Optimiser un ou plusieurs critères (Cmax, Tmax, ∑Ti, etc....)
Ordonnancement déterministe Données connues (activités, contraintes, ressources et
leurs caractéristiques) Environnement statique (temps opératoire/réglage fixe,
pas d’absentéisme, etc.…)
4
Prise en compte des incertitudes
Environnement non-deterministe Environnement Incertain (panne machine,
absentéisme) Durée de validité limitée Est-ce qu’on a besoin d’un ordonnancement optimale?
La génération d’ordonnancement peut être monotone (pas de remise en cause des décisions du
plan courant) non-monotone (révisions opportunistes ou suite à une
dégradation de la qualité du plan)
Nouvelles mesures de performance Flexibilité, robustesse, stabilité.
5
Les mesures de performance
La flexibilité : Tentatives de définitions communes R.O. / I. A…
La facilité avec laquelle un système peut s'adapter aux nouvelles contraintes imposées par l’environnement.
Flexibilité sur le temps : les dates effectives de début et de fin des tâches peuvent varier.
Flexibilité sur les activités: les ordres relatifs d’exécution d’un ensemble de tâches peuvent être modifiés durant l’exécution,
Flexibilité sur les ressources : la possibilité de changer l’affectation des ressources aux tâches.
Flexibilité sur les modes d’exécutions: changer le mode d’exécution d’une tâche
Groupe « Flexibilité »GOTHA
6
Exemple
5
3 4
3
2
5
1
1 3
M1 1
M2
M3
M4
Ordonnancement A après réordonnancement:
4
5 10 15 20
5
34
3
1
5
2
1 3
M1
4
1
M2
M3
M4
Ordonnancement B :
5 10 15 20
5
34
3
1
5
2
1 3
M1
4
1
M2
M3
M4
5 10 15 20
Ordonnancement B après réordonnancement:
5
3
2
5
1
1 3
M1
4
1
M2
M3
M4
Ordonnancement A :
5 10 15 20
34
7
Les mesures de performance
La robustesse : Quoiqu’il arrive, garantie de la « qualité » de la
solution qui sera effectivement exécutée Une solution qui est préparée d’une façon ou
d'une autre à anticiper les changements dans l'environnement
Solution qui a des performances inaltérables
)]([*)1()]([*)( SErSMErSR )()()( 0 SMSMS
[Kouvelis et Yu, (1997)]
[Léon, (1997)]
8
La stabilité : L’ordonnancement prédit hors ligne
s’exécutera en ligne avec un minimum de modifications
Déviation des dates de début
Fréquence de Réordonnancement
[Church et Uzsoy (1992)]
[Wu, Storer, et Chang (1993)]
Les mesures de performance
N
i
M
mmimi ttStabilité
1 1,
',
9
Approches de résolution
1. Réordonnancement
2. Approche réactive
3. Approche proactive
4. Approche hybride : Proactive-réactive
10
Réordonnancement
Réordonnancer à chaque apparition d’aléas majeur Temps de calcul prohibitif Assure une grande performance de
l’ordonnancement Stabilité médiocre : nervosité de l’atelier
Réordonnancement
Perturbation
Ordo. Predictif
Ordo. Hors ligne Ordo. En ligne
Atelier
[Uzsoy et al. (1997)]
[Vieira et al. (2003)]
11
Approche dynamique
Approche complètement réactive Aucun ordonnancement prédictif Emploie les concepts temps réel : les décisions sont
prises en fonction de l’état courant du système Utilisation des règles de séquencement: les activités
sont ordonnées selon un certain critère
Ordonnancement
Exécution
Plan
Temps
Temps
État du système
[Najid et al. (1994)][Davenport et Beck (2000)]
[Bhaskan & pinedo (1991)]
12
Approche prédictive/réactive
Approche prédictive-réactive (On-line) Besoin de décision rapide (pas de
réordonnancement) Solution sous-optimale localement (réparation) Quand réordonnancer?
temps
plan/ordo. en exécution
Événement asynchrone OU de faible probabilité
réact.
interrompu
plan/ordo. réparé
[Lawrence and Sewell (1997)]
[Barua et al. (2001)]
13
Prédictive/réactive
Ordo. Predictif/ Réordonnancement
Réordonnancement
Ordo. révisé
Réparation de l’ordo.
Réparationréussite
Perturbation
Perturbation
Ordo. Hors ligne Ordo. En ligne
Oui
Non
Ordo. Predictif
Atelier
14
Approche Proactive
Approche proactive (Hors-ligne) Plan construit hors ligne en intégrant les connaissances
sur les incertitudes Les perturbations n’affectent pas l’ordonnancement Garantie la performance du système de production
(Makespan, retard)
[Davenport et Beck (2002)]
[Metha et Uzsoy (1999)]
Ordonnancement Exécution
Temps
Plan
15
Approche hybride
Approche proactive-réactive Phase proactive :
Tous les aléas ne sont pas considérés dans le proactif,
Temps de calcul important Solution proche de l’optimal
Phase réactive : Les aléas peu probables ou mineurs seront résolus au
niveau de l’ordonnancement réactif Temps de calcul faible
16
Approche proactive: Quelques techniques
1. Ordonnancement contingent
2. Approche Robuste
3. Approche stochastique
4. Analyse de sensibilité
5. Ordonnancement flou
6. Techniques basées sur la redondance
7. Conclusion
17
Ordonnancement contingent
Consiste à anticiper les perturbations en générant des ordonnancements multiples (ou des fragments d’ordo)
Réalisé en amont, ainsi lors de l’exécution l’ensemble des ordonnancements sont disponibles
L’ordonnancement contingent comprend généralement trois étapes:
Étape 1: identification des scénarios critiques
Étape 2: pour chaque scénario, identifier les options et évaluer leurs efficacité et coût.
Étape 3: choisir la meilleure option associée à chaque scénario selon les ressources disponibles.
Contingent – Robuste – stochastique – analyse de sensibilité – Ordo. Flou - Redondance
18
Exemple : Just in case
t1 t2
Intervalle d’incertitude de la date de fin de
Aβ(i)
Intervalle éligible de
iA)(iA
iA
t1 t2
Nouveau cas à couvrir par l’agent d’ordonnancement tnew
Intervalle éligible de
)(iA
iA
iA
[Drummond, Bresina & Swanson 94]
19
Approche stochastique
Emploie des modèles basés sur des processus stochastiques
Comme les incertitudes sont stochastiques, on résonne par rapport à la moyenne
Un plan de secours (ou une règle d’action) est construit tel que le résultat moyen obtenu soit optimal
L’idéal c’est de générer un plan qui tient compte de tous les scénarios possibles.
Un plan opérationnel ou une règle d’action comprend les étapes suivantes:
Étape 1: construire des modèles stochastiques pour décrire les incertitudes
Étape 2: Analyser le modèle stochastique et trouver une règle d’action tel que le futur résultat soit optimisé en terme de performance moyenne.
Étape 3: Exécuter le plan en prenant la politique obtenue pour chaque scénario qui se produit
β-Robustness [Daniels & Carillo 97]
20
Approche Robuste
Les incertitudes sont modélisées par un ensemble de scénario
Consiste à générer un bon plan pour la plupart des scénarios et acceptable pour le pire des cas.
Ne nécessite pas la connaissance des distributions de probabilité, mais de spécifier tous les scénarios possibles.
Le processus d’un ordo. Robuste est comme suit:
Étape 1: identifier les scénarios potentiels de perturbation
Étape 2: choisir un critère de robustesse approprié pour le décideur.
Étape 3: incorporer l’ information et la mesure ci-dessus dans l’ordonnancement pour produire une solution robuste
Étape 4: exécuter l’ordonnancement sans changement, malgré n’importe ce qui peut se produire à l’avenir.
[Ronan et al. 99][Kouvelis et Yu 95]
21
Analyse de sensibilité
Cette technique est issue de l’études de sensibilité utilisée dans le domaine de la programmation linéaire
On part toujours d’une instance donnée que l’on perturbe. On cherche à caractériser un ensemble de perturbations « acceptables».
Une analyse de sensibilité consiste à répondre aux questions suivantes:
Soit P un problème d’optimisation et I une instance de P Soit S* une solution optimale pour I et z* sa valeur Dans quel voisinage de I, S* reste-t-elle optimale Dans quel voisinage de I, S* reste-t-elle faisable avec une
performance acceptable? Étant donné I’ voisine de I, S* est-elle réalisable pour I’et, si oui,
quelle est sa dégradation de performance?
[Penz et al. 01][Hall et Posner, 00]
22
Ordonnancement Flou
La logique floue (fuzzy logic) est une technique utilisée en intelligence artificielle.
Employé quand on ne dispose pas de données ou de modèle statistique
L’estimation des données est réalisée par expérience, celle-ci est souvent vague est imprécise. Exemple: la durée opératoire est sûrement supérieure à 2 jours, inférieure à 5 jours, autour de 3 jours c’est la plus plausible
Elle s'appuie sur la théorie mathématique des sous-ensembles flous (théorie des possibilités)
Utilisation d’un nombre flou pour modéliser la durée d’une opération au lieu d’une variable stochastique.
Au lieu de distributions de probabilité, on utilise des fonctions d'adhésion, basées sur la théorie des possibilités.
[Hapke et slowinski, 94, 96, 00] [Wang, 99]
23
Représentation en six points du nombre flou M
~
Un ensemble flou est une fonction qui mesure le degré d’appartenance à un ensemble. la fonction d’appartenance peut être définie comme suit:
tel que est la fonction d’appartenance de x dans
Xxxxà à ))(,( 1)(0),( xx Ãà Ã
Ordonnancement Flou
24
Techniques basées sur la redondance
Tolérance aux fautes
Protection temporelle
Protection basée sur la marge
25
Tolérance aux fautes
Employé dans l’ordonnancement temps réel Utilise des techniques basées sur la redondance
Redondance de ressource Plusieurs moyens possibles pour exécuter une tâche
(ressource identique maintenue en attente) Redondance temporelle
Réserve du temps ou insère des tâches de protection pour masquer les pannes
Deux stratégies sont employées Redondance a priori : établi lors de l’élaboration de
l’ordonnancement Redondance a posteriori: Établir un ordonnancement
initial puis insérer des intervalles de sécurité fonction des aléas
[Lavarenne et al. 2000] [Wright et al. 98]
26
Consiste à insérer des durées de protection pour absorber l’impact des pannes
Génère un nouveau problème qui peut être résolu avec les mêmes techniques utilisées dans le cas sans protection.
L’amplitude et l’emplacement des protections sont calculées en se basant sur les données statistiques des pannes.
Nécessite la connaissance des incertitudes
Protection temporelle
27
trtbfprot PPP )/(
Pprot
tr
tbf
Protection temporelle
[Chiang et Fox. 89]
P
28
Protection temporelle
2/)( innerouterslacklowerslackupper PPPP
Protection avec borne, type-2 : Insère deux intervalles (Pinner, Pouter) basées sur la
durée des tâches et les données statistiques des perturbations
FDPPPinner / lbubouter FDPPP /
[Gao et Fox. 95]
29
Aucune protection : P Protection sans bornes avec la moyenne :
Protection sans borne avec une borne supérieure :
Extension de la protection
Protection avec borne, type-2 :
outerinnerslacklowerslacklower PtPPtPtt ,,,
FDPPP /
lbub FDPPP /
)/( DFFPPext
Protection temporelle[Gao et Fox. 95]
30
Protection temporelle
Mesures de performance Temps de séjour (work-in-process):
∑ (date de fin réelle – date de disponibilité)
Retard (Tardiness) :
∑ (date de fin réel – date d’échéance) Idleness
(date de début sur la machine – date de disponibilité le plut tôt)
Performance = Performance = αα*W + *W + ββ*R + *R + γγ*ID*ID
activitésToutes
iC
31
Protection basée sur la marge
La protection temporelle ne permet pas dans certains cas d’exporter la marge non utilisée sur d’autres tâches
Time windows slack
dttbf
BactsBA R
durslak R
)(
A C
B
actsR représente l’ensemble des activités exécuté sur la ressource R.
Slack-based Techniques [Davenport, Gefflot & Beck 01]
32
Protection basée sur la marge
Focused Time Window Slack Faut-il avoir des marges sur tout l’horizon de planification?
Plus on avance dans l ’horizon de planification plus il y a de blocage, l ’idée donc est d ’adapter l’approche temporelle tel que son effet s’accentue au fur et à mesure qu ’on avance
))()1(())(()( RnbRnbnb dttbf
2
122 )))()1(()((()( RnbRnbnb dttbf
Soit nb la nbième panne machine:
Sa date moyenne d’arrivée est :
L’écart type du nbième pannes est:
La marge de la tache A est calculée comme suit :
)()))(),(((),(1
RtnbnbNPRtslak dt
M
nbA
33
Avantages inconvénients
Contingent- Facile à mettre en œuvre
- Temps de réaction immédiat
- Nécessite aucune procédure de réparation
- Nécessite la génération de solution pour une combinaison d’événements incertains
- Suppose une connaissance totale des incertitudes
- Pour des problèmes de taille très grande, il est impossible de recouvrer tous les scénarios possibles
- Blocage dès qu’un évènement imprévu apparaît
Stochastique- Aucune nécessité de générer des scénarios - Permet de générer une solution optimale en moyenne
- Nécessite la connaissance des distributions de probabilité- La forme de la distribution peut être compliquée à traiter. Dans ce cas un compromis est nécessaire, ce qui risque de fausser l’analyse.
Robuste- Garantie la robustesse de l’ordo.
-Ne nécessite pas la connaissance des distributions de probabilité.
- Traite seulement les scénarios les plus pessimistes
- Nécessite la connaissance de tous les scénarios
- La solution peut être très conservatrice si le pire des scénarios a une probabilité très petite.
- Difficile de générer tous les scénarios, ainsi la solution peut nécessiter des réparations.
Conclusion
34
Avantages inconvénients
Protection temporelle
- Facile à mettre en œuvre
- Tient compte de la robustesse et la stabilité
- Crée un nouveau problème qui peut être résolu avec les mêmes techniques utilisées dans le cas sans protection.
- Les marges supplémentaires sont calculées en se basant sur les données statistiques des pannes.
- Nécessite la connaissance des données statistiques
- Ne permet pas dans certain cas d’exporter la marge non utilisée sur les tâches qui reste à exécuter
- Ne prend pas en compte la position des pannes dans l’horizon de planification
Protection basée sur la marge
- Assure une solution de meilleur performance
- Facile à implémenter
- Ne considère pas la stabilité de la solution
- Ne tient pas en compte la marge libre des tâche dans le calcul de la marge de protection
Ces deux technique sont inutilisables dans le cas des tâches sans préemption
Conclusion
!
35
Notre travail
Différentes étapes peuvent être considérées:
On suppose l’ordonnancement prédictif est déjà établi, l’objectif sera de protéger l’ordonnancement par des méthodes basées sur la redondance temporelle qui donne un bon compromis entre la robustesse et la stabilité de la solution.
La deuxième phase consiste à développer des méthodes proactives pour la construction globale d’une solution ralliant flexibilité, robustesse et stabilité.
Application aux problèmes RCPSP multi mode avec une contrainte de compétence (ressources:machines et humaines)
Mise en place d’une approche réactive pour corriger l’ordonnancement lorsqu’il y a un blocage.
Développer une méthode proactive-réactive tel que les deux parties soient parallèlement construites
36
Solution employée
M
tMaxnbtrtrtftriSSi
trtfS
RdtnbnbNtPRtotec2/(;0
)()))/(1/()(),(((),(Pr
M
nbtriSSi RdtnbnbNtPRtotect
10 )())(),(((),(Pr
M
nbtriiSiSii RRtotectdtnbnbNdtPRtotectRtotect
1001 )()),(Pr)(),(((),(Pr),(Pr
M
nbtruiiSiSuiui RRtotectdtnbnbNdtPRtotectRtotect
11 )()),(Pr)(),(((),(Pr),(Pr
Protection type 1 :
Protection type 2 :
di,0
37
Protection type 3 :
Fonction objectif employée
Protection temporelle employée
Calcule de
Pmarge = Pmarge sup + Pmarge inf = UB_protecti (t,R) - protecti (t,R) Pmarge inf = α x Pmarge Pmarge sup = (1-α)x Pmarge
pinner protectPP 0
pouter UBprotectPP 0
pi
ri
R ttCMin )1(max
:),(_ RtprotecUB i
M
nbubtrubtrlbtfubtriSS RdtnbnbNtP
1,,,, )()))/(1/()(),(((
Solution employée
38
Solution employée
5.0 Ainner Aupper-slackAlower-slack
Aouter
Binner Bupper-
slack
Blower-
slack
Bouter
temps
AinnerAlower-slack
Aouter
BinnerBlower-slack
Bouter
temps
tes,B
Cas 1:
1Cas 2:
39
Solution employée
AinnerAlower
Aouter
BinnerBlower
Bouter
temps
15.0
Aupper-slack
Aupper-slack
Cas 2:
40
Conclusion et perspective L’approche proactive réactive parait la plus adaptée
aux problèmes d’ordonnancement avec incertitudes Objectifs à court terme
Terminer la formulation de la méthode de protection puis la tester.
Développer une méthode de construction d’ordonnancement robuste et stable (graphe disjonctif, flot)
Objectifs futurs Aborder le problème RCPSP avec différents types
d’incertitudes Traiter le problème avec une combinaison des tâches qui
acceptent ou pas la préemption.
41
Questions ?