第十八章LINGO软件的使用

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

第十八章LINGO软件的使用

18.1 LINGO入门

18.1.1 LINGO软件的安装过程

点击LINGO9.0 for Windows安装文件,出现

点击“Next”按钮,出现

此时需要接受安装协议。系统安装时默认的目录是C:\LINGO9。安装完成前,会出现下图所示的对话框:

这个对话框询问你希望采用的默认的建模(即编程)语言,系统推荐的是采用LINGO语法,也就是选项“LINGO(recommended)”;你也可以选择“LINDO”将LINDO语法作为默认的设置。当然,安装后你也可以通过“LINGO|Options|File Format命令来修改默认的建模(即编程)语言。在上图中按下“OK”按钮,系统就会完成LINGO的安装过程。

18.1.2 LINGO基础知识

LINGO有两种命令格式:一种是常用的Windows模式,通过下拉式菜单命令驱动LINGO 运行,界面是图形式的,使用起来也比较方便;另一种是命令行(Command-Line)模式,仅在命令窗口(Command Window)下操作,通过输入行命令驱动LINGO运行。由于其使用字符方式输入,初学者往往不太容易掌握。在这里,我们主要介绍在菜单驱动模式下LINGO的使用方法。

LINGO 9.0软件比以前的版本有了很大的改进,功能大大增强,性能更加稳定,计算的结果更加可靠。LINGO软件不仅可用于求解非线性规划问题,还可以用以求解非线性整数规划问题;LINGO包含了内置的建模语言,模型中所需的数据可以以一定格式保存在独立的文件中;LINGO允许以简练、直观的方式描述较大规模的优化问题。

注:LIGDO公司目前已将LINDO软件从其产品中删除了。事实上,LINDO软件的所有功能(包括LINDO语法格式)都在LINGO中得到了支持。

当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:

外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。状态行最左边显示的是“Ready”表示“准备就绪”;右下角显示的是当前时间,时间前面是当前光标的位置“Ln1,Col1”(即1行1列)。将来,用户可以用选项命令(LINGO|Options菜单命令)决定是否需要显示工具栏和状态行。在LINGO 模型窗口中,选择菜单命令“File|Open(F3)”,可以看到下图所示的标准的“打开文件”对话框,我们看到有各种不同的“文件类型”:

● 后缀“lg4”表示LINGO 格式的模型文件,是一种特殊的二进制格式文件,保存了我们

在模型窗口中所能够看到的所有文本和其他对象及其格式信息,只有LINGO 能读出它,用其他系统打开这种文件时会出现乱码;

● 后缀“lng ”表示文本格式的模型文件,并且以这个格式保存模型时LINGO 将给出警告,

因为模型中的格式信息(如字体、颜色、嵌入对象等)将会丢失;

● 后缀“ldt ”表示LINGO 数据文件;

● 后缀“ltf ”表示LINGO 命令脚本文件;

● 后缀“lgr ”表示LINGO 报告文件;

● 后缀“ltx ”表示LINGO 格式的模型文件;

● 后缀“mps ”表示MPS(数学规划系统)格式的模型文件;

● “*.*”表示所有文件

除“lg4”文件外,这里的另外几种格式的文件其实都是普通的文本文件,可以用任何文本编辑器打开和编辑。

18.1.3二个简单的LINGO 程序

下面举两个例子说明如何在LINGO 中如何进行规划问题求解。

例1.1求解如下的LP (线性规划)问题:

12min 23x x +

..s t

12350x x +≥

1100x ≥

122600x x +≤

12,0x x ≥

在模型窗口中输入如下代码:

min=2*x1+3*x2;

x1+x2>=350;

x1>=100;

2*x1+x2<=600;

如下图所示:

注:(1)LINGO中不区分大小写字母,变量(和行名)可以使用不超过32个字符表示,且必须以字母开头。

(2)LINGO中模型以“MODEL:”开始,以“END”结束。对简单的模型,这两个语句也可以省略。

(3)LINGO中的语句的顺序是不重要的,因为LINGO总是根据“MAX=”或“MIN=”语句寻找目标函数,而其它语句都是约束条件(当然注释语句和TITLE除外)。

(4)LINGO模型是由一系列语句组成,每个语句以分号“;”结束。

(5)LINGO中以感叹号“!”开始的是说明语句(说明语句也需要以分号“;”结束)。

(6)LINGO中解优化模型时假定所有变量非负(除非用限定变量取值范围的函数@free或@sub或slb另行说明)。

然后点击工具条上的按钮得到:

下面对上图的各个部分进行说明。

Solution Report(LINGO的结果报告窗口)

Global optimal solution found 表示全局最优解找到.

Objective value: 800.0000 表示最优目标值为800.0000.

Total solver iterations: 2 表示用单纯行法进行了两次迭代.

Variable 表示变量, 此问题中有两个变量X1, X2.

Value 给出最优解中各变量(Variable)的值: X1=250.0000, X2=100.0000.

Reduced Cost 给出最优的单纯形表中目标函数行中变量对应的系数. 其中基变量的Reduced Cost值一定为0;对于非基变量(非基变量本身的取值一定为0)和max问题,相应的Reduced Cost值表示当该非基变量增加一个单位(其它非基变量保持不变)时目标函数的减少的量.在这个例子中最优解中两个变量都是基向量, 因此对应的Reduced

Cost的值都为0.

Slack or Surplus (松弛或剩余)给出约束对应的松弛变量的值:第2和第4行松弛变量均为0,说明对于最优解来讲,两个约束(第2和4行)均取等号,即都是紧约束.

Dual Price 给出对偶价格(也称影子价格)的值.

相关文档
最新文档