Sie sind auf Seite 1von 22

Modelling and Solving Environments for Mathematical Programming (MP): A Status Review

and New Directions


Author(s): B. Dominguez-Ballesteros, G. Mitra, C. Lucas, N-S Koutsoukis
Source: The Journal of the Operational Research Society, Vol. 53, No. 10, Special Issue:
Applications and Developments in Mathematical Programming (Oct., 2002), pp. 1072-1092
Published by: Palgrave Macmillan Journals on behalf of the Operational Research Society
Stable URL: http://www.jstor.org/stable/822967 .
Accessed: 23/05/2011 00:02
Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at .
http://www.jstor.org/page/info/about/policies/terms.jsp. JSTOR's Terms and Conditions of Use provides, in part, that unless
you have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you
may use content in the JSTOR archive only for your personal, non-commercial use.
Please contact the publisher regarding any further use of this work. Publisher contact information may be obtained at .
http://www.jstor.org/action/showPublisher?publisherCode=pal. .
Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed
page of such transmission.
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of
content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms
of scholarship. For more information about JSTOR, please contact support@jstor.org.

Palgrave Macmillan Journals and Operational Research Society are collaborating with JSTOR to digitize,
preserve and extend access to The Journal of the Operational Research Society.

http://www.jstor.org

Journal of the Operational Research Society (2002) 53, 1072-1092

?2002 Operational Research Society Ltd. All rights reserved. 0160-5682/02 $15.00
www.palgrave-journals.com/jors

Modelling and solving environmentsfor


mathematicalprogramming(MP): a status
review and new directions
B Dominguez-Ballesteros1,G Mitral*, C Lucas1 and N-S Koutsoukis1
'Brunel University,Uxbridge,Middlesex, UK
LanguagesandcomputingenvironmentsthatsupportMathematicalProgramming(MP)modellingcontinueto developand
evolve. Inthispaper:(i) Weaddressdeclarativeandproceduralfeaturesof modellinglanguages.(ii) Weassess developments
which couple the modelling and the solving processes, typically column generation,the branch-and-priceapproachto
IntegerProgramming(IP), andthe samplingof scenarioswithin StochasticProgramming(SP). (iii) We considerhow data
modellingandsymbolicmodellingnaturallycome togetherandareused withinthe informationvaluechain.(iv) Finally,we
investigatethe featuresof new tools, which supportprototypingof optimisationbasedDecision Support(DS) applications.
Journal of the OperationalResearchSociety (2002) 53, 1072-1092. doi:10.1057/palgrave.jors.2601361
Keywords: linear programming;planning;algebraicmodelling languages;optimisation;decision support

Introduction and background


There is a re-emergence of interest in Mathematical
Programming(MP) models for optimumDecision Support
(DS) applications.To construct such DS applicationsit is
often necessary to undertake feasibility studies, and
construct and investigate optimisation models. This
paper focuses on the tools and software environments
which supportsuch investigations.

The MP modelling process

For an understandingof how MP is appliedto industryit is


essential to recognise the differentstages in the process of
model formulation,solution and results investigations.
The different stages of the overall process as set out in
Figure 1 are explained in the following way.
Conceptualisation. Initiallythe problemowneranalysesthe
real world problem. The availableinformationis collected
and used to study the 'real' issues; these are to establishthe
content and the relevance of the given problem, and what
needs to be optimised. At this stage it is not necessary to
think aboutthe mathematicalformulationof the problemin
the form of an algebraicmodel. Instead it is necessary to
considerthe physicalproblemandthe essentialaspectswhich
must be taken into accountfor decision making.
*Correspondence:G Mitra, Centrefor the Analysis of Risk and Optimisation Modelling Applications (CARISMA),Department of Mathematical
Sciences, Brunel University,Uxbridge,Middlesex UB8 3PH, UK.
E-mail: gautam.mitra@brunel.ac.uk

Algebraicform. Subsequentlythemodellerdevelopsa mathematicalformulationof the problem.In orderto model a given


problem as a MP it is necessary to specify an objective
function to be maximised (or minimised) as well as the
algebraic constraintsin a suitable algorithmic form. This
leads to constrainedoptimisationproblems.This mathematical representationof the real problem is generally divided
intoblocks correspondingto the model subscriptsanddimensions, themodelcoefficients,themodel decisionvariables,the
constraintrelations,andthe functionto maximise(or minimise). Lucas and Mitra1propose that we move from conceptualisationto an algebraic specificationby following a
series of logical steps, which are:
Step 1. Define the subscripts and their ranges (sets and
dimensions).
Step 2. Define the data tables in terms of the sets and the
dimensions defined in Step 1.
Step 3. Define the model decision variables in terms of
the sets and the subscriptsdefined in Step 1.
Step 4. Identify the objective and specify it as an algebraic expression using the decision variables
defined in Step 3.
Step 5. Interpret the restrictions and specify these as
algebraicrelationshipsin row-wise fashion using
the decision variables defined in Step 3. The
relations are labelled using the subscripts and
sets of Step 1.
The algebraicspecificationis typically cast into a machinereadableform with the use of a modelling tool. With such a
tool modellersdescribemathematicalprogramsin a readable

BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1073
programming

and symbolic form known as the 'modeller's form'.2 An


example based on Linear Programming(LP) is shown in
Figure 2.
The model is presentedin an algebraicform using the Enotation. This notation is used to specify a linear form
correspondingto the objective function as well as one or
more linear form restrictionsand bound restrictionswhich
must be satisfied.The resultingLP is an abstractrepresentation, which must be analysed and subsequentlysolved in
order to find an optimum solution to the given decision
problem.
Machine-readableform. LP can be viewed from a different perspective:for an algorithmto process this model, a
numeric representationof individualrow and column data
must be provided.Thus, in contrastto the 'modeller'sform',
this 'algorithm'sform'2 no longer maintainsthe algebraic

Conceptualisation

Algebraic

representation, but represents the model as arrays of


