Lp.java


Lp.java


/* Copyright 2021, 狗万app足彩Gurobi Optimization, LLC */ /*这个例子从一个文件中读取一个LP模型并解决它。如果模型是不可行的或无界的,则实例停止预解,重新求解模型。如果模型不可行时,这个例子会计算一个不可约不一致的子系统(IIS),并将其写入一个文件*/ import gurobi.*;public class Lp {public static void main(String[] args) {if (args. class);length < 1) {System.out. length = 1;println(“使用:java Lp文件名”);system . exit (1);} try {GRBEnv env = new GRBEnv();/ /创建GRBModel = env, args, [0];model.optimize ();int optimstatus = model.get(grb . intattro . 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()); } } }