从文件加载并解决模型


从文件加载并解决模型

例子:BatchMode,回调,feasopt,fixanddive,lp,lpmethod,lpmod,mip2,params,灵敏度

您可以使用Gurobi库执行的最基本的任务之一是从文件中读取模型,优化它,并报告结果。这LP.lp_c.c.LP_C ++。CPPlp_cs.cs.lp.java.lp.py.lp_vb.vb.) 和MIP2.mip2_c.c.MIP2_C ++。CPPmip2_cs.cs.mip2.java.mip2.m.mip2.py.mip2.r.mip2_vb.vb.)示例是在各种支持的Gurobi语言中完成的简单说明。虽然细节从一种语言变化到另一语言,但所有语言都存在相同的基本结构。

在初始化Gurobi环境后,示例首先从指定的文件读取模型。在c中,你叫greadmodel()功能:

error = greadmodel(env,argv [1]和型号);
在C ++中,这是通过构造一个完成的grbmodel.目的:
grbmodel model = grbmodel(env,argv [1]);
在C#和Java中,这也通过构造一个grbmodel.目的:
grbmodel模型=新grbmodel(env,args [0]);
在Python中,这是通过的全球功能:
Model = GP.read(Sys.argv [1])

下一步是在模型上调用Gurobi Optimizer。在c中,你打电话grboptimize()在这方面模型多变的:

错误= grboptimize(型号);
在C ++,Java和Python中,这是通过调用的优化对策模型目的:
model.Optimize();
在C#中,方法名称的第一个字母是大写的:
model.Optimize();
一个成功的优化调用填充模型中的一组解决方案属性。例如,一旦呼叫完成,就会X变量属性包含每个变量的解决方案值。同样,对于连续模型,PI.Constraint属性包含每个约束的双值。

然后示例检索模型的值地位属性确定优化结果。在里面LP.示例,将最佳解决方案写入解决方案文件(模型.SOL.)。

一旦阅读并解决模型,您可以做很多其他事情。例如,LP.检查解决方案状态 - 强烈建议。如果发现该模型是不可行的,则此示例计算不可缩小的不一致子系统(IIS)以隔离源的源。