Я пытался решить проблему оптимизации, приведенную в примерах pyomo, используя baron в Ubuntu (Linux).
Пример задачи:
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)
SolverFactory('baron').solve(model, tee=True)
model.pprint()
Когда я решаю вышеуказанную проблему с помощью Baron, выдается следующее исключение:
БАРОН версия 19.3.24. Построен: LNX-64 Вс 24 марта 16:49:54 ПО ВОСТОЧНОМУ ВРЕМЕНИ 2019
BARON является продуктом фирмы по оптимизации.
Для получения информации о BARON см. https://minlp.com/about-baron
Исключение в потоке Thread-23:
Traceback (последний вызов был последним):
Файл "/usr/lib/python2.7/threading.py", строка 801, в
__bootstrap_inner
self.run()
Файл "/usr/lib/python2.7/threading.py", строка 754, в прогоне
self.__target(*self.__args, **self.__kwargs)
Файл
"/Home/user/.local/lib/python2.7/site-packages/pyutilib/subprocess/processmngr.py",
строка 367, в _merged_reader
char = s.data.decode(encoding)
Файл "/usr/lib/python2.7/encodings/utf_8.py", строка 16, в декодировании
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: кодек «utf8» не может декодировать байт 0xe4 в позиции 0:
неожиданный конец данных
Когда я решаю ту же проблему с помощью ipopt, проблема решается, как и ожидалось.
Пожалуйста, дайте мне знать, как решить эту проблему. Дайте мне знать, если вам понадобится дополнительная информация.
Заранее спасибо
Шакти