[Osi] CPLEX Error 1217: No solution exists

Lou Hafer lou at cs.sfu.ca
Mon Jun 2 23:06:02 EDT 2008


Matt,

> [ Discussion of what to do to calculate objective value. ]

> The behavior should probably be as consistent as possible across OsiXxx
> classes.  So:

> (1) Is the behavior in other SIs consistent?  If so, what is it?

Consistent? More or less. But the Osi specification leaves a lot of room. The
unitTest is the current working definition of correct. OsiCpx fails big-time.

>From a conservative viewpoint of always returning a correct answer for the
current problem, any change to the problem should invalidate the current
solution unless the Osi can prove otherwise.  Various bits of COIN code
occasionally overlook this nicety, but most OsiXXX are not wired to detect it
and return whatever they have handy, correct or not.

Some things are obvious:  The current column solution is (in general) not valid
after deleting a column.  To prove otherwise is a fair amount of work.  On the
other hand, a column bound change that doesn't conflict with the current
solution should not invalidate it.

Deletion of a row illustrates a grey area:  Likely the solution is still valid,
but it may not be optimal. What is the client expecting in this case? A change 
to an objective coefficient is another grey area. The problem has clearly 
changed, but the column solution is still valid, though probably not optimal.

There are a couple of corner cases to consider:

  * The client can impose a solution (setColSolution, setRowSolution). A call
    to getObjValue should return the correct value for the imposed solution.

  * The Osi is expected to synthesize a solution when a problem is loaded.
    A call to getObjValue should return a value that's correct for the
    synthesized solution. The form of the synthesized solution is not specified.


> (If someone knows, it will save me some time that I
> don't really have right now, as I'm teaching summer school.  TIA.)

	A fellow member of the teach-in-summer group, eh? My cross at the
	moment is a virtualised Network Lab. Don't believe the VMWare people
	when they tell you virtual networks of virtual workstations actually
	work   :-)


							Lou




More information about the Osi mailing list