12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

These reductions can be applied to all types of problems: LP, QP, QCP, MIP, includingMIQP and MIQCP.Detecting and Eliminating Dense ColumnsDense columns can significantly degrade the performance of the barrier optimizer. A densecolumn is one in which a given variable appears in many rows. So that you can detect densecolumns, the Interactive Optimizer contains a display feature that shows a histogram of thenumber of nonzeros in the columns of your model, display problem histogram c.Nonzeros in Lower Triangle of AA T in the Log File on page 203 explains how to examine alog file from the barrier optimizer in order to tell which columns <strong>CPLEX</strong> detects as dense atits current settings.In fact, when a few dense columns are present in a problem, it is often effective toreformulate the problem to remove those dense columns from the model.Otherwise, you can control whether <strong>ILOG</strong> <strong>CPLEX</strong> perceives columns as dense by settingthe column nonzeros parameter. At its default setting, <strong>ILOG</strong> <strong>CPLEX</strong> calculates anappropriate value for this parameter automatically. However, if your problem contains one(or a few) dense columns that remain undetected at the default setting (according to the logfile), you can adjust this parameter yourself to help <strong>ILOG</strong> <strong>CPLEX</strong> detect it (or them). Forexample, in a large problem in which one column contains forty entries while the othercolumns contain less than five entries, you may benefit by setting the column nonzerosparameter to 30. This setting allows <strong>ILOG</strong> <strong>CPLEX</strong> to recognize that column as dense andthus invoke techniques to handle it.To set the dense column threshold, set the parameter BarColNz to a positive integer. Thedefault value of 0 (zero) means that <strong>ILOG</strong> <strong>CPLEX</strong> will set the threshold.Choosing an Ordering Algorithm<strong>ILOG</strong> <strong>CPLEX</strong> offers several different algorithms in the <strong>ILOG</strong> <strong>CPLEX</strong> Barrier Optimizer forordering the rows of a matrix:◆ automatic, the default, indicated by the value 0;◆ approximate minimum degree (AMD), indicated by the value 1;◆ approximate minimum fill (AMF) indicated by the value 2;◆ nested dissection (ND) indicated by the value 3.The log file, as explained in Ordering-Algorithm Time in the Log File on page 204, recordsthe time spent by the ordering algorithm in a barrier optimization, so you can experimentwith different ordering algorithms and compare their performance on your problem.Automatic ordering, the default option, will usually be the best choice. This option attemptsto choose the most effective of the available ordering methods, and it usually results in the210 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

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

Saved successfully!

Ooh no, something went wrong!