Page 1 of 1

Identifying the coefficients for basic variables

Posted: Mon Nov 13, 2017 5:00 pm
by fecisti-nos-ad-te
Is there a GAMS utility that allows you to extract c, b and A for the basis at optimality for an LP? I have not found anything by looking through the GAMS documentation. From what I have read, stand-alone CPLEX allows you to pull the basis information, but I do not own a stand-alone version of CPLEX.

In the absence of a GAMS utility that can provide the basis characteristics, I have been thinking about a way to reconstruct this information using the solution from the GAMS savepoint file (_p.gdx) and the coefficients from the .mps file.

The savepoint file would allow me to create a list the basic variables by looking for those variables with non-zero level values. I have not formulated my model in LP standard form (i.e., I use inequalities), so I have not explicitly defined excess and slack variables for each of the constraints. But, I can identify which constraints are non-binding by looking for those with a zero marginal value. Then I can add a slack or excess variable associated with these constraints to my list of basic variables.

Once I have identify the basic variables, I can use the .mps file to build c, b and A for the basis.

This is easier said than done, but before I embark on this approach I wanted to see if anyone has found a easy way to extract this information for his or her model.