[Cbc] Cbc with a linear solver using dual simplex

Stefan Vigerske stefan at math.hu-berlin.de
Fri Jul 11 09:21:00 EDT 2008


Hi,

there is an option for Osi solvers that specify whether the dual or 
primal algorithm should be used to solve the initial problem:
http://www.coin-or.org/Doxygen/Osi/class_osi_solver_interface.html#edcb2c5464253e6df177d3d3f51e28d6
http://www.coin-or.org/Doxygen/Osi/_osi_solver_parameters_8hpp.html#b1e3caa8d88907e59daccad09ef3377a

Something like osiLPSolver->setHintParam(OsiDoDualInInitial) might work.

Best,
Stefan

Mathieu LACROIX schrieb:
> Hi,
> I am using cbc to solve a branch and cut with clp as linear solver. The 
> code works fine but the problem is that the linear relaxation takes a 
> long time to be solved. I changed my code to compute the linear 
> relaxation using the dual simplex algorithm
> (  dynamic_cast<OsiClpSolverInterface*> 
> (osiLPsolver)->getModelPtr()->initialDualSolve(); instead of 
> osiLPsolver->initialSolve() ) and the linear relaxation was computed 
> really faster (3 minutes instead of 50 minutes). If I tried to then 
> solve the problem (and not the linear relaxation) to optimality, no 
> solution is found with the dual simplex algorithm (If I solve the 
> problem with osiLPsolver->initialSolve(), I have a solution). However, 
> the linear relaxation optimal values obtained with the two method are 
> equal.
> I suppose that the way I call the dual simplex algorithm is not correct 
> but I did not find how to do this. Has somebody already done this, 
> please? Or maybe it is not possible to use Cbc with the dual simplex 
> algorithm for the linear solver?
> 
> Thanks,
> Mathieu
> 


-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan


More information about the Cbc mailing list