Indexing in Modeling Languages for Mathematical Programming
Indexing structures are of fundamental importance to modeling languages for mathematical programming as a device for mathematical abstraction, and because they facilitate achieving conciseness, stability, and error-resistance. The aim of this article is to stimulate discussion of such structures, especially the two most common kinds found in algebraic style languages: sets and relations. We offer a taxonomy of set-based and relation-based indexing structures, a suite of detailed examples illustrating this taxonomy, and a number of specific principles (some arguable and some not) for incorporating indexing structures into modeling languages. We also examine four modeling languages in detail with respect to their indexing capabilities: AMPL, GAMS, LINGO, and SML. By attempting to work all of the illustrative examples in each language, we are able to reach some conclusions concerning relative expressive power, economy of notation, obedience to our principles of "good" language design, ease of data handling, and other criteria.
Volume (Year): 38 (1992)
Issue (Month): 3 (March)
|Contact details of provider:|| Postal: |
Web page: http://www.informs.org/
More information through EDIRC
When requesting a correction, please mention this item's handle: RePEc:inm:ormnsc:v:38:y:1992:i:3:p:325-344. See general information about how to correct material in RePEc.
For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: (Mirko Janc)
If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.
If references are entirely missing, you can add them using this form.
If the full references list an item that is present in RePEc, but the system did not link to it, you can help with this form.
If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your profile, as there may be some citations waiting for confirmation.
Please note that corrections may take a couple of weeks to filter through the various RePEc services.