La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Génération de coupes pour la planification dagents Boris Detienne, Laurent Péridy, Eric Pinson, David Rivreau Centre de Recherche et dEtudes sur les Applications.

Présentations similaires


Présentation au sujet: "Génération de coupes pour la planification dagents Boris Detienne, Laurent Péridy, Eric Pinson, David Rivreau Centre de Recherche et dEtudes sur les Applications."— Transcription de la présentation:

1 Génération de coupes pour la planification dagents Boris Detienne, Laurent Péridy, Eric Pinson, David Rivreau Centre de Recherche et dEtudes sur les Applications des Mathématiques Institut de Mathématiques Appliquées Université Catholique de lOuest – Angers 6ème Conférence Francophone de Modélisation et Simulation Modélisation, Optimisation et Simulation des Systèmes : Défis et Opportunités Rabat, 3-5 avril 2006

2 Sommaire Description du problème Description du problème Formalisation Formalisation Borne inférieure (décomposition lagrangienne) Borne inférieure (décomposition lagrangienne) Méthodes heuristiques Méthodes heuristiques Approche gloutonne Approche gloutonne Génération de coupes Génération de coupes Méthodes exactes Méthodes exactes Décomposition de Benders Décomposition de Benders Génération de coupes Génération de coupes Conclusion / Perspectives Conclusion / Perspectives

3 Description du problème

4 Θ : Horizon temporelΘ : Horizon temporel A : Ensemble dagentsA : Ensemble dagents C : Ensemble de compétencesC : Ensemble de compétences e c θ : Requête en agents pour c C durant θ Θe c θ : Requête en agents pour c C durant θ Θ Θ θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 … e c1c1 c2c2 c3c3

5 A : ensemble dagents Compétences maîtrisées C a CCompétences maîtrisées C a C Ensemble de profils horaires sur lhorizonEnsemble de profils horaires sur lhorizon Description du problème Θ θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 … … ω1ω1 ω2ω2 ωnωn ω n-1

6 Description du problème PHH (1 semaine) Roulements (2-5 semaines) Profils horaires (horizon) Règles contractuelles Congés Législation du travail Coûts horaires

7 Affecter :Affecter : Un profil horaire par agentUn profil horaire par agent Une compétence à chaque agent présent sur chaque plage horaireUne compétence à chaque agent présent sur chaque plage horaire De manière à satisfaire les requêtesDe manière à satisfaire les requêtes Au moindre coûtAu moindre coût Description du problème

8 Formalisation

9 Programme linéaire (1) Notations ν ω θ =1 le profil ω couvre la période θ η ω a : coût du profil ω Variables de décision y ω a =1 le profil ω est affecté à lagent a x ac θ =1 lagent a est affecté à la compétence c durant θ

10 Formalisation Affectation Profil / Agents Affectation Compétence / Agent / Période ETP Contraintes couplantes

11 Borne inférieure par décomposition lagrangienne

12 Décomposition lagrangienne Affectation Profil / Agent Affectation Compétence / Agent / Période Dualisation des contraintes couplantes (perte dinformation) ETP

13 Décomposition lagrangienne

14 Fonction duale : avec : Affecter le profil de coût lagrangien minimum par agent Affecter les e c θ agents de « coût » min par plage horaire et compétence

15 Décomposition relaxation Maximisation de L( ) par une méthode de sous-gradient Maximisation de L( ) par une méthode de sous-gradient Équivalent à la relaxation continue

16 Résultats numériques Instances aléatoires : 100 instances par catégorie 100 instances par catégorie 5-50 profils / agent 5-50 profils / agent 5-20 compétences 5-20 compétences

17 Résultats numériques

18

19 Résolution heuristique Approche gloutonne Approche gloutonne Approche par génération de coupes Approche par génération de coupes Résultats numériques Résultats numériques

20 Résolution heuristique Approche gloutonne

21 Principe Étape i : Affecter un profil à un agent Affecter un profil à un agent Réduire lensemble Ω des profils possibles pour les autres agents Réduire lensemble Ω des profils possibles pour les autres agents

22 Approche gloutonne Sélection de lagent / profil Coût Coût Bonus / pénalités Bonus / pénalités Indicateurs sur les périodes couvertes Indicateurs sur les périodes couvertes Requête (résiduelle ou absolue) Requête (résiduelle ou absolue) Nombre dagents potentiels Nombre dagents potentiels …

