[Ipopt] IPOPT Cycling?

Vivek Periaraj vivek.periaraj at gmail.com
Fri Dec 14 10:05:17 EST 2012


(Sorry, changing the subject) 

----- Original Message ----- 

From: "Vivek Periaraj" <vivek.periaraj at gmail.com> 
To: ipopt at list.coin-or.org 
Sent: Friday, December 14, 2012 8:28:35 PM 
Subject: Re: Ipopt Digest, Vol 96, Issue 4 

Thanks Sean! 

I will try these settings. 

I am not sure if IPOPT would behave well in the scenario I am trying to solve. Basically I am trying to find a point in the central path of a LP problem by solving the following NLP problem: 

Min c'x - mu*ln(x) 
St: Ax >= b 

I fix 'mu'. If I set mu to be 0, then IPOPT solves the LP and I do get the optimal solution. And the objective monotonically decreases without any cycling and I usually get the optimal solution within about 150 iterations. Sometimes I do get the "Warning: Cutting back alpha due to evaluation error". Barring that, everything's fine. It's only when mu > 0, I do get this cycling. Maybe my objective messes up with the IPOPT's own barrier function? 

Regards, 
Vivek. 


----- Original Message ----- 

Date: Wed, 12 Dec 2012 12:40:57 -0500 
From: Sean C McDuffee <scmcduff at blueskystudios.com> 
To: ipopt at list.coin-or.org 
Subject: Re: [Ipopt] IPOPT Cycling? 
Message-ID: <50C8C1A9.2000907 at blueskystudios.com> 
Content-Type: text/plain; charset=ISO-8859-1; format=flowed 

You could try playing with these: 

watchdog_shortened_iter_trigger 
acceptable_iter 
acceptable_tol 

Sean 


