## Extending an algebraic modeling language to support constraint programming (2001)

### Cached

### Download Links

- [iems.northwestern.edu]
- [iems.nwu.edu]
- [iems.northwestern.edu]
- [users.iems.northwestern.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | INFORMS Journal on Computing |

Citations: | 8 - 3 self |

### BibTeX

@ARTICLE{Fourer01extendingan,

author = {Robert Fourer and David M. Gay},

title = {Extending an algebraic modeling language to support constraint programming},

journal = {INFORMS Journal on Computing},

year = {2001},

pages = {2002}

}

### OpenURL

### Abstract

Abstract. Although algebraic modeling languages are widely used in linear and nonlinear programming applications, their use for combinatorial or discrete optimization has largely been limited to developing integer linear programming models for solution by general-purpose branch-and-bound procedures. Yet much of a modeling language’s underlying structure for expressing integer programs is equally useful for describing more general combinatorial optimization constructs. Constraint programming solvers offer an alternative approach to solving combinatorial optimization problems, in which natural combinatorial constructs are addressed directly within the solution procedure. Hence the growing popularity of constraint programming motivates a variety of extensions to algebraic modeling languages for the purpose of describing combinatorial problems and conveying them to solvers. We examine some of these language extensions along with the significant changes in solver interface design that they require. In particular, we describe how several useful combinatorial features have been added to the AMPL modeling language and how AMPL’s general-purpose solver interface has been adapted accordingly. As an illustration of a solver connection, we provide examples from an AMPL driver for ILOG Solver. This work has been supported in part by Bell Laboratories and by grants DMI94-14487

### Citations

362 |
AMPL: A Modeling Language for
- Fourer, Gay, et al.
- 1993
(Show Context)
Citation Context ...count concludes (in Section 8) with brief discussions of the di#culties involved in other likely extensions. We illustrate our ideas by reference to a simplified driver for the AMPL modeling language =-=[5, 6]-=- that we have implemented via ILOG's Concert Technology C++ interface [14] to solve constraint programs using ILOG Solver [18]. We employ examples of AMPL declarations and Concert code to make our poi... |

344 |
Programming with Constraints: An Introduction
- Marriott, Stuckey
- 1997
(Show Context)
Citation Context ...f combinatorial objective and constraint types. Solvers that could satisfy this need were in fact under development, but independently, as the focus of what came to be known as constraint programming =-=[21, 26]-=-. Like branch-and-bound, constraint programming solvers were based on a tree search, but using domain reduction procedures rather than LP subproblem bounds to prune the tree to manageable size. Their ... |

295 |
Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation
- Griewank
- 2000
(Show Context)
Citation Context ...inting to operands or arguments, indicating particular variables or constants (at leaf nodes), and holding intermediate information required for computation of derivatives by automatic di#erentiation =-=[10, 11]-=-. A separate array contains a pointer to the root node of each constraint expression tree. For our simplified ASL data structure, details are again provided in Tables 2--1 and 2--2. For e#ciency in ha... |

204 |
The OPL Optimization Programming Language
- Hentenryck
- 1999
(Show Context)
Citation Context ...ing languages, notably C++ and Java. Most recently, the compatibility of constraint programming solvers with algebraic modeling language expressions has been demonstrated by the OPL modeling language =-=[27]-=-, which, through the associated OPL Studio software [17], supports both ILOG's CPLEX [15] for linear and integer programming and its Solver [18] for constraint programming. In addition to language ext... |

170 | Numerica : A Modeling Language for Global Optimization
- Hentenryck, Michel, et al.
- 1997
(Show Context)
Citation Context ...e valued more for their power as specialized development languages; indeed one algebraic modeling language for global optimization, Helios, has been implemented by essentially a translation to Prolog =-=[22]-=-. At the same time, creators of commercial constraint programming solvers have devised procedural interfaces based on more general and object-oriented programming languages, notably C++ and Java. Most... |

139 | On automatic differentiation
- Griewank
- 1989
(Show Context)
Citation Context ...rely on the differentiability of constraint and objective functions, the data structure must also facilitate concurrent computation of derivatives by efficient techniques of automatic differentiation =-=[10, 11]-=-. In the case of AMPL, the expression tree is represented in the nl-file by a Polish prefix notation, and in the ASL data structure as a directed acyclic graph that is conceptually identical to the tr... |

78 |
A Language and a Program for Stating and Solving Combinatorial Problems
- Lauriere, L
- 1978
(Show Context)
Citation Context ...sarily in conflict with the needs of discrete optimization. Indeed the concept of a modeling language for combinatorial problems appeared as early as the 1970s as the central idea of Lauriere's ALICE =-=[20]-=-: . . . the computer receives as data not only numerical values of some parameters but also and mainly the formal descriptive statement of distinct problems belonging to a rather large area. Many of t... |

28 | Hooking your solver to AMPL
- Gay
- 1997
(Show Context)
Citation Context ...e more widespread application of algebraic modeling languages in constraint programming. Although AMPL and ILOG Solver are proprietary, complete source code for the AMPL-to-solver interface libraries =-=[8]-=- and driver routines described herein is publicly available from netlib. # Over a dozen other AMPL drivers are provided at netlib and have been used extensively over the past decade. We use CP as an a... |

23 |
The Art of Prolog. Second edition
- Sterling, Shapiro
- 1994
(Show Context)
Citation Context ...eneral operators and structures valuable in modeling discrete optimization problems. Constraint programming solvers were initially integrated within modeling environments based on the Prolog language =-=[21, 25]-=-. Prolog could be viewed as a straightforward declarative means of expressing various problems of logical inference, much as the algebraic modeling languages were a straightforward declarative means f... |

20 |
Tight cooperation and its application in piecewise linear optimization
- Refalo
- 1999
(Show Context)
Citation Context ... each piecewise-linear term by a variable y[i,j] subject to a structure constraint y[i,j] = > Trans[i,j]. Constraints of this kind have been shown to admit highly e#ective domain reduction procedures =-=[24]-=-. Second, there may be a tradeo# between making a modeling concept easy to state and making the corresponding structure constraint easy to detect. The design philosophy of AMPL has been to favor natur... |

16 | More AD of Nonlinear AMPL Models: Computing Hessian Information and Exploiting Partial Separability
- Gay
- 1996
(Show Context)
Citation Context ...rward recursive "walk" of its tree [8]. The developer of a driver can choose among several ASL evaluation routines that provide di#erent amounts and formats of first and second derivative in=-=formation [9]-=-. For any particular problem, the ASL routines for function and derivative evaluation are likely to be slower than compiled C or Fortran routines that have been hand-coded or that have been automatica... |

15 |
On automatic dierentiation
- Griewank
- 1989
(Show Context)
Citation Context ...inting to operands or arguments, indicating particular variables or constants (at leaf nodes), and holding intermediate information required for computation of derivatives by automatic di#erentiation =-=[10, 11]-=-. A separate array contains a pointer to the root node of each constraint expression tree. For our simplified ASL data structure, details are again provided in Tables 2--1 and 2--2. For e#ciency in ha... |

14 | Constraint Programming - Hooker, “Logic - 2002 |

11 | Extending a general-purpose algebraic modeling language to combinatorial optimization: A logic programming approach
- Fourer
- 1998
(Show Context)
Citation Context ...alness of a modeling language to a variety of discrete problem types. Other kinds of extensions specifically motivated by constraint programming were proposed by Coullard and Fourer [3] and by Fourer =-=[4]-=-. Hurlimann's LPL [13] augmented the standard algebraic language features by implementing a variety of logical and counting operators useful to combinatorial problems, with the option of conversion to... |

11 |
Algebraic languages for mathematical programming
- Kuip
- 1993
(Show Context)
Citation Context ...ts DMI94-14487 and DMI98-00077 to Northwestern University. 1. Introduction Algebraic modeling languages have become a standard tool in the development of linear and nonlinear programming applications =-=[19]-=-, but they have had much less influence in the area of combinatorial or discrete optimization. Their one contribution in that area has been to help analysts develop integer linear programming models f... |

10 | Automatic Differentiation of Nonlinear AMPL Models
- Gay
- 1991
(Show Context)
Citation Context ...an compiled C or Fortran routines that have been hand-coded or that have been automatically generated from an nlfile by use of the nlc utility [8], but the difference is only a moderate linear factor =-=[7]-=-. The convenience and reliability of expressing nonlinear functions by means of 6sa modeling language and performing evaluations via expression trees are almost always sufficient to outweigh any drawb... |

6 | New Constructs for the Description of Combinatorial Optimization Problems in Algebraic Modeling Languages
- FOURER, BISSCHOP
- 1996
(Show Context)
Citation Context ...describing combinatorial constraints. Integer-valued variables also have a natural role in various combinatorial problems. An extension to permit set-valued variables was shown by Bisschop and Fourer =-=[1]-=- to extend the naturalness of a modeling language to a variety of discrete problem types. Other kinds of extensions specifically motivated by constraint programming were proposed by Coullard and Foure... |

6 |
Mathematical Modeling and Optimization - An Essay for the Design of Computer-based Modeling Tools
- Hurlimann
- 1999
(Show Context)
Citation Context ...language to a variety of discrete problem types. Other kinds of extensions specifically motivated by constraint programming were proposed by Coullard and Fourer [3] and by Fourer [4]. Hurlimann's LPL =-=[13]-=- augmented the standard algebraic language features by implementing a variety of logical and counting operators useful to combinatorial problems, with the option of conversion to equivalent integer pr... |

6 |
Sequencing and batching for two classes of jobs with deadlines and setup times
- Woodruff, Spearman
- 1992
(Show Context)
Citation Context ... variable. A notation of this kind can be found, for example, in the use of terms such as H #(i) , where #(i) is a variable for each i, in the scheduling formulations employed by Woodru# and Spearman =-=[28]-=-. The usefulness of variable-in-subscript formulations is not limited to this simple case, moreover. The objective function in [28] includes a term C(K #(i-1) , K #(i) ) that indexes the setup-cost ta... |

1 |
Algebraic, Logical and Network Representations in the Design of Software for Combinatorial Optimization
- Coullard, Fourer
- 1996
(Show Context)
Citation Context ...o extend the naturalness of a modeling language to a variety of discrete problem types. Other kinds of extensions specifically motivated by constraint programming were proposed by Coullard and Fourer =-=[3]-=- and by Fourer [4]. Hurlimann's LPL [13] augmented the standard algebraic language features by implementing a variety of logical and counting operators useful to combinatorial problems, with the optio... |

1 |
Automatic Di#erentiation of Nonlinear AMPL Models
- Gay
- 1991
(Show Context)
Citation Context ... be slower than compiled C or Fortran routines that have been hand-coded or that have been automatically generated by use of AMPL's nlc utility [8], but the di#erence is only a moderate linear factor =-=[7]-=-. The convenience and reliability of expressing nonlinear functions by means of a modeling language and performing evaluations via expression trees are almost always su#cient to outweigh any drawbacks... |

1 | Hybrid Optimizers 1.1 User's Guide and Reference - ILOG, ILOG - 2001 |

1 |
Mathematical Modeling and Optimization: An Essayfor the Design of Computer-Based Modeling Tools
- Hürlimann
- 1999
(Show Context)
Citation Context ...ng language to a variety of discrete problem types. Other kinds of extensions specifically motivated by constraint programming were proposed by Coullard and Fourer [3] and Fourer [4]. Hürlimann’s LPL =-=[12]-=- augmented the standard features of an algebraic language by implementing a variety of logical and counting operators useful to combinatorial 1sproblems, with the option of automatic conversion to equ... |