2016-07-26 14 views
0

Ich versuche, eine binäre Entscheidungsvariable in Java mit Cplex zu definieren. Das ist eine zweidimensionale Variable. Es bedeutet, dass, wenn ein Pfad von einer bestimmten Station startet, er 1 oder sonst 0 sein sollte. Ich habe eine Menge von Station, J und eine Menge von Pfaden, K, und meine Entscheidungsvariable ist Z_jk. Derzeit definiere ich den Code wie folgt, aber es funktioniert nicht. Könnte mir bitte jemand helfen?Definieren einer binären Entscheidungsvariablen in Java mit cplex

Vielen Dank im Voraus.

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

Antwort

0

Sie versuchen, ein 2D-Array binärer Entscheidungsvariablen zu erstellen. Welche Fehler bekommst du?

Versuchen Sie, einen Blick auf den Beispielcode zu werfen, der mit CPLEX geliefert wurde. Siehe zum Beispiel transport.java, die einige 2D-Arrays von Variablen enthält, die folgendermaßen deklariert und initialisiert werden:

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