[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