lindo 6.1 较详细的软件使用说明,有例子

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

〖附录Ⅰ〗Lindo软件的用法

一、简介

LINDO是一种专门用于求解线性规划的著名计算软件包,其版权由美国LINDO 系统公司(Lindo System Inc)所拥有。LINDO 软件包的特点是程序执行速度快,易于输入、输出、求解和分析一个线性规划问题,还可以求解整数规划、二次规划等问题,在教育、科研和工农业生产中得到了广泛的应用。有关该软件的发行版本、价格和其他最新信息可以登录该公司的网站获取,该网站还提供LINDO和其他一些软件的演示版本或测试版本。LINDO演示版与发行版的主要区别是解决问题的规模不同。LINDO 6.1的演示版就可处理规模不超过300个变量150个约束的线性规划问题,也可以处理最多不超过50个变量的整数规划问题。

二、界面

进入LINDO后。系统在屏幕的下方打开一个编辑窗口,其默认标题是“untitled”,就是无标题的意思。屏幕的最上方有【File】、【Edit】、【Solve】、【Reports】、【Window】、【Help】六个菜单,除【Solve】和【Reports】菜单外,其他功能与一般Windows菜单大致相同。而【Solve】和【Reports】菜单的功能很丰富,这里只对其最简单常用的命令作一简单的解释。

【Solve】菜单〖Solve〗子菜单,用于求解在当前编辑窗口中的模型,该命令也可以不通过菜单而改用快捷键Ctrl+S或用快捷按钮来执行。

〖Compile Model〗子菜单,用于编译在当前编辑窗口中的模型,该命令也可以改用快捷键Ctrl+E或用快捷按钮来执行。LINDO求解一个模型时,总是要将其编译

成LINDO所能处理的程序而进行,这一般由LINDO自动进行,但有时用户需要先将模型编译一下查对是否有错,则用到此命令。

〖Debug〗子菜单,如果当前模型有无界解或无可行解时,该命令可用来调试当前编辑窗口中的模型。该命令也可以改用快捷键Ctrl+D来执行。

〖Pivot〗子菜单,对当前编辑窗口中的模型执行单纯形法的一次迭代,该命令也可以改用快捷键Ctrl+N来执行。利用该命令,可以对模型一步步求解,以便观察中间的过程。

〖Preemptive Goal〗子菜单,用来处理具有不同优先权的多个目标函数的线性规划或整数规划问题,该命令也可以改用快捷键Ctrl+G来执行。利用该命令,可以求解目标规划。

【Reports】菜单

〖Solution〗子菜单,在报告窗口中建立一个关于当前编辑窗口中的模型的解的报告,该命令也可以改用快捷键Ctrl+0或快捷按钮来执行。LINDO在求解一个模型

时默认状态下是产生其解的报告的,但如果用户事先在【Edit】菜单下〖Option〗子菜单中将输出改为简洁方式(Terse mode),则系统就会将解的报告省略。此时,要输出解的报告就用到〖Solution〗子菜单。

〖Tableau〗子菜单,在输出窗口中显示模型的当前单纯形表,该命令也可以改用快捷键Alt+7来执行。该命令与〖Pivot〗命令结合使用,可得到单纯形法求解线性规划的详细过程。

其他子菜单的用途较为复杂,限于本书的内容,不再介绍。

在菜单的下方,是一排快捷按钮,分别对应一些常用的操作。从左到右,第一组

的五个按钮依次对应【File】菜单中的〖New〗、〖Open〗、〖View〗、〖Save〗和〖Print〗五个命令,第二组的八个按钮依次对应【Edit】菜单中的〖Cut〗、〖Copy〗、〖Paste〗、〖Find/Replace…〗、〖Option…〗、〖Go To Line…〗、〖Paste Symbol …〗和〖Clear All〗

