10.07.2015 Views

CPLEX 11

CPLEX 11

CPLEX 11

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>CPLEX</strong> <strong>11</strong> 126 Special Notes6.1 Physical Memory LimitationsFor the sake of computational speed, Cplex should use only available physical memory rather than virtual orpaged memory. When Cplex recognizes that a limited amount of memory is available it automatically makesalgorithmic adjustments to compensate. These adjustments almost always reduce optimization speed. Learningto recognize when these automatic adjustments occur can help to determine when additional memory should beadded to the computer.On virtual memory systems, if memory paging to disk is observed, a considerable performance penalty is incurred.Increasing available memory will speed the solution process dramatically. Also consider option memoryemphasisto conserve memory where possible.Cplex performs an operation called refactorization at a frequency determined by the reinv option setting. Thelonger Cplex works between refactorizations, the greater the amount of memory required to complete each iteration.Therefore, one means for conserving memory is to increase the refactorization frequency. Since refactorizingis an expensive operation, increasing the refactorization frequency by reducing the reinv option setting generallywill slow performance. Cplex will automatically increase the refactorization frequency if it encounters lowmemory availability. This can be seen by watching the iteration log. The default log reports problem status atevery refactorization. If the number of iterations between iteration log entries is decreasing, Cplex is increasingthe refactorization frequency. Since Cplex might increase the frequency to once per iteration, the impact onperformance can be dramatic. Providing additional memory should be beneficial.6.2 Using Special Ordered SetsFor some models a special structure can be exploited. GAMS allows you to declare SOS1 and SOS2 variables(Special Ordered Sets of type 1 and 2).In Cplex the definition for SOS1 variables is:• A set of variables for which at most one variable may be non-zero.The definition for SOS2 variables is:• A set of variables for which at most two variables may be non-zero. If two variables are non-zero, they mustbe adjacent in the set.6.3 Using Semi-Continuous and Semi-Integer VariablesGAMS allows the declaration of semi-continous and semi-integer variables.supported by GAMS/Cplex. For example:These variable types are directlySemiCont Variable x;x.lo = 3.2;x.up = 8.7;SemiInt Variable y;y.lo = 5;y.up = 10;Variable x will be allowed to take on a value of 0.0 or any value between 3.2 and 8.7. Variable y will be allowedto take on a value of 0 or any integral value between 5 and 10.Note that Cplex requires a finite upper bound for semi-continous and semi-integer variables.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!