dence.java.


dence.java.


/ *版权所有2021,Gurobi优狗万app足彩化,LLC * // *此示例制定和解决以下简单QP模型:最小化X + Y + x ^ 2 + x * y + y ^ 2 + y * z + z ^ 2受到x + 2 y + 3 z> = 4 x + y> = 1 x,y,z非负图示例说明了使用密集矩阵存储A和Q(以及用于其他相关数据的密度矢量)。我们不建议您使用密集的矩阵,但如果您已经以这种格式已拥有您的数据,此示例可能会有所帮助。* /进口gurobi。*;公共类密集{受保护的静态布尔致密化(Grbenv Env,int行,int cols,double [] c,//目标函数的线性部分Double [] Q,//异客函数的二次部分Double [] a,//约束矩阵char [] Sense,//约束感测Double [] RHS,// RHS矢量Double [] LB,//可变下限Double [] UB,//可变上限Char [] Vtype,//可变类型(连续,二进制等)Double []解决方案){布尔成功= false;尝试{grbmodel模型=新grbmodel(env);//将变量添加到Model Grbvar [] vars = model.addvars(lb,ub,null,vtype,null);//填充矩阵(Int i = 0; i <行; i ++){grblinexpr expr = new grblinexpr();for(int j = 0; j ', '>'}; double rhs[] = new double[] {4, 1}; double lb[] = new double[] {0, 0, 0}; boolean success; double sol[] = new double[3]; success = dense_optimize(env, 2, 3, c, Q, A, sense, rhs, lb, null, null, sol); if (success) { System.out.println("x: " + sol[0] + ", y: " + sol[1] + ", z: " + sol[2]); } // Dispose of environment env.dispose(); } catch (GRBException e) { System.out.println("Error code: " + e.getErrorCode() + ". " + e.getMessage()); e.printStackTrace(); } } }