-314-
附录三 运筹学的 LINGO 软件
§ 1 简介
LINGO软件有多种版本,如 LINDO,GINO 和 LINGO(包括 LINGO NL)软件。
LINDO 是一种专门用于求解数学规划问题的优化计算软件包,版权现在由美国
LINDO 系统公司(Lindo System Inc.)所拥有。LINDO 软件包的特点是程序执行速度
快,易于方便地输入、修改、求解和分析一个数学规划(优化问题),因此 LINDO 在
教学,科研和工业界得到广泛应用。有关该软件的发行版本,发行价格和其它最新信息
都可以从 LINDO 系统公司的 INTERNET 网络站点 http://www.lindo.com 获取,该站点
还提供部分 LINDO 软件的演示版本或测试版本。
LINDO 由美国芝加哥大学的 Linus Schrage 教授首先开发,随后又推出了 GINO,
LINGO, LINGO NL (又称 LINGO2) 和“what’s best!”等优化软件,现在一般仍用 LINDO
作为这些软件的统称。各组件的功能各有侧重,分别简要介绍如下:
(i)LINDO 是 Linear Interactive and Discrete Optimizer 字首的缩写形式,可以用来
求解线性规划(LP—Linear Programming),整数规划(IP—Integer Programming)和二次规
划(QP—Quadratic Programming)问题。
(ii)GINO 是 General Interactive Optimizer 字首的缩写形式,可以用来求解非线
性规划(NLP-----Non-Linear Programming)问题,也可用于求解一些线性和非线性方程
(组)以及代数方程求根等。GINO 中包含了各种一般的数学函数(包括大量的概率函
数),可供使用者建立问题模型时调用。
(iii)
LINGO 可以用来求解线性,非线性和整数规划问题。
(iv)LINGO NL (LINGO2) 可以用来求解线性,非线性和整数规划问题。
与 LINDO 和 GINO 不同的是,LINGO 和 LINGO NL (LINGO2) 包含了內置的建模
语言,允许以简练,直观的方式描述较大规模的优化问题,模型中所需的数据可以以一
定格式保存在独立的文件中。
(v)“what’s best!” 组件主要用于数据文件是由电子表格软件(如 LUTOS1-2-3
和 MS OFFICE 等)生成的情形。
LINDO 软件包有多种版本,但其软件內核和使用方法基本上是类似的。下面介绍
LINGO 组件的基本使用方法。
§2 LINGO 快速入门
当你在 windows 下开始运行 LINGO 系统时,会得到一个窗口:
外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主
窗口之下。在主窗口内的标题为 LINGO Model – LINGO1 的窗口是 LINGO 的默认模型窗
口,建立的模型都都要在该窗口内编码实现。下面举两个例子。
例 2.1 如何在 LINGO 中求解如下的 LP 问题:
21
32min xx +
s.t.
⎪
⎪
⎩
⎪
⎪
⎨
⎧
≥
≤+
≥
≥+
0,
6002
100
350
21
21
1
21
xx
xx
x
xx
由于 LINGO 中已假设所有的变量是非负的,所以非负约束不必再输入到计算机中,