問題を NEOS に送信し、ipopt をスローバーとして使用して問題を解決しようとしています。
solver_manager = SolverManagerFactory('neos')
results = solver_manager.solve(self.miqp_instance, opt='ipopt', load_solutions=True, tee=True)
self.miqp_instance.solutions.store_to(results)
results.write()
しかし、私はこの問題を抱えています:
WARNING: NEOS is temporarily unavailable.
Traceback (most recent call last):
File "/root/PycharmProjects/PPRule-MIQP/main.py", line 32, in <module>
miqp.solve_problem()
File "/root/PycharmProjects/PPRule-MIQP/MIQP.py", line 406, in solve_problem
results = solver_manager.solve(self.miqp_instance, opt='ipopt', load_solutions=True, tee=True)
File "/root/anaconda3/lib/python3.7/site-packages/pyomo/opt/parallel/async_solver.py", line 28, in solve
return self.execute(*args, **kwds)
File "/root/anaconda3/lib/python3.7/site-packages/pyomo/opt/parallel/manager.py", line 107, in execute
ah = self.queue(*args, **kwds)
File "/root/anaconda3/lib/python3.7/site-packages/pyomo/opt/parallel/manager.py", line 122, in queue
return self._perform_queue(ah, *args, **kwds)
File "/root/anaconda3/lib/python3.7/site-packages/pyomo/neos/plugins/kestrel_plugin.py", line 131, in _perform_queue
% (solver_name, str(sorted(self._solvers.keys()))))
pyomo.opt.parallel.manager.ActionManagerError: Solver 'ipopt' is not recognized by NEOS. Solver names recognized:
[]
すでにipopt
自分のマシンにインストールしていますが、これが理由だとは思えません。