I am running on Linux Centos. With that config argument, I still have the same problem.<div><br></div><div>if I replace </div><div><br></div><div>IpBlasDcopy(nx,&zero, 0, gradref, 1); </div><div>IpBlasDcopy(nx, &zero, 0, gradpert, 1)</div>
<div><br></div><div>with </div><div><br></div><div>std::fill(gradref, gradref + nx, 0.0)</div><div>std::fill(gradpert, gradpert + nx, 0.0)</div><div><br></div><div>,in the check derivative function.</div><div><br></div><div>
It works. However, I am running into the same problem somewhere else.</div><div><br><br><div class="gmail_quote">On Wed, May 16, 2012 at 11:13 AM, Stefan Vigerske <span dir="ltr"><<a href="mailto:stefan@math.hu-berlin.de" target="_blank">stefan@math.hu-berlin.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
the only thing that comes into my mind is that if you use Mac OS X Lion, then there is a problem when using the optimized blas routines that come with the system, for details see<br>
<a href="https://projects.coin-or.org/Ipopt/ticket/181" target="_blank">https://projects.coin-or.org/<u></u>Ipopt/ticket/181</a><br>
<br>
This issue has not been fixed in an Ipopt release yet (only in trunk and latest stable branch).<br>
One workaround is to use netlib's blas/lapack implementation (do get.Blas and get.Lapack in ThirdParty/Blas and ThirdParty/Lapack, resp.) and building Ipopt with the configure options --with-blas=BUILD --with-lapack=BUILD .<br>
<br>
Stefan<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Hi,<br>
<br>
First when I use IPOPT for my problem, I see the bound constraints for<br>
parameters are violated. The library throws an exception, and the program<br>
terminated. To be specific the contraint on that parameter is [0.005,<br>
0.006], however I see the library is trying to use 0 for that parameter.<br>
<br>
Later, I enabled second order deriviative check, however the numerical<br>
calculation gives asymmetric Hessian matrix for contraints. The values are<br>
very different one is about 3000, the other is about 3.0e13. I spend some<br>
time on the library source code. I found the following line changes the<br>
parameter magically:<br>
<br>
for (Index i = 0; i< nx; ++i) {<br>
std::cout<< ivar<< " 2.3 "<< xref[i]<< " "<< xpert[i]<<<br>
std::endl;<br>
}<br>
<br></div>
IpBlasDcopy(nx,&zero, 0, gradref, 1);<div class="im"><br>
<br>
for (Index i = 0; i< nx; ++i) {<br>
std::cout<< ivar<< " 2.5 "<< xref[i]<< " "<< xpert[i]<<<br>
std::endl;<br>
}<br>
<br>
The output is:<br>
1 2.3 0.0481804 0.0481804<br>
1 2.3 700.976 700.976<br>
1 2.3 0.0165778 0.0165778<br>
1 2.3 2.54335 2.54335<br>
1 2.3 0.27909 0.27909<br>
<br>
1 2.5 0.0481804 0<br>
1 2.5 700.976 700.976<br>
1 2.5 0.0165778 0.0165778<br>
1 2.5 2.54335 2.54335<br>
1 2.5 0.27909 0.27909<br>
<br>
IpBlasDcopy is a Fortran function, is that the problem?<br>
<br>
<br>
<br>
<br></div>
______________________________<u></u>_________________<br>
Ipopt mailing list<br>
<a href="mailto:Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/<u></u>mailman/listinfo/ipopt</a><span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
Stefan Vigerske<br>
Humboldt University Berlin, Numerical Mathematics<br>
<a href="http://www.math.hu-berlin.de/~stefan" target="_blank">http://www.math.hu-berlin.de/~<u></u>stefan</a><br>
</font></span></blockquote></div><br></div>