1.建立三维决策变量
gurobi创建多维变量需要用指针创建多维数组,将变量存储到多维数组中。更高维度以此类推。注意头文件 #include "gurobi_c++.h"
GRBVar*** x = 0;//首先声明一个指向二维数组的数组
x = new GRBVar**[3];//该数组空间为3(k,取1-3),x的每个空间内指向一个数组(此时二维)
for (int k = 0; k < 3; ++k)
{
x[k] = new GRBVar*[10];//x第k个数组有10个空间(i,取1-10),每个空间又指向一个数组(此时1维)
for (int i = 0; i < 10; ++i)
{
x[k][i] = model.addVars(10, GRB_BINARY);//x[k][i]可以看作一个二维数组,每个空间内又放着一个一维数组,该一维数组空间为10(j),每个空间摆放了一个gurobi变量
}
}
2.gurobi多维决策变量属性设置
变量的属性包括:上下限,变量在目标函数中的系数,变量类型等。属性设置有两种方法,第一种是在创建的时候就通过.addvar()函数传入多个参数设置好,该函数参数有多个重载,如上面代码中model.addVars(10, GRB_BINARY)