Logic, Optimization and Constraint Programming J

Logic, Optimization and Constraint Programming J

Logic, Optimization and Constraint Programming J. N. Hooker • Graduate School of Industrial Administration Carnegie Mellon University, Pittsburgh, PA 15213, USA [email protected] • April 2000; Revised November 2001 Because of their complementary strengths, optimization and constraint programming can be profitably merged. Their integration has been the subject of increasing commercial and research activity. This paper summarizes and contrasts the characteristics of the two fields; in particular, how they use logical inference in different ways, and how these ways can be combined. It sketches the intellectual background for recent efforts at integration. It traces the history of logic-based methods in optimization and the development of constraint programming in artificial intelligence. It concludes with a review of recent research, with emphasis on schemes for integration, relaxation methods, and practical applications. (Optimization, Constraint programming, Logic-based methods, Artificial Intelligence) 1. Introduction Optimization and constraint programming are beginning to converge, despite their very different origins. Optimization is primarily associated with mathematics and engineering, while constraint programming developed much more recently in the computer science and artificial intelligence communities. The two fields evolved more or less independently until a very few years ago. Yet they have much in common and are applied to many of the same problems. Both have enjoyed considerable commercial success. Most importantly for present purposes, they have complementary strengths, and the last few years have seen growing efforts to combine them. Constraint programming, for example, offers a more flexible modeling framework than mathematical programming. It not only permits more succinct models, but the models allow one to exploit problem structure and direct the search. It relies on such logic-based methods 1 as domain reduction and constraint propagation to accelerate the search. Conversely, opti- mization brings to the table a number of specialized techniques for highly structured problem classes, such as linear programming problems or matching problems. It also provides a wide range of relaxations, which are often indispensable for proving optimality. They may be based on polyhedral analysis, in which case they take the form of cutting planes, or on the solution of a dual problem, such as the Lagrangean dual. The recent interaction between optimization and constraint programming promises to change both fields. It is conceivable that portions of both will merge into a single problem-solving technology for discrete and mixed discrete/continuous problems. The aim of the present paper is to survey current activity in this area and sketch its intel- lectual background. It begins with a general summary of the characteristics of optimization and constraint programming: what they have in common, how they differ, and what each can contribute to a combined approach. It then briefly recounts developments that led up to the present state of the art. It traces the history of boolean and logic-based methods for opti- mization, as well as the evolution of logic programming to constraint logic programming and from there to the constraint programming “toolkits” of today. It concludes with a summary of some current work. Since a proper tutorial in these ideas would require a much longer paper, only a cursory explanation of key concepts is provided. A more complete treatment is provided by Hooker (2000) as well as other sources cited in the context of particular topics discussed below. The emphasis in this paper is on exact methods, because this is where most of the collaboration is now occurring. Yet optimization and constraint programming also share a strong interest in heuristic methods. Interaction between the two fields in this area is hard to characterize in general, but both are unaware of much recent research conducted by the other. This may present a second opportunity for cross-fertilization in the near future. 2. Optimization and Constraint Programming Compared Optimization and constraint programming are similar enough to make their combination possible, and yet different enough to make it profitable. 2 2.1 Two Areas of Commonality There are at least two broad areas of commonality between optimization and constraint programming. One is that both rely heavily on branching search, at least when an exact method is required and the problem is combinatorial in nature. The other is less obvious: both use logical inference methods to accelerate the search. Constraint programming uses logical inference in the form of domain reduction and constraint propagation. In optimization, logical inference takes forms that are not ordinarily recognized as such, including cutting plane algorithms and certain duality theorems. A cutting plane, for example, is a logical implication of a set of inequalities. Preprocessing algorithms for mixed integer programming can also be viewed as limited forms of domain reduction and constraint propagation. When one takes a more historical view, the commonality becomes even more visible. Boolean methods for operations research, which are based on logic processing, date from the 1950’s. Implicit enumeration methods for integer programming enjoyed only a brief moment of fame in the 1970’s but can be seen as an early form of today’s constraint propagation methods. 2.2 Two Main Differences As the names might suggest, constraint programming seeks a feasible solution, and opti- mization seeks an optimal solution. But this is a superficial distinction, as optimization is easily incorporated into the algorithms of constraint programming by gradually tightening a bound on the objective function value. The main differences between optimization and constraint programming lie elsewhere. 2.2.1 Programming versus \Programming" One key distinction between the two fields is that constraint programming formulates a problem within a programming language. The formulation generally has a declarative look, because one of the historical goals of the field is to allow one to integrate constraints into programming. Yet the modeling language can give the modeler considerable control over the search procedure. Thus the “programming” in constraint programming actually refers to computer programming, unlike the “programming” in mathematical programming, which recalls George Dantzig’s historical application of linear models to military logistics. 3 2.2.2 Constraint Propagation versus Relaxation Another distinction is that constraint programming uses logical inference in different ways than optimization uses it. It uses inference to reduce the search space directly through such techniques as domain reduction and constraint propagation. Optimization uses infer- ence (perhaps in the form of cutting planes) primarily to create better relaxations, which accelerate the search indirectly. Although optimization is not fundamentally distinguished by the fact that it optimizes, the presence of cost and profit functions (whether they occur in an objective function or constraints) has nonetheless taken the field in a different direction than constraint program- ming. Cost and profit functions tend to contain many variables, representing the many activities that can incur cost or contribute to profit. This often makes domain reduction and constraint propagation ineffective. The domain of a variable is the set of possible values it can take. Domain reduction uses restrictions on the domain of one variable in a constraint to deduce that the other variables can only take certain values, if the constraint is to be satisfied. If the constraint does not contain too many variables, this can significantly reduce domains. The smaller domains are passed to other constraints, where they are further reduced, thus implementing a form of constraint propagation. If all goes well, a combination of branching search and constraint propagation eventually reduce each variable’s domain to a single value, and a feasible solution is identified. When a constraint contains a cost or profit function of many variables, however, domain reduction is ineffective. The optimization community escapes this impasse by using relax- ation techniques, generally continuous relaxations. The community perhaps moved away from the early implicit enumeration techniques, which resemble constraint propagation, be- cause its business and engineering applications require measurement of cost and profit. The constraint satisfaction community, by contrast, developed to a large degree through consideration of problems whose constraints are binary; that is, they contain only two vari- ables each. Many combinatorial problems discussed in the artificial intelligence literature are of this sort. A standard example is the n-queens problem, which asks one to place n queens on a chessboard so that no one attacks another. Restricting the domain of one variable in a binary constraint can substantially reduce the domain of the other variable, and propagation tends to be effective. It is not surprising that domain reduction and constraint propagation 4 methods have evolved from a field that historically emphasized binary constraints. These methods can work well when there are no sums over cost or profit, and when the objective is some such criterion as a min/max or minimum makespan. It is sometimes said that constraint programming is more effective on “tightly con- strained” problems, and optimization more effective on “loosely constrained” problems.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    52 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us