Optimization 是全局MINLP解算器的结果,即全局最优解

Optimization 是全局MINLP解算器的结果,即全局最优解,optimization,solver,pyomo,Optimization,Solver,Pyomo,我使用了Pyomo和couenne解算器,这是MINLP的全局解算器。但是结果不是全局最优的!! 全局解算器的结果是否可能不是全局最优解? 有什么问题 解算器日志为: Solver command line: ['C:\\Users\\~\\couenne.exe', 'C:\\Users\\~\\AppData\\Local\\Temp\\tmpv6y0s3cc.pyomo.nl', '-AMPL'] couenne: ANALYSIS TEST: Problem size before r

我使用了Pyomo和couenne解算器,这是MINLP的全局解算器。但是结果不是全局最优的!! 全局解算器的结果是否可能不是全局最优解? 有什么问题

解算器日志为:

Solver command line: ['C:\\Users\\~\\couenne.exe', 'C:\\Users\\~\\AppData\\Local\\Temp\\tmpv6y0s3cc.pyomo.nl', '-AMPL']
couenne: 
ANALYSIS TEST: Problem size before reformulation: 16 variables (6 integer), 37 constraints.
Problem size after  reformulation: 54 variables (6 integer), 37 constraints.
*****************************************************************************
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).
Cbc0031I 8 added rows had average density of 2

Cbc0013I At root node, 8 cuts changed objective from -20.3231 to -20.235 in 10 passes

Cbc0014I Cut generator 0 (Couenne convexifier cuts) - 48 row cuts average 2.0 elements, 2 column cuts (10 active)

Cbc0010I After 0 nodes, 0 on tree, 1e+050 best solution, best possible -20.235 (0.16 seconds)

Cbc0004I Integer solution of -10.0826 found after 831 iterations and 63 nodes (0.81 seconds)

Cbc0010I After 100 nodes, 38 on tree, -10.0826 best solution, best possible -15.9137 (0.89 seconds)

Cbc0004I Integer solution of -10.5219 found after 1264 iterations and 114 nodes (0.91 seconds)

Cbc0010I After 200 nodes, 26 on tree, -10.5219 best solution, best possible -11.899 (1.44 seconds)

Cbc0010I After 300 nodes, 29 on tree, -10.5219 best solution, best possible -10.9884 (1.61 seconds)

Cbc0010I After 400 nodes, 13 on tree, -10.5219 best solution, best possible -10.5235 (1.72 seconds)

Cbc0001I Search completed - best objective -10.52192111756512, took 3256 iterations and 479 nodes (1.80 seconds)

Cbc0035I Maximum depth 36, 0 variables fixed on reduced cost

 Couenne convexifier cuts was tried 939 times and created 3190 cuts of which 548 were active after adding rounds of cuts



    "Finished"

库恩有点严格(我知道这听起来很奇怪)。对于合理的模型,它最终应该证明是全局最优的。但不幸的是,我看到它在一些模型上失败了(用次优解决方案声明最优)。我的建议:(1)显示解算器日志,(2)在GAMS或AMPL中实现模型并提交给NEOS。您可以通过这种方式轻松尝试几个全局解算器(3)使用局部解算器,但使用多部分策略以获得更好的解。@ErwinKalvelagen感谢您的回复。我编辑了我的问题并显示了求解器日志。我写了一个梯度算法,在我的问题中找到了一些局部最优解。我使用了Knitro(带有multistart策略),这是一种局部解算器,其解比我的算法(梯度)差。我使用Couenne作为全局解算器,但我得到的解比Knitro和Gradient更差!!我需要一个全局解算器(也有免费许可证),因为我想比较梯度解和全局最优解(或者比梯度解更好的解)。我在日志中没有看到任何错误。所以,我会尝试其他一些全球解决方案,如巴龙和安提戈涅。将模型导出为GAMS模型并提交给NEOS非常简单。Couenne有点严格(我知道这听起来很奇怪)。对于合理的模型,它最终应该证明是全局最优的。但不幸的是,我看到它在一些模型上失败了(用次优解决方案声明最优)。我的建议:(1)显示解算器日志,(2)在GAMS或AMPL中实现模型并提交给NEOS。您可以通过这种方式轻松尝试几个全局解算器(3)使用局部解算器,但使用多部分策略以获得更好的解。@ErwinKalvelagen感谢您的回复。我编辑了我的问题并显示了求解器日志。我写了一个梯度算法,在我的问题中找到了一些局部最优解。我使用了Knitro(带有multistart策略),这是一种局部解算器,其解比我的算法(梯度)差。我使用Couenne作为全局解算器,但我得到的解比Knitro和Gradient更差!!我需要一个全局解算器(也有免费许可证),因为我想比较梯度解和全局最优解(或者比梯度解更好的解)。我在日志中没有看到任何错误。所以,我会尝试其他一些全球解决方案,如巴龙和安提戈涅。将模型导出为GAMS模型并提交给NEOS非常简单。