我正在尝试使用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的推荐版本,我认为我不应该遇到这个问题 .
只是想知道是否有人使用这个框架有任何问题/有任何有用的建议 .
谢谢!
1 回答
根据您看到的错误,我猜测旧的Pyomo版本没有完全卸载 . 您应该使用this博客文章中提到的脚本卸载Pyomo,然后重新安装新版本 .