Example: Colored matrix example. More...
Related Symbols | |
(Note that these are not member symbols.) | |
int | main (int argc, char *argv[]) |
Main-function. |
Instance specification | |
const ColoredMatrixOptions & | opt |
Options for model. | |
const int | height |
Height of matrix. | |
const int | width |
Width of matrix. | |
const int | colors |
Number of colors to use. |
Constraint description constructors. | |
These functions implement constructors for descriptions of constraints as extensional specifications. | |
DFA | same_or_0_dfa (int colors) |
TupleSet | same_or_0_tuple_set (int colors) |
DFA | distinct_except_0_dfa (int colors) |
DFA | no_monochrome_rectangle_dfa (int colors) |
IntSetArgs | distinct_except_0_counts (int colors, int size) |
DFA | not_all_equal_dfa (int colors) |
Additional Inherited Members | |
Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > > | |
ScriptBase (const Options &opt) | |
Constructor. | |
ScriptBase (ScriptBase &e) | |
Constructor used for cloning. | |
virtual void | compare (const Space &home, std::ostream &os) const |
Compare with s. | |
Public Member Functions inherited from Gecode::Driver::IgnoreStepOption< BaseSpace > | |
IgnoreStepOption (const Options &) | |
Constructor. | |
IgnoreStepOption (BaseSpace &e) | |
Constructor used for cloning. | |
Static Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > > | |
static std::ostream & | select_ostream (const char *sn, std::ofstream &ofs) |
Choose output stream according to sn. | |
static void | run (const Options &opt, Script *s=NULL) |
Example: Colored matrix example.
An n by m matrix is to be filled with k colors. It is a valid colored matrix iff the corners of each rectangle do not have the same color.
An example 5 by 4 matrix with three colors:
Definition at line 164 of file colored-matrix.cpp.
anonymous enum |
Search modes.
Enumerator | |
---|---|
SEARCH_DFS | Find solution. |
SEARCH_BAB | Find optimal solution. |
Definition at line 314 of file colored-matrix.cpp.
anonymous enum |
SYmmetry breaking variants.
Enumerator | |
---|---|
SYMMETRY_NONE | No symmetry breaking. |
SYMMETRY_MATRIX | Order rows and columns of matrix. |
SYMMETRY_VALUES | Order value occurences. |
Definition at line 319 of file colored-matrix.cpp.
anonymous enum |
Model variants.
Enumerator | |
---|---|
MODEL_CORNERS | Use model on corner combinations. |
MODEL_ROWS | Use model on pairs of rows. |
MODEL_COLUMNS | Use model on pairs of columns. |
Definition at line 325 of file colored-matrix.cpp.
anonymous enum |
Not all equal variants.
Definition at line 331 of file colored-matrix.cpp.
anonymous enum |
Same or 0 variants.
Enumerator | |
---|---|
SAME_OR_0_REIFIED | Use reification for same or 0. |
SAME_OR_0_DFA | Use dfa for same or 0. |
SAME_OR_0_TUPLE_SET | Use tuple set for same or 0. |
Definition at line 340 of file colored-matrix.cpp.
anonymous enum |
Distinct except 0 variants.
Enumerator | |
---|---|
DISTINCT_EXCEPT_0_REIFIED | Use reification for distinct except 0. |
DISTINCT_EXCEPT_0_DFA | Use dfa for distinct except 0. |
DISTINCT_EXCEPT_0_COUNT | Use count for distinct except 0. |
Definition at line 346 of file colored-matrix.cpp.
anonymous enum |
No monochrome rectangle versions.
Enumerator | |
---|---|
NO_MONOCHROME_DECOMPOSITION | Use decomposition for no monochrome rectangle. |
NO_MONOCHROME_DFA | Use dfa for no monochrome rectangle. |
Definition at line 352 of file colored-matrix.cpp.
|
inline |
Actual model.
Definition at line 359 of file colored-matrix.cpp.
|
inline |
Constructor for cloning s.
Definition at line 444 of file colored-matrix.cpp.
Return variable that is zero if a and b differ, or equal to their value if they agree.
Definition at line 186 of file colored-matrix.cpp.
|
inlineprotected |
Post constraint that all values in v different from 0 are distinct.
Definition at line 217 of file colored-matrix.cpp.
|
inlineprotected |
Post constraint that not all variables in v are equal.
Definition at line 243 of file colored-matrix.cpp.
|
inlineprotected |
Post constraint using same_or_0 and distinct_except_0 that enforces rows/columns v1 and v2 to have no monochrome rectangle.
Definition at line 287 of file colored-matrix.cpp.
|
inlinevirtual |
Return cost.
Definition at line 423 of file colored-matrix.cpp.
|
inlinevirtual |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< IntMinimizeSpace > >.
Definition at line 429 of file colored-matrix.cpp.
|
inlinevirtual |
Copy during cloning.
Definition at line 452 of file colored-matrix.cpp.
|
Return DFA for the same_or_0 constraint.
Constraint models the expression
|
Return tuple set for the same_or_0 constraint.
Constraint models the expression
|
Return DFA for the no monochrome rectangle constraint.
|
Return counts for using a global cardninality constraint for the distinct exept 0 constraint.
|
Main-function.
Definition at line 535 of file colored-matrix.cpp.
|
protected |
Options for model.
Definition at line 169 of file colored-matrix.cpp.
|
protected |
Height of matrix.
Definition at line 170 of file colored-matrix.cpp.
|
protected |
Width of matrix.
Definition at line 171 of file colored-matrix.cpp.
|
protected |
Number of colors to use.
Definition at line 172 of file colored-matrix.cpp.
|
protected |
Array for matrix variables.
Definition at line 179 of file colored-matrix.cpp.
|
protected |
Maximum color used.
Definition at line 181 of file colored-matrix.cpp.