Une approche d'optimisation robuste pour l'ordonnancement de projet sous contraintes de ressources avec durées incertaines 1 LAAS-CNRS, Université de Toulouse, France 2 Research group ORSTAT, Faculty of Business and Economics, K.U.Leuven, Leuven, Belgium Recherche en partie nancée par le programme ANR Blanc Projet ROBOCOOP - ANR-08-BLAN-0331-01
1 Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux 2 Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal 3
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Optimisation combinatoire robuste Optimisation combinatoire et scénarios d'incertitude Soit le problème d'optimisation combinatoire min x X {0,1} n cx. supposons que c est incertain avec c C, ensemble des scénarios d'incertitude. Coût Minimax ou regret minimax L'optimisation combinatoire robuste consiste à Minimiser le pire des cas sur les scénarios min x X max c C cx Minimiser le plus grand regret absolu sur les scénarios min x X max c C (cx min y Y cy) Minimiser le plus grand regret relatif sur les scénarios min x X max c C (cx min y Y cy) min y Y cy
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Ordonnancement de projet sous contraintes de ressources Dénitions V = {0, 1,..., n, n + 1}, ensemble des tâches (projet) avec 0 tâche ctive de début et n + 1 tâche ctive de n, p i durée de la tâche i V, R ensemble de ressources, b k, disponibilité de la ressource k R, b ik demande de la tâche i en ressource k R, E contraintes de successions entre tâches S i début de la tâche i (à déterminer) RCPSP (Resource-Constrained Project Scheduling Problem) : Minimiser la durée totale du projet en respectant les contraintes de succession et les disponibilités des ressources.
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Formulation conceptuelle du RCPSP Décision : Détermination des dates de début des tâches (S R n+2 ) Soit S ensemble (inni) des ordonnancements réalisables = ensemble des vecteurs S R n+2 vériant S j S i + p i (i, j) E (1) s j t<s j +p i b ik B k t 0, k R (2) S j 0 i V (3) Formulation 1 (directe) (RCPSP) min S S S n+1
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Le RCPSP comme un problème d'optimisation combinatoire Décision : Sélection d'un ordre strict X V 2 (ensemble de couples de tâches représentant des successions additionnelles) réalisable Un ordre strict X V 2 est dit réalisable si S(X ) S avec S(X ) = {S 0 S j S i + p i, (i, j) E X }, l'ensemble des dates de début respectant l'ordre strict. Soit X l'ensemble des ordres stricts réalisables. Soit C max (X ) la longueur du plus long chemin dans G(V, E X ) dans lequel les arcs sont valués par les durées des tâches. Formulation 2 (optimisation combinatoire) (RCPSP) min X X C max (X )
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Durées incertaines et ordres stricts On suppose une incertitude sur les durées p i P i avec P i ensemble continu (intervalle) ou discret. On note C max (X, p) la longueur du plus long chemin dans G(V, X E) dans lequel les arcs sont valués par les durées des tâches. Par dénition, un ordre strict réalisable reste réalisable pour tout scénario de durées. Un ordre strict dénit une politique de décision sous incertitude de durées
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Ordonnancement de projet robuste sous contraintes de ressources Le regret absolu d'un ordre strict X pour un scénario de durées p est donné par RA(X, p) = (C max (X, p) min Y X C max (Y, p)) Ordonnancement de projet à minimax regret absolu (AR RCPSP) min X X max p P RA(X, p) Le regret relatif d'un ordre strict X pour un scénario de durées p est donné par RR(X, p) = (Cmax(X,p) min Y X C max(y,p)) min Y X C max(y,p) Ordonnancement de projet à minimax regret relatif (RR RCPSP) min X X max p P RR(X, p)
Optimisation robuste Ordonnancement de projet sous contraintes de ressources L'ordonnancement de projet robuste Diculté du problème et enjeux Diculté du problème et enjeux Complexité Étant donné un ordre strict X et un scénario de durées p, calculer le regret absolu RA(X, p) ou relatif RR(X, p) est NP-dicile (résolution d'un RCPSP). Enjeux : Calculer des bornes supérieures et inférieures du regret? Proposer une méthode de résolution utilisable en pratique?
Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal Regret maximal absolu : restriction aux scénarios extrêmes si P i est un ensemble continu ou discret, il possède un élément minimum pi min et un élément maximal pi max. un scénario p est extrême si p i = pi min toute tâche i V. Théorème ou p i = p max i pour Étant donné un ordre strict X, le regret absolu maximal est atteint sur un scénario extrême.
Regret maximal relatif et scénarios extrêmes Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal Contrexemple pour le regret relatif soit n = 2 et P 1 = {2, 3, 6} et P 2 = {1, 3, 5}, pas de contrainte de succession, pas de contrainte de ressource. Pour tout scénario, le makespan optimal est C max(p) = max(p 1, p 2 ). Soit X = {(1, 2)}. C max (X, p) = p 1 + p 2. Le regret absolu de X pour un scénario p est RA(X, p) = p 1 + p 2 max(p 1, p 2 ) de maximum atteint pour p 1 = 6 et p 2 = 5. Le regret relatif de X pour un scénario p est RR(X, p) = p 1+p 2 max(p 1,p 2 ) 1 de maximum unique atteint pour p 1 = p 2 = 3
Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal Bornes inférieures des regrets maximaux Soit Y un ordre strict. ra(x, Y ) = max p P (C max (X, p) C max (Y, p)) rr(x, Y ) = max p P C max(x,p) C max(y,p) C max(y,p) ra(x, Y ) (rr(x, Y )) est la plus grande diérence absolue (relative) entre les longueurs des plus longs chemins dans G(V, E X ) et G(V, E Y ). Bornes inférieures des regrets absolu et relatif Si Y est un ordre strict réalisable, alors max p P RA(X, p) ra(x, Y ) et max p P RR(X, p) rr(x, Y )
Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal Bornes supérieures des regrets maximaux Un ordre strict nécessaire Y est un ordre strict non nécessairement réalisable mais tel que pour tout scénario p P, C max (Y, p) est une borne inférieure de C max(p). Un ordre strict nécessaire trivial est donné par Y =. Bornes supérieures des regrets absolu et relatif Si Y est un ordre strict nécessaire, alors max p P RA(X, p) ra(x, Y ) et max p P RR(X, p) rr(x, Y ) Problème ouvert : complexité du calcul de ra(x, Y ) et rr(x, Y ).
Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal PLNE pour l'évaluation du regret absolu maximal Détermination simultanée de la durée optimale pour le regret et de la solution optimale du RCPSP Variable a i {0, 1} de sélection de la durée minimale ou maximale Variables de ot continues φ min ij [0, a i ] et φ max ij [0, 1 a i ] pour le calcul du plus long chemin dans G(V, E X ). Variables de dates de début S i pour le calcul de la solution optimale du RCPSP pour la durée p Variables y i,j {0, 1} pour le calcul de l'ordre strict optimal pour la durée p Variables continues de ots d'unités de ressource f ijk pour les conditions de réalisabilité de l'ordre strict RCPSP multi-mode à fonction objectif composite (mais linéaire)
Restriction aux scénarios extrêmes Bornes inférieures et supérieures des regrets maximaux PLNE pour l'évaluation du regret maximal Extrait du PLNE pour l'évaluation du regret absolu maximal RA (X ) = max (i,j) E X sous les contraintes : φ min ij + φ max ij = (i,j) E X (j,i) E X φ min 0j + φ max 0j = (0,j) E X (j,n+1) E X φ max ij a i, (i,j) E X (i,j) E X p min i φ min ij + p max i φ max ij S n+1 φ min ji + φ max ji i V \ {0, n + 1} φ min j,n+1 + φmax j,n+1 = 1 φ min ij 1 a i i V \ {0, n + 1} φ min ij, φ max ij 0 (i, j) E X S j S i + (1 a i )p min i + a i p max i M(1 y ij ) (i, j) E S 0 = 0 a i {0, 1} a 0 = a n+1 = 0 Y X i V
Formulation du AR-RCPSP par considération explicite des scénarios La minimisation du plus grand regret absolu peut être formulée en considérant explicitement tous les scénarios p 1,..., p h,..., p P : ρ = min ρ ρ S h n+1 C max(p h ) p h P S h j S h i + p h i M(1 x ij ) (i, j) V V, i j, p h P S h i 0 i V, p h P X X La considération d'un sous ensemble de scenarios P P conduit à une borne inférieure du plus grand regret minimal. Nous proposons une méthode itérative pour la résolution du AR-RCPSP, basée sur la relaxation des scénarios, faisant progressivement croître la borne inférieure.
Un premier algorithme de relaxation des scenarios 1: Choisir un scénario p 1 (par exemple p min ) et résoudre le RCPSP. P {p 1 }. h 1. 2: Résoudre le AR-RCPSP avec P et obtenir une borne inférieure BI et un ordre strict X. 3: Si BI = BS alors Stop. 4: Sinon Calculer le regret maximal de X en résolvant le RCPSP multi-mode, mettre à jour la borne supérieure BS, récupérer le scénario p h+1 et le makespan optimal C max(p h+1 ). h h + 1. 5: Si BI = BS alors Stop. 6: Sinon retour à l'étape 2. Converge en au plus 2 n itérations. (voir aussi Assavapokee et al. (COR 35(6), 2093-2102, 2008)) pour une approche générale en optimisation robuste)
Algorithme de relaxation des scenarios (variante) 1: Choisir un scénario p 1 (par exemple p min ) et résoudre le RCPSP. P {p 1 }. h 1. 2: Résoudre le AR-RCPSP avec P et obtenir une borne inférieure BI et un ordre strict X. 3: Si BI = BS alors Stop. 4: Sinon chercher une solution du RCPSP multimode d'objectif plus grand que BI, et récupérer le scénario de durée p h+1. h h + 1. 5: Si une solution a été trouvée, Calculer le makespan optimal C max(p h+1 ) et retour à l'étape 2. 6: Sinon Stop. Avantages : Le RCPSP multi-mode n'a pas a être résolu à l'optimalité (on cherche seulement un regret plus grand que la borne inférieure) Inconvénient : On doit résoudre un RCPSP à chaque itération.
Expériences numériques Deux exemples i p min i p max i b i1 b i2 Γ i 1 4 8 2 1 10 2 0 2 1 0 5, 6 3 0 2 3 1 7 4 1 3 2 0 8 5 2 4 1 1 9 6 4 6 2 1 10 7 4 8 3 0 8 2 4 1 2 9 1 3 1 2 10 10 3 5 1 1 b k 7 4 i p min p max b i i i1 b i2 b i3 b i4 Γ i 1 1 3 10 10 5 5 7, 8, 9 2 1 3 10 2 3 8 5, 6, 7 3 1 4 5 9 2 8 4, 5, 6 4 6 8 3 2 10 10 8 5 1 3 4 6 10 8 6 6 1 3 1 7 2 1 8 7 8 10 10 8 8 2 8 6 8 8 4 4 3 9 6 8 4 2 3 2 10 6 8 2 9 2 5 b k 19 18 19 17
Résultats L'algorithme 1 résout l'exemple 1 en 9 itérations et 9,3 secondes et l'exemple 2 en 7 itérations et 2801 secondes. L'algotithme 2 résout l'exemple 1 en 9 itérations et 4,8 secondes et l'exemple 2 en 13 itérations et 1843 secondes. La variante proposée divise par deux le temps requis par l'algorithme inspiré d'assavapokee et al.
Conclusion Dénition du problème de RCPSP robuste basé sur la représentation des solutions par ordres stricts. Résultats pour la résolution du problème de minimax regret pour le RCPSP avec durées incertaines : propriétés structurelles et amélioration d'approches d'optimisation robuste générales. Vers une approche pratique en ordonnancement robuste... Améliorer les calculs de bornes inférieures et supérieures, utiliser des méthodes d'ordonnancement basées sur les contraintes. Nécessité de considérer des approches moins conservatives (Bertsimas et Sim, Math Prog, 2004,...). http ://robocoop.li.univ-tours.fr