LINGO软件介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) LINGO 软件介绍
LINGO 是一种专门用于求解数学规划问题的软件包。

LINGO 主要用于求解线性规划、非线性规划、二次规划、动态规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。

LINGO 中包含了一种建模语言和大量的常用函数,可供使用者在建立数学规划问题的模型时调用。

(2) 示例
例如,用LINGO 求解线性规划问题:

⎪⎪⎪⎩⎪
⎪⎪⎪
⎨⎧==≥≥+≥+≥+≥+≥+++≥++++++++++=4
,3,2,1;2,1,
0100
2001100170010002000..153751511572521min 241423
13
22
12211124232221141312112423222114131211j i x x x x
x x x x x x x x x x x x x t s x x x x x x x x z ij
只需要打开LINGO ,然后按照下面的操作进行即可。

1、 模型的输入
当打开LINGO 后,屏幕将出现如图1所示的窗口。

标题为“LINGO ”的窗口是主窗口,它包含所有的其他窗口以及所有命令菜单和工具栏。

里面的空白窗口用于输入LINGO 的程序代码,代码格式如下:
MODEL:
图1
min=21*x11+25*x12+7*x13+15*x14+51*x21+51*x22+37*x23+15*x24; x11+x12+x13+x14>=2000; x21+x22+x23+x24>=1000; x11+x21>=1700;
x12+x22>=1100;
x13+x23>=200; x14+x24>=100; END
2、 执行
从Solve 菜单选择Solve 命令,或者在窗口顶部的工具栏里按Solve 按钮,LINGO 就会先对模型进行编译,检查模型是否具有数学意义以及是否符合语法要求。

如果模型不能通过这一步检查,会看到报错信息,并指出出错的语句。

检查通过后,LINGO 开始正式求解。

求解结果如图2所示。

此问题的解为:111700x =,121100x =,13200x =,140x =,210x =,220x =,230x =,
241000x =,最优值为:79600。

3、 LINGO 程序注解
MODEL :LINGO 模型程序的开始标志。

END :LINGO 模型程序的结束标志。

min=21*x11+25*x12+7*x13+15*x14+51*x21+51*x22+37*x23+15*x24:表明目标函数是求2423222114131211153751511572521x x x x x x x x +++++++的最小值。

x11+x12+x13+x14>=2000:对应约束条件200014131211≥+++x x x x 。

由于LINGO 默认各变量非负,所以在程序中不需要专门的语句对应于约束条件中的
4,3,2,1;2,1,
0==≥j i x ij 。

图1.5.6
当运用LINGO求解此问题后,系统会弹出一个名为Solution Report的文本框,其文本框中包含了求解的详细信息,如下:
Rows= 7 Vars= 8 No. integer vars= 0 ( all are linear)
Nonzeros= 30 Constraint nonz= 16( 16 are +- 1) Density=0.476 Smallest and largest elements in abs value= 1.00000 2000.00
No. < : 0 No. =: 0 No. > : 6, Obj=MIN, GUBs <= 4
Single cols= 0
Global optimal solution found at step: 9
Objective value: 79600.00
Variable Value Reduced Cost
X11 1700.000 0.0000000
X12 1100.000 0.0000000
X13 200.0000 0.0000000
X14 0.0000000 15.00000
X21 0.0000000 15.00000
X22 0.0000000 11.00000
X23 0.0000000 15.00000
X24 1000.000 0.0000000
Row Slack or Surplus Dual Price
1 79600.00 1.000000
2 1000.000 0.0000000
3 0.0000000 -15.00000
4 0.0000000 -21.00000
5 0.0000000 -25.00000
6 0.0000000 -7.000000
7 900.0000 0.0000000
分别表示约束个数,变量个数,取整变量的个数等,以及总的迭代步数,最优目标函数值,变量的最优值,松弛变量的值和对偶变量的值。

相关文档
最新文档