Gecode::FlatZinc::AuxVarBrancher Class Reference
Branching on the introduced variables. More...
Classes | |
class | Choice |
Choice that only signals failure or success More... | |
Public Member Functions | |
virtual bool | status (const Space &_home) const |
Check status of brancher, return true if alternatives left. | |
virtual Choice * | choice (Space &home) |
Return choice. | |
virtual Choice * | choice (const Space &, Archive &e) |
Return choice. | |
virtual ExecStatus | commit (Space &, const Gecode::Choice &c, unsigned int) |
Perform commit for choice c. | |
virtual void | print (const Space &, const Gecode::Choice &c, unsigned int, std::ostream &o) const |
Print explanation. | |
virtual Actor * | copy (Space &home, bool share) |
Copy brancher. | |
virtual size_t | dispose (Space &) |
Delete brancher and return its size. | |
Static Public Member Functions | |
static void | post (Home home, TieBreak< IntVarBranch > int_varsel, IntValBranch int_valsel, TieBreak< IntVarBranch > bool_varsel, IntValBranch bool_valsel, SetVarBranch set_varsel, SetValBranch set_valsel, TieBreak< FloatVarBranch > float_varsel, FloatValBranch float_valsel) |
Post brancher. | |
Protected Member Functions | |
AuxVarBrancher (Home home, TieBreak< IntVarBranch > int_varsel0, IntValBranch int_valsel0, TieBreak< IntVarBranch > bool_varsel0, IntValBranch bool_valsel0, SetVarBranch set_varsel0, SetValBranch set_valsel0, TieBreak< FloatVarBranch > float_varsel0, FloatValBranch float_valsel0) | |
Construct brancher. | |
AuxVarBrancher (Space &home, bool share, AuxVarBrancher &b) | |
Copy constructor. | |
Protected Attributes | |
bool | done |
Flag whether brancher is done. | |
TieBreak< IntVarBranch > | int_varsel |
IntValBranch | int_valsel |
TieBreak< IntVarBranch > | bool_varsel |
IntValBranch | bool_valsel |
SetVarBranch | set_varsel |
SetValBranch | set_valsel |
TieBreak< FloatVarBranch > | float_varsel |
FloatValBranch | float_valsel |
Detailed Description
Branching on the introduced variables.
This brancher makes sure that when a solution is found for the model variables, all introduced variables are either assigned, or the solution can be extended to a solution of the introduced variables.
The advantage over simply branching over the introduced variables is that only one such extension will be searched for, instead of enumerating all possible (equivalent) extensions.
Definition at line 68 of file flatzinc.cpp.
Constructor & Destructor Documentation
Gecode::FlatZinc::AuxVarBrancher::AuxVarBrancher | ( | Home | home, | |
TieBreak< IntVarBranch > | int_varsel0, | |||
IntValBranch | int_valsel0, | |||
TieBreak< IntVarBranch > | bool_varsel0, | |||
IntValBranch | bool_valsel0, | |||
SetVarBranch | set_varsel0, | |||
SetValBranch | set_valsel0, | |||
TieBreak< FloatVarBranch > | float_varsel0, | |||
FloatValBranch | float_valsel0 | |||
) | [inline, protected] |
Construct brancher.
Definition at line 73 of file flatzinc.cpp.
Gecode::FlatZinc::AuxVarBrancher::AuxVarBrancher | ( | Space & | home, | |
bool | share, | |||
AuxVarBrancher & | b | |||
) | [inline, protected] |
Copy constructor.
Definition at line 99 of file flatzinc.cpp.
Member Function Documentation
virtual bool Gecode::FlatZinc::AuxVarBrancher::status | ( | const Space & | _home | ) | const [inline, virtual] |
Check status of brancher, return true if alternatives left.
Implements Gecode::Brancher.
Definition at line 136 of file flatzinc.cpp.
virtual ExecStatus Gecode::FlatZinc::AuxVarBrancher::commit | ( | Space & | , | |
const Gecode::Choice & | c, | |||
unsigned int | ||||
) | [inline, virtual] |
Perform commit for choice c.
Implements Gecode::Brancher.
Definition at line 182 of file flatzinc.cpp.
virtual void Gecode::FlatZinc::AuxVarBrancher::print | ( | const Space & | , | |
const Gecode::Choice & | c, | |||
unsigned int | , | |||
std::ostream & | o | |||
) | const [inline, virtual] |
Print explanation.
Reimplemented from Gecode::Brancher.
Definition at line 186 of file flatzinc.cpp.
static void Gecode::FlatZinc::AuxVarBrancher::post | ( | Home | home, | |
TieBreak< IntVarBranch > | int_varsel, | |||
IntValBranch | int_valsel, | |||
TieBreak< IntVarBranch > | bool_varsel, | |||
IntValBranch | bool_valsel, | |||
SetVarBranch | set_varsel, | |||
SetValBranch | set_valsel, | |||
TieBreak< FloatVarBranch > | float_varsel, | |||
FloatValBranch | float_valsel | |||
) | [inline, static] |
Post brancher.
Definition at line 198 of file flatzinc.cpp.
virtual size_t Gecode::FlatZinc::AuxVarBrancher::dispose | ( | Space & | ) | [inline, virtual] |
Delete brancher and return its size.
Reimplemented from Gecode::Actor.
Definition at line 225 of file flatzinc.cpp.
Member Data Documentation
bool Gecode::FlatZinc::AuxVarBrancher::done [protected] |
Flag whether brancher is done.
Definition at line 71 of file flatzinc.cpp.
Definition at line 121 of file flatzinc.cpp.
Definition at line 122 of file flatzinc.cpp.
Definition at line 123 of file flatzinc.cpp.
Definition at line 124 of file flatzinc.cpp.
Definition at line 126 of file flatzinc.cpp.
Definition at line 127 of file flatzinc.cpp.
Definition at line 130 of file flatzinc.cpp.
Definition at line 131 of file flatzinc.cpp.
The documentation for this class was generated from the following file:
- gecode/flatzinc/flatzinc.cpp (Revision: 14463)