【发布时间】:2018-09-03 03:41:49
【问题描述】:
我正在尝试用 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);
欢迎任何想法。 谢谢!
【问题讨论】:
标签: java constraints cplex