Movatterモバイル変換


[0]ホーム

URL:


ContentsMenuExpandLight modeDark modeAuto light/dark mode
Gurobi Example Tour
Light LogoDark Logo
Gurobi
Back to top

qcp_cs.cs#

/* Copyright 2025, Gurobi Optimization, LLC *//* This example formulates and solves the following simple QCP model:     maximize    x     subject to  x + y + z = 1                 x^2 + y^2 <= z^2 (second-order cone)                 x^2 <= yz        (rotated second-order cone)                 x, y, z non-negative*/usingSystem;usingGurobi;classqcp_cs{staticvoidMain(){try{GRBEnvenv=newGRBEnv("qcp.log");GRBModelmodel=newGRBModel(env);// Create variablesGRBVarx=model.AddVar(0.0,GRB.INFINITY,0.0,GRB.CONTINUOUS,"x");GRBVary=model.AddVar(0.0,GRB.INFINITY,0.0,GRB.CONTINUOUS,"y");GRBVarz=model.AddVar(0.0,GRB.INFINITY,0.0,GRB.CONTINUOUS,"z");// Set objectiveGRBLinExprobj=x;model.SetObjective(obj,GRB.MAXIMIZE);// Add linear constraint: x + y + z = 1model.AddConstr(x+y+z==1.0,"c0");// Add second-order cone: x^2 + y^2 <= z^2model.AddQConstr(x*x+y*y<=z*z,"qc0");// Add rotated cone: x^2 <= yzmodel.AddQConstr(x*x<=y*z,"qc1");// Optimize modelmodel.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 envmodel.Dispose();env.Dispose();}catch(GRBExceptione){Console.WriteLine("Error code: "+e.ErrorCode+". "+e.Message);}}}

Help and Feedback


[8]
ページ先頭

©2009-2025 Movatter.jp