模型文件
模型文件
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 dollar - Mn = 0 Bounds Cu <= 1000 Ni <= 50 Zi <= 50 Mn <= 50 Integers Pennies nickel Pennies dime Quarters Dollars End .3美元- Mn = 0 Bounds Cu <= 1000 Ni <= 50 Zi <= 50 Mn <= 50 Integers
你可以在文件中找到这个模型coins.lp
在< installdir > / /数据示例
您的Gurobi发行版的目录。具体地说,假设您已经在推荐的位置安装了Gurobi 9.1.2,您将在/图书馆/ gurobi912 / mac64 / /数据/例子coins.lp.
要修改此文件,请在文本编辑器中打开它(如vim).
编辑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美元-铜= 0
4.变量默认范围
除非另有说明,一个变量的下界为零,上界为无限。因此,铜< = 1000
的真正含义0 <= Cu <= 1000
.类中没有提到的任何变量界限
Section可以取任何非负值。
的文件格式部分提供了LP文件格式的详细信息Gurobi参考手册.