Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CPLEX java-多维数组的相等约束_Java_Multidimensional Array_Cplex - Fatal编程技术网

CPLEX java-多维数组的相等约束

CPLEX java-多维数组的相等约束,java,multidimensional-array,cplex,Java,Multidimensional Array,Cplex,我正在用Java中的CPLEX解决一个线性规划问题。我有一个二进制决策变量,定义为 IloNumVar[] xd = new IloNumVar[Tend]; 时间在哪里。决策变量受xd随时间的和必须等于给定整数C_d的约束,其实现如下: cplex.addEq(cplex.sum(xd), C_d); 到目前为止一切正常 我遇到的问题是,现在我试图使用多维数组来概括决策变量的数量: IloNumVar[][] xd = new IloNumVar[Tend][count_d]; 但我仍然

我正在用Java中的CPLEX解决一个线性规划问题。我有一个二进制决策变量,定义为

IloNumVar[] xd = new IloNumVar[Tend];
时间在哪里。决策变量受xd随时间的和必须等于给定整数C_d的约束,其实现如下:

cplex.addEq(cplex.sum(xd), C_d);
到目前为止一切正常

我遇到的问题是,现在我试图使用多维数组来概括决策变量的数量:

IloNumVar[][] xd = new IloNumVar[Tend][count_d];
但我仍然需要施加一个约束,即每个决策变量随时间的总和必须等于一个常数。我试过这个:

IloNumVar[] Sum_d   = new IloNumVar[Tend];
IloNumVar[]  Sum_D  = new IloNumVar[1];
for(int j=0;j<count_d;j++){
    for (int i = 1; i<Tend; i++){
        cplex.addEq(Sum_d[i],cplex.sum(Sum_d[i-1],xd[i][j])); 
        }
    cplex.addEq(Sum_d[Tend],Sum_D);
    cplex.addEq(Sum_D,C_d);
    }
IloNumVar[]Sum_d=new IloNumVar[Tend];
IloNumVar[]和=new IloNumVar[1];

对于(int j=0;j而言,错误是由于不考虑
addEq
重载

addEq
的所有六个重载中,要添加到模型中的方程的RHS都是一个整数。它总是一个
double
或另一个
ilunumexpr

因此,您只需声明:

double C\u d

很高兴为您服务