0

我正在使用 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))
4

1 回答 1

0

这不起作用。您不能在另一个模型中拥有模型 - 特别是,将主模型 ( x) 中的变量分配为子模型中的变量。

于 2021-09-16T14:21:06.397 回答