八个命令,第三组的两个按钮依次对应【Solve】菜单中的〖Solve〗和〖Compile Model〗两个命令,第四组的三个按钮依次对应【Reports】菜单中的〖Solution〗、〖Peruse…〗和〖Picture…〗三个命令,第五组的三个按钮依次对应【Window】菜单中的〖Send To Back〗、〖Tile〗和〖Close All〗三个命令,最后一组的两个按钮中左边的对应【Help】菜单中的〖Contents〗命令而右边的则是联机帮助按钮。这些按钮读者可自行试探,这里不再多加说明。

三、输入一个模型

我们以本章第一节的例1作为例子,来讲解其输入和计算的方法。该例的模型是

maxz=50x1+70x2,

x1+ 3x2≤18,

2x1+ x2≤16,

4x2≤20,

x1、x2≥0。

如果用户是刚打开LINDO系统,则它的一个空白的编辑窗口已经打开,其标题为“Untitled”,我们要在这个窗口中输入模型。如果用户没有找到该窗口,或者用户需要新开一个编辑窗口,则可以通过【File】菜单下的子菜单〖New〗或快捷键F2或快

捷按钮来创建一个空白的编辑窗口。

用户可以将下面的例子按以下方式输入到编辑窗口中:

MAX 50X1+70X2

ST

X1+3X2<18

2X1+X2<16

4X2<20

END

这里,第一行是目标函数,根据具体问题的要求可以是MAX或MIN;第二行的“ST”表示以下是约束条件,“ST”也可写成“SUBJECT TO”或“S.T.”等;接下来的三行是约束条件,最后一行的“END”通知LINDO模型结束。

模型输入须注意以下几点:

①目标函数必须放在模型的开始,以MAX或MIN开头,只需输入目标函数体(变量及其系数),而不要“z=…”;

②LINDO不区分字母的大小写;

③变量名应为不超过8个字符的字符串,第一个字符必须是字母,其后可以是字母、数字等字符,但不能包括空格、逗号、“+”、“—”、“*”、…等运算符;

④变量的系数放在变量之前,与变量之间可以有空格,但不能有算符,如“*”、“/”等;

⑤系数和右端常数中不能有分隔符出现,如2000不允许写成2,000或2 000等;

⑥LINDO可接受的运算符有“+”、“—”、“<”和“>”四种,其优先顺序是从左到右,不接受括号等标志优先顺序的算符,因此输入的式子必须事先经过化简,也不允许出现类似于“3X1+2X2-X1>6”的式子;

⑦只有变量及其系数能够出现在目标函数中和约束条件的左端,而只有常数能够出现在约束条件的右端;

⑧系统默认变量为非负的,因此非负的变量无需再加标识;

⑨约束条件中的“≤”和“≥”分别用“< ”和“>”代替,用户也可以写成为“<=”和“>=”。

⑩如果模型中的目标函数或约束条件较长而一行容纳不下的话,LINDO允许换行,除在变量名中间及系数和常数中间外,其他位置均可插入Enter键而换行。

此外,LINDO允许在输入的模型中插入注释。在用户需要插入注释的位置,先插入一个“!”,通知LINDO其后是注释,LINDO将把该行“!”右侧的所有字符当作注释。

在LINDO中我们还可以为约束命名,约束名要放在相应约束的左侧,名字结束后以右括号“)”标识,如

车床台时限制) X1+3X2<18

给约束命名可以增加LINDO输出的可读性。如果用户在输入模型时没给约束命名,LINDO在结果输出时将自动给第一、二、…个约束条件命名(其实是编号)为2、

3、…(LINDO总是把目标函数编号为1)。

四、模型的求解

在输入完成之后,就可以利用【Solve】菜单下的〖Solve〗子菜单或快捷键Ctrl+S 或快捷按钮进行求解。执行该命令后,系统进行计算,然后出现对话框,询问是否

要做灵敏度分析(DO RANGE(SENCITIVITY) ANALYSIS?),这里我们不作,选择No。系统然后会给出一个计算情况报告,包括解的状况、迭代次数、是否不可行、目标值、所用时间等,其余的条目我们可不关心。关闭此对话框后,可通过Windows菜单将Reports window调至前台,LINDO已将计算结果信息记录在该窗口中。本例的输出结

相关文档
最新文档