<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">I guess you could modify the linear
      solver driver to use a drop tolerance and rerun the analysis on
      every iteration.<br>
      I'm actually planning to do this in one of the HSL drivers at some
      stage in the future, so if you try it I'd be interested to hear
      how you get on.<br>
      <br>
      The major cost of changing the sparsity structure is that the
      ordering needs to be recalculated. If you choose a cheaper
      ordering (minimum degree rather than nested dissection based)
      you'll amortize that cost, though your numerical factorization may
      take longer/be less parallel.<br>
      <br>
      Regards,<br>
      <br>
      Jonathan.<br>
      <br>
      On 14/02/13 22:44, Xin Zhao wrote:<br>
    </div>
    <blockquote
cite="mid:CA+cCJtFJo2mcb5XQ=yTr1BuFJGv5P-PeTADXJq2NK7kPV7FTgg@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <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.&nbsp;</div>
        <div style="">
          <br>
        </div>
        <div style="">Is there any option to change the sparsity
          structure at each iteration to work this out?&nbsp;</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&nbsp;</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">&lt;<a moz-do-not-send="true"
              href="mailto:stefan@math.hu-berlin.de" target="_blank">stefan@math.hu-berlin.de</a>&gt;</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 &lt;<a
                  moz-do-not-send="true"
                  href="mailto:sean.null@gmail.com" target="_blank">sean.null@gmail.com</a>&gt;
                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>
              _______________________________________________<br>
              Ipopt mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br>
              <a moz-do-not-send="true"
                href="http://list.coin-or.org/mailman/listinfo/ipopt"
                target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
              <br>
            </blockquote>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Ipopt mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="http://list.coin-or.org/mailman/listinfo/ipopt">http://list.coin-or.org/mailman/listinfo/ipopt</a>
</pre>
    </blockquote>
    <br>
  
<br>
<p>-- 
<BR>Scanned by iCritical.
</p><br>
</body>
</html>