23 Approche gloutonne Réduction de Ω a doit être présent en θ ω Ω a, ν ω a =0 y ω a =0 ω Ω a, ν ω a =0 y ω a =0 dans toute solution réalisable Stratégie : détecter heuristiquement ces couples agents/périodes

24 Approche gloutonne Réduction de Ω Affectation agent/profil partielle 1 c-couplage par période Sous-ensemble dagents obligatoirement présents (non optimal) Sous-ensemble dagents obligatoirement présents (non optimal) Peut être généralisé pour un ensemble de périodes Peut être généralisé pour un ensemble de périodes Peut être utilisé dans dautres méthodes (pré-processing, exploration…) Peut être utilisé dans dautres méthodes (pré-processing, exploration…) … Compétences (e 1 θ ) (e 3 θ ) (e 2 θ ) Demandes Agents

25 Résolution heuristique Génération de coupes

26 Affectation Agent / Profil sous contraintes (générées) Contrôle de réalisabilité ETP Horaires de présence des agents Contraintes (c-couplages) Affectation Agent / Profil sous contraintes (exponentielles) ETP

27 Génération de coupes Formalisation alternative Distribution y* |Θ| problèmes de c-couplage y* extensible à une solution réalisable on peut coupler lensemble des sommets-requêtes sur lensemble des sommets-agents … Agents … Compétences (e 1 θ ) (e 3 θ ) (e 2 θ ) Demandes …

28 Génération de coupes Formalisation alternative Théorème de König-Hall : C peut être couplé sur A si et seulement si : y* peut être complété en une solution réalisable si et seulement si : avec α a K =1 K C a

29 Génération de coupes Programme linéaire (2) P(C) représente lensemble des parties de C Sac-à-dos multidimensionnel multi-choix avec un nombre exponentiel de contraintes de ressources :

30 Génération de coupes Algorithme général 1. Sélectionner un ensemble de contraintes de ressource initial Δ 0 définissant [MMKP] 0 ; i 0 2. Résoudre [MMKP] i y* 3. y* est réalisable pour [MMKP] ? Si oui, STOP Si oui, STOP Sinon, déterminer une contrainte de ressource violée et lajouter à Δ i ; i i+1; aller en 2 Sinon, déterminer une contrainte de ressource violée et lajouter à Δ i ; i i+1; aller en 2

31 Génération de contraintes Ensemble initial de contraintes 1. Sélection gloutonne (requête maximale sur agent potentiels,…) 2. Filtres 1. Dominances 2. Suppression heuristique : 1. Approximation des variables duales par relaxation Lagrangienne 2. Suppression des contraintes de variables duales 0

32 Génération de contraintes Résolution du sous-problème [MMKP] i peut être résolu Exactement (solver de MIP) Exactement (solver de MIP) Heuristiquement ( adaptation de [Akbar et al,2001] ) Heuristiquement ( adaptation de [Akbar et al,2001] ) 1. Trouver une solution réalisable 2. Améliorer son coût (permutations) 3. Améliorer son coût (destruction/réparation) Si échec, STOP ; renvoyer la solution trouvée en 2 Sinon, retour en 2

