python - 具体模型阅读 xlsx 文档 Pyomo

标签 python python-3.x pyomo

我目前正在研究具体模型,但是,由于参数大小,用这种形式编写近 200 个参数似乎非常困难:

model.time = Param(model.WORKS, model.MODELS, initialize={(1,1):2, (2,1):1, (3,1):4, (4,1):2, (5,1):3, (6,1):3, (7,1):1, (8,1):2, (1,2):1, (2,2):2, (3,2):1, (4,2):3, (5,2):3, (6,2):2, (7,2):1, (8,2):1.....})

这只是参数之一。 我想从 xls 文档中读取表格,如下所示:

data.load(filename="excel.xlsx", range="Btable", format='set', set='B')

由于字典和具体公式的数量,将模型转化为抽象模型非常困难。

请知道如何做?提前致谢。

最佳答案

这绝对是你能够做到的事情。 Bill Hart 比我更熟悉 Pyomo 提供的 DataPortal 界面。

我个人会使用 pandas 导入 Excel 数据,然后编写一个函数(规则)来使用 pandas 创建 Param DataFrame 对象xls_data:

xls_data = pandas.read_excel(**see pandas documentation**)

print(xls_data)  # This can help with debugging

@model.Param(model.WORKS, model.MODELS)
def time(m, wrks, mods):
    return float(xls_data[**appropriate index from pandas**])

关于python - 具体模型阅读 xlsx 文档 Pyomo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733113/

相关文章:

python - 如何使客户端套接字以非阻塞方式从另一个套接字接收数据?

python - 如何更新tensorflow中的 'eagertensor"对象

python - Pyomo 热启动

python - Pyomo 值错误 : PositiveReals is not a valid domain

windows - Jupyter笔记本: ModuleNotFoundError No Module named 'pyomo'

python - 将文件复制到新位置并递增文件名,python

python - 当应用堆叠集成时,H2O 如何衡量基础学习器的权重?

python - Pyinstaller 失败,因为在 Windows 上找不到 pyconfig.h

python - 即使被装饰的函数被调用多次,装饰器也会运行一次吗?

python - Azure Django 部署失败