2016-09-06 19 views
2

のためのObjective係数である何、私はnew variableのためのObjective係数を提供する必要があります。新しいGRBVarを作成するためには、新たな変数

​​によると、値はだから私は何の目標を疑問に思う0に設定することができます
GRBVar var = model.addVar (double lowerBound, 
     double upperBound, 
     double obj, // objective coefficient 
     char type, 
     String name); 

係数はです。

答えて

3

目的係数は目的関数内の変数の係数です。例では、与えている:yの1 :1 とZ用:2

maximize x + y + 2 z 
subject to x + 2 y + 3 z <= 4 
      x + y  >= 1 
x, y, z binary 

あなたの目的関数は、x + yの+ 2つのZ

対物係数xについて されている最大化ですあなたは、係数に任意与えることができます作成​​した変数間

(ここでは、彼らはあなたが言ったようですが0.0)

// Create variables 

    GRBVar x = model.addVar(0.0, 1.0, 0.0, GRB.BINARY, "x"); 
    GRBVar y = model.addVar(0.0, 1.0, 0.0, GRB.BINARY, "y"); 
    GRBVar z = model.addVar(0.0, 1.0, 0.0, GRB.BINARY, "z"); 

しかし、実際の目的係数に設定する必要があります。

// Set objective: maximize x + y + 2 z 

    GRBLinExpr expr = new GRBLinExpr(); 
    expr.addTerm(1.0, x); 
    expr.addTerm(1.0, y); 
    expr.addTerm(2.0, z); 
    model.setObjective(expr, GRB.MAXIMIZE); 
関連する問題