用C#在Gurobi中定义属于索引集的变量

Define variable which belongs to indexed set in Gurobi with C#

我有一个变量 v 的定义,它有两个索引:p 和 k。对于每个 m 个仓库,索引 p 属于集合 P,索引 k 属于集合 K。

我在 Gurobi 中这样定义变量:

GRBVar[,] v;
     for (int m = 0; m < M; m++)
     v = new GRBVar[P,K[m]];     //variable of vehicle

for (int p = 0; p < P; p++)
{
 for (int m = 0; m < M; m++)
  {
    for (int k = 0; k < K[m]; k++)
    v[p,k] = model.AddVar(0.0, 1.0, 0.0, GRB.CONTINUOUS, "v" + p + "," + k);
                }
            }

但它不能运行,它说Use of unassigned local variable 'v'。 我真的很感激任何帮助。谢谢

(1) 你应该确保你的 M 永远不会小于 1,否则你的程序会崩溃。

(2) 尝试将第一行替换为:

GRBVar[,] v = null;

您的程序会 运行,但我认为这没有多大意义 - 您正在替换循环中的 v,因此只有最后一辆车会在 v 中。