[Scip] Gurobi LP interface

Stefan Vigerske stefan at math.hu-berlin.de
Thu Apr 22 14:16:17 MEST 2010


Hi,

> I've been using SCIP for a few different projects, and recently tried switching
> from CPLEX and soplex to gurobi as an LP solver.
> The following problem occurs: "ERROR: Gurobi cannot handle ranged rows.".
> Some examination shows that this means any linear constraint with lhs < rhs.
> I checked the gurobi docs and it appears there is a GRBaddrangeconstrs() call,
> which appears to add equality constraints though.

Yes, this behaviour makes writing an interface that supports ranged rows
for Gurobi quite messy. The GRBaddrangeconstrs() reformulates the ranged
row into an equality row by adding an auxiliary (slack) variable.
Unfortunately, Gurobi does not hide this reformulation. Thus, the
interface would need to map between the variable indices that the LPI
user uses and the variable indices in Gurobi. (Have a look into the
Osi/Gurobi link to see how this messes up the code.)

Stefan

> What is the idiomatic way to deal with this?
> Do i have to rewrite all my constraints (this would mean dealing with extra 
> pricing variables depending on which solver i use, so i dislike this 
> solution), or is there an easier way?
> I noticed that constraints seem to be split as _lhs and _rhs automatically 
> when i output my problem in LP format, so is there a way to get to these?
> Or is there a plan to support these in lpi_grb	.c in the future?
> I'd be willing to try this myself if there is no compelling reason why it 
> can't be done there.
> 
> Regards,
> Eamonn Coughlan
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
> 



More information about the Scip mailing list