Beruflich Dokumente
Kultur Dokumente
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
?2002 Operational Research Society Ltd. All rights reserved. 0160-5682/02 $15.00
www.palgrave-journals.com/jors
BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1073
programming
Conceptualisation
Algebraic
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
Find X E 9n
Figure 3
t, .. li .. I,
Minimise(ormaximise)
JEJ
Subjectto bi <
aix J<?di
LinearFormConstraints
jeJ
BoundsConstraints
Where
Cj,bi,di,l,uij
9I.
CoefficientsMatrix
Figure 2
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
Minimise(ormaximise)
JEJ
Subjectto
b, <
ay ,j < d,
C
*c..
*. ui..
I
I
di
bi
lj < xj < uj
..'i
..
BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1075
programming
oftheOperational
Vol.53,No,10
1076 Journal
Research
Society
SdvingBxrt
.'?,dist .Aryt,
F
Algebraic
rW i exprt
mdiLumintl
Dmain Expert
-1
Analyhicj
Dodsiorivkm
hihnt
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
Declarative features
Syntax of the linear form.
BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1077
programming
Used in
Figure8 Maincomponents
in an algebraicmodel.
Vol.53,No.10
oftheOperational
Research
1078 Journal
Society
(k) =
(kJ)EA
E X(i,k)+dk
All-employees
Southallemployees
Leedsemployees
full-timeemployee
part-timeemployee
contractedemployee
k EN
(i,k)EA
full-timeemployee
part-timeemployee
contractedemployee
BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1079
programming
: = 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
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
BDominguez-Ballesteros
eta/-Modelling
andsolving
environments
formathematical
1081
programming
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
CjXj
aaijxj> bi
s.t.
aijri
ai7i
E
ai < W
BDominguez-Ballesteros
eta/-Modelling
andsolving
environments
formathematical
1083
programming
or
Vol.53,No.10
Research
oftheOperational
1084 Journal
Society
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
Data instantiation
and optimisation
Solutions analysis
and reporting
BDominguez-Ballesteros
etal-Modelling
andsolving
formathematical
environments
1085
programming
oftheOperational
Research
1086 Journal
Vol.53,No,10
Society
n~at
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
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
Intelface:
e.g.l, GUI,BS,
CLAP
1088 Journal
oftheOperational
Research
Vol.53,No.10
Society
Analytical
A -Deciion
R
.t.
BDominguez-Ballesteros
eta/-Modelling
andsolving
formathematical
environments
1089
programming
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
Vol.53,No.10
Research
oftheOperational
1090 Journal
Society
Conclusions
Web-based DSS
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
I
I
I
I
I
I
Specalised application:
emUbw-edsolvers, GUI,data
Figure 18 Applicationgeneration(optimisation).
BDominguez-Ballesteros
etal-Modelling
andsolving
environments
formathematical
1091
programming
Vol.53,No.10
Research
oftheOperational
1092 Journal
Society