在pyomo中求解MINLP的Baron求解器错误

问题描述 投票:0回答:1

我正在使用具有AMPL许可下的许可版本的Baron解算器来解决Pyomo和Spyder中的MINLP。我在代码中使用男爵,如下所示:

opt=SolverFactory('baron', executable='/home/LocalUser/ampl_linux-intel64/baron')
result=opt.solve(instance, keepfiles=True,tee=True)

但是当我运行代码时,出现此错误:

Solver log file: '/tmp/tmpil8__em2.baron.log'
Solver solution file: '/tmp/tmpvphbmoa8.baron.soln'
Solver problem files: ('/tmp/tmpl7sk5uym.pyomo.bar',)
/home/LocalUser/ampl_linux-intel64/baron: can't open /tmp/tmpl7sk5uym.pyomo.bar.nl
ERROR: Solver (baron) returned non-zero return code (1)
ERROR: See the solver log above for diagnostic information.
Traceback (most recent call last):
  File "Platform-nonlinear.py", line 236, in <module>
    result=opt.solve(instance, keepfiles=True,tee=True)
  File "/home/LocalUser/.local/lib/python3.6/site-packages/pyomo/opt/base/solvers.py", line 596, in solve
    "Solver (%s) did not exit normally" % self.name)
pyutilib.common._exceptions.ApplicationError: Solver (baron) did not exit normally

我在Windows和Linux上都尝试过,但是两次都遇到相同的错误!!!T真的不知道该如何解决!

python solver pyomo nonlinear-optimization
1个回答
0
投票

我可以建议您尝试将您的临时目录重新定位到可以完全访问它的位置。通常,就我而言,“ macos”仅将对TMPDIR的访问限制为系统访问,因此您的文件可能无法存储在该位置,然后就无法检索。

My TMPDIR Access

"printenv |grep TMP" or "echo $TMPDIR" will show you your TEMP folder\'s address

如果是这种情况,您可以通过简单的搜索找到如何更改操作系统的TMPDIR。

© www.soinside.com 2019 - 2024. All rights reserved.