您好,欢迎访问三七文档
LINGO软件(1)美国芝加哥(Chicago)大学的LinusSchrage(莱纳斯.施拉盖)教授于1980年前后开发。(2)LINGO:LinearInteractiveGeneralOptimizer(线性交互式通用优化器)。(3)用来求解的优化模型(连续优化和整数规划(IP))。类型:线性规划(LP)、二次规划(QP)、非线性规划(NLP)。LINDO/LINGO软件能求解的模型优化线性规划非线性规划二次规划连续优化整数规划LINDOLINGO学习LINGO需掌握的方面LINGO:LinearInteractiveGeneralOptimizer(V12.0)求解数学规划问题MinZ=f(x)s.txD(Rn)需要掌握:软件操作基本语法结构掌握集合(SETS)的应用正确阅读求解报告正确理解求解状态窗口学会设置基本的求解选项(OPTIONS)•LINGO软件的主窗口(用户界面),所有其他窗口都在这个窗口之内。•模型窗口(ModelWindow),用于输入LINGO优化模型(即LINGO程序)。•状态行(最左边显示“Ready”,表示“准备就绪”)•当前时间•当前光标的位置LINGO软件界面LINGO软件菜单——FILE1.新建(New)单击“新建”按钮或直接按F2键可以创建一个新的“Model”窗口。在这个新的“Model”窗口中能够输入所要求解的模型。2.打开(Open)单击“打开”按钮或直接按F3键可以打开一个已经存在的文本文件。这个文件可能是一个Model文件。3.保存(Save)单击“保存”按钮或直接按F4键用来保存当前活动窗口(最前台的窗口)中的模型结果、命令序列等保存为文件。4.另存为...(SaveAs...)“另存为...”命令或按F5键可以将当前活动窗口中的内容保存为文本文件,其文件名为你在“另存为...”对话框中输入的文件名。利用这种方法你可以将任何窗口的内容如模型、求解结果或命令保存为文件。5.关闭(Close)在文件菜单中选用“关闭”(Close)命令或按F6键将关闭当前活动窗口。如果这个窗口是新建窗口或已经改变了当前文件的内容,LINGO系统将会提示是否想要保存改变后的内容6.打印(Print)“打印”(Print)命令、单击“打印”按钮或直接按F7键可以将当前活动窗口中的内容发送到打印机7.打印设置(PrintSetup...)“打印设置...”命令或直接按F8键可以将文件输出到指定的打印机。8.打印预览(PrintPreview)“打印预览...”命令或直接按Shift+F8键可以进行打印预览。9.输出到日志文件(LogOutput...)从文件菜单中选用“LogOutput...”命令或按F9键打开一个对话框,用于生成一个日志文件,它存储接下来在“命令窗口”中输入的所有命令。10.提交LINGO命令脚本文件(TakeCommands...)“TakeCommands...”命令或直接按F11键就可以将LINGO命令脚本(commandscript)文件提交给系统进程来运行。11.引入LINGO文件(ImportLingoFile...)从文件菜单中选用“ImportLingoFile...”命令或直接按F12键可以打开一个LINGO格式模型的文件,然后LINGO系统会尽可能把模型转化为LINGO语法允许的程序。12.退出(Exit)从文件菜单中选用“Exit”命令或直接按F10键可以退出LINGO系统。LINGO软件菜单——EIDT1.恢复(Undo)从编辑菜单中选用“恢复”(Undo)命令或按Ctrl+Z组合键,将撤销上次操作、恢复至其前的状态。2.剪切(Cut)从编辑菜单中选用“剪切”(Cut)命令或按Ctrl+X组合键可以将当前选中的内容剪切至剪贴板中。3.复制(Copy)从编辑菜单中选用“复制”(Copy)命令、单击“复制”按钮或按Ctrl+C组合键可以将当前选中的内容复制到剪贴板中。4.粘贴(Paste)从编辑菜单中选用“粘贴”(Paste)命令、单击“粘贴”按钮或按Ctrl+V组合键可以将粘贴板中的当前内容复制到当前插入点的位置。5.粘贴特定..(PasteSpecial。。)与上面的命令不同,它可以用于剪贴板中的内容不是文本的情形.6.全选(SelectAll)从编辑菜单中选用“SelectAll”命令或按Ctrl+A组合键可选定当前窗口中的所有内容。7.匹配小括号(MatchParenthesis)从编辑菜单中选用“MatchParenthesis”命令、单击“MatchParenthesis”按钮或按Ctrl+P组合键可以为当前选中的开括号查找匹配的闭括号。8.粘贴函数(PasteFunction)从编辑菜单中选用“PasteFunction”命令可以将LINGO的内部函数粘贴到当前插入点。LINGO软件菜单——LINGO1.求解模型(Slove)从LINGO菜单中选用“求解”命令、单击“Slove”按钮或按Ctrl+S组合键可以将当前模型送入内存求解。2.求解结果...(Solution...)从LINGO菜单中选用“Solution...”命令、单击“Solution...”按钮或直接按Ctrl+O组合键可以打开求解结果的对话框。这里可以指定查看当前内存中求解结果的那些内容。3.灵敏性分析(Range,Ctrl+R)用该命令产生当前模型的灵敏性分析报告:研究当目标函数的费用系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。灵敏性分析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认是不激活的。为了激活灵敏性分析,运行LINGO|Options…,选择GeneralSolverTab,在DualComputations列表框中,选择PricesandRanges选项。灵敏性分析耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。4.选项...(Options...)从LINGO菜单中选用“Options...”命令、单击“Options...”按钮或直接按Ctrl+I组合键可以改变一些影响LINGO模型求解时的参数。该命令将打开一个含有7个选项卡的窗口,你可以通过它修改LINGO系统的各种参数和选项。5.模型通常形式...(Generate...)从LINGO菜单中选用“Generate...”命令或直接按Ctrl+G组合键可以创建当前模型的代数形式、LINGO模型或MPS格式文本。6.图片(Picture)7.调试(Debug)8.模型统计(ModelStatistics)6.查看...(Look...)从LINGO菜单中选用“Look...”命令或直接按Ctrl+L组合键可以查看全部的或选中的模型文本内容。LINGO软件菜单——WINDOW1.命令行窗口(OpenCommandWindow)从窗口菜单中选用“OpenCommandWindow”命令或直接按Ctrl+1可以打开LINGO的命令行窗口。在命令行窗口中可以获得命令行界面,在“:”提示符后可以输入LINGO的命令行命令。2.状态窗口(StatusWindow)从窗口菜单中选用“StatusWindow”命令或直接按Ctrl+2可以打开LINGO的求解状态窗口。3.回到模型窗口(SentToBack)Ctrl+B4.关闭所有窗口(CloseAll)Ctrl+35.并行放置窗口(Tile)Ctrl+46.层叠放置窗口(Cascade)Ctrl+57.放置图标(ArrangeIcons)Ctrl+6LINGO软件菜单——HELP1.帮助主题(HelpMenu)从帮助菜单中选用“HelpMenu”可以打开LINGO的帮助文件。2.注册信息(Register)填写注册信息。2.自动更新(AutoUptate)自动升级。2.关于LINGO(AboutLingo)关于当前LINGO的版本信息等。打开文件:F3打印文件:F7复制:Ctrl+C取消操作:Ctrl+Z查找:Ctrl+F显示解答:Alt+O匹配括号:Ctrl+P选项设置:Ctrl+I关闭所有窗口:Alt+X在线帮助:F1新建文件:F2保存文件:F4剪切:Ctrl+X粘贴:Ctrl+V恢复操作:Ctrl+Y定位某行:ctrl+T求解模型:Ctrl+S模型图示:Ctrl+K窗口后置:Ctrl+B平铺窗口:Alt+T上下文相关的帮助LINGO软件工具栏“LG4”表示LINGO格式的模型文件,是一种特殊的二进制格式文件,保存了我们在模型窗口中所能够看到的所有文本和其他对象及其格式信息,只有LINGO能读出它,用其他系统打开这种文件时会出现乱码“LNG”表示LINGO文本文件,以这个格式保存模型时系统将给出警告,因为模型中的格式信息(如字体、颜色等)将会丢失“LDT”表示数据文件“LTF”表示命令脚本文件“LGR”表示报告文件除“LG4”文件外,这里的另外几种格式的文件其实都是普通的文本文件,可以用任何文本编辑器打开和编辑LINGO软件文件保存类型Variables(变量数量):变量总数(Total)、非线性变量数(Nonlinear)、整数变量数(Integer)。Constraints(约束数量):约束总数(Total)、非线性约束个数(Nonlinear)。Nonzeros(非零系数数量):总数(Total)、非线性项系数个数(Nonlinear)。GeneratorMemoryUsed(K)(内存使用量)•ElapsedRuntime(hh:mm:ss)(求解花费的时间)LINGO软件运行状态窗口的参数解释LINGO软件运行状态窗口的参数解释求解器(求解程序)状态框当前模型的类型:LP,QP,ILP,IQP,PILP,PIQP,NLP,INLP,PINLP(以I开头表示IP,以PI开头表示PIP)当前解的状态:GlobalOptimum,LocalOptimum,Feasible,Infeasible“(不可行),Unbounded“(无界),Interrupted“(中断),Undetermined“(未确定)解的目标函数值当前约束不满足的总量(不是不满足的约束的个数):实数(即使该值=0,当前解也可能不可行,因为这个量中没有考虑用上下界命令形式给出的约束)目前为止的迭代次数•运行状态窗口扩展的求解器(求解程序)状态框使用的特殊求解程序:B-and-B(分枝定界算法)Global(全局最优求解程序)Multistart(用多个初始点求解的程序)目前为止找到的可行解的最佳目标函数值目标函数值的界特殊求解程序当前运行步数:分枝数(对B-and-B程序);子问题数(对Global程序);初始点数(对Multistart程序)有效步数主要内容LINGO软件简介LINGO建模语言(集合、运算符和函数等)LINGO编程实例露天矿生产的车辆安排一个简单的LINGO程序例直接用LINGO来解如下二次规划问题:40,322100..123.02779821212122212121为整数xxxxxxtsxxxxxxMax输入窗口如下:目标函数约束条件变量取整每个语句以“;”结束顺序无关程序:eg1.lg4输出结果:运行菜单命令“LINGO|Solve”最优整数解X=(35,65)最大利润=11077.5一个简单的LINGO程序例1SAILCO公司需要决定下四个季度的帆船生产量。下四个季度的帆船需求量分别是40条,60条,75条,25条,这些需求必须按时满足。每个季度正常的生产能力是40条帆船,每条船的生产费用为400美元。如果加班生产,每条船的生产费用为450美元。每个季度末,每条船的库存费用为20美元。假定生产提前期为0,初始库存为10条船。如何安排生产可使总费用最小?4,3,2,1)}(20)(450)(400{MINIIINVIOPIRPRP()40,1,2,3,4II4,3,2,1),()()()1()(IIDEMIOPIRP
本文标题:lingo教程.
链接地址:https://www.777doc.com/doc-5243565 .html