Lingo 程序的语法
我们以 Lingo 参考手册中的例子来说明.
例子:
CompuQuick 公司生成两种型号的计算机: Standard 和 Turbo.
Standard 每台利润为 $\$100$, 而 Turbo 每台的利润为 $\$150$.
在CompuQuick工厂, Standard型计算机的生产线每天至多可以制造 100台此型号的计算机; 而 Turbo型计算机的生产线每天至多可以制造 120台.
进一步的, CompuQuick公司每日劳动力可用资源是有限制的: 具体的, 每日可供使用的劳动力是 160小时.
Standard型计算机和Turbo型计算机每台每天分别需要1小时和2小时的劳动力.
CompuQuick 公司的问题是确定这两种型号计算机的每日生产计划, 在不超出生产线能力限制和劳动力资源约束的情况下实现利润最大化.
[建立模型]
令 STANDARD 和 TURBO 分别是Standard型和Turbo型计算机每天所生产的台数. 于是模型代码如下:
model:
! Here is the total profit objective function;
MAX = 100 * STANDARD + 150 * TURBO;
! Constraints on the production line capacity;
STANDARD <= 100;
TURBO <= 120;
! Our labor supply is limited;
STANDARD + 2 * TURBO <= 160;
end ! end 可以不写;
Lingo 程序中的注释符使用感叹号(exclamation) !
Lingo 程序中的表达式可以写成多行, 只要以分号` ; ` 结束. 例如上面的目标函数可以写成两行:
MAX = 100 * STANDARD
+ 150 * TURBO;
对于注释也一样, 只要介于 ! 和 ; 之间的都会被 LINGO所忽略. 例如:
X = 1.5 * Y + Z / 2 * Y; ! This is a comment;
X = 1.5 * ! This is a comment in the middle
of a constraint; Y + Z / 2 * Y;
变量的命名规则
LINGO 不区分变量的大小写, 因此 TURBO如果写成 turbo 或 Turbo 等是一样的.
变量必须以字母(A-Z)开头, 后续的字符可以是字母或数字(0-9)或者下划线 ` _ ` .
变量名的长度不超过 64 个字符.
References:
LINGO 14 Online Users Manual