Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
ILOG-Cplex-javaapi中的约束表示_Java_Constraints_Cplex - Fatal编程技术网

ILOG-Cplex-javaapi中的约束表示

ILOG-Cplex-javaapi中的约束表示,java,constraints,cplex,Java,Constraints,Cplex,我正在尝试用Java制定一个VRPTW模型,OPL中的同一个模型工作得很好,但我一直遇到一个问题: a[i][k]+t[i][j]-a[j][k]+M*x[i][j][k]=M 我得到了错误消息:类型IloLinearNumExpr中的addTerm(double,IloNumVar)方法不适用于参数(double)。 只有t[i][j]是双精度的,并且是根据另外两个双精度计算的,这是一个问题:t[i][j]=d[i][j]+s[i] for(int i = 0; i < n; i

我正在尝试用Java制定一个VRPTW模型,OPL中的同一个模型工作得很好,但我一直遇到一个问题:

a[i][k]+t[i][j]-a[j][k]+M*x[i][j][k]=M

我得到了错误消息:类型IloLinearNumExpr中的addTerm(double,IloNumVar)方法不适用于参数(double)。 只有t[i][j]是双精度的,并且是根据另外两个双精度计算的,这是一个问题:t[i][j]=d[i][j]+s[i]

    for(int i = 0; i < n; i++) {
                for(int j = 0; j < n; j++) {
                    for(int k = 0; k < v; k++) {
                        if(i != j) {
                            IloLinearNumExpr expr8 = cplex.linearNumExpr();
                            expr8.addTerm(1.0, a[i][k]);
                            expr8.addTerm(t[i][j]);
                            expr8.addTerm(-1.0, a[j][k]);
                            expr8.addTerm(M, x[i][j][k]);
                            cplex.addLe(expr8, M);
for(int i=0;i
欢迎提出任何意见。
谢谢!

您应该使用setConstant:

expr8.setConstant(t[i][j]);