- 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 256 and 257:
Stating a MIP ProblemA mixed intege
- Page 258 and 259:
sections does not matter. To enter
- Page 260 and 261:
◆milp, miqp, or miqcpindicating t
- Page 262 and 263:
1. finding a succession of improvin
- Page 264 and 265:
easonable amount of computation tim
- Page 266 and 267:
If the solution to the relaxation s
- Page 268 and 269:
anches taken so far in this dive. S
- Page 270 and 271:
directives about the order in which
- Page 272 and 273:
◆ Parameters Affecting Cuts on pa
- Page 274 and 275:
◆●●IloCplex.getNcuts in the J
- Page 276 and 277:
Relaxation Induced Neighborhood Sea
- Page 278 and 279:
Table 14.10Parameters for Controlli
- Page 280 and 281:
Library). If this process succeeds,
- Page 282 and 283:
After you have solved a MIP, you wi
- Page 284 and 285:
Table 14.13Settings of the MIP Disp
- Page 286 and 287:
ILOG CPLEX also logs its addition o
- Page 288 and 289:
◆ Parent specifies the NodeID of
- Page 290 and 291:
parameter settings are also worth c
- Page 292 and 293:
When you set a MIP cutoff value, IL
- Page 294 and 295:
memory. It also includes several op
- Page 296 and 297:
◆◆●●at problem modification
- Page 298 and 299:
◆In the Callable Library, use the
- Page 300 and 301:
●●Then call CPXprimopt to optim
- Page 302 and 303:
◆ The Incumbent and the Solution
- Page 304 and 305:
c17: x1 - y11 >= 0c18: x1 - y21 >=
- Page 306 and 307:
Populating the Solution PoolILOG CP
- Page 308 and 309:
NodesCuts/Node Left Objective IInf
- Page 310 and 311:
Note: The parameter to limit the nu
- Page 312 and 313:
Example: Using Populate after MIP O
- Page 314 and 315:
Limitations Due to Numeric Difficul
- Page 316 and 317:
Examining the Solution PoolIn the I
- Page 318 and 319:
For a sample of these methods or ro
- Page 320 and 321:
◆◆In the Callable Library (C AP
- Page 322 and 323:
Then display the objective value of
- Page 324 and 325:
◆ If you want to filter solutions
- Page 326 and 327:
●●●In the C++ API, use the me
- Page 328 and 329:
NAME locationRNGFILTER f2 -inf 0tra
- Page 330 and 331:
continuous, a model containing one
- Page 332 and 333:
◆The routine setPriorities sets t
- Page 334 and 335:
What Are Semi-Continuous Variables?
- Page 336 and 337:
With that model, now the applicatio
- Page 338 and 339:
Piecewise Linearity in ILOG CPLEXSo
- Page 340 and 341:
Reminder: It may help you understan
- Page 342 and 343:
overlaps with an endpoint of two ot
- Page 344 and 345:
Figure 18.4400003000020000100000Fig
- Page 346 and 347:
in demand; in terms of this model,
- Page 348 and 349:
348 ILOG CPLEX 11.0 — USER’ S M
- Page 350 and 351:
What Are Logical Constraints?For IL
- Page 352 and 353:
◆◆Cplex.NotCplex.IfThenAgain, t
- Page 354 and 355:
354 ILOG CPLEX 11.0 — USER’ S M
- Page 356 and 357:
In Concert Technology applications,
- Page 358 and 359:
358 ILOG CPLEX 11.0 — USER’ S M
- Page 360 and 361:
Describing the ProblemThe problem i
- Page 362 and 363:
Notice that how much to use and buy
- Page 364 and 365:
Then use a for-loop to add the cons
- Page 366 and 367:
These lines (the action of the if-s
- Page 368 and 369: Describing the ProblemThe problem i
- Page 370 and 371: Stating Precedence ConstraintsIn ea
- Page 372 and 373: Solving the ProblemAn emphasis on f
- Page 374 and 375: What Is Column Generation?In colloq
- Page 376 and 377: Solving this model with all columns
- Page 378 and 379: Likewise, the application adds an a
- Page 380 and 381: Pattern Generator ModelThe submodel
- Page 382 and 383: Complete ProgramYou can see the ent
- Page 384 and 385: your problem formulation caused thi
- Page 386 and 387: To control the types of reductions
- Page 388 and 389: What Is Unboundedness?Any class of
- Page 390 and 391: Callable Library use the advanced r
- Page 392 and 393: the conflict to arrive at a minimal
- Page 394 and 395: the IIS finder can, and often more.
- Page 396 and 397: Then you will see results like thes
- Page 398 and 399: Now view the entire conflict with t
- Page 400 and 401: The constraints in conflict with th
- Page 402 and 403: If a model contains more than one c
- Page 404 and 405: Immediately after that statement, i
- Page 406 and 407: ◆ Groups in the Conflict Refiner
- Page 408 and 409: 408 ILOG CPLEX 11.0 — USER’ S M
- Page 410 and 411: The infeasibility on which FeasOpt
- Page 412 and 413: Now the following lines invoke Feas
- Page 414 and 415: suggests decreasing the upper bound
- Page 416 and 417: 416 ILOG CPLEX 11.0 — USER’ S M
- 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