Я пытаюсь объявить нелинейное объективное ограничение в Pyomo, и каждый раз, когда я пытаюсь решить его с помощью Bonmin Solver, я получаю следующую ошибку:
ОШИБКА: Solver (asl) вернул ненулевой код возврата (3221225477) ОШИБКА: журнал решателя: Bonmin 1.8.6 с использованием Cbc 2.9.9 и Ipopt 3.12.8 bonmin: Traceback (последний вызов последним):
Файл "", строка 2, в results = opt.solve (модель)
Файл "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%, и мой компьютер зависает.