0

你好,我用pyomo搭建了一个DAEs模型,用ipopt解决了。

但是,我发现了这些问题。

  1. 模型可以解决到可接受的水平,但是当我改变 nfe 的数量或有限元的长度时,它无法解决,并且我得到“恢复阶段收敛到一个小的原始不可行点”。

  2. 我猜这可能是由变量的初始值引起的。因此,我尝试从求解器中获取模型的结果,并将其作为新的初始值提供给模型,但失败了。

我在一个简单的例子(car_example)中得到了它,并且迭代减少了。

那么,为什么它在大型模型中会失败?</p>

非常感谢您

    D:\python\python.exe E:/Yan/4Keyan/1HTRmodel/PYOMO/H_sml1114/HTR_run.py
Ipopt 3.8.1: linear_solver=ma57
max_iter=100


******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Common Public License (CPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

NOTE: You are using Ipopt by default with the MUMPS linear solver.
      Other linear solvers might be more efficient (see Ipopt documentation).


This is Ipopt version 3.8.1, running with linear solver ma57.

Number of nonzeros in equality constraint Jacobian...:   103614
Number of nonzeros in inequality constraint Jacobian.:      120
Number of nonzeros in Lagrangian Hessian.............:    57810

Total number of variables............................:    31800
                     variables with only lower bounds:     5100
                variables with lower and upper bounds:    23400
                     variables with only upper bounds:        0
Total number of equality constraints.................:    31800
Total number of inequality constraints...............:       62
        inequality constraints with only lower bounds:       62
   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+000 1.49e+004 1.00e+000  -1.0 0.00e+000    -  0.00e+000 0.00e+000   0
   1 1.0000000e+000 1.06e+003 6.25e+011  -1.0 8.68e+006    -  6.86e-005 9.92e-001f  1
   2 1.0000000e+000 1.05e+003 6.23e+011  -1.0 1.12e+008    -  1.57e-002 3.17e-003h  5
   3 1.0000000e+000 1.05e+003 6.21e+011  -1.0 9.69e+007    -  2.01e-002 3.70e-003h  5
   4 1.0000000e+000 1.06e+003 6.16e+011  -1.0 8.31e+007    -  3.05e-002 8.25e-003h  4
   5 1.0000000e+000 1.06e+003 6.10e+011  -1.0 6.08e+007    -  3.85e-002 9.55e-003h  4
   6 1.0000000e+000 1.06e+003 5.97e+011  -1.0 4.46e+007    -  5.25e-002 2.20e-002h  3
   7 1.0000000e+000 1.08e+003 5.64e+011  -1.0 2.42e+007    -  7.27e-002 5.57e-002h  2
   8 1.0000000e+000 1.06e+003 4.74e+011  -1.0 1.04e+007    -  2.64e-001 1.60e-001h  1
   9 1.0000000e+000 5.34e+002 8.69e+011  -1.0 4.91e+006    -  9.93e-003 1.00e+000h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10 1.0000000e+000 5.04e+001 1.22e+008  -1.0 1.52e+006    -  3.46e-001 1.00e+000h  1
  11 1.0000000e+000 7.80e-002 5.31e+006  -1.0 1.94e+005    -  9.13e-001 1.00e+000h  1
  12 1.0000000e+000 1.81e-007 7.24e+003  -1.0 2.07e+003    -  9.90e-001 1.00e+000h  1
  13 1.0000000e+000 1.68e-007 3.00e-002  -1.0 8.66e-002    -  9.90e-001 1.00e+000h  1
  14 1.0000000e+000 2.61e-007 2.99e-004  -1.0 1.02e-005    -  9.90e-001 1.00e+000h  1
  15 1.0000000e+000 2.19e-007 2.09e-006  -1.0 2.06e-005    -  9.93e-001 1.00e+000h  1
  16 1.0000000e+000 2.62e-007 2.10e-007  -1.7 4.16e-005    -  1.00e+000 1.00e+000h  1
  17 1.0000000e+000 2.20e-007 1.13e-008  -3.8 8.50e-005    -  1.00e+000 1.00e+000h  1
  18 1.0000000e+000 1.81e-007 2.96e-009  -5.7 1.78e-004    -  1.00e+000 1.00e+000h  1
  19 1.0000000e+000 2.01e-007 2.08e-011  -8.6 3.88e-004    -  1.00e+000 1.00e+000s 22

Number of Iterations....: 19

                                   (scaled)                 (unscaled)
Objective...............:  1.0000000000000000e+000   1.0000000000000000e+000
Dual infeasibility......:  0.0000000000000000e+000   0.0000000000000000e+000
Constraint violation....:  2.0069879269613011e-007   4.7683715820312500e-007
Complementarity.........:  0.0000000000000000e+000   0.0000000000000000e+000
Overall NLP error.......:  2.0069879269613011e-007   4.7683715820312500e-007


Number of objective function evaluations             = 66
Number of objective gradient evaluations             = 21
Number of equality constraint evaluations            = 66
Number of inequality constraint evaluations          = 66
Number of equality constraint Jacobian evaluations   = 21
Number of inequality constraint Jacobian evaluations = 21
Number of Lagrangian Hessian evaluations             = 20
Total CPU secs in IPOPT (w/o function evaluations)   =     10.373
Total CPU secs in NLP function evaluations           =      5.245

EXIT: Solved To Acceptable Level.
Ipopt 3.8.1: linear_solver=ma57
max_iter=100


******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Common Public License (CPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

NOTE: You are using Ipopt by default with the MUMPS linear solver.
      Other linear solvers might be more efficient (see Ipopt documentation).


This is Ipopt version 3.8.1, running with linear solver ma57.

Number of nonzeros in equality constraint Jacobian...:   103614
Number of nonzeros in inequality constraint Jacobian.:      120
Number of nonzeros in Lagrangian Hessian.............:    57810

Total number of variables............................:    31800
                     variables with only lower bounds:     5100
                variables with lower and upper bounds:    23400
                     variables with only upper bounds:        0
Total number of equality constraints.................:    31800
Total number of inequality constraints...............:       62
        inequality constraints with only lower bounds:       62
   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+000 4.61e-001 1.00e+000  -1.0 0.00e+000    -  0.00e+000 0.00e+000   0
   1 1.0000000e+000 1.06e+003 2.38e+010  -1.0 8.65e+006    -  7.93e-001 9.92e-001f  1
   2 1.0000000e+000 3.89e+003 2.12e+010  -1.0 1.01e+008    -  2.88e-002 2.88e-002s 18
   3 1.0000000e+000 3.68e+003 1.80e+010  -1.0 3.26e+007    -  5.55e-002 5.55e-002s 18
   4 1.0000000e+000 3.46e+003 1.62e+010  -1.0 1.16e+007    -  6.04e-002 6.04e-002s 18
   5 1.0000000e+000 3.45e+003 1.62e+010  -1.0 7.01e+006    -  2.12e-003 2.12e-003s 18
   6r1.0000000e+000 3.45e+003 9.99e+002   3.5 0.00e+000    -  0.00e+000 0.00e+000R  1
   7r1.0000000e+000 3.43e+003 2.20e+005   3.5 4.05e+005    -  1.45e-002 3.96e-004f  1
   8r1.0000000e+000 4.25e+003 5.65e+006   3.5 1.44e+005    -  1.45e-001 3.95e-003f  3
   9r1.0000000e+000 3.20e+003 3.98e+006   3.5 2.38e+000   4.0 9.90e-001 3.54e-001f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  10r1.0000000e+000 3.20e+003 1.44e+006   2.8 4.11e-001   3.5 8.25e-001 1.00e+000f  1
  11r1.0000000e+000 3.20e+003 4.66e+005   2.8 1.29e+000   3.0 9.91e-001 1.00e+000f  1
  12r1.0000000e+000 3.20e+003 1.44e+005   2.8 2.78e+000   2.6 8.16e-001 8.51e-001f  1
  13r1.0000000e+000 3.20e+003 5.24e+004   2.1 1.17e+000   3.0 9.97e-001 1.00e+000f  1
  14r1.0000000e+000 3.20e+003 1.89e+004   2.1 3.80e-001   3.4 1.00e+000 1.00e+000f  1
  15r1.0000000e+000 3.20e+003 8.86e+003   2.1 1.14e+000   2.9 1.00e+000 7.27e-001f  1
  16r1.0000000e+000 3.20e+003 1.77e+004   1.4 3.41e+000   2.5 5.65e-001 2.53e-001f  1
  17r1.0000000e+000 3.20e+003 5.68e+003   1.4 1.28e+000   2.9 6.15e-001 6.57e-001f  1
  18r1.0000000e+000 3.20e+003 4.48e+003   1.4 5.12e-002   5.1 9.80e-001 1.00e+000f  1
  19r1.0000000e+000 3.20e+003 9.99e+002   1.4 2.25e-002   4.6 1.00e+000 1.00e+000f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  20r1.0000000e+000 3.20e+003 1.00e+003   0.7 6.75e-002   4.2 9.96e-001 9.85e-001f  1
  21r1.0000000e+000 3.20e+003 1.29e+003   0.7 4.13e-002   4.6 1.00e+000 1.00e+000f  1
  22r1.0000000e+000 3.20e+003 1.04e+005   0.7 7.60e-002   4.1 1.00e+000 8.09e-001f  1
  23r1.0000000e+000 3.20e+003 6.02e+004   0.7 1.18e-002   5.4 1.00e+000 1.00e+000f  1
  24r1.0000000e+000 3.20e+003 2.16e+004   0.7 1.07e-002   5.0 1.00e+000 1.00e+000f  1
  25r1.0000000e+000 3.20e+003 1.92e+005   0.7 3.21e-002   4.5 1.00e+000 1.00e+000f  1
  26r1.0000000e+000 3.20e+003 4.71e+004   0.7 9.62e-002   4.0 1.00e+000 5.73e-001f  1
  27r1.0000000e+000 3.20e+003 1.72e+004   0.7 2.89e-001   3.5 7.97e-001 4.16e-001f  1
  28r1.0000000e+000 3.20e+003 3.77e+004   0.7 8.66e-001   3.1 5.31e-001 2.28e-001f  1
  29r1.0000000e+000 3.20e+003 2.36e+004   0.7 2.60e+000   2.6 6.76e-001 1.52e-001f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  30r1.0000000e+000 3.20e+003 2.85e+004   0.7 9.74e-001   3.0 1.00e+000 2.78e-001f  1
  31r1.0000000e+000 3.20e+003 4.13e+004   0.7 2.92e+000   2.5 4.21e-001 1.95e-001f  1
  32r1.0000000e+000 3.20e+003 4.73e+004   0.7 1.10e+000   3.0 1.00e+000 1.30e-001f  1
  33r1.0000000e+000 3.20e+003 1.15e+004   0.7 4.11e-001   3.4 1.00e+000 6.13e-001f  1
  34r1.0000000e+000 3.20e+003 2.25e+004   0.7 1.38e+000   2.9 2.89e-001 1.01e-001f  1
  35r1.0000000e+000 3.20e+003 2.34e+004   0.7 4.62e-001   3.3 1.00e+000 3.10e-001f  1
  36r1.0000000e+000 3.20e+003 5.55e+004   0.7 1.39e+000   2.9 8.19e-001 1.10e-001f  1
  37r1.0000000e+000 3.20e+003 8.08e+004   0.7 4.16e+000   2.4 1.00e+000 1.66e-002f  1
  38r1.0000000e+000 3.19e+003 6.29e+004   0.7 1.25e+001   1.9 5.59e-001 2.31e-001f  1
  39r1.0000000e+000 3.19e+003 1.04e+005   0.7 4.68e+000   2.3 9.06e-001 4.07e-001f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  40r1.0000000e+000 3.19e+003 9.88e+003   0.7 2.74e-002   4.6 1.00e+000 1.00e+000f  1
  41r1.0000000e+000 3.19e+003 9.99e+002   0.7 8.22e-002   4.1 1.00e+000 1.00e+000f  1
  42r1.0000000e+000 3.19e+003 2.32e+003   0.7 2.47e-001   3.6 1.00e+000 7.78e-001f  1
  43r1.0000000e+000 3.19e+003 2.67e+003   0.7 7.40e-001   3.1 1.00e+000 1.00e+000f  1
  44r1.0000000e+000 3.19e+003 9.99e+002   0.7 3.47e-002   4.5 1.00e+000 1.00e+000f  1
  45r1.0000000e+000 3.19e+003 9.99e+002   0.7 1.04e-001   4.0 1.00e+000 1.00e+000f  1
  46r1.0000000e+000 3.19e+003 9.99e+002   0.7 3.90e-002   4.4 1.00e+000 1.00e+000f  1
  47r1.0000000e+000 3.19e+003 5.75e+005   0.7 3.73e-001   3.9 1.72e-001 2.14e-001f  1
  48r1.0000000e+000 3.19e+003 3.62e+005   0.7 5.99e-002   4.4 5.89e-001 1.00e+000f  1
  49r1.0000000e+000 3.19e+003 2.62e+005   0.7 1.64e-001   3.9 3.15e-001 6.86e-001f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50r1.0000000e+000 3.19e+003 2.46e+005   0.7 6.78e-001   3.4 1.10e-001 7.88e-002f  1
  51r1.0000000e+000 3.19e+003 1.93e+005   0.7 1.95e-001   3.8 7.28e-001 3.47e-001f  1
  52r1.0000000e+000 3.19e+003 1.05e+005   0.7 8.01e-002   4.3 9.03e-001 1.00e+000f  1
  53r1.0000000e+000 3.19e+003 5.73e+004   0.7 8.67e-002   4.7 6.12e-001 1.00e+000f  1
  54r1.0000000e+000 3.19e+003 5.38e+004   0.7 1.09e-001   5.1 1.55e-001 6.96e-002f  1
  55r1.0000000e+000 3.19e+003 4.94e+004   0.7 4.67e-001   4.6 8.91e-002 9.90e-002f  1
  56r1.0000000e+000 3.19e+003 4.48e+004   0.7 1.40e-001   5.1 3.39e-001 1.99e-001f  1
  57r1.0000000e+000 3.19e+003 3.69e+004   0.7 1.76e-001   4.6 8.44e-001 5.09e-001f  1
  58r1.0000000e+000 3.19e+003 1.97e+004   0.7 2.32e-001   4.1 6.74e-001 3.75e-001f  1
  59r1.0000000e+000 3.19e+003 2.01e+003   0.7 5.95e-002   4.5 1.00e+000 1.00e+000f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  60r1.0000000e+000 3.19e+003 1.38e+003   0.7 8.90e-002   4.1 8.42e-001 4.25e-001f  1
  61r1.0000000e+000 3.19e+003 1.12e+003   0.7 2.74e-001   3.6 6.18e-001 2.50e-001f  1
  62r1.0000000e+000 3.19e+003 1.45e+003   0.7 9.71e-001   3.1 3.96e-001 1.01e-001f  1
  63r1.0000000e+000 3.19e+003 9.99e+002   0.7 2.40e+000   2.6 5.66e-001 2.06e-001f  1
  64r1.0000000e+000 3.19e+003 8.27e+004   0.7 9.01e-001   3.0 4.92e-001 1.85e-001f  1
  65r1.0000000e+000 3.19e+003 1.45e+006   0.7 3.38e-001   3.5 1.00e+000 4.09e-001f  1
  66r1.0000000e+000 3.19e+003 1.38e+006   0.7 1.59e+000   3.0 6.84e-002 1.54e-001f  1
  67r1.0000000e+000 3.19e+003 1.12e+006   0.7 8.15e-001   3.4 1.52e-001 5.24e-001f  1
  68r1.0000000e+000 3.19e+003 9.10e+005   0.7 4.15e-001   3.8 4.66e-001 2.84e-001f  1
  69r1.0000000e+000 3.19e+003 9.10e+005   0.7 2.43e+001   3.4 7.37e-003 3.81e-004h  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  70r1.0000000e+000 3.19e+003 4.96e+005   0.7 5.13e-001   3.8 2.59e-001 1.00e+000f  1
  71r1.0000000e+000 3.19e+003 4.74e+005   0.7 9.71e-001   4.2 8.99e-002 4.43e-002f  1
  72r1.0000000e+000 3.19e+003 3.25e+005   0.7 2.89e-001   4.6 4.77e-001 4.19e-001f  1
  73r1.0000000e+000 3.19e+003 2.92e+005   0.7 2.67e-001   5.1 1.37e-001 2.64e-001f  1
  74r1.0000000e+000 3.19e+003 2.57e+005   0.7 3.92e+000   4.6 6.00e-003 7.71e-002h  1
  75r1.0000000e+000 3.19e+003 2.51e+005   0.7 2.66e+000   5.0 9.47e-002 3.15e-002h  1
  76r1.0000000e+000 3.19e+003 2.51e+005   0.7 5.36e-001   5.4 1.26e-001 1.65e-003h  1
  77r1.0000000e+000 3.19e+003 2.47e+005   0.7 6.22e-001   5.9 2.62e-003 2.22e-002f  1
  78r1.0000000e+000 3.19e+003 3.11e+005   0.7 4.98e-001   5.4 1.55e-002 3.31e-001f  1
  79r1.0000000e+000 3.19e+003 1.29e+005   0.7 7.78e-001   4.9 2.31e-001 7.94e-001f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  80r1.0000000e+000 3.19e+003 3.16e+004   0.7 2.89e-001   4.4 4.59e-002 1.00e+000f  1
  81r1.0000000e+000 3.19e+003 5.46e+003   0.7 1.08e-001   4.0 9.14e-001 4.75e-001f  1
  82r1.0000000e+000 3.19e+003 2.73e+003   0.7 3.25e-001   3.5 2.69e-001 4.26e-001f  1
  83r1.0000000e+000 3.19e+003 1.73e+003   0.7 9.76e-001   3.0 4.05e-001 2.97e-001f  1
  84r1.0000000e+000 3.19e+003 1.49e+003   0.7 3.66e-001   3.4 1.00e+000 1.40e-001f  1
  85r1.0000000e+000 3.19e+003 9.99e+002   0.7 1.10e+000   3.0 7.08e-001 5.09e-001f  1
  86r1.0000000e+000 3.19e+003 9.99e+002   0.7 4.12e-001   3.4 1.00e+000 2.02e-001f  1
  87r1.0000000e+000 3.19e+003 1.15e+003   0.7 1.23e+000   2.9 4.51e-001 5.90e-002f  1
  88r1.0000000e+000 3.19e+003 1.46e+003   0.7 9.01e-001   3.3 4.76e-001 1.47e-001f  1
  89r1.0000000e+000 3.19e+003 1.20e+003   0.7 1.39e+000   2.9 1.00e+000 3.88e-001f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  90r1.0000000e+000 3.19e+003 1.85e+003   0.7 4.17e+000   2.4 7.44e-001 7.41e-002f  1
  91r1.0000000e+000 3.19e+003 3.62e+003   0.7 1.25e+001   1.9 4.51e-001 8.65e-002f  1
  92r1.0000000e+000 3.19e+003 2.01e+003   0.7 4.69e+000   2.3 1.00e+000 1.35e-001f  1
  93r1.0000000e+000 3.19e+003 2.59e+003   0.7 1.41e+001   1.9 9.76e-002 1.18e-001f  1
  94r1.0000000e+000 3.19e+003 2.59e+003   0.7 6.59e-001   3.2 1.00e+000 3.80e-001f  1
  95r1.0000000e+000 3.19e+003 2.35e+003   0.7 1.98e+000   2.7 5.13e-001 4.15e-001f  1
  96r1.0000000e+000 3.19e+003 3.01e+003   0.7 5.93e+000   2.2 1.00e+000 3.64e-001f  1
  97r1.0000000e+000 3.19e+003 3.22e+003   0.7 2.22e+000   2.7 1.00e+000 5.73e-001f  1
  98r1.0000000e+000 3.18e+003 1.25e+003   0.7 6.67e+000   2.2 6.56e-001 4.76e-001f  1
  99r1.0000000e+000 3.18e+003 1.22e+003   0.7 2.50e+000   2.6 1.00e+000 2.42e-002f  1
iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
 100r1.0000000e+000 3.18e+003 2.27e+003   0.7 7.51e+000   2.1 1.19e-001 1.41e-001f  1

Number of Iterations....: 100

                                   (scaled)                 (unscaled)
Objective...............:  1.0000000000000000e+000   1.0000000000000000e+000
Dual infeasibility......:  2.2653433308109729e+003   2.2653433308109729e+003
Constraint violation....:  3.1839522727329108e+003   6.7124334869609377e+005
Complementarity.........:  6.0142110405593208e+000   6.0142110405593208e+000
Overall NLP error.......:  3.1839522727329108e+003   6.7124334869609377e+005


Number of objective function evaluations             = 122
Number of objective gradient evaluations             = 8
Number of equality constraint evaluations            = 125
Number of inequality constraint evaluations          = 125
Number of equality constraint Jacobian evaluations   = 102
Number of inequality constraint Jacobian evaluations = 102
Number of Lagrangian Hessian evaluations             = 100
Total CPU secs in IPOPT (w/o function evaluations)   =     42.638
Total CPU secs in NLP function evaluations           =     29.731

EXIT: Maximum Number of Iterations Exceeded.
WARNING: Loading a SolverResults object with a warning status into model=unknown;
    message from solver=Ipopt 3.8.1\x3a Maximum Number of Iterations Exceeded.

Process finished with exit code 0
4

0 回答 0