0

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?)

thor
  • 21,418
  • 31
  • 87
  • 173
  • One thing you could try is to [export the model](https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.8.0/ilog.odms.ide.help/OPL_Studio/refoplide/topics/opl_ideref_intell_ed_lped_export_to_lpfile.html) to SAV format. Then, try running it in the CPLEX interactive. This will cut out any overhead that you may be experiencing in the OPL IDE and give you something to compare against. – rkersh Jun 29 '18 at 14:45

1 Answers1

0

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

halfer
  • 19,824
  • 17
  • 99
  • 186
Alex Fleischer
  • 9,276
  • 2
  • 12
  • 15