首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NEOS服务器上运行AMPL时出现BadStatusLine错误

在NEOS服务器上运行AMPL时出现BadStatusLine错误
EN

Stack Overflow用户
提问于 2017-01-19 09:19:54
回答 1查看 83关注 0票数 1

我试图在NEOS服务器上通过Kestrel运行AMPL代码,如AMPL网站:run ampl on neos所述。我使用了一个简单的模型文件,其中包含以下选项:

代码语言:javascript
复制
option solver "/home/arthur/amplide.linux64/kestrel";
option kestrel_options 'solver=loqo';
option loqo_options 'minlocfil sigfig=8 outlev=2';
option neos_server 'www.neos-server.org:3333';

最后一行来自NEOS网站上的tutorial:https://neos-server.org/neos/kestrel.html

我得到以下错误,并且似乎没有作业在排队:

代码语言:javascript
复制
File "/home/arthur/amplide.linux64/kestrel", line 217, in <module>
    kestrel = kestrelAMPL()
File "/home/arthur/amplide.linux64/kestrel", line 19, in __init__
    result = self.neos.ping()
...
File "/usr/lib/python2.7/httplib.py", line 408, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine: ''
exit code 1
<BREAK>

如果我在AMPL IDE中而不是在终端中这样做,它就会挂起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-19 09:19:54

所以我找到了一个简单的解决方案。

如果在任何文本编辑器中编辑AMPL目录中的kestrel文件(来自Kestrel存档的文件),则可以替换该行

代码语言:javascript
复制
self.neos = xmlrpclib.ServerProxy("http://%s:%s" % (self.host,self.port))

使用

代码语言:javascript
复制
self.neos = xmlrpclib.ServerProxy("https://%s:%s" % (self.host,self.port) )

在那之后,我的工作顺利完成了。看起来NEOS在2016年7月弃用了http调用。

或者(我还没有尝试过这个),不使用AMPL或NEOS网站上的kestrel版本,也许可以从这里尝试修改后的包:https://github.com/Pyomo/pyomo/blob/master/pyomo/neos/kestrel.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41732202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档