Geometrical packing constraints
[Using integer variables and constraints]
Functions | |
void | Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel ipl=IPL_DEF) |
Post propagator for rectangle packing. | |
void | Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF) |
Post propagator for rectangle packing. | |
void | Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntPropLevel ipl=IPL_DEF) |
Post propagator for rectangle packing. | |
void | Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF) |
Post propagator for rectangle packing. |
Detailed Description
Constraints for modeling geometrical packing problems.
Function Documentation
void Gecode::nooverlap | ( | Home | home, | |
const IntVarArgs & | x, | |||
const IntArgs & | w, | |||
const IntVarArgs & | y, | |||
const IntArgs & | h, | |||
IntPropLevel | ipl = IPL_DEF | |||
) |
Post propagator for rectangle packing.
Propagate that no two rectangles as described by the coordinates x, and y, widths w, and heights h overlap.
Throws the following exceptions:
- Of type Int::ArgumentSizeMismatch if x, w, y, or h are not of the same size.
- Of type Int::OutOfLimits if w or h contain a negative number.
void Gecode::nooverlap | ( | Home | home, | |
const IntVarArgs & | x, | |||
const IntArgs & | w, | |||
const IntVarArgs & | y, | |||
const IntArgs & | h, | |||
const BoolVarArgs & | o, | |||
IntPropLevel | ipl = IPL_DEF | |||
) |
Post propagator for rectangle packing.
Propagate that no two rectangles as described by the coordinates x, and y, widths w, and heights h overlap. The rectangles can be optional, as described by the Boolean variables o.
Throws the following exceptions:
- Of type Int::ArgumentSizeMismatch if x, w, y, h, or o are not of the same size.
- Of type Int::OutOfLimits if w or h contain a negative number.
void Gecode::nooverlap | ( | Home | home, | |
const IntVarArgs & | x0, | |||
const IntVarArgs & | w, | |||
const IntVarArgs & | x1, | |||
const IntVarArgs & | y0, | |||
const IntVarArgs & | h, | |||
const IntVarArgs & | y1, | |||
IntPropLevel | ipl = IPL_DEF | |||
) |
Post propagator for rectangle packing.
Propagate that no two rectangles as described by the start coordinates x0 and y0, widths w and heights h, and end coordinates x1 and y1 overlap.
Note that the relations and are not propagated (for ). That is, additional constraints must be posted to enforce that relation.
Throws the following exceptions:
- Of type Int::ArgumentSizeMismatch if x0, x1, w, y0, y1, or h are not of the same size.
void Gecode::nooverlap | ( | Home | home, | |
const IntVarArgs & | x0, | |||
const IntVarArgs & | w, | |||
const IntVarArgs & | x1, | |||
const IntVarArgs & | y0, | |||
const IntVarArgs & | h, | |||
const IntVarArgs & | y1, | |||
const BoolVarArgs & | o, | |||
IntPropLevel | ipl = IPL_DEF | |||
) |
Post propagator for rectangle packing.
Propagate that no two rectangles as described by the start coordinates x0 and y0, widths w and heights h, and end coordinates x1 and y1 overlap. The rectangles can be optional, as described by the Boolean variables o.
Note that the relations and are not propagated (for ). That is, additional constraints must be posted to enforce that relation.
Throws the following exceptions:
- Of type Int::ArgumentSizeMismatch if x0, x1, w, y0, y1, or h are not of the same size.