Я пытаюсь объявить нелинейное целевое ограничение в Pyomo и каждый раз, когда пытаюсь решить его с помощью Bonmin Solver, я получаю следующую ошибку:
ОШИБКА: Солвер (asl) возвратил ненулевой код возврата(3221225477) ОШИБКА: Журнал решателя: Bonmin 1.8.6 с использованием Cbc 2.9.9 и Ipopt 3.12.8 bonmin: Трассировка (последний последний вызов):
Файл "", строка 2, в результатах = опция.решить (модель)
Файл "C: \ Anaconda \ lib \ site-packages \ pyomo \ opt \ base \ solvers.py", строка 626, в решении "Solver (% s) не завершился нормально"% self.name)
ApplicationError: Solver (asl) не завершился нормально
#
Определение функции моей цели:
`def obj_func(model):
global summer
summer = 0
global volumer
volumer = 0
for i in range(0,len(data)):
summer += model.x[i]*data.loc[i,'Predicted.Profit']
for j in range(0,len(data)):
volumer += model.x[j]*data.loc[j,'Predicted.Liters.Sold']
return summer/volumer`
Я вызываю решатель через SolverFactoryНаконец, я также хотел бы знать наиболее эффективный способ создания ограничений, поскольку у меня есть ограничения в диапазоне 100+, и некоторые из них являются нелинейными.Когда я пытаюсь решить проблему с помощью этой модели, использование памяти увеличивается до 100%, и компьютер зависает.