首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能将交感性表达式转换为pyomo表达式?

是否有可能将交感性表达式转换为pyomo表达式?
EN

Stack Overflow用户
提问于 2022-11-28 13:17:09
回答 1查看 35关注 0票数 0

目前,我正在使用渐近解析字符串方程,并将变量替换为值或Pyomo变量:

代码语言:javascript
复制
model = pe.ConcreteModel()
model.flow = pe.Var()

DEMAND = 100

equation = sympify('10 * DEMAND * FLOW', evaluate=False)

updated_equation = equation.subs('DEMAND', DEMAND).subs('FLOW', model.flow)

有没有人知道是否有可能将它转换成一个线性表达式,我可以在Pyomo模型中使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-28 18:07:32

是的:如果您查看pyomo.core.expr.sympy_tools,有两种方法:

  • sympyify_expression(expr)将使用Pyomo表达式并返回一个渐近表达式,将所有Pyomo对象替换为渐近实符号,以及一个将Pyomo对象映射到相应的渐近符号的PyomoSympyBimap对象,objects
  • sympy2pyomo_expression(expr, object_map)将接受一个交感表达式(包含同情符号),以及将符号与Pyomo组件相关的PyomoSymbolBimap,并返回一个本机Pyomo表达式。

您所要求的是一些稍微不同的东西:您是从一个已经包含Pyomo对象的同情表达式开始的。您应该能够调整Sympy2PyomoVisitor类以适应特定的用例(您只需要重新实现beforeChild方法以允许Pyomo组件的存在)

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

https://stackoverflow.com/questions/74601162

复制
相关文章

相似问题

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