#pyomo #neos-server
#pyomo #neos-сервер
Вопрос:
Я пытаюсь узнать, как отправить проблему оптимизации на сервер NEOS, чтобы решить ее с помощью BARON, но я получаю сообщение об ошибке, в котором говорится, что NEOS в настоящее время недоступен, хотя я пытался это сделать в течение некоторого времени. Я видел, что существует еще один вопрос с тем же кодом ошибки, но он не был решен, и люди подозревают, что это вызвано использованием прокси (чего я не делаю), поэтому я открыл другой вопрос.
from pyomo.environ import *
model = ConcreteModel()
model.x = Var(initialize=1.5)
model.y = Var(initialize=1.5)
def rosenbrock(model):
return (1.0-model.x)**2 100.0*(model.y - model.x**2)**2
model.obj = Objective(rule=rosenbrock, sense=minimize)
solver_manager = SolverManagerFactory('neos')
results = solver_manager.solve(model, opt='baron')
results.write()
И вывод:
WARNING: NEOS is temporarily unavailable.
Traceback (most recent call last):
File "/Users/dorukeski/untitled/sa.py", line 15, in <module>
results = solver_manager.solve(model, opt='baron')
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/pyomo/opt/parallel/async_solver.py", line 28, in solve
return self.execute(*args, **kwds)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/pyomo/opt/parallel/manager.py", line 119, in execute
ah = self.queue(*args, **kwds)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/pyomo/opt/parallel/manager.py", line 134, in queue
return self._perform_queue(ah, *args, **kwds)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/pyomo/neos/plugins/kestrel_plugin.py", line 128, in _perform_queue
raise ActionManagerError(
pyomo.opt.parallel.manager.ActionManagerError: Solver 'baron' is not recognized by NEOS.
Solver names recognized:
[]
Ответ №1:
Хотя это сообщение является старым сообщением. Я вижу, что кто-то предложил исправление по этой ссылке, https://github.com/Pyomo/pyomo/issues/2162
решение 1: установка pip —обновление сертификата
решение 2, если решение 1 не работает:
1 — Откройте Internet Explorer от имени администратора (т.е. Щелкните правой кнопкой мыши Internet Explorer и выберите «Запуск от имени администратора»).
2 — Перейдите к https://neos-server.org
3 — Нажмите на значок блокировки
Нажмите, чтобы просмотреть изображение
4 — Нажмите «Просмотреть сертификат».
5 — Нажмите «Установить сертификат…»
6 — Выберите пользовательскую или локальную машину, все, что подходит
7 — Выберите «Поместить все сертификаты в следующее хранилище» и выберите «Доверенный корень
8 — Сертификационные органы»