- 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 135 and 136: ◆◆◆If your Callable Library a
- Page 137 and 138: Avoid Side-EffectsIt is good idea t
- Page 139 and 140: Optimizer correspond exactly to rou
- Page 141 and 142: ◆ Make Local Variables Temporaril
- Page 143 and 144: C H A P T E R6Managing Input and Ou
- Page 145 and 146: another LP file, the variables ther
- Page 147 and 148: ◆ blanks in lieu of repeated name
- Page 149 and 150: Managing Log FilesAs ILOG CPLEX is
- Page 151 and 152: The option value2 lets you specify
- Page 153 and 154: along with a label indicating which
- Page 155 and 156: C H A P T E R7Licensing an Applicat
- Page 157 and 158: API or Cplex in the .NET API) to in
- Page 159 and 160: The Putenv Method for .NET UsersHer
- Page 161 and 162: C H A P T E R8Tuning ToolThe tuning
- Page 163 and 164: Tuning and Time LimitsThe tuning pr
- Page 165 and 166: Fixing Parameters and Tuning Multip
- Page 167 and 168: ◆ CPX_TUNE_TILIM specifies that t
- Page 169: Part IIIContinuous OptimizationThis
- Page 172 and 173: Choosing an Optimizer for Your LP P
- Page 174 and 175: little variability in the righthand
- Page 176 and 177: ◆ Preprocessing on page 176◆ St
- Page 178 and 179: espectively, control these two prep
- Page 180 and 181: ◆◆overall solution time;number
- Page 182 and 183:
Use the scaling parameter (ScaInd,
- Page 184 and 185:
If you set the memory emphasis para
- Page 186 and 187:
Numerically Sensitive DataThere is
- Page 188 and 189:
◆◆In Concert Technology, use th
- Page 190 and 191:
depends on the current basis. Conse
- Page 192 and 193:
For C++ applications, see Accessing
- Page 194 and 195:
compute a set of conflicting constr
- Page 196 and 197:
196 ILOG CPLEX 11.0 — USER’ S M
- Page 198 and 199:
Introducing the Barrier OptimizerTh
- Page 200 and 201:
◆◆◆Simplex and barrier optimi
- Page 202 and 203:
Using SOL File FormatWhen you use t
- Page 204 and 205:
Ordering-Algorithm Time in the Log
- Page 206 and 207:
Table 10.6ItemBarrier Solution Qual
- Page 208 and 209:
iteration. When you adjust barrier
- Page 210 and 211:
These reductions can be applied to
- Page 212 and 213:
simplex optimizer. While the barrie
- Page 214 and 215:
Difficulties during OptimizationNum
- Page 216 and 217:
Also if you know that your problem
- Page 218 and 219:
Choosing an Optimizer: Network Cons
- Page 220 and 221:
Figure 11.1A8 (0, 10, $4)N5+5A7 (10
- Page 222 and 223:
You can also use the network optimi
- Page 224 and 225:
The function buildNetwork also incl
- Page 226 and 227:
LP problem and this command, ILOG C
- Page 228 and 229:
Identifying Convex QPsConventionall
- Page 230 and 231:
provide as input (Q + Q')/2 instead
- Page 232 and 233:
Saving QP ProblemsAfter you enter a
- Page 234 and 235:
To change the off-diagonal quadrati
- Page 236 and 237:
optimizers are primal-dual in natur
- Page 238 and 239:
Like other applications based on th
- Page 240 and 241:
subject to Ax ~ band a T i x + x T
- Page 242 and 243:
Figure 13.3y(0, 1)(-1, 0)f(1, 0)xe(
- Page 244 and 245:
NAMEROWSN R100L R118L R119L R120L R
- Page 246 and 247:
C167 R100 183C167 R124 -230C167 R12
- Page 248 and 249:
RHSrhs R118 -5rhs R119 2700rhs R120
- Page 250 and 251:
◆◆◆lp indicates that you want
- Page 252 and 253:
252 ILOG CPLEX 11.0 — USER’ S M
- Page 255 and 256:
C H A P T E R14Solving Mixed Intege
- 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