我的配方中有以下几组和指数。我无法在cplex c ++音乐会技术中声明它。我应该将“ Nsd ”视为二维矩阵吗? γ,N(γ)和A(γ)怎么样?感谢任何帮助。
N = set of nodes
A = set of arcs
s Є N = index used for sources
d Є N = index used for destinations
Nsd = set of acceptable paths that connect s and d.
γ Є Nsd = index used for network paths
N(γ) = set of nodes along path γ
A(γ) = set of arcs along path γ
答案 0 :(得分:0)
就像@rkersh评论的那样,如果你提供一段代码会更好。在任何情况下,如果我理解正确,你不确定如何声明和使用一组带有2个索引的变量。
如果确实如此,您可以使用以下代码来声明一个适合表示变量的二维矩阵的新类型
typedef IloArray<IloNumVarArray> NumVarMatrix;
然后声明你的变量你可以使用像
这样的东西NumVarMatrix variable_name(env, number_of_rows);
for(i = 0; i < number_of_rows; i++)
variable_name[i] = IloNumVarArray(env, number_of_columns, 0, 1, ILOINT); // ILOINT or any other type that you see fit
我建议您查看cplex附带的示例文件facility.cpp
,以便查看完整的工作示例。
cplex附带的许多其他示例非常有助于概述您可以做什么以及如何做。