[Coin-discuss] OsiOsl bug ?
Tim Hultberg
thh at mat.ua.pt
Fri May 30 13:56:14 EDT 2003
Thanks John,
this helped, but I still have some questions.
I would not have expected information from the previous problem to survive
after a second call to loadProblem. But I guess that what I have learned is
that an OSI solver interface is supposed to be used for one problem only?
I was solving a sequence of problems from a FLOPC++ model using the same Osi-
SolverInterface. Setting Solver->setDblParam(OsiDualObjectiveLimit,1.0e50 );
after each solve was not enough to make it work properly, but making a new
clone of the Solver each time did the trick. So I guess that more information
than only OsiDualObjectiveLimit is retained when calling loadProblem (but not
when making a clone)?
Tim Hultberg
On Friday 30 May 2003 17:02, John J Forrest wrote:
> Tim,
>
> It is a "feature" - there may be a bug but not where you think.
>
> When Osl finds a solution it sets a "bound" of solution - epsilon (default
> 1.0e-5). OsiOsl picks up this and stores it so in this case it is as if
>
> Solver->setDblParam(OsiDualObjectiveLimit,-1.0e-5);
>
> After second branch and bound the test for provenOptimal etc tests
> objective value of 0.0 against -1.0e-5 and says not optimal which is
> correct.
>
> To get the behavior you want add this before second solve.
>
> Solver->setDblParam(OsiDualObjectiveLimit,1.0e50);
>
> The bug? Osl seems to say that it found an optimal solution when it
> should not have. I will look into it to see if OsiDualObjectiveLimit is
> not being passed in to Osl correctly.
>
> John Forrest
--
Tim Hultberg
More information about the Coin-discuss
mailing list