我正在尝试在优化问题中实现最大利润。当我使用Gekko m.Obj函数时,它总是使利润最小化。

from gekko import GEKKO
m = GEKKO()
profit = m.Var(lb=1,ub=10)
m.Obj(profit**2)
m.solve(disp=False)
print(profit.value)


报告的最佳解决方案是profit=1。如何使用Python Gekko切换为最大化目标函数,以便最佳解决方案为profit=10?我的问题有多个目标。我想最小化一些(公用事业,饲料原料,运营费用),而我想最大化的其他一些(利润,生产)。

最佳答案

您可以在目标函数上设置负号以实现最大化。

m.Obj(-profit**2)

09-25 21:20