2.5.2 LINGO线性规划求解

更新于 2026年10月12日 版权声明
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的敏感性分析是一致的。

关注公众号获取验证码
复制内容需要验证码(7.99元/天)
✍AI写作