[英]Cplex java multidimensional decision variable, minimization
我在Java中使用Cplex,並希望最小化來自兩個矩陣的元素乘積之和(具有相同索引的元素的乘積)。
x [n] [n]包含決策變量[0,1]
cost [n] [n]包含從i到j的成本
我想最小化所有i..n的成本總和x [i] [j] * j [i] [j]; j..n。
我創建了這樣的變量:
[...]
static double lb = 0.0;
static double ub = 1.0;
static double cost[][] = new double[n][n];
IloNumVar[][] x = new IloNumVar[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
x[i][j] = cplex.numVar(lb, ub);
}
}
我的問題是我不知道如何創建最小化部分。
我發現了一些看起來與我的問題非常相似的東西( Cplex c ++多維決策變量 ),但是由於我對c ++不熟悉,所以我沒有得到任何解決方案。
應該這樣做:
IloLinearNumExpr obj = cplex.linearNumExpr();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
obj.addTerm(cost[i][j], x[i][j]);
}
}
cplex.addMinimize(OBJ);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.