Méthodes de résolution pour un problème de sac-à
Transcription
Méthodes de résolution pour un problème de sac-à
Méthodes de résolution pour un problème de sac-à-dos en deux dimensions Quentin Viaud1,2 , François Clautiaux1,2 , Ruslan Sadykov2,1 , François Vanderbeck1,2 1 IMB (UMR CNRS 5251), Université de Bordeaux 351 cours de la Libération, 33400 Talence Cedex, France 2 INRIA Bordeaux - Sud-Ouest 351 cours de la Liberation, 33405 Talence, France [email protected], [email protected], [email protected], [email protected] Mots-clés : Sac-à-dos en deux dimensions, Formulation étendue, Hypergraphe, Modèle de flot 1 Introduction Dans ce résumé, nous comparons différentes méthodes de résolution pour un problème de sacà-dos en deux dimensions avec contrainte guillotine. L’objectif de ce problème est de découper, dans une plaque (W, H), des objets (wi , hi ) disponible en quantité di tel que la somme des profits des objets pi est maximale. Dans les problèmes de découpe guillotine, une coupe doit s’effectuer en ligne droite d’un bord à l’autre d’une plaque. On s’intéresse ici à la version 4 niveaux du problème, lorsqu’un objet doit être obtenu en au plus 4 coupes. Nous considérons également que la longueur d’une coupe est restreinte. Celle-ci doit alors être égale à la longueur ou hauteur d’un objet. La rotation à 90◦ des objets est autorisée. 6 5 2 3 10 9 8 4 1 7 FIG. 1 – Représentation d’un plan de découpe en 4 niveaux pour une plaque Le but de notre proposition est de mesurer l’efficacité de différentes approches exactes pour résoudre ce problème de sac-à-dos guillotine. Nous les comparons également avec les meilleures méthodes de la littérature. 2 Méthodologie D’après la structure de notre problème, l’ensemble des plans de découpes possible pour une plaque, dans le cas non borné, peut être représenté par un programme dynamique prenant en compte les contraintes de découpe. Un tel programme est équivalent à rechercher un flot dans un hypergraphe [3]. Chaque sommet de l’hypergraphe représente un état du programme dynamique. Un hyperarc symbolise le lien entre ceux-ci. De façon à réduire le nombre de variables, nous appliquons sur l’hypergraphe des règles de dominance basées sur les propriétés de découpe. Nous utilisons également la génération de colonne pour formulation étendue [4] afin d’obtenir une excellente borne duale à notre problème. Durant la méthode, un filtrage lagrangien sur les arcs est appliqué pour supprimer ceux ne pouvant pas intervenir dans une solution optimale. L’approche par programmation dynamique se révèle efficace dans la version non bornée du problème. Cependant dans notre cas, il existe une demande di sur les objets à ne pas dépasser ce qui rend le problème plus difficile à résoudre. Nos approches consistent à prendre en compte ces bornes dans des approches utilisant l’hypergraphe. Une manière directe de résoudre le problème est d’écrire le programme linéaire en nombres entiers, correspondant au programme dynamique, en y ajoutant des contraintes de cardinalité. Le modèle est ensuite résolu via un solveur. Une autre approche consiste à utiliser un algorithme de label-setting combiné à une augmentation de l’espace d’état. Au démarrage, les contraintes de cardinalités des objets sont agrégées en une seule contrainte. Au fur et à mesure de l’algorithme, cette contrainte unique va être désagrégée en différentes contraintes pour permettre la résolution du problème. 3 Résultats Le tableau de résultat suivant compare les méthodes utilisées pour quelques instances de la littérature [1]. La limite de résolution est fixée à une heure. La résolution s’effectue en parallèle sur 8 coeurs. Instance ATP40 ATP41 ATP42 ATP43 ATP44 ATP45 ATP46 ATP47 ATP48 ATP49 PR 3.06 1.02 0.57 427.86 1.09 18.92 - PLNE 658.56 2.39 194.15 171.71 51.29 2 38.98 17.79 702.57 1547.67 LS 46.78 2.26 433.17 87.86 3.19 0.58 3.93 4.28 21.30 431.40 TAB. 1 – Comparaison des temps de résolution (en secondes) des différentes méthodes Nous utilisons la méthode récursive [2], adaptée à notre problème, comme référence (PR). Les colonnes PLNE et LS représentent une résolution du problème par génération de colonnes pour formulation étendue suivie d’une résolution par solveur ou par label-setting. L’approche par label-setting se révèle plus efficace ou de niveau équivalent à la méthode récursive. Références [1] Ramón Alvarez-Valdés, Antonio Parajón, et al. A tabu search algorithm for large-scale guillotine (un) constrained two-dimensional cutting problems. Computers & Operations Research, 29(7) :925–947, 2002. [2] Mohammad Dolatabadi, Andrea Lodi, and Michele Monaci. Exact algorithms for the twodimensional guillotine knapsack. Computers & Operations Research, 39(1) :48–53, 2012. [3] R Kipp Martin, Ronald L Rardin, and Brian A Campbell. Polyhedral characterization of discrete dynamic programming. Operations research, 38(1) :127–138, 1990. [4] Ruslan Sadykov and François Vanderbeck. Column generation for extended formulations. EURO Journal on Computational Optimization, 1(1-2) :81–115, 2013.