[Gecode-bugs] New bug: Missing propagation in domain-consistent \"dom\" constraint
Gecode Bug Tracker
bugs at gecode.org
Sun Oct 16 23:13:07 CEST 2016
- Previous message: [Gecode-bugs] New bug: SHA256 of gecode-4.4.0.tar.gz changed
- Next message: [Gecode-bugs] New bug: Missing propagation in domain-consistent \"dom\" constraint
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
New bug report for Gecode from Roberto Castañeda Lozano (rcas at sics.se).
Summary: Missing propagation in domain-consistent \"dom\" constraint
Gecode version: svn trunk
Platform: Linux
Details:
Hi,
The website documentation explains that
Gecode::dom (Home home, IntVar x, int l, int m, Reify r, IntConLevel icl=ICL_DEF)
performs domain-consistent propagation. Accordingly, propagating the following:
D(x) = {1, 4}
D(y) = {0, 1}
dom(x, 2, 3, y)
should yield D(y) = {0}. However, after a propagation loop the D(y) remains {0,1}.
Here is a minimal program to reproduce the problem:
#include <gecode/int.hh>
#include <gecode/search.hh>
using namespace Gecode;
class Foo : public Space {
public:
IntVar x;
BoolVar y;
Foo(void) : x(*this, 1, 4), y(*this, 0, 1) {
IntArgs xdom;
xdom << 1 << 4;
dom(*this, x, IntSet(IntArgs(xdom)));
dom(*this, x, 2, 3, y, IPL_DOM);
}
Foo(bool share, Foo& s) : Space(share, s) {
x.update(*this, share, s.x);
y.update(*this, share, s.y);
}
virtual Space* copy(bool share) {
return new Foo(share, *this);
}
void print(void) const {
std::cout << \"x: \" << x << std::endl;
std::cout << \"y: \" << y << std::endl;
}
};
int main(int, char**) {
Foo* m = new Foo;
m->status();
m->print();
assert(m->y.assigned() && !m->y.val());
return 0;
}
Good luck :)
- Previous message: [Gecode-bugs] New bug: SHA256 of gecode-4.4.0.tar.gz changed
- Next message: [Gecode-bugs] New bug: Missing propagation in domain-consistent \"dom\" constraint
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the bugs
mailing list