0

我在 Pyomo 环境中写了一个非常简单的模型,最后添加了以下两个命令。

solver_manager = SolverManagerFactory('neos')
results = solver_manager.solve(model, opt='cplex')

当我运行代码时它返回以下错误:

错误:解析 NEOS 解决方案文件时出错 NEOS 日志:作业 10044842 已发送密码:MXusJYWF ---------- Begin Solver Output ----------- Condor 提交:'neos.submit' Condor 提交: 'watchdog.submit' 作业提交到 NEOS HTCondor 池。

我知道这是由于 Neos 最近要求将工作提交给 NEOS 的电子邮件地址,但我该如何解决这个问题?

4

2 回答 2

3

自 2021 年 1 月 8 日起,Neos 要求所有提交的电子邮件地址均有效。首先,您必须注册:https ://neos-server.org/neos/index.html

之后,您必须升级 Pyomo 目录中的一个文件(在我的情况下是 ../anaconda3/lib/python3.8/site-packages),稍后您查找此路径 pyomo/neos/ 并且您必须更新文件 kestrel .py 与此文件https://github.com/Pyomo/pyomo/blob/master/pyomo/neos/kestrel.py

升级文件时,将有效的电子邮件放入 kestrel.py 文件的 224 行。

于 2021-01-25T20:50:40.523 回答
1

对 Alvaro Avendano 所说的内容进行了补充说明。在第 231 行之前编辑 kernel.py,即编写email = os.environ.get('NEOS_EMAIL', '')) 的行,使用以下内容:

 os.environ['NEOS_EMAIL'] = '<<you email address>>'
于 2021-02-08T17:12:47.930 回答