[Cbc] [CBC] Problem when solving the linear relaxation with perturbation

Mathieu LACROIX lacroix at lamsade.dauphine.fr
Tue Jun 23 10:01:48 EDT 2009


Hello all,

I am using Cbc for solving an ILP. As the linear relaxation takes quite 
a long time to be solved, I have
tried to speed it up using some perturbation (an old mail on this list 
proposed this solution). Indeed,
I think this is quite interesting since the executable clp solver solves 
the linear relaxation faster. Thus,
I have added in my program the following code


   OsiSolverInterface *osiLPsolver= new OsiClpSolverInterface;
   //Load the problem in osiLPsolver
   ....

    osiLPsolver->setHintParam(OsiDoDualInInitial,true);//Pour utiliser 
l'algorithme dual du simplexe
    osiLPsolver->setHintParam(OsiDoScale ,true);
   OsiClpSolverInterface *osiTMP = dynamic_cast<OsiClpSolverInterface*> 
(osiLPsolver);
   osiTMP->getModelPtr()->setPerturbation(50);
   osiLPsolver->initialSolve();
   osiTMP->getModelPtr()->setPerturbation(100);
 
    //Solve the integer linear program
    CbcModel model(*osiLPsolver);
   model.branchAndBound();

The computational results show that the linear relaxation is solved 
faster when perturbation is used. However, it sometimes increases the 
time needed to solve the integer linear program when the linear 
relaxation is solved, resulting to a total time of the resolution of the 
ILP greater with respect to the case without perturbation (I suppose 
that it comes from the fact that the linear solution found may change 
when the perturbation is used). 
But for one instance, the integer optimal solution is not the same. When 
perturbation is used, the objective value associated with the optimal 
solution found is not integer but all the variables of the solution 
found and the objective coefficients are integers.

It is possible that I do not use the perturbation correctly but I did 
not find an example of Cbc using perturbation. Can anyone explain me my 
mistake?

Cheers,

Mathieu LACROIX

-- 
Mathieu LACROIX
lacroix at lamsade.dauphine.fr
Laboratoire LAMSADE
Université Paris-Dauphine
Place du Maréchal de Lattre de Tassigny
75775 Paris cedex 16 - France
Tel: +33 (0)1 44 05 48 53
URL: http://epoc.isima.fr/~lacroix/





More information about the Cbc mailing list