Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <2d_orthogonal_packing.h>
Public Member Functions | |
DualFeasibleFunctionF0 (IntegerValue max_x, IntegerValue k) | |
IntegerValue | operator() (IntegerValue x) const |
x must be in [0, max_x]. | |
IntegerValue | LowestInverse (IntegerValue x) const |
If we have a container of size C
and a parameter k
taking values in [0, C/2], the Dual Feasible Function often named f_0^k(x)
is equivalent to the operation of removing all values of size less than k
, and symmetrically increasing to C
the size of the large values. It is defined as:
f_0^k(x) = | x, if k <= x <= C - k, \ 0, if x < k.
This is a Maximal DFF. See for example [1] for some discussion about it.
[1] Clautiaux, François, Cláudio Alves, and José Valério de Carvalho. "A survey of dual-feasible and superadditive functions." Annals of Operations Research 179 (2010): 317-342.
Definition at line 221 of file 2d_orthogonal_packing.h.
|
inline |
Definition at line 223 of file 2d_orthogonal_packing.h.
|
inline |
Return the lowest integer y so that Dff(x) >= y. y must be in [0, Dff(max_x)].
Definition at line 244 of file 2d_orthogonal_packing.h.
|
inline |
x
must be in [0, max_x].
Definition at line 230 of file 2d_orthogonal_packing.h.