Easy Modeler

Author: IBM Corporation
Centro Sviluppo Software Applicativo
RM PAC 012, v.le Oceano Pacifico 173
00144 Roma, Italy


The model algebraic formulation requires a fixed sequence of declaration sections together with constraint and objective definition. Each section is delimited by a starting and an ending Keyword, such that a model skeleton is the following:

In the Set Section the user declares the names of the sets or collections of items to be used in the model, together with one or more index(es) used to enumerate the items in the set.

In the DATA Section the user declares the name and the set relations of the data that must be provided in order to generate the model.

Internaldata Section is optional and it is mainly intended to limit the input of data from external sources whenever the same data can be computed within the EasyModeler language, thus avoiding redundancies. In this section the user declares the name of new Data which can be computed from the ones declared before using simple algebraic statements or functions.

In the Variable Section the user declares the name, type and set relations of the variables which are arguments of the optimization.

In the Constraint Section the user defines the model "constraints" and possibly the "SOS groups".

Limit Section allows the user to specify simple bounds over the model variables.

Objfunction Section allows the user to specify the Objective of the optimisation model and the optimization direction.

Model Instance

A model Instance consists of the set of files which containts all the data needed by a compiled Model Description to generate an LP/MIP/QP model ready to be optimized.

Model Description Compiler output

EasyModelerCMP command produces three output files:

filename.cThe C program source. It is user responsibility to compile and link the program to obtain an executable object.

filename.labelA binary file used by the Model Instance Interactive dialog to help the user in Model Instance data entry.

listing on stderr The compilation listing on stderr.