[gecode-users] BAB, constrain() and redundant cost constraints
Guido Tack
tack at ps.uni-sb.de
Sat Apr 14 21:43:45 CEST 2007
Hi!
Peter Tiedemann wrote:
> This seems to be done by for example posting a linear constraint to
> enforce a better a cost on the next solution. My question is simply
> this: Isnt it true that these added constraints will accumulate
> instead of replacing each other ( which is possible since each should
> be tighter than the previous)?
In principle, this could happen, because you can post arbitrary
propagators in the "constrain" function.
> Ie, you start by adding ax < 10, then find a solution with cost 9, and
> add ax < 9, but leaving the propagator for ax < 10 alive. I realize
> this will only add up to at most the number of variables propagators,
> but i just want to make sure i am not missing something here :)
You usually work around this problem by adding another variable (say
"y") to your model, adding the constraint "ax < y" to your model, and
then just adding constraints "y < 10", "y<9" and so on during branch
and bound. These constraints are not represented as propagators, but
just immediately shrink the variable's domain.
I think this model fits for most objective functions, but I would be
very interested in an application where you can't avoid posting more
and more real propagators during branch and bound.
Cheers,
Guido
More information about the gecode-users
mailing list