I'm sorry for not answering to the last topic, but i seem to have problems with the mailing list, i hope this message will be seen.
Thank you for the hint with the status function, that should be what i need. I found an example in the exmaples folder and tried my little example and can not explain the results: class MyConstraint : public Space { public: MyConstraint() : Space(), x(this,1,0,150), y(this,1,0,1) { post(this, eqv((x[0] != 0), y[0])); post(this, x[0] == 0); post(this, y[0] == 1); status(); } MyConstraint(bool share, MyConstraint& cp) : Space(share, cp) { x.update(this, share, cp.x); y.update(this, share, cp.y); } virtual Space* copy(bool share) { return new MyConstraint(share, *this); } IntVarArray x; BoolVarArray y; }; int main(int args, char** argv) { MyConstraint* myC = new MyConstraint(); Search::Options so; DFS<MyConstraint> e(myC,so); // depth first search delete myC; // Constraints can be thrown away, they are copied MyConstraint* temp = e.next(); temp->status(); while(temp != NULL) // find all solutions { std::cout << temp->x << " und y= " << temp->y << std::endl; temp = e.next(); } return 0; } The intended meaning should be, x=0, y=1, if y==1 then x !=0 As a result i get: {0} und y= {1} The ssame results with branching on y (without setting it to 1) i do get 2 results {0} und y= {1} {0} und y= {0} So the first constraint is never apllied, what am i doing wrong ?!?! Tank you for the help. _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users