首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyomo:打印导致错误的约束

问Pyomo:打印导致错误的约束
EN

Stack Overflow用户
提问于 2017-02-01 18:17:55
回答 2查看 839关注 0票数 1

我在pyomo中使用ipopt,我有下一个错误:

代码语言:javascript
复制
Error evaluating constraint 15: can't compute -1.65898/0.
halt_on_ampl_error=yes

如何打印导致pyomo错误的约束名称?

类似于AMPL命令:print _sconname[15];

谢谢,M。

EN

回答 2

Stack Overflow用户

发布于 2017-02-03 07:37:14

该错误是由ASL在求解过程中计算表达式时抛出的(即,它不是Pyomo错误)。

使错误更容易理解的诀窍是让Pyomo将“符号”标签传递给求解器。出于效率原因,这在默认情况下是禁用的:生成人类可读的标签比简单地对约束和变量进行编号更昂贵,并且用户很少与发送到求解器的原始模型交互。

  • 如果使用pyomo命令,则可以传递--symbolic-solver-labels选项:

pyomo solve --solver ipopt -- symbolic_solver_labels=True --symbolic solver-labels#...

  • 如果您正在编写脚本,则需要在solve()调用中设置symbolic_solver_labels=True:

SolverFactory(‘ipopt’)型号(.solve,tee=True,ipopt

票数 2
EN

Stack Overflow用户

发布于 2017-02-01 23:05:44

我不知道如何进行映射来明确识别您想要的约束,但另一种选择是遍历您的模型,并重新制定任何除以不是从零开始的变量的约束。您还应该为所有变量提供良好的初始化,或者至少将它们初始化为非零的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41977127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档