The progressive party problem: Integer linear programming and constraint programming compared
Many discrete optimization problems can be formulated as either integer linear programming problems or constraint satisfaction problems. Although ILP methods appear to be more powerful, sometimes constraint programming can solve these problems more quickly. This paper describes a problem in which the difference in performance between the two approaches was particularly marked, since a solution could not be found using ILP.
The problem arose in the context of organising a “progressive party” at a yachting rally. Some yachts were to be designated hosts; the crews of the remaining yachts would then visit the hosts for six successive half-hour periods. A guest crew could not revisit the same host, and two guest crews could not meet more than once. Additional constraints were imposed by the capacities of the host yachts and the crew sizes of the guests.
Integer linear programming formulations which included all the constraints resulted in very large models, and despite trying several different strategies, all attempts to find a solution failed. Constraint programming was tried instead and solved the problem very quickly, with a little manual assistance. Reasons for the success of constraint programming in this problem are identified and discussed.
Unable to display preview. Download preview PDF.
- 1.H. Beringer and B. De Backer. Combinatorial Problem Solving in Constraint Logic Programming with Cooperating Solvers. In C. Beierle and L. Plumer, editors, Logic Programming: Formal Methods and Practical Applications, chapter 8, pages 245–272. Elsevier Science B.V., 1995.Google Scholar
- 2.M. Dincbas, H. Simonis, and P. van Hentenryck. Solving a Cutting-Stock problem in constraint logic programming. In R. Kowalski and K. Brown, editors, Logic Programming, pages 42–58. 1988.Google Scholar
- 4.J.-F. Puget. On the Satisfiability of Symmetrical Constrained Satisfaction Problems. In Proceedings of ISMIS'93, 1993.Google Scholar
- 5.J.-F. Puget. A C++ Implementation of CLP. In Proceedings of SPICIS94 (Singapore International Conference on Intelligent Systems), 1994.Google Scholar
- 6.J.-F. Puget and B. De Backer. Comparing Constraint Programming and MILP. In APMOD'95, 1995.Google Scholar
- 7.P. van Hentenryck and J.-P. Carillon. Generality versus Specificity: an Experience with AI and OR techniques. In Proceedings of AAAI-88, volume 2, pages 660–664, 1988.Google Scholar
- 8.H. P. Williams. The elimination of integer variables. JORS, 43:387–393, 1992.Google Scholar