qp_vb.vb


Gurobi优化版权2023年,LL狗万app足彩C的这个例子中制定和解决以下简单的QP模型:“减少x ^ 2 + x * y + y ^ 2 + y * z + z ^ 2 + 2 x的服从x + 2 y + 3 z > = 4 ' x + y > = 1 x, y, z的非负“它解决它曾经作为一个连续的模式,一旦为整数模型。“进口Gurobi类qp_vb共享子Main()尽可能暗env新GRBEnv (“qp.log”)的模型随着新GRBModel (env)'创建变量模糊x作为GRBVar = model.AddVar(0.0, 1.0, 0.0,伽马线暴。连续的,“x”)的y GRBVar = model.AddVar(0.0, 1.0, 0.0,伽马线暴。连续的,“y”)的z GRBVar = model.AddVar(0.0, 1.0, 0.0,伽马线暴。连续的,“z”)客观的昏暗的obj设置为新的GRBQuadExpr () obj y = x * x + x * + * y + y * z + z * z + 2 * x model.SetObjective (obj)“添加约束:x + 2 y + 3 z > = 4模型。AddConstr (x + 2 * y + 3 * z > = 4.0,“c0”)“添加约束:x + y > = 1模型。AddConstr (x + y > = 1.0,“c1”)“优化模式model.Optimize () Console.WriteLine (x。VarName & " " & x.X Console.WriteLine (y)。VarName & " " & y.X Console.WriteLine (z)。VarName & " " & z.X)控制台。WriteLine (Obj: &模型。ObjVal & " " & obj.Value)“变量类型更改为整数x。VType =伽马线暴。整数y。VType =伽马线暴。整数z。VType =伽马线暴。INTEGER ' Optimize model model.Optimize() Console.WriteLine(x.VarName & " " & x.X) Console.WriteLine(y.VarName & " " & y.X) Console.WriteLine(z.VarName & " " & z.X) Console.WriteLine("Obj: " & model.ObjVal & " " & obj.Value) ' Dispose of model and env model.Dispose() env.Dispose() Catch e As GRBException Console.WriteLine("Error code: " & e.ErrorCode & ". " & e.Message) End Try End Sub End Class