[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