Pyomo + asNMPC 框架

Pyomo + asNMPC framework

我正在尝试使用 Pyomo 和允许 asNMPC 优化的外部框架(来自此 paper)。

我安装了他们测试过的 Pyomo 版本 (v 4.1.10519) 并对他们要求的核心 Pyomo 文件进行了更改,但是当我尝试 运行 其中一个测试时出现以下错误文件(Penicillin_asNMPC.py):

File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib    /python2.7/site-packages/pyomo/dae/plugins/colloc.py", line 482, in     reduce_collocation_points
  if diffset.type() is not DifferentialSet:
NameError: global name 'DifferentialSet' is not defined

将此版本的 Pyomo 与网上的一些评论进行比较,似乎表明曾经有一个名为 differential.py 的文件,但它可能已重命名为 contset.py。这意味着 'DifferentialSet' 已更改为变量 'ContinuousSet'。但是,由于我遵循了所有要求的更改并且我使用的是 Pyomo 的推荐版本,我认为我不应该遇到这个问题。

只是想知道是否有人在使用此 framework/has 任何有用的建议时遇到任何问题。

谢谢!

根据您看到的错误,我猜测旧版本的 Pyomo 没有完全卸载。您应该使用 this 博客 post 中提到的脚本卸载 Pyomo,然后重新安装新版本。