模型文件

模型文件

Gurobi Optimizer为表达优化模型提供了多种选项。通常,您将使用编程语言(C、c++、c#、Java等)的接口或使用更高级别的应用程序环境(笔记本、电子表格、建模系统、MATLAB、R等)来构建模型。但是,为了使我们的示例尽可能简单,我们将从LP格式文件读取模型。LP格式被设计成人类可读的,因此它非常适合我们的需要。

LP格式基本上是不言自明的。这是我们的模型:

最大化. 01便士+ 0。尼克尔斯+ 1。角+二十五分季度+ 1美元受铜:06便士5.2 + 2.1 + 3.8镍币角+季度镍-铜= 0 + 7.2美元:1.2镍币+ 2角+ 5季度+锌-镍= 0。2美元:2.4便士+ 5元-子= 0锰:3美元- Mn = 0边界Cu <= 1000 Ni <= 50 Zi <= 50 Mn <= 50整数便士镍币一角硬币四分之一美元结束

你可以在文件中找到这个型号coins.lp< installdir > / /数据示例贵公司的Gurobi经销目录。具体来说,假设您已经在推荐的位置安装了Gurobi 8.1.1,那么您将在中找到该文件c: \ gurobi811 \ win64 \ \ data \例子coins.lp

要修改此文件,请在文本编辑器中打开它(如写字板).

编辑LP文件

在您考虑对该文件进行任何修改或创建您自己的文件之前,我们应该指出关于LP格式文件的一些规则。

1.章节的排序

我们的例子包含一个目标部分(最大化…)、约束部分(主题……),变量绑定部分(范围……),以及完整性部分(整数…).各部分必须按照这个顺序。的文件格式部分中可以找到节类型和相关排序规则的完整列表Gurobi参考手册

2.分离的令牌

标记必须用空格或换行符分隔。因此,例如:

+ 1角。
必须包含空格或换行符之间+.1,和另一个之间.1

3.安排变量

变量必须总是出现在约束的左边。右边总是一个常数。因此,我们的约束:

铜= 0.06便士+ 3.8镍币+ 2.1一角币+ 5.2 25美分+ 7.2美元
…就…
0.06便士+ 3.8镍币+ 2.1一角币+ 5.2 25美分+ 7.2美元

4.变量默认范围

除非另有说明,否则变量的下界为零,上界为无限。因此,铜< = 1000的真正含义0 <= Cu <= 1000.方法中未提及的任何变量界限Section可以取任何非负值。

文件格式部分提供了关于LP文件格式的详细信息Gurobi参考手册