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 d’agents

Présentations similaires


Présentation au sujet: "Génération de coupes pour la planification d’agents"— Transcription de la présentation:

1 Génération de coupes pour la planification d’agents
Boris Detienne, Laurent Péridy, Eric Pinson, David Rivreau Centre de Recherche et d’Etudes sur les Applications des Mathématiques Institut de Mathématiques Appliquées Université Catholique de l’Ouest – 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 Formalisation
Borne inférieure (décomposition lagrangienne) Méthodes heuristiques Approche gloutonne Génération de coupes Méthodes exactes Décomposition de Benders Conclusion / Perspectives

3 Description du problème

4 Description du problème
Θ : Horizon temporel A : Ensemble d’agents C : Ensemble de compétences ecθ : Requête en agents pour cC durant θΘ e c1 Horizon Theta partitionné en plages horaires Activités définies implicitement sur Theta c3 c2 Θ θ 1 θ 2 θ 3 θ 4 θ 5 θ 6

5 Description du problème
A : ensemble d’agents Compétences maîtrisées Ca  C Ensemble de profils horaires sur l’horizon Θ θ 1 θ 2 θ 3 θ 4 θ 5 θ 6 ω1 ω2 ωn ωn-1 Ensembles de compétences, PHH et règles différents pour chaque agent PHH -> typiquement, horaires du matin, soir, nuit combinables en roulements de 3-8 Exemple de règles : semaine de congés, 35 heures/semaine sur l’année, pas plus de 48h/semaine, tarif heures sup après 40 heures/semaines…

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

7 Description du problème
Affecter : Un profil horaire par agent Une compétence à chaque agent présent sur chaque plage horaire De manière à satisfaire les requêtes Au moindre coût Une compétence à chaque agent présent sur chaque plage horaire selon la séquence de PHH

8 Formalisation

9 Programme linéaire (1) νωθ=1 le profil ω couvre la période θ
Notations νωθ=1 le profil ω couvre la période θ ηωa : coût du profil ω Variables de décision yωa=1  le profil ω est affecté à l’agent a xacθ=1  l’agent a est affecté à la compétence c durant θ 1ère contrainte…

10 Compétence / Agent / Période
Formalisation Affectation Profil / Agents Compétence / Agent / Période ETP Contraintes couplantes Les méthodes présentées reposent sur la remarque suivante : Le problème comporte deux niveaux de décision : - Affectation Agent/profil - Pour chaque période, Affectation Agent / Compétence

11 Borne inférieure par décomposition lagrangienne

12 Décomposition lagrangienne
Affectation Profil / Agent ETP Dualisation des contraintes couplantes (perte d’information) Affectation Compétence / Agent / Période But : séparer les deux niveaux de décision en deux sous-problème en problèmes moins dépendants, mais avec une perte d’information

13 Décomposition lagrangienne
Les contraintes qui vont être dualisées sont celles qui lient les variables x et y On leur associe un vecteur de multiplicateurs de Lagrange positifs

14 Décomposition lagrangienne
Fonction duale : avec : Après dualisation de ces contraintes, on obtient une fonction duale décomposable en deux parties dont le calcul peut se faire de façon indépendante. Cette fonction a pour propriété d’être de valeur inférieure à l’optimum d’ETP pour toute distribution de Pi. Affecter les ecθ agents de « coût » min par plage horaire et compétence Affecter le profil de coût lagrangien minimum par agent

15 Décomposition relaxation
 Maximisation de L() par une méthode de sous-gradient Équivalent à la relaxation continue On calcule donc son maximum afin d’avoir une évalutation la plus grande possible de la borne inférieure du problème initial. On utilise ici une méthode de sous-gradient qui exploite la concavité de la fonction duale pour donner une approximation de son maximum. Les deux sous-problème ayant la propriété d’intégrité, cette relaxation lagrangienne est équivalente à la relaxation continue.

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

17 Résultats numériques

18 Résultats numériques

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

