37namespace Gecode {
namespace FlatZinc {
51 if (!
x[i].assigned()) {
58 if (!
y[i].assigned()) {
70 int p=c.pos();
int n=c.val();
83 unsigned int b)
const {
86 int p=c.pos();
int n=c.val();
98 std::ostream& o)
const {
101 int p=c.pos();
int n=c.val();
122 if (home.
failed())
return;
struct Gecode::@603::NNF::@65::@66 b
For binary nodes (and, or, eqv)
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
int size(void) const
Return size of array (number of elements)
Passing Boolean variables.
Choice for performing commit
virtual void archive(Archive &e) const
Archive into e.
ViewArray< Int::BoolView > y
Boolean views to branch on.
ViewArray< Int::IntView > x
Integer views to branch on.
virtual bool status(const Space &home) const
Check status of brancher, return true if alternatives left.
ValSelCommitBase< Int::BoolView, int > * yvsc
Boolean value selection and commit object.
virtual void print(const Space &home, const Choice &c, unsigned int b, std::ostream &o) const
Print branch for choice c and alternative b.
virtual NGL * ngl(Space &home, const Choice &c, unsigned int b) const
Create no-good literal for choice c and alternative b.
virtual ExecStatus commit(Space &home, const Choice &c, unsigned int b)
Perform commit for choice c and alternative b.
ValSelCommitBase< Int::IntView, int > * xvsc
Integer value selection and commit object.
virtual const Choice * choice(Space &home)=0
Return choice.
int start
Unassigned views start here (might be in x or y)
static void post(Home home, ViewArray< Int::IntView > x, ViewArray< Int::BoolView > y, Merit &m, ValSelCommitBase< Int::IntView, int > *xvsc, ValSelCommitBase< Int::BoolView, int > *yvsc)
Post brancher.
Which integer or Boolean variable to select for branching.
void expand(Home home, const IntVarArgs &x, const BoolVarArgs &y)
Expand AFC, action, and CHB.
Select select(void) const
Return selection strategy.
@ SEL_ACTION_SIZE_MAX
With largest action divided by domain size.
@ SEL_CHB_SIZE_MAX
With largest CHB Q-score divided by domain size.
@ SEL_ACTION_MAX
With highest action.
@ SEL_AFC_MAX
With largest accumulated failure count.
@ SEL_CHB_MAX
With highest CHB Q-score.
@ SEL_AFC_SIZE_MAX
With largest accumulated failure count divided by domain size.
Select by maximal AFC over size.
Select by maximal Action over size.
Select by maximal Action.
Select by maximal CHB over size.
Choice storing position and value
virtual void archive(Archive &e) const
Archive into e.
Home class for posting propagators
bool failed(void) const
Check whether corresponding space is failed.
Which values to select for branching first.
Passing integer variables.
No-good literal recorded during search.
Base class for value selection and commit.
int size(void) const
Return size of array (number of elements)
bool me_failed(ModEvent me)
Check whether modification event me is failed.
BoolValBranch i2b(const IntValBranch &ivb)
Map respective integer value selection to Boolean value selection.
void branch(Home home, const IntVarArgs &x, const BoolVarArgs &y, IntBoolVarBranch vars, IntValBranch vals)
Branch function for integer and Boolean variables.
ValSelCommitBase< IntView, int > * valselcommit(Space &home, const IntValBranch &ivb)
Return value and commit for integer views.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar y
@ ES_OK
Execution is okay.
@ ES_FAILED
Execution has resulted in failure.
Post propagator for SetVar x
#define GECODE_NEVER
Assert that this command is never executed.