Generated on Sat Feb 7 2015 02:01:42 for Gecode by doxygen 1.8.9.1
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. More...
 
virtual Choicechoice (Space &home)
 Return choice. More...
 
virtual Choicechoice (const Space &, Archive &e)
 Return choice. More...
 
virtual ExecStatus commit (Space &, const Gecode::Choice &c, unsigned int)
 Perform commit for choice c. More...
 
virtual void print (const Space &, const Gecode::Choice &c, unsigned int, std::ostream &o) const
 Print explanation. More...
 
virtual Actorcopy (Space &home, bool share)
 Copy brancher. More...
 
virtual size_t dispose (Space &)
 Delete brancher and return its size. More...
 
- Public Member Functions inherited from Gecode::Brancher
unsigned int id (void) const
 Return unsigned brancher id. More...
 
virtual NGLngl (Space &home, const Choice &c, unsigned int a) const
 Create no-good literal for choice c and alternative a. More...
 
- Public Member Functions inherited from Gecode::Actor

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. More...
 
- Static Public Member Functions inherited from Gecode::Actor
static void * operator new (size_t s, Space &home)
 Allocate memory from space. More...
 
static void operator delete (void *p, Space &home)
 No-op for exceptions. More...
 

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. More...
 
 AuxVarBrancher (Space &home, bool share, AuxVarBrancher &b)
 Copy constructor. More...
 
- Protected Member Functions inherited from Gecode::Brancher
 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...
 
TieBreak< IntVarBranchint_varsel
 
IntValBranch int_valsel
 
TieBreak< IntVarBranchbool_varsel
 
IntValBranch bool_valsel
 
SetVarBranch set_varsel
 
SetValBranch set_valsel
 
TieBreak< FloatVarBranchfloat_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 
)
inlineprotected

Construct brancher.

Definition at line 73 of file flatzinc.cpp.

Gecode::FlatZinc::AuxVarBrancher::AuxVarBrancher ( Space home,
bool  share,
AuxVarBrancher b 
)
inlineprotected

Copy constructor.

Definition at line 99 of file flatzinc.cpp.

Member Function Documentation

virtual bool Gecode::FlatZinc::AuxVarBrancher::status ( const Space _home) const
inlinevirtual

Check status of brancher, return true if alternatives left.

Implements Gecode::Brancher.

Definition at line 136 of file flatzinc.cpp.

virtual Choice* Gecode::FlatZinc::AuxVarBrancher::choice ( Space home)
inlinevirtual

Return choice.

Implements Gecode::Brancher.

Definition at line 155 of file flatzinc.cpp.

virtual Choice* Gecode::FlatZinc::AuxVarBrancher::choice ( const Space ,
Archive e 
)
inlinevirtual

Return choice.

Implements Gecode::Brancher.

Definition at line 177 of file flatzinc.cpp.

virtual ExecStatus Gecode::FlatZinc::AuxVarBrancher::commit ( Space ,
const Gecode::Choice c,
unsigned int   
)
inlinevirtual

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
inlinevirtual

Print explanation.

Reimplemented from Gecode::Brancher.

Definition at line 186 of file flatzinc.cpp.

virtual Actor* Gecode::FlatZinc::AuxVarBrancher::copy ( Space home,
bool  share 
)
inlinevirtual

Copy brancher.

Implements Gecode::Actor.

Definition at line 194 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 
)
inlinestatic

Post brancher.

Definition at line 198 of file flatzinc.cpp.

virtual size_t Gecode::FlatZinc::AuxVarBrancher::dispose ( Space )
inlinevirtual

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.

TieBreak<IntVarBranch> Gecode::FlatZinc::AuxVarBrancher::int_varsel
protected

Definition at line 121 of file flatzinc.cpp.

IntValBranch Gecode::FlatZinc::AuxVarBrancher::int_valsel
protected

Definition at line 122 of file flatzinc.cpp.

TieBreak<IntVarBranch> Gecode::FlatZinc::AuxVarBrancher::bool_varsel
protected

Definition at line 123 of file flatzinc.cpp.

IntValBranch Gecode::FlatZinc::AuxVarBrancher::bool_valsel
protected

Definition at line 124 of file flatzinc.cpp.

SetVarBranch Gecode::FlatZinc::AuxVarBrancher::set_varsel
protected

Definition at line 126 of file flatzinc.cpp.

SetValBranch Gecode::FlatZinc::AuxVarBrancher::set_valsel
protected

Definition at line 127 of file flatzinc.cpp.

TieBreak<FloatVarBranch> Gecode::FlatZinc::AuxVarBrancher::float_varsel
protected

Definition at line 130 of file flatzinc.cpp.

FloatValBranch Gecode::FlatZinc::AuxVarBrancher::float_valsel
protected

Definition at line 131 of file flatzinc.cpp.


The documentation for this class was generated from the following file: