[gecode-users] Weak points in Gecode
Morten Boysen
boysen at itu.dk
Tue Feb 3 22:13:59 CET 2009
Hi,
I have a somewhat odd request: I am looking for problem types that will
make Gecode perform poorly. First I will explain what we are trying to do:
Me and my thesis partner are writing a thesis about configuration, where
we are trying to do a hybrid between a configurator based on BDDs and a
solver. The reason for this is that certain types of constraints will
make a BDD perform very badly. An example of this is an Alldiff
constraint, which makes a BDD take up exponentially space. However,
other types of constraints are very well suited for BDDs and outperform
any search-based configurator, if the BDD can be build. Therefore, our
idea is to partition a problem, so the solver handles the Alldiff
constraint, whereas all other constraints are compiled into a BDD. This
BDD is then plugged into Gecode using a propagator. What we were hoping
for was to get the best of both worlds: The efficient Alldiff propagator
in Gecode, and the full inference of a BDD. However, out hybrid
configurator is having a hard time beating a purely search based
configurator, where all constraints are handled directly by Gecode.
What we therefore need, are some type of constraints that are well
suited for a BDD, but make Gecode behave in a pathological way. We have
tried knapsack constraints, binomial coefficients and we are now trying
with table constraints (also known as ad-hoc constraints). In all cases,
a pure Gecode configurator without a BDD propagator outperforms the
hybrid using a BDD (which by the way, shows how efficient Gecode is!).
Do you have any idea of any constraints that will make Gecode perform
poorly (e.g. by making it very hard for Gecode to do propagation, thus
resulting in a large search space).
Kind regards
Morten Boysen
More information about the gecode-users
mailing list