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
47 7.9973977e+002 0.00e+000 1.60e+001 -1.5 5.74e+000 - 6.88e-001
3.02e-001h 2
48 7.9989765e+002 0.00e+000 2.33e+001 -1.5 4.88e+000 - 1.00e+000
1.00e+000H 1
49 7.9983511e+002 0.00e+000 2.31e+001 -1.5 1.74e+001 - 6.39e-001
5.01e-002h 5
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
50 7.9970425e+002 0.00e+000 1.59e+001 -1.5 2.09e+001 - 2.33e-001
8.10e-002h 3
51 7.9955418e+002 0.00e+000 5.09e+000 -1.5 1.94e+001 - 2.51e-001
6.63e-002f 2
52 7.9950139e+002 0.00e+000 3.11e+000 -1.5 6.47e+000 - 4.13e-001
8.04e-002h 4
53 7.9944413e+002 0.00e+000 1.92e+000 -1.5 3.36e+000 - 8.24e-001
2.06e-001h 3
54 8.0126819e+002 0.00e+000 3.56e+001 -1.5 8.76e+000 - 6.44e-001
1.00e+000H 1
55 7.9945686e+002 0.00e+000 2.26e+000 -1.5 9.10e+000 - 1.00e+000
1.00e+000F 1
56 7.9950057e+002 0.00e+000 1.04e+001 -1.5 1.95e+000 - 1.00e+000
1.00e+000H 1
57 7.9942217e+002 0.00e+000 1.84e+001 -1.7 1.70e+000 - 1.00e+000
1.00e+000h 1
58 8.0023640e+002 0.00e+000 6.79e+001 -1.8 2.88e+000 - 2.83e-001
1.00e+000H 1
59 8.0004652e+002 0.00e+000 5.87e+001 -1.8 6.11e+000 - 5.91e-001
9.88e-002h 4
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
60 7.9981714e+002 0.00e+000 5.01e+001 -1.8 2.04e+001 - 7.88e-002
4.40e-002f 4
61 7.9975653e+002 0.00e+000 4.73e+001 -1.8 9.31e+000 - 8.23e-001
2.59e-002h 4
62 7.9970454e+002 0.00e+000 4.19e+001 -1.8 3.96e+000 - 4.82e-001
3.85e-002h 5
63 7.9962939e+002 0.00e+000 3.88e+001 -1.8 4.97e+000 - 2.21e-001
5.05e-002h 5
64 7.9953788e+002 0.00e+000 3.19e+001 -1.8 1.07e+001 - 3.03e-001
1.32e-001h 2
65 7.9939133e+002 0.00e+000 1.33e+001 -1.8 1.27e+001 - 2.71e-001
1.24e-001h 2
66 7.9939690e+002 0.00e+000 4.01e+000 -1.8 7.99e+000 - 3.71e-001
4.06e-001h 2
67 7.9936697e+002 0.00e+000 4.73e+000 -1.8 4.44e+001 - 3.91e-001
3.41e-002h 4
68 7.9936784e+002 0.00e+000 1.89e+000 -1.8 1.39e+001 - 9.19e-001
1.23e-001h 4
69 7.9943394e+002 0.00e+000 1.13e+001 -1.8 7.41e+000 - 3.90e-001
3.38e-001w 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
70 8.0333982e+002 3.88e-001 6.64e+001 -1.8 1.21e+001 - 4.03e-001
9.33e-001w 1
71 8.0004084e+002 2.01e+000 2.23e+001 -1.8 9.50e+000 - 1.75e-001
8.22e-001w 1
72 7.9932137e+002 0.00e+000 4.72e+000 -1.8 8.14e+001 - 3.90e-001
1.69e-001h 1
73 7.9933546e+002 0.00e+000 1.20e+001 -1.8 2.20e+000 - 1.00e+000
4.15e-001h 2
74 7.9930951e+002 0.00e+000 8.03e+000 -1.8 2.31e+001 - 2.28e-001
5.44e-002h 4
75 8.0016365e+002 0.00e+000 6.14e+001 -1.9 2.00e+000 - 9.59e-001
1.00e+000H 1
76 7.9955770e+002 0.00e+000 4.24e+001 -2.0 5.35e+000 - 7.40e-001
4.29e-001f 1
77 7.9939342e+002 0.00e+000 1.45e+001 -2.0 2.40e+001 - 1.52e-001
9.57e-002h 2
78 7.9925263e+002 0.00e+000 1.21e+001 -2.0 1.69e+001 - 1.18e-001
1.51e-001h 2
79 7.9941302e+002 0.00e+000 1.24e+001 -1.3 1.89e+001 - 9.77e-001
1.77e-001h 2
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
80 8.0134560e+002 0.00e+000 3.00e+001 -1.4 4.81e+000 - 6.41e-001
1.00e+000h 1
81 7.9998500e+002 0.00e+000 1.73e+001 -1.4 7.31e+000 - 9.05e-001
8.39e-001f 1
82 7.9953189e+002 0.00e+000 4.34e+000 -1.4 2.20e+001 - 7.03e-001
1.77e-001f 2
83 7.9959732e+002 0.00e+000 1.07e+001 -1.4 3.78e+000 - 6.33e-001
1.00e+000h 1
84 8.0004713e+002 0.00e+000 3.44e+001 -1.4 4.05e+000 - 1.00e+000
1.00e+000H 1
85 7.9988950e+002 0.00e+000 3.31e+001 -1.4 3.13e+001 - 5.62e-001
9.57e-002f 2
86 7.9955465e+002 0.00e+000 1.76e+001 -1.4 1.50e+000 - 1.00e+000
1.00e+000h 1
87 7.9949662e+002 0.00e+000 7.54e+000 -1.4 3.70e+000 - 2.85e-001
1.85e-001h 3
88 7.9959288e+002 0.00e+000 1.71e+001 -1.4 1.39e+000 - 1.00e+000
1.00e+000h 1
89 8.0006272e+002 0.00e+000 1.37e+001 -1.4 5.26e+000 - 1.00e+000
1.00e+000h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
90 7.9980392e+002 0.00e+000 1.44e+001 -1.4 6.97e+000 - 4.93e-001
2.01e-001h 2
91 7.9963251e+002 0.00e+000 8.20e+000 -1.4 9.82e+000 - 5.22e-001
1.65e-001h 3
92 7.9959672e+002 0.00e+000 2.45e+000 -1.4 3.24e+001 - 7.30e-001
1.55e-001h 2
93 7.9951429e+002 0.00e+000 3.42e+000 -1.4 3.75e+000 - 8.01e-001
1.00e+000h 1
94 7.9972009e+002 0.00e+000 1.76e+001 -1.4 2.53e+000 - 1.00e+000
1.00e+000H 1
95 7.9971154e+002 0.00e+000 2.36e+001 -1.4 2.37e+000 - 7.73e-001
1.00e+000H 1
96 7.9958228e+002 0.00e+000 1.80e+001 -1.4 1.65e+001 - 4.70e-001
1.12e-001h 2
97 7.9950114e+002 0.00e+000 7.95e+000 -1.4 3.83e+000 - 1.00e+000
2.99e-001h 2
98 7.9964810e+002 0.00e+000 1.43e+001 -1.4 2.33e+000 - 9.82e-001
1.00e+000H 1
99 7.9958083e+002 0.00e+000 9.04e+000 -1.4 2.42e+000 - 1.00e+000
1.00e+000H 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du
alpha_pr ls
100 7.9957133e+002 0.00e+000 5.14e+000 -1.4 1.19e+001 - 4.74e-001
1.06e-001h 3
Number of Iterations....: 100
(scaled) (unscaled)
Objective...............: 7.9957132849034247e+002 7.9957132849034247e+002
Dual infeasibility......: 5.1351489054861581e+000 5.1351489054861581e+000
Constraint violation....: 0.0000000000000000e+000 0.0000000000000000e+000
Complementarity.........: 6.3178225777153776e-002 6.3178225777153776e-002
Overall NLP error.......: 5.1351489054861581e+000 5.1351489054861581e+000
Number of objective function evaluations = 331
Number of objective gradient evaluations = 101
Number of equality constraint evaluations = 0
Number of inequality constraint evaluations = 331
Number of equality constraint Jacobian evaluations = 0
Number of inequality constraint Jacobian evaluations = 101
Number of Lagrangian Hessian evaluations = 0
Total CPU secs in IPOPT (w/o function evaluations) = 2.533
Total CPU secs in NLP function evaluations = 125.944
EXIT: Maximum Number of Iterations Exceeded.
%-------------------------------------------------------------------------------------------------------------------