- Page 2 and 3:
CopyrightCOPYRIGHT NOTICECopyright
- Page 5 and 6:
C O N T E N T STable of contentsLan
- Page 7 and 8:
Language Reference ManualThis manua
- Page 9 and 10:
OPL, the modeling languagePresents
- Page 11 and 12:
ModelsDescribes the overall structu
- Page 13 and 14:
}ctMaxTotal:Gas + Chloride
- Page 15 and 16:
Data typesDescribes basic data type
- Page 17 and 18:
Basic data typesDescribes integers,
- Page 19 and 20:
FloatsShows how to declare floats i
- Page 21 and 22:
Data structuresDescribes how the ba
- Page 23 and 24:
The range float declarationA range
- Page 25 and 26:
{Edge} Edges = {, , };int a[Edges]
- Page 27 and 28:
TuplesData structures in OPL can al
- Page 29 and 30:
In Declaring a tuple using a set of
- Page 31 and 32:
SetsDefinitionSets are non-indexed
- Page 33 and 34:
Sorted and ordered setsBy default,
- Page 35 and 36:
The data shows that the team includ
- Page 37 and 38:
Data sourcesDescribes data and data
- Page 39 and 40:
Data initializationDefines internal
- Page 41 and 42:
{Ship} shipData = ...;and assume th
- Page 43 and 44:
* .dat file */a = #[“Monday”: 1
- Page 45 and 46:
}}the same can be expressed with th
- Page 47 and 48:
Initializing tuplesYou initialize t
- Page 49 and 50:
Initializing setsYou can initialize
- Page 51 and 52:
As generic setsOPL supports generic
- Page 53 and 54:
Initialization and memory allocatio
- Page 55 and 56:
Database initializationDescribes ho
- Page 57 and 58:
Supported databasesSupported databa
- Page 59 and 60:
Reading from a databaseIn OPL, data
- Page 61 and 62:
DBconnection db("oracle9", connecti
- Page 63 and 64:
Note: OPL supports the same element
- Page 65 and 66:
Spreadsheet Input/OutputDescribes h
- Page 67 and 68:
Connection to a spreadsheetThe spre
- Page 69 and 70:
♦Sets of tuples: The data has to
- Page 71 and 72:
Data consistencyDefines the purpose
- Page 73 and 74:
Data membership consistencyThe keyw
- Page 75 and 76:
AssertionsOPL provides assertions t
- Page 77 and 78:
execute{writeln(s2);s1.add(3);write
- Page 79 and 80:
Decision typesVariables in an OPL a
- Page 81 and 82:
tuple Route {City orig;City dest;}{
- Page 83 and 84:
Dynamic collection of elements into
- Page 85 and 86:
The all syntaxThen, the all syntax
- Page 87 and 88:
Appending arraysYou can also concat
- Page 89 and 90:
ExpressionsDescribes data and decis
- Page 91 and 92:
Data and decision variable identifi
- Page 93 and 94:
(condition)?thenExpr : elseExprwher
- Page 95 and 96:
Piecewise-linear functionsPiecewise
- Page 97 and 98:
eakpoint[k-1] < ship[o][d] 0; 0}(1,
- Page 99 and 100:
Figure The discontinuous piecewise
- Page 101 and 102:
x == y;signx == piecewise{0->0; 2->
- Page 103 and 104:
Functions over setsFunction Descrip
- Page 105 and 106:
ConstraintsSpecifies the constraint
- Page 107 and 108:
Using constraintsExplains how to ap
- Page 109 and 110:
Conditional constraintsIf-then-else
- Page 111 and 112:
Constraint labelsExplains why label
- Page 113 and 114:
Labeling constraintsTo label a cons
- Page 115 and 116:
subject to {forall( p in Products ,
- Page 117 and 118:
Limitations to constraint labelingN
- Page 119 and 120:
Compatibility between constraint na
- Page 121 and 122:
Types of constraintsDescribes const
- Page 123 and 124:
Discrete constraintsDiscrete constr
- Page 125 and 126:
Implicit constraintsImplicit constr
- Page 127 and 128:
Symbol=>!===MeaningImplyDifferent f
- Page 129 and 130:
Constraints available in constraint
- Page 131 and 132:
♦Interval grouping constraint: al
- Page 133 and 134:
Formal parametersDescribes basic fo
- Page 135 and 136:
{forall(i in 1..8)forall(j in 1..8:
- Page 137 and 138:
Tuples of parametersOPL allows tupl
- Page 139 and 140:
int array[i in set1] = ((sum(j in s
- Page 141 and 142:
SchedulingDescribes how to model sc
- Page 143 and 144:
IntroductionILOG OPL Development St
- Page 145 and 146:
Piecewise linear and stepwise funct
- Page 147 and 148:
I L O G O P L D E V E L O P M E N T
- Page 149 and 150:
e equal to 1. For a fixed interval
- Page 151 and 152:
ExamplesFor examples of using inter
- Page 153 and 154:
Precedence constraints between inte
- Page 155 and 156:
A logical constraint between interv
- Page 157 and 158:
Important:The piecewise linear func
- Page 159 and 160:
♦prev(p, a, b) states that if bot
- Page 161 and 162:
Cumulative functionsIn scheduling p
- Page 163 and 164:
Constraints on cumul function expre
- Page 165 and 166:
Syntax and examplesFor the syntax a
- Page 167 and 168: ♦That everywhere over a given fix
- Page 169 and 170: in state s. If algn e is true, it m
- Page 171 and 172: NotationsThe main notations used th
- Page 173 and 174: ILOG Script for OPLDescribes the st
- Page 175 and 176: Language structurePresents the stru
- Page 177 and 178: SyntaxWhat composes a scripting sta
- Page 179 and 180: Compound statementsA compound state
- Page 181 and 182: IdentifiersIdentifiers are used to
- Page 183 and 184: Expressions in ILOG ScriptExpressio
- Page 185 and 186: LiteralsLiterals can represent the
- Page 187 and 188: Syntax of different types of expres
- Page 189 and 190: Property accessThere are two ways o
- Page 191 and 192: Function callsSyntactic shorthandSy
- Page 193 and 194: Special operatorsSpecial operator s
- Page 195 and 196: Other operatorsOther operators are
- Page 197 and 198: StatementsA statement can be a cond
- Page 199 and 200: SyntaxEffectfor (var i=0; i < a.len
- Page 201 and 202: Outside a function definitionAt the
- Page 203 and 204: Default valuesDefault value syntaxS
- Page 205 and 206: Built-in values and functionsPresen
- Page 207 and 208: NumbersNumber representations and f
- Page 209 and 210: IntroductionNumbers can be expresse
- Page 211 and 212: Hexadecimal numbersA hexadecimal nu
- Page 213 and 214: Special numbersThere are three spec
- Page 215 and 216: Number methodsThere is only one num
- Page 217: Numeric constantsThe following nume
- Page 221 and 222: ILOG Script stringsString represent
- Page 223 and 224: Examples of string literals using e
- Page 225 and 226: String propertiesThere is a single,
- Page 227 and 228: Syntaxstring.toUpperCase()EffectExa
- Page 229 and 230: String operatorsString operatorsSyn
- Page 231 and 232: ILOG Script BooleansBoolean represe
- Page 233 and 234: Automatic conversion to BooleanWhen
- Page 235 and 236: Logical operatorsThe following Bool
- Page 237 and 238: ILOG Script arraysArray representat
- Page 239 and 240: Array constructorThe array construc
- Page 241 and 242: Array methodsArray methodsSyntaxarr
- Page 243 and 244: ObjectsObject representation and fu
- Page 245 and 246: Defining methodsSince a method is r
- Page 247 and 248: Object constructorObject constructo
- Page 249 and 250: Built-in methodsThere is only one o
- Page 251 and 252: DatesDate representation and functi
- Page 253 and 254: Date constructorThe date constructo
- Page 255 and 256: Date methodsDate methodsSyntaxdate.
- Page 257 and 258: Date functionsDate functionsSyntaxD
- Page 259 and 260: The null valueThe null value is a s
- Page 261 and 262: ILOG Script functionsIn ILOG Script
- Page 263 and 264: I N D E XIndexABabs, OPL function 9
- Page 265 and 266: limitations in tuples 29ranges 22se
- Page 267 and 268: GHIgeneric sets 51, 137groundbreakp
- Page 269 and 270:
NOfor the null value 259for the und
- Page 271 and 272:
sparsityand multidimensional arrays