I changed a parameter (that was the only change) in a working optimization problem.
The smaller the parameter, the more relaxed becomes one of the inequality constraints.
The change was from 0.489 to 0.355881.
The whole problem is scaled to have input and objective variables at similar size around 1.
The altered parameter would relax one inequality constraint.
I solved the problem again with IPOPT (as before) and it became infeasible.
- I reduced the parameter further to .3 (i.e. relaxing the constraint more) ---> the model was feasible again with optimal solution
- I used different starting points ---> the model was feasible again with optimal solution
I don't see why the problem would become infeasible.
I use Pyomo 5.5 (CPython 3.6.3 on Windows 10).
The detailed solver print out is below.
******************************************************************************
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.12.4, running with linear solver pardiso.
Number of nonzeros in equality constraint Jacobian...: 0
Number of nonzeros in inequality constraint Jacobian.: 152
Number of nonzeros in Lagrangian Hessian.............: 112
Total number of variables............................: 64
variables with only lower bounds: 0
variables with lower and upper bounds: 64
variables with only upper bounds: 0
Total number of equality constraints.................: 0
Total number of inequality constraints...............: 17
inequality constraints with only lower bounds: 8
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 9
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 2.5214806e+000 0.00e+000 1.00e+000 -1.0 0.00e+000 - 0.00e+000 0.00e+000 0
1 2.4737837e+000 0.00e+000 1.00e+000 -1.0 3.68e+000 - 7.29e-001 1.00e+000f 1
2 2.4369291e+000 0.00e+000 8.73e-002 -1.0 2.94e+000 - 9.88e-001 1.00e+000f 1
3 1.3663375e+000 0.00e+000 1.47e-002 -1.0 5.86e+001 - 9.57e-001 1.00e+000f 1
4 5.1228197e-001 0.00e+000 5.55e-003 -1.0 6.81e+002 - 9.87e-001 1.00e+000f 1
5 1.9864862e-001 0.00e+000 3.76e-002 -1.0 6.83e+004 - 7.84e-001 1.00e+000f 1
6 -4.4837005e-001 0.00e+000 4.10e-001 -1.0 1.35e+006 - 2.44e-001 4.40e-001f 1
7 -5.9509218e-001 0.00e+000 1.89e-002 -1.0 1.62e+005 - 1.00e+000 8.90e-001f 1
8 -4.6760459e-001 0.00e+000 2.79e-003 -1.0 3.53e+005 - 1.00e+000 1.00e+000f 1
9 -7.9516515e-001 0.00e+000 2.80e-002 -1.7 1.30e+005 - 9.06e-001 1.00e+000h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
10 -1.0944033e+000 0.00e+000 2.24e-002 -2.5 1.83e+005 - 7.15e-001 9.43e-001h 1
11 -1.2052518e+000 0.00e+000 8.92e-004 -2.5 1.46e+005 - 1.00e+000 1.00e+000h 1
12 -1.2361786e+000 0.00e+000 2.36e-004 -2.5 1.04e+005 - 1.00e+000 1.00e+000h 1
13 -1.2341972e+000 0.00e+000 1.49e-005 -2.5 6.83e+003 - 1.00e+000 1.00e+000h 1
14 -1.2339619e+000 0.00e+000 3.00e-007 -2.5 2.16e+002 - 1.00e+000 1.00e+000h 1
15 -1.2995369e+000 8.58e+002 2.61e-003 -3.8 1.16e+005 - 7.16e-001 1.00e+000f 1
16 -1.3143877e+000 1.64e+001 6.35e-003 -3.8 1.42e+004 - 7.84e-001 1.00e+000h 1
17 -1.3174137e+000 0.00e+000 1.86e-005 -3.8 8.90e+003 - 1.00e+000 1.00e+000h 1
18 -1.3176631e+000 0.00e+000 1.20e-005 -3.8 1.20e-001 -4.0 1.00e+000 1.00e+000h 1
19 -1.3176870e+000 0.00e+000 7.26e-006 -3.8 2.18e-001 -4.5 1.00e+000 1.00e+000h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
20 -1.3208126e+000 0.00e+000 3.83e-002 -5.7 2.29e+000 -5.0 8.66e-001 7.53e-001h 1
21 -1.3221350e+000 2.04e+001 9.72e-003 -5.7 2.65e+000 -5.4 7.52e-001 7.50e-001h 1
22 -1.3225158e+000 7.20e+000 2.77e-005 -5.7 5.16e-001 -5.9 1.00e+000 1.00e+000h 1
23 -1.3225100e+000 0.00e+000 1.85e-006 -5.7 1.55e+000 -6.4 1.00e+000 1.00e+000h 1
24 -1.3225366e+000 0.00e+000 6.36e-007 -5.7 4.64e+000 -6.9 1.00e+000 1.00e+000h 1
25 -1.3226904e+000 3.82e-001 1.34e-004 -8.6 1.40e+001 -7.3 9.44e-001 9.97e-001h 1
26 -1.3241387e+000 3.60e+000 2.34e-004 -8.6 6.76e+007 - 3.31e-004 3.55e-004f 1
27 -1.3250017e+000 3.65e+000 1.27e-004 -8.6 2.56e+008 - 1.83e-004 1.78e-004h 1
28 -1.3255461e+000 3.64e+000 6.27e-003 -8.6 5.15e+007 - 1.22e-003 3.62e-004h 1
29 -1.3255457e+000 3.64e+000 6.26e-003 -8.6 7.23e+001 -6.0 1.82e-003 1.01e-004h 5
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
30 -1.3255458e+000 3.64e+000 5.69e-003 -8.6 7.96e+000 -6.5 9.14e-002 3.90e-005h 1
31 -1.3255520e+000 2.86e+000 4.72e-003 -8.6 5.93e+000 -7.0 1.71e-001 2.13e-001f 1
32 -1.3258193e+000 4.42e+000 5.26e-003 -8.6 2.43e+007 - 2.02e-004 8.63e-004h 1
33 -1.3258195e+000 4.42e+000 5.25e-003 -8.6 1.77e+001 -7.4 2.59e-003 9.54e-004h 1
34 -1.3260189e+000 4.53e+000 6.58e-003 -8.6 5.86e+007 - 3.62e-004 2.04e-004f 1
35 -1.3261268e+000 4.72e+000 6.60e-003 -8.6 2.25e+007 - 6.20e-004 5.76e-004h 1
36 -1.3261395e+000 1.47e+001 6.46e-003 -8.6 1.05e+003 -7.9 2.23e-002 9.79e-003h 1
37 -1.3263555e+000 1.45e+001 5.59e-003 -8.6 2.11e+007 - 5.95e-004 1.91e-003h 1
38 -1.3263563e+000 1.45e+001 8.22e-001 -8.6 1.62e+007 - 9.03e-003 1.87e-005h 1
39 -1.3264961e+000 1.44e+001 8.09e-001 -8.6 8.06e+006 - 1.64e-002 9.92e-003h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
40 -1.3264961e+000 1.44e+001 7.88e-001 -8.6 9.10e+001 -8.4 2.60e-002 1.57e-006h 2
41r-1.3264961e+000 1.44e+001 9.99e+002 -1.1 0.00e+000 - 0.00e+000 5.54e-012R 7
42r-1.3262621e+000 1.72e+001 9.99e+002 -1.1 4.53e+004 - 3.48e-006 2.17e-005f 1
43r-1.3262540e+000 1.66e+001 9.99e+002 -1.1 5.64e+004 - 1.12e-005 5.17e-006f 1
44r-1.3242322e+000 1.73e+000 9.99e+002 -1.1 1.55e+004 - 3.86e-005 1.01e-003f 1
45r-1.3225159e+000 0.00e+000 9.95e+002 -1.1 1.03e+004 - 3.71e-003 1.16e-003f 1
46r-1.3159921e+000 0.00e+000 9.85e+002 -1.1 3.47e+003 - 1.01e-002 5.41e-003f 1
47r-1.3087683e+000 0.00e+000 9.76e+002 -1.1 2.04e+003 - 9.20e-003 7.62e-003f 1
48r-1.2033231e+000 0.00e+000 8.82e+002 -1.1 1.59e+003 - 9.63e-002 1.28e-001f 1
49r-1.2008001e+000 0.00e+000 8.58e+002 -1.1 3.59e+002 - 2.73e-002 1.07e-002h 2
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
50r-1.1915435e+000 0.00e+000 4.90e+001 -1.1 3.12e-001 0.0 1.00e+000 2.23e-001h 1
51r-1.1127064e+000 0.00e+000 1.72e+000 -1.1 1.53e+002 - 9.66e-001 1.00e+000f 1
52r-5.3446789e-001 0.00e+000 2.35e+000 -1.1 9.38e+001 - 3.62e-001 7.10e-001f 1
53r-7.3847126e-001 0.00e+000 2.69e-002 -1.1 4.00e+001 - 1.00e+000 1.00e+000f 1
54r-8.2011480e-001 0.00e+000 2.57e+000 -1.8 2.06e+002 - 8.63e-001 1.00e+000f 1
55r-8.1554612e-001 0.00e+000 1.61e-004 -1.8 2.16e+001 - 1.00e+000 1.00e+000h 1
56r-9.6399660e-001 0.00e+000 1.59e+000 -4.1 1.64e+002 - 7.62e-001 9.98e-001f 1
57r-9.8030031e-001 0.00e+000 1.82e-004 -4.1 6.42e+000 - 1.00e+000 1.00e+000h 1
58r-1.1181732e+000 0.00e+000 7.45e-005 -4.1 5.39e+001 - 1.00e+000 1.00e+000h 1
59r-1.1511414e+000 0.00e+000 6.14e-006 -4.1 1.37e+001 - 1.00e+000 1.00e+000h 1
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
60r-1.1544972e+000 0.00e+000 6.60e-008 -4.1 1.01e+000 - 1.00e+000 1.00e+000h 1
61r-1.2367954e+000 0.00e+000 1.18e-002 -6.2 4.54e+001 - 9.12e-001 1.00e+000h 1
62r-1.2410269e+000 0.00e+000 1.43e-006 -6.2 2.46e+000 - 1.00e+000 1.00e+000h 1
63r-1.2675371e+000 0.00e+000 2.85e-007 -6.2 1.30e+001 - 1.00e+000 1.00e+000h 1
64r-1.2733319e+000 0.00e+000 1.33e-008 -6.2 2.72e+000 - 1.00e+000 1.00e+000h 1
65r-1.2736503e+000 0.00e+000 3.64e-011 -6.2 1.29e-001 - 1.00e+000 1.00e+000h 1
66r-1.3000540e+000 0.00e+000 1.19e-004 -9.0 1.38e+001 - 9.69e-001 1.00e+000h 1
Number of Iterations....: 66
(scaled) (unscaled)
Objective...............: -1.3007808010731214e+000 -1.3007808010731214e+000
Dual infeasibility......: 1.2326756390476079e+000 1.2326756390476079e+000
Constraint violation....: 0.0000000000000000e+000 0.0000000000000000e+000
Complementarity.........: 5.6313471319406950e-009 5.6313471319406950e-009
Overall NLP error.......: 1.2326756390476079e+000 1.2326756390476079e+000
Number of objective function evaluations = 83
Number of objective gradient evaluations = 43
Number of equality constraint evaluations = 0
Number of inequality constraint evaluations = 83
Number of equality constraint Jacobian evaluations = 0
Number of inequality constraint Jacobian evaluations = 69
Number of Lagrangian Hessian evaluations = 67
Total CPU secs in IPOPT (w/o function evaluations) = 0.165
Total CPU secs in NLP function evaluations = 0.003
EXIT: Converged to a point of local infeasibility. Problem may be infeasible.
WARNING: Loading a SolverResults object with a warning status into
model=unknown;
message from solver=Ipopt 3.12.4\x3a Converged to a locally infeasible
point. Problem may be infeasible.
Ipopt 3.12.4: