客觀係數是您的目標函數中變量的係數。在這個例子中,你已經給:
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:1 爲Y:1 和Z:2
在創建變量,你可以給係數任意(這裏如你所說,他們是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);