pyomo相关内容

二次约束的线性化

我在我的PYOMO模型中遇到了二次约束。用gurobi或多或少地解决了这个问题,但它经常给我带来记忆问题。所以我线性化了这个二次约束。然而,现在我遇到了另一个问题:Link to Stackoverflow。所以我想知道我是不是在线性化方面犯了错误。 问题是热泵可以提供冷却或加热,但不能同时提供两者。 二次方版本: h(t) = p(t)*bh(t)*COPh #quadratic ..

PYOMO:对抽象模型集的操作

我想对抽象集进行操作.但它不起作用. from pyomo.environ import *m = 抽象模型()m.A = Set(初始化=[0,1,2])m.B = 设置(初始化=[0])m.C = m.A-m.B实例 = m.create_instance()对于 instance.C.value 中的 c:打印(c) TypeError: 'NoneType' 对象不可迭代 解决方 ..
发布时间:2021-11-26 16:37:51 Python

PYOMO:对抽象模型集的操作

我想对抽象集进行操作.但它不起作用. from pyomo.environ import *m = 抽象模型()m.A = Set(初始化=[0,1,2])m.B = 设置(初始化=[0])m.C = m.A-m.B实例 = m.create_instance()对于 instance.C.value 中的 c:打印(c) TypeError: 'NoneType' 对象不可迭代 解决方 ..
发布时间:2021-11-25 09:08:07 Python

由带有 Pyomo 的索引集索引的变量

我试图弄清楚如何使用索引集索引变量: 例如: model = AbstractModel()模型.J = 设置()模型.O = 设置(模型.J) 我想定义一个索引在两个集合上的变量.有人能帮我吗?我尝试了以下方法: model.eb=Param(model.J, model.O) 这给了 TypeError("无法索引具有索引集的组件") 有人对如何正确定义此变量有任何建议吗? ..
发布时间:2021-09-16 18:47:53 Python

TypeError PYOMO:基于 Pandas 数据框定义约束

对于一个优化问题,我试图在 PYOMO 中定义一个约束,其中约束表达式包含来自 Pandas DataFrame 的一些特定值. 我会尽量用简洁的方式解释我的问题. 以下是进口. from pyomo.environ import *将 numpy 导入为 np将熊猫导入为 pd导入 matplotlib.pyplot 作为 plt从 pyomo.opt 导入 SolverFacto ..
发布时间:2021-09-11 19:50:38 Python

预测模型、目标函数和优化

在 Python 中使用 pyomo 进行优化时,我们如何定义目标函数.我们分别定义了预测模型.下一步是从预测模型(梯度提升、随机森林、线性回归等)中引入目标函数并进行优化以实现最大和最小优化.请建议并分享pyomo中的任何工作示例. 解决方案 由于 Pyomo 使用代数表达式,您应该: 定义预测模型函数的数学表达式. 在 Pyomo 中实现正确的数学模型,包括所需的参数、变量和其 ..
发布时间:2021-06-24 18:46:50 其他开发

具有各种索引的总和内的 Pyomo sum

我想这样做: 但我不知道具体如何,这是我尝试过的: def R2(model, da, gr, cu):return sum(sum(model.Dap[asi, pe] for asi in model.A[asi, gr, cu]) for pe in model.Pd[pe, da]) 解决方案 我不是 100% 理解你的数学公式. 根据您编写约束的方式,您似乎有多个索引 ..
发布时间:2021-06-24 18:46:44 其他开发

双变量在 Pyomo 中没有任何回报

我有一个关于 pyomo 双变量检索的问题.我正在尝试从约束“model.market_clearing_const"中检索对偶变量.但是,在运行这些代码之后,我得到的错误是: “ID 为“2886755528520"的组件:market_clearing_const[0]" 所以基本上,如果我查看模型下的双组件,我会看到后缀=0.所以这意味着没有双重变量存储在后缀中,尽管我已经声明了 ..
发布时间:2021-06-24 18:46:42 Python

如何在 pyomo 中制定分段阶跃函数

我有一个关于 pyomo 中分段阶跃函数的正确公式的问题.我想在我的模型中包含以下形式的单个分段函数: /1 , 0 其中 X 适合在时域上接管的数据,而 Z 的作用类似于二进制变量.pyomo 文档中最相似的例子是 step.py 使用 INC 的示例.但是,在使用此公式求解时,我观察到域变量 x“粘在"x=1 处的断点的问题.我认为这是因为(如文档中所述)Z 可以求解整个垂直线,如果是连 ..
发布时间:2021-06-24 18:46:39 其他开发

pyomo 中的概率分布

