Issues with PATHSolver
While writing and debugging this model I found an issue that I think should be reported. The issue is that when using subexpressions in a PATHSolver MCP model, the solver fails to find a solution even when the same model without subexpressions solves fine. This issue also appears in MPSGE models, which use subexpressions by default.
using NLP_to_MPSGE_Example
using JuMP, MPSGE, DataFramesInitialize the data
data = ModelData()ModelData(25.0, 25.0, 100.0, 100.0, 75.0, 75.0, 1.0, 1.0, 1.0, 1.0)Initialize the models
nlp = NLP_model(data)
mcp = MCP_model(data)
mcp_sub = MCP_model(data; subexpressions = true)
mpsge = MPSGE_model(data)$Parameters:
PWE
TD
sigma
BBAR
TM
TE
PWM
omega
$Sectors:
X -- Activity Sector
Q -- Goods Sector
$Commodities:
PQ -- Consumer Price Index
PDD -- Domestic Good Price
PFX -- Nominal Exchange Rate
PX -- Producer Price Index
$Consumers:
Y -- Representative Agent
$Production: Q
:t = 0
O:PQ Q:100.0
:s = sigma
I:PFX Q:25 PWM P:1.0 / PWM A:Y T:TM
I:PDD Q:75.0 A:Y T:TD
$Production: X
:t = omega
O:PFX Q:25 PWE P:1.0 / PWE A:Y T:-TE
O:PDD Q:75.0
:s = 0
I:PX Q:100.0
$Demand: Y
D: PQ Q: 100.0
E: PX Q: 100.0
E: PFX Q: BBAR
Notice that we have two versions of the MCP model, one with subexpressions and one without. This is going to demonstrate an issue with the PATHSolver when subexpressions are used.
Demonstration of the Issue
To demonstrate the issue, we will set a counterfactual scenario with a fairly large shock to the parameters, then attempt to solve all four models. This is the smallest shock I could find that causes the issue to appear.
params = ModelParameters(
elas_substitution = .2,
elas_transformation = 15,
balance_of_payments = 10,
price_world_export = 1.2,
price_world_import = 1.1,
tax_domestic = .5,
subsidy_export = .2,
tax_import = .1
);
set_parameter_values(nlp, params)
set_parameter_values(mcp, params)
set_parameter_values(mcp_sub, params)
set_parameter_values(mpsge, params)The NLP model solves fine.
optimize!(nlp)This is Ipopt version 3.14.19, running with linear solver MUMPS 5.8.1.
Number of nonzeros in equality constraint Jacobian...: 48
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 32
Total number of variables............................: 14
variables with only lower bounds: 12
variables with lower and upper bounds: 0
variables with only upper bounds: 0
Total number of equality constraints.................: 14
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 1.0000000e+02 3.42e+01 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 1.1080262e+02 1.74e+00 8.94e-01 -1.0 3.16e+01 - 8.38e-01 1.00e+00f 1
2 1.1013233e+02 1.05e-01 3.46e-01 -1.0 1.89e+00 - 9.74e-01 1.00e+00h 1
3 1.1009540e+02 2.24e-04 3.54e-03 -1.7 3.69e-02 - 1.00e+00 1.00e+00h 1
4 1.1009540e+02 1.19e-09 3.01e-14 -3.8 4.12e-06 - 1.00e+00 1.00e+00h 1
Number of Iterations....: 4
(scaled) (unscaled)
Objective...............: -1.1009539658140858e+02 1.1009539658140858e+02
Dual infeasibility......: 3.0113395365171019e-14 3.0113395365171019e-14
Constraint violation....: 3.1753965383056021e-10 1.1907737018646003e-09
Variable bound violation: 0.0000000000000000e+00 0.0000000000000000e+00
Complementarity.........: 0.0000000000000000e+00 0.0000000000000000e+00
Overall NLP error.......: 3.1753965383056021e-10 1.1907737018646003e-09
Number of objective function evaluations = 5
Number of objective gradient evaluations = 5
Number of equality constraint evaluations = 5
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 5
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 4
Total seconds in IPOPT = 0.001
EXIT: Optimal Solution Found.As does the MCP model without subexpressions.
optimize!(mcp)Path 5.0.03 (Fri Jun 26 09:54:13 2020)
Written by Todd Munson, Steven Dirkse, Youngdae Kim, and Michael Ferris
Preprocessed size : 6
Crash Log
major func diff size residual step prox (label)
0 0 1.4870e+02 0.0e+00 (mc_PD)
1 2 0 6 1.4244e+02 8.0e-01 0.0e+00 (income_balanc)
pn_search terminated: no basis change.
Major Iteration Log
major minor func grad residual step type prox inorm (label)
0 0 3 2 1.4244e+02 I 0.0e+00 1.2e+02 (income_balanc)
1 1 4 3 2.0601e+02 1.0e+00 SM 0.0e+00 2.0e+02 (mc_PD)
2 2 5 4 -nan 1.0e+00 SD 0.0e+00 1.7e+01 (mc_PD)
3 2 6 5 1.8629e+00 1.0e+00 RD -nan 1.9e+00 (zp_)
4 1 7 6 1.0899e+00 1.0e+00 SD 1.9e-01 1.1e+00 (zp_)
5 1 8 7 1.0264e+00 1.0e+00 SD 7.5e-02 1.0e+00 (zp_)
6 1 9 8 1.0095e+00 1.0e+00 SD 3.0e-02 1.0e+00 (zp_)
7 1 10 9 1.0037e+00 1.0e+00 SD 1.2e-02 1.0e+00 (zp_)
8 1 11 10 1.0014e+00 1.0e+00 SD 4.8e-03 1.0e+00 (zp_)
9 1 12 11 1.0006e+00 1.0e+00 SD 1.9e-03 1.0e+00 (zp_)
10 1 14 12 2.4692e+01 8.0e-01 SW 0.0e+00 2.0e+01 (income_balanc)
11 2 15 13 -nan 1.0e+00 SD 0.0e+00 5.9e+00 (zp_)
12 1 16 14 2.0000e+00 1.0e+00 SD -nan 2.0e+00 (zp_)
13 1 17 15 1.0990e+00 1.0e+00 SD 2.0e-01 1.1e+00 (zp_)
14 1 18 16 1.0285e+00 1.0e+00 SD 8.0e-02 1.0e+00 (zp_)
15 1 19 17 1.0103e+00 1.0e+00 SD 3.2e-02 1.0e+00 (zp_)
16 1 20 18 1.0039e+00 1.0e+00 SD 1.3e-02 1.0e+00 (zp_)
17 1 21 19 1.0016e+00 1.0e+00 SD 5.1e-03 1.0e+00 (zp_)
18 1 22 20 1.0006e+00 1.0e+00 SD 2.0e-03 1.0e+00 (zp_)
19 1 24 21 1.8833e+02 8.0e-01 SW 0.0e+00 1.9e+02 (mc_PD)
20 2 25 22 -nan 1.0e+00 SD 0.0e+00 6.9e+01 (mc_PD)
21 2 26 23 1.5585e+00 1.0e+00 RD -nan 1.6e+00 (zp_)
22 1 27 24 1.0707e+00 1.0e+00 SD 1.6e-01 1.1e+00 (zp_)
23 1 28 25 1.0217e+00 1.0e+00 SD 6.2e-02 1.0e+00 (zp_)
24 1 29 26 1.0079e+00 1.0e+00 SD 2.5e-02 1.0e+00 (zp_)
25 1 30 27 1.0031e+00 1.0e+00 SD 1.0e-02 1.0e+00 (zp_)
26 1 31 28 1.0012e+00 1.0e+00 SD 4.0e-03 1.0e+00 (zp_)
27 1 32 29 1.0005e+00 1.0e+00 SD 1.6e-03 1.0e+00 (zp_)
28 1 34 30 7.1713e+01 8.0e-01 SW 0.0e+00 6.6e+01 (mc_PD)
29 1 35 31 1.1612e+01 1.0e+00 SO 0.0e+00 1.1e+01 (mc_PF)
30 1 36 32 9.8109e-01 1.0e+00 SO 0.0e+00 9.1e-01 (mc_PD)
31 1 37 33 1.0770e-02 1.0e+00 SO 0.0e+00 7.9e-03 (mc_PF)
32 1 38 34 1.3049e-06 1.0e+00 SO 0.0e+00 9.6e-07 (mc_PF)
33 1 39 35 1.9342e-13 1.0e+00 SO 0.0e+00 1.8e-13 (mc_PD)
Major Iterations. . . . 33
Minor Iterations. . . . 38
Restarts. . . . . . . . 0
Crash Iterations. . . . 1
Gradient Steps. . . . . 0
Function Evaluations. . 39
Gradient Evaluations. . 35
Basis Time. . . . . . . 0.000073
Total Time. . . . . . . 0.006574
Residual. . . . . . . . 1.934192e-13
Postsolved residual: 1.9342e-13However, the MCP model with subexpressions fails to solve.
optimize!(mcp_sub)Path 5.0.03 (Fri Jun 26 09:54:13 2020)
Written by Todd Munson, Steven Dirkse, Youngdae Kim, and Michael Ferris
Preprocessed size : 10
Crash Log
major func diff size residual step prox (label)
0 0 9.6385e+01 0.0e+00 (income_balanc)
pn_search terminated: no progress.
Major Iteration Log
major minor func grad residual step type prox inorm (label)
0 0 13 1 9.6385e+01 I 0.0e+00 9.6e+01 (income_balanc)
1 1 14 2 1.0296e+03 1.0e+00 SD 0.0e+00 7.8e+02 (income_balanc)
2 1 19 3 4.2355e+02 3.3e-01 SW 0.0e+00 4.2e+02 (income_balanc)
3 3 20 4 3.4417e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
4 5 21 5 3.4417e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
5 3 22 6 3.4417e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
6 7 23 7 3.4417e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
7 3 24 8 3.4417e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
8 14 38 9 9.5364e+01 1.5e-06 RG 0.0e+00 9.5e+01 (income_balanc)
9 1 39 10 8.2198e+02 1.0e+00 SD 0.0e+00 6.0e+02 (income_balanc)
10 1 43 11 4.0193e+02 5.1e-01 SW 0.0e+00 4.0e+02 (income_balanc)
11 3 44 12 3.4254e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
12 8 45 13 3.4254e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
13 3 46 14 3.4254e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
14 8 47 15 3.4254e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
15 3 48 16 3.4254e+02 1.0e+00 RO 0.0e+00 3.4e+02 (income_balanc)
16 14 61 17 6.5888e+01 5.4e-05 RG 0.0e+00 6.6e+01 (income_balanc)
17 1 68 18 2.9651e+02 1.3e-01 SB 0.0e+00 3.0e+02 (income_balanc)
18 3 69 19 7.8257e+01 1.0e+00 RO 0.0e+00 7.8e+01 (income_balanc)
19 6 70 20 7.8257e+01 1.0e+00 RO 0.0e+00 7.8e+01 (income_balanc)
20 3 71 21 7.8257e+01 1.0e+00 RO 0.0e+00 7.8e+01 (income_balanc)
21 6 72 22 7.8257e+01 1.0e+00 RO 0.0e+00 7.8e+01 (income_balanc)
22 3 73 23 7.8257e+01 1.0e+00 RO 0.0e+00 7.8e+01 (income_balanc)
23 13 87 24 6.1905e+01 1.5e-06 RG 0.0e+00 6.2e+01 (income_balanc)
24 1 95 25 1.2322e+01 5.5e-02 SB 0.0e+00 1.2e+01 (income_balanc)
25 1 104 26 1.0090e+02 2.3e-02 SB 0.0e+00 1.0e+02 (income_balanc)
26 1 133 27 1.0515e+01 4.3e-08 SG 0.0e+00 1.0e+01 (income_balanc)
27 1 162 28 9.0557e+00 4.3e-08 SG 0.0e+00 8.7e+00 (income_balanc)
Restart Log
proximal_perturbation 0
crash_method none
crash_perturb yes
nms_initial_reference_factor 2
lemke_start_type slack
proximal_perturbation 1.0000e-01
Major Iteration Log
major minor func grad residual step type prox inorm (label)
27 0 192 29 9.6385e+01 R 1.0e-01 9.6e+01 (income_balanc)
28 1 193 30 1.0839e+03 1.0e+00 SD 4.0e-02 8.0e+02 (income_balanc)
29 1 202 31 1.2462e+02 2.3e-02 SW 4.0e-02 1.2e+02 (income_balanc)
30 1 203 32 1.1294e+03 1.0e+00 SD 1.6e-02 8.2e+02 (mc_PF)
31 1 213 33 1.3594e+02 9.2e-03 SW 4.0e-02 1.4e+02 (income_balanc)
32 1 214 34 1.1773e+03 1.0e+00 SD 1.6e-02 8.9e+02 (mc_PF)
33 1 226 35 1.3625e+02 2.6e-04 SW 4.0e-02 1.4e+02 (income_balanc)
34 1 227 36 1.1787e+03 1.0e+00 SD 1.6e-02 8.9e+02 (mc_PF)
35 1 240 37 1.3630e+02 4.4e-05 SW 4.0e-02 1.4e+02 (income_balanc)
36 1 241 38 1.1789e+03 1.0e+00 SD 1.6e-02 8.9e+02 (mc_PF)
37 1 255 39 1.3630e+02 1.2e-06 SW 4.0e-02 1.4e+02 (income_balanc)
38 1 256 40 1.1789e+03 1.0e+00 SD 1.6e-02 8.9e+02 (mc_PF)
Restart Log
proximal_perturbation 0
crash_method none
crash_perturb no
nms_initial_reference_factor 10
nms_memory_size 2
nms_mstep_frequency 1
lemke_search_type slack
Major Iteration Log
major minor func grad residual step type prox inorm (label)
38 0 258 41 9.6385e+01 R 0.0e+00 9.6e+01 (income_balanc)
39 1 265 42 2.5876e+02 1.3e-01 SB 0.0e+00 2.6e+02 (income_balanc)
40 1 274 43 3.0000e+02 2.3e-02 SB 0.0e+00 3.0e+02 (income_balanc)
41 6 302 44 9.5364e+01 1.5e-06 RG 0.0e+00 9.5e+01 (income_balanc)
42 1 329 45 6.5888e+01 5.4e-05 SG 0.0e+00 6.6e+01 (income_balanc)
43 1 337 46 7.4087e+00 5.5e-02 SB 0.0e+00 7.0e+00 (income_balanc)
44 1 346 47 5.8673e+01 2.3e-02 SB 0.0e+00 5.9e+01 (income_balanc)
45 1 375 48 6.7729e+00 4.3e-08 SG 0.0e+00 6.3e+00 (income_balanc)
46 1 385 49 3.9713e+00 9.2e-03 SB 0.0e+00 3.1e+00 (income_balanc)
47 1 396 50 4.2725e+00 1.5e-03 SB 0.0e+00 3.5e+00 (income_balanc)
48 1 410 51 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
49 1 424 52 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
50 1 438 53 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
51 1 452 54 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
52 1 466 55 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
53 1 480 56 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
54 1 494 57 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
55 1 508 58 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
56 1 522 59 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
57 1 536 60 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
58 1 550 61 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
59 1 564 62 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
60 1 578 63 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
61 1 592 64 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
62 1 606 65 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
63 1 620 66 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
64 1 634 67 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
65 1 648 68 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
66 1 662 69 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
67 1 676 70 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
68 1 690 71 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
69 1 704 72 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
70 1 718 73 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
71 1 732 74 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
72 1 746 75 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
73 1 760 76 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
74 1 774 77 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
75 1 788 78 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
76 1 802 79 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
77 1 816 80 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
78 1 830 81 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
79 1 844 82 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
80 1 858 83 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
81 1 872 84 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
82 1 886 85 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
83 1 900 86 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
84 1 914 87 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
85 1 928 88 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
86 1 942 89 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
87 1 956 90 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
88 1 970 91 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
89 1 984 92 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
90 1 998 93 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
91 1 1012 94 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
92 1 1026 95 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
93 1 1040 96 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
94 1 1054 97 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
95 1 1068 98 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
96 1 1082 99 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
97 1 1096 100 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
98 1 1110 101 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
99 1 1124 102 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
100 1 1138 103 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
101 1 1152 104 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
102 1 1166 105 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
103 1 1180 106 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
104 1 1194 107 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
105 1 1208 108 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
106 1 1222 109 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
107 1 1236 110 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
108 1 1250 111 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
109 1 1264 112 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
110 1 1278 113 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
111 1 1292 114 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
112 1 1306 115 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
113 1 1320 116 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
114 1 1334 117 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
115 1 1348 118 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
116 1 1362 119 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
117 1 1376 120 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
118 1 1390 121 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
119 1 1404 122 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
120 1 1418 123 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
121 1 1432 124 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
122 1 1446 125 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
123 1 1460 126 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
124 1 1474 127 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
125 1 1488 128 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
126 1 1502 129 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
127 1 1516 130 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
128 1 1530 131 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
129 1 1544 132 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
130 1 1558 133 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
131 1 1572 134 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
132 1 1586 135 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
133 1 1600 136 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
134 1 1614 137 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
135 1 1628 138 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
136 1 1642 139 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
137 1 1656 140 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
138 1 1670 141 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
139 1 1684 142 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
140 1 1698 143 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
141 1 1712 144 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
142 1 1726 145 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
143 1 1740 146 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
Restart Log
proximal_perturbation 0
crash_method pnewton
crash_nbchange_limit 10
nms_initial_reference_factor 2
crash_searchtype arc
nms_searchtype arc
gradient_searchtype arc
lemke_search_type slack
Crash Log
major func diff size residual step prox (label)
0 0 9.6385e+01 0.0e+00 (income_balanc)
pn_search terminated: no progress.
Major Iteration Log
major minor func grad residual step type prox inorm (label)
143 0 1767 148 9.6385e+01 R 0.0e+00 9.6e+01 (income_balanc)
144 1 1776 149 1.2606e+02 2.3e-02 SB 0.0e+00 1.3e+02 (income_balanc)
145 1 1787 150 1.2809e+02 1.5e-03 SB 0.0e+00 1.3e+02 (income_balanc)
146 1 1815 151 9.5364e+01 1.5e-06 SG 0.0e+00 9.5e+01 (income_balanc)
147 1 1842 152 6.5888e+01 5.4e-05 SG 0.0e+00 6.6e+01 (income_balanc)
148 1 1850 153 7.4087e+00 5.5e-02 SB 0.0e+00 7.0e+00 (income_balanc)
149 1 1859 154 5.8673e+01 2.3e-02 SB 0.0e+00 5.9e+01 (income_balanc)
150 1 1888 155 6.7729e+00 4.3e-08 SG 0.0e+00 6.3e+00 (income_balanc)
151 1 1898 156 3.9713e+00 9.2e-03 SB 0.0e+00 3.1e+00 (income_balanc)
152 1 1909 157 4.2725e+00 1.5e-03 SB 0.0e+00 3.5e+00 (income_balanc)
153 1 1923 158 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
154 1 1937 159 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
155 1 1951 160 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
156 1 1965 161 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
157 1 1979 162 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
158 1 1993 163 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
159 1 2007 164 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
160 1 2021 165 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
161 1 2035 166 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
162 1 2049 167 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
163 1 2063 168 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
164 1 2077 169 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
165 1 2091 170 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
166 1 2105 171 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
167 1 2119 172 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
168 1 2133 173 4.2725e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
169 1 2147 174 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
170 1 2161 175 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
171 1 2175 176 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
172 1 2189 177 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
173 1 2203 178 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
174 1 2217 179 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
175 1 2231 180 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
176 1 2245 181 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
177 1 2259 182 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
178 1 2273 183 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
179 1 2287 184 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
180 1 2301 185 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
181 1 2315 186 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
182 1 2329 187 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
183 1 2343 188 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
184 1 2357 189 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
185 1 2371 190 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
186 1 2385 191 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
187 1 2399 192 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
188 1 2413 193 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
189 1 2427 194 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
190 1 2441 195 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
191 1 2455 196 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
192 1 2469 197 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
193 1 2483 198 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
194 1 2497 199 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
195 1 2511 200 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
196 1 2525 201 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
197 1 2539 202 4.2724e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
198 1 2553 203 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
199 1 2567 204 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
200 1 2581 205 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
201 1 2595 206 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
202 1 2609 207 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
203 1 2623 208 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
204 1 2637 209 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
205 1 2651 210 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
206 1 2665 211 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
207 1 2679 212 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
208 1 2693 213 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
209 1 2707 214 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
210 1 2721 215 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
211 1 2735 216 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
212 1 2749 217 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
213 1 2763 218 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
214 1 2777 219 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
215 1 2791 220 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
216 1 2805 221 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
217 1 2819 222 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
218 1 2833 223 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
219 1 2847 224 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
220 1 2861 225 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
221 1 2875 226 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
222 1 2889 227 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
223 1 2903 228 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
224 1 2917 229 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
225 1 2931 230 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
226 1 2945 231 4.2723e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
227 1 2959 232 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
228 1 2973 233 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
229 1 2987 234 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
230 1 3001 235 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
231 1 3015 236 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
232 1 3029 237 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
233 1 3043 238 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
234 1 3057 239 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
235 1 3071 240 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
236 1 3085 241 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
237 1 3099 242 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
238 1 3113 243 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
239 1 3127 244 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
240 1 3141 245 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
241 1 3155 246 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
242 1 3169 247 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
243 1 3183 248 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
244 1 3197 249 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
245 1 3211 250 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
246 1 3225 251 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
247 1 3239 252 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
248 1 3253 253 4.2722e+00 1.2e-06 SB 0.0e+00 3.5e+00 (income_balanc)
Major Iterations. . . . 248
Minor Iterations. . . . 347
Restarts. . . . . . . . 3
Crash Iterations. . . . 0
Gradient Steps. . . . . 12
Function Evaluations. . 3267
Gradient Evaluations. . 254
Basis Time. . . . . . . 0.000796
Total Time. . . . . . . 0.023295
Residual. . . . . . . . 3.971304e+00
Postsolved residual: 3.9713e+00This MPSGE model uses subexpressions, so it also fails to solve.
solve!(mpsge)Reading options file /tmp/jl_R1OlSS
> cumulative_iteration_limit 10000
Read of options file complete.
Path 5.0.03 (Fri Jun 26 09:54:13 2020)
Written by Todd Munson, Steven Dirkse, Youngdae Kim, and Michael Ferris
Preprocessed size : 10
Crash Log
major func diff size residual step prox (label)
0 0 1.4567e+00 0.0e+00 (m_c[PFX)
1 4 0 9 1.2020e+00 4.1e-01 0.0e+00 (m_c[PDD)
pn_search terminated: no basis change.
Major Iteration Log
major minor func grad residual step type prox inorm (label)
0 0 5 2 1.2020e+00 I 0.0e+00 9.4e-01 (m_c[PDD)
1 8 16 3 3.8254e+00 1.5e-03 RB 0.0e+00 3.6e+00 (i_b[Y)
2 3 17 4 1.1976e+00 1.0e+00 RO 0.0e+00 9.4e-01 (m_c[PDD)
3 5 18 5 1.1976e+00 1.0e+00 RO 0.0e+00 9.4e-01 (m_c[PDD)
4 2 19 6 1.1976e+00 1.0e+00 RO 0.0e+00 9.4e-01 (m_c[PDD)
5 2 20 7 1.1976e+00 1.0e+00 RO 0.0e+00 9.4e-01 (m_c[PDD)
6 8 31 8 1.1951e+00 1.9e-03 RG 0.0e+00 9.3e-01 (m_c[PDD)
7 4 32 9 1.1951e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
8 6 33 10 1.1890e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
9 4 34 11 1.1890e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
10 4 35 12 1.1890e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
11 8 46 13 3.4537e+00 1.5e-03 RB 0.0e+00 3.2e+00 (i_b[Y)
12 5 59 14 1.1868e+00 5.4e-05 RG 0.0e+00 9.3e-01 (m_c[PDD)
13 6 60 15 1.1868e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
14 4 61 16 1.1868e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
15 4 62 17 1.1868e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
16 8 75 18 1.1903e+00 4.4e-05 RB 0.0e+00 9.3e-01 (m_c[PDD)
17 5 76 19 1.1903e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
18 5 89 20 1.1865e+00 5.4e-05 RG 0.0e+00 9.3e-01 (m_c[PDD)
19 4 90 21 1.1865e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
20 6 91 22 1.1865e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
21 8 105 23 1.1865e+00 1.2e-06 RB 0.0e+00 9.3e-01 (m_c[PDD)
22 5 106 24 1.1865e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
23 5 107 25 1.1865e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
24 5 119 26 1.1860e+00 3.2e-04 RG 0.0e+00 9.3e-01 (m_c[PDD)
25 2 120 27 1.1860e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
26 8 134 28 1.1860e+00 1.2e-06 RB 0.0e+00 9.3e-01 (m_c[PDD)
27 4 135 29 1.1867e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
28 3 136 30 1.1867e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
29 4 137 31 1.1867e+00 1.0e+00 RD 0.0e+00 9.3e-01 (m_c[PDD)
30 3 150 32 1.1856e+00 5.4e-05 RG 0.0e+00 9.3e-01 (m_c[PDD)
31 8 164 33 1.1856e+00 1.2e-06 RB 0.0e+00 9.3e-01 (m_c[PDD)
32 3 165 34 1.1856e+00 1.0e+00 RO 0.0e+00 9.3e-01 (m_c[PDD)
33 4 166 35 1.1865e+00 1.0e+00 RD 0.0e+00 9.3e-01 (m_c[PDD)
34 3 167 36 1.1865e+00 1.0e+00 RD 0.0e+00 9.3e-01 (m_c[PDD)
35 3 168 37 1.1865e+00 1.0e+00 RD 0.0e+00 9.3e-01 (m_c[PDD)
Restart Log
proximal_perturbation 0
crash_method none
crash_perturb yes
nms_initial_reference_factor 2
lemke_start_type slack
proximal_perturbation 1.4567e-02
Major Iteration Log
major minor func grad residual step type prox inorm (label)
35 0 181 38 1.4567e+00 R 1.5e-02 1.0e+00 (m_c[PFX)
36 2 193 39 1.5117e+00 2.6e-04 SB 5.8e-03 1.0e+00 (m_c[PFX)
37 1 205 40 1.6650e+00 2.6e-04 SB 2.3e-03 1.0e+00 (m_c[PFX)
38 1 217 41 1.8924e+00 2.6e-04 SB 9.3e-04 1.2e+00 (i_b[Y)
39 1 230 42 1.9361e+00 4.4e-05 SB 3.7e-04 1.3e+00 (i_b[Y)
40 1 243 43 1.9810e+00 4.4e-05 SB 1.5e-04 1.3e+00 (i_b[Y)
41 1 256 44 2.0272e+00 4.4e-05 SB 6.0e-05 1.4e+00 (i_b[Y)
42 1 270 45 2.0286e+00 1.2e-06 SB 2.4e-05 1.4e+00 (i_b[Y)
43 1 284 46 2.0299e+00 1.2e-06 SB 9.5e-06 1.4e+00 (i_b[Y)
44 1 298 47 2.0312e+00 1.2e-06 SB 3.8e-06 1.4e+00 (i_b[Y)
45 1 312 48 2.0325e+00 1.2e-06 SB 1.5e-06 1.4e+00 (i_b[Y)
46 1 339 49 1.4334e+00 5.4e-05 SG 5.8e-03 1.0e+00 (m_c[PFX)
47 2 354 50 1.4334e+00 3.5e-08 SB 2.3e-03 1.0e+00 (m_c[PFX)
48 1 369 51 1.4334e+00 3.5e-08 SB 9.3e-04 1.0e+00 (m_c[PFX)
49 1 384 52 1.4334e+00 3.5e-08 SB 3.7e-04 1.0e+00 (m_c[PFX)
50 1 399 53 1.4334e+00 3.5e-08 SB 1.5e-04 1.0e+00 (m_c[PFX)
51 1 414 54 1.4334e+00 3.5e-08 SB 6.0e-05 1.0e+00 (m_c[PFX)
52 1 429 55 1.4334e+00 3.5e-08 SB 2.4e-05 1.0e+00 (m_c[PFX)
53 1 444 56 1.4334e+00 3.5e-08 SB 9.5e-06 1.0e+00 (m_c[PFX)
54 1 459 57 1.4334e+00 3.5e-08 SB 3.8e-06 1.0e+00 (m_c[PFX)
55 1 474 58 1.4334e+00 3.5e-08 SB 1.5e-06 1.0e+00 (m_c[PFX)
56 1 489 59 1.4334e+00 3.5e-08 SB 6.1e-07 1.0e+00 (m_c[PFX)
57 1 504 60 1.4334e+00 3.5e-08 SB 2.4e-07 1.0e+00 (m_c[PFX)
58 1 519 61 1.4334e+00 3.5e-08 SB 9.8e-08 1.0e+00 (m_c[PFX)
59 1 534 62 1.4334e+00 3.5e-08 SB 3.9e-08 1.0e+00 (m_c[PFX)
60 1 549 63 1.4334e+00 3.5e-08 SB 1.6e-08 1.0e+00 (m_c[PFX)
61 1 564 64 1.4334e+00 3.5e-08 SB 6.3e-09 1.0e+00 (m_c[PFX)
62 1 579 65 1.4334e+00 3.5e-08 SB 2.5e-09 1.0e+00 (m_c[PFX)
63 1 594 66 1.4334e+00 3.5e-08 SB 1.0e-09 1.0e+00 (m_c[PFX)
64 1 609 67 1.4334e+00 3.5e-08 SB 4.0e-10 1.0e+00 (m_c[PFX)
65 1 624 68 1.4334e+00 3.5e-08 SB 1.6e-10 1.0e+00 (m_c[PFX)
66 1 639 69 1.4334e+00 3.5e-08 SB 6.4e-11 1.0e+00 (m_c[PFX)
67 1 654 70 1.4334e+00 3.5e-08 SB 2.6e-11 1.0e+00 (m_c[PFX)
68 1 681 71 1.2656e+00 5.4e-05 SG 1.0e-09 1.0e+00 (m_c[PFX)
69 1 709 72 1.1687e+00 1.5e-06 SG 4.0e-10 1.0e+00 (m_c[PFX)
70 1 738 73 1.1666e+00 4.3e-08 SG 1.6e-10 1.0e+00 (m_c[PFX)
71 1 767 74 1.1646e+00 4.3e-08 SG 6.4e-11 1.0e+00 (m_c[PFX)
Restart Log
proximal_perturbation 0
crash_method none
crash_perturb no
nms_initial_reference_factor 10
nms_memory_size 2
nms_mstep_frequency 1
lemke_search_type slack
Major Iteration Log
major minor func grad residual step type prox inorm (label)
71 0 797 75 1.4567e+00 R 0.0e+00 1.0e+00 (m_c[PFX)
72 2 808 76 2.7983e+00 1.5e-03 SB 0.0e+00 2.4e+00 (i_b[Y)
73 1 820 77 3.1473e+00 2.6e-04 SB 0.0e+00 2.8e+00 (i_b[Y)
74 1 847 78 1.4334e+00 5.4e-05 SG 0.0e+00 1.0e+00 (m_c[PFX)
75 2 862 79 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
76 1 877 80 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
77 1 892 81 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
78 1 907 82 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
79 1 922 83 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
80 1 937 84 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
81 1 952 85 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
82 1 967 86 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
83 1 982 87 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
84 1 997 88 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
85 1 1012 89 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
86 1 1027 90 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
87 1 1042 91 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
88 1 1057 92 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
89 1 1072 93 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
90 1 1087 94 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
91 1 1102 95 1.4334e+00 3.5e-08 SB 0.0e+00 1.0e+00 (m_c[PFX)
92 1 1129 96 1.2656e+00 5.4e-05 SG 0.0e+00 1.0e+00 (m_c[PFX)
93 1 1157 97 1.1687e+00 1.5e-06 SG 0.0e+00 1.0e+00 (m_c[PFX)
94 1 1186 98 1.1666e+00 4.3e-08 SG 0.0e+00 1.0e+00 (m_c[PFX)
95 1 1215 99 1.1646e+00 4.3e-08 SG 0.0e+00 1.0e+00 (m_c[PFX)
Restart Log
proximal_perturbation 0
crash_method pnewton
crash_nbchange_limit 10
nms_initial_reference_factor 2
crash_searchtype arc
nms_searchtype arc
gradient_searchtype arc
lemke_search_type slack
Crash Log
major func diff size residual step prox (label)
0 0 1.4567e+00 0.0e+00 (m_c[PFX)
1 4 0 9 1.2020e+00 4.1e-01 0.0e+00 (m_c[PDD)
2 8 1 9 1.0783e+00 4.1e-01 0.0e+00 (m_c[PDD)
3 20 1 8 1.0783e+00 5.4e-05 0.0e+00 (m_c[PDD)
4 27 0 9 1.0670e+00 6.9e-02 0.0e+00 (m_c[PDD)
5 36 0 9 1.0652e+00 1.2e-02 0.0e+00 (m_c[PDD)
6 46 0 9 1.0649e+00 1.9e-03 0.0e+00 (m_c[PDD)
7 56 0 9 1.0646e+00 1.9e-03 0.0e+00 (m_c[PDD)
8 67 0 9 1.0646e+00 3.2e-04 0.0e+00 (m_c[PDD)
9 78 0 9 1.0645e+00 3.2e-04 0.0e+00 (m_c[PDD)
10 89 0 9 1.0645e+00 3.2e-04 0.0e+00 (m_c[PDD)
pn_search terminated: no basis change.
Major Iteration Log
major minor func grad residual step type prox inorm (label)
95 0 1334 110 1.0645e+00 R 0.0e+00 8.5e-01 (m_c[PDD)
96 2 1335 111 1.0645e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
97 5 1336 112 1.0645e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
98 2 1337 113 1.0645e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
99 5 1338 114 1.0645e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
100 2 1339 115 1.0645e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
101 8 1352 116 1.0644e+00 5.4e-05 RG 0.0e+00 8.5e-01 (m_c[PDD)
102 4 1353 117 1.0644e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
103 6 1354 118 1.0642e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
104 4 1355 119 1.0642e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
105 4 1356 120 1.0642e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
106 8 1366 121 1.0630e+00 9.2e-03 RB 0.0e+00 8.5e-01 (m_c[PDD)
107 4 1381 122 1.0629e+00 4.3e-08 RG 0.0e+00 8.5e-01 (m_c[PDD)
108 3 1382 123 1.0629e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
109 4 1394 124 1.0629e+00 2.6e-04 RB 0.0e+00 8.5e-01 (m_c[PDD)
110 3 1396 125 1.0629e+00 8.0e-01 RB 0.0e+00 8.5e-01 (m_c[PDD)
111 8 1406 126 1.0622e+00 9.2e-03 RB 0.0e+00 8.5e-01 (m_c[PDD)
112 4 1407 127 1.0622e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
113 3 1422 128 1.0619e+00 4.3e-08 RG 0.0e+00 8.5e-01 (m_c[PDD)
114 3 1423 129 1.0619e+00 1.0e+00 RM 0.0e+00 8.5e-01 (m_c[PDD)
115 3 1425 130 1.0619e+00 8.0e-01 RB 0.0e+00 8.5e-01 (m_c[PDD)
116 8 1435 131 1.0616e+00 9.2e-03 RB 0.0e+00 8.4e-01 (m_c[PDD)
117 4 1436 132 1.0616e+00 1.0e+00 RM 0.0e+00 8.4e-01 (m_c[PDD)
118 3 1438 133 1.0616e+00 8.0e-01 RB 0.0e+00 8.4e-01 (m_c[PDD)
119 4 1453 134 1.0612e+00 4.3e-08 RG 0.0e+00 8.4e-01 (m_c[PDD)
120 3 1454 135 1.0612e+00 1.0e+00 RM 0.0e+00 8.4e-01 (m_c[PDD)
121 8 1464 136 1.0611e+00 9.2e-03 RB 0.0e+00 8.4e-01 (m_c[PDD)
122 4 1467 137 1.0611e+00 6.4e-01 RB 0.0e+00 8.4e-01 (m_c[PDD)
123 3 1469 138 1.0611e+00 8.0e-01 RB 0.0e+00 8.4e-01 (m_c[PDD)
124 4 1481 139 1.0611e+00 2.6e-04 RB 0.0e+00 8.4e-01 (m_c[PDD)
125 3 1496 140 1.0607e+00 4.3e-08 RG 0.0e+00 8.4e-01 (m_c[PDD)
126 8 1506 141 1.0609e+00 9.2e-03 RB 0.0e+00 8.4e-01 (m_c[PDD)
Major Iterations. . . . 126
Minor Iterations. . . . 385
Restarts. . . . . . . . 3
Crash Iterations. . . . 11
Gradient Steps. . . . . 24
Function Evaluations. . 1535
Gradient Evaluations. . 141
Basis Time. . . . . . . 0.000791
Total Time. . . . . . . 0.036288
Residual. . . . . . . . 1.060652e+00
Postsolved residual: 1.0607e+00
Solver Status: SLOW_PROGRESS
Model Status: UNKNOWN_RESULT_STATUSThe issue appears to be related to the use of subexpressions in PATHSolver. Both the NLP and MCP models without subexpressions solve fine, while both models with subexpressions fail to solve.
Temporary Solution
One way to solve this is to slowly approach the counterfactual by solving the model multiple times with smaller shocks. This is known as "parameter homotopy" or "path-following". Below is an example of how to do this.
The following is a function allowing us to set the value of elas_transformation without changing the other parameters.
transformation_shock(x) = ModelParameters(
elas_substitution = .2,
elas_transformation = x,
balance_of_payments = 10,
price_world_export = 1.2,
price_world_import = 1.1,
tax_domestic = .5,
subsidy_export = .2,
tax_import = .1
)transformation_shock (generic function with 1 method)We are going to solve the model many times, so it's a good idea to set it to silent mode.
set_silent(mpsge)Now we can loop over a range of values for elas_transformation, gradually increasing it to the target value.
for param in transformation_shock.(1:15)
set_parameter_values(mpsge, param)
solve!(mpsge)
jm = jump_model(mpsge)
set_start_value.(all_variables(jm), value.(all_variables(jm)))
println("Omega=$(param.elas_transformation): Solved = $(is_solved_and_feasible(jm))")
endOmega=1.0: Solved = true
Omega=2.0: Solved = true
Omega=3.0: Solved = true
Omega=4.0: Solved = true
Omega=5.0: Solved = true
Omega=6.0: Solved = true
Omega=7.0: Solved = true
Omega=8.0: Solved = true
Omega=9.0: Solved = true
Omega=10.0: Solved = true
Omega=11.0: Solved = true
Omega=12.0: Solved = true
Omega=13.0: Solved = true
Omega=14.0: Solved = true
Omega=15.0: Solved = trueA couple of notes. First, the all_variables function is defined in MPSGE, but it does not grab all the variables, just the ones that are explicitly defined. By using first extracting the JuMP model using jump_model, we can use all_variables from JuMP, which grabs all variables including subexpressions. I plan to add a keyword to all_variables in MPSGE to allow this behavior directly in the future.
Second, this approach may not always work. It depends on the model and the size of the shock. However, it is a useful technique to have in your toolbox when dealing with difficult-to-solve models.
This page was generated using Literate.jl.