numbers.
In Figure 3 all the coefficients of the constraintsmatrix,
and those of the objectivefunction,lower and upperbounds
of the variables,righthand side and left hand side constraint
values are shown explicitly. These values can then be read
by a solver, which processes it to compute the optimum
solution.
The standardmachine-readableform of LP models is
MPS,3 (Table 1) where the matrix definition is in a sparse
column-orientedformat. The MPS form of an LP is the
analogueof the assemblylanguageform of an algorithm.4It
consists of sections introducedby header lines for the different componentsin a model (name, rows, columns, right

f
Form (modeller's

form)

Ci

C2

..

Cj ..

Cn

Ul

U,

..

Uj

..

UA

.. aij..

a,,
a2,

Translation
(Matrix Generator/
Modelling Language)

b,,

a,.j. a

a,
a,l,

d2

a,
a2n

d1

,a
aia

d,

awn

dnt,

di
Machine-Readable

Form (algorithm's

amtl . . ay . .

form)
Solution

Sl
Solution

o&
Analysis

II

Figure 1 Stages in formulatingLP models (priorto the 1990s).

Find X E 9n

Figure 3

t, .. li .. I,

Matrices in a general LP (algorithm's form).

Minimise(ormaximise)
JEJ

Subjectto bi <

aix J<?di

LinearFormConstraints

jeJ

1ji <x. ji <UjJ

BoundsConstraints

Where

Cj,bi,di,l,uij

9I.
CoefficientsMatrix

Figure 2

General LP algebraic formulation (modeller's form).

Vol.53,No.10
oftheOperational
Research
1074 Journal
Society

Table 1 Machine-readableforms
Machine-ReadableForm
Standard(MPS)
Internal(AIMMS, AMPL, MPL)

hand side constraints,and bounds). However some modelling languages, such as AIMMS, AMPL, and MPL use
proprietaryformats as an alternativeto the MPS format.
These specific formatscan be createdfaster than the MPS
format,and can be generalisedto othertypes of models, like
quadraticprogrammingmodels. It is also possible to extend
the use of these specific formatsto supportothermodelling
paradigmssuch as stochastic programming(see SMPS),5
and constraintlogic programming.
Translation. To progress from the modeller'sform to the
algorithm'sform requiresa transformationprocedurecalled
Translation.2The translatorin MP languagesplays the same
role as thatof a compilerin computerlanguages.6This step
involves the analysis of the algebraic syntax in order to
explicitly generatethe coefficients of the constraintmatrix.
The translationprocess is representedin Figure4.
As in a programminglanguage compiler the algebraic
modelling language statementsare first parsed and then a
code generation process is invoked, which leads to the
creation of the matrix (model) coefficients. Over the last
two decades MP ModellingLanguageshave gained considerable acceptance as a natural tool for specifying MP
problemsin a form, which is easy to understand,and communicatebetween analysts.In this approachthe MP modelwhich take the
ling languages are used as a 'translator',2'7
'declarative' algebraic statements specifying the model,
interpretit, and generateexecutablecode. Consequently,a
modelling language is a computationaltool which connects
the modeller'sform and the algorithm'sform. It gives the
modellerthe option to representthe model in a user-friendly

form and allows him/her to focus on the problem at hand


rather than writing a translationprogram.It is useful to
contrastthis tool against a matrixgeneratorfor LP whose
sole purposeis to createthe matrixcoefficientsfor a particularmodel.This is one of the mainadvantagesof usingmodelling languages, as they are model oriented,while matrix
generatorsare solver oriented.8Modelling languages and
matrix generatorsdiffer fundamentallyin how they divide
this task of translationbetweenhumanand machine.
The form in which the model and the data are presented
determineswhich tool is used. Specific differencesbetween
modelling languages and matrix generators include the
(in)dependence of the algorithm's form; in the matrix
generator the model structureis seen as a matrix data,
whereasin the modelling languagethe model is represented
as a set of relations(equations).Formoredetailssee Fourer.2
Many LP and integerprogramming(IP) problemscannot
be stated immediatelyin a linear form; typically 'columnoriented'modelling, that is, 'extremepoints' representation
allows a modeller to capturesome complex set of rules or
requirementsof a given problemdomain-see Gilmoreand
Gomory cutting stock,9 crew scheduling,10and US Coast
Guard cutter scheduling.1 Hence declarative languages
have been extended to include proceduralfeaturesso that
these classes of models can be capturedand represented.
Solution. The solver engine encapsulatesa solution algorithm,which is capableof understandingand processingthe
matrixdatain the algorithm'sformandproduceresultswhich
are optimalor informthat the model is not solvable. Some
typical solutionalgorithmsfor LP arethe SimplexMethod,12
and the InteriorPoint Method(IPM) algorithms.13Solution
methodscontinueto be focus of ongoingresearch.14-16From
a conceptualviewpoint, the processingby a solver may be
consideredto be an inferencestep. Fromthis perspectivewe
cancallthe solverthedecisionenginewithintheentiresystem.
The use of one or anotherspecific algorithmdependson the
particularproblem under consideration.Our predominant

Minimise(ormaximise)
JEJ

Subjectto

b, <

ay ,j < d,

C
*c..

*. ui..

I
I
di

bi

lj < xj < uj

..'i

..

Figure 4 Translationfrom modeller'sform into algorithm'sform.

BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1075
programming

interests lie within LP and IP solvers, such as CPLEX,17


FortMP,18and XPRESS-MP.19However, in recent times
there has been growing interest in non-linear solvers, and
considerableinterestin applicationsof logic-based inferencing procedures.Traditionally,for the problem owner the
solver is a black box with limited control over the solution
process. However, this inaccessibility is being reduced, as
the requirements from different applications grow. The
modeller can also interactclosely with the solver by using
proceduralscriptsthat are part of the model.
Solution analysis. After processing by the solver the
solution (result) is typically stored in a solution file, and
would include the objective value (or the status of the
solution like 'unbounded' or 'infeasible'), the values of
the decision variables, and other related solution values,
such as the values of logical variablesassociatedwith each
constraint,shadow prices, and reduced costs. These items
are generally consideredto be decision data. The decisionmaker or analyst studies these decision data as inferences
made using the model. Alternatively,the decision-maker
may experimentwith differentparametersof the model or
returnto a previousstage to improvethe model formulation.

Integratingwithin the informationsystem architecture


To make optimisationwidely availableto the user community it is necessary to provide computersupportfor model
formulationand model solution. In the 1970s and 1980s
there was a major developmentof optimisationalgorithms
for efficient solving of large-scale problems. However the
developmentof tools for formulatingand investigatingMP
problemswas very limited. It is only since the early 1990s
that MP modelling and analysis tools have gone througha
rapidevolution and growth.In this way MP modelling tools
have been able to keep up with the progressiveacceptanceof
optimisation.MP models are used to find optimal solutions
to a particularproblem, as they are deployed to address
decision problems, which usually draw upon large sets of
carefully collected and accumulateddata sets. MP models
are thereforeconsideredas criticalcomponentsof an organisation's analytical InformationTechnology (IT) systems.
MP models are also used to measureand analyse performance indicators (business measures) such as cost, profit,
quality, and time.20 This practice has been addressed by
bringingtogetherMP modelling tools and databasetechnology. As a result,the use of databasetechnology has become
a main activity for MP data storageand data analysis. From
the data analysis side, these modelling environments
connected to database systems are gaining increasing acceptance as decision support tools, since the reports and
solution analysis results are put back in the same analytic
database.These are referredto as decision data.21Fromthe
data storage viewpoint a natural step of Data Modelling

is added within the process of formulating MP models


(Figure 5).
Data modelling. The modeller extracts, classifies, and
stores information related to the decision problem, in
order to use it in subsequent stages such as the (MP)
model formulation.The items of informationare analysed
and subdividedinto 'categories', which in turn provide the
sets and indices of the algebraic model. For this data
evaluation there is a need to categorise and extract the
availabledata relatedto the problem.22
Constituents. In the different stages of the optimisation
process, various constituentsundertakedifferentroles and
interactwith each other.These can be seen in Figure 6.23-25
The TechnicalExperts(modellingexperts,database experts,
solver experts, and domain experts, depending on their
expertise) have access to all system components including
the underlyingmodels, databases,and can change the solver
strategy. The different Technical Experts collaborate to
create a domain-specific application by integrating the
differenttools for the different stages of the process. The
Decision Maker(s) are the constituents that utilise the
(application) system. Typically the Decision Makers have
access to the dataand solution analysisroutinesavailablein
the database,and use the underlyingmodels and data as a
black box. These are only interestedin the solution values,
which are expressed in terms of decisions. Hereafter,they
analyse and report the results that are in the analytic
database.
Accordingly,there is a need to have integratedoptimisation tools for all the constituentsinvolved. These tools must
be capable of providing a set of featuresthat ideally allow
the differentexperts and problem owner(s) to complete the
life cycle of the LP based optimisationapplication.

Figure 5 A recentview of the process in formulatingLP models.

oftheOperational
Vol.53,No,10
1076 Journal
Research
Society

SdvingBxrt

.'?,dist .Aryt,

F
Algebraic

rW i exprt

mdiLumintl
Dmain Expert

-1
Analyhicj

Dodsiorivkm

hihnt

Figure 6 Constituentsand level of end-userinteraction.

The rest of this paper is organised as follows. We


introducerelevant features and extensions within the MP
modelling languages. The close coupling between modelling and solution tools is presentedlater on. Soon after we
set out a sequence of steps which capturethe model and
results analysis. We considerthe positioningof MP modelling within the informationsystems architecture,and finally
we discuss new directionsfor the developmentof modelling
systems, and draw some conclusions for furtherresearch.

Table 2 Classes of modelling and programminglanguages


Languagefor
linear programs

Languagefor
programming
algorithms

Algorithm'sform

Machinecode

MPS form

Assembly

Matrixgenerator

Procedural

Algebraic

Declarative

Basis
of similarity
Executable
representation
The use of
mnemonics
Grouping
of mnemonics
Resemblanceof
mathematicalnotation

Modelling features and extensions


In order to model a given problem as a mathematical
programit becomes necessaryto specify an objective function as well as the constraintsin a suitable algebraicform.
This can be achieved by using MP modelling languages,
which are designed to express the modeller'sform of the
problemin an accessible and comprehensibleformatfor the
user, while hiding the unfriendlymathematicalnotation.
Kuip4considerslanguagesthat supportLP programsand
languages for programmingalgorithmsfrom an alternative
viewpoint as shown in Table 2.
According to this comparison we consider algebraic
languagesas declarativelanguages.This is the case of many
MP languages such as CAMPS,' MPL,26LINGO,27that
restricttheirsyntaxmainlyto the algebraicsyntax.However,
othermodellinglanguageslike UIMP,28AMPL,29AIMMS,30
include
GAMS,31or the modellingfacilityof XPRESS-MP,19
procedurallanguageextensions such as If-Then-Else statementsand othercapabilities,such as the use of proceduresor
routines,similarto those found in a programminglanguage.
For example, UIMP incorporatesexplicitly in the syntax a
hierarchicaltable structureoften arising in real-life MP
models.28These additionalcharacteristicsenrich the functionalityof the algebraicnotation.Theyprovidethe abilityof
customising differentparts of the solution process such as
columngeneration,which is exploitedin applicationssuchas

the cuttingstock or crew schedulingproblems.Hiirlimann32


uses the termmodellinglanguageto describea new paradigm
of programming,namely MP modelling languages which
combinedeclarativeand algorithmicknowledge.
Taking into account these fundamentallanguage differences, it can be statedthat languagesused for mathematical
modelling belong to two distinct classes, namely Declarative Languages and Procedural Languages. In practice,

however, some of the languages have features of both


classes, as we illustratein Figure 7.
Procedurallanguages such as FORTRANand C are not
categorically MP modelling languages; nevertheless we
consider them here because they are frequentlyused to
constructmatrixgeneratorsand solutionanalysersacting as
low level alternativesto MP modelling tools.

Declarative features
Syntax of the linear form.

The algebraic models have in

general, as main components, Indices, Parameters(data),


Decision variables,Constraints,and an Objectivefunction.
The relationshipsbetween these componentsare illustrated
in Figure 8.

BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1077
programming

Modelling Language Paradigm


(HOrlimann)

Figure 7 Modelling languages classification.

That is, the indices can be used in the definitic


an of the
data tables, the variables, in the constraints, anId in the
objective function. In the same way, data tables, A
variables,
and scalars are used to compose the constraintsand the
objective function.
An aspect of the syntax of the linear fornn is the
representationof the model, which may be column--oriented,
row-oriented,or block-wise-oriented.The choice off the type
of representationdependsmainly on the type of apjplication,
the backgroundof the modeller,and the functionali
ity of the
modelling language.4In particularAMPL catersforrall three
representations.Typicalexamples of column-oriented representationproblemsare cuttingstock problems9and scheduling problems.10'11One specific case of coluimn-wise
representationis the networkstructure.
One of the most persuasivecharacteristicsof the syntaxin
the algebraicmodelling languages is the use of sulbscripted
terms (variables and parameters) and index supportineg

Used in

Figure8 Maincomponents
in an algebraicmodel.

functions to representand manipulatefamilies of objects.7


Using subscriptedterms a family of variablesis writtenby
varyingthe subindicesthroughtheirrangewithouthavingto
declare one by one all the variablesthat express the same
concept. Similarlythis is done for model coefficients.Index
supportingfunctions,following the same principle,are used
to specify the objective function and the constraints.The
objective and the constraintscharacterisethe algebraicform
of an LP. It is in the constraints section that we exploit
algebraic terminology by using not only summationsover
sets of indices, but also arithmetic expressions. The
constraintssection is usually consideredthe most important
partof the entiremodel description,as it forms the basis for
the LP matrixto be constructed.4
Sets and indices. AlgebraicMP languagesallow the use of
Indices and Sets. These are one of the most powerful
featuresof algebrawhen dealing with large-scaleproblems,
as indices and sets facilitate the classification of elements
that have a similar nature.
An index is a number,an identifier,a string of characters
or an expressionthat has a numberor string as a value. An
index-setor simply a set, is a countableand finite collection
of indices or tuple of indices. Some modelling languages
consider a set as an ordered collection of elements. This
assumption does not provoke a loss of generality, as an
unordered collection can always be represented by an
orderedone.33
Indices are typically used to representdifferenttypes of
sets. These can be, among others, Unorderedor Ordered
sets, Ordered tuples, Compound sets (sets of sets), and
Hierarchicalsets. Compound sets (sets of sets), which are
sets of pairs, triples, or longer tuples can be combinedwith
the union, intersection, difference, and general operations
allowed for simple sets. Compoundsets can be considered
as a special case of hierarchicalsets, where the arity is the

Vol.53,No.10
oftheOperational
Research
1078 Journal
Society

same for all tuples that compose the set. In hierarchicalsets


the elements can be tuples of differentarity.This type of set
supports hierarchicalstructureswith parent-childrelationships. In practice the number of levels supportedis low.
They can be representedby a tree structure(Figure9) called
the index-tree.34CurrentlyLPL,34UIMP,28and AMPL29
include hierarchicalsets, althoughthey do not exploit them
sufficiently.4
New types of index sets can be created by using the
Standard set operations, which are Union, Intersection,
Difference, CartesianProduct,Selection, and Join.
Another extension of the algebraic notation, due to the
indexing capability,is to allow recursivedefinitionof intermediate expressions, which is useful in some types of
problems such as dynamicmodels. For example:
Inventory[p, f, timeperiod] =
ProdQty+ Inventory[p, f, timeperiod:=
timeperiod- 1] - SUM(d: SendQty)
There are additionalreasons why indices are importantin
algebraicmodelling languages.A model can be viewed as a
model class, with a generic structure,that is instantiatedby
changing the index-sets. The model remains the same
whereasthe range of the indices changes for each instance.
This feature allows the modeller to use the model to
investigate different real-life situations, to communicate
the model to other modellers, to verify the model more
easily, and to concentrateon the structureof the model.

express in a declarative form. A typical flow balance


equationtakes the form:
E

(k) =

(kJ)EA

E X(i,k)+dk

where i, k,j are node indices, (k,j) define an element of the


arc set, N= {nodes}, A = {arcs}, and dk= demandk.
The firstsummationshown in the equationabove readsas
'sum over all nodes that have an arcjoined to node k'. This
is difficultto introduceas a summationcommandwithin an
algebraic language, unless a mechanism is found to represent the node and arc structureof the underlyingnetwork.
AMPL and AIMMS address this issue in the language
structure whereby the objective and constraints are not
specified by a conventionalalgebraic statement.These two
modelling languagesintroducetwo special groups of declaration, arc and node, that substitute var and subject to,
respectively,in an algebraicformulation.This extension in
the language helps formulatingthese models, since people
see network flow problems as an explicit group of nodes,
arcs, from which flow variablesand balance constraintscan
be extracted,and not the opposite as in the conventional
algebraic approach.35A comparableapproachwas developed by Zenios36using a pre-processorbetween the algebraic modelling language and the network optimiser to
capturesuch structurein the model.
Unit consistency. Bradley and Clemence37were first to
highlight the importanceof introducingunit consistency as
partof theirproposedmodelling language,EML. In this MP

Networkstructure. The networkstructurearises in models


for many real-life problems, such as transportation,assignment, and transhipmentproblems. Usually this structureis
representedas a graph(Figure 10), wherethe constraintsare
associatedwith nodes, and flows along the arcs relateto the
decision variables.
The formulationof this type of problems specifies the
amount of flow on the arcs (variables)while maintaining
flow balancebetween nodes (constraints).The flow balance
equationis compactlywrittenalgebraically,but is difficultto

Figure 10 Graphrepresentationof a network.

All-employees

Southallemployees

Leedsemployees

full-timeemployee

part-timeemployee

contractedemployee

k EN

(i,k)EA

full-timeemployee

part-timeemployee

Figure 9 Index-treeof a hierarchicalset.

contractedemployee

BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1079
programming

language they assign a type to each variable, coefficient,


constant,function,constraint,inputand outputof the model
that consists of its 'concepts', 'quantities' and 'units of
measurement'with optional scale factors.
Bisschop38points out thatone of the most frequenterrors
in modelling is the inconsistencyof measurementunits (unit
errors). Modelling languages that support unit definitions
for each model componentnot only automatethe process of
unit conversionand scaling, but also enhancereadabilityof
the model, and reduce the scope of syntax errors.34
DATA
RawMatCost

: = 3.00;
:
RawMatYield[perfume]= (3, 4);
Price[perfume,type] : = (7, 18,
6, 14);

VARIABLES
Production[perfume,type];
RawMat;

[$/lb]
[oz/lb]
[$/oz]

[oz]
[lb]

SUBJECTTO
Production= RawMatYield*RawMat[oz] = [-L [1/]
Invalidoperationsamong indices can easily be detected,as
each set in the model has an assigned unit. The system
checks automaticallythe unit of functions and constraints,
and applies unit conversionif necessary.
Another two modelling languages that have taken into
account the measurementof units are AIMMS and LPL.
LPL extends the declarationof numericalentities by indicating explicitly the units. This practice increases the reliability and the readability,relying on the compilerto check
and find syntax errors associated with unit consistency
without the user intervention.Every expression is checked
for unit imbalance before it is evaluated, and the unit
conversiontakes place as required.LPL extends the declaration of the numericalentities by introducingthe reserved
word UNIT and adding a unit expression.AIMMS provides
the ability to associate units of measurementwith model
identifiersthat assure unit consistency within expressions.
A useful aid in achieving an automated form of unit
consistency is to include a units conversion table.24 A
common errorin unit consistency is the misuse of numbers
of magnitudes,such as t and Kt, g and Kg. In these cases
either the order of magnitude is wrong or the system is
wrong.
AIMMS also offers the facility of so-called 'unit conventions', which offer a global medium to specify alternative
(scaled) units for multiple quantities,units and identifiers.
Once the user has selected a particularunit convention,
AIMMS will interpret all data transfer with an external

component (read, write, display, solve) according to the


units that are specified in the convention.The same application can then be used at different sides of the ocean by
merely selecting the appropriateconvention.
Despite the usefulness of this facility, the majority of
currentmodelling languages do not providethis feature.
Time-based modelling. Time plays an importantrole in
various real-life modelling applicationswhere models are
solved repeatedly as time passes. Typical examples are
found in the area of planning and scheduling. A large
portion of the data in time-dependentmodels originates
from the real world where quantitiesare specifiedrelativeto
some calendar.Optimisationmodels usually referto abstract
model periods, allowing the optimisation model to be
formulatedindependentof real time. This common distinction makes it essential that quantitiesassociated with real
calendartime can be convertedto quantitiesassociatedwith
model periods and vice versa.
In the modelling language AIMMS there is support for
special data types for time-basedmodelling, namely 'calendar', 'horizon', and 'timetable'. A timetable is an indexed
set, which links model periods in a planninghorizonto time
slots in a calendar.By changing the currentdata (a time
slot), an applicationcan be made to solve repeatedlywhile
moving throughcalendartime.

Proceduralfeatures
Proceduralstatements arise from the necessity to specify
certainclasses of models that cannotbe otherwise achieved
using only the declarativefeaturesof an MP language. The
stages in the optimisationprocess can benefit from procedural statements.When the language is not purely declarative, these proceduralfeatures can be used to control the
flow of the program.
Proceduralfeatures within the algebraic language.
* IF-THEN (-ELSE) expression
This is a control flow mechanism. It provides a logical
structure, and pathways specifying the execution of
expressions. It also adds clarity to the model, as the
modeller can group the constraints that only differ in
the way they are executed. It thereforealso reduces the
number of constraintsto be specified explicitly in the
model.
subjectto InventoryBalance
{p in PRODUCT,f in FACTORY,t in TIMEPERIOD}:
ProdQty[p,f,t]+ (If t = 1
then Initiallnventory[p,f]
else Inventory[p,f,prev(t)])
= Inventory[p,f,t]
+ sum {d in DEALER} SendQty[p,f,d,t];

Vol.53,No.10
Research
oftheOperational
1080 Journal
Society

In this example representingthe inventorybalance in a


supply chain problemthe use of if-then-else expression
makes it possible to write only one constraintfor all time
periods, ratherthan several constraintsfor the different
cases of the time periodt. The summationon the left hand
side of the equation is done over different elements
dependingon whethert = 1 or t %1.
* LOOP (WHILEand FOR) statements
WHILE and FOR statements are used to loop over a
group of statementstaking into account certain condition(s) that have to be true for the loop to be executed.
Proceduralfeatures outsidethe algebraic language. These
statementsare used separatelyfrom the model definition.
These featuresare importantwhen the language is used to
'process' model classes that require close coupling in the
modelling and solving steps.
* SOLVE,INCLUDE,PRINT,.. .commands
These language extensions carry out actions that relate
the model with the optimisation environment. It is
achieved through a context that permits the use of
different commands, from the specification of when to
solve the model, to the selection of the type of print out
that the analystrequires.
* FOR, WHILE, REPEAT,and IF statementsare used as
commands,which allow compactiterativeprocesses. The
utility of this featureresides in the possibility to carryout
instructions and commands related to the same model
instanceas many times as she (he) needs to execute them.
This featurefacilitatesthe use of a generic structure,as it
allows repeated optimisationof the same problem with
different data sets. Equally importantis the facility to
solve a sequence of models where a model gets as input
the output of anothermodel.
AMPL permits the inclusion of a small program (or
script) that is to be executed. Such a script allows the
above looping commands,a solve or a call to any other
script. AIMMS uses procedures for the same purpose,
where these procedurescan have argumentsas well.
Logic
CombinatorialOptimisationproblems frequentlyoccur in
real life, in cases such as crew scheduling, generalised
assignment, and timetabling. In such problems a set of
decisions with binary choices or even multiple choices
have to be made, and a set of constraintsconnecting the
decisions has to be satisfied.39
The extensive researchon these problemshas proventhat
IntegerProgramming/MixedIntegerProgramming(IP/MIP)
is a suitable approachfor formulatingand solving a wide
range of industrial problems.40However, this cannot be

assured in all circumstances.Although the transformation


needed to go fromthe problemconceptualisationinto the IP/
MIP algebraicmodel specificationcan be done by using a
reformulation procedure,41 this may become complex.
When applying such a proceduresometimes it is necessary
to introduceproblem-specificmodificationsin the formulation as well as in the solving procedure.42Therefore,for the
MP systems to performsatisfactorilyin a broaderscope of
the combinatorialoptimisationproblems,the syntax of the
MP languages and the model representationfeatures have
been extended. Solution algorithms which process these
discrete/logical formulations are also similarly extended.
Fourer42points out the principleof applicability,independence, consistency,generality,and implementabilitythat such
modelling extensions should follow. Some of the current
MP modellinglanguagesthathave consideredthis extension
in their syntax are MPL41and AMPL, and more recently
OPL.43
Some work on extending the algebraic modelling
languagesto facilitatethe formulationof such logic features
within an MP frameworkinclude the following:
(i) extensions to the algebraicmodelling languages using
logical operators,conditional operators,and counting
operators;
(ii) introductionof predicate calculus constructs, such as
and, or, at_least, at_most,all_different,which are combined with algebraicstatements;
(iii) specification of variables used as subscripts. These
extensionsavoid the use of the 0-1 variablesintroduced
to suit combinatorialconstraints.Notably AMPL has
pioneeredthis approach.
An alternativeway of representingsuch combinedalgebraic
and logical restrictions is based on the well-established
modelling approach of logic programming. Constraint
(Logic) Programming(CLP) uses first order logic, particularly propositional and predicate calculus, and seeks to
satisfy linearconstraintswithin a logic programmingframework. Some CLP typical systems are CHIP,44Prolog III,45
and ECLiPSe.46The syntax used in a CLP model representation can be similar to the problem owner's conceptualisation of the problem;a very useful featureprovidedby
these systems.
CLP often leads to a very compact representationof the
given problem, however, the solution process, which is
essentially a tree enumerationmethod differs from the IP
solution algorithms.

Optimisationmodels under uncertainty


Although Stochastic Programming (SP) was introduced
in recent times
early on by Dantzig and Mandansky,47'48
it has seen considerable interest and growth in application. In SP models two importantmodelling paradigms:

BDominguez-Ballesteros
eta/-Modelling
andsolving
environments
formathematical
1081
programming

(i) Optimisation; and (ii) Models of Randomness are


broughttogether(Figure 11).
There are data standards,such as SMPS,5which include
naturallythe time, and scenariosto capturethe randomness.
Modellinglanguagesneed to extendtheirsyntax(Figure12),
to support special structuresthat occur in this combined
modelling paradigm.49
The items of the stochastic information, which are
capturedby such syntax extensions are summarisedbelow:
(i) Stochastic class: identifies the category to which the SP
problem belongs, such as distribution-based recourse
problem, scenario-based recourse problem, and chanceconstrained problem.50 (ii) Scenario tree: for scenariobased problems, it represents the structureof the event
tree. (iii) Stages: the time horizonof the underlyingdynamic
linear program can be partitionedinto decisional stages.
(iv) Scenarios probability distribution: the (discrete)
probabilities associated with the scenarios. (v) Random
parametersprobability distributions:only requiredfor distribution-basedproblems. (vi) Scenario dimension: only
requiredfor scenario-basedproblems.(vii) Timedimension:
the index is used to describe the temporal horizon in the
underlying model needs to be uniquely identified. (viii)

Randomdata: defines and marksthe randomparametersof


the problem.
A numberof alternativemodelling and solution systems
have been proposed. These are set out in Table 3.
For not very large instances of stochastic problems it is
possible to create,using algebraicconstructs,a deterministic
equivalentproblem for the given SP problem. For realistic
cases, this is nearlyimpossible.Due to the constraintsadded
to express the dependencies between variables of different
stages the numberof constraintsgrows dramatically,and the
model is tractableonly up to a limited numberof variables
and constraints.To be able to solve such large cases it is
necessary to express the SP model compactlyand couple it
closely with the solver, which typically applies a decomposition procedure.
Coupling of modelling and solving
MP modelling and solution systems have coevolved overthe
last two decades. In the late 1970s Geoffrion51made a
Table3 Systemsfor stochasticprogramming
Researchers

System

Optimum
Allocation

SPOSL
SPInE

Kinget al
Mitraet al

SLR-IOR
STOCHGEN
SP-AMPL
MSLiP
SETSTOCH
DECIS

Kallet al
Dempsteret al
FourerR
Gassmanet al
et al
Frangniere
Infangeret al

SP Models
Modelof
Randomness
Figure11 SP modellingparadigm.

Affiliation

IBM
BrunelUniversity/
OptiRiskSystems
Universityof Zurich
Universityof Cambridge
Northwestern
University
DalhousieUniversity
Universityof Geneva
StanfordUniversity

Standard algebraic
modelling constructs

Extensions for SP
modelling
Figure 12 Extendedlanguage constructs.

Research
Vol.53,No.10
oftheOperational
1082 Journal
Society

strongcase for separatingmodellingand solving. One major


argument in favour of this separation was to make the
underlying structureand the models more transparentto
the differentconstituentswho participatein the development
of such decision models. Recently,there has been a strong
trend towards achieving a closer coupling between the
modelling stage and solution process. This developmentis
not necessarily in conflict with the 'separation'principle.
The models are developed in a form that is easily communicated between analysts. However, by having a closer
coupling with the solver, the solution process is often
improvedin many situations.This is an importantdevelopment and in the following sections we present a few
modelling and solving contexts in which this situation is
applied.
Columngeneration
A number of production problems in industry involve
designing cuttingpatternsto turnraw materialsinto product
parts. These arise in industries such as the productionof
paper,textiles, wooden/metallicboards, and gaskets. While
the objective may be to minimise wastage or raw material
supply,the key issue is the constructionof all the alternative
patternsby which the raw materialcan be cut to producethe
differentproducts.In many of these industriesthe resulting
number of cutting patternsis enormous, and consequently
the resultingMIP is very large and difficultto solve.
Gilmore and Gomory introducedthe ColumnGeneration
technique in 1961.9'52The cutting stock problem can be
stated as
Min

CjXj

aaijxj> bi

s.t.

where b is the demandfor differentparts,andthe columns,j,


of A representthe number of parts i produced if cutting
patternj is used. By considering the pricing stage in the
simplex method,we choose as the enteringcolumn
Min cj-

aijri

where ni denotes the shadow price associated with the ith


constraint.
Since Cjis a constant, this amounts to first solving the
following knapsackproblem, where W is the width of the
raw materialand Ti are the currentoptimal shadow prices.
Max
s.t.

ai7i
E

ai < W

ai > 0 and integer


The cutting stock procedureis outlined below:

1. Select a subgroupof columns (variables)from the total


availablecutting patterns.A heuristicprocedurecan be
used for this purpose and solve the cutting stock
problem.
2. Determinethe new cutting patternby solving the knapsack problem. If a new column is not found stop, else
returnto step 1.
An alternative but usually less computationallyefficient
approachis ColumnEvaluation.In this method all possible
cutting patternsare generated.This approachis similar to
column generationin that once the model is initially solved,
in futurerunswe computethe reducedcosts of every cutting
pattern and only include those patterns that price out
favourably in the resulting cutting stock optimisation
problem.
Finally, column generation is also introduced in those
modelling situations where it is difficult to capture the
structureof the problemin a declarativefashion. This often
arises in scheduling problems where different rules determine in which constraintsthe entriesof a column are made.
The resulting problems are large MIP problems involving
special orderedsets of type 1. This featureis then exploited
in the optimisationphase.

Roundingheuristic and branch-and-priceapproaches


The MIP problems are often difficult to solve. To gain
insights into these problems it is often desirable to relax
the integerrequirementand examinethe resultingLP.In this
way we can incorporatefilters into the modelling stage by
which integer variables can be fixed or removed from the
problem. This is achieved by analysing the relaxed LP
solution to the original optimisation problem. Although
this often results in sub-optimal solutions these can then
be introduced as bounds into the original unrestricted
optimisationproblem.
Progressing from a relaxed LP solution to an integer
solution is not easy.53 When the scope of final widths
(numberof rows in the matrix coefficients) is narrow,the
heuristicapproachfor rounding(up or down) each fractional
valued variableto the nearestintegerworks efficiently.The
difficulty arises in problems with a wide scope of final
widths, where the approach of rounding to the nearest
integer can result in excessive increases in the objective
functionvalue.
A typical heuristic approach for rounding may be
summarisedin the following steps:
1. We relax the integralityof the variables, and solve the
relaxed LP, obtaininga solution x.
2. We take the original IP problem, and modify it in the
following way:
We include x (solution of the LP) as data parametersin
the IP.

BDominguez-Ballesteros
eta/-Modelling
andsolving
environments
formathematical
1083
programming

We establish roundingconditions accordingto the solution obtained from the LP problem:


Variableswith x integer(exceptthe variableswith value
zero) are excluded from the optimisationprocess, as
they areset to this integervalue.Variableswith a valuex
close to an integer value are roundedto it, as they are
likely to have a very similar result. Therefore, this
roundingwill not incrementdramaticallythe cost.
3. Repeat the previous step until the stopping criteriahas
been satisfied.
This heuristic is an iterative process decomposed into
solving two models. Ideally the problem owner does not
have to change the model every time and he/she can specify
the startingbasis for the iterations,the roundingapproximations that are considered in the IP after the LP has been
solved, and the stopping criteria. Through a script or an
interactiveinterfacethe solving process can benefit from a
modelling environmentthat lets the user specify procedural
steps that are specific to each application.
Branch-and-price. Columngenerationis appliedto the LP
relaxation, whereby the IP contains only variables that
priced out positively in the LP relaxationsolution.
The typical steps of the branch-and-priceapproachare set
out below:
1. Generatethe LPrelaxationwith a subsetof all the columns.
2. Solve the 'pricing problem' (a separationproblem from
the dual LP) to identify columns to enter the basis.
3. Solve the LP relaxationwith the new columns.
4. Carryout branchingwhen no columns price out to enter
the basis, and the LP does not satisfy the integrality
conditions.
Scenario-basedSP
In SP we bring together models of randomness for the
uncertain parameters and models for optimum resource
allocation. By generatingscenarios the randomparameters
are investigated.There are two proceduresin which modelling and solving coupling can be addressed; these are
scenario analysis and SP analysis.
Scenario analysis. This technique,along with manyothers,
arises from the need to get more accuracyand/orcompleteness in the information obtained from the deterministic
models. In this approachdifferentscenarios, that is certain
combinationsof possible values of the uncertainparameters,
are considered. Hereafterthe problem is solved for each
scenarioconsideredpreviously.Thus,by solving the problem
repeatedlyfor differentscenariosand studyingthe solutions
obtained,the decision-makerobserves the sensitivities and
decides on an appropriatesolution. The main ideas of
scenarioanalysis are as follows.
(i) To study the model by solving the model and analysing
the problemfor each demandrealisation.This is called
Scenario Analysis.

or

(ii) To select a subset of scenariosto carryout the analysis.


Such selection is done by a heuristic approach. This
applieswhen the model dimensionsfor a single scenario
instance are large and consequentlythe computational
processing time excessive.
As in the case for column generation,a majorinteraction
with the solver makes the process simpler and faster. The
use of scripts or an interface that lets the problem owner
specify the steps in the solution analysis improves the
performanceof the application.The core model does not
change and the sequence of scenarioswhich are applied as
data instancesto the model are specified concisely.
Analysis EVPI, scenario sampling. To directlyaddressthe
inadequacy of the deterministic models and to obtain a
hedged solution under randomness, SP models are used.
In SP we consider the distributionsof the uncertainparameters to be known, and use it to generatediscrete scenarios
which represent the random parameters. Therefore the
model size grows enormously,and often becomes intractable. To overcomethis difficultysome samplingapproaches
have been developed. Sampling methods are required to
reduce the large dimensionalityof realisticproblems.
The main questions regardingscenarios are how many
and which ones are chosen. To answer these questions
different sampling approacheshave been presented based
on Monte Carlo sampling,54and on the expected value of
perfect information (EVPI).55 In these approaches, the
iterativeoptimisationprocedureis carriedout exploring an
increasingnumberof scenariosuntil some stopping criteria
are satisfied by the solution obtained so far. In these
proceduresnew LP subproblemsare repeatedlygenerated
and solved improving progressively the accuracy of the
currentsolution. Modelling, solving, and solution analysis
closely interactduringthis process.56
Some work has been done using sequential importance
sampling heuristics to approximate the true EVPI and
thereforethe optimalsolution of the problem.The heuristics
can be used in a variety of ways to give a whole family of
EVPI sampling algorithms.55
In all these cases the close coupling between modelling
and solving will allow us to develop a good computational
and analytic framework.
Logic driven solutions in constraints
Logic programmingprovidesa very powerfuland expressive
way of representinga decision model. For the last ten years
the development of CLP has introduced arithmetical
constraints within an otherwise logic programming
framework.
Two well-known systems, namely ILOG Solver and
ECLiPSe, not only support the modeller in representing

Vol.53,No.10
Research
oftheOperational
1084 Journal
Society

the problem,but also to interactand controlthe enumerative


steps.
ILOGSolver is a set of C+ + class librarieswhich can be
embeddedin users' applications.It can be used independently (as a toolkit) or linked directlyto a modelling language
(ILOGOPL Studio,AMPL) to act as an interfacefor a nonexpert modeller for solving CLP models. ILOG Solver
provides a default search strategy, although it suggests
alternatives, and allows the user to create customised
search strategies. The user is able to communicate with
the solver in an interactiveway. ILOG Solver allows the
problemownerto enrichthe searchstrategyby modifying or
addingconstraintsthat may speed up the solver process due
to an improvementin the search space.
Typically,there are explicit search commands, such as;
(i) ordering by rules; (ii) interleaved depth-first search;
(iii) limited discrepancy search; and others including a
user-specifiedcustomised search.43
Both ILOG Solver and ECLiPSe allow the user to
combine CP search with LP (MIP relaxed to LP and then
used to guide the search). Comparedto straightprocessing
by MIP guided CLP search can achieve superiorcomputational performancein many classes of models and scheduling problems in particular.The aspects of solving such
combined CP and MP models are discussed in.57-59
Decompositionalgorithms
Considerable research work has taken place to develop
solution algorithms to process large-scale LP and IP
problems with embedded structures.Most well known of
these approaches are Dantzig-Wolfe decomposition,60
Langrangeandecomposition,and Benders'decomposition.
Dantzig-Wolfe decomposition is mainly applied to LP,
and the solution steps requiresolving independentLP subproblems, and then communicatingthe primal and dual
solution values to an overarchingmasterproblem.
Lagrangeandecompositionis applied to both continuous
LP and IP problems,and also exploits the model structure.
In this approachsubsets of constraintsare aggregatedand
then weighted by multipliers(Lagrangean),and introduced
in the objective function. Again a series of subproblemsis
createdand solved with convergingupperand lowerbounds
on the objective function.
In Benders' decomposition the model is partitioned
depending on the context of the algorithm to an integer
part(MIPproblems)or first-stageconstraints(SP problems).
In general the first partitionof the problem is used as the
master problem. Sub-problemsfrom the remaining partitions are then solved, and results are used to update and
augment(add cuts) the masterproblem.
These algorithms are often implemented for specialist
applications. By having a close coupling between the
modelling system and the solver these classes of algorithms
can be investigated.

Model and results analysis


In the course of formulatingand investigatingoptimisation
models differentanalytic steps are applied. These are also
known as prototypingand validationprocedures,and they
are used to refinethe model and establishits validity as well
as its connectionto the physicalproblemunderconstruction.
The steps of this investigation may be broadly
summarised as: (a) model analysis; (b) model and data
validation;(c) data instantiationand optimisation;and (d)
solution analysis and reporting.
This breakdownof steps is important,and they are not
necessarilyalways applied in one single sequence. The step
that involves optimisationcan be looked upon as an 'inferencing' step of the model for a given data set instantiating
the model. In Table4 we consider a detailedbreakdownof
these steps.
In Figure 13 we illustratethe threemain analyses,that are
model analysis, model and data validation, and solution
analysis, and the stages when optimisationis executed.

Model analysis
Syntax error checking can detect 'early' anomalies in the
model formulation.The generation of a machine-readable
form of the model cannot take place until the specification
is syntacticallycorrect. By using a syntax checker, errors
(eg typographicalmistakes)are detectedbefore the model is
completely formulated.Domain and range errors (eg the
modeller might have forgotten an index of a variable) are
also detected before the completion of the model formulation. If it is availableas a language featureunit consistency
checking should be applied; this step is extremely valuable as it often identifies: (a) conceptual difficulties; and

Table 4

Prototypingand ValidationProcedures

Analyticalsteps

Analysisprocedures

Model analysis

Syntax checking
Unit consistency
Pre-solutionanalysis (bounds
analysis, constraintsanalysis)
Model validation(exercise
the model for extremevalues
of data sets)
Post-optimalanalysis (shadow
prices analysis, unbounded,
infeasible, optimum
unrealisticdiagnostics)
Solve the model with the 'proper'
data instance,that is, realistic
or actual data sets
What-if analysis
Scenarioanalysis
Diagnostics based
on logical-consistency

Model and data


validation

Data instantiation
and optimisation
Solutions analysis
and reporting

BDominguez-Ballesteros
etal-Modelling
andsolving
formathematical
environments
1085
programming

Figure13 Analysesin the modellingprocess.


(b) inconsistencies in respect of units of measure used in
differentgroups of data within a given model data set.
Once the model is syntacticallycorrect,logical analysesof
themodelcanbe carriedoutto detectunbounded,infeasibleor
a potentiallyunrealisticoptimal solution.39The techniques
used for analysingthe model at this stage are usually called
pre-solution analysis. McCarl6' presents a series of presolution analysis rules, some of which have been previously
presented as computerised techniques,62Greenberg63in
ANALYZE,and Chinneck64'65in MProbe, among others.
These pre-solutionanalysesin generalaim to find 'problematic structures'by examining the matrix structure,and by
establishingbounds on constraints.DOME24provides the
option for pre-solutionanalysisthrougha scriptdriver.

Model and data validation


Before carryingout optimisationan analystwould normally
check the logical consistency within the model. In supply
chain models production flow balances can be typically
checked (eg everythingthat is produced,is either sold or
stored). With the model validation the analyst checks
whether or not the model makes sense (eg if production
sites are closed then thereis no production).Thereis a need
to create simple proceduresto establish that the model is
robust, that is, it provides logical and acceptable results
when it is exercisedusing datasets with extremevalues. The
model validation indicates the degree to which its results
should be believed, and is used to gain confidence in the
model.

In practiceonce the optimisationstudy has been carried


out there are two majorcomponentswhich surge as pertinent to the analyst.These are the model and the results.The
analyst looks at these two elements from two different
perspectives:Diagnostics and Reporting.
For diagnosticpurposes,the model and the solution can
be seen as an entity,or as two separateditems. By studying
and analysing both, the analyst can investigateany of the
three possible diagnostics,which are 'unbounded','infeasible', and 'optimum unrealistic'. These outcomes are
observed as a consequence of some mismatch in the
model and data combination.
Optimisationmodels and data instances are difficult to
separatewhen dealingwith the results,and have a combined
impact on the results ('outcomes'). Therefore,model and
data debuggingare carriedout to diagnose the "illness" of
the model formulation and solution. Post-solution techniques are used to captureproblematicstructuresthat lead
to an infeasible, an unbounded,or an unrealisticsolution.
These techniques are usually based on analysing shadow
prices, sensitivity analysis and/or reconstructionof constraintcalculations.Many of these post-solutiontechniques
can be applied manually,however,GAMSCHK61provides
an excellent automatedapproach.
Solution analysis and reporting
After model diagnosis, the analystmay carryout 'what-if'
analyses, where the decision-maker changes the input
values, using different model data instances. Sharda and
Steiger66call this technique 'model analysis'. This technique examinesthe changes of the optimalsolutionand the
optimalobjectivevalue with respectto variationsin some of
the parametersthat are considered to be important.It is
usually done by varying one parameterat a time. Another
technique that varies uncertain parameters is scenario
analysis. In this approachdifferentscenarios,that is certain
combinationsof possible values of the uncertainparameters,
are considered. Hereafterthe problem is then solved for
each of these scenarios. Thus, by solving the problem
repeatedlyfor differentscenariosand studyingthe solutions
obtained,the decision-makerobserves the sensitivitiesand
decides on an appropriatesolution by following a heuristic
approach.
A furtheranalysis that may be carriedout is the exogenous logical-consistency for external requirements that
cannot be captured by the optimisation model. Typical
examples are complex taxation rules, regulatoryrequirements and others, which were not consideredin the model
formulation.A domain experts knowledge is requiredto
decide whetheror not the optimal solution is realistic.1'
Forreportingpurposes,the modelandthe solutionareseen
as items to be presentedto the decision-makerin a meaningfulway. Reportsareas importantas the previousanalyses
carriedout. Clearandconcise reportsfacilitatethe extraction

oftheOperational
Research
1086 Journal
Vol.53,No,10
Society

of relevantknowledgeand aid decision making.Such report


preparationand representationis well supportedby OLAP
tools,67which include datamanipulationfunctions.
The modelling languageAIMMS offers facilities to build
an interactivereport for the end-users of an application.
Such a reportconsists of pages with tabularand graphical
objects that allow for two-way data communication.Navigationthroughthese pages goes throughbuttons,menus and
dedicated navigation objects. There is also a facility to
specify graphicalprint pages similar to regularpages, but
with the extra functionalitythat they can be printed as a
complete report.

Positioning within the IS architecture


The informationvalue chain (IVC)
Model-based decision-makingis well accepted within the
organisationalcontext of the industrial,commercial,and the
public sector organisations. Mathematical Programming
Modelling supports optimum decision-making in these
domains.
Quantitative(management)models constitutean important component within the informationvalue chain (IVC)
(see Figure 14, and Koutsoukiset al22). The analysisandthe
synthesis of transactional(operational)data create analytic
dataor information,which is the firststep in the information
value chain. In generalthe collection of analyticdata items
or informationrelatingto an organisationis called a Data
Warehouse.The informationresiding within a Data Warehouse is used by decision-makersand knowledge workers
across the organisation.
An organisationhas typically many divisions, such as
accounting, marketing,sales, production,and distribution.
In a composite decision-makingenvironmentthe organisational Data Warehouse is used across all divisions. A
decision problem may relate to an individual department,
in which case we extract the analytic data from the Data

n~at

Warehousepertinentto thatspecific department.This subset


of informationis known as a Data Mart.
Knowledge workersrequirea variety of ways in which
they can interactwith, and exploit the availableinformation.
They may need to aggregate data and make graphical
displays of summariseddata of the informationresiding
within a Data Mart, or to look for patterns.A range of
modem databasetools known as OnlineAnalyticalProcessing (OLAP) have been created which enable decision
makers to work directly with Data Warehousesand Data
Marts.22'67
Because of their multi-dimensionalcharacteristics, they also help internallyto manipulatethe data,and to
visualise the data items residing in Data Marts and Data
Warehouses.
Typically,informationtaken from Data Martsis used to
instantiatea rangeof models,which aredevelopedto provide
valuable insight to the problemowner. Such models either
'describe'a problemat hand,or 'prescribe'a set of possible,
yet alternativesolutions. Simulationfor instanceis a typical
example of a descriptive model, while optimisation-based
modelsareexamplesofprescriptivemodels,thatis, in an ideal
world of abstractrepresentationsthese models can only
'prescribe'decisions for particularproblems.
In a given problem domain the study of models and
solution results, leads to 'knowledge' for the decisionmaker. Thus with repeated applicationof descriptiveand
prescriptive models, the decision-maker gains valuable
insight, that is knowledge about the application.Further,
this knowledge is 'dynamic' in that it continuouslyevolves
as the informationfor the problemchanges,andthe problem
owner re-appliesthe models to understandits natureand
behaviour.An overviewof the informationvalue chain is set
out in Figure 14.
Data and symbolic modelling
Data(base) Modelling, Decision Modelling, and Model
Investigation,are logical constructs,which play a leading

InfomAtion

>

KWed

Ca-porate,

Bdemal

AxraWy,

Tim
meI nSKA
Av4ahity
valuechain.
Figure14 Information

lrst tothe
probIemthaid

BDominguez-Ballesteros
etal-Modelling
environments
formathematical
andsolving
1087
programming

role both in the interactionof information systems and


decision technologies, as well as in rational decision
making. It is easily seen that Data Modelling and Decision
modelling closely interactwith each other. The following
describes these logical constructsand their relationshipto
knowledge.
1. Data Modelling refers to the 'structured'internalrepresentation and external presentationof recorded facts.
Broadly speaking this providesthe decision-makerwith
informationabout their decision problem.
2. Decision Modelling is the developmentof a model, or a
rangeof models that capturesthe structureas well as the
decisions in respect of a given problem. These models
are used to evaluate possible decisions (actions) in a
given problem domain, and the probable outcomes of
these actions.
3. Model Analysis and Investigationrefers to the instantiation of the model with data, and the evaluationof the
model parametersas well as the results in orderto gain
confidenceand insight into the model.
Typically,data modelling involves defining relationships
between data items leading to a relationaldata model, or
identifying categories that are then used to define multidimensional tables, leading to a multi-dimensionaldata
model. Symbolic or Decision modelling involves the development of models that are used for decision making.
Classical decision models include linear, non-linear, or
discreteoptimisationmodels. However,we considersimulation, cluster analysis, forecasting, data mining, and other
analytic models equally appropriatefor decision support.
Model analysis and investigation is often a descriptive
analysis of the results obtained which is applied to gain
insight, or knowledge with respect to a given decision
problem. In particular,during the analysis phase, a series
of 'what-if' investigationsare used to change parameters

and,therefore,to evaluatethe understandingof the problem


by the decision-maker.We considerthe requiredfunctions,
DSS processes, software tools, and the level of user interaction in Figure 15.
Figure 15 sets out the hierarchyof tools involved in the
overall decision process and their relative positioning at
each system level. A complex decision process has many
constituents.At the lower level the decision-makeruses the
systemto 'guide' him/herin his/herdecisions.At the middle
level, the database and model specialists are responsible,
respectively, for maintaining and developing the data
instances and the decision model. At the higher level,
solving expertsare responsiblefor obtainingcomputational
solutions of the instantiatedmodels. Naturally,the problem
owner interactsmost with the system at the outerlevel. The
degree of end-user interactionis graduallyreduced at the
lower levels, and is the least at the innermostlevel; that is
obtainingcomputationalsolutionsto the models implemented. This frameworkis analogousto the concept of different
views put forwardby Greenberg.63
Geoffrion33points out the importanceof havinga generic
structure,which leads us to store separatelydifferentdata
instances(Figure 16).
A generic representationof the decision problem is
desirable and this is achieved through the interaction
between data modelling and symbolic modelling. In most
MP models there is a direct mappingbetween the sets and
indices thatformthe decision model and the structureof the
data used to instantiatethe decision model. This close
coupling and physical separationof data modelling and
decision modelling leads to a numberof distinctadvantages
for the implementationand use of decision supportsystems:
(i) Largeamountsof data are managedand maintainedby
database systems, which are built for this purpose,
insteadof MP modelling systems.

us Process

t hncon(s)
ModelPFa on
and Solving
....................

I.

OpCisaion(LP)

DrillDo
G
,,s

IVeling
Enravinnrt

DMase System

Dataexpla:tiol

Whatif

e.g.OpArriser

.................

S.tIic(Dson) Midelhing

UlnteraIction]

Sdver.

Co'IputaliciSIlutin

Modellng:

e.g.Faecast

Soa*oe
lcd

Intera f theAnals of Data,


DedsionModels,andSouias

Intelface:
e.g.l, GUI,BS,
CLAP

Figure 15 Relativepositioningof tools, DSS functions,and user interaction.

1088 Journal
oftheOperational
Research
Vol.53,No.10
Society

databaseconnectivity was MPL.68However, most current


algebraic modelling languages provide this facility (see
AIMMS, AMPL, GAMS, LINGO, MPL) and can also
access data that is stored in data files, spreadsheetsand/or
most commercial databases. In addition, some modelling
languages, such as AIMMS, AMPL Plus, LINGO, and
MPL, retrieve and store data through Open Data Base
Connectivity(ODBC).
The decision database
It is easily seen that for any given decision supportsystem,
data models, symbolic models, and algorithmictools interact. This inherently strong coupling of data models and
algorithms leads to an inference engine, known as the
(ii) Decision models can be variouslyinstantiatedwith the
decision database.21 Alternatively,one can consider the
use of differentdata marts.
decision database as a Data Mart, in which the data
(iii) The informationused to develop the decision support
models provide information(facts) about the problem at
system is normally available in corporate databases.
models describethe decision problem,or the
Thus it is easier to extract the necessary information hand,decision
known relationshipsbetween the known information,and
from corporate systems and use it directly in the
the algorithmsgeneratethe set of optimal, or near optimal
corresponding DSS, avoiding the development of
'solutions' for the problemat hand.
proprietarydata collections and connections to the
We have introducedthe Data Mart earlier; within the
DSS.
context of a decision database,a model-orientedview of a
(iv) Database Systems, and Data Marts in particular,are
Data Martcan be set out as a compact,application-specific
easily connected to a range of analyticaltools which
database.In this data martthe availableinformacan facilitatethe analysisof optimisationresults.There- analytical
tion about the decision problemis classified into different
fore analysisof optimisationresultsis easier to achieve
groups accordingto their content.22In stochasticprogramby using dedicated data marts, and standarddatabase
ming applications,for instance, the decision databasemay
technology.
consist of four main types of information.Deterministic
In modem MP modelling systems, the connection Information(or informationinvariableto the uncertaintyof
between modelling languages and the database/spreadsheet the future),Stochastic Information(possible characteristics
is in both directions: retrieving data from a database to
of futureuncertaintyand the informationthat is subjectto
instantiatethe decision models, as well as exporting data that uncertainty),as well as the Solutions (possible courses
into the databaseafter solving the models (Figure 17).
of action in the uncertainfuture). Further,it will include
However,the connectivityto databasesystems has only
different solutions from different solving methods for a
recently become a standard feature in MP Modelling particular problem (output results, eg, 'wait-and-see'
systems. One of the firstmodelling languagesto incorporate scenarioanalysis, and 'here-and-now'solutions).
anddatainstances.
Figure16 Genericstructure

Analytical

A -Deciion
R
.t.

Figure 17 Model and data interaction.

BDominguez-Ballesteros
eta/-Modelling
andsolving
formathematical
environments
1089
programming

The co-existence of analyticaldata, decision model, and


decision data comes naturally, as they share the same
structure.This structurealso imposes the naturalcoupling
of data modelling, symbolic modelling, and the model
analysis. This leads us to consider modem optimisationbased DSS as application-specific information systems,
consisting of Database Tools, Algebraic Modelling Tools,
and Algorithmic('solving') tools, with additionalanalytical
tools which are often used to providefurtherinsight into the
problem at hand. These additional analytical tools may
consist, for example, of (Relational) Online Analytical
Processing (R)OLAP tools which can help an analyst
achieve a fast and descriptive overview of the data, in
orderto study the problem,and make appropriatereports.

New directions, discussions, and conclusions


The re-emergenceof optimisationmethods and the growing
acceptance of optimisation models for decision support
within the business community69have fuelled the development and maturingof modelling and solving tools.
Our investigationsreveal new developmentsencompassing dataconnectivity,languageextensionsfor new modelling
paradigms,graphicaluser interface,applicationgeneration
and prototyping, and development of web-based decision
supportsystems.

Data connectivity
From the user's point of view spreadsheets,such as Excel,
seem to be a comfortable environmentfor creating optimisation applications.Spreadsheetsare broadlyutilised by
many users as an analyticaltool. Furthermore,they incorporate add-ins for optimisationthat allow users to develop
MP applications within a familiar environment. Consequently spreadsheetsare gaining in popularityand importance as optimisation modelling support environment.
However, spreadsheetsare not always the best option for
optimisationmodelling, due to the lack of flexibility when
dealing with model representation,while the optimisation
algorithms available in spreadsheetsare often limited in
capabilitiesand features,and do not scale very well. Gass
et al70 supportthat spreadsheetsshouldnot be consideredas
adequate environmentsfor optimisation,in comparisonto
'expert choice' software, such as MP modelling languages
and solution algorithm tools, which are targeted towards
operationsresearchpractitioners.
Nevertheless, the use of databasesand spreadsheetsfor
data storage,and the connectionof modelling tools to these
data sources are well established,and have proven benefits
such as model/dataindependence.7' Embeddinga modelling
and solution system within an IS environmentand connecting these to databasetools is gaining new researchinterest.
to store the datathe analyst
By using a database/spreadsheet

can benefit from data manipulationtools, multidimensional


viewing and graphicalpresentation,such as OLAP.
Language extensionsfor new modellingparadigms
In recent times two new developmentsin MP have found a
growing number of applications. These are Constraint
Satisfaction(CS) and StochasticProgramming(SP).
CS constructs are being introduced within algebraic
modelling languages such as OPL, AMPL, and MPL.
Similarly,real-life problems with some uncertainparameterscan be modelled as StochasticPrograms,which bring
togethermodels of optimumresourceallocationand models
of randomness.This combinationrequiresspecial constructs
which can represent the interdependenciesbetween time
periods, stages and scenarios. SMPL and SAMPL72 are
two examples of extensions to existing algebraicmodelling
languageswhich supportSP modelling.
Graphicaluser interface (GUI)
MP modelling tools have advancedsubstantiallyand follow
the paradigm of 'user-centreddesign'.73 Although some
modelling languages are still command driven, most MP
modelling systems supportvisual interactivemodelling and
use Windows-based interfaces. Thus, users can interact
easily and flexibly with the modelling tool, and make use
of advanced graphicaluser interface features such as tree
structuresrepresentingthe model definition, and contextsensitive online help.
Accordingto Steigerand Sharda,74the qualityof the user
interface is an efficiency measure of an MP modelling
system along with compactness of representation,error
analysis and correction,and learningdifficulty.
Applicationgeneration and prototyping
A number of optimisationtechniques, such as linear and
integer programming, stochastic programming, and
constraintlogic programminghave been widely extended
and are accepted as a tool to help in decision making in
different areas of industry and commerce. Previously,the
main focus of MP softwaredevelopmentwas computational
solution tools (1950s and 1960s), and the developmentof
modelling languages (in the 1970s and 1980s). Subsequently the research and development issues converge in
the creationof DSS, which are integratedenvironmentsfor
applicationconstruction.23AIMMS is an example of such
an integrated environment. New environments form an
important and competitive research area. However, DSS
applications in diverse sectors require constituents with
appropriatedomain knowledge that needs to be captured
in the correspondingmodels. It is therefore necessary to
provide problem owners from different sectors specialised
models that best represent their application domains and

Vol.53,No.10
Research
oftheOperational
1090 Journal
Society

their decision making requirements.These are also known


as vertical applicationsor domain specific 'solutions'. Such
specialisedapplicationscompriseof user interface,database,
optimisationmodels, and embeddedsolver tools customised
for specific applicationdomains, such as crew scheduling,
supply chain planning or portfolio planning (Figure 18).
At par with developmentsin the computingand software
industry, component-based systems are emerging as the
architectureof choice for MP-based decision support.Two
leading examples of component-basedDSS applications
developmenttools are OPL Studio,75and OptiMax.26

interface, and the processing is distributedacross multiple


servers. The optimisationserver then e-mails the user the
results. Another example of an optimisation-basedASP is
OSP.79OSP intendsto provideorganisationswith the choice
to either use optimisationtools and develop and maintain
their own models, or to use generic solutions and customise
them to match the organisation'sapplications.In this way it
will transformthe way organisationsdevelop Optimisationbased Decision SupportSystems, in that they will need less
specialist skills in-house.

Conclusions

Web-based DSS

The Internethas become the chosen platformfor conducting


business, and a wide rangeof applicationshas been developed for processing of business-to-business and businessto-customercommercialtransactions.These are commonly
called e-commercesolutions.
Taking into consideration:(a) the wide acceptance of
model-based decision-making within an organisational
context; and (b) the modularisationand component-based
architectureadopted by the optimisation systems developers, it is a natural step forward for the optimisation
communityto enterthe Internetarena.76All these technologies enable the developmentof MP models,77and delivery
of decision supportsolutions via the web. For instance, the
NEOS server78allows users to submit programsthrough
Web forms, e-mails in a specific formator by using a Javaor
Unix Tcl/tk specialised interface. The NEOS server is
currentlyconnected to more than 25 solvers, and it can be
extended, by registering new solvers that may reside
anywhere on the Internet.MP-based DSS that provide the
services through the Web, so-called Application Service
Providers (ASP), keep most of the software on a server,
and rent out such services to the users via the Internet.For
example, SAS76follows a multi-tieredarchitecturein which
the user builds and optimises a model via a standardWeb

In this paper we have critically reviewed the evolution of


tools for MathematicalProgrammingmodelling and their
deployment in rapid application development. The early
developments of solution technologies led to a need for
modelling tools. As these modelling tools developedthey in
turn inspiredfurtherresearchin the integrationof information systems with MathematicalProgrammingModelling
Systems. Our currentwork (OSP)79 has highlighted how
supportfor MathematicalProgrammingcan be providedon
the web. We see this as the next exciting researcharea for
delivering MathematicalProgrammingapplications to the
end user community.
wouldlike to thankProf.JohannesBisschopfor
Acknowledgements-We
his valuablecommentsand feedback.The authorsare gratefulto a number
of sourcesfor theirfinancialsupport,which includesUNILEVERResearch.
We also thank the EuropeanUnion, which supportedBelen DominguezBallesteros(SCHUMANNProjectNo. 26267, Framework4); OSP-CRAFT
(Framework5) provides partialsupportingto Dr. Nikitas-SpirosKoutsoukis, and Prof. GautamMitra.

References
1 Lucas C and MitraG (1988). Computer-assistedmathematical
programming(modelling) system (CAMPS). Comput J 31:
364-376.
2 FourerR (1983). Modelling languagesversusmatrixgenerators
for linearprogramming.ACMTransMathSoftware9: 143-183.
3 IBM World Trade Corporation (1976). IBM Mathematical
Programming System Extended/370 (MPSX/370) Program

No. SH19ReferenceManual,2nd edition.IBM Publication

1095-1: New York,Paris.


4 Kuip CAC (1993). Algebraic languages for mathematical
programming.Eur J Opl Res 67: 25-51.
5 Birge JR, DempsterMAH, GassmannHI, Gunn EA, King AJ

and WallaceSW (1987). A standardinputformatfor multi-

I
I
I
I
I
I

Specalised application:
emUbw-edsolvers, GUI,data

Figure 18 Applicationgeneration(optimisation).

period stochastic linear programs.Math Program Soc COAL


Newslett 17: 1-19.
6 Aho AH, SethiR andUllmanJD (1986). Compilers:Principles,
Techniques,and Tools.Addison-WesleyPublishingCompany:
Reading,MA.
7 Maturana SV (1994). Issues in the design of modelling
languages for MathematicalProgramming.Eur J Opl Res 72:
243-261.

BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1091
programming

8 Moody S (1994). Methods and tools for modelling linear and


integer programmingproblems. PhD thesis, Department of
Mathematicsand Statistics,BrunelUniversity.
9 GilmorePC and GomoryRE (1961). A linearprogrammingapproachto the cuttingstockproblem.PartI. OpnsRes 9: 849-859.
10 Mitra G and Darby-DowmanK (1985). Cru-Sched-A computer based bus crew scheduling system using integer programming. In: Rousseau JM (ed). Proceedings on the 3rd
InternationalWorkshopon TransitVehicleand Crew Scheduling. Computer Scheduling of Public Transport2. Elsevier
Science PublishersBV: Montreal,pp 223-232.
11 Darby-DowmanK, Fink R, MitraG and Smith JW (1995). An
intelligent system for US Coast Guardcutter scheduling.Eur
J Opl Res 87: 574-585.
12 Dantzig GB (1951). Maximisation of a linear function of
variablessubjectto linear inequalities.In: TC Koopmans(ed).
Activity Analysis of Production and Allocation. Wiley: New
York.
13 KarmarkarNK (1984). A New Polynomial TimeAlgorithmfor
Linear Programming.Technical Report, AT&T Bell Laboratories, MurrayHill: New Jersey.
14 MitraG, AndersenJ andLevkovitzR (1992). The interiorpoint
method for LP on parallelcomputers.In: Kall P (ed). Systems
Modelling and Optimization. LNCIS180. Springer Verlag:
Berlin, pp 241-250.
15 LevkovitzR and MitraG (1993). Solution of large-scalelinear
programs: a review of hardware, software and algorithmic
issues. In: CirianiT and LeachmanRC (eds). Optimizationin
Industry, Mathematical Programming and Modelling Techniques in Practice. Wiley: Chichester,pp 139-171.
16 MarosI andMitraG (1996). Simplexalgorithms.In:Beasley JE
(ed). Advances in Linear and Integer Programming.Oxford
UniversityPress: Oxford,pp 1-46.
17 ILOG CPLEX Division (2000). CPLEX 7.0. URL: http://
www.ilog.com/products/cplex
18 Ellison EFD, HajianM, Jones H, LevkovitzR, MarosI, MitraG
and Sayers D (1999). FortMPManual, Release 3. Numerical
Algorithms Group (NAG) and Brunel University. URL:
http://www.optirisk-systems.com
19 Dash Associates (1999). XPRESS-MP Reference Manual,
Release 11. Dash Associates: UK.
20 Shapiro JF (1998). Bottom-up vs. top-down approaches to
supply chain management and modelling. Working Paper
#4017, Sloan School of Management,Instituteof Technology,
Massachusetts.
21 Shapiro JF (1993). The decision database. Working Paper
#3570-93-MSA, Sloan School of Management, Institute of
Technology,Massachusetts.
22 KoutsoukisNS, MitraG and Lucas C (1999). Adaptingon-line
analytical processing (OLAP) for decision modelling: the
interaction of information and decision technologies. Decis
SupportSys 26: 1-30.
23 MitraG (1989). Tools for modellingsupportandconstructionof
optimisationapplications.In: ShardaR, Golden BL, Wasil E,
Balci 0 and Stewart W (eds). Impacts of Recent Computer
Advanceson OperationsResearch.ElsevierScience Publishing
CO. Inc: North Holland,pp 484-496.
24 Mousavi H (1998). Data and optimisationmodellingfor decision support. PhD thesis, Department of Mathematics and
Statistics,Brunel University.
25 KoutsoukisNS, Dominguez-BallesterosB, LucasC andMitraG
(2000). A prototypedecision supportsystem for strategicplanning underuncertainty.In: IraniZ, Love PED and Li H. (guest
eds). Special Issue in SupportingSupply Chain Management
throughan IT/ISInfrastructure(PartII). Int JPhys Distrib Log
Mngt 30: 640-660.

26 Maximal Software Incorporation (1996). MPL Modelling


SystemRelease 4.0. USA.
27 Lindo Systems Inc (1998). LINGOModelling System Version
4.0. USA.
28 EllisonEFD andMitraG (1982). UIMP:userinterfaceformathematicalprogramming.
ACMTransMathSoftware8: 229-255.
29 Fourer R, Gay DM and Kemighan BW (1993). AMPL: A
ModellingLanguagefor MathematicalProgramming.Duxbury
Press:Belmont, CA.
30 Bisschop JJ and Roelofs M (1999). AIMMS: The Language
Reference. Paragon Decision Technology BV: Haarlem, The
Netherlands.
31 BrookeA, KendrickD and MeerausA (1993). GAMS:A Users
Guide,version2.25. Boyd andFraserPublishers:Danvers,MA.
32 HiirlimannT (2002). Modelling languages:a new paradigmof
programming.Volume on Modelling Languagesand Applications. Ann Opns Res (in press).
33 Geoffiion AM (1992). Indexing in modelling languages for
mathematicalprogramming.Mngt Sci 38: 325-344.
34 HiirlimannT (1993). LPL: a modelling language. Modelling
tools for decision support. Universityof Fribourg Series in
ComputerScience Volume2, Universityof Fribourg:Fribourg,
Switzerland.
35 FourerR and Gay DM (1995). Expressingspecial structuresin
an algebraic modelling language for mathematicalprogramming. ORSAJ Comp7: 166-190.
36 Zenios S (1990). Integratingnetworkoptimisationcapabilities
into a high level modelling language.ACM TransMath Software 16: 113-142.
37 Bradley GH and Clemence DR (1987). A type calculus for
executablemodellinglanguages.IMAJMath Mngt 1: 227-291.
38 Bisschop JJ (1988). A functionaldescriptionof an integrated
modelling softwarefor mathematicalprogramming.13th international MathematicalProgrammingSymposium.Tokyo.
39 Williams HP (1999). Model Building in Mathematical
Programming,4th edition. Wiley: Chichester.
40 KallrathJ and Wilson JM (1997). Business Optimisationin
Mathematical Programming.MacMillan Press Ltd: Houndmills, Basingstoke.
41 MitraG, Lucas C, Moody S and HadjiconstantinouE (1994).
Tools for reformulatinglogical forms into zero-one mixed
integerprograms.Eur J Opl Res 72: 262-276.
42 FourerR (1998). Extendinga general-purposealgebraicmodelling language to combinatorialoptimisation:a logic programming approach. In: Woodruff DL (ed). Advances in
Computationaland Stochastic Optimization,Logic Programming, and Heuristic Search: Interfaces in ComputerScience
and Operations Research. Kluwer Academic Publishers:
Dordrecht,The Netherlands,pp 31-74.
43 VanHentenryckP (1999). TheOPL OptimisationProgramming
Language. The MIT Press: Cambridge,MA.
44 Dincbas M et al (1988). The constraintlogic programming
languageCHIP.Proceedingsof the InternationalConferenceon
Fifth GenerationComputerSystems(FGCS'88). Tokyo, Japan,
pp 693-702.
45 ColmerauerA (1990). An introductionto Prolog III. Commun
ACM33: 69-90.
46 WallaceM, Novello S andSchimpfJ(1997). ECLiPSe:a platform
for constraintlogic programming.ICLSys J 12: 159-200.
47 Dantzig GB (1955). Linear programmingunder uncertainty.
Mngt Sci 1:197-206.
48 Dantzig GB and MadanskyA (1961). On the solution of twostage linear programsunder uncertainty.Proceedings of The
Fourth Berkeley Symposiumon MathematicalStatistics and
ProbabilityVolume1: Universityof CaliforniaPress:Berkeley,
CA, pp 165-176.

Vol.53,No.10
Research
oftheOperational
1092 Journal
Society

49 GassmannHI and IrelandAM (1996). On the formulationof


stochasticlinearprogramsusing algebraicmodellinglanguages.
Ann Opns Res 64: 83-112.
50 Chames A and Cooper WW (1959). Chance-constrained
programming.Mngt Sci 6: 73-79.
51 GeoffrionAM (1987). An introductionto structuredmodelling.
Mngt Science 33: 547-588.
52 Gilmore PC and Gomory RE (1963). A linear programming
approachto the cutting stock problem. Part II. Opns Res 11:
863-888.
53 Woolsey RED (1972). A candle to St. Jude, or four real world
applicationsof integerprogramming.Interfaces2: 20-27.
54 InfangerG (1993). Planning UnderUncertainty.SolvingLargeScale Stochastic Linear Programs. Boyd and Fraser:Massachusetts.
55 DempsterMAH and ThompsonRT (1999). EVPI-basedimportance sampling solution proceduresfor multistage stochastic
linearprogramson parallelMIMD architectures.Ann OpnsRes
90: 161-84.
56 Messina E and Mitra G (1997). Modelling and analysis of
multistagestochasticprogrammingproblems:a softwareenvironment.Eur J Opl Res 101: 343-359.
57 Smith BM, Brailsford SC, Hubbard PM and Williams HP
(1997). The progressivepartyproblem:integerlinearprogramming and constraintprogrammingcompared.ConstraintsInt J
1: 119-138.
58 Darby-DowmanK, Little J, Mitra G and Zaffalon M (1997).
Constraint logic programming and integer programming
approachesand their collaborationin solving an assignment
schedulingproblem.ConstraintsInt J 1: 245-264.
59 Darby-DowmanK and Little J (1998). Properties of some
combinatorialoptimisation problems and their effect on the
performance of integer programming and constraint logic
programming.INFORMSJ Comput10: 276-286.
60 Dantzig GB and Wolfe P (1960). Decompositionprinciplefor
linearprograms.Opns Res 8: 101-111.
61 McCarl BA (1998). Repairing misbehaving mathematical
programmingmodels: a poor man's guide. INFORMSMeeting
in Monterey.Monterey,CA.
62 Brearley AL, Mitra G and Williams HP (1975). Analysis of
mathematicalprogrammingproblems prior to applying the
simplex algorithm.Math Programming8: 54-83.
63 GreenbergHJ (1993). Enhancementsof ANALYZE:a computer-assistedanalysissystem for linearprogramming.ACMTrans
Math Software19: 233-257.
64 Chinneck JW (1997). Feasibility and viability. In: Gal T and
GreenbergHJ (eds). Recent Advances in SensitivityAnalysis
and ParametricProgramming.Kluwer Academic Publishers:
Dordrecht,The Netherlands.

65 ChinneckJW (2001). Analyzing mathematicalprogramsusing


Mprobe.Special Issue on Modeling Languages.Ann OpnsRes
104: 33-48.
66 ShardaR and Steiger DM (1996). Inductive model analysis
systems:enhancingmodel analysisin decision supportsystems.
InformSys Res 7: 328-341.
67 CoddEF,Codd SB and Salley CT (1993). ProvidingOLAP(OnLine Analytical Processing) to User-Analyst:an IT Mandate.
Codd & Associates. URL: http://www.salleurl.edu/-augc/
codd2.pdf
68 MitraG, Lucas C, Moody S and KristjansonB (1995). Sets and
indices in linear programmingmodelling and their integration
with relationaldatamodels. ComputOptimAppl 4: 263-283.
69 Merrit J (2000). The best B-schools. Special MBA Issue
(October2). Business Week.
70 Gass SH, HirshfeldDS and WasilEA (2000). Model world:the
spreadsheetingof OR/MS. Interfaces30: 72-81.
71 Atamtuirk
A, JohnsonEL, LinderothJT and SavelsberghMWP
(2000). A relationalmodelling system for linear and integer
programming.Opns Res 48: 846-857.
72 ValenteP,MitraG, PoojariCA and KyriakisT (2002). Software
tools for StochasticProgramming:A StochasticProgramming
IntegratedEnvironment(SPInE). TechnicalReport TR/10/01,
Brunel University: UK. Also to appear in: Wallace SW and
Ziemba WT (eds). The Applications of Stochastic Programming. MPS-SIAM Series in Optimization.
73 Norman DA and Draper SW (eds) (1986). User Centered
System Design: New Perspectives in Human ComputerInteraction. LawrenceErlbaumAssociates: Hillsdale,NJ.
74 Steiger D and ShardaR (1993). LP modelling languages for
personal computers:a comparison.In: Mitra G and Maros I
(eds). AppliedMathematicalProgrammingandModelling.Ann
Opns Res 43: 195-216.
75 ILOG Inc. (1999). ILOG OPL Studio Users Manual. URL:
http://www.ilog.com
76 Cohen MD, Kelly CB and Medaglia AL (2001). Decision
supportwith web-enabledsoftware.Interfaces31: 109-129.
77 Fourer R and Goux JP (2001). Optimizationas an Internet
resource.Interfaces31: 130-150.
78 NEOS Server for Optimization (2001). URL: http://wwwneos.mcs.anl.gov/
79 OSP (2001). URL: http://www.osp-craft.com

Received March 2001;


2002
after one revision
accepted January

Das könnte Ihnen auch gefallen