1

私は Java で Cplex を使用しており、2 つのマトリックスからの要素の積 (同じインデックスを持つ要素の積) の合計を最小限に抑えたいと考えています。

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++ に慣れていないため、解決策が得られません。

4

1 に答える 1

2

これはそれを行う必要があります:

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);

于 2013-07-26T04:03:33.360 に答える