[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