20 Résolution heuristique
Approche gloutonne

21 Approche gloutonne Principe Étape i : Affecter un profil à un agent
Réduire l’ensemble Ω des profils possibles pour les autres agents … réduire l’ensemble… pour supprimer le plus possible de « mauvais » profils, qui ne mènent à aucune solution réalisable

22 Approche gloutonne Sélection de l’agent / profil Coût
Bonus / pénalités Indicateurs sur les périodes couvertes Requête (résiduelle ou absolue) Nombre d’agents potentiels Le choix du couple agent/profil à affecter est basé sur un critère calculé selon une combinaison du coût du profil, de bonus/pénalités (achève la couverture d’une compétence, sur-couvre une compétence…) et d’indicateurs sur les périodes couvertes

23 dans toute solution réalisable
Approche gloutonne Réduction de Ω a doit être présent en θ   ω  Ωa, νωa=0  yωa=0 dans toute solution réalisable Stratégie : détecter heuristiquement ces couples agents/périodes S’il s’avère qu’un agent doit forcément être présent durant une plage horaire, alors on ne peut pas lui affecter de profil ne couvrant pas cette plage. On peut donc éliminer tout profil ne couvrant pas la plage de son ensemble omega.

24 Approche gloutonne Réduction de Ω
Affectation agent/profil partielle  1 c-couplage par période Sous-ensemble d’agents obligatoirement présents (non optimal) Peut être généralisé pour un ensemble de périodes Peut être utilisé dans d’autres méthodes (pré-processing, exploration…) Demandes (e1θ) Agents Compétences (e2θ) (e3θ) Affectation agent/profil partielle  1 c-couplages par période dans un graphe biparti, entre les compétences et les agents présents selon l’affectation ou potentiellement présents (agent non traités possédant la compétence dont il reste au moins un profil couvrant la période). On peut trouver un sous-ensemble des agents obligatoirement présents sur la période par la recherche d’un c-couplage maximum (possible incrémentalement) puis de chaînes alternées (O du nombre d’arêtes du graphe, soit le nombre cumulé de compétences maîtrisées par les agents présents ou potentiellement présents) Cette méthode peut être généralisée pour fonctionner sur plusieurs périodes avec une capacité de détection fortement accrue et un temps de calcul fortement plus long Peut être utilisée dans d’autres méthodes ou la réduction du nombre de variables est intéressante (en pré-processing, dans une méthode d’exploration…)

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

26 Horaires de présence des agents
Génération de coupes ETP ETP Affectation Agent / Profil sous contraintes (générées) Affectation Agent / Profil sous contraintes (exponentielles) Horaires de présence des agents Contraintes (c-couplages) Le principe de cette approche est de réduire le problème à un seul niveau de décision, avec un nombre exponentiel de contraintes. Le problème résultant étant très difficile à résoudre, on propose de le résoudre par génération de contraintes Contrôle de réalisabilité

27 Génération de coupes Formalisation alternative
Distribution y*  |Θ| problèmes de c-couplage y* extensible à une solution réalisable on peut coupler l’ensemble des sommets-requêtes sur l’ensemble des sommets-agents Compétences (e1θ) (e3θ) (e2θ) Demandes Agents Cette approche est basée sur une formalisation alternative utilisant une caractérisation des affectations agent/profil réalisables relativement aux couplages qu’elles induisent. Sur chaque période, on peut définir un graphe biparti avec d’un côté des sommets représentant les agents présents, de l’autre des sommets représentant les compétences. Une arête est présente ssi l’agent possède la compétence. Considérons une affectation complète des profils aux agents, y*. On peut compléter la solution (trouver une distribution réalisable des variables d’affectation des agents aux compétences) ssi il existe un c-couplage saturant tous les sommets-requête pour toute période.

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 : Le théorème de Koenig-Hall permet de caractériser l’existence d’un tel couplage dans un graphe biparti : Il existe si et seulement si le nombre de sommets adjacents aux sommets de tout sous-ensemble de C est supérieur ou égal à la demande totale de cet ensemble. On en déduit l’inégalité suivante en fonction de y, avec alpha(a,K)=1 ssi a maîtrise au moins une compétence de K avec αaK=1  KCa

