我需要反覆求解一個gurobi模型(每次迭代使用不同的變量值)。我沒有重建每次迭代的模型,而是嘗試設置模型,然後循環重複優化,但變量值不更新。這是一個簡單的例子。在Python中反覆求解Gurobi模型
n = Model("Test")
a = n.addVar(lb=0,name = "a")
b = n.addVar(lb=0,name = "b")
a=1
b=1
x = n.addVar(lb=0,name = "x")
y = n.addVar(lb=0,name = "y")
n.update()
n.setObjective(a*x + b*y,GRB.MAXIMIZE)
n.addConstr(x + y <= 10)
n.addConstr(2*x + 3*y <= 20)
n.addConstr(y<=5)
n.update
n.optimize()
for v in n.getVars():
print('%s %g' % (v.varName, v.x))
print('Obj: %g' % n.objVal)
for i in (1,10):
n.update()
a=i*2
b=100/i
n.optimize()
for v in n.getVars():
print('%s %g' % (v.varName, v.x))
如何反覆使用現有模型?