For efficiency reasons, neighbourhoods in local search algorithms are often shrunk by only considering moves modifying variables that actually contribute to the overall penalty. These are known as conflicting variables. This is a well-known technique for speeding up search. State-of-the-art solutions to, e.g., the progressive party problem exploit this with great success. We propose a way of automatically and incrementally measuring the conflict of a variable in a local search model and apply this to the set variables of models expressed in existential second-order logic extended with counting (∃SOL). Furthermore, we show that this measure is lower-bounded by an intuitive conflict measure, and upper-bounded by the penalty of the model. We also demonstrate the usefulness of the approach by replacing a builtin global constraint by a modelled ∃SOL version thereof, while still obtaining competitive results. This is especially attractive when a particular (global) constraint is not built in.
[1]
Sally C. Brailsford,et al.
The Progressive Party Problem: Integer Linear Programming and Constraint Programming Compared
,
1995,
CP.
[2]
Neil Immerman,et al.
Descriptive Complexity
,
1999,
Graduate Texts in Computer Science.
[3]
Pascal Van Hentenryck,et al.
A constraint-based architecture for local search
,
2002,
OOPSLA '02.
[4]
Liyuan Liu,et al.
Constraint-Based Combinators for Local Search
,
2004,
CP.
[5]
Jin-Kao Hao,et al.
A General Approach for Constraint Solving by Local Search
,
2004,
J. Math. Model. Algorithms.
[6]
Pierre Flener,et al.
Incremental Algorithms for Local Search from Existential Second-Order Logic
,
2005,
CP.
[7]
Pierre Flener,et al.
Set Variables and Local Search
,
2005,
CPAIOR.