29 Génération de coupes Programme linéaire (2)
Sac-à-dos multidimensionnel multi-choix avec un nombre exponentiel de contraintes de ressources : Cela nous amène à écrire un second modèle PLNE, sous forme de MCMDKP… P(C) représente l’ensemble des parties de C

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

31 Génération de contraintes Ensemble initial de contraintes
Sélection gloutonne (requête maximale sur agent potentiels,…) Filtres Dominances Suppression heuristique : Approximation des variables duales par relaxation Lagrangienne Suppression des contraintes de variables duales 0 Ces contraintes ne sont pas saturées dans la solution primale de la relaxation continue correspondant à l’optimum dual estimé

32 Génération de contraintes Résolution du sous-problème
[MMKP]i peut être résolu Exactement (solver de MIP) Heuristiquement (adaptation de [Akbar et al,2001]) Trouver une solution réalisable Améliorer son coût (permutations) 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 Compétences (e1θ) (e3θ (e2θ) Demandes Agents

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 Compétences (e1θ) (e3θ (e2θ) Demandes Agents c

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 d’une 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. 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 périodes 5-50 profils / agent 5-10 compétences

39 Résultats numériques Méthodes heuristiques

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

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

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

43 Décomposition de Benders
Résolution exacte Décomposition de Benders

44 Décomposition de Benders Programme linéaire (3)
Évite l’irréalisabilité Variables de décision : rcθ : marge satisfaction de la requête If r=0 then the solution is a feasible solution of [ETP]

45 Décomposition de Benders
Les variables de [P] sont naturellement partitionnables : [P]: min z = cx + fy s.c. Dx + Fy = d x  0 x : var de couplage de compétences sur agents y : var d’affectation de PHs aux agents First, we define a sub-problem SP(y) corresponding to the residual problem after fixing y, so that the global problem can be expressed by its « y-part » and SP(y).

46 Décomposition de Benders
y fixé : ŷ [SP(ŷ)]: min z = cx s.c. Dx = d - Fŷ x  0 x : var de couplage de compétences sur agents y : var d’affectation de PHs aux agents Y : contrainte d’un profil unique par agent Problèmes de couplages indépendants Dual : [DSP(ŷ)]: max w = v(d – F ŷ) s.c. vD  c v quelconque First, we define a sub-problem SP(y) corresponding to the residual problem after fixing y, so that the global problem can be expressed by its « y-part » and SP(y). Problèmes indépendants Contraintes indépendantes de y  Points extrêmes v1, v2, …, vq

47 Décomposition de Benders
Réécriture de [P] : [P] : min z s.c. z  fy + v1(d - fy) z  fy + vq(d - fy) yY [P]: minyY { fy + SP(y) } [P]: minyY { fy + maxi=1..q vi(d -Fy) } J={1,…,q} : cut = { fy + vj(d – fy), j  J } Programme maître : [PM] : miny z s.c. cut yY First, we define a sub-problem SP(y) corresponding to the residual problem after fixing y, so that the global problem can be expressed by its « y-part » and SP(y).

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 First, we define a sub-problem SP(y) corresponding to the residual problem after fixing y, so that the global problem can be expressed by its « y-part » and SP(y).

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

52 Résolution exacte Résultats numériques

53 Résolution exacte Résultats numériques
Instances réelles : 1 semaine 100 agents 10 compétences 8 profils par agent 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 Surclassent XPRESS et la décomposition de Benders Les coupes de Benders induisent une structure de PM très difficile à résoudre Benders : 1 – 10 coupes K-H : 30 – 100 coupes Incrémentaliser la résolution du programme maître


Télécharger ppt "Génération de coupes pour la planification d’agents"

Présentations similaires


Annonces Google