## 5.41. bin_packing

Origin
Constraint

$\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }\left(\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi },\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }\right)$

Arguments
 $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }$ $\mathrm{\pi \pi \pi }$ $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }$
Restrictions
 $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }\beta ₯0$ $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi }$
Purpose

Given several items of the collection $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }$ (each of them having a specific weight), and different bins of a fixed capacity, assign each item to a bin so that the total weight of the items in each bin does not exceed $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }$.

Example

The $\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }$ constraint holds since the sum of the height of items that are assigned to bins 1 and 3 is respectively equal to 3 and 5. The previous quantities are both less than or equal to the maximum $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }$ 5. FigureΒ 5.41.1 shows the solution associated with the example.

Typical
 $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }>$$\mathrm{\pi \pi \pi ‘\pi \pi \pi }$ $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }\beta €$$\mathrm{\pi \pi \pi }$ $|\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }|>1$ $\mathrm{\pi \pi \pi \pi \pi }$$\left(\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }.\mathrm{\pi \pi \pi }\right)>1$ $\mathrm{\pi \pi \pi \pi \pi }$
Symmetries
• $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }$ can be increased.

• Items of $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }$ are permutable.

• can be decreased to any value $\beta ₯0$.

• All occurrences of two distinct values of $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }.\mathrm{\pi \pi \pi }$ can be swapped; all occurrences of a value of $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }.\mathrm{\pi \pi \pi }$ can be renamed to any unused value.

Remark

Note the difference with the classical bin-packing problem [MartelloToth90] where one wants to find solutions that minimise the number of bins. In our case each item may be assigned only to specific bins (i.e.,Β the different values of the bin variable) and the goal is to find a feasible solution. This constraint can be seen as a special case of the $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi \pi \pi }$ constraintΒ [AggounBeldiceanu93], where all task durations are equal to 1.

InΒ [Shaw04] the $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }$ parameter of the $\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }$ constraint is replaced by a collection of domain variables representing the load of each bin (i.e.,Β the sum of the weights of the items assigned to a bin). This allows representing problems where a minimum level has to be reached in each bin.

CoffmanΒ and al. give inΒ [CoffmanGareyJohnson84] the worst case bounds of different list algorithms for the bin packing problem (i.e.,Β given a positive integer $\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }$ and a list $L$ of integer sizes , what is the smallest integer $m$ such that there is a partition $L={L}_{1}\beta ͺ{L}_{2}\beta ͺ...\beta ͺ{L}_{m}$ satisfying for all $j\beta \left[1,m\right]$?).

Algorithm

Initial filtering algorithms are described inΒ [MullerHannemannStilleWeihe03a], [MullerHannemannStilleWeihe03b], [MullerHannemannStilleWeihe03c], [MullerHannemannStilleWeihe03d], [Shaw04]. More recently, linear continuous relaxations based on the graph associated with the dynamic programming approach for knapsack by TrickΒ [Trick03], and on the more compact model introduced by CarvalhoΒ [Carvalho99], [Carvalho02] are presented inΒ [CambazardSullivan10].

Systems

pack in Choco.

generalisation: $\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }_\mathrm{\pi \pi \pi \pi }$Β (fixed overall capacity replaced by non-fixed capacity), $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi \pi \pi }$Β (task of $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi }$ 1 replaced by task of given $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi }$), Β ($\mathrm{\pi \pi \pi \pi }$ of $\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi }$ 1 replaced by $\mathrm{\pi \pi \pi \pi \pi \pi }$ of size 1 with a $\mathrm{\pi \pi \pi \pi \pi \pi }$), $\mathrm{\pi \pi \pi \pi \pi ‘\pi \pi }_\mathrm{\pi \pi \pi }$Β (negative contribution also allowed, fixed capacity replaced by a set of variables).

Keywords
Arc input(s)

$\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }$ $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }$

Arc generator
$\mathrm{\pi \pi  \pi \pi ·\pi \pi Ά\pi }$$\beta ¦\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi \pi \pi }\left(\mathrm{\pi \pi \pi \pi \pi }\mathtt{1},\mathrm{\pi \pi \pi \pi \pi }\mathtt{2}\right)$

Arc arity
Arc constraint(s)
$\mathrm{\pi \pi \pi \pi \pi }\mathtt{1}.\mathrm{\pi \pi \pi }=\mathrm{\pi \pi \pi \pi \pi }\mathtt{2}.\mathrm{\pi \pi \pi }$
Graph class
 $\beta ’$$\mathrm{\pi °\pi ²\pi \pi ²\pi »\pi Έ\pi ²}$ $\beta ’$$\mathrm{\pi ±\pi Έ\pi Ώ\pi °\pi \pi \pi Έ\pi \pi ΄}$ $\beta ’$$\mathrm{\pi ½\pi Ύ}_\mathrm{\pi »\pi Ύ\pi Ύ\pi Ώ}$

Sets

Constraint(s) on sets
$\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi }$$\left(\mathrm{\pi \pi \pi \pi \pi \pi \pi \pi \pi },\beta €,\mathrm{\pi ²\pi °\pi Ώ\pi °\pi ²\pi Έ\pi \pi }\right)$
Graph model

We enforce the $\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi }$ constraint on the weight of the items that are assigned to the same bin.

PartsΒ (A) andΒ (B) of FigureΒ 5.41.2 respectively show the initial and final graph associated with the Example slot. Each connected component of the final graph corresponds to the items that are all assigned to the same bin.

Automaton

FigureΒ 5.41.3 depicts the automaton associated with the $\mathrm{\pi \pi \pi }_\mathrm{\pi \pi \pi \pi \pi \pi \pi }$ constraint. To each item of the collection $\mathrm{\pi Έ\pi \pi ΄\pi Ό\pi }$ corresponds a signature variable ${\mathrm{\pi }}_{i}$ that is equal to 1.