qp_vb.vb


qp_vb.vb


Gurobi优化版权2021年,LL狗万app足彩C的这个例子中制定和解决以下简单的QP模型:“减少x ^ 2 + x * y + y ^ 2 + y * z + z ^ 2 + 2 x '受到x + 2 y z > = 4 + 3“x + y > = 1“x, y, z非负”“它解决它曾经作为一个连续的模型,一旦为整数模型”。import Gurobi Class qp_vb Shared Sub Main() Try Dim env As New GRBEnv("qp.log") Dim model As New GRBModel(env) '创建变量Dim x As GRBVar = model.AddVar(0.0, 1.0, 0.0, GRB。当GRBVar = model.AddVar(0.0, 1.0, 0.0, GRB。As GRBVar = model.AddVar(0.0, 1.0, 0.0, GRB.);连续的,“z”)”Set objective (obj) As New GRBQuadExpr() obj = x*x + x*y + y*y + y*z + z*z + 2*x model. setobject (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()VarName & " " & x.X) Console.WriteLine(y。VarName & " " & y.X)控制台。VarName & " " & z.X)控制台。WriteLine("Obj: " &模型。ObjVal & " " & obj.Value) '将变量类型改为整数x.VType = GRB。y.VType = GRB。整数z.VType = GRB。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