[Osi] [Clp] set row solution (activities)

Matthew Saltzman mjs at clemson.edu
Thu Aug 20 18:17:00 EDT 2009

On Thu, 2009-08-20 at 14:06 -0700, Lou Hafer wrote:
> Laci, et al.,
> 	My take on this is that nothing new is needed in OSI.  A correctly
> functioning OsiXXX should reflect the most recent valid primal or dual solution
> when asked for row activity or reduced costs, whether the solution was obtained
> from the solver or imposed by the user.  It's simply a bug if this doesn't
> occur.
> 	In an earlier email to Matt G. (which I didn't post to the list), I was 
> pointing out that this isn't quite as simple as it sounds. There are multiple 
> possibilities:
>  1) When an OsiXXX object is created, it's expected to construct some sort of
>     valid solution.
>  2) The user can impose a solution.
>  3) The solver can supply a solution.
> It's also possible changes have been made to the problem (coefficients, bounds,
> rhs, costs) so that the solution may no longer be valid.  From memory, the OSI
> spec is not clear about what should happen in this case, and it's something that
> we should specify.

If the solution is the solver's, then it's generally easy to get the row
activities (b - s, where s is the row slacks returned by the
solver--AFAIK, all solvers offer that information directly).

Both other cases involve a solution imposed on the solver exogenously.
In that case, there needs to be a mechanism to compute Ax for the
current A and the given x.  In the case of the initial solution, Ax can
be computed before the matrix is loaded into the solver and freed.   

In the case of a solution imposed by the user, the mechanism is solver
dependent.  For solvers that have the ability to compute Ax for
arbitrary x and unpreprocessed A, that's the thing to do.  For solvers
that don't, about the only thing to do would be to copy out the current
unpreprocessed A and do the multiplication in OSI.

What are conditions for a solution to be "valid"?  I don't think it's a
synonym for "feasible".


> 							Lou

                Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu

More information about the Osi mailing list