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]>
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]>
> 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]> 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]> wrote:
>>>
>>>> Absolutely.
>>>>
>>>>      Ray
>>>>
>>>>  On Feb 16, 2015, at 12:11 PM, Bouchekara Houssem <
>>>> [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]> 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]
>>
>>
>>
>

Reply via email to