[SCIP] Driving the constraint slack variables out of the basis?

Ambros Gleixner gleixner at zib.de
Tue Aug 14 15:39:07 CEST 2018


Dear Nelson,

We usually prefer to have many slack variables in the basis because this 
means sparser basis matrices and often less factional variables.

You try to experiment with the following small patch:

--- a/src/scip/lp.c
+++ b/src/scip/lp.c
@@ -3174,7 +3174,7 @@ SCIP_RETCODE lpSetSolutionPolishing(

     if( polishing != lp->lpisolutionpolishing )
     {
-      SCIP_CALL( lpSetIntpar(lp, SCIP_LPPAR_POLISHING, (polishing ? 1 : 
0), success) );
+      SCIP_CALL( lpSetIntpar(lp, SCIP_LPPAR_POLISHING, (polishing ? 2 : 
0), success) );
        if( *success )
           lp->lpisolutionpolishing = polishing;
     }

to SCIP 6.0.0 and build from scratch.

Then the parameter setting lp/solutionpolishing = 2 will apply SoPlex' 
solution polishing "in reverse" after each LP.  It is greedy, so not 
guaranteed to find a no slack basis, even if one exists.

Good luck,
Ambros


Am 12.08.2018 um 18:11 schrieb Nelson Uhan:
> Hi all,
> 
> I have a question about basis information in SCIP and SoPlex.
> 
> I’m solving an LP of this form:
> 
> min c’x
> s.t. Ax = b
> x >= 0
> 
> In particular, I’m interested in getting an optimal basis to this LP. After solving the LP in SCIP with SoPlex, I get a list of basic indices using SCIPgetLPBasisInd. Some of these indices are negative. I understand that these negative indices correspond constraint slack variables. These slack variables all have a value of 0 at optimality (the LP is feasible).
> 
> I would like to obtain a list of basic indices corresponding only to columns of A (i.e. nonnegative indices). Presumably, one could do this by pivoting on variables with zero reduced cost to drive the constraint slack variables out of the basis. Is there a (relatively) easy way to do this with SCIP/SoPlex?
> 
> Any help would be much appreciated. Thanks,
> Nelson
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
> 

-- 
Ambros Gleixner, Research Group Mathematical Optimization Methods at 
Zuse Institute Berlin, http://www.zib.de/gleixner


More information about the Scip mailing list