- 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: ◆◆l a , the lower bound, sets t
- 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 419 and 420:
C H A P T E R28User-Cut and Lazy-Co
- Page 421 and 422:
However, there is an important dist
- Page 423 and 424:
◆◆Through the routine CPXreadco
- Page 425 and 426:
Here is an example of an MPS file e
- Page 427 and 428:
C H A P T E R29Using GoalsThis chap
- Page 429 and 430:
How Goals Are Implemented in Branch
- Page 431 and 432:
In the Java API, a Fail goal is ret
- Page 433 and 434:
This return statement returns an An
- Page 435 and 436:
The Goal StackTo understand how goa
- Page 437 and 438:
soon as they are enclosed in a goal
- Page 439 and 440:
The global cut goal for lhs[i] ≤
- Page 441 and 442:
If a node has multiple evaluators a
- Page 443 and 444:
As this example is an extension of
- Page 445 and 446:
C H A P T E R30Using Optimization C
- Page 447 and 448:
Reference Documents about Informati
- Page 449 and 450:
Query or Diagnostic CallbacksQuery
- Page 451 and 452:
● Cplex.DisjunctiveCutCallback in
- Page 453 and 454:
◆◆●●Cplex.HeuristicCallback
- Page 455 and 456:
It is not customary to write such a
- Page 457 and 458:
IloCplex::Callback mycallback = cpl
- Page 459 and 460:
Here is the previous sample of code
- Page 461 and 462:
◆◆cbdata, a pointer to ILOG CPL
- Page 463 and 464:
conventions of the Interactive Opti
- Page 465 and 466:
een added, it can be deleted by cal
- Page 467 and 468:
Interaction Between Callbacks and I
- Page 469 and 470:
C H A P T E R31Goals and Callbacks:
- Page 471 and 472:
The only functionality that is not
- Page 473 and 474:
C H A P T E R32Advanced Presolve Ro
- Page 475 and 476:
once. All of the node relaxation so
- Page 477 and 478:
- 5x1, + x2 ≤ 0 2y1, + y2, ≥ 1x
- Page 479 and 480:
problem, the problem has a presolve
- Page 481 and 482:
Modifying a ProblemThis section bri
- Page 483 and 484:
C H A P T E R33Advanced MIP Control
- Page 485 and 486:
value strictly greater than one. It
- Page 487 and 488:
Cut CallbackThe next example we con
- Page 489 and 490:
problem. Since branching involves a
- Page 491 and 492:
C H A P T E R34Parallel OptimizersT
- Page 493 and 494:
Threads and Performance Considerati
- Page 495 and 496:
3. Call the parallel optimizer with
- Page 497 and 498:
optimizer turns out to be the faste
- Page 499 and 500:
0 0 3383.7784 16 4505.0000 Cuts: 35
- Page 501 and 502:
I N D E XIndexAabsolute objective d
- Page 503 and 504:
ole in converting LP to network flo
- Page 505 and 506:
emoving from basis (C++ API) 62repr
- Page 507 and 508:
CPX_PARAM_PCPX_PARAM_POLISHTIMEsolu
- Page 509 and 510:
CPXcreateprob 467CPXcreateprob rout
- Page 511 and 512:
CPXwcpxwarning message channel 151C
- Page 513 and 514:
empty goal 431, 435end methodIloEnv
- Page 515 and 516:
getDuals method (Java API) 88getMax
- Page 517 and 518:
emove method (Java API) 94IloModele
- Page 519 and 520:
ecords singularities 188relocating
- Page 521 and 522:
from 218head 218sink 219source 219s
- Page 523 and 524:
control callbacks and 453query call
- Page 525 and 526:
primal reduction 385primal simplex
- Page 527 and 528:
eturn statusBounded (Java API) 81Er
- Page 529 and 530:
solvingdiet problem (Java API) 82mo
- Page 531 and 532:
arrier 208WorkMem 293WorkMem parame