如何在 Google Colab 中使用 Pyomo 解决抽象模型
Posted
技术标签:
【中文标题】如何在 Google Colab 中使用 Pyomo 解决抽象模型【英文标题】:How to solve an abstract model using Pyomo in Google Colab 【发布时间】:2022-01-21 02:07:21 【问题描述】:我正在学习如何在 Google Colab 中使用 Pyomo,并创建了一个抽象模型,但我不知道读取数据文件和求解模型的编码。该文档提供了有关命令提示符的说明,但在我使用 Google Colab 时并非如此。
非常感谢您的帮助。
【问题讨论】:
我的 2 美分:如果您刚刚开始,请让ConcreteModels
几乎总是更容易,如果数据太大而无法手动插入,请使用常规 python 读取数据源( s) 并且仍然从中构建一个ConcreteModel
。
感谢您的回复。我的模型有很多数据,所以 ConcreteModel 没有用。另外,我现在的电脑没有直接支持Python的能力,所以需要使用Google Colab
【参考方案1】:
!pip install pyomo
from pyomo.environ import *
import matplotlib.pyplot as plt
!wget -N -q "https://ampl.com/dl/open/ipopt/ipopt-linux64.zip"
!unzip -o -q ipopt-linux64
model = AbstractModel()
model.x = Var(bounds=(0,1.2), within=Reals)
model.obj1 = Objective(expr=model.x**2, sense=maximize)
#opt = SolverFactory('ipopt')
opt=SolverFactory('ipopt', executable='/content/ipopt')
instance = model.create_instance()
results = opt.solve(instance) # solves and updates instance
print('OF= ',value(instance.obj1))
【讨论】:
感谢您的回复。使用带有我的参数信息的数据文件 .dat 后,出现以下错误:ValueError:Pyomo 模型约束或目标中没有出现变量。 NL 文件接口不支持此文件 .dat 具有以下结构: set I := 1 ;设置 J := 1 2 ;参数 a := 1 1 3 1 2 4 ;参数 c:= 1 2 2 3 ;参数 b := 1 1 ;结束;以上是关于如何在 Google Colab 中使用 Pyomo 解决抽象模型的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google 的 Colab 中安装 Python 包?
运行 R 内核时如何在 google Colab 中访问 shell
如何在 Google Colab 中编辑和保存文本文件 (.py)?