On 12/12/2012 12:00 PM, ipopt-request at list.coin-or.org wrote: 
> Send Ipopt mailing list submissions to 
> ipopt at list.coin-or.org 
> 
> To subscribe or unsubscribe via the World Wide Web, visit 
> http://list.coin-or.org/mailman/listinfo/ipopt 
> or, via email, send a message with subject or body 'help' to 
> ipopt-request at list.coin-or.org 
> 
> You can reach the person managing the list at 
> ipopt-owner at list.coin-or.org 
> 
> When replying, please edit your Subject line so it is more specific 
> than "Re: Contents of Ipopt digest..." 
> 
> 
> Today's Topics: 
> 
> 1. IPOPT Cycling? (Vivek Periaraj) 
> 
> 
> ---------------------------------------------------------------------- 
> 
> Message: 1 
> Date: Wed, 12 Dec 2012 19:42:11 +0530 (IST) 
> From: Vivek Periaraj<vivek.periaraj at gmail.com> 
> To: ipopt at list.coin-or.org 
> Subject: [Ipopt] IPOPT Cycling? 
> Message-ID:<33350613.90.1355321527993.JavaMail.vivek at kaddappa> 
> Content-Type: text/plain; charset=utf-8 
> 
> Hi List, 
> 
> 
> I am trying to solve a NLP but there seems to be lot of cycling and IPOPT doesn't seem to converge. The following is the iteration summary: 
> 
> x----------------------------------------------------------------------------x 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 570 -1.2479562e+05 0.00e+00 2.14e-01 -4.3 1.76e+02 - 2.21e-02 9.14e-04f 6 
> 571 -1.2479548e+05 0.00e+00 3.36e-01 -3.1 6.99e+01 - 3.49e-02 6.81e-04f 6 
> 572 -1.2479552e+05 0.00e+00 2.66e-01 -4.1 5.88e+00 - 2.86e-01 7.51e-03f 7 
> 573 -1.2479557e+05 0.00e+00 3.38e-01 -4.1 3.67e+00 - 1.35e-01 2.11e-03f 8 
> 574 -1.2479537e+05 0.00e+00 4.34e-01 -4.1 1.66e+00 - 8.12e-01 6.25e-02f 5 
> 575 -1.2479557e+05 0.00e+00 5.31e-01 -4.1 4.55e+01 - 1.17e-01 2.77e-03f 6 
> 576 -1.2479711e+05 0.00e+00 1.21e-01 -4.1 2.95e+02 - 1.15e-02 4.62e-04f 6 
> 577 -1.2479718e+05 0.00e+00 4.38e-01 -3.5 8.43e+01 - 6.21e-02 1.38e-03f 6 
> 578 -1.2479567e+05 0.00e+00 2.95e-01 -2.9 5.95e+01 - 2.71e-02 9.16e-04f 5 
> 579 -1.2479598e+05 0.00e+00 2.23e-01 -4.0 2.88e+00 - 5.36e-01 8.58e-03f 7 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 580 -1.2479606e+05 0.00e+00 2.46e-01 -4.0 4.45e-01 - 5.11e-01 4.50e-03f 7 
> 581 -1.2479729e+05 0.00e+00 1.10e-01 -4.0 2.64e-01 - 1.00e+00 1.00e+00f 1 
> 582 -1.2479693e+05 0.00e+00 1.80e-01 -2.7 3.33e+01 - 3.12e-01 1.65e-03f 6 
> 583 -1.2479244e+05 0.00e+00 4.94e-01 -3.3 8.35e-01 - 2.74e-01 1.25e-01f 4 
> 584 -1.2479273e+05 0.00e+00 3.06e-01 -3.3 8.46e+00 - 3.58e-01 8.08e-03f 7 
> 585 -1.2479480e+05 0.00e+00 1.79e+00 -3.3 2.07e+01 - 2.59e-01 3.06e-02f 4 
> 586 -1.2479895e+05 0.00e+00 1.13e+00 -3.3 4.11e+02 - 1.80e-02 9.92e-04f 5 
> 587 -1.2480084e+05 0.00e+00 6.18e-01 -2.1 5.17e+02 - 4.25e-02 7.48e-04f 4 
> 588 -1.2479357e+05 0.00e+00 9.31e-01 -2.3 5.79e+01 - 6.13e-02 4.15e-03f 4 
> 589 -1.2479538e+05 0.00e+00 5.07e-01 -3.1 6.10e+01 - 1.31e-01 9.00e-03f 5 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 590 -1.2479727e+05 0.00e+00 4.56e-01 -3.1 1.30e+02 - 3.50e-02 2.03e-03f 5 
> 591 -1.2479775e+05 0.00e+00 6.86e-01 -3.1 5.05e+01 - 3.94e-01 8.96e-03f 5 
> 592 -1.2480239e+05 0.00e+00 5.98e-01 -3.1 8.50e+01 - 1.22e-02 5.87e-04f 5 
> 593 -1.2480333e+05 0.00e+00 8.14e-01 -3.0 2.58e+00 - 5.43e-01 3.74e-02f 4 
> 594 -1.2478691e+05 0.00e+00 1.08e+00 -2.3 9.48e+00 - 1.98e-01 2.61e-02f 4 
> 595 -1.2478912e+05 0.00e+00 1.42e+00 -2.9 4.80e+01 - 4.41e-02 6.19e-03f 4 
> 596 -1.2479133e+05 0.00e+00 1.04e+00 -2.9 3.71e+01 - 1.02e-01 6.60e-03f 6 
> 597 -1.2479134e+05 0.00e+00 1.37e+00 -2.9 4.91e+01 - 9.87e-02 1.11e-02f 4 
> 598 -1.2479283e+05 0.00e+00 7.40e-01 -2.9 1.66e+01 - 3.66e-02 2.20e-03f 7 
> 599 -1.2479215e+05 0.00e+00 1.32e+00 -2.9 8.76e-01 - 7.63e-01 1.25e-01f 4 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 600 -1.2479899e+05 0.00e+00 3.71e-01 -2.9 6.70e+00 - 2.91e-01 5.66e-02f 4 
> 601 -1.2480288e+05 0.00e+00 1.07e+00 -2.9 6.47e+01 - 4.38e-02 3.27e-03f 4 
> 602 -1.2480809e+05 0.00e+00 4.91e-01 -2.9 7.88e+01 - 6.02e-02 4.74e-03f 5 
> 603 -1.2480957e+05 0.00e+00 5.29e-01 -8.9 8.57e+01 - 3.74e-02 3.01e-03f 6 
> 604 -1.2477400e+05 0.00e+00 1.38e+00 -1.8 1.66e+01 - 1.07e-01 8.70e-03f 4 
> 605 -1.2477378e+05 0.00e+00 1.07e+00 -2.7 9.08e+00 - 3.23e-01 4.30e-02f 5 
> 606 -1.2478318e+05 0.00e+00 1.46e+00 -2.7 2.25e+01 - 1.11e-01 5.90e-03f 4 
> 607 -1.2478236e+05 0.00e+00 1.46e+00 -2.7 1.07e+01 - 4.24e-01 2.46e-02f 3 
> 608 -1.2478702e+05 0.00e+00 1.72e+00 -2.7 1.86e+01 - 1.22e-01 1.72e-02f 5 
> 609 -1.2479785e+05 0.00e+00 1.05e+00 -2.7 4.29e+01 - 1.28e-01 9.50e-03f 4 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 610 -1.2480806e+05 0.00e+00 1.39e+00 -2.7 5.54e+01 - 1.16e-01 9.02e-03f 4 
> 611 -1.2481100e+05 0.00e+00 6.40e-01 -2.7 4.53e+01 - 1.84e-01 1.92e-02f 4 
> 612 -1.2478336e+05 0.00e+00 5.80e-01 -2.0 6.03e+01 - 8.74e-02 1.10e-02f 5 
> 613 -1.2478520e+05 0.00e+00 4.93e-01 -2.6 6.22e+01 - 1.22e-01 2.07e-03f 5 
> 614 -1.2478910e+05 0.00e+00 1.20e+00 -2.6 4.65e+01 - 2.25e-02 1.97e-03f 6 
> 615 -1.2479081e+05 0.00e+00 1.19e+00 -2.6 5.57e+00 - 5.67e-01 1.32e-02f 5 
> 616 -1.2479074e+05 0.00e+00 6.63e-01 -2.6 1.30e+01 - 1.99e-01 1.41e-02f 5 
> 617 -1.2479039e+05 0.00e+00 7.37e-01 -2.6 7.78e+00 - 1.28e-01 1.03e-02f 5 
> 618 -1.2479642e+05 0.00e+00 4.89e-01 -2.6 8.52e+00 - 3.12e-01 2.11e-02f 5 
> 619 -1.2481748e+05 0.00e+00 4.34e-01 -2.6 1.01e+02 - 8.11e-02 3.80e-03f 4 
> 
> 
> <Snip> 
> 
> 
> 
> 1979 -1.2532592e+05 0.00e+00 1.12e-01 -2.6 8.01e-04 - 1.00e+00 1.00e+00f 1 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 1980 -1.2532585e+05 0.00e+00 1.13e-01 -2.6 7.67e-02 - 1.00e+00 6.25e-02f 5 
> 1981 -1.2532472e+05 0.00e+00 2.35e-01 -2.6 1.51e-01 - 1.00e+00 2.50e-01f 3 
> 1982 -1.2532465e+05 0.00e+00 1.13e-01 -2.6 2.49e+00 - 1.00e+00 3.12e-02f 6 
> 1983 -1.2532472e+05 0.00e+00 1.01e-01 -2.6 4.16e+00 - 5.26e-01 9.44e-03f 6 
> 1984 -1.2532456e+05 0.00e+00 9.94e-02 -2.6 6.62e-01 - 1.00e+00 3.12e-02f 6 
> 1985 -1.2532460e+05 0.00e+00 1.62e-01 -2.6 3.23e-01 - 1.00e+00 1.07e-02f 6 
> 1986 -1.2532417e+05 0.00e+00 4.50e-02 -2.6 5.72e-02 - 1.00e+00 1.00e+00f 1 
> 1987 -1.2532439e+05 0.00e+00 7.95e-02 -2.6 7.60e+00 - 4.89e-01 5.70e-03f 7 
> 1988 -1.2532448e+05 0.00e+00 1.00e-01 -2.6 3.87e+00 - 1.00e+00 6.94e-03f 7 
> 1989 -1.2532475e+05 0.00e+00 1.18e-01 -2.6 3.96e+00 - 9.16e-01 3.12e-02f 6 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 1990 -1.2532495e+05 0.00e+00 7.27e-02 -2.6 5.02e+00 - 5.23e-01 5.73e-03f 8 
> 1991 -1.2532496e+05 0.00e+00 7.87e-02 -2.6 6.54e-01 - 1.00e+00 1.50e-02f 7 
> 1992 -1.2532497e+05 0.00e+00 5.46e-02 -2.6 4.90e-01 - 1.00e+00 1.56e-02f 7 
> 1993 -1.2532497e+05 0.00e+00 4.32e-02 -2.6 4.48e-01 - 1.00e+00 7.81e-03f 8 
> 1994 -1.2532477e+05 0.00e+00 6.58e-02 -2.6 3.41e-01 - 1.00e+00 6.25e-02f 5 
> 1995 -1.2532471e+05 0.00e+00 6.79e-02 -2.6 3.56e+00 - 4.89e-01 7.81e-03f 8 
> 1996 -1.2532475e+05 0.00e+00 4.55e-02 -2.6 3.82e+00 - 1.00e+00 1.56e-02f 7 
> 1997 -1.2020689e+05 0.00e+00 1.57e+03 -2.6 3.83e+00 - 1.00e+00 6.49e-01w 1 
> 1998 -1.2532217e+05 0.00e+00 1.42e-01 -2.6 2.39e+00 - 4.93e-03 1.00e+00w 1 
> 1999 -1.2507173e+05 0.00e+00 2.06e+00 -2.6 7.70e-01 - 1.00e+00 1.00e+00w 1 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 2000 -1.2532488e+05 0.00e+00 3.69e-02 -2.6 4.81e+00 - 1.00e+00 1.01e-02f 6 
> 2001 -1.2532494e+05 0.00e+00 7.91e-02 -2.6 1.71e+00 - 1.00e+00 1.26e-02f 7 
> 2002 -1.2532509e+05 0.00e+00 5.34e-02 -2.6 4.20e+00 - 1.00e+00 8.38e-03f 7 
> 2003 -1.2532519e+05 0.00e+00 2.42e-02 -2.6 5.46e+00 - 7.12e-01 5.89e-03f 7 
> 2004 -1.2532604e+05 0.00e+00 1.94e-01 -3.9 7.77e-01 - 7.50e-01 3.06e-02f 6 
> 2005 -1.2532857e+05 0.00e+00 4.90e-01 -3.9 3.07e-01 - 7.49e-01 2.29e-01f 3 
> 2006 -1.2535210e+05 0.00e+00 4.94e-01 -3.9 1.58e-01 - 1.00e+00 9.06e-01f 1 
> 2007 -1.2535529e+05 0.00e+00 3.68e-01 -3.0 6.00e+00 - 1.00e+00 1.04e-02f 5 
> 2008 -1.2534981e+05 0.00e+00 5.05e-01 -2.8 6.55e-01 - 1.00e+00 1.10e-01f 4 
> 2009 -1.2534543e+05 0.00e+00 5.01e-01 -2.9 9.96e-02 - 3.32e-01 5.00e-01f 2 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 2010 -1.2534928e+05 0.00e+00 2.20e-01 -2.9 7.53e-01 - 7.89e-01 5.69e-02f 5 
> 2011 -1.2535069e+05 0.00e+00 2.30e-01 -2.9 3.91e-01 - 6.52e-01 3.12e-02f 6 
> 2012 -1.2535124e+05 0.00e+00 3.68e-01 -2.9 1.03e-01 - 1.00e+00 2.50e-01f 3 
> 2013 -1.2535094e+05 0.00e+00 2.11e-01 -2.9 8.23e-02 - 1.00e+00 1.25e-01f 4 
> 2014 -1.2535040e+05 0.00e+00 1.37e-01 -2.9 2.24e-02 - 1.00e+00 5.00e-01f 2 
> 2015 -1.2535043e+05 0.00e+00 9.09e-02 -2.9 2.86e-02 - 1.00e+00 2.50e-01f 3 
> 2016 -1.2535031e+05 0.00e+00 3.39e-02 -2.9 9.81e-03 - 1.00e+00 2.50e-01f 3 
> 2017 -1.2534988e+05 0.00e+00 3.15e-02 -2.9 2.93e-03 - 1.00e+00 1.00e+00f 1 
> 2018 -1.2534989e+05 0.00e+00 1.68e-02 -2.9 4.77e-03 - 1.00e+00 5.00e-01f 2 
> 2019 -1.2534976e+05 0.00e+00 2.56e-02 -2.9 3.44e-03 - 1.00e+00 2.50e-01f 3 
> 
> 
> <Snip> 
> 
> 
> 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 2990 -1.2550690e+05 0.00e+00 1.70e-02 -11.0 4.63e-03 - 1.00e+00 1.00e+00f 1 
> 2991 -1.2550691e+05 0.00e+00 1.42e-01 -11.0 3.53e-01 - 1.00e+00 1.25e-01f 4 
> 2992 -1.2550692e+05 0.00e+00 8.49e-02 -10.7 1.30e+01 - 1.00e+00 4.57e-03f 5 
> 2993 -1.2550696e+05 0.00e+00 9.13e-02 -9.9 1.45e+01 - 1.00e+00 1.04e-03f 7 
> 2994 -1.2550702e+05 0.00e+00 8.53e-02 -9.2 1.12e+01 - 1.00e+00 2.89e-03f 6 
> 2995 -1.2550717e+05 0.00e+00 6.38e-02 -8.5 1.03e+01 - 1.00e+00 3.28e-03f 6 
> 2996 -1.2550750e+05 0.00e+00 5.27e-02 -7.9 1.72e+01 - 1.00e+00 4.13e-03f 5 
> 2997 -1.2550763e+05 0.00e+00 5.03e-02 -8.4 9.63e+00 - 1.98e-01 3.28e-03f 7 
> 2998 -1.2550768e+05 0.00e+00 1.55e-01 -6.7 3.26e+00 - 1.00e+00 1.56e-02f 7 
> 2999 -1.2550775e+05 0.00e+00 8.79e-02 -6.0 1.94e+01 - 1.00e+00 1.62e-03f 10 
> iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 
> 3000 -1.2550766e+05 0.00e+00 1.65e-01 -5.4 2.91e+00 - 1.00e+00 7.81e-03f 8 
> 
> 
> Number of Iterations....: 3000 
> 
> 
> (scaled) (unscaled) 
> Objective...............: -2.7890838624962919e+02 -1.2550765817878813e+05 
> Dual infeasibility......: 1.6543991669559402e-01 7.4447300753350518e+01 
> Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00 
> Complementarity.........: 3.9070669839719818e-06 1.7581645145194559e-03 
> Overall NLP error.......: 1.6543991669559402e-01 7.4447300753350518e+01 
> 
> 
> 
> 
> Number of objective function evaluations = 14401 
> Number of objective gradient evaluations = 3001 
> Number of equality constraint evaluations = 0 
> Number of inequality constraint evaluations = 14401 
> Number of equality constraint Jacobian evaluations = 0 
> Number of inequality constraint Jacobian evaluations = 3001 
> Number of Lagrangian Hessian evaluations = 0 
> Total CPU secs in IPOPT (w/o function evaluations) = 172.755 
> Total CPU secs in NLP function evaluations = 3.740 
> 
> 
> EXIT: Maximum Number of Iterations Exceeded. 
> x----------------------------------------------------------------------------x 
> 
> My problem is degenerate, could that be the reason? If so, are there any parameters that I can set which would help reach the optimal solution faster. 
> 
> The version is 3.10.2 
> 
> Following are the options I have set: 
> 
> AddIpoptNumOption(nlp, "tol", 1e-5); 
> AddIpoptNumOption(nlp, "acceptable_dual_inf_tol", 1e-5); 
> AddIpoptStrOption(nlp, "hessian_approximation", "limited-memory"); 
> AddIpoptStrOption(nlp, "output_file", "ipopt.out"); 
> 
> Regards, 
> Vivek 
> 


More information about the Ipopt mailing list