首页 > 解决方案 > 使用 Mindtpy 解决 MINLP 时的 INFO 消息

问题描述

我是 Pyomo 的新手,我使用 Mindtpy 来解决 MINLP。我将求解器称为如下: SolverFactory('mindtpy').solve(model, mip_solver='glpk', nlp_solver='ipopt')

在解决过程中,我收到以下 INFO 消息:

信息:---启动 MindtPy---


INFO:原始模型有 20 个约束(0 个非线性)和 0 个析取,有 11 个变量,其中 2 个是二元的,0 个是整数,9 个是连续的。


信息:目标是非线性的。将其移动到约束集。


信息:rNLP 是正在使用的初始策略。


信息:NLP 1:解决松弛完整性


信息:NLP 1:OBJ:6871.59391303651 LB:-inf UB:inf


信息:---MindtPy 主迭代 0---


信息:MIP 1:解决主问题。警告:主 MILP 不受限制。用任意边界值解析


(-1e+15, 1e+15) on the objective. You can change this bound with the
option obj_bound.

信息:NLP 2:解决固定二进制文件的子问题。


信息:NLP 2:OBJ:6869.681528919004 LB:6869.681528919004 UB:inf


信息:---MindtPy 主迭代 1---


信息:MIP 2:解决主问题。


信息:MIP 2:OBJ:1000000000000000.0 LB:6869.681528919004 UB:1000000000000000.0


信息:循环发生在 2 次主迭代之后。当 NLP 子问题违反约束条件时,就会发生此问题。不能保证收敛到最优解


信息:最终界限值:LB:6869.681528919004 UB:1000000000000000.0

最终返回的解决方案与 LB (6869.681528919004) 具有相同的值。


我在问最后一条 INFO 消息的含义是什么:循环发生在 2 次主迭代之后。当 NLP 子问题违反约束条件时,就会发生此问题。不能保证收敛到最优解。这是否意味着问题不可行或者我必须在解决之前指定其他参数?

先感谢您


穆拉德

标签: pyomo

解决方案


推荐阅读