Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <2d_orthogonal_packing.h>
Public Member Functions | |
RoundingDualFeasibleFunction (IntegerValue max_x, IntegerValue k) | |
max_x must fit in a uint16_t and k in [0, max_x/2]. | |
IntegerValue | operator() (IntegerValue x) const |
x must be in [0, max_x]. | |
IntegerValue | LowestInverse (IntegerValue y) const |
Dual Feasible Function based on rounding. Called f_2 on [1].
The f_2^k(x)
function for an integer x in [0, C] and a parameter k
taking values in [0, C/2] is defined as:
f_2^k(x) = | floor(C / k), if k = C / 2, \ floor(x / k), if x < C / 2.
This function is a Maximal Dual Feasible Function. Ie., it satisfies:
[1] Carlier, Jacques, François Clautiaux, and Aziz Moukrim. "New reduction procedures and lower bounds for the two-dimensional bin packing problem with fixed orientation." Computers & Operations Research 34.8 (2007): 2223-2250.
Definition at line 282 of file 2d_orthogonal_packing.h.
|
inline |
max_x
must fit in a uint16_t and k
in [0, max_x/2].
Definition at line 285 of file 2d_orthogonal_packing.h.
IntegerValue operations_research::sat::RoundingDualFeasibleFunction::LowestInverse | ( | IntegerValue | y | ) | const |
Return the lowest integer y so that Dff(x) >= y. y must be in [0, Dff(max_x)].
Definition at line 150 of file 2d_orthogonal_packing.cc.
|
inline |
x
must be in [0, max_x].
Definition at line 296 of file 2d_orthogonal_packing.h.