[gecode-users] Unexpected propagation/search behaviour

Lars Otten ottenl at student.chalmers.se
Wed Feb 8 19:03:46 CET 2006


Ok, I have spent some more time on this issue and came up with the following:

Instead of posting one 'global' propagator which repeatedly checks all array
entries, I have implemented the equivalent individual propagators for each
of the individual variables. These constraints are derived from
UnaryPropagator<IntView,PC_INT_VAL> and, for their respective variable, post
the appropriate new 'child constraints' upon value assignment (due to
PC_INT_VAL).

(I have thus traded a constant number of propagators with linear running
time against a linear number of propagators with constant running time, so
performance-wise that should be OK)

Furthermore I can now rule out potential flaws in my logic about remembering
which variables have been processed before, since this logic is gone and
Gecode logic is used instead.

Unfortunately this didn't help: in contrast to the previous version, where I
keep reposting the said child constraints, no solution is found for several
minutes (where I cancel the program as my computer is out of memory), just
as in the old version with 'memory' to avoid reposting.

So I'm again running out of ideas... :-P I guess I will leave it at that for
now.

/Lars




More information about the gecode-users mailing list