我正在尝试使用 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”已更改为变量“ContinouslySet”。但是,由于我遵循了所有请求的更改并且我正在使用 Pyomo 的推荐版本,因此我认为我不应该遇到此问题。
只是想知道是否有人在使用这个框架时遇到任何问题/有任何有用的建议。
谢谢!
最佳答案
根据您看到的错误,我的猜测是旧版本的 Pyomo 未完全卸载。您应该使用this中提到的脚本卸载Pyomo。博客文章,然后重新安装新版本。
关于python - Pyomo + asNMPC 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46169526/