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. More... | |
virtual Choice * | choice (Space &home) |
Return choice. More... | |
virtual Choice * | choice (const Space &, Archive &e) |
Return choice. More... | |
virtual ExecStatus | commit (Space &, const Gecode::Choice &c, unsigned int) |
Perform commit for choice c. More... | |
virtual Actor * | copy (Space &home, bool share) |
Copy brancher. More... | |
virtual size_t | dispose (Space &) |
Delete brancher and return its size. More... | |
![]() | |
unsigned int | id (void) const |
Return unsigned brancher id. More... | |
Static Public Member Functions | |
static void | post (Home home) |
Post brancher. More... | |
Protected Member Functions | |
AuxVarBrancher (Home home) | |
Construct brancher. More... | |
AuxVarBrancher (Space &home, bool share, AuxVarBrancher &b) | |
Copy constructor. More... | |
![]() | |
Brancher (Home home) | |
Constructor for creation. More... | |
Brancher (Space &home, bool share, Brancher &b) | |
Constructor for cloning b. More... | |
Protected Attributes | |
bool | done |
Flag whether brancher is done. More... | |
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 66 of file flatzinc.cpp.
|
inlineprotected |
Construct brancher.
Definition at line 71 of file flatzinc.cpp.
|
inlineprotected |
Copy constructor.
Definition at line 73 of file flatzinc.cpp.
|
inlinevirtual |
Check status of brancher, return true if alternatives left.
Implements Gecode::Brancher.
Definition at line 98 of file flatzinc.cpp.
|
inlinevirtual |
Perform commit for choice c.
Implements Gecode::Brancher.
Definition at line 144 of file flatzinc.cpp.
|
inlinestatic |
Post brancher.
Definition at line 152 of file flatzinc.cpp.
|
inlinevirtual |
Delete brancher and return its size.
Reimplemented from Gecode::Actor.
Definition at line 156 of file flatzinc.cpp.
|
protected |
Flag whether brancher is done.
Definition at line 69 of file flatzinc.cpp.