lingo使用方法

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

第三章 LINGO软件使用入门

LINGO是美国LINDO系统公司开发的一套专门用于求解最优化问题的软件.它为求解最优化问题提供了一个平台,主要用于求解线性规划、非线性规划、整数规划、二次规划、线性及非线性方程组等问题.它是最优化问题的一种建模语言,包含有许多常用的函数供使用者编写程序时调用,并提供了与其他数据文件的接口,易于方便地输入,求解和分析大规模最优化问题,且执行速度快.由于它的功能较强,所以在教学、科研、工业、商业、服务等许多领域得到了广泛的应用.

§3.1 LINGO操作界面简介

在Windows操作系统下启动LINGO软件,屏幕上首先显示如图1.1所示的窗口.

图1.1

图1.1中最外层的窗口是LINGO软件的主窗口(LINGO软件的用户界面),所有其他窗口都在这个窗口之内.主窗口有:标题栏、菜单栏、工具栏和状态栏.目前,状态栏最左边显示的是“Ready”,表示准备就绪,右下角显示的是当前时间,时间前面是当前光标的位置“Ln 1,Col 1”(即1行1列).将来用户可以用选项命令(LINGO|Options|Interface菜单命令)决定是否需要显示工具栏和状态栏.

LINGO有5个主菜单:

●File(文件)

●Edit(编辑)

●LINGO(LINGO系统)

●Windows(窗口)

●Help(帮助)

这些菜单的用法与Windows下其他应用程序的标准用法类似,下面只对主菜单中LINGO

系统的主要命令进行简要介绍.

LINGO系统(LINGO)的主菜单

●LINGO|Solve(Ctrl-S)

LINGO|Solve(Ctrl-S)(求解)命令对当前模型进行编译并求解.如果当前模型输入有错误,编译时将报告错误.求解时会显示一个求解器运行状态窗口.

●LINGO|Solution(Ctrl-O)

LINGO|Solution(Ctrl-O)(解答)命令显示当前解.

●LINGO|Range(Ctrl-R)

LINGO|Range(Ctrl-R)(灵敏度分析)命令显示当前解的灵敏度分析结果.(你必须在此之前求解过当前模型)

●LINGO|Options(Ctrl-I)

LINGO|Options(Ctrl-I)(选项)命令将打开一个含有7个选项卡的对话框窗口,你可以通过它修改LINGO系统的各种控制参数和选项.修改完以后,你如果单击“应用”按钮,则新的设置马上生效;如果单击“OK”按钮,则新的设置马上生效,并且同时关闭该窗口;如果单击“Save”按钮,则将当前设置变为默认设置,下次启动LINGO时这些设置仍然有效;如果单击“Default”按钮,则恢复LINGO系统定义的原始默认设置;如果单击“Cancel”按钮将废弃本次操作,退出对话框;单击“Help”按钮将显示本对话框的帮助信息.

●LINGO|Generate和LINGO|Picture

LINGO|Generate和LINGO|Picture命令都是在模型窗口下才能使用,他们的功能是按照LINGO模型的完整形式分别以代数表达式形式和矩阵图形形式显示目标函数和约束.

●LINGO|Debug(Ctrl+D)

LINGO|Debug(Ctrl+D)命令分析线性规划无解或无界的原因,建议如何修改

●LINGO|Model Statistics(Ctrl+E)

LINGO|Model Statistics(Ctrl+E)命令显示当前模型的统计信息.

●LINGO|Look(Ctrl+L)

LINGO|Look(Ctrl+L)命令显示当前模型的文本形式,显示时对所有行按顺序编号.图1.2给出了工具栏的简要功能说明.

图1.2

当前光标所在的窗口(窗口标题栏上标有“LINGO Model-LINGO1”),就是模型窗口(model windows),也就是用于输入LINGO优化模型(即LINGO程序)的窗口.

§3.2 LINGO模型的基本特征

LINGO模型(程序)从LINGO模型窗口输入,它以语句“MODEL:”开始,以语句“END”结束.它是由一系列语句组成,每个语句都是以分号“;”结束,语句是组成LINGO模型的基本单位.每行可以写多个语句,为了保持模型的可读性,最好一行只写一个语句,并且按照语句之间的嵌套关系对语句安排适当的缩进,增强层次感.以感叹号“!”开始的语句是注释语句(注释语句也需要以分号“;”结束).

LINGO模型(程序)一般由5个部分(或称5段)组成:

(1)集合段(SETS):这部分要以“SETS:”开始,以“ENDSETS”结束,作用在于定义必要的集合变量(SET)及其元素(member,含义类似于数组的下标)和属性(attribute,含义类似于数组).格式有基本集和派生集两种.

基本集:

Setname(集合变量名)[/member_list(元素列表)/][:attribute_list(属性列表)];

元素列表可以全部一一列出,也可以用格式“/元素1..元素N/”列出,例如

SETS:

STUDENTS/1,2,3,4,5/:NAME,AGE;

ENDSETS

SETS:

STUDENTS/1..5/:NAME,AGE;

ENDSETS

派生集:

Setname(parent_set_list(源集列表))[/member_list/][:attribute_list];

例如

SETS:

PRODUCT/A B/;

MACHINE/M N/;

WEEK/1..2/;

ALLOWED( PRODUCT,MACHINE,WEEK);

ENDSETS

列表可以用逗号“,”分开,也可以用空格分开.

(2)数据段(DATA):这部分要以“DATA:”开始,以“ENDDATA”结束,作用在于对集合的属性(数组)输入必要的常数数据.格式为:

相关文档
最新文档