Modifying the simplex algorithm to a constraint solver
Constraint Logic Programming (CLP) tries to unify the best from Logic Programming and Constraint Satisfaction. However, implementors of languages of the CLP class such as the CLP (R) must solve some unique problems such as constraint backtracking and devising an incremental constraint solver. This paper describes how the Simplex algorithm was adapted to serve as a constraint solver in a prototype CLP (R) system. The algorithm can handle equations as well as inequalities. The Simplex algorithm can be incrementalized easily by dividing it into invariant preserving steps. Constraint backtracking can be implemented efficiently by changing slack variable types.
Unable to display preview. Download preview PDF.
- /Bazaraa77/.Bazaraa M.S. & Jarvis J.J: Linear Programming and Network Flows, John Wiley & Sons 1977.Google Scholar
- /Gab84/.Gabriel J. & Lindholm T. & Lusk E.L. & Overbeek R.A: Tutorial on the Warren Abstract Machine for Computational Logic, Tech. Rep. ANL-84-84, Argonne National Lab., Argonne, Illinois.Google Scholar
- /Heest83/.Heesterman A.R.G: Matrices and Simplex Algorithms, D. Reidel Publishing Company 1983, Holland.Google Scholar
- /Jaakola90/.Jaakola J: Rajoitelogiikkaohjelmoinnin toteutus (Implementation of Constraint Logic Programming), Department of Computer Science, University of Helsinki, 1990. In Finnish.Google Scholar
- /JaffLass87/.Jaffar J. & Lassez J-L: Constraint Logic Programming, Proceedings of the 14th ACM POPL Conference, Munich, January 1987.Google Scholar
- /JaffMich87/.Jaffar J. & Michaylov S: Methodology and Implementation of a CLP System, Proceedings of the 4th International Conference on Logic Programming, Melbourne, 1987.Google Scholar
- /Schrij87/.Schrijver A: Theory of Linear and Integer Programming, John Wiley & Sons Ltd. 1987, Great Britain.Google Scholar
- /Warren83/.Warren D.H.D: An Abstract Prolog Instruction Set, Technical Note 309, SRI International, 1983.Google Scholar