coin-or / Clp.old

This a mirror of the subversion repository on COIN-OR.
https://projects.coin-or.org/Clp
Other
36 stars 20 forks source link

[TRAC] Automatic dualization in interior-point solver #16

Closed qtothec closed 5 years ago

qtothec commented 5 years ago

Moved from TRAC as part of COIN fORgery: https://projects.coin-or.org/Clp/ticket/19

The Clp interior point solver uses the primal form of the problem to repeatedly solve a linear system.

Depending on the number of rows and columns, as well as the sparsity and structure of the system, it would be better to solve the dual problem instead. ClpMain?.cpp contains a heuristic check and dualizes the model to exploit this already, to save memory and to speed up the solution.

It would be really nice to have this kind of check/dualization automatically put into ClpInterior?, and either automatically enabled or by means of an option in ClpModel? and exported to OsiClpSolverInterface?.

It makes a big difference for the problem class I consider right now. Without dualization the memory usage is too big and I cannot solve the problem. With dualization it only uses 25 percent of the RAM on my computer.

jjhforrest commented 5 years ago

-dualize 1 -barrier seems to work