模型文件
模型文件
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参考手册.