Две новые функции m.Maximize()
и m.Minimize()
доступны в Python GEKKO, начиная с версии 0.2.4 , как показано в GEKKO Change Log . В дополнение к принятому ответу m.Obj(-profit**2)
, другим вариантом максимизации прибыли является использование:
m.Maximize(profit**2)
Если у вас есть все условия, выраженные в денежных единицах, вы можете минимизировать и максимизировать, чтобы получить оптимальные компромиссыдля достижения общей прибыльности без использования квадрата цели.
m.Maximize(revenue)
m.Minimize(operating_cost)
m.Minimize(feed_cost)
m.Minimize(utility_cost)
Python GEKKO объединяет все целевые термины в одно значение как:
minimize (-revenue + operating_cost + feed_cost + utility_cost)
Вы можетеполучить окончательное значение целевой функции после успешного m.solve()
с m.options.OBJFCNVAL
. Сообщаемое значение находится в форме минимизации. Если вам нужно сообщить максимальную форму, вы можете умножить результат целевой функции на -1
.
print(-m.options.OBJFCNVAL)