[英]Constraint formulation in ILOG Cplex Java API
I'm trying to formulate a VRPTW model in Java, same one in OPL works just fine, but I keep getting problem with one constrain:我正在尝试在 Java 中制定一个 VRPTW 模型,在 OPL 中同样可以正常工作,但是我一直遇到一个约束问题:
a[i][k]+t[i][j]- a[j][k] + M * x[i][j][k] = M a[i][k]+t[i][j]- a[j][k] + M * x[i][j][k] = M
I get error mesagge: The method addTerm(double, IloNumVar) in the type IloLinearNumExpr is not applicable for the arguments (double).我收到错误消息: IloLinearNumExpr 类型中的 addTerm(double, IloNumVar) 方法不适用于参数 (double)。 It seams that it is a problem only with t[i][j] which is double and calculated based on two other doubles: t[i][j] = d[i][j]+ s[i];
它看起来只有 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);
Any ideas are welcome.欢迎任何想法。 Thank you!
谢谢!
您应该使用 setConstant:
expr8.setConstant(t[i][j]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.