qp_cs.cs.


qp_cs.cs.


/ *版权所有2021,gurobi优狗万app足彩化,llc * // *此示例制定和解决以下简单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;class qp_cs {static void main(){try {grbenv env = new grbenv(“qp.log”);grbmodel模型=新grbmodel(env);//创建变量grbvar x = model.addvar(0.0,1.0,0.0,grb.continuous,“x”);grbvar y = model.addvar(0.0,1.0,0.0,grb.continuous,“Y”);grbvar z = model.addvar(0.0,1.0,0.0,grb.Contion,“Z”);//设置目标GRBQUADEXPR obj = x * x + x * y + y * y + y * z + z * z + 2 * x; model.SetObjective(obj); // Add constraint: x + 2 y + 3 z >= 4 model.AddConstr(x + 2 * y + 3 * z >= 4.0, "c0"); // Add constraint: x + y >= 1 model.AddConstr(x + y >= 1.0, "c1"); // 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); // Change variable types to integer x.VType = GRB.INTEGER; y.VType = GRB.INTEGER; 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 (GRBException e) { Console.WriteLine("Error code: " + e.ErrorCode + ". " + e.Message); } } }