- Page 1 and 2:
ILOG CPLEX 11.0User’s ManualSepte
- Page 3 and 4:
C O N T E N T STable of ContentsILO
- Page 5 and 6:
Building the Model by Column . . .
- Page 8:
Program Description . . . . . . . .
- Page 13 and 14:
Cholesky Factor in the Log File . .
- Page 15:
Examples: QCP . . . . . . . . . . .
- Page 19 and 20:
Chapter 18 Using Piecewise Linear F
- Page 21 and 22:
Representing the Data. . . . . . .
- Page 23 and 24:
Reading and Writing MPS Files . . .
- Page 25 and 26:
Protected Variables in Presolve Red
- Page 27 and 28:
P R E F A C EMeet ILOG CPLEXILOG CP
- Page 29 and 30:
When a linear optimization problem
- Page 31 and 32:
◆◆◆◆implemented in ILOG CPL
- Page 33 and 34:
Solution Pool: Generating and Keepi
- Page 35:
Table 1ExamplesExample Source File
- Page 38 and 39:
◆◆◆◆◆◆Overview of the A
- Page 40 and 41:
Wolsey, Laurence A., Integer Progra
- Page 43 and 44:
C H A P T E R1ILOG Concert Technolo
- Page 45 and 46:
Compiling and LinkingCompilation an
- Page 47 and 48:
The class IloNumVar provides method
- Page 49 and 50:
IloModel object itself and added to
- Page 51 and 52:
Table 1.1 Concert Technology Modeli
- Page 53 and 54:
Choosing an OptimizerSolving the ex
- Page 55 and 56:
Table 1.4 on page 55 summarizes the
- Page 57 and 58:
Dynamic control of the solution pro
- Page 59 and 60:
However, querying solution values v
- Page 61 and 62:
parameter for the getQuality method
- Page 63 and 64:
model2.add(model1);model2.add(IloCo
- Page 65 and 66:
Example: Optimizing the Diet Proble
- Page 67 and 68:
Concert Technology, as demonstrated
- Page 69 and 70:
method IloModel::add returns the mo
- Page 71 and 72:
C H A P T E R2ILOG Concert Technolo
- Page 73 and 74:
Licenses in a Java ApplicationILOG
- Page 75 and 76:
Models that consist only of such co
- Page 77 and 78:
The special case of linear expressi
- Page 79 and 80:
IloObjective obj = cplex.add(cplex.
- Page 81 and 82:
Solving the ModelOnce you have crea
- Page 83 and 84:
IloCplex cplex = new IloCplex();Ilo
- Page 85 and 86:
IloCplex.setParam(IloCplex.IntParam
- Page 87 and 88:
Thus, the suggested method for sett
- Page 89 and 90:
Basis InformationWhen solving an LP
- Page 91 and 92:
where A is a sparse matrix. A spars
- Page 93 and 94:
The example starts by evaluating th
- Page 95 and 96:
IloMPModeler.setLinearCoefs, and Il
- Page 97 and 98:
C H A P T E R3ILOG Concert Technolo
- Page 99 and 100:
◆What is the purpose (the objecti
- Page 101 and 102:
Step 3Create the modelGo to the com
- Page 103 and 104:
Step 9Add nutritional constraintsGo
- Page 105 and 106:
Step 14Display the solutionGo to th
- Page 107 and 108:
Step 18Enclose the application in t
- Page 109 and 110:
C H A P T E R4ILOG CPLEX Callable L
- Page 111 and 112:
◆◆file reading and writing rout
- Page 113 and 114:
◆◆If data already exist in MPS,
- Page 115 and 116:
For example, let’s look at the sy
- Page 117 and 118:
As you modify a problem object thro
- Page 119 and 120:
However, ILOG CPLEX updates the nam
- Page 121 and 122:
whether an optimization should be a
- Page 123 and 124:
Callable Library have names greater
- Page 125 and 126:
◆CPXsetstrparam accepts arguments
- Page 127 and 128:
Here’s another way to visualize a
- Page 129 and 130:
program—can discover the length o
- Page 131:
Part IIProgramming ConsiderationsTh
- Page 134 and 135:
◆ Test Data on page 135◆ Choose
- Page 136 and 137:
◆ Use the MIP optimizer if the pr
- Page 138 and 139:
Choose Clarity First, Efficiency La
- Page 140 and 141:
1. If you can reproduce the behavio
- Page 142 and 143:
indices, errors will occur. Therefo
- Page 144 and 145:
Understanding File FormatsThe refer
- Page 146 and 147:
definitions that it finds. The firs
- Page 148 and 149:
◆◆IloXmlReader creates a reader
- Page 150 and 151:
Controlling Message ChannelsIn both
- Page 152 and 153:
more calls to the message handling
- Page 154 and 155:
Concert Technology Message Channels
- Page 156 and 157:
Types of ILM Runtime LicensesILM ru
- Page 158 and 159:
char *inststr = NULL;char *envstr =
- Page 160 and 161:
The registerLicense Method for Java
- Page 162 and 163:
not correct that problem either. In
- Page 164 and 165:
In the Interactive Optimizer, you c
- Page 166 and 167:
For models not in the current worki
- Page 168 and 169:
◆◆In the .NET API, pass an inst
- Page 171 and 172:
C H A P T E R9Solving LPs: Simplex
- Page 173 and 174:
The symbolic names for these settin
- Page 175 and 176:
When no candidates are present, the
- Page 177 and 178:
solution; but examination of soluti
- Page 179 and 180:
Then to later read an advanced basi
- Page 181 and 182:
Table 9.5 PPriInd Parameter Setting
- Page 183 and 184:
ILOG CPLEX ignores the coefficients
- Page 185 and 186:
Numeric DifficultiesILOG CPLEX is d
- Page 187 and 188:
esult is the same as would be obtai
- Page 189 and 190:
automatically perturbs the variable
- Page 191 and 192:
4. Consider alternate scalings.You
- Page 193 and 194:
smaller in absolute value than the
- Page 195 and 196:
exceptions are caught as well, and
- Page 197 and 198:
C H A P T E R10Solving LPs: Barrier
- Page 199 and 200:
The ILOG CPLEX Barrier Optimizer is
- Page 201 and 202:
And then you call the solution rout
- Page 203 and 204: Here is an example of a log file fo
- Page 205 and 206: If solution values are large in abs
- Page 207 and 208: Normalized errors, for example, rep
- Page 209 and 210: ◆ workmem in the Interactive Opti
- Page 211 and 212: est order. It may require more time
- Page 213 and 214: choice of starting-point heuristic
- Page 215 and 216: To see the current value of the col
- Page 217 and 218: C H A P T E R11Solving Network-Flow
- Page 219 and 220: ◆◆l a , the lower bound, sets t
- Page 221 and 222: of the objective function calculate
- Page 223 and 224: then ILOG CPLEX will carry out such
- Page 225 and 226: -a 1 + a 2 - a 8 - a 9 + a 14 = 0-
- Page 227 and 228: C H A P T E R12Solving Problems wit
- Page 229 and 230: convex QPs, Q must be positive semi
- Page 231 and 232: A similar Java program using Concer
- Page 233 and 234: ◆ qp indicates that you want ILOG
- Page 235 and 236: RootAlg parameter (QPMETHOD in the
- Page 237 and 238: ilolpex1.cpp counterpart. Here the
- Page 239 and 240: C H A P T E R13Solving Problems wit
- Page 241 and 242: Figure 13.2y(0, 1)(-1, 0)d(1, 0)xc(
- Page 243 and 244: Detecting Problem TypeILOG CPLEX de
- Page 245 and 246: COLUMNSMARK0000 'MARKER''INTORG'C15
- Page 247 and 248: C180 R100 159C180 R119 200C180 R120
- Page 249 and 250: QMATRIXC158 C158 1C158 C189 0.5C189
- Page 251 and 252: ◆From the Callable Library, use t
- Page 253: Part IVDiscrete OptimizationThis pa
- Page 257 and 258: Considering Preliminary IssuesWhen
- Page 259 and 260: Changing Problem Type in MIPsConcer
- Page 261 and 262: solution the value for the variable
- Page 263 and 264: solutions may be discovered along t
- Page 265 and 266: Tuning Tool on page 161 explains mo
- Page 267 and 268: Applying HeuristicsPeriodically dur
- Page 269 and 270: Selecting VariablesAfter a node has
- Page 271 and 272: eginning and yet pay off with short
- Page 273 and 274: Generalized Upper Bound (GUB) Cover
- Page 275 and 276: it allows a generous number of cuts
- Page 277 and 278: ●●CPX_PARAM_TILIM in the Callab
- Page 279 and 280: It is possible to apply preprocessi
- Page 281 and 282: should be assigned higher priority
- Page 283 and 284: variables, however, lose feasibilit
- Page 285 and 286: As you can see in that example, ILO
- Page 287 and 288: you lines from a node log file wher
- Page 289 and 290: Too Much Time at Node 0If you obser
- Page 291 and 292: These limits are controlled by the
- Page 293 and 294: As memory gets tight, you may obser
- Page 295 and 296: Callable Library). If that paramete
- Page 297 and 298: Difficulty Solving Subproblems: Ove
- Page 299 and 300: Examples: Optimizing a Simple MIP P
- Page 301 and 302: C H A P T E R15Solution Pool: Gener
- Page 303 and 304: transportation costs incurred to sh
- Page 305 and 306:
Filling the Solution PoolThere are
- Page 307 and 308:
The amount of preparation in the fi
- Page 309 and 310:
immediately invoke populate a secon
- Page 311 and 312:
generate solutions of both improvin
- Page 313 and 314:
Enumerating All SolutionsWith the s
- Page 315 and 316:
improve the solution pool. Changes
- Page 317 and 318:
◆◆◆In Concert Technology, the
- Page 319 and 320:
◆In the Interactive Optimizer, us
- Page 321 and 322:
Parameters of the Solution PoolILOG
- Page 323 and 324:
Example: Diverse Solutions through
- Page 325 and 326:
existing partial solution. Several
- Page 327 and 328:
●●IloCplex.writeFilters in the
- Page 329 and 330:
16Using Special Ordered Sets (SOS)I
- Page 331 and 332:
Declaring SOS MembersILOG CPLEX off
- Page 333 and 334:
C H A P T E R17Using Semi-Continuou
- Page 335 and 336:
may be on or off (producing or not
- Page 337 and 338:
C H A P T E R18Using Piecewise Line
- Page 339 and 340:
functions frequently represent situ
- Page 341 and 342:
Figure 18.25f(x)4321x01 2 3 4 5 6 7
- Page 343 and 344:
Variable Shipping CostsNow consider
- Page 345 and 346:
Developing a ModelAs in other examp
- Page 347 and 348:
Solving the ProblemThe following li
- Page 349 and 350:
C H A P T E R19Logical Constraints
- Page 351 and 352:
◆!= that is, the exclusive-or rel
- Page 353 and 354:
Logical Constraints for CountingIn
- Page 355 and 356:
20Using Indicator ConstraintsThis c
- Page 357 and 358:
What Are Indicator Variables?The bi
- Page 359 and 360:
C H A P T E R21Using Logical Constr
- Page 361 and 362:
What Is Known?In this particular ex
- Page 363 and 364:
●The fact that a limited amount o
- Page 365 and 366:
Formulating Logical ConstraintsYou
- Page 367 and 368:
C H A P T E R22Early Tardy Scheduli
- Page 369 and 370:
Reading the DataThe first part of t
- Page 371 and 372:
Consequently, the function can be r
- Page 373 and 374:
C H A P T E R23Using Column Generat
- Page 375 and 376:
or of other subclasses of IloAlgori
- Page 377 and 378:
Developing the Model: Building and
- Page 379 and 380:
newPatt[i] for constraint Fill[i];
- Page 381 and 382:
The heart of the example is here, i
- Page 383 and 384:
Part VInfeasibility and Unboundedne
- Page 385 and 386:
24Preprocessing and FeasibilityILOG
- Page 387 and 388:
25Managing UnboundednessThis chapte
- Page 389 and 390:
Other forms of avoiding under-const
- Page 391 and 392:
C H A P T E R26Diagnosing Infeasibi
- Page 393 and 394:
How to Invoke the Conflict RefinerT
- Page 395 and 396:
This simple model, for example, mig
- Page 397 and 398:
In a larger conflict, you can selec
- Page 399 and 400:
change bound service lower 2.8and r
- Page 401 and 402:
The model is now restored to feasib
- Page 403 and 404:
An attempt to display or access a c
- Page 405 and 406:
the Conflict Refiner on page 394. Y
- Page 407 and 408:
three are combined into a skills co
- Page 409 and 410:
C H A P T E R27Repairing Infeasibil
- Page 411 and 412:
Specifying PreferencesYou specify t
- Page 413 and 414:
The solution values of [40, 30, 80]
- Page 415 and 416:
ound; there is no incentive in the
- Page 417:
Part VIAdvanced Programming Techniq
- Page 420 and 421:
Figure 28.1ycutting planesobjective
- Page 422 and 423:
Adding User Cuts and Lazy Constrain
- Page 424 and 425:
Reading and Writing SAV FilesUser c
- Page 426 and 427:
426 ILOG CPLEX 11.0 — USER’ S M
- Page 428 and 429:
Branch & Cut with GoalsGoals allow
- Page 430 and 431:
Special Goals in Branch & CutILOG C
- Page 432 and 433:
The following lines in the C++ API
- Page 434 and 435:
MyBranchGoal and there is no helper
- Page 436 and 437:
When ILOG CPLEX processes one of th
- Page 438 and 439:
Although it is now solvable directl
- Page 440 and 441:
current node. Thus, if the relaxati
- Page 442 and 443:
other node. By default, the candida
- Page 444 and 445:
follows the branching performed by
- Page 446 and 447:
◆ Return Values for Callbacks on
- Page 448 and 449:
Where to Find Examples of Informati
- Page 450 and 451:
◆◆◆◆◆●●●●IloCplex
- Page 452 and 453:
parallelism, if the application is
- Page 454 and 455:
Implementing Callbacks in ILOG CPLE
- Page 456 and 457:
Table 30.2Callback MacrosCallback M
- Page 458 and 459:
Example: Deriving the Simplex Callb
- Page 460 and 461:
The complete program, ilolpex4.cpp,
- Page 462 and 463:
◆ Before the program calls CPXlpo
- Page 464 and 465:
Notice the comma (,) between the ty
- Page 466 and 467:
The Java implementation of the call
- Page 468 and 469:
Terminating without CallbacksIf you
- Page 470 and 471:
◆◆◆●●With goals, you can
- Page 472 and 473:
472 ILOG CPLEX 11.0 — USER’ S M
- Page 474 and 475:
Introduction to PresolveThis discus
- Page 476 and 477:
Restricting Presolve ReductionsAs m
- Page 478 and 479:
on. The reasons relate to the fact
- Page 480 and 481:
performed on the problem. This func
- Page 482 and 483:
482 ILOG CPLEX 11.0 — USER’ S M
- Page 484 and 485:
Users of the advanced MIP control i
- Page 486 and 487:
een called, CPLEX calls the user ca
- Page 488 and 489:
are violated. The user can do this
- Page 490 and 491:
Solve CallbackThe final callback we
- Page 492 and 493:
parameter (Threads, CPX_PARAM_THREA
- Page 494 and 495:
optimization requires less synchron
- Page 496 and 497:
the parallel MIP optimizer in deter
- Page 498 and 499:
Root Relaxation and Parallel MIP Pr
- Page 500 and 501:
If a log file is active when the cl
- Page 502 and 503:
choosing in LP (C++ API) 53controll
- Page 504 and 505:
variable type (C++ API) 62channel e
- Page 506 and 507:
MIP preprocessing 278CPX_PARAM_COVE
- Page 508 and 509:
CPX_PREREDUCE_NO_PRIMALORDUAL 477CP
- Page 510 and 511:
CPXmCPXmemcpy routine 122CPXMIP_ABO
- Page 512 and 513:
deterministic searchbarrier optimiz
- Page 514 and 515:
feasibility tolerancedefault 192lar
- Page 516 and 517:
Iill-conditionedbasis 193factors in
- Page 518 and 519:
eturn status (C++ API) 58return sta
- Page 520 and 521:
definition 256definition (Java API)
- Page 522 and 523:
primal reductions and 385representi
- Page 524 and 525:
Network optimizergeneral observatio
- Page 526 and 527:
quadraticconstraints 239convex cons
- Page 528 and 529:
IloCplex C++ class 56setExpr method
- Page 530 and 531:
elative optimality default 291role
- Page 532:
532 ILOG CPLEX 11.0 — USER’ S M