33 Génération de coupes Contrôle de réalisabilité : y* Recherche de |Θ| c-couplages maximum … … … Agents Compétences (e 1 θ ) (e 3 θ (e 2 θ ) Demandes

34 Génération de coupes Détection de contraintes violées Soit M un c-couplage maximum et un sommet non M-saturé c … … … c Agents Compétences (e 1 θ ) (e 3 θ (e 2 θ ) Demandes

35 Génération de coupes Détection de contraintes violées Le déficit en c pourrait être comblé en dérivant un agent de c ou c par un transfert le long dune chaîne alternée … … … c c c

36 Génération de coupes Détection de contraintes violées Impossible de saturer un sommet non M-saturé et tous les sommets atteignables par une C.A. Impossible de saturer un sommet non M-saturé et tous les sommets atteignables par une C.A. Contrainte violée Contrainte violée … … … c c c K

37 Résolution heuristique Résultats numériques

38 Résolution heuristique Résultats numériques Instances aléatoires : 5-50 agents 5-50 agents périodes périodes 5-50 profils / agent 5-50 profils / agent 5-10 compétences 5-10 compétences

39 Résultats numériques Méthodes heuristiques

40 Résolution exacte Génération de coupes (couplages) Génération de coupes (couplages) Décomposition de Benders Décomposition de Benders Résultats numériques Résultats numériques

41 Résolution exacte Génération de coupes (couplages)

42 Génération de coupes Algorithme général 1. Sélectionner un ensemble de contraintes de ressource initial Δ 0 définissant [MMKP] 0 ; i 0 2. Résoudre [MMKP] i y* (solver MIP) 3. y* est réalisable pour [MMKP] ? Si oui, STOP Si oui, STOP Sinon, déterminer une contrainte de ressource violée et lajouter à Δ i ; i i+1; aller en 2 Sinon, déterminer une contrainte de ressource violée et lajouter à Δ i ; i i+1; aller en 2

43 Résolution exacte Décomposition de Benders

44 Décomposition de Benders Programme linéaire (3) Variables de décision : r c θ : marge satisfaction de la requête Évite lirréalisabilité

45 Décomposition de Benders [P]: min z = cx + fy s.c. Dx + Fy = d x 0 Les variables de [P] sont naturellement partitionnables : x : var de couplage de compétences sur agents y : var daffectation de PHs aux agents

46 Décomposition de Benders [SP(ŷ)]: min z = cx s.c. Dx = d - Fŷ x 0 Problèmes de couplages indépendants y fixé : ŷ [DSP(ŷ)]: max w = v(d – F ŷ) s.c. vD c v quelconque Dual : Problèmes indépendants Contraintes indépendantes de y Points extrêmes v 1, v 2, …, v q x : var de couplage de compétences sur agents y : var daffectation de PHs aux agents Y : contrainte dun profil unique par agent

47 Décomposition de Benders J={1,…,q} : cut = { fy + v j (d – fy), j J } Programme maître : [PM] : min y z s.c. cut y Y [P]: min y Y { fy + SP(y) } Réécriture de [P] : [P] : min z s.c.z fy + v 1 (d - fy) … z fy + v q (d - fy) y Y [P]: min y Y { fy + max i=1..q v i (d -Fy) }

48 Décomposition de Benders Algorithme général : LB = - ; UB = + cut = ; choisir ŷ Y Tant que UB-LB> faire Résoudre [DSP(ŷ)] : max {v(d – Fŷ) / vD c } v* Si f ŷ+v*(d-Fŷ) > LB alors cut = cut { f ŷ+v*(d-Fŷ) z } UB = min {UB, f ŷ+v*(d-Fŷ) } Sinon STOP : solution optimale Fin Si Résoudre [PM]:min { z / cut, y Y } y*, coût z* LB=max { LB, z* } ŷ = y* Fin Tant que

49 Résolution exacte Résultats numériques

50 Méthodes exactes Résultats numériques Référence : Solveur de PLNE – stratégie standard (XPRESS MP 2004)

51 Instances aléatoires : 100 instances par catégorie 100 instances par catégorie 5-50 profils/agent 5-50 profils/agent 5-20 compétences 5-20 compétences Catégories pour lesquelles les trois méthodes aboutissent Catégories pour lesquelles les trois méthodes aboutissent Résolution exacte Résultats numériques

52

53 Instances réelles : 1 semaine 1 semaine 100 agents 100 agents 10 compétences 10 compétences 8 profils par agent 8 profils par agent 600+ périodes (50 par dominances) 600+ périodes (50 par dominances)

54 Résolution exacte Résultats numériques Méthodes exactes – Instances réelles

55 Conclusion / Perspectives Coupes K-H outil de résolution opérationnel pour des instances de taille réelle Coupes K-H outil de résolution opérationnel pour des instances de taille réelle Surclassent XPRESS et la décomposition de Benders Surclassent XPRESS et la décomposition de Benders Les coupes de Benders induisent une structure de PM très difficile à résoudre Les coupes de Benders induisent une structure de PM très difficile à résoudre Benders : 1 – 10 coupes Benders : 1 – 10 coupes K-H : 30 – 100 coupes K-H : 30 – 100 coupes Incrémentaliser la résolution du programme maître Incrémentaliser la résolution du programme maître


Télécharger ppt "Génération de coupes pour la planification dagents Boris Detienne, Laurent Péridy, Eric Pinson, David Rivreau Centre de Recherche et dEtudes sur les Applications."

Présentations similaires


Annonces Google