【发布时间】:2019-06-20 21:10:11
【问题描述】:
我开始使用 Google 的 OR-TOOLS,但我不知道如何动态声明变量。
OR-TOOLS 网站中的一个非常简单的示例如下所示
x = solver.NumVar(0, 10, 'x')
y = solver.NumVar(0, 10, 'y')
solver.Add(x + 7 * y <= 17.5)
solver.Maximize(x + 10 * y)`
因为我正在对 Benders 分解进行建模,所以我试图在循环中声明一些变量。因此,我可以动态创建它的变量。
我尝试过类似的方法:
for i in range(3):
x[i] = solver.NumVar(0, 10, 'x[i]')
y[i] = solver.IntVar(0, 10, 'y[i]')
solver.Add(x[i] + 7 * y[i] <= 17.5)
但是,这显然行不通。
有人可以帮帮我吗?谢谢!
【问题讨论】:
标签: python optimization or-tools mixed-integer-programming