Arc Consistency via Linear Programming
A typical technique in integer programming for filtering variables is known as variable fixing. The optimal dual solution of the linear relaxation can be used to detect some of the 0/1 variables that must be fixed to either 0 or 1 in any solution improving the best known, but this filtering is incomplete. A complete technique is proposed in this paper for satisfaction problems with an ideal integer programming formulation. We show, in this case, that the 0/1 variables taking the same value in all solutions can be identified by solving a single linear program with twice the number of the original variables. In other words, a complete variable fixing of the 0/1 variables can be performed for a small overhead. As a result, this technique can be used to design generic arc consistency algorithms. We believe it is particularly useful to quickly prototype arc consistency algorithms for numerous polynomial constraints and demonstrate it for the family of Sequence global constraints.
KeywordsConstraint Programming Linear Programming filtering Arc consistency Reduced-cost fixing
- 11.Hooker, J.N.: Operations research methods in constraint programming (chap. 15). In: Rossi, F., van Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming. Elsevier, Amsterdam (2006)Google Scholar
- 15.Pesant, G.: CSPLib problem 067: Quasigroup completion. http://www.csplib.org/Problems/prob067
- 16.Prud’homme, C., Fages, J.-G., Lorca, X.: Choco Documentation. TASC, INRIA Rennes, LINA CNRS UMR 6241, COSLING S.A.S. (2016)Google Scholar
- 19.Régin, J.-C.: A filtering algorithm for constraints of difference in CSPs. In: AAAI, vol. 94, pp. 362–367 (1994)Google Scholar
- 23.Smith, B.: CSPLib problem 001: car sequencing. http://www.csplib.org/Problems/prob001