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

Sylvain Auliac auliac at ann.jussieu.fr
Fri Feb 15 04:20:33 EST 2013


Hi,
 if the hessian matrix have too much non-zero elements for being considered a sparse one, you might try using the BFGS approximation. That said, it will also slow the optimization process down, but maybe less than using a full exact hessian? 

Le 14 févr. 2013 à 23:44, Xin Zhao a écrit :

> Thanks, Stefan.
> 
> I've tried to set such a number of nonzero elements that every potential nonzero entry can be included, but the performance became unacceptable. 
> 
> Is there any option to change the sparsity structure at each iteration to work this out? 
> Or maybe, it is even slower than setting a large number of nonzero entries to change the sparsity structure at each iteration?
> 
> 
> Best,
> Xin 
> 
> 
> On Fri, Feb 15, 2013 at 1:17 AM, Stefan Vigerske <stefan at math.hu-berlin.de> wrote:
> 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
> 
> 
> 
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

Sylvain Auliac
Laboratoire Jacques-Louis Lions
Université Pierre et Marie Curie
mail: auliac at ann.jussieu.fr
tel : 01 44 27 71 70




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130215/055b459f/attachment.html>


More information about the Ipopt mailing list