[Ipopt] What if the sparsity structure of Hessian depends on x

Stefan Vigerske stefan at math.hu-berlin.de
Thu Feb 14 17:17:23 EST 2013


Hi,

On 02/14/2013 10:48 PM, Xin Zhao wrote:
> So basically I wanna to know:
>
> At each iteration,
>
> 1. Can we change the sparsity structure of Hessian?

No. During initialization, you should specify a sparsity structure that 
is valid during the whole solution process. You may then have to put 0 
values into the hessian from time to time.

> 2. eval_h are called with const Ipopt::Number* x = NULL first or
> Ipopt::Index iRow = NULL first.

At the beginning, Ipopt calls eval_h with x = NULL to get the sparsity 
structure. Later, it calls with x != NULL to get the values w.r.t. the 
initially specified sparsity structure.

Same for the jacobian.

Stefan

>
>
> Thanks.
>
>
> Best,
> Xin
>
>
> On Thu, Feb 14, 2013 at 11:20 PM, Xin Zhao <sean.null at gmail.com> wrote:
>
>> Dear all,
>>
>> Would anyone like to explain me some details on the sequence how eval_h
>> and eval_jac_g are called?
>>
>> At each iteration, are eval_h and eval_jac_g called first with values =
>> NULL or not?
>>
>> For my case, the sparsity structure of eval_h and eval_jac_g depends on
>> the variables x. So it matters
>> how eval_h and eval_jac_g are called first. Or maybe there is another
>> workout?
>>
>> Thanks.
>>
>>
>> Best,
>> Xin
>>
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list