[Coin-discuss] OsiCbc

Alan King kingaj at us.ibm.com
Tue Apr 5 22:42:58 EDT 2005


Few comments below
 

coin-discuss-bounces at list.coin-or.org wrote on 04/05/2005 07:43:00 PM:

> John J Forrest wrote:
> > 
> > Ted,
> > 
> > Does adding #include <cstdio> at top of CoinHelperFunctions.hpp help?
> > 
> > John
> 
> Yes, that fixes it. Thanks.
> 
> Also, the OsiSymSolverInterface unit test should work properly now. 
> There was a bug in the copy constructor that is now fixed. Also, I had 
> to comment out a few tests. SYMPHONY will not pass the common unit tests 

> for two reasons:
> 
> 1. We do not allow an infeasible solution to be loaded into the 
> interface. I think this is a reasonable policy, since it is natural to 
> assume that the currently loaded solution is feasible to the currently 
> loaded problem. SYMPHONY has no mechanism for storing an infeasible 
> solution. This unit test requires this. I'm not sure this is reasonable, 

> but I'd be curious to hear other opinions.

If the user can modify the loaded solution, then it is reasonable to 
assume
that it could be infeasible.

> 
> 2. Pointers to rim vectors returned by methods such as getColLower() 
> become invalid if the problem is modified. This is because SYMPHONY 
> itself returns a copy of requested rim vectors to the interface (not a 
> pointer to the internally stored data). The pointer to this copy is then 

> cached locally in the interface. It is the pointer to this locally 
> cached copy that is returned to the user. The locally cached arrays are 
> deleted when certain problem data are modified and only recreated when a 

> new pointer is requested. In particular, when any column bound is 
> changed, the locally cached copies of both the upper and lower bound 
> arrays are deleted. The common unit test requests a pointer to the 
> bounds arrays, then modifies the problem and expects that pointer to 
> remain valid. I'm not sure this is reasonable either. Pointers should 
> probably only be required to remain valid while the problem data remains 

> unchanged. I'd be curious to hear other opinions on this as well.

It is reasonable to require the user to suppose that a pointer to an 
internal array could be modified by its owning program during a subsequent
call.  For the unit test, the bounds arrays returned in the subsequent 
call should be identical to the ones obtained previously.

Best,
Alan

> 
> Cheers,
> 
> Ted
> -- 
> Dr. Ted Ralphs
> Assistant Professor
> Industrial and Systems Engineering
> Lehigh University
> (610)758-4784
> tkralphs at lehigh.edu
> www.lehigh.edu/~tkr2
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20050405/ccbd2248/attachment.html>


More information about the Coin-discuss mailing list