由于课题相关要用到cplex,但是一直都没有时间好好查看api,导致自己以前写的代码过于冗长,今天简单介绍一种添加约束的方法。
例如添加约束
,拿着个约束用两种添加方式举例:

,V=DUC
// 车辆数约束
IloNumExpr[][] tempCar0 = new IloNumExpr[d][c];
for (int i = 0; i < d; i++) {
for (int j = 0; j < c; j++) {
tempCar0[i][j] = X[i][j + d];
}
}
IloNumExpr[] tempCar1 = new IloNumExpr[d];
for (int i = 0; i < d; i++) {
tempCar1[i] = cplex.sum(tempCar0[i]);
cplex.addLe(tempCar1[i], n[i]);
}
//堆场车辆约束
for(int i = 0;i<d;i++){
IloLinearNumExpr exprCar0 = cplex.linearNumExpr();//创建一个约束表达式
for(int j = d;j<c+d;j++){
if(i!=j){
exprCar0.addTerm(1.0, X[i][j]);
}
}
cplex.addLe(exprCar0, n[i

本文简要介绍了如何在Java中使用Cplex库添加约束。由于不能直接对决策变量进行算术运算,因此提供了两种方法:一是通过定义约束表达式的二维数组并使用sum方法;二是利用addTerm方法逐步累加表达式来构建约束。
最低0.47元/天 解锁文章
984

被折叠的 条评论
为什么被折叠?



