[Bonmin] Errors in grad_f (and jac_g) according to Ipopt

markus.hogberg at no.abb.com markus.hogberg at no.abb.com
Tue Apr 17 10:05:00 EDT 2007


Hi again Pierre,

I tried running this test using the trunk (rev 475) and found that the
options file is never read as the test code is setup in MyBonmin.cpp , and
thus the derivative test is not performed.
In the file BonOsiTMINLPInterface.cpp I had to add a  line to make the
program read the options file (My_bonmin.opt):

Old:
void
OsiTMINLPInterface::readOptionFile(const char* fileName)
{
extractInterfaceParams();
}

Changed to:
void
OsiTMINLPInterface::readOptionFile(const char * fileName)
{
  app_->Initialize(fileName);
  extractInterfaceParams();
}

With this adjustment, the options file was actually read, and I keep
getting "small" errors in the derivative-test as described before.
(Using the ampl interface does not help...the results are the same)

Best regards,
Markus




Message from Markus Hogberg/NOCRC/ABB at ABB@list.coin-or.org received on
17.04.2007 07:22
Hi Pierre,

Thanks for the reply!

The errors for the test/example problem are "small" O(10^-3), but for other
problems I have tried they can be quite large.
What platform are you using? Compilers? Maybe I have to play around with
compiler flags to get the right behaviour...

Best regards,
Markus




Message from Pierre Bonami <pierre.bonami at gmail.com> received on 12.04.2007
19:38


Hi,
For the derive test I don't really know. I tried with the current
trunk and it does not find any error in the derivatives (I tried with
an Ampl model). Are the error found by the derivative checker large?

I fixed the sqrt(5) issue in both trunk and stable.

Thanks,
Pierre
On Apr 12, 2007, at 2:55 AM, markus.hogberg at no.abb.com wrote:

>
> Hi,
>
> I ran the tests for Bonmin (rev 434) with the Ipopt option
> "derivative_test
> first-order" in bonmin.opt and was surprised to find
> that the first run of Ipopt (in each test-case) did not report any
> errors
> but in subsequent runs, elements in both grad_f and jac_g are wrong.
> I've repeated the test both for the trunk and Bonmin-0.1 with the same
> results.
>
> Does someone know what the reason for this behaviour is?
> My guess is that somehow the "old" inital-point is re-used  in
> bonmin (or
> ipopt) when checking derivatives even if the bounds on variables
> (and the
> initial point) have changed?
> I do not know if this has an influence on the actual solution of
> the NLP in
> ipopt, but it is an indication that something is wrong somewhere.
>
> Best regards,
>
> Markus Högberg
>
> P.S.
> I'm using cl from vs-8 and Digital Fortran 6.6 in cygwin on a WinXP.
> There were syntax errors (that cl cannot handle) in
> $path/Bonmin/test/InterfaceTest.cpp, Replaced sqrt(5) -> sqrt(5.0)
> on lines
> 115,178,196





More information about the Bonmin mailing list