[Ipopt] Questions about derivative checker in my application
lqc234
lqc234 at 126.com
Thu Aug 20 23:27:53 EDT 2009
Hi all subscribers, hi Andreas,
I used Ipopt for my own application. And I used the derivative checker for my evaluation of derivatives. There is no error reported for the objective function for the first-order derivative checker. However ,there are some errors about the Hessian matrix of the objective function. I wondered whether the second-order information of the hessian for the objective function should be theoretic right under the condition that its first-order is right. Followings are the error reports of derivative checker of Ipopt:
The first-order information of the objective function is ok,as follows:
******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
Ipopt is released as open source code under the Common Public License (CPL).
For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************
This is Ipopt version 3.6.1, running with linear solver ma27.
(For clearity,I omit some other information like
jac_g [ 0, 0] = 2.4192580346748699e+001 v ~ 2.4192580738713332e+001 [1.620e-008] and so on
)
Starting derivative checker for first derivatives.
grad_f[ 0] = 1.1608347103501686e+001 ~ 1.1608346994762542e+001 [9.367e-009]
grad_f[ 1] = 1.3365414915309747e+001 ~ 1.3365414844164443e+001 [5.323e-009]
grad_f[ 2] = 1.5796283347597537e+000 ~ 1.5796285168789836e+000 [1.153e-007]
grad_f[ 3] = 2.5003454442918516e+000 ~ 2.5003461525306485e+000 [2.833e-007]
grad_f[ 4] = 9.7099243229060797e+000 ~ 9.7099249413737549e+000 [6.369e-008]
grad_f[ 5] = -1.0773179814837853e+001 ~ -1.0773178971135167e+001 [7.832e-008]
grad_f[ 6] = 4.2161665105716217e+000 ~ 4.2161666158335720e+000 [2.497e-008]
grad_f[ 7] = 3.7573752776060099e+000 ~ 3.7573754636433470e+000 [4.951e-008]
Howerver ,some erros reported in second-order derivative checker:
Starting derivative checker for second derivatives.
obj_hess[ 0, 0] = 2.1667999999999999e+001 v ~ 2.1668000016461519e+001 [7.597e-010]
obj_hess[ 0, 1] = 1.4846332882348406e+001 v ~ 1.4846332874185464e+001 [5.498e-010]
obj_hess[ 0, 2] = -6.3199549447439418e-001 v ~ -6.3199543376413203e-001 [6.071e-008]
obj_hess[ 0, 3] = -3.0727543785496283e+000 v ~ -3.0727544064745871e+000 [9.088e-009]
obj_hess[ 0, 4] = 3.4428446955109338e-001 v ~ 3.4428424555699166e-001 [2.240e-007]
obj_hess[ 0, 5] = -3.3725573097898369e+000 v ~ -3.3725569892339990e+000 [9.505e-008]
obj_hess[ 0, 6] = -4.6717664533426682e+000 v ~ -4.6717665291851063e+000 [1.623e-008]
obj_hess[ 0, 7] = 1.7283918699941374e+000 v ~ 1.7283918296584488e+000 [2.334e-008]
* obj_hess[ 1, 0] = 1.4846332882348406e+001 v ~ 9.1281670944770920e+008 [1.000e+000]
* obj_hess[ 1, 1] = 7.1104243742634594e+000 v ~ 1.0509828614292449e+009 [1.000e+000]
* obj_hess[ 1, 2] = 2.9470153244501667e+000 v ~ 1.2421330133431286e+008 [1.000e+000]
* obj_hess[ 1, 3] = -5.3405494070519410e-001 v ~ 1.9661343399021125e+008 [1.000e+000]
* obj_hess[ 1, 4] = 2.9853884066737142e+000 v ~ 7.6353513713819706e+008 [1.000e+000]
* obj_hess[ 1, 5] = 3.1521177446064130e-001 v ~ -8.4714371002286768e+008 [1.000e+000]
* obj_hess[ 1, 6] = -1.6040120801053943e+000 v ~ 3.3153617915217382e+008 [1.000e+000]
* obj_hess[ 1, 7] = -4.0798313132651529e+000 v ~ 2.9545935826156133e+008 [1.000e+000]
. ..............................
. ..............................
. ..............................
* obj_hess[ 7, 6] = 3.8733499986256832e+000 v ~ 3.7267636760748780e+008 [1.000e+000]
* obj_hess[ 7, 7] = 2.9676708730317345e+000 v ~ 3.3212278660882109e+008 [1.000e+000]
And I noticed that the derivative results computed by the finite difference of Ipopt is huge, e.g 2.2544251702905512e+009 , 2.2101112672395563e+008 .Why the obj_hess[0][] of the finite differences is resonable and almost identical with the values based on my own code , while others are totally unresonable and have too huge errors compared to my results?
Thanks for any help!!!!!!!!!!!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/ipopt/attachments/20090821/5af1dd4a/attachment.html
More information about the Ipopt
mailing list