ILOG Cplex Java API中的约束条件

问题描述 投票:0回答:1

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

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

我得到错误mesagge:类型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);

欢迎任何想法。谢谢!

java constraints cplex
1个回答
0
投票

你应该使用setConstant。

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

问候

© www.soinside.com 2019 - 2024. All rights reserved.