[Scip] scaling

Tamas Mahr tamas.mahr at gmail.com
Thu Nov 27 10:27:54 MET 2008


On Wed, 26 Nov 2008 20:45:18 +0100
Tobias Achterberg <achterberg at zib.de> wrote:

> 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).

I have tried to make a new SPxSCIP class that builds on SoPlex, but I
ran into this problem you mention above. SoPlex stores the problem
internally, but when it comes to solving it, it copies the problem into
an SPxSolver object and makes that solve it. Now when various SCIP
functions are trying to access the solver internals, it only makes
sense to access the solved problem withing the SPxSolver that is used
by SoPlex, and not the problem stored in SoPlex itself. But of course
SCIP expects an unscaled, unsimplified problem, and I was wondering if
it is possible to transform such internal representations as the
simplex tableau back. My bet was that it is not
possible. Actually, comments in the simplifier class (call it
documentation) suggests that it is not possible to undo the changes. It
is only possible to transform the solution to the simplified problem
into a solution to the original problem. So I got stuck here,
concluding that maybe SCIP should not access the internals of the
solver, maybe the solution should be enough. But then, I do not really
know the reasons why it is necessary, so I leave it up to you. :)

I would like to thank Thorsten too, and as he suggested, I will wait
for the next release. :)

Tamas


More information about the Scip mailing list