Modelling Integer Programming with Logic: Language and Implementation (original) (raw)

2000, Ieice Transactions on Fundamentals of Electronics Communications and Computer Sciences

The classical algebraic modelling approach for integer programming (IP) is not suitable for some real world IP problems, since the algebraic formulations allow only for the description of mathematical relations, not logical relations. In this paper, we present a language L + for IP, in which we write logical specication of an IP problem. L + is a language based on the predicate logic, but is extended with meta predicates such as at least(m; S), where m is a non-negative integer, meaning that at least m predicates in the set S of formulas hold. The meta predicates facilitate reasoning about a model of an IP problem rigorously and logically. L + is executable in the sense that formulas in L + are mechanically translated into a set of mathematical formulas, called IP formulas, which most of existing IP solvers accept. We give a systematic method for translating formulas in L + to IP formulas. The translation is rigorously dened, veried and implemented in Mathematica 3.0. Our work follows the approach of McKinnon and Williams, and elaborated the language in that (1) it is rigorously dened, (2) transformation to IP formulas is more optimised and veried, and (3) the transformation is completely given in Mathematica 3.0 and is integrated into IP solving environment as a tool for IP.