[Coin-lpsolver] basisIsAvailable()
Matthew Saltzman
mjs at ces.clemson.edu
Tue Nov 8 18:34:42 EST 2005
On Tue, 8 Nov 2005, John J Forrest wrote:
> Francois,
>
> The description of basisIsAvailable does not say anything about an optimal
> basis. I thought it was more so you can distinguish Volume algorithm.
>
> I can add optimalBasisIsAvailable if you want but can the OsiCpx
> maintainer tell me what they think basisIsAvailable means?
I think Tobias must have written it, but the implementation of
OsiCpxSolverInterface::basisIsAvailable() calls CPXsolninfo() and returns
the value of the expression solntype == CPX_BASIC_SOLN. So it is
reporting whether there is a current solution together with basis. Other
return codes from CPXsolninfo() (according to cplex.h) are CPX_NO_SOLN,
CPX_NONBASIC_SOLN, CPX_PRIMAL_SOLN.
>From the CPXsolninfo() man page, one parameter is:
[a] pointer to an integer variable indicating the type of solution
currently available. Possible return values are CPX_BASIC_SOLN,
CPX_NONBASIC_SOLN, CPX_PRIMAL_SOLN, and CPX_NO_SOLN, meaning the model
either has a simplex basis, has a primal and dual solution but no
basis, has a primal solution but no corresponding dual solution, or
has no solution, respectively.
The status is valid until the problemis destroyed or the solution is
rendered invalid by problem mods.
Originally, Francois wrote:
>
>
> The function OsiClpSolverInterface::basisIsAvailable() always returns
> true. This is a little bit dangerous. If modifications are made to the
> solver after the last optimization (change of bound on variables, in
> particular), the available basis might be (primal or dual, or both)
> infeasible.
>
> Then, calling cut generators such as Gomory and Reduce-and-Split might
> result in invalid cuts. The only way (as far as I can tell) to prevent
> this
> is to rely on basisIsAvailable() to stop the cut generator if the current
> basis is not optimal anymore.
>
> Cplex is tracking the status of the basis accurately, but Clp does not.
> Is it possible to fix that?
--
Matthew Saltzman
Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs
More information about the Clp
mailing list