ILOG-Cplex-javaapi中的约束表示
我正在尝试用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]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
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]);