Lp.java


/*版权所有2023,Gurobi O狗万app足彩ptimization, LLC */ /*本示例从文件中读取LP模型并求解它。如果模型是不可行的或无界的,示例将关闭预解并重新求解模型。如果模型不可行,示例计算一个不可约不一致子系统(IIS),并将其写入文件*/ import gurobi.*;公共类Lp{公共静态无效主(字符串[]args) {if (args。长度< 1){System.out。println("使用:java Lp文件名");system . exit (1);} try {GRBEnv env = new GRBEnv();GRBModel模型= new GRBModel(env, args[0]);model.optimize ();int optimstatus = model.get(grb . intatr . status); if (optimstatus == GRB.Status.INF_OR_UNBD) { model.set(GRB.IntParam.Presolve, 0); model.optimize(); optimstatus = model.get(GRB.IntAttr.Status); } if (optimstatus == GRB.Status.OPTIMAL) { double objval = model.get(GRB.DoubleAttr.ObjVal); System.out.println("Optimal objective: " + objval); } else if (optimstatus == GRB.Status.INFEASIBLE) { System.out.println("Model is infeasible"); // Compute and write out IIS model.computeIIS(); model.write("model.ilp"); } else if (optimstatus == GRB.Status.UNBOUNDED) { System.out.println("Model is unbounded"); } else { System.out.println("Optimization was stopped with status = " + optimstatus); } // Dispose of model and environment model.dispose(); env.dispose(); } catch (GRBException e) { System.out.println("Error code: " + e.getErrorCode() + ". " + e.getMessage()); } } }