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.

Documents pareils