2.5.2 LINGO线性规划求解
LINGO(linear interactive and general optimizer,交互式线性和通用求解器)由美国LINDO 公司推出。
LINDO 是一种专门用于求解数学规划问题的软件包,主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等,最大的特点是方便的交互式互动环境。LINGO 在LINDO 基础上,对求解非线性规划和二次规则问题做了进一步扩充,可以理解为是LINDO 的升级版。LINGO 分为企业版和试用版(Demo),试用版可以在LINDO 主页上注册下载(http://www.lindo.com)。
以LINGO17.0试用版为例,进入软件后,单击Demo后就可进入主界面,窗口标题为“Lingo Model-Lingo1”,称为模型窗口(图2.11)。
LINGO 输入方式有两种,最简单的就是直接书写方式。基本书写规则如下:
(1)输入要在英文输入法状态下。一个模型一般以“model:”开始,以“end”结束(较新版本也可以省略)。
(2)目标函数以“max=”或“min=”开始,目标函数与约束间用“;”分割,系数与变量间须用“*”代替乘号分开。
(3)变量必须以字母开头,后可接字母和数字。

图2.11 LINGO主界面
(4)变量大于等于零为默认要求,不用输入。
(5)自由变量,需要用函数@free(变量)定义。有界变量用函数@BND(下界,变量,上界)定义。
【例2.15】用LINGO 求解[例2.8]问题。
启动LINGO 后,主界面上(图2.11)输入如下内容:
max=5x1+8x2+6x3;(https://www.daowen.com)
x1+x2+x3<=12;
x1+2x2+3x3<=20;
然后在主菜单上,点求解按钮
(solve)就可得出结果如图2.12所示。

图2.12 LINGO运行结果
运行结果与[例2.8]同。
如果模型输入有问题,可以回到输入窗口,进行编辑加工。或者对个别系数进行调整,然后再运行来观察解的变化情况。LINGO 输入的模型内容与正常书写格式基本一致。交互的输入功能方便修改,方便个别系数调整试运行。
利用LINGO 进行灵敏度分析,需要先在主菜单上Solver下进行设置:
Solver→Options→General Solver→Dual Computations→Prices and Range
然后运行主菜单下Solver→Range,就可得到结果(图2.13)。

图2.13 LINGO灵敏度分析结果
图中2.13运行结果与图2.10采用Excel的敏感性分析是一致的。