<div dir="ltr">Thanks, Stefan.<div><br></div><div style>I've tried to set such a number of nonzero elements that every potential nonzero entry can be included, but the performance became unacceptable. </div><div style>
<br></div><div style>Is there any option to change the sparsity structure at each iteration to work this out? </div><div style>Or maybe, it is even slower than setting a large number of nonzero entries to change the sparsity structure at each iteration?</div>
<div style><br></div><div style><br></div><div style>Best,</div><div style>Xin </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 15, 2013 at 1:17 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,<div class="im"><br>
<br>
On 02/14/2013 10:48 PM, Xin Zhao wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So basically I wanna to know:<br>
<br>
At each iteration,<br>
<br>
1. Can we change the sparsity structure of Hessian?<br>
</blockquote>
<br></div>
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.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2. eval_h are called with const Ipopt::Number* x = NULL first or<br>
Ipopt::Index iRow = NULL first.<br>
</blockquote>
<br></div>
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.<br>
<br>
Same for the jacobian.<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">
<br>
<br>
Thanks.<br>
<br>
<br>
Best,<br>
Xin<br>
<br>
<br>
On Thu, Feb 14, 2013 at 11:20 PM, Xin Zhao <<a href="mailto:sean.null@gmail.com" target="_blank">sean.null@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear all,<br>
<br>
Would anyone like to explain me some details on the sequence how eval_h<br>
and eval_jac_g are called?<br>
<br>
At each iteration, are eval_h and eval_jac_g called first with values =<br>
NULL or not?<br>
<br>
For my case, the sparsity structure of eval_h and eval_jac_g depends on<br>
the variables x. So it matters<br>
how eval_h and eval_jac_g are called first. Or maybe there is another<br>
workout?<br>
<br>
Thanks.<br>
<br>
<br>
Best,<br>
Xin<br>
<br>
</blockquote>
<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><br>
<br>
</blockquote>
<br>
</blockquote></div><br></div>