<div dir="ltr">Hi Tony, <div><br></div><div>Funny to get a reply from someone so close by after launching a message out to the colossal internet.</div><div><br></div><div>I wasn&#39;t warm-starting at all--that&#39;s a great suggestion. Hopefully the Lagrange multipliers won&#39;t change too much between iterations. Otherwise, there may be some problem-specific ways to guess a reasonable Lagrange multiplier here.</div><div><br></div><div>Regarding speed &amp; algorithm choice, BFGS seems like the right fit here, and in this problem it&#39;s not really practical to compute the hessian (which is dense).</div><div>But I&#39;ll be sure to check out print_timing_statistics -- I&#39;m new to Ipopt and haven&#39;t found these handy tools yet.</div><div><br></div><div>John</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 12, 2014 at 10:19 PM, Tony Kelman <span dir="ltr">&lt;<a href="mailto:kelman@berkeley.edu" target="_blank">kelman@berkeley.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div style="FONT-SIZE:12pt;FONT-FAMILY:&#39;Calibri&#39;;COLOR:#000000">
<div>Hi John, good to see groups next door also using Ipopt.</div>
<div><font></font> </div>
<div>Generally speaking this is a pretty hard thing to do with an interior-point 
method. Are you warm-starting the dual variables as well, or just the primal? 
That may help, but it depends how closely related the subproblems are. I’d also 
avoid doing quasi-newton hessian approximations if you have a speed-critical 
application, you’ll get better convergence in most cases if you are using a 
modeling tool that can provide exact Hessians. Have you looked at the breakdown 
of computation time from print_timing_statistics?</div>
<div> </div>
<div>-Tony</div>
<div> </div>
<div style="FONT-SIZE:small;TEXT-DECORATION:none;FONT-FAMILY:&quot;Calibri&quot;;FONT-WEIGHT:normal;COLOR:#000000;FONT-STYLE:normal;DISPLAY:inline">
<div style="FONT:10pt tahoma">
<div> </div>
<div style="BACKGROUND:#f5f5f5">
<div><b>From:</b> <a title="john.d.schulman@gmail.com" href="mailto:john.d.schulman@gmail.com" target="_blank">John Schulman</a> </div>
<div><b>Sent:</b> Wednesday, November 12, 2014 10:14 PM</div>
<div><b>To:</b> <a title="ipopt@list.coin-or.org" href="mailto:ipopt@list.coin-or.org" target="_blank">ipopt@list.coin-or.org</a> </div>
<div><b>Subject:</b> Re: [Ipopt] Low # iters, ensuring that solution remains 
feasible</div></div></div>
<div> </div></div>
<div style="FONT-SIZE:small;TEXT-DECORATION:none;FONT-FAMILY:&quot;Calibri&quot;;FONT-WEIGHT:normal;COLOR:#000000;FONT-STYLE:normal;DISPLAY:inline"><div><div>
<div dir="ltr">Oops, &quot;wildly feasible&quot; in the first paragraph should be &quot;wildly 
infeasible&quot;</div>
<div class="gmail_extra">
<div> </div>
<div class="gmail_quote">On Wed, Nov 12, 2014 at 10:06 PM, John Schulman <span dir="ltr">&lt;<a href="mailto:john.d.schulman@gmail.com" target="_blank">john.d.schulman@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT:1ex;MARGIN:0px 0px 0px 0.8ex;BORDER-LEFT:#ccc 1px solid">
  <div dir="ltr">
  <div>Short: </div>
  <div> </div>
  <div>I am calling Ipopt repeatedly to solve a series of subproblems.</div>
  <div>For each subproblem, Ipopt is initialized with a feasible solution, and 
  max_iter is set to 50 or so. </div>
  <div>The optimization terminates early, and often this intermediate solution 
  is wildly feasible.</div>
  <div>I&#39;m wondering if there are any settings that will ensure that the result 
  is nearly feasible.</div>
  <div> </div>
  <div>Longer:</div>
  <div> </div>I am using Ipopt to solve a series of subproblems of the form 

  <div>minimize f(x), subject to g(x) &lt; delta,</div>
  <div>Here g is a distance function of sorts, measuring Distance(x_0,x), where 
  x_0 is the initialization.</div>
  <div>So the the initial point x_0 is feasible.</div>
  <div>x has dimension 50000 or so, so I am using hessian_approximation with 
  limited memory.</div>
  <div>
  <div> </div>
  <div>I need to keep to a low number of iterations, say 50 or 100, so the 
  overall computation time remains reasonable.</div></div>
  <div>It&#39;s not essential at all that the solution generated is optimal; I just 
  want to improve the objective as much as possible while remaining 
  feasible.</div>
  <div> </div>
  <div>I tried fiddling with the barrier parameters but didn&#39;t have any 
  luck.</div>
  <div>Any suggestions?<br>Thanks in advance for your time.</div><span><font color="#888888">
  <div> </div>
  <div>John</div>
  <div> </div>
  <div> </div>
  <div> </div>
  <div> </div></font></span></div></blockquote></div>
<div> </div></div>
</div></div><p>
</p><hr>
_______________________________________________<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/mailman/listinfo/ipopt</a><br><p></p></div></div></div></div>
</blockquote></div><br></div></div>