我有一个变量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);
}
}
但它无法运行,它表示使用未分配的本地变量&#39; v&#39;。 我真的很感激任何帮助。谢谢
答案 0 :(得分:0)
(1)你应该确保你的M永远不会少于1,因为你的程序会崩溃。
(2)尝试用第一行代替:
GRBVar[,] v = null;
你的程序会运行,但我认为它没有多大意义 - 你正在循环中替换你的v,所以只有最后一辆车才能进入v。