I am trying to solve a network flow problem by writing it as a linear program using OPL and solving it with CPLEX Studio. It took CPLEX Studio 26 minutes to solve the problem. However, the Engine Log
says that Network time = 0.21 sec
:
CPXPARAM_LPMethod 3
Tried aggregator 1 time.
LP Presolve eliminated 914361 rows and 916674 columns.
Aggregator did 5 substitutions.
Reduced LP has 4629 rows, 457853 columns, and 913392 nonzeros.
Presolve time = 1.28 sec. (955.67 ticks)
Extracted network with 4630 nodes and 457853 arcs.
Extraction time = 0.04 sec. (22.54 ticks)
Iteration log . . .
Iteration: 0 Infeasibility = 3444.000000 (-1.21856e+06)
...
Iteration: 50000 Objective = -1158876.510000
Network - Optimal: Objective = -1.1643204900e+06
Network time = 0.21 sec. (53.14 ticks) Iterations = 54799 (15500)
I'm not entirely sure if I read the log right.
Does it mean the presolve (or other overhead) took the 26 minutes to eliminate rows/columns etc. while the actual network solving only took 0.2 seconds?
If so, would bypassing the presolve be faster? (And if necessary, how can I bypass the presolve?)
You should have a look at the profiler tab in order to know where time is spent.
Technote: http://www-01.ibm.com/support/docview.wss?uid=swg21401402
OPL CPLEX forum: https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000002053