There is a significant difference between IPOPT and other interior point solver for nolinear programming: IPOT can handle nonconvexities, to some extent, while the rest of the methods considered cannot. This might be the origin of some of the troubles you are experiencing regarding the cases under study. Regards.
[Descripción: Descripción: Iberdrola ok] José Luis de la Fuente O’Connor Vigilancia Estratégica e Inteligencia Tecnológica_Strategic Watch on Technology and Energy Intelligence Dirección de Innovación, Medio Ambiente y Calidad Tomás Redondo, 1, 28033 Madrid, Spain De: [email protected] [mailto:[email protected]] En nombre de Irina Boiarchuk Enviado el: miércoles, 18 de febrero de 2015 11:47 Para: [email protected] Asunto: Re: IPOPT solver Dear Matpower community, My question is about optimization of large scale systems and appropriate solvers. I was testing OPF for the example systems, distributed with Matpower and I followed the Matpower recommendations to use PDIPM and IPOPT solvers to deal with large models. All provided examples converged successfully using both solvers, but the case 'case3375wp' of Polish system has caused me some problems: 1. when I run opf with PDIPM solver, the optimization fails; 2. when I run opf with IPOPT solver, the optimization lasts too long (> 1 hour) so I aborted it before it finished. I use pre-compiled binary version of IPOPT from the website http://www.coin-or.org/download/binary/Ipopt/ . It works fine with smaller systems, but not with the 'case3375wp' ... Which optimizer should I use to obtain convergent opf solution for 'case3375wp' ? Any advice is appreciated! Kind regards, Irina Boiarchuk On 17 February 2015 at 16:55, Irina Boiarchuk <[email protected]<mailto:[email protected]>> wrote: Thank you, Ray, your reply gives me enough motivation to try using IPOPT! Best, Irina On 17 February 2015 at 16:41, Irina Boiarchuk <[email protected]<mailto:[email protected]>> wrote: Dear Olaf, thank you for the quick reply! It would be great to receive such version for testing. Is the problem of compatibility with R2014a and later of Matlab solved there? Is there any guidance how to install the connection with Matlab? Sorry for multiple questions! I'm looking forward to your reply, Kind regards Irina Boiarchuk On 17 February 2015 at 16:27, Olaf Schenk <[email protected]<mailto:[email protected]>> wrote: Dear Irina, IPOPT can handle large-scale systems MUCH better than PDIPM or MIPS. We are in the process of building a Matpower IPOPT binary version that Ray Zimmermann will put on the matpower webpage. If you like we can send you a binary so that you can test it. best regards, Olaf Schenk On 17.02.2015 16:22, Irina Boiarchuk wrote: Dear all, my questions are about using IPOPT for optimization of large-scale systems. 1. Which MATLAB version do you have such that IPOPT works? (on their website it is said that there are some problems with R2014a of Matlab - i was wondering if it is still the case...) 2. Does IPOPT handle large-scale systems better than PDIPM or MIPS? I would appreciate any help regarding this issue! Kind regards, Irina Boiarchuk On 16 February 2015 at 22:49, Ray Zimmerman <[email protected]<mailto:[email protected]>> wrote: Absolutely. Ray On Feb 16, 2015, at 12:11 PM, Bouchekara Houssem <[email protected]<mailto:[email protected]>> wrote: Iam not using runopf but I have implemented my one OPF using MATPOWER functions. Another question, I guess that providing the Jacobian structure, Hessian and Hessian structure will speed up the convergence? On 2/16/2015 3:21 PM, Ray Zimmerman wrote: Again, it is not clear to me whether you are simply using MATPOWER’s OPF (i.e. runopf) or implementing your own. It would seem you’re implementing your own since the IPOPT output indicates that the Jacobian structure, Hessian and Hessian structure are not supplied. With MATPOWER’s OPF implementation that should not be the case. Here’s what I get … >> mpopt = mpoption('out.all', 0, 'verbose', 2, 'opf.ac.solver', 'IPOPT'); >> runopf('case30', mpopt) MATPOWER Version 5.1-dev, 06-Feb-2015 -- AC Optimal Power Flow This is Ipopt version 3.10.3, running with linear solver mumps. Number of nonzeros in equality constraint Jacobian...: 454 Number of nonzeros in inequality constraint Jacobian.: 324 Number of nonzeros in Lagrangian Hessian.............: 254 Total number of variables............................: 71 variables with only lower bounds: 0 variables with lower and upper bounds: 42 variables with only upper bounds: 0 Total number of equality constraints.................: 60 Total number of inequality constraints...............: 82 inequality constraints with only lower bounds: 0 inequality constraints with lower and upper bounds: 0 inequality constraints with only upper bounds: 82 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 0 4.9036963e+02 1.21e+00 1.06e+01 0.0 0.00e+00 - 0.00e+00 0.00e+00 0 1 5.2670003e+02 4.79e-01 1.87e+02 0.1 1.28e+00 - 3.77e-01 5.58e-01h 1 2 5.7233174e+02 1.44e-02 8.54e+01 -0.4 6.07e-01 - 1.00e+00 1.00e+00h 1 3 5.7307970e+02 1.39e-02 5.98e+01 -1.0 9.22e-02 - 9.99e-01 2.91e-01h 1 4 5.7635279e+02 5.84e-03 1.90e+02 -1.3 1.49e-01 - 1.00e+00 1.00e+00h 1 5 5.7698733e+02 9.81e-04 6.93e+00 -2.0 6.20e-02 - 1.00e+00 1.00e+00h 1 6 5.7693657e+02 7.09e-05 5.84e+00 -2.9 1.30e-02 - 1.00e+00 1.00e+00h 1 7 5.7689674e+02 1.42e-05 6.89e-01 -3.8 7.65e-03 - 1.00e+00 1.00e+00h 1 8 5.7689223e+02 9.17e-06 5.46e-02 -5.3 6.06e-03 - 1.00e+00 1.00e+00h 1 9 5.7689227e+02 1.58e-06 1.08e-02 -6.8 2.65e-03 - 1.00e+00 1.00e+00h 1 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 10 5.7689232e+02 2.06e-07 1.63e-03 -8.3 9.69e-04 - 1.00e+00 1.00e+00h 1 11 5.7689233e+02 1.32e-08 1.19e-04 -9.3 2.47e-04 - 1.00e+00 1.00e+00h 1 12 5.7689233e+02 1.13e-10 1.08e-06 -11.0 2.29e-05 - 1.00e+00 1.00e+00h 1 13 5.7689233e+02 1.36e-14 9.86e-11 -11.0 2.15e-07 - 1.00e+00 1.00e+00h 1 Number of Iterations....: 13 (scaled) (unscaled) Objective...............: 1.3985268672263120e+02 5.7689233273085370e+02 Dual infeasibility......: 9.8586584428882276e-11 4.0666966076913940e-10 Constraint violation....: 1.3558539391522494e-14 1.3558539391522494e-14 Complementarity.........: 1.0529404232602505e-11 4.3433792459485328e-11 Overall NLP error.......: 9.8586584428882276e-11 4.0666966076913940e-10 Number of objective function evaluations = 14 Number of objective gradient evaluations = 14 Number of equality constraint evaluations = 14 Number of inequality constraint evaluations = 14 Number of equality constraint Jacobian evaluations = 14 Number of inequality constraint Jacobian evaluations = 14 Number of Lagrangian Hessian evaluations = 13 Total CPU secs in IPOPT (w/o function evaluations) = 0.035 Total CPU secs in NLP function evaluations = 0.046 EXIT: Optimal Solution Found. >> Regarding the issue of the objective function decreasing with each iteration, that is not necessarily to be expected with primal-dual interior point solvers such as the one used by IPOPT. The objective function may need to increase in order to improve feasibility. Ray On Feb 14, 2015, at 2:33 PM, Bouchekara Houssem <[email protected]<mailto:[email protected]>> wrote: Dear all I am trying to solve the OPF using the IPOPT solver (application on the IEEE 30 bus test system). However, I have some issues. The first one is that this solver takes many iterations and at the end, I receive the message "Maximum Number of Iterations Exceeded.". if I increase the number of iterations I obtain the same message on the time of simulation !!! The second issue or question is that the objective function keep changing but not always decreasing as you can see in the herewith results. I have run the same problem using the fmincon function the objective function does not increase at all it decreases all the time until convergence !!! Regards Results %------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------ Nonlinear Program (NLP) Optimization min f(x) s.t. lb <= x <= ub cl <= c(x) <= cu ------------------------------------------------------ Problem Properties: # Decision Variables: 24 # Constraints: 233 # Bounds: 48 # Nonlinear Inequality: 185 ------------------------------------------------------ Solver Parameters: Solver: IPOPT Objective Gradient: @(x)mklJac(prob.fun,x,1) [numdiff] Constraint Jacobian: @(x)mklJac(prob.nlcon,x,nnl) [numdiff] Jacobian Structure: Not Supplied Lagrangian Hessian: Not Supplied Hessian Structure: Not Supplied ------------------------------------------------------ ****************************************************************************** This program contains Ipopt, a library for large-scale nonlinear optimization. Ipopt is released as open source code under the Eclipse Public License (EPL). For more information visit http://projects.coin-or.org/Ipopt ****************************************************************************** This is Ipopt version 3.11.7, running with linear solver ma57. Number of nonzeros in equality constraint Jacobian...: 0 Number of nonzeros in inequality constraint Jacobian.: 2712 Number of nonzeros in Lagrangian Hessian.............: 0 Total number of variables............................: 24 variables with only lower bounds: 0 variables with lower and upper bounds: 24 variables with only upper bounds: 0 Total number of equality constraints.................: 0 Total number of inequality constraints...............: 113 inequality constraints with only lower bounds: 0 inequality constraints with lower and upper bounds: 72 inequality constraints with only upper bounds: 41 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 0 8.2505796e+002 3.92e+001 2.39e+000 0.0 0.00e+000 - 0.00e+000 0.00e+000 0 1 8.2333913e+002 3.43e+001 2.88e+001 0.0 3.26e+000 - 4.40e-001 7.91e-002f 2 2 8.1521317e+002 0.00e+000 6.48e+001 -0.4 5.64e+000 - 8.84e-001 1.00e+000f 1 3 8.0493896e+002 0.00e+000 6.52e+001 0.0 3.96e+001 - 8.87e-001 4.80e-001f 2 4 8.0277302e+002 0.00e+000 2.39e+001 -0.1 3.95e+000 - 9.88e-001 1.00e+000h 1 5 8.0079336e+002 0.00e+000 3.27e+001 -0.8 5.65e+000 - 9.86e-001 1.00e+000f 1 6 7.9975232e+002 0.00e+000 1.50e+001 -1.3 1.64e+000 - 9.99e-001 7.80e-001f 1 7 7.9977509e+002 0.00e+000 1.70e+001 -1.1 1.52e+000 - 1.00e+000 1.00e+000h 1 8 7.9947341e+002 0.00e+000 2.73e+000 -1.7 7.49e-001 - 9.98e-001 1.00e+000h 1 9 7.9933411e+002 0.00e+000 1.06e+001 -2.2 2.68e+000 - 9.99e-001 1.00e+000h 1 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 10 7.9931298e+002 0.00e+000 1.50e+001 -1.9 4.96e+000 - 1.00e+000 1.00e+000H 1 11 7.9945021e+002 0.00e+000 2.00e+001 -1.6 9.10e+000 - 1.00e+000 4.53e-001f 2 12 7.9940918e+002 0.00e+000 5.80e+000 -1.7 2.61e+000 - 7.69e-001 1.00e+000h 1 13 7.9935727e+002 0.00e+000 9.48e+000 -1.7 5.58e+000 - 8.33e-001 2.62e-001h 2 14 7.9970882e+002 0.00e+000 1.04e+001 -1.7 4.50e+000 - 1.00e+000 1.00e+000H 1 15 7.9936389e+002 0.00e+000 1.04e+001 -1.7 3.89e+000 - 1.00e+000 1.00e+000H 1 16 7.9932908e+002 0.00e+000 2.52e+000 -1.7 1.06e+001 - 5.30e-001 8.14e-002h 3 17 7.9940245e+002 0.00e+000 9.01e+000 -1.7 9.80e-001 - 1.00e+000 1.00e+000h 1 18 8.0110400e+002 0.00e+000 2.25e+001 -1.7 1.04e+001 - 5.27e-001 1.00e+000H 1 19 7.9946399e+002 0.00e+000 4.25e+000 -1.7 1.20e+001 - 1.00e+000 1.00e+000F 1 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 20 7.9948550e+002 0.00e+000 1.00e+001 -1.3 1.24e+001 - 1.00e+000 2.28e-001f 2 21 7.9975197e+002 0.00e+000 1.65e+001 -1.5 3.80e+000 - 7.44e-001 1.00e+000h 1 22 8.0029390e+002 0.00e+000 4.95e+001 -1.5 4.78e+000 - 1.00e+000 7.66e-001H 1 23 7.9969885e+002 0.00e+000 3.75e+001 -1.5 7.79e+000 - 4.43e-001 7.55e-001F 1 24 8.0153952e+002 0.00e+000 5.42e+001 -1.5 6.09e+000 - 3.71e-001 1.00e+000H 1 25 8.0083849e+002 0.00e+000 5.53e+001 -1.5 9.48e+000 - 3.14e-001 1.60e-001f 3 26 8.0055898e+002 0.00e+000 5.68e+001 -1.5 7.24e+001 - 1.35e-001 2.09e-002f 3 27 7.9993130e+002 0.00e+000 2.14e+001 -1.5 1.56e+001 - 1.22e-001 1.16e-001f 2 28 7.9966609e+002 0.00e+000 2.34e+001 -1.5 1.13e+001 - 1.91e-001 2.55e-001h 1 29 7.9951187e+002 0.00e+000 4.68e+000 -1.5 1.61e+001 - 7.25e-002 2.62e-001f 1 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 30 8.0267261e+002 0.00e+000 2.31e+001 -1.5 9.14e+000 - 6.12e-001 9.49e-001H 1 31 8.0226367e+002 0.00e+000 1.04e+001 -1.5 1.01e+001 - 3.30e-001 8.99e-002f 3 32 8.0192666e+002 0.00e+000 1.32e+001 -1.5 2.47e+001 - 8.06e-002 2.93e-002f 4 33 8.0132986e+002 0.00e+000 9.01e+000 -1.5 1.40e+001 - 5.76e-001 1.32e-001f 1 34 8.0105092e+002 0.00e+000 6.84e+000 -1.5 7.34e+000 - 8.30e-001 9.60e-002f 3 35 7.9977021e+002 0.00e+000 3.28e+001 -1.5 9.26e+000 - 3.27e-001 8.37e-001F 1 36 8.0033089e+002 0.00e+000 4.86e+001 -1.5 4.62e+000 - 1.00e+000 1.00e+000H 1 37 7.9996104e+002 0.00e+000 1.06e+001 -1.5 5.43e+000 - 1.96e-001 1.75e-001f 2 38 7.9951421e+002 0.00e+000 9.42e+000 -1.5 1.59e+001 - 2.53e-001 1.96e-001f 2 39 7.9967929e+002 0.00e+000 3.01e+001 -1.5 3.16e+000 - 9.19e-001 7.79e-001H 1 iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls 40 7.9962530e+002 0.00e+000 2.19e+001 -1.5 6.91e+000 - 1.80e-001 1.78e-001h 3 41 7.9951740e+002 0.00e+000 1.26e+000 -1.5 1.88e+000 - 1.00e+000 1.00e+000h 1 42 8.0007055e+002 0.00e+000 9.26e+000 -1.5 3.65e+000 - 1.00e+000 1.00e+000H 1 43 7.9994265e+002 0.00e+000 7.74e+000 -1.5 7.16e+000 - 5.93e-001 9.68e-002h 4 44 7.9969538e+002 0.00e+000 6.51e+000 -1.5 7.45e+000 - 6.32e-001 1.92e-001h 2 45 7.9957525e+002 0.00e+000 4.13e+000 -1.5 1.30e+001 - 4.92e-001 5.31e-002h 3 46 7.9993363e+002 0.00e+000 2.71e+001 -1.5 4.17e+000 - 4.89e-001 1.00e+000H 1 ... [Message clipped] ============================================================== Por favor, piense en el medio ambiente antes de imprimir este mensaje. Si usted recibe por error este mensaje, por favor comuniquelo a su remitente y borre inmediatamente tanto el mensaje como cualquier anexo o copia del mismo, ya que contiene informacion confidencial, dirigida exclusivamente a su destinatario y cuya utilizacion o divulgacion a terceros estan prohibidas por la ley, pudiendo dar lugar a responsabilidades civiles y/o penales. Las ideas contenidas en este mensaje son exclusivas de su(s) autor(es) y no representan necesariamente el criterio de Iberdrola,S.A. ni de otras sociedades de su grupo. Ni Iberdrola,S.A. ni ninguna sociedad de su grupo garantiza la integridad, seguridad y correcta recepcion de este mensaje, ni se responsabiliza de los posibles perjuicios de cualquier naturaleza derivados de la captura de datos, virus informaticos o manipulaciones efectuadas por terceros. ============================================================== Please consider the environment before printing this email. If you have received this message in error, please notify the sender and immediately delete this message and any attachment hereto and/or copy hereof, as such message contains confidential information intended solely for the individual or entity to whom it is addressed. The use or disclosure of such information to third parties is prohibited by law and may give rise to civil or criminal liability. The views presented in this message are solely those of the author(s) and do not necessarily represent the opinion of Iberdrola,S.A. or any company of its group. Neither Iberdrola,S.A. nor any company of its group guarantees the integrity, security or proper receipt of this message. Likewise, neither Iberdrola,S.A. nor any company of its group accepts any liability whatsoever for any possible damages arising from, or in connection with, data interception, software viruses or manipulation by third parties. ============================================================== Mesedez, mezu hau inprimatu baino lehen hartu kontuan ingurua. Oker bategatik mezu hau jasotzen baduzu, mesedez esaiozu bidaltzaileari eta ezaba itzazu berehala bai mezua, bai atxikitako guztia edo haren kopia ere, isilpeko informazioa daukalako, jasotzaileari soilik zuzendutakoa; Legeak debekatzen du hura erabiltzea edo beste edonori bidaltzea eta erantzunkizun zibil eta/edo penalak eragin ditzake. Mezu honetan dauden ideiak egileenak baino ez dira eta ez dute nahitaez ordezkatzen Iberdrola,S.A.ren ez eta haren taldeko beste sozietateen irizpidea; ez Iberdrola,S.A.k ezta haren taldeko ezein sozietatek ez dute mezu honen segurtasuna, osotasuna eta iristera zuzena bermatzen, eta ez dute inolako erantzunkizunik onartzen hirugarren batek egindako datu-harrapaketatik, birus informatikoetatik edo manipulazioetatik erator litekeen edozein eratako ustezko kalteen aurrean. ==============================================================
