Linear Equation Solving for Constraint Logic Programming

Linear constraint solving in constraint logic programming requires in cremental checks of the satis ability of a system of equations and inequali ties Experience has shown that Gauss Jordan elimination and the simplex method are e cient enough to be of practical value in the implementation of CLP languages based on linear arithmetic constraints However these algorithms must be modi ed to accommodate the special demands of CLP execution First they must be applied incrementally Sec ondly they must co exist with backtracking An added consideration is that constraints containing new variables be brought into the constraint set e ciently Finally the recognition of any variable for which a unique value has been determined may be necessary for programs with non linear constraints In light of the special nature of the CLP constraint solving problem it is dif cult to make a clear theoretical argument in favor of one constraint solver over another Empirical comparisons are in order so that the nature of the typical CLP program can be taken into account The purpose of this paper is to describe and empirically compare a number of direct linear arithmetic constraint solvers for CLP focusing on programs which contain only equa tions or inequalities which immediately become ground