Transformation of propositional calculus statements into integer and mixed integer programs: An approach towards automatic reformulation

Abstract : A systematic procedure for transforming a set of logical statements or logical conditions imposed on a model into an Integer Linear Programming (ILP) formulation or a Mixed Integer Programming (MIP) respectively is presented. An ILP stated as a system of linear constraints involving integer variables and an objective function, provides a powerful representation of decision problems through a tightly interrelated closed system of choices. It supports direct representation of logical (Boolean or propositional calculus) expressions. Binary variables (hereafter called logical variables) are first introduced and methods of logically connecting these to other variables are then presented. Simple constraints can be combined to construct logical relationships; the methods of formulating these are also discussed. These reformulation procedures are illustrated by two examples. A scheme of implementation within an LP modelling system is outlined.

[1]  Martin Gardner More mathematical puzzles and diversions , 1961 .

[2]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[3]  J. K. Lowe,et al.  Some results and experiments in programming techniques for propositional logic , 1986, Comput. Oper. Res..

[4]  H. P. Williams,et al.  Model Building in Mathematical Programming , 1979 .

[5]  Alonzo Church,et al.  Introduction to Mathematical Logic , 1991 .

[6]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[7]  Hal Berghel,et al.  Crossword Compilation with Horn Clauses , 1987, Computer/law journal.

[8]  Nicholas Beaumont,et al.  An algorithm for disjunctive programs , 1990 .

[9]  James A. Reggia,et al.  Diagnostic Expert Systems Based on a Set Covering Model , 1983, Int. J. Man Mach. Stud..

[10]  H. P. Williams Logical problems and integer programming , 1977 .

[11]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[12]  Gautam Mitra,et al.  Analysis of mathematical programming problems prior to applying the simplex algorithm , 1975, Math. Program..

[13]  Robert Fourer,et al.  Modeling languages versus matrix generators for linear programming , 1983, TOMS.

[14]  Willard Van Orman Quine,et al.  A Way to Simplify Truth Functions , 1955 .

[15]  Jinchang Wang,et al.  Dynamic Programming, Integral Polyhedra and Horn Clause Knowledge Base , 1989, INFORMS J. Comput..

[16]  H. P. Williams Linear and integer programming applied to the propositional calculus , 1987 .

[17]  Gautam Mitra,et al.  Computer assisted mathematical programming , 1987 .

[18]  John M. Wilson Crossword Compilation Using Integer Programming , 1989, Comput. J..

[19]  Ronald R. Yager Explanatory Models in Expert Systems , 1985, Int. J. Man Mach. Stud..

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

[21]  Bruce G. Buchanan,et al.  The MYCIN Experiments of the Stanford Heuristic Programming Project , 1985 .

[22]  Alain Colmerauer,et al.  Opening the Prolog III universe , 1987 .

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

[24]  John N. Hooker,et al.  A quantitative approach to logical inference , 1988, Decis. Support Syst..

[25]  S. F. Roehrig,et al.  A pivoting approach to the solution of inference problems , 1990, Twenty-Third Annual Hawaii International Conference on System Sciences.

[26]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[27]  J. Hooker Resolution vs. cutting plane solution of inference problems: Some computational experience , 1988 .