320 likes | 470 Views
6 juin 2003. Planification et ordonnancement sous incertitudes Application à la gestion de projet. Julien Bidot. Plan. Planification de tâches et ordonnancement Domaine d’application Approches existantes Notre approche : prototype modèle théorique Conclusions et perspectives.
E N D
6 juin 2003 Planification et ordonnancement sous incertitudesApplication à la gestion de projet Julien Bidot
Plan • Planification de tâches et ordonnancement • Domaine d’application • Approches existantes • Notre approche : • prototype • modèle théorique • Conclusions et perspectives
Planification / Ordo. / Allocation • Planification • choisir et organiser dans le temps les actions qui vont permettre à l’agent d’atteindre un but donné • Ordonnancement • placer dans le temps un ensemble d’activités connues que doit exécuter l’agent • Allocation de ressources • affecter une (des) ressource(s) à chaque activité, nécessaire(s) à son exécution (ex. : machine, opérateur, outil, carburant, etc.)
Bloc 23 Bloc 24 Bloc 25 Bloc 26 Bloc 27 Bloc 28 Bloc 29 Bloc 30 Bloc 22 Bloc 21 Bloc 20 Blindage Bloc 19 Bloc 18 Bloc 17 Bloc 11 Bloc 12 Bloc 13 Bloc 14 Bloc 15 Bloc 16 Bloc 10 Bloc 9 Bloc 8 Bloc 7 Bloc 6 Bloc 5 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Lit de l’oued Domaine d’application • Gestion de projets • Ingénierie civile (construction de barrages)
Domaine d’application (suite) • Incertitudes : • découverte de mauvaises conditions géologiques • retard du fournisseur • occurrence des crues (statistiques) • Coûts : • achats ou locations (matière ou machines), salaires • pénalités de retard • But : assurer un coût max. inférieur à une borne
Cohérence ? Contraintes temporelles et de ressources satisfaites Ordonnancement hors ligne (cohérent ?) Fixer les dates Plan Ordo. Planifier Allouer des ressources Hors ligne En ligne Exécuter Ordonnancement sans incertitudes • Environnement déterministe • Planif. / ordo. prédictifs (hors ligne)
Prise en compte des incertitudes ? • Environnement non-déterministe processus d’ordonnancement dynamique ! • Les incertitudes peuvent être • temporelles, sur les ressources, sur l’état du monde • Les événements incertains (aléas) peuvent être • synchrones (fin d’une activité de durée incertaine, événements attendus à une date incertaine) ou asynchrones (peuvent survenir à tout instant…) • La génération du plan / ordonnancement peut être • monotone (pas de remise en cause des décisions du plan courant) ou non-monotone (révisions opportunistes ou suite à une dégradation de la qualité du plan)
Propriétés de la solution • Tentatives de définitions communes R. O. / I. A… • Plan/Ordo. flexible = des choix sont laissés, l’arbitrage se faisant en ligne • Flexibilité sur le temps, • Flexibilité sur les ordres, • Flexibilité sur les affectations, • Flexibilité sur les activités • Plan/Ordo. stable = le plan/ordo. prédit hors ligne s’exécutera en ligne avec un minimum de modifications • Plan/Ordo. robuste = quoiqu’il arrive, garantie de la « qualité » de la solution qui sera effectivement exécutée Groupe « Flexibilité » Bulletin n°8 ROADéF 02
3 grandes familles d’approches en I. A. • Approche réactive (événements non anticipés) • Plan prédit hors ligne, mais remis en cause en ligne non monotone • Simple règle d’exécution (dispatching) monotone OPIS [Smith 94] • Progression en horizon glissant • Planification en ligne à court terme, reprise au fur et à mesure que l’exécution lève les incertitudes monotone CASPER [Chien, Knight, Stechert & Rabideau 00] • Approche proactive • Plan construit hors ligne en intégrant les connaissances sur les incertitudes monotone
plan/ordo. en exécution Evénement asynchrone OU de faible probabilité temps 1. Réaction interrompu réact. nouveau plan/ordo. • Besoin de décisiontrès rapide en général sous optimal localement • ne doit pas être trop fréquent... • Besoin en mémoirefaible
plan/ordo. en exécution Evénement synchrone prévu temps 2. Progression (horizon glissant) intégrer et propager poursuite du plan/ordo. • Plus de temps pour décider peut être optimal localement • ne doit pas être trop fréquent... • Besoin en mémoirefaible
3. Proaction 3.a. Recouvrement maximal Plan prédictif unique calculé pour couvrir le maximum de cas Cas extrêmes : techniques réactives Ordonnancement flou [Dubois, Fargier & Prade 93] β-Robustness [Daniels & Carillo 97] 3.b. Construction d’un plan/ordonnancement flexible Certaines décisions d’ordonnancement laissées en suspend par ex. activités « flottantes » ou branches conditionnelles Just-In-Case Scheduling [Drummond, Bresina & Swanson 94] Slack-based Techniques [Davenport, Gefflot & Beck 01] STNUs [Morris, Muscettola & Vidal 01]
déterminer les prochaines actions Evénement synchrone : - Fin d’une tâche observée temps 3.b. Flexibilité sur le temps plan/ordo. en exécution
plan/ordo. en exécution déterminer les prochaines actions Evénement synchrone : - Fin d’une tâche observée temps 3.b. Flexibilité sur le temps Pas de décisionà prendre en ligne Ajouter de la flexibilité peut restreindre l’optimalité locale... Besoin en mémoirefaible
branche 1 plan/ordo. en exécution branche 2 Correspondance de l’observation avec les prochaines actions Evénement synchrone : - fin d’une activité - récolte d’informations temps 3.b. Flexibilité sur les activités Pas de décision à prendre en ligne Besoin en mémoireélevé Temps de calcul hors ligne prohibitif
Prototype • Job-shop avec durées imprécises des activités (distributions de probabilités connues) • mises à jour en ligne des probabilités des dates et des durées par simulation de ce qui reste à exécuter • contexte = tout ou partie de l’ordonnancement • critère d’optimisation = makespan
Première version testée : non monotone • ordonnancement complet et flexible sur les temps • calculé avec les durées moyennes et des techniques d’optimisation classiques = ensemble d’activités et de contraintes temporelles • partie de l’ordo. non exécutée remise en cause si critère de réordonnancement vérifié • plusieurs critères de réordonnancement possibles technique appropriée si dynamique du système physique sous-jacent pas trop rapide
Première version testée (suite) i2 contexte 2 contexte 1 : Ordonnancement complet indicatif courant t12 : critère de réordonnancement vérifié
Première version testée (suite) • Comparaisons des valeurs estimées et indicatives • 3 critères de réordonnancement testés : • par rapport au makespan M : • Mest > Mind/σ makespan • |Mest-Mind| > D/σ makespan absolu • par rapport aux fins des activités : • ∑A|endest-endind|/n > D/σ
Deuxième version : monotone • contexte = un sous-ensemble d’activités sélectionné, ordonnancé et incorporé au plan courant • jamais remis en cause • intégration progressive (en horizon glissant) des contextes de façon asynchrone par rapport à l’exécution • critère de progression basé sur • degré d’incertitude des dates • distance temporelle entre l’instant courant et la fin de la fenêtre temporelle associée au sous-ensemble d’activités séquencé technique appropriée si dynamique du système physique sous-jacent relativement rapide
Deuxième version (suite) i2 contexte 2 contexte 1 : Ordonnancement partiel courant t12 : critère de progression vérifié
Notre modèle théorique Automate temporisé états = contextes Contexte =ensemble de données associé à un algorithme d’exécution local - calculé a priori ou dynamiquement de façon réactive
Notre modèle théorique (suite) Transition = passage d’un contexte source vers un contexte cible - activée de façon synchrone ou asynchrone dès la satisfaction des conditions associées • synchrone = d’un instant du contexte source vers un instant du contexte cible • asynchrone = du contexte source vers un instant du contexte cible Plan = {contextes, transitions} Plan en exécution = plan + contexte courant + instant courant
Notre modèle théorique (suite) i2 contexte 2 t12 : 0.6 i4 contexte 4 i1 contexte 1 t14 : 0.3 i1’ t1’5 : 0.15 i5 contexte 5 t13 : 0.1 i3 contexte 3
Notre modèle théorique (suite) Approche purement réactive i2 contexte 2 t12 : 0.2 contexte 1
Notre modèle théorique (suite) Approche par recouvrement maximal contexte 2 i2 i3 contexte 3 t12 : 0.00001 t13 : 0.000002 i1 contexte 1
Notre modèle théorique (suite) Approche conditionnelle pure i3 i3’ contexte 3 t13 : 0.2 t12 : 0.6 i1 i2 contexte 1 contexte 2
Notre approche • Intégration • Proactif : branches conditionnelles = transitions entre contextes précalculés • En ligne : horizon glissant = développer uniquement les contextes à court terme et éventuellement les plus prometteurs à long terme • Réactif : contextes calculés dynamiquement • Objectif final de robustesse = respect garanti d’un niveau de service
Conclusions et perspectives • Utilisation de techniques d’optimisation déterministes pour résoudre des problèmes stochastiques pouvant être très complexes • Résultats pratiques prometteurs (qualité) pour la technique non monotone • Expérimentations supplémentaires (nombreux paramètres et autres instances) • Implémentation et expérimentation de l’approche monotone avec horizon glissant • Extension du prototype pour tendre vers un prototype de la construction du mur de barrage en s’intéressant à l’allocation des ressources (unaires ou à états) et aux aléas associés (incertitude sur les capacités) ainsi qu’aux techniques proactives (flexibilités) Intégration des différentes familles de techniques • Comparaison avec des approches existantes