[Scip] Column Generation for large MILP gives numerical instability in SCIP, but works flawlessly in AMPL
Andrea Taverna
andrea.taverna at unimi.it
Thu Nov 13 17:56:40 CET 2014
Hello everyone,
I am working on this large scale MILP problem for which I devised a
Column Generation scheme. The CG algorithm was prototyped first in AMPL
and then implemented in SCIP. In both cases I used CPLEX as the
underlying general purpose solver.
The algorithm uses the barrier algorithm to solve the master problem.
I had no issues with the AMPL prototype.
With SCIP I often encounter numerical stability issues, even with small
instances, but not all of them.
Numerical instability increases the computation time for barrier, w.r.t.
AMPL, and if I disable the crossover phase of the barrier algorithm SCIP
actually terminates prematurely the LP iterations lamenting numerical
instability. On the other hand, if I disable LP stability checks in SCIP
the master LP value oscillates producing bogus solutions.
Primal/Dual simplex are also way slower than Barrier (with or without
crossover).
I checked the two implementations over and over and I made several tests
which produced practically identical results.
In the SCIP implementation I also tried to raise the minimum reduced
cost for new columns to be added to the master problem, e.g. -10^-2, but
it doesn't seem to affect the situation.
Perhaps AMPL manages to be more efficient thanks to some perturbation
introduced either during presolve or while handling the files used in
its backend. Or it could be SCIP passes some parameters to the
underlying CPLEX which differ from the ones used by AMPL. If possible
I'd like to specify some parameters to CPLEX from SCIP, e.g. trying
adding some perturbation, to try to fix the issue.
Is it possible?
What else can I do to fix the issue?
TIA
Andrea
More information about the Scip
mailing list