解决一个模型


解决一个模型

命令行工具提供了一种简单的方法来解决存储在文件中的模型。模型可以以几种不同的格式存储,包括MPS、REW、LP和RLP,并且可以选择使用压缩文件gzipbzip2,或7 z.看到文件格式讨论有关接受格式的更多信息。

最基本的命令行命令如下:

gurobi_cl model.mps
这将从指定的文件中读取模型,对其进行优化,并在解决过程中显示Gurobi日志文件。

您可以选择包含任意数量的参数=值文件名前面的命令。例如:

gurobi_cl方法=2 TimeLimit=100模型
中描述了完整的Gurobi参数集参数部分。

Gurobi计算服务器用户可以添加——服务器=切换到指定服务器。例如:

gurobi_cl——server=server1 Method=2 TimeLimit=100 model.mps
能解决存储在文件中的模型吗model.mps在机server1,假设它正在运行Gurobi计算服务器。如果计算服务器有访问密码,请使用——密码=开关,指定它。

古罗比即时云用户可以添加——accessid =——secretkey =,——池=切换到在云实例上运行模型。例如:

gurobi_cl——accessid=0f5e0ace-f929-a919-82d5-02272b3b0e19——secretkey=8EDZOIf7T9avp0ZHef9Tsw——pool= mpool model.mps
能解决存储在文件中的模型吗model.mps云上池mypool使用提供的访问ID和密钥。如果池当前不是活动的,它将首先启动它。

写作结果文件

虽然简单地解决一个模型和显示日志通常很有用,但是想要检查结果解决方案也是很常见的。你可以使用ResultFile参数将解决方案写入文件:

gurobi_cl ResultFile =模型。索尔model.mps
文件名后缀决定所写入的文件类型。解决方案信息的有用文件格式有.sol(对于解向量)和.bas(用于简单基信息)。同样,你应该参考文件格式以获取支持的格式的列表

如果您有一个不可行的模型,您可能希望检查相应的不可减少不一致子系统(IIS),以确定不可行的原因。您可以要求命令行工具编写一个.ilp格式文件。它将尝试求解模型,如果发现模型不可行,它将自动计算一个IIS,并将其写入所请求的文件名。IIS是约束和变量边界的子集,具有以下属性:

  • IIS所代表的子系统是不可行的,并且
  • 如果IIS的任何约束或边界被移除,子系统就变得可行。
注意,一个不可行的模型可能有多个IISs。Gurobi返回的不一定是基数最小的那个;可能存在其他约束或约束较少的对象。

如果IIS计算在完成之前被中断,Gurobi将返回到该点找到的最小的IIS。

的另一个用途ResultFile是在文件格式之间进行转换。例如,如果你想将一个模型从MPS格式转换为LP格式,你可以发出以下命令:

gurobi_cl期限= 0 ResultFile =模型。lp model.mps
Gurobi可以直接编写压缩文件,因此这个命令也可以工作(假设是这样的话)7 zip已安装在您的机器上):
gurobi_cl TimeLimit=0 ResultFile=model.lp.7z model.mps

ResultFile参数的工作方式与命令行界面中的其他参数不同。虽然参数通常只接受一个值,但实际上可以指定多个结果文件。例如,命令如下:

gurobi_cl ResultFile =模型。索尔ResultFile =模型。bas model.mps
将写入两个文件。

读取输入文件

你可以使用InputFile参数在优化期间读取输入文件。最常见的输入格式是.bas(单形的基础上),.mst(MIP)开始,.sol(也是MIP的开始),.hnt(MIP提示),.ord(MIP优先顺序)。例如,命令如下:

gurobi_cl InputFile =模型。bas model.mps
会开始优化存储在文件中的连续模型吗model.mps使用文件中提供的依据model.bas

读取输入文件相当于设置Gurobi属性的值。一个.bas文件填充VBasisCBasis属性,而.ord文件填充BranchPriority属性。一个.mst.sol文件填充开始属性。一个.hnt文件填充VarHintValVarHintPri属性。

再说一遍,你应该咨询文件格式部分以获得有关受支持的文件格式的更多信息