A logic language for combinatorial optimization

CHIP (Constraint Handling In Prolog) is a new logic programming language combining the declarative aspect of logic programming for stating search problems with the efficiency of constraint handling techniques for solving them. CHIP has been applied to many real-life problems in Operations Research and hardware design with an efficiency comparable to specific programs written in procedural languages. The main advantage of CHIP is the short development time of the programs and their great modifiability and extensibility. In this paper, we discuss the application of the finite domain part of CHIP to the solving of discrete combinatorial problems occurring in Operations Research. The basic mechanisms underlying CHIP are explained through simple examples. Solutions in CHIP of several real-life problems (e.g., cutting stock, warehouses location problems) are presented and compared with usual approaches, showing the versatility and the interest of the approach.

[1]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[2]  Pascal Van Hentenryck A Theoretical Framework for Consistency Techniques in Logic Programming , 1987, IJCAI.

[3]  J. C. Dodu,et al.  Sur le regroupement optimal des sommets dans un réseau électrique , 1969 .

[4]  Pascal Van Hentenryck,et al.  Domains in Logic Programming , 1986, AAAI.

[5]  Robert W. Floyd,et al.  Nondeterministic Algorithms , 1967, JACM.

[6]  Françoise Berthier Using CHIP to support decision making , 1988, SPLT.

[7]  J. J. McGregor Relational consistency algorithms and their application in finding subgraph and graph isomorphisms , 1979, Inf. Sci..

[8]  Solomon W. Golomb,et al.  Backtrack Programming , 1965, JACM.

[9]  Pascal Van Hentenryck,et al.  Forward Checking in Logic Programming , 1987, ICLP.

[10]  Harvey M. Salkin Letter to the Editor - On the Merit of the Generalized Origin and Restarts in Implicit Enumeration , 1970, Oper. Res..

[11]  Ugo Montanari,et al.  Networks of constraints: Fundamental properties and applications to picture processing , 1974, Inf. Sci..

[12]  Jean-Louis Laurière,et al.  A Language and a Program for Stating and Solving Combinatorial Problems , 1978, Artif. Intell..

[13]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[14]  Robert M. Haralick,et al.  Increasing Tree Search Efficiency for Constraint Satisfaction Problems , 1979, Artif. Intell..

[15]  David L. Waltz,et al.  Generating Semantic Descriptions From Drawings of Scenes With Shadows , 1972 .

[16]  Eugene C. Freuder Synthesizing constraint expressions , 1978, CACM.

[17]  Pascal Van Hentenryck,et al.  Solving the Car-Sequencing Problem in Constraint Logic Programming , 1988, ECAI.

[18]  Pascal Van Hentenryck,et al.  Applications of CHIP to industrial and engineering problems , 1988, IEA/AIE '88.

[19]  Hervé Gallaire,et al.  Logic Programming: Further Developments , 1985, SLP.

[20]  M. C. Costa Une étude pratique de découpes de panneaux de bois , 1984 .

[21]  Pascal Van Hentenryck,et al.  Generality versus Specificity: An Experience with AI and OR Techniques , 1988, AAAI.

[22]  Marek Kubale,et al.  A generalized implicit enumeration algorithm for graph coloring , 1985, CACM.

[23]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

[24]  Pascal Van Hentenryck,et al.  Solving Large Combinatorial Problems in Logic Programming , 1990, J. Log. Program..

[25]  Helmut Simonis,et al.  Extending Equation Solving and Constraint Handling in Logic Programming , 1989 .