Bin Packing
Bin Packing
A ma mre,
A lme de mon pre
2
Remerciements
Ce mmoire doit beaucoup aux nombreuses personnes qui mont encourage,
soutenue et conforte au long de toutes ces annes. Quelles trouvent dans ce
travail lexpression de mes plus sincres remerciements.
Je tiens dans un premier temps remercier mon encadrant Monsieur Ahmed
EL HILALI ALAOUI, Professeur la Facult de Sciences et Techniques de Fs,
pour avoir accept de mencadrer et de confi ce travail, ainsi que pour son aide
et ses prcieux conseils.
Jexprime toute ma reconnaissance au Professeur EZZAKI Fatima,
responsable de notre licence, et aux Professeurs EL KHOMSSI Mohammed,
LOUQMAN Chakir, et HILALI Abdelmajid, pour avoir accept de faire partie
du jury de mon mmoire.
Je remercie galement tout le dpartement de mathmatique et lensemble des
enseignants de la FST de Fs en gnral, grce qui, jai acquis une solide
formation.
Mes remerciements vont aussi tous mes amis, merci de mavoir soutenu
pendant les moments difficiles, jespre avoir su partager avec vous les moments
de joie.
Je tiens remercier tout particulirement ma mre, sa prsence et ses
encouragements sont pour moi les piliers fondateurs de ce que je suis et de ce
que je fais. Que dieu vous protge.
Sans oublier mes surs pour leurs soutiens durant toutes ces annes dtudes,
en particulier ma sur et mon enseignante Ghizlane, votre soutien ma t
indispensable pour en arriver l; les mots me manquent pour vous exprimer
quel point je suis fire dtre votre petite sur, jespre que jai t a la hauteur
pour vous.
3
TABLE DES MATIERES
Introduction Gnrale .............................................................................................................................. 5
Chapitre I : Problme de Bin-Packing ..................................................................................................... 6
I. Classification du problme .............................................................................................................. 7
II. Bin Packing une dimension (1BP) ............................................................................................. 7
II.1 Exemples dapplication du problme de Bin Packing une dimension ............................... 8
II.1.1 Sauvegarde de fichiers dans des supports informatiques ................................................ 8
II.1.2 Dcoupe de bois .............................................................................................................. 8
II.1.3 Organisation dune fte ................................................................................................... 8
II.2 Formulation mathmatique ...................................................................................................... 9
II.2.1 Bin-Packing avec plusieurs bins ...................................................................................... 9
II.2.2 Bin Packing avec un seul bin ...................................................................................... 10
III. Problme de Bin Packing deux dimensions (2BP) .............................................................. 12
III.1 Position du problme ............................................................................................................. 12
III.2 Modles Mathmatiques ........................................................................................................ 14
III.2.1 Modle de Strip-Packing ............................................................................................... 14
III.2.2 Modle de Bin-Packing ................................................................................................. 16
III.2.3 Modle de Knapsack (Sac--dos) .................................................................................. 19
Chapitre II : Mthodes de rsolution ..................................................................................................... 23
I. Loptimisation combinatoire ......................................................................................................... 23
II. Mthodes exactes .......................................................................................................................... 24
II.1 Mthode de Branch & Bound ................................................................................................ 24
II.1.1 Principe .......................................................................................................................... 24
II.1.2 Fonctionnement ............................................................................................................. 24
III. Mthodes approches ................................................................................................................ 27
III.1 Le cas 1BP ............................................................................................................................. 27
III.1.1 Stratgie Next Fit (N.F) .............................................................................................. 27
III.1.2 Stratgie First Fit (F.F) ............................................................................................... 28
III.1.3 Stratgie Best-Fit (B.F) ................................................................................................. 29
III.1.4 Stratgie Worst-Fit (W.F) .............................................................................................. 29
III.2 Le cas 2BP ............................................................................................................................. 30
4
III.2.1 Mthode en une phase ................................................................................................... 30
III.2.2 Mthodes en deux phases .............................................................................................. 32
IV. Mtaheuristiques : Algorithmes Gntiques.............................................................................. 33
IV.1 Principe et droulement........................................................................................................ 33
IV.2 Codage ................................................................................................................................... 34
IV.3 Cration de la population initiale .......................................................................................... 34
IV.4 Evaluation des individus ........................................................................................................ 34
IV.5 Slection ................................................................................................................................ 35
IV.6 Reproduction ......................................................................................................................... 36
IV.6.1 Croisement ..................................................................................................................... 36
IV.6.2 Mutation ........................................................................................................................ 37
IV.7 Schma rcapitulatif .............................................................................................................. 38
Chapitre III : Application de lAlgorithme Gntique aux problmes de Bin - Packing ...................... 39
I. Application au problme de Sac dos une dimension ......................................................... 40
I.1 Algorithme gntique ............................................................................................................ 40
I.1.1 Codage ........................................................................................................................... 40
I.1.2 Slection ........................................................................................................................ 41
I.1.3 Croisement ..................................................................................................................... 41
I.1.4 Mutation ........................................................................................................................ 42
I.2 Plate forme ............................................................................................................................ 42
I.2.1 Les tapes de lexcution ............................................................................................... 43
I.2.2 Exemple dexcution ..................................................................................................... 45
I.3 Brunch&Bound ...................................................................................................................... 45
II. Application au problme de Bin Packing une dimension ........................................................ 48
II.1 Plat forme .............................................................................................................................. 49
II.2 Exemple dexcution : ........................................................................................................... 50
Conclusion gnrale .............................................................................................................................. 51
5
Introduction Gnrale
Le secteur industriel est frquemment confront des problmes de dcoupe de
matires premires. Dans lintrt de rduire les cots et impact
environnemental, lobjectif est de minimiser la quantit de matriaux perdue
dans les chutes. Dans le secteur de transport, le dveloppement des activits logistiques
provoque la multiplication de problmes de conditionnement. La rsolution de ces problmes
est un enjeu conomique trs important pour de nombreuses entreprises.
Les problmes de dcoupage de matriaux et de placement sont des problmes classiques de
la littrature, ce sont des gnralisations du problme classique connu sous le
nom de Bin-Packing . Ces problmes consistent placer le maximum
dobjets possible dans un conteneur de taille fixe, de telle manire que les
objets ne se chevauchent pas et quils ne dpassent pas la taille du conteneur.
Ces problme de Bin Packing font partie des problmes combinatoire les plus tudis, ils
peuvent tre en une, deux ou trois dimensions suivants les caractristiques des objets ranger.
Notre travail, qui sinscrit dans le cadre dun mmoire de fin dtude de la licence Calcul
Scientifique et Application, et qui a t effectu au sein de la facult des Sciences et
Technique de Fs (FSTF), a pour objectif : La ralisation de deux applications dont la
premire permet de dterminer les objets quil faut mettre dans un seul bin de manire
maximiser sa valeur totale sans dpasser le poids maximal de ce dernier, alors que la
deuxime application permet de donner un rangement conomique dun ensemble dobjets
dans plusieurs bins
Ce mmoire est organis comme suit : dans le premier chapitre, nous tudions ces problmes
en utilisant la programmation par contraintes, ceci consiste dabord proposer une
modlisation des problmes par la dtermination de lensemble des variables du problme, de
leurs domaines et les diffrentes contraintes qui les lient. Dans le deuxime chapitre, nous
proposons quelques mthodes de rsolutions qui consistent trouver la solution optimale et
nous dfinissons aussi des heuristiques qui permettent de dterminer une solution efficace en
un temps raisonnable. Alors que dans le troisime chapitre nous nous intressons raliser
nos applications qui permettent de donner une solution dun problme de Bin Packing une
dimension.
6
Chapitre I : Problme de Bin-Packing
Le problme de Bin-Packing relve de la recherche oprationnelle et de loptimisation
combinatoire. Il sagit de trouver le rangement le plus conomique possible pour un ensemble
dobjets dans des boites dites bins . Ce problme a fait lobjet depuis plusieurs annes
dune attention croissante de plusieurs chercheurs, car il a de nombreuses applications dans le
domaine industriel, informatique et mme de ldition.
Le problme classique se dfinit en une dimension, mais il existe de nombreuses variantes en
deux et trois dimensions.
En effet, les problmes de Bin Packing se distinguent en trois types :
- Bin Packing une dimension, o les objets sont caractriss par une seule mesure
comme la hauteur, la largeur ou le poids, quil faut ranger sur un axe de taille fixe.
On peut citer comme exemple de ces problmes le rangement de fichiers sur un
support informatique, la dcoupe de cbles, le remplissage de camions ou de
containers avec comme seule contrainte le poids ou le volume des articles.
- Bin Packing deux dimensions o il faut ranger les objets sur une surface limite,
tels que la dcoupe de matire premire (bois, verre, acier, etc.), le placement de botes
sur une palette (sans superposition de botes), le placement dans un entrept (sans
superposition de botes), placement des articles dans un journal.
- Bin Packing trois dimensions o les objets sont rangs dans un espace de volume
fixe comme le rangement d'objets dans des botes, un entrept, des camions, etc. (avec
superposition de botes, de palette, etc.)
Les problmes de type Bin Packing ont t abords dans la littrature ds les
annes 1950, essentiellement sur des problmes une dimension, mais comme
il a fait lobjet depuis plusieurs annes dune attention croissante de beaucoup
de chercheurs, il existe actuellement un bon nombre darticles traitant ces
problmes en deux dimensions. Dans le cas du problme trois dimensions, il
7
constitue un nouveau champ de recherche auquel les chercheurs commencent sintresser de
plus en plus.
I. Classification du problme
Il existe plusieurs variantes pour le problme de Bin-Packing, que ce soit de type bin-packing
une dimension, deux dimensions ou trois dimensions, et chaque variante prsente ses
propres spcifits telle que : Lorientation des objets, le nombre de dimensions, le type de
tches, le nombre de bins, les caractristiques des objets, etc.
Dyckhoff et Finke ont propos une typologie qui permet dorganiser les problmes de Bin-
Packing en tenant compte de quatre caractristiques principales :
1- le nombre de dimensions du problme ;
2- le type de tche : tous les objets et une slection de bins, ou bien une slection dobjets et
tous les bins ;
3- les caractristiques des bins : 1 seul bin, des bins de tailles identiques, ou bien des bins de
tailles diffrentes ;
4- les caractristiques des objets : objets identiques, peu dobjets de formes diffrentes,
plusieurs objets de formes diffrentes ou bien des objets de formes relativement
identiques.
II. Bin Packing une dimension (1BP)
Le problme de Bin Packing une dimension est lun des problmes classiques de
loptimisation combinatoire, il consiste placer un ensemble dobjets caractriss par une
seule variable (hauteur, largeur, poids, ou autre) dans un ensemble de boites appeles bins .
Lobjectif de ce rangement peut varier dun problme un autre. En effet, on peut distinguer
le rangement qui consiste minimiser le nombre total de bins utiliss et en respectant la taille
maximale de chaque bin, et le rangement qui consiste mettre certains lments de
lensemble des objets dans un seul bin, de faon maximiser la fonction objectif du problme
tudi, comme la valeur du sac sil sagit dun problme de Sac--dos. Nous notons que le
problme de sac dos constitue lun de ses applications les plus usuels. Nanmoins, plusieurs
autres applications existent dans la littrature.
8
II.1 Exemples dapplication du problme de Bin Packing une dimension
II.1.1 Sauvegarde de fichiers dans des supports informatiques
Je souhaite sauvegarder le contenu de mon disque dur sur des CD-Rom de 700 Mo. Chaque
dossier a une taille donne, et je ne souhaite pas dcouper les dossiers. Comme il ne me reste
plus beaucoup de CD, je cherche le minimum de disques que je peux utiliser. Notez bien que
dans cette version du problme, je ne cherche pas regrouper spcialement des fichiers par
genre. J'ai un problme de bin packing rsoudre !
II.1.2 Dcoupe de bois
Un menuisier a reu une commande dun ensemble dtagres de tailles diffrentes. Dans le
but de rpondre cette commande au moindre cot, le menuisier voudrait utiliser le minimum
de planches possibles pour dcouper les rectangles ayant la mme largeur ncessaires pour
fabriquer les tagres. Il sagit dun problme de Bin-Packing une dimension.
II.1.3 Organisation dune fte
Jai une fte organiser, et je dois inviter un certain nombre de familles, chaque famille est
compose dun ou plusieurs personnes, Comme il ne me reste pas beaucoup dargents, je
cherche le minimum de tables utilis pour ce dner. Sachant quon ne peut pas sparer une
personne de sa famille.
9
II.2 Formulation mathmatique
La modlisation dun problme rel, consiste le rendre sous forme dun ensemble
dquations mathmatiques. Dans cette partie, nous prsentons la modlisation du problme
de Bin-Packing une dimension sous forme de programme mathmatique, dans la premire
partie, nous modlisons le problme dans le cas de plusieurs bins alors que la deuxime partie
sera consacre au problme dans le cas dun seul bin. Cest le cas du problme de sac dos.
La recherche du modle mathmatique dun problme revient identifier les composantes
suivantes :
1. Les variables
2. Lobjectif
3. Les contraintes
II.2.1 Bin-Packing avec plusieurs bins
Dans cette section, nous prsentons la modlisation du problme classique de Bin Packing
une seule dimension dans le cas de plusieurs bins. Pour cela, nous utilisons les notations
suivantes :
(i) Notations
Donnes :
n : le nombre dobjets ranger
: le poids de lobjet j
(ii) Contraintes
La premire contrainte que nous devons exprimer est le respect de la capacit maximale de
chaque bin, cela est donn par lingalit suivante :
10
La deuxime contrainte impose tous les objets d'tre rangs dans une bote et une seule :
Toute solution pour laquelle la famille d'quations prcdente est vrifie est dite ralisable.
(iii) Objectif
Nous rappelons que lobjectif du problme classique de Bin Packing est de minimiser le
nombre total des bins utiliss, ce qui revient minimiser la somme totale des variables y
i
.
Do la fonction objectif :
Le modle mathmatique scrit alors sous la forme suivante :
II.2.2 Bin Packing avec un seul bin
Dans cette section, nous traitons le cas particulier du problme de Bin Packing une
dimension o le nombre de bins est rduit 1. Le problme de Sac--dos est lune des
applications directes de ce type de problme ;
11
Il peut tre nonc comme suit : Etant donn plusieurs objets possdant chacun un poids et
une valeur et tant donn un poids maximum pour le sac. Quels objets faut-il mettre dans le
sac de manire maximiser la valeur totale sans dpasser le poids maximal autoris pour le
sac ?
Cela doit certainement vous faire rappeler de ces longues journes de prparation de valise,
avec cette contrainte chaque passager a le droit davoir avec lui un seul bagage cabine, dont
les dimensions maximales sont de 55 cm x 35 cm x 25 cm, avec
un poids qui ne doit pas dpasser 12 kg . La fameuse question qui
se pose chaque voyageur lors de sa prparation des bagages :
Quest-ce-que je dois prendre, si je ne doit pas dpasser les 12 Kg
?
Pour prsenter la formulation mathmatique de ce problme, nous utilisons les notations
suivantes :
(i) Notations
Donns :
P : la capacit maximal du sac
p
i
: le poids de lobjet i
w
i
: la valeur de lobjet i
Variables :
Dans ce problme il est question de dterminer quels objets faut-il mettre dans le sac, nous
allons utiliser dans ce cas une seule variable de dcision dfinie par :
(ii) Contraintes
La seule contrainte quil faut respecter dans le cas du problme de sac dos est que la somme
des poids de tous les objets dans le sac doit tre infrieure ou gale au poids maximal du sac
dos. Cest ce qui est exprim par lingalit ci-dessous.
12
(iii) Objectif
Contrairement au problme classique de Bin Packing o il est question de minimiser le
nombre de bins utiliss, le problme de sac dos a pour objectif de maximiser la valeur totale
des objets se trouvant dans le sac. Cela est traduit par la fonction objectif suivante :
Le problme mathmatique scrit donc sous la forme suivante :
III. Problme de Bin Packing deux dimensions (2BP)
Dans cette partie, nous dfinissons le problme de Bin-Packing en deux dimensions et
prsentons deux modles diffrents permettant de le modliser mathmatiquement.
III.1 Position du problme
Etant donn un ensemble dobjets rectangulaires caractriss par une hauteur et une largeur
donnes, le problme de Bin-Packing deux dimensions consiste les placer dans des boites
de tailles plus grandes appeles bins de telle sorte que les objets ne se chevauchent pas et
ne dpassent pas la taille fixe des bins. Lobjectif varie selon le problme tudi, dans
certains cas, il est question de minimiser le nombre total des bins utiliss alors que dans
dautres cas, le but est de maximiser le nombre dobjets mettre dans les bins.
13
Ce type de problme peut tre rencontr dans plusieurs applications industrielles telles que la
dcoupe de matire premire (bois, verre, aluminium) dans le but de minimiser les chutes,
dans le domaine de la logistique, on est par exemple amen minimiser le nombre de
containers ncessaires au transport de marchandise, etc.
Plusieurs types de Bin-Packing deux dimensions sont distinguer, nous citons par exemple :
Le problme de strip-packing 2SP : cest une variante trs tudie du Bin-Packing
en deux dimensions. On dispose dune liste A darticles et dun conteneur unique de
largeur W et illimit en hauteur. Lobjectif est de ranger tous les articles de A dans le
conteneur en minimisant la hauteur totale utiliser. Ce problme on le trouve rarement
dans la ralit, mais il parat parfois comme un sous-problme rsoudre pour trouver
la solution dun problme de 2BP.
Le problme de Subset Sum (la somme des sous-ensembles) : ce problme est dcrit
ainsi, tant donn un ensemble dentiers positifs S et une somme cible t, existe-t-il un
sous-ensemble de S dont la somme fait D ? Ainsi, pour chaque objet a
i
, la valeur
optimale de la fonction f(A, wj, D) est value. f(A, wi, D) reprsente la largeur
maximale infrieure ou gale D qui peut tre atteinte en plaant un ensemble
dobjets, y compris a
i
, lun ct de lautre dans un bin. Lvaluation de la fonction f
tient compte de toutes les permutations. Le problme de subset-sum nest pas,
proprement parlant, un problme de Bin-Packing mais il parat parfois comme un
sous-problme rsoudre pour obtenir des valuations par dfaut.
Le problme de knapsack (Sac--dos) : On dispose dun ensemble darticles, ayant
chacun une taille prcise, ainsi que la taille de bin. Chaque article possde en outre un
cot. Lobjectif est de ranger dans le bin (sac) un ensemble darticles qui maximise la
somme des cots associs sans dpasser la taille maximal du bin.
14
III.2 Modles Mathmatiques
Dans cette partie, nous dcrivons le modle mathmatique de quelques types de Bin-Packing
deux dimensions. Nous notons (
15
(ii) Contraintes
Dans ce problme nous disposons de plusieurs types de contraintes : Contrainte de rangement
dun objet, contrainte de disponibilit et contraintes de non-ngativit et dintgrit. Prenons
en considration tour tour chacune de ces contraintes.
- Contrainte de rangement dun objet : chaque objet de la liste doit tre rang une et une
seule fois dans le bin, on a deux possibilits : soit lobjet initialise le niveau soit il est
rang dans un niveau prcdant :
- Contrainte de disponibilit : le total des largeurs des objets misent sur chaque niveau
avec lobjet i ne doit pas dpasser la largeur disponible dans le bin :
- Contrainte de non-ngativit et dintgrit :
(iii) Objectif
Daprs la dfinition donne auparavant, lobjectif du Strip-Packing est de minimiser la
hauteur utilise dans le conteneur. La hauteur de chaque niveau est dfinie par la hauteur de
lobjet qui linitialise, si lobjet i initialise le niveau i (y
i
= 1) alors la hauteur de ce niveau est
h
i
, mais sil
ne linitialise pas (y
i
= 0) alors dans ce cas la hauteur de ce niveau sera 0. En
gnral la hauteur de chaque niveau est gale h
i.
y
i
, donc notre fonction objectif sera :
16
Le modle mathmatique scrit alors sous la forme suivante :
III.2.2 Modle de Bin-Packing
De manire formelle, les objets sont placs successivement, mais dans ce cas dans des bins de
largueur W et de hauteur H bien dfinies, en le remplissant couche par couche, formant ainsi
des niveaux tels que :
le 1
er
Objet plac dans chaque niveau est le plus haut dans ce niveau, on lappel lobjet
qui initialise le niveau.
le 1
er
niveau de chaque bin est le plus haut dans le bin, de mme ce niveau est dit le
niveau qui initialise le bin.
(i) Notation
Donns :
n : le nombre dobjets ranger
17
w
i
: la largueur de lobjet i
h
i
: la hauteur de lobjet i
W : la largeur du conteneur
Variables :
(ii) Contraintes
La premire contrainte que nous dcrivons est : chaque objet ne doit tre plac que dans un
seul niveau, ou il linitialise ou bien il est plac dans un niveau qui est dj initialis par un
autre objet. Cela est donn par la formule suivante :
La deuxime contrainte signifie que pour chaque niveau utilis on ne peut dpasser la largeur
d'un bin.
La troisime contrainte assure que chaque niveau utilis est rang exactement dans un seul bin
de mme, soit il initialise le bin ou bien il est rang dans un bin dj initialis par un autre
niveau,
18
Finalement la dernire contrainte assure que dans chaque bin utilis on ne peut dpasser la
hauteur maximal du bin.
(iii) Objectif
Lobjectif est de minimiser le nombre de bins utiliss par lutilisateur. On sait que chaque bin
est soit initialis par le niveau i ou vide, donc le nombre de bins utilis est :
Par suite, la fonction objectif sera exprime par :
Le modle mathmatique scrit sous la forme suivante :
19
III.2.3 Modle de Knapsack (Sac--dos)
Modlisation en utilisant une position relative des objets
Nous rappelons que le problme de sac--dos consiste ranger dans un seul bin, un ensemble
dobjets (ayant chacun une valeur et une taille prcise) qui maximise la somme des valeurs
associ sans chevauchement des objets les uns les autres, ni dpassement de la taille du bin,
de plus la rotation des objets est interdite.
Donnes :
n : le nombre dobjets
w
i
: la largueur de lobjet i
h
i
: la hauteur de lobjet i
: la valeur de lobjet i
W : la largueur du bin
H : la hauteur du bin
Variables :
(x
i
,y
i
) : les coordonnes du coin infrieur-gauche de lobjet i
20
(i) Contraintes
La 1
re
contrainte impose que chaque pair dobjet (i,j) slectionne est soit lun gauche de
lautre ; soit lun en dessous de lautre. Donc chaque paire dobjets ne peut sintersect dans
le rangement.
La 2
me
contrainte assure que si lobjet i est gauche de lobjet j alors on ne peut pas dpasser
la largeur du bin ;
La 2
me
contrainte assure que si lobjet i est au dessous de lobjet j alors on ne peut pas
dpasser la hauteur du bin ;
Finalement la 3
me
et la 4
me
contraintes imposent que les coordonns des objets ne peuvent
pas dpasser la taille du bin.
(ii) Objectif
Nous cherchons maximiser la valeur du sac, cest--dire rendre la somme des valeurs des
objets mis dans le sac aussi grande que possible. Nous crivons alors :
21
Le programme mathmatique scrit donc de la faon suivante :
Modlisation en utilisant la thorie des graphes :
Nous retrouvons dans la littrature une autre modlisation du problme de bin packing avec
un seul bin qui snonce comme suit : Est-il possible de placer un ensemble donn dobjets
dans un seul bin ? . Cette modlisation est base sur la thorie de graphes et a t propose
par Fekete & Schepers.
Soient deux graphe G
h
= (V, E
h
) et G
w
= (V, E
w
), avec V lensemble des sommets du graphe
dont chacun correspond un objet mis dans le bin, et E
h
(resp. E
w
) lensemble des artes du
graphe G
h
(resp. G
w
).
Les deux graphes sont construits de la faon suivante : une arte est rajoute dans G
h
(resp.
dans G
w
) entre deux sommets v
i
et v
j
si et seulement si les projections des objets a
i
et a
j
sur
laxe vertical (resp. horizontal) se chevauchent.
22
Pour quune solution associe un couple de graphes (G
h
, G
w
) soit ralisable, il suffit que les
trois conditions suivantes soient vrifies :
Dfinition
Un graphe est dit stable si et seulement sil est un graphe sans arte
Les deux premires conditions signifient que le rangement propos respecte la largeur et la
hauteur du bin quon ne doit pas dpasser, et la troisime condition signifie qu'il n'y a pas de
chevauchement entre deux objets quelconques rangs dans le bin.
23
Chapitre II : Mthodes de rsolution
Nous introduisons dans ce chapitre la dfinition dun problme doptimisation combinatoire,
nous dcrivons les diffrentes mthodes qui existent pour rsoudre ce type de problmes.
Enfin, nous prsentons une description dtaille de quelques mthodes heuristiques, exactes et
mthaheuristiques connues dans la littrature et appliques au problme Bin-Packing 1BP et
2BP.
I. Loptimisation combinatoire
Loptimisation combinatoire est une branche de la recherche oprationnelle, dans sa forme la
plus gnrale, un problme qui relve de loptimisation combinatoire scrit sous la forme
suivante :
Avec, opt signifie minimiser ou maximiser, et C un sous ensemble fini de
.
Un problme d'optimisation combinatoire (on dit aussi d'optimisation discrte) consiste
trouver dans un ensemble discret la meilleure solution ralisable (solution optimale).
Trouver une solution optimale dans un ensemble discret et fini est un problme facile en
thorie : il suffit d'essayer toutes les solutions, et de comparer leurs qualits pour voir la
meilleure. Cependant, en pratique, l'numration de toutes les solutions peut prendre trop de
temps. Or, le temps de recherche de la solution optimale est un facteur trs important et c'est
cause de lui que les problmes d'optimisation combinatoire sont rputs si difficiles. De plus,
comme l'ensemble des solutions ralisables est dfini de manire implicite, il est aussi parfois
trs difficile de trouver ne serait-ce qu'une solution ralisable.
De nombreuses mthodes de rsolution ont t dveloppes en recherche oprationnelle (RO)
et en intelligence artificielle (IA). Ces mthodes peuvent tre classes sommairement en deux
grandes catgories : les mthodes exactes (compltes) qui garantissent la compltude de la
24
rsolution et les mthodes approches (incompltes) qui perdent la compltude pour gagner
en efficacit.
Les mthodes exactes ont permis de trouver des solutions optimales pour des problmes de
taille raisonnable. Malgr les progrs raliss (notamment en matire de la programmation
linaire en nombres entiers), les mthodes exactes rencontrent gnralement des difficults
face aux applications de taille importante, le temps de calcul ncessaire pour trouver une
solution risque d'augmenter exponentiellement avec la taille du problme.
Contrairement aux mthodes approches, elles constituent une alternative trs intressante
pour traiter les problmes d'optimisation de grande taille si l'optimalit n'est pas primordiale.
En effet, ces mthodes sont utilises depuis longtemps par de nombreux praticiens.
II. Mthodes exactes
Parmi les mthodes exactes, on trouve la plupart des mthodes traditionnelles (dveloppes
depuis une trentaine d'annes) telles la mthode du Simplex quon utilise souvent pour
rsoudre des programmes linaire en nombres rels, on trouve aussi la procdure de
sparation et valuation (PSE) ou en anglais Branch & Bound qui est trs efficace dans le cas
dun programme linaire en nombres entiers.
II.1 Mthode de Branch & Bound
II.1.1 Principe
La technique du Brunch & Bound est une mthode algorithmique classique pour rsoudre
un problme doptimisation. Il sagit de rechercher une solution optimale dans un ensemble
de solutions ralisables, cest--dire quil consiste chercher la meilleure solution parmi
toutes les solutions possibles. Cette mthode repose dabord sur la sparation (brunch) de
lensemble des solutions en sous-ensembles plus petits, puis lexploration de ces solutions en
utilisant une valuation optimiste (bound) pour trouver la meilleure dentre eux.
II.1.2 Fonctionnement
La dnomination sparation et valuation (B&B) recouvre deux ides :
1. Sparation : permet dnumrer intelligemment toutes les solutions possibles, pour
dcrire cette opration il suffit de dire comment on divise un ensemble en sous-
25
ensembles. pour cela nous utilisons un arbre de recherche constitu par des nuds,
des arcs et ils sont repartis en niveaux, telle que :
chaque nud reprsente une tape de construction de la solution, ils prennent soit
1 ou 0
chaque arc reprsente les choix faits pour construire la solution
Figure I.1.2
La figure I.1.2 reprsente une partie de larbre de recherche.
Larbre de recherche commence par un seul nud de niveau 0 appel racine de larborescence
o aucune dcision na t prise, pour construire le 1
er
niveau on a deux possibilit soit que x
1
prend la valeur 1 soit 0, donc on aura deux sommets dans ce niveau, de la mme manire pour
construire le niveau 2, on rpte la mme procdure sur chacun des nouveaux nuds.
26
Figure I.1.2.2
Les nuds en rouge reprsentent un cas impossible cest--dire un cas o au moins une
contrainte nest plus vrifie, il nest donc pas ncessaire de dvelopper cette tape. Les
nuds en bleu sont des nuds o les contraintes du problme jusqu prsent sont tous
vrifies.
la fin de lalgorithme, il suffit de calculer la valeur de la fonction objectif pour chacune des
nuds feuilles, et de prendre la solution avec la plus grande valeur. Mais supposons que le
nombre de niveaux est trs grand, dans ce cas cette procdure ne sera pas trs pratique, car
plus la taille de larbre augmente plus le nombre de feuilles augmente rapidement. On parle
alors de croissance exponentielle.
Pour cela on utilise des techniques pour parcourir ce type darbre afin de diminuer la taille de
larbre et daugmenter la rapidit.
Un lment essentiel dans la mthode de B&B est le calcul de bornes, infrieures et
suprieures, de la fonction objectif.
une borne infrieure est une valeur minimum de la fonction objective. Autrement dit,
cest une valeur qui est ncessairement infrieure la valeur de la meilleure solution
X
3
=1 X
3
=1
X
1
=0 X
1
=1
X
3
=0
X
3
=1
X
3
=0
X
3
=0
X
2
=1 X
2
=0
X
2
=1
La racine
X
3
=0
X
2
=0
X
3
=1
Niveau 0
Niveau 1
Niveau 2
Niveau 3
27
possible. Dans notre cas, une solution ralisable quelconque fournit une borne
infrieure.
une borne suprieure est une valeur maximale de la fonction objective calcul en
tous point de larbre elle est gale a la somme de toutes les valeurs de tous les objets
dj mis dans le sac plus la somme des valeurs des objets restants dont on ne sait pas
encore sils seront dans le sac.
Nous allons voir maintenant lutilit de ces bornes. Supposons que la borne infrieure soit
initialise par lalgorithme vu prcdemment, et pendant la recherche chaque nud on
calcul la borne suprieur de ce nud, Si jamais, un nud donn, la valeur de la borne
suprieure est infrieure la valeur de la borne infrieure, alors il est inutile dexplorer les
nuds descendants de celui-ci. On dit quon coupe larbre de recherche.
Remarque : la valeur de la borne infrieure peut tre actualise lorsquest trouve une
solution ralisable qui possde une valeur plus grande.
III. Mthodes approches
Dans les problmes difficiles, comme le cas du problme de bin-packing, il est souvent
intressant dappliquer des heuristiques qui donnent des solutions de bonne qualit dans un
temps raisonnable.
Dans cette section, nous dcouvrons quelques heuristiques proposes pour le 1BP, elles seront
aussi utilises par la suite pour la rsolution de 2BP.
III.1 Le cas 1BP
Dans cette section, nous dcrivons quelques heuristiques proposes pour le problme de Bin
Packing une dimension (1BP). Les stratgies utilises dans le 1BP ont inspir plusieurs
approches de rsolution proposes plus tard pour des problmes de bin-packing de dimension
plus leve.
III.1.1 Stratgie Next Fit (N.F)
On ne considre quun seul bin ouvert la fois, les objets sont traits dans un ordre donn, on
range les objets successivement dans le bin ouvert tant quil y a de la place, sinon on ferme le
28
bin en cours et on ouvre un nouveau bin. Le Next Fit Decreasing (N.F.D) consiste trier les
objets par ordre dcroissant de hauteurs et appliquer la stratgie N.F pour les ranger.
N.F N.F.D
III.1.2 Stratgie First Fit (F.F)
Au dpart, on ne considre quun seul bin, on range les objets successivement dans le ce bin,
mais quand il ny a plus de place dans ce premier bin pour ranger lobjet en cours, un
deuxime bin est alors ouvert mais sans fermer le premier.
Dans une tape intermdiaire i o on dispose de k bins ouverts, un objet a
i
en cours est rang
dans le bin du plus faible numro qui peut le contenir, dans le cas o aucun bin ne peut le
contenir un nouveau bin k+1 est alors utilis sans fermer les autres.
Lordre selon lequel on traite les objets est crucial pour la qualit de la solution. Un choix
heuristique consiste trier les objets par ordre dcroissant de hauteurs, on parle dans ce cas
dheuristiques First Fit Decreasing (F.F.D).
F.F F.F.D
29
III.1.3 Stratgie Best-Fit (B.F)
Comme dans la stratgie F.F, les algorithmes B.F laissent les bins toujours ouverts.
Cependant, le choix du bin dans lequel lobjet en cours va tre plac dpend des valeurs des
gaps (hauteurs non utilises) prsentes dans les bins. Un objet a
i
est alors plac dans le bin qui
prsente le moindre gap (ie hauteurs non utilises) parmi les bins qui peuvent le contenir.
On parle de Best Fit Decreasing (B.F.D) quand il sagit de trier les objets ranger dans lordre
dcroissant de hauteurs avant de les ranger suivant une stratgie B.F.
B.F B.F.D
III.1.4 Stratgie Worst-Fit (W.F)
Cest une variante du B.F, dans laquelle lobjet en cours est plac dans le bin qui prsente le
plus grand gap. Aussi surprenant que cela puisse paratre, cette stratgie peut produire de
meilleures solutions que BF sur certaines instances. Comme toutes les autres stratgies on peut
trier les objets par ordre dcroissant avant de les ranger on dit alors quon utilise une stratgie
Worst-Fit-Decreasing(W.F.D).
W.F W.F.D
30
III.2 Le cas 2BP
Le problme de Bin Packing deux dimensions est un problme classique pour lequel
plusieurs mthodes approches ont t proposes, ces mthodes sont en gnral des
heuristiques dont la plupart ont t inspires par les stratgies utilises dans le 1BP.
On peut diviser ces heuristiques en deux principales familles.
Les algorithmes en une phase
Les algorithmes en deux phases
III.2.1 Mthode en une phase
Les algorithmes en une phase consistent ranger les objets directement dans les bins. Parmi
les algorithmes qui procdent en une phase, nous trouvons :
(i) Finite First Fit (F.F.F)
Cette mthode consiste trier les objets par ordre dcroissant par rapport leurs hauteurs.
Lobjet en cours est plac dans le niveau le plus bas du premier bin qui peut le contenir, si
aucun niveau ne peut le contenir, un nouveau niveau est cre dans le bin ou bien on ajoute un
nouveau bin.
(ii) Bottom Left
Elle consiste placer un objet dans la position la plus en bas gauche. La procdure est
ritre pour chaque objet dans un ordre donn. On place lobjet en cours dans la 1
re
position
la plus bas puis la plus gauche possible pouvant la contenir, si on ne peut trouver cette
position, dans ce cas on ajoute un nouveau bin.
(iii) Algorithmes proposs pour le Strip Packing
Un petit rappel du problme de Strip Packing :
Nous avons une collection de rectangles et un conteneur 2D illimit en hauteur, lobjectif
est de ranger ces objets dans ce conteneur tout en mincissant la hauteur utilise.
Parmi les algorithmes existants pour le problme de Strip Packing nous trouvons :
Algorithme N.F.D.H (Next Fit Decreasing - Height)
Dans lalgorithme NFDH, les rectangles sont tris selon leur hauteur de faon
dcroissante.
31
On dpose en bas gauche le premier rectangle (le plus haut) qui dtermine la hauteur
de ltage (dfinitivement fix). Puis lon dpose cot de celui-ci un autre rectangle
(qui est le plus haut rectangle parmi le reste), et lon continue jusqu ce que le
rectangle courant ne rentre plus par sa largeur. Dans ce cas, nous dposons ce
rectangle au dessus gauche de ltagre en crant un nouvel tage.
Cette opration est ritre jusqu ne plus avoir de rectangle.
Algorithme F.F.D.H (First Fit Decreasing - Height)
Le principe de FFDH est trs similaire celui de NFDH. Cependant avant de placer
le prochain rectangle sur le niveau courant, nous essayons de le placer dans le niveau
infrieur (le plus bas possible), ayant suffisamment despace pour laccueillir. Dans
FFDH, nous pouvons donc revisiter un niveau infrieur, ce qui nest pas permis dans
NFDH.
Algorithme B.F.D.H (Best Fit Decreasing - Height)
Lalgorithme BFDH agit de la mme faon que FFDH, sauf que la recherche dun
emplacement du rectangle courant se fait de faon exhaustive sur les tagres. Ainsi
lespace horizontal perdu par le placement dun rectangle est calcul pour toutes les
tagres. Le rectangle est effectivement plac dans ltagre pour laquelle cet espace
perdu est minimal. On peut ainsi logiquement sattendre ce que cet algorithme soit
plus lent que FFDH qui place les rectangles dans la premire tagre trouve.
32
III.2.2 Mthodes en deux phases
Les Mthodes en deux phases fonctionnent de la manire suivante : La premire tape (strip
packing) consiste trier les objets suivant leurs hauteurs dcroissantes (Decreasing Height) et
les placer successivement dans un conteneur de hauteur infinie, en le remplissant couche par
couche, formant ainsi des niveaux dfinis par la hauteur du plus grand objet par couche, puis
ranger ces niveaux dans les bins.
(i) Floor ceiling (F.C)
La 1
re
phase consiste placer les objets par couche suivant la stratgie BFDH avec la
modification suivante : si un objet ne tient plus sur le floor (tage) dun niveau, il peut tre
plac, dcal droite, et accroch au ceiling (plafond) du niveau, ou on ajoute un nouveau
niveau.
Dans la 2
me
phase, les niveaux sont placs dans des bins finis selon une stratgie B.F.D, ou
bien en utilisant une mthode exacte.
33
(ii) Hybrid First Fit (H.F.F)
Dans une premire phase, lalgorithme BFDH est effectu pour crer une collection de
niveaux de diffrentes hauteurs. Puis dans la 2
me
phase, ils emballent les diffrents niveaux
dans les bins. Pour la rsolution du problme 1BP de la deuxime phase (ranger les niveaux
obtenus dans des bins finis) la stratgie FFD est employe.
IV. Mtaheuristiques : Algorithmes Gntiques
Depuis une dizaine dannes, des progrs importants ont t raliss avec lapparition dune
nouvelle gnration de mthodes approches puissantes et gnrales, souvent appeles
mthaheuristiques.
Une mthaheuristique est constitue dun ensemble de concepts fondamentaux, qui permettent
daider la conception de mthodes. Parmi les mthaheuristiques les plus connues, on trouve
les algorithmes volutionnaires ou les algorithmes gntiques, les algorithmes de colonies de
fourmis,
Dans cette section, nous nous intressons aux algorithmes gntiques, o nous prsentons le
principe ainsi que les diffrentes tapes de lalgorithme.
IV.1 Principe et droulement
Le principe de lalgorithme gntique est bas sur la thorie de Darwin qui pousse les
individus les plus adapts survivre le plus longtemps pour se reproduire. Un algorithme
gntique va faire voluer une population dans le but damliorer les individus.
Le droulement dun algorithme gntique peut tre dcoup en cinq parties :
1. La cration de la population initiale.
2. Codage des individus.
3. Evaluation des individus.
4. Slection
5. La reproduction
6. Retour ltape (3) jusqu larrt de lalgorithme.
Nous allons analyser plus en dtail le principe de fonctionnement tape par tape.
34
IV.2 Codage
Le codage consiste reprsenter chaque solution du problme sous forme dun individu.
Chaque individu de la population est cod par un chromosome ou plusieurs chromosomes,
chaque chromosome comportant plusieurs gnes (le nombre de gne est gal au nombre
objets).
Il existe 3 diffrents choix de codage :
Codage binaire :
Chaque chromosome est reprsent par une chane de bits (pouvant prendre
comme valeur 0 ou 1)
Codage caractres multiples :
Chaque chromosome est reprsent par une suite numrique ou de caractres.
Codage sous forme darbre :
Ce codage en structure arborescente part dune racine, partir de laquelle peuvent
tre issus un ou plusieurs fils. Larbre se construit alors au fur et mesure, en
ajoutant des branches chaque nouvelle gnration, Un des avantages est que ce
codage peut tre utilis dans les cas o les solutions nont pas de taille finie. En
revanche, les solutions peuvent parfois tre difficiles interprter, surtout
lorsquon se retrouve avec des arbres de taille trs importante.
IV.3 Cration de la population initiale
La population initiale sera cre de manire alatoire condition que chaque individu de la
population cre soit une solution du problme. La population doit tre non homogne et
servira de base pour les gnrations futures.
IV.4 Evaluation des individus
Ltape dvaluation consiste attribuer une valeur dadaptation ou une note chaque
individu selon sa performance. Il faudrait donc crer en fonction du problme tudi une
fonction dvaluation. Cette fonction, appele Fitness , permet de dterminer la qualit de
35
la solution reprsente par chaque individu, si la valeur numrique trouve est grande alors cet
lment a plus de chance dtre choisi lor de ltape de slection, notre but tant de
rechercher les meilleurs individus de la population.
IV.5 Slection
L'oprateur de slection va permettre d'identifier les meilleurs individus de la population
gnre et ainsi d'liminer les plus mauvais.
II existe plusieurs mthodes de slection, les plus couramment utilises sont les suivantes :
Slection par roulette (wheel)
Il faut imaginer une sorte de roulette de casino sur laquelle sont placs tous les
individus de la population, la place accorde chacun des individus tant en relation
avec sa valeur dadaptation. Ensuite, la bille est lance et sarrte sur un individu.
Les meilleurs individus peuvent ainsi tre tirs plusieurs fois et les plus mauvais ne
jamais tre slectionns.
Slection par rang
Ce mode de slection choisit toujours les individus ayant les meilleures notes
dadaptation, sans laisser intervenir le hasard.
Slection par tournoi
Cette slection consiste prendre alatoirement un nombre K dindividus et
choisir le meilleur dentre eux. On rpte se processus jusqu atteindre le nombre
ncessaire dindividus reproduire.
Slection dchantillonnage
Consiste associer chaque individu un segment de longueur relative sa note,
les individus slectionns sont choisis par un ensemble de points quidistants.
Slection Uniforme
La slection se fait alatoirement, uniformment et sans intervention de la valeur
d'adaptation. Chaque individu a donc une probabilit