Sérialisation d un schéma de sous gradient avec des métaheuristiques pour la résolution approchée de problèmes de sacs à dos multidimensionnels Vincent Pinte Deregnaucourt - 5 juillet 2007
Sommaire 1 Le problème du sac à dos Cas concret... Modélisation Complexité et Approximabilité des KP & MKP 2 Résolution approchée du sac à dos multidimensionnel Principe, Méthodes Outils pour le minorant : Heuristique, Métaheuristique Outils pour le majorant : RL, PDL et Méth. de SS Gdt 3 Mise en œuvre Prog Dual Lag & Méth. de SS Gradient Métaheuristique 4 Conclusion 5 Questions
Cas concret... Un exemple concret d un problème de sac à dos Un jour, Arsène L. pénètre dans le Louvres, il fait nuit ; Face à lui, une table, des objets Ces objets sont nombreux et ont chacun un poids et une valeur ; Son sac à dos ne peut pas supporter plus de 50 kg ; Question : quels objets emporte-t-il afin de maximiser la valeur de son sac à dos? (la question liée : quelle méthode utilise-t-il pour les choisir?)
Modélisation Modèle d un problème de sac à dos (KP) n max z = c j x j j=1 (P) n s. c. a j x j B j=1 x j {0, 1}, j Objets un ensemble de n objets j, j {1,...,n} ; Valeurs c j, la valeur d un objet j ; Tailles a j, la taille d un objet j ; Capacité B la capacité du sac à dos ; Choix x j, la variable de décision relative à l objet j, qui prend la valeur 1 si l objet j est placé dans le sac à dos, 0 sinon. (1)
Modélisation Modèle d un problème de sac à dos multidimensionnel (MKP) max z Tailles a 1j, a 2j,...,a mj les m «caractéristiques» d un objet j ; Capacité B 1, B 2...,B m, les m «caractéristiques» du sac à dos ; Notation étendue Notation agrégée n j=1 = c j x j n j=1 s. c. a 1j x j B 1 (P) max z s. c. n j=1 = c j x j n j=1 a ij x j B i, i {1,..., m} (P). n j=1 a 2j x j B 2 Résolution approchéende problèmes de sacs à dos. Méthode de sous gradient et Métaheuristiques (2) x j {0, 1}, j (3)
Modélisation Conditions sur le modèle du problème de sac à dos Sans perte de généralité, les hypothèses suivantes sont faites : par définition sur le modèle : données : entières et positives : j, i : B i N, (c j a ij ) (N N) contraintes : pas totalement nulle : i, (a i1,...,a in ) (0, 0,...,0) somme des poids des objets : strictement supérieure à la capacité du sac à dos i, j a ij > B i. par contrainte sur les objets : pas de plus grand que la capacité du sac à dos i, j, a ij < B i. pas de valeur (coût) nulle : j, c j > 0.
Complexité et Approximabilité des KP & MKP Résultats théoriques établis N P-complétude et approximabilité des problèmes de sac à dos (KP) optimisation : N P-difficile décision : N P-complet [Karp 1971] PTAS [Sahni, 1976] FPTAS [Ibarra et Kim, 1975] MKP optimisation : N P-difficile décision : N P-complet PTAS : [Chandra, Hirschberg, Wong, 1975] FPTAS [Gens, Levner,1979 - Korte, Schrader, 1981] MKP FPTAS P = N P [Magazine et Oguz, 1981]
Principe, Méthodes Principe et Méthode de résolution pour MKP Principe : Par encadrement : Majorant et Minorant Méthode : Simple... Minorant (heuristique) Majorant (relaxation) Plus complexe et donc plus fine... Minorant (heuristique + métaheuristique) Majorant (RL PDL Méth de SS Gradient) idée : valider la qualité du minorant!
Outils pour le minorant : Heuristique, Métaheuristique Les outils utilisés - Plan Heuristique (définition, principe, inconvénient) Métaheuristique (Voisinage et population) Relaxation lagrangienne Programme Dual Lagrangien Méthode de sous gradient
Outils pour le minorant : Heuristique, Métaheuristique Heuristique Stratégie spécifique aux données à la structure du problème (KP et TSP!) avantages : rapide (développer) simple (Mise en œuvre) efficace (temps) ex : KP, tri inconvénients : propriétaire (données, structure) manque de généricité pas de résolution exacte (sauf...) tri pour le TSP?
Outils pour le minorant : Heuristique, Métaheuristique Solution : relever le niveau d abstraction En ne parlant plus d «objet» ou de «villes» mais d abstraction. En définissant : des ensembles d objets (Espace : ensemble solution, solution potentielle, solution réalisable,...) des transformations sur ces objets (Topologie : voisinage, population,...) des relations d ordre sur ces objets (Métrique : notion de maximum et de minimum)
Outils pour le minorant : Heuristique, Métaheuristique De l Heuristique vers la Métaheuristique moyens : notion de voisinage (km, distance de hamming,...) transformation (voisinage, complém. à q bits) déplacement (d une solution vers une autre) heuristique d amélioration locale Algorithme de montée (gourmand/glouton) Généricité accrue : Mais dépend du voisinage dépend de la solution initiale Piège du «max local» nouveau paradigme : tolérance à la dégradation (Méth. tabu) manipulation d un ensemble de solutions (Algo Génétiques) et bien d autres...
Outils pour le minorant : Heuristique, Métaheuristique Définition d une métaheuristique cadre générique de résolution reposant sur un ou plusieurs paradigmes qui permet de procéder à la résolution approchée sans garantie de performance d un problème indépendamment de sa forme. caractérisation possible à défaut d axiomatisation (Hansen et Mladenović).
Outils pour le minorant : Heuristique, Métaheuristique Points communs des métaheuristiques paradigme manipulation de solutions (voisinage ou population) paramétrage Adaptation à la structure du problème propre à la métaheuristique Critère d arrêt (empirique) (mais algorithme «anytime») la valeur de la meilleure solution n a pas varié de plus de α % pendant β boucles et/ou un certain nombre de boucles β prédéfini a été atteint. et/ou un délai h est atteint (contract algorithm) et/ou si une valeur v trouvée est suffisamment proche d une valeur v de référence connue
Outils pour le minorant : Heuristique, Métaheuristique La recherche à voisinage locale - Hansen et Mladenović 1 2 3 4 5 6 7 8 9 10 11 Principe : changement systématique de voisinage pour s extraire des maxima locaux. Algorithme 1 : La Recherche à Voisinage Variable - VNS Données : une solution x, un voisinage N, un paramètre k max Résultat : La meilleure solution rencontrée x x x tant que Non(Critère d Arrêt) faire k 1 tant que k k max faire x GenerationPerturbation(N k (x)) /* k-perturbation */ x RechercheLocale(x ) /* Recherche Locale */ si f (x ) > f (x ) alors x x /* Déplacement Conditionnel */ x x k 0 k k + 1
Outils pour le minorant : Heuristique, Métaheuristique Métaheuristique évolutive : principe Autre paradigme : une solution population de solutions opérateurs : combinaison, sélection, évaluation nécessité d un ensemble «source» : difficile à caractériser
Outils pour le minorant : Heuristique, Métaheuristique La recomposition de chemin - Glover Principe : soit S une population de «bonnes» solutions {s 1, s 2,...,s n } (au sens fonction éco + diversifiée) il existe une manière de construire des chemins, de proche en proche, entre 2 solutions s p et s q qui produisent de nouvelles bonnes (et meilleures!) solutions. (chemin ensemble de solutions) déroulement : construire un chemin de s p à s q : s p1, s p2,... la construction de s pi à s pi+1 se fait selon un paradigme le paradigme est que s pi+1 : appartient au voisinage de s pi se rapproche de s q maximise la fonction économique reste réalisable (dans notre cas)
Outils pour le minorant : Heuristique, Métaheuristique La recomposition de chemin - Exemple coût 3 4 2 6 4 1 contr. < 11 2 3 5 1 4 2 s p (11/9) 1 1 0 0 1 0 s q (13/10) 1 0 1 1 0 1 choix 1 x 100010-7/6 111010-13/14 110110-17/9 110000-7/5 110011-12/11 17/9 1 1 0-1- 1 0 choix 2 x 100110-13/7 111110-19/15 x 110100-13/6 110111-18/13 13/7 1-0- 0 1 1 0 choix 3 x x 101110-15/12 x 100100-9/6 100111-14/9 14/9 1 0 0 1 1-1- choix 4 x x 101111-16/14 x 100101-10/5 x 10/5 1 0 0 1-0- 1 choix 5 x x 101101= s q x x x
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Les outils utilisés - Plan Heuristique (définition, principe, inconvénient) Métaheuristique (Voisinage et population) Relaxation lagrangienne Programme Dual Lagrangien Méthode de sous gradient
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Relaxation lagrangienne appliquée au 2-KP (P) max s. c. n c j x j j=1 n a j x j A j=1 n b j x j B j=1 x j {0, 1} j {1... n} (4)
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Relaxation lagrangienne - dualisation Nous pouvons relâcher la deuxième contrainte du modèle 4 en lui affectant la pénalité réelle positive λ. Nous obtenons le problème (RL λ (x)) : max (RL λ (x)) s. c. note : c est un sac à dos! n c j x j + λ (B j=1 n a j x j A j=1 x j {0, 1} j {1... n} n b j x j ) j=1 (5)
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Dual lagrangien : RL(P) PDL(λ) { min RLλ (x) (PDL(λ)) s. c. λ R + (6)
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Principe d une méthode de sous gradient À chaque étape k de la résolution de PDL(λ) : Principes Graphiquement épigraphe avec équation de la partie affine : v(rl λ k(x)) = cx + λ k (B bx) λ k = f (λ k 1 ) = τ k v k v G k pas θ k = τ k v(k(λk )) v(p) d k direction de descente d k = G k + µd k 1 où G k : k ième sous-gradient heuristique lagrangienne! condition d arrêt (sur k, λ, u)
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Méthode de sous gradient : heuristique Lagrangienne Principe : sur l épigraphe, la droite support associée est l équation de la partie affine : v(rl λ k(x)) = cx + λ k (B bx) 2 cas sont alors possibles : B bx x est une solution réalisable de (P) : phase constructive B < bx x est une solution NON réalisable de (P) : phase destructive
Outils pour le majorant : RL, PDL et Méth. de SS Gdt Un invariant remarquable du point de vue de l Ingénieur Remarque : Des axes de travail sur lesquels j ai aussi fait porter ma réflexion
Prog Dual Lag & Méth. de SS Gradient minorant initial Premiers essais avec PLZM. Relaxation continue Mise à zéro des composantes fractionnaires Phase constructive : heuristique géométrique (densité) Résultats très bons Essais avec la VNS très nombreux essais de paramétrage temps considérable et résultats pas à la hauteur
Prog Dual Lag & Méth. de SS Gradient Comparaison PLZM et Algo de sous gradient basique - Inst BT & OR Lib. 100 99.9 99.8 99.7 % 99.6 99.5 99.4 99.3 2 4 6 8 10 12 14 16 18 20 instances PLZM/PLNE Min-init/PLNE % 100 95 90 85 80 75 70 65 5 10 15 20 25 30 35 40 45 instances PLZM/PLNE Min-init/PLNE Comparaison PLZM - Algo Basique Sous Gradient Instances BT et OR Lib
Prog Dual Lag & Méth. de SS Gradient Sur l algorithme de sous gradient Modifications nécessaires λ λ i! plus de relation d ordre! refonte algorithme & programme : 4 versions Modifications proposées Heuristique Lagrangienne Étendue Convergence plus rapide : en temps & en itérations
Métaheuristique Recherche à voisinage variable et FROG La VNS donne de mauvais résultats? Création de la FROG paradigme proche : changer de voisinage ET de type de voisinage hyperdiversification (Glover) Utilisation de phases constructives et destructives Utilisation de la densité géométrique. projection des solutions non admissibles vers l espace des solutions admissibles. prélèvement stochastique d une partie des voisinages
Métaheuristique FROG 1 Algorithme 2 : LA FROG Données : une solution x, un voisinage N, les paramètres k max, k max et α Résultat : une solution x x, x x, 2 x x, k 1 3 tant que Non(Critère d Arrêt) faire 4 tant que k < k max faire 5 x GenerationPerturbation(N k (x)) /* Perturbation */ 6 k 1 7 x max x 8 x x /* permet de rentrer dans la boucle */ 9 tant que (f (x ) f (x ) ET k < k max ) faire x MeilleurVoisin(N k (x ), α) /* Montée à voisinage Variable.*/ 10 11 12 x max = MeilleureSolution((x max, x )) k k + 1 13 si f (x max ) alors 14 x x max 16 15 x x max /* Mouvement ou non? */ k 0 17 k k + 1
Métaheuristique La FROG, Résultats - Instance BT et OR Lib 0.16 0.14 0.12 0.1 % 0.08 0.06 0.04 0.02 0 2 4 6 8 10 12 14 16 18 20 instances FROG - Meilleurs des 10 essais % 5 4 3 2 1 0 5 10 15 20 25 30 35 40 45 instances FROG - Meilleurs des 10 essais Comparaison FROG/PLNE, sortie de sous gradient, meilleur de 10 essais.
Métaheuristique La Tapisserie Idée dérivée de la recomposition de chemin : 2 solutions proches (sinon, considérées comme telles - réduction) Suppression du deuxième paradigme de la recomposition de chemin Construction de chemins exhaustifs Résultats conformes, mêmes si parfois surprenants...
Métaheuristique Tapisserie, Résultats - Inst BT & OR Lib. 0.25 0.2 0.15 % 0.1 0.05 % 30 25 20 15 10 5 0 2 4 6 8 10 12 14 16 18 20 instances Sortie de SG Tapisserie 0 5 10 15 20 25 30 35 40 45 instances Sortie de SG Amélioration de la sortie de l algorithme de sous gradient par Tapisserie Tapisserie
Métaheuristique La recomposition de chemin - Paramétrage les solutions sources sont celles engendrées par l algorithme de sous gradient deux sous ensembles distincts : des solutions admissibles et non admissibles. taille du voisinage envisageable à chaque étape : (1) - (1 ou 2) - (2) à la suite de cette première phase : deuxième phase puis fusion
Métaheuristique La recomposition de chemin - Résultats % 100 95 90 85 80 75 70 65 60 5 10 15 20 25 30 35 40 45 instances Min Init Min Heuri Min ssg Fin Rec Chem. Fig.: 4 étapes : minorant initial, minorant avec PLZM, minorant à
Métaheuristique Comparaison des 3 modes - Inst BT & OR Lib. 0.05 0.04 0.03 % % 0.02 0.01 0 2 4 6 8 10 12 14 16 18 20 instances Rec. Chem. Tap FROG comparaison PR FROG Tapisserie 16 14 12 10 8 6 4 2 0 5 10 15 20 25 30 35 40 45 instances Rec. Chem. Tap FROG
Sur les résultats Minorant initial : métaheuristique inintéressant. HLÉ : intéressante! plus de théorie? Métaheuristique après algo. sous gradient : oui! Méta de voisinage? Non... Méta Exhaustive? Non... Méta évolutive? Oui! Aller plus loin? m fois (m 1) dualisation? Algorithme BPK? Fixation de variables Autre sous gradient, autre relaxation?
Résultats, des chiffres par rapport aux instance La recomposition de chemin sur les instances de BT : best 17/18 (99.7-99.995) sur les instances de la OR Lib : best 32/40 (98.5) LA FROG sur les instances de BT 3 / 18 (99.96) sur la OR Lib : 8/40 (97.8) La Tapisserie (cela vaut-il de détailler?)
Comparaison qualitative des métaheuristiques VNS FROG Tapisserie Rec. Chemin Simplicité 100 90 100 80 Cohérence 80 90 100 90 Efficience 70 80 60 90 Efficacité 60 70 20 90 Robustesse 80 80 80 80 Facilité 100 90 100 100 Innovation x x x x 81.67 83.33 76.67 88.33 Tab.: Comparaison la Recherche à Voisinage Variable, de la FROG, de l heuristique Tapisserie et de la Recomposition de Chemin au sens des définitions des propriétés des métaheuristiques selon Hansen et Mladenović
Les questions