next up previous contents
Next: Search Modelling Up: Modelling Language Previous: Modelling Language   Contents

Problem Modelling

In mathematical modelling languages, a problem is represented as a list of equations with each unknown entity appearing as a variable. As a mathematical modelling language, AMPL(##Fourer93 ##Fourer93) models problem as equations and inequalities. Expressions in AMPL are therefore expressed using traditional algebraic notations. Such expressions provide excellent support for modelling a special class of combinatorial problems like maximizing profit, because naturally this is how these problems are described in the first place. Another pleasing feature of AMPL is the separation of model and data. This feature enables the same model to be applied to other instance of problem without modifying. The only drawback of AMPL is the awkwardness associated with modelling a certain class of problems. A good example is the map colouring problem. In AMPL the model uses to represent countries and colours. Obviously, it is an awkward and unnatural way to model the map colouring problem.

Such modelling problem is overcome by introducing higher-level.

ESRA(##flener01esratrep ##flener01esratrep), (##hnich01highlevel ##hnich01highlevel), (##flener01towards ##flener01towards) is a modelling language created based on OPL. It is both a subset and a superset of OPL, because some of ESRA's syntax are higher-level and more expressive than OPL, while the rest is just identical to those of OPL. ESRA only offers problem modelling ability, this makes ESRA a dedicated problem modelling language. ESRA's limited ability has forced the language to translate all the expressions to OPL code to be useful. The expressiveness of ESRA is obtained by supporting more advanced data structures like sequence, bags and sets. When translating these data structures to OPL, the data structures are simply rephrased as another lower level data structure with several imposed constraints. Strictly speaking, ESRA merely functions as a translator, translating from one syntax to another.


next up previous contents
Next: Search Modelling Up: Modelling Language Previous: Modelling Language   Contents
Virginia Lee 2002-11-11