[Scip] scaling

Tobias Achterberg achterberg at zib.de
Wed Nov 26 20:45:18 MET 2008



Mahr Tamas wrote:
> Thank you for looking into this!
> 
> I wonder if the problem is really at soplex. I have tried to solve the 
> same problem with the soplex shell command, and it can solve it very 
> quickly. (I guess it solves the lp relaxation of the mip, but I am 
> guessing here. In fact I have no clue how soplex interprets a mip.)
> 
> Looking into the soplex code reveals that their cli program uses the 
> MySoPlex class that is derived from the SoPlex class. The scip interface 
> class for soplex (SPxSCIP), however, is derived from a different line, 
> namely the SPxSolver class. This class is a sibling of the SoPlex class. 
> Unfortunately, the SPxSolver class do not use the presolver or scaler 
> classes that are used in the SoPlex class. That is why the command line 
> program can solve this problem, while the scip solver cannot.
> 
> I think either the SPxSCIP class should be derived from the SoPlex class 
> and then it could make use of the scaling/presolving classes in there, 
> or the SPxSCIP class could at least mimic the SoPlex class by applying 
> the presolving/scaling classes in a similat manner. But maybe I am 
> totally wrong here, and scaling/presolving should happen already in scip 
> at the beginning of the branch-and-bound search and not in soplex every 
> time an lp relaxation is solved.

No, you are completely right. The SoPlex class is basically a wrapper around the core 
SPxSolver class to provide presolving and scaling.

However, this is not as easy as it seems. I don't know whether SoPlex already supports all 
the calls that are needed for SCIP, for example to access the simplex tableau rows (and 
automatically unscale it).


Tobias


More information about the Scip mailing list