- 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 44 and 45: Architecture of a CPLEX C++ Applica
- Page 46 and 47: ● Defining Variables and Expressi
- Page 48 and 49: modeling API provided by Concert Te
- Page 50 and 51: Solving the ModelILOG CPLEX general
- Page 52 and 53: models and algorithm-objects can be
- Page 54 and 55: Table 1.2 Optimizer Options in IloC
- Page 56 and 57: Some integer parameters are tied to
- Page 58 and 59: Table 1.6 Algorithm Status and Info
- Page 60 and 61: Unfortunately, there is no simple c
- Page 62 and 63: Concert Technology also provides a
- Page 64 and 65: Objects of the exception class IloC
- Page 66 and 67: your diet. Also, you go through the
- Page 68 and 69: data and return an array of modelin
- Page 70 and 71: Complete ProgramThe complete progra
- Page 72 and 73: Architecture of a CPLEX Java Applic
- Page 74 and 75: Modeling an Optimization Problem wi
- Page 76 and 77: Using IloModelerIloModeler defines
- Page 78 and 79: Objective FunctionsThe objective fu
- Page 80 and 81: With what you have learned so far,
- Page 82 and 83: For example, an Optimal status indi
- Page 84 and 85: ◆A single QP is solved if both Il
- Page 86 and 87: Table 2.4 Algorithm Types for NodeA
- Page 88 and 89: similar to the C++ goals and callba
- Page 90 and 91: One approach, invoked by the method
- Page 92 and 93:
objects define how to install a new
- Page 94 and 95:
Once the model is created, solving
- Page 96 and 97:
96 ILOG CPLEX 11.0 — USER’ S MA
- Page 98 and 99:
Note: This chapter consists of a tu
- Page 100 and 101:
public class Diet {internal class D
- Page 102 and 103:
Step 6Set up rowsGo to the comment
- Page 104 and 105:
Step 12Create variablesGo to the co
- Page 106 and 107:
Step 16Read the command line (data
- Page 108 and 109:
108 ILOG CPLEX 11.0 — USER’ S M
- Page 110 and 111:
Architecture of the ILOG CPLEX Call
- Page 112 and 113:
This routine checks for a valid ILO
- Page 114 and 115:
Destroy the Problem ObjectUse the r
- Page 116 and 117:
Data TypesIn the Callable Library,
- Page 118 and 119:
Parameter RoutinesYou can set many
- Page 120 and 121:
Using Diagnostic Routines for Debug
- Page 122 and 123:
and CPXfputs. Callable Library Rout
- Page 124 and 125:
shows you the default, the maximum,
- Page 126 and 127:
Creating a Model Row by RowYou walk
- Page 128 and 129:
After this, the program finishes by
- Page 130 and 131:
Example: Using Query Routines lpex7
- Page 133 and 134:
C H A P T E R5Developing CPLEX Appl
- 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