[Ipopt] Off-diagonal elements in hessian are being doubled
Stefan Vigerske
stefan at math.hu-berlin.de
Thu Nov 15 12:03:19 EST 2012
Hi,
Ipopt expects to get only the lower off-diagonal or only the upper
off-diagonal elements.
The easy fix is to just specify diagonal and lower diagonal elements.
Best,
Stefan
On 11/15/2012 05:47 PM, Sean C McDuffee wrote:
> My hessian is filling out the following matrix:
>
> 300 0 0 0 -300 0 0 0 0 0 0
> 0 100 0 0 0 -100 0 0 0 0 0
> 0 0 100 0 0 0 -100 0 0 0 0
> 0 0 0 0 0 0 0 0 0 0 0
> -300 0 0 0 600 0 0 0 -300 0 0
> 0 -100 0 0 0 200 0 0 0 -100 0
> 0 0 -100 0 0 0 200 0 0 0 -100
> 0 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 -300 0 0 0 300 0 0
> 0 0 0 0 0 -100 0 0 0 100 0
> 0 0 0 0 0 0 -100 0 0 0 100
>
> but the derivative checker is outputting:
>
> * obj_hess[ 0, 4] = -6.0000000000000000e+02 v ~
> -2.9999999924257281e+02 [ 1.000e+00]
> * obj_hess[ 1, 5] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 2, 6] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 4, 0] = -6.0000000000000000e+02 v ~
> -2.9999999924257281e+02 [ 1.000e+00]
> * obj_hess[ 4, 8] = -6.0000000000000000e+02 v ~
> -2.9999999924257281e+02 [ 1.000e+00]
> * obj_hess[ 5, 1] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 5, 9] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 6, 2] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 6, 10] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 8, 4] = -6.0000000000000000e+02 v ~
> -2.9999999810570444e+02 [ 1.000e+00]
> * obj_hess[ 9, 5] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
> * obj_hess[ 10, 6] = -2.0000000000000003e+02 v ~
> -1.0000000000000000e+02 [ 1.000e+00]
>
> I've checked my setup and the values array and it conforms to the above,
> correct matrix. Can anybody help?
>
> Thanks,
> Sean
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
More information about the Ipopt
mailing list