2016-07-26 20 views
0

cplexを使用してJavaでバイナリ決定変数を定義しようとしています。これは2次元変数です。パスが特定のステーションから始まる場合、それは1またはそれ以外の0でなければならないことを意味します。私はステーションJとパスのセットKを持ち、私の決定変数はZ_jkです。現在、次のようなコードを定義していますが、機能しません。誰も私を助けてくれますか?cplexを使用してJavaでバイナリ決定変数を定義する

ありがとうございます。

// define variables 
       z = new IloNumVar[stations_start.size()][]; 
       for (int j=0; j<stations_start.size();j++) { 
        z[j] = cplex.numVarArray(paths.size(),0,1); 
        for (int k=0;k<paths.size();k++) { 
         z[j][k] = cplex.numVar(new_column, 0, 1,"z"); 
         z[j][k].setName("z."+j+"."+k); 
        } 
       } 

答えて

0

バイナリ決定変数の2D配列を作成しようとしています。あなたはどんなエラーを出していますか?

CPLEXで提供されているサンプルコードの一部を見てみてください。たとえば、次のように宣言され初期化された変数の2D配列を含むtransport.javaを参照してください。

IloNumVar[][] x = new IloNumVar[nbSupply][]; 
    IloNumVar[][] y = new IloNumVar[nbSupply][]; 

    for (int i = 0; i < nbSupply; i++) { 
     x[i] = cplex.numVarArray(nbDemand, 0., Double.MAX_VALUE); 
     y[i] = cplex.numVarArray(nbDemand, 0., Double.MAX_VALUE); 
    } 
関連する問題