加载和解决模型从一个文件

例子:回调,batchmode feasopt fixanddive, lp lpmethod, lpmod mip2 params,敏感性

最基本的任务之一可以执行与Gurobi库从一个文件,读取一个模型优化,并报告结果。的lp(lp_c.c,lp_c + + . cpp,lp_cs.cs,Lp.java,lp.py,lp_vb.vb),mip2(mip2_c.c,mip2_c + + . cpp,mip2_cs.cs,Mip2.java,mip2.m,mip2.py,mip2.R,mip2_vb.vb)的例子是简单的插图这是如何实现的各种支持Gurobi语言。虽然细节变化从一种语言到另一个地方,所有语言的基本结构是相同的。

初始化Gurobi环境后,开始通过阅读模式的例子从指定的文件。在C语言中,你所说的GRBreadmodel ()功能:

错误= GRBreadmodel (env, argv[1],模型);
在c++中,这是通过构建一个GRBModel对象:
GRBModel模型= GRBModel (env, argv [1]);
在c#和Java,这也是由构建完成GRBModel对象:
GRBModel模型= new GRBModel (env, args [0]);
在Python中,这是通过完成全局函数:
模型= gp.read (sys.argv [1])

下一步是调用Gurobi优化模型。在C语言中,你的呼唤GRBoptimize ()模型变量:

错误= GRBoptimize(模型);
在c++、Java和Python,这是通过调用来完成优化方法模型对象:
model.optimize ();
在c#中,方法名的第一个字母是大写:
model.Optimize ();
一个成功的优化叫填充一组解决方案属性的模型。例如,调用完成后,X变量属性包含解决方案为每个变量值。同样,连续模型,π约束属性包含每个约束的双重价值。

然后实例检索模型的价值状态属性来确定优化的结果。在lp例子中,一个最优的解决方案是编写解决方案文件(model.sol)。

有许多你可以做其他事情一旦你已阅读并解决了模型。例如,lp检查状态——强烈推荐的解决方案。如果模型是发现不可行,这个例子计算一个不可约不一致的子系统(IIS)隔离的来源不可能实行。