我正在使用 Jupyter 笔记本。我尝试使用优化模型定义一个函数,它似乎在我的主模型之外工作。当我尝试在主模型中的变量上使用该函数时,起初内核死了,当我更新了 Anaconda 时,它现在似乎什么也没做。
我的功能:
def optfunc(x):
mod = Model()
y = mod.addVar("y", ub = 2, lb = -1)
consl = mod.addCons(y + x <= 3, "cons")
mod.setObjective(y, "maximize")
mod.optimize()
sol = mod.getBestSol()
return mod.getSolVal(sol, y)
我的主要型号:
mainfunc = Model()
n = mainfunc.addVar("n",lb=1,ub=3)
c = optfunc(n)
const = mainfunc.addCons(n + 0.5 == 1, "cons")
mainfunc.setObjective(n, "maximize")
mainfunc.optimize()
sol = mainfunc.getBestSol()
print(mainfunc.getSolVal(sol,n))