我想在 Pyomo 中解决受约束的 NLP.然而,目标函数包括一个正态分布,其中正态分布的参数包含决策变量,例如像 - (norm.cdf(model.x[0])) 这样的表达式. 但我收到此错误: 无法将类型为“ndarray"(值 = 1)的对象转换为数值. 有没有办法在 Pyomo 中处理正态分布? 解决方案 我已经看到 pyomo 不喜欢某些您可能习惯于在 pyton ..
发布时间:2021-06-24 18:46:36 Python

Pyomo 访问/检索双变量 - 带二元变量的影子价格

我对一般优化特别是 pyomo 还很陌生,因此对于任何新手错误,我提前道歉. 我使用 [2] 作为起点定义了一个简单的单元承诺练习(来自 [1] 的示例 3.1).我得到了正确的结果并且我的代码运行了,但我有一些关于如何访问内容的问题. 将 matplotlib.pyplot 导入为 plt将 numpy 导入为 np将熊猫导入为 pd进口商铺导入系统导入 os.path将 pyomo.e ..
发布时间:2021-06-24 18:46:33 Python

根据采购量最小化成本 Pyomo

我想找到从供应商处购买商品的最佳解决方案,其中运输成本取决于从给定供应商处购买的商品成本.我正在使用 Pyomo.到目前为止,我的代码是: model = ConcreteModel(name=“(MN_2)")# 产品N = ['prod1', 'prod2', 'prod3']#供应商M = ['A', 'B']# 价格p = {('prod1', 'A'): 10,('prod2', 'A ..
发布时间:2021-06-24 18:46:30 其他开发

处理pyomo中这种关键错误的最佳方法是什么?

我正在使用 pyomo 处理 LP 模型,但是当我创建约束时,它显示了“找不到某个组合"的关键错误.我知道列出所有可以解决这个问题的组合.但真实数据有很多组合.有没有简单的方法来处理这种问题?谢谢!这是一个简单的例子: 这是一个类似的问题供参考:有没有更简单的方法可以避免pyomo的这种索引键错误? from pyomo.environ import *将熊猫导入为 pd数据 = [['t ..
发布时间:2021-06-24 18:46:27 Python

如何使用pyomo加载*.sol文件

我使用pyomo编写脚本,但使用外部求解器进行优化. 外部求解器返回一个 *.sol 文件.我的问题是pyomo或任何python包是否可以解码sol文件,并将决策变量结果传递给原始模型.因此,我们可以做一些事后分析. 解决方案 我想将此添加为评论,但我没有足够的声誉. 我在使用 CPLEX 时遇到了类似的问题.请参阅这个问题.您必须基本上存储变量映射并在解析解决方案文件时使用 ..
发布时间:2021-06-24 18:46:24 其他开发

创建 Pyomo 约束的性能

我正在用 pyomo 设置一个更大的能量优化问题.正如其他 问题,但是我设法加快了大多数有问题的线路,但能量流约束除外. 与所有其他约束相反,该流程包括所有元素的总和.所以我决定重写流变量的创建方式,以便它们包含所有元素的索引,希望这能改善这种情况.我的代码现在看起来像这样: 定义流(模型,et,t):返回 pyo.quicksum(model.in_flow[:, et, t],线性=真 ..
发布时间:2021-06-24 18:46:21 Python

求解混合互补模型时出错

直接使用 PATH 求解器,我无法解决下面提出的问题.最初的问题来自 https://prod.sandia.gov/techlib-noauth/access-control.cgi/2015/155584.pdf ,似乎声称问题已解决.使用非线性地层可以解决. 这是pyomo 还是PATH 中的版本问题,很难说.我正在运行 pyomo 5.5.x 和来自 http://pages.cs ..
发布时间:2021-06-24 18:46:18 其他开发

Pyomo:在使用python脚本的时候,有没有什么快速的方法可以在解决ILP后显示Objective值?

我之前完成了一个 ILP,它工作正常. opt = SolverFactory('glpk')模型 = AbstractModel()模型.obj = 目标(...)# 变量、约束...实例 = model.create_instance()结果 = opt.solve(实例) 因为我想获得每个变量的值,而且还想得到目标函数,所以我尝试通过与我对变量所做的类似的方式访问目标函数,但我只能得到一 ..
发布时间:2021-06-24 18:46:15 Python

在 ubuntu 中安装 Ipopt 求解器以与 Pyomo 一起使用

如何安装 ipopt 求解器以在 ubuntu 中与 pyomo 一起使用???我已经下载了 ipopt 的 zip 文件 但我没有找到任何具体说明如何安装它并将其与 pyomo 一起使用. 解决方案 如果您下载了二进制文件,那么您只需确保 ipopt 可执行文件位于您的 PATH 环境变量中.如果您尝试从源代码安装,则应按照此处的说明进行操作.您的最后一个选择是使用 anaconda ..
发布时间:2021-06-24 18:46:12 Python