《lido软件的使用》ppt课件.ppt
102页数学规划建模与LINDO/LINGO软件,LINDO 公司软件产品简要介绍,美国芝加哥(Chicago)大学的Linus Schrage教授于1980年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:,LINDO: Linear INteractive and Discrete Optimizer LINGO: Linear INteractive General Optimizer LINDO API: LINDO Application Programming Interface,演示(试用)版、学生版、高级版、超级版、工业版、扩展版… (求解问题规模和选件不同),建模时需要注意的几个基本问题,1、尽量使用实数优化,减少整数约束和整数变量 2、尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等 3、尽量使用线性模型,减少非线性约束和非线性变量的个数 (如x/y 5 改为x5y) 4、合理设定变量上下界,尽可能给出变量初始值 5、模型中使用的参数数量级要适当 (如小于103),LINDO和LINGO能求解的数学规划模型,,LINGO,LINDO,数学规划模型,线性规划 (LP),非线性规划 (NLP),二次规划 (QP),,,,连续规划,整数规划(IP),,,,,,一、 LINDO软件的基本使用方法,以下介绍的软件软件是 LINDO 6.1 for Windows试用版,安装过程中,用户只需要按照程序给出的提示,一步一步走下去,直到安装成功为止。
第一次运行刚安装的LINDO软件时,系统会弹出一个对话框,要求你输入密码(Password)如果你买的是正版软件,请在密码框中输入LINDO公司给你提供的密码,然后按“OK” 按钮即可否则,你只能使用演示版(即试用版),按下“Demo Version(演示版)” 按钮即可编写一个简单的LINDO程序,例1 简单的线性规划(LP)问题:,在空白的模型窗口中输入这个LP模型:,max 2x+3y st 4x+3y=10 3x+5y12 end,如图:,LINDO程序有以下特点:,★ 程序以“MAX”(或“MIN”)开始,表示目标最大化(或最小化)问题,后面直接写目标函数表达式和约束表达式; ★ 目标函数和约束之间用“ST”分开; (或用“s.t.”,“sunject to”) ★ 程序以“END”结束( “END” 也可以省略) ★ 系数与变量之间的乘号必须省略 ★ 系统对目标函数所在行自动生成行名“1)”,对约束默认的行名分别是“2)” “3)”…,用户也可以自己输入行名;行名放在对应的约束之前 ★ 书写相当灵活,不必对齐,不区分字符的大小写 ★ 默认所有的变量都是非负的, 所以不必输入非负约束。
★ 约束条件中的“=”可分别用“”代替 ★ 一行中感叹号“!”后面的文字为是注释语句,可增强程序的可读性,不参与模型的建立模型求解:,用鼠标点击工具栏中的图标 , 或从菜单中选择Solve|Solve(Ctrl+S)命令,LINDO首先开始编译这个模型,编译没有错误则开始求解; 求解时会首先显示如右图所示的LINDO “求解器运行状态窗口 ”求解器运行状态窗口显示的相应信息及含义:,紧接着弹出一对话框,询问你是否需要做灵敏性分析(DO RANGE (SENSITIVITY) ANALYSIS? )先选择“否(N)”按钮,这个窗口就会关闭然后,再把状态窗口也关闭报告窗口,用鼠标选择“Window | Reports Window”(报告窗口), 就可以查看该窗口的内容,输出结果表示的意思是:,“LP OPTIMUM FOUND AT STEP2” 表示单纯形法在两次迭代(旋转)后得到最优解OBJECTIVE FUNCTION VALUE 1) 7.454545 ” 表示最优目标值为7.454545.(注意:在LINDO中目标函数所在的行总是被认为是第1行,这就是这里“1)”的含义)。
VALUE” 给出最优解中各变量(VARIABLE)的值: X =1.272727, Y =1.636364.,“REDUCED COST” 给出最优的单纯形表中目标函数行(第1行)中变量对应的系数.,“SLACK OR SURPLUS(松驰或剩余)” 给出约束对应的松驰变量的值: 第2、3行松驰变量均为0, 说明对于最优解来讲,两个约束(第2、3行)均取等号,即都是紧约束DUAL PRICES” 给出对偶价格(或影子价格)的值:表示最优解下“资源”增加1单位时“效益”的增量 第2、3行对偶价格分别为 .090909,.545455 “NO. ITERATIONS= 2” 表示用单纯形法进行了两次迭代保存文件,选择File|Save(F5)命令把“结果报告”保存在一个文件中(缺省的后缀名为LTX,即LINDO文本文件) 类似地,回到模型窗口,可以把输入的模型保存在一个文件中保存的文件将来可以用File | Open(F3)和File | View(F4)重新打开,用前者打开的程序可以进行修改,而后者只能浏览如果模型有错误,运行时会弹出出错信息报告窗口(LINDO Error Message),则需要修改模型。
二、 LINDO模型的一些注意事项,1. 变量名由字母和数字组成,但必须以字母开头,且长度不能超过8个字符,不区分大小写字母,包括关键字(如MAX、MIN等)也不区分大小写字母2. 对目标函数和约束用行号(行名)进行标识,这些标识会在将来的求解结果报告中用到 行名可以和变量名一样命名,也可以只用数字命名,还可以含有中文字符,但长度同样不能超过8个字符 为了方便将来阅读求解结果报告,建议用户总是自觉地对每个约束进行命名 行名结束标志符号、即右括号“)”必须是英文字符,否则会出现错误3. 可以用“TITLE”语句对输入的模型命名,用法是在TITLE后面写出其名字(最多72个字符,可以有汉字),在程序中单独占一行,可以在模型的任何地方 模型命名的第一个作用类似于对模型的注释和说明 模型命名的另一个目的,是为了方便将来阅读求解结果报告因为用户有可能同时处理多个模型,很容易混淆模型与求解结果的对应关系这时如果对不同模型分别进行了命名,就可以随时(例如在求解当前模型前)使用菜单命令“FILE|TITLE”将当前模型的名字显示在求解结果报告窗口中,这样就容易判别每个求解结果与每个模型的对应关系4. 模型中以感叹号“!” 开头的是注释行(注释语句,或称为说明语句),可以帮助他人或以后自己理解这个模型。
实际上,每行中“!”符号后面的都是注释或说明注释语句中可以使用汉字字符 5. 变量不能出现在一个约束条件的右端(即约束条件的右端只能是常数);变量与其系数间可以有空格(甚至回车),但不能有任何运算符号(包括乘号*等)6. 模型中不接受括号“( )”和逗号“,”等符号(除非在注释语句中) 例如: 4(X1+X2)需写为4X1+4X2;“10,000”需写为100007. 表达式应当已经经过化简 如不能出现2X1 + 3X2 - 4X1,而应写成 -2X1 + 3X2等8. LINDO 中已假定所有变量非负若要取消变量的非负假定,可在模型的“END”语句后面用命令“FREE”例如,在“END”语句后输入FREE vname,可将变量vname的非负假定取消9. 数值均衡化考虑:如果约束系数矩阵中各非零元的绝对值的数量级差别很大(相差1000倍以上),则称其为数值不均衡的为了避免数值不均衡引起的计算问题, 使用者应尽可能自己对矩阵的行列进行均衡化此时还有一个原则, 即系数中非零元的绝对值不能大于100000 或者小于0.0001LINDO 不能对LP 中的系数自动进行数值均衡化,但如果LINDO 觉得矩阵元素之间很不均衡, 将会给出警告。
10. 简单错误的检查和避免: 输入模型时可能会有某些输入错误. 当问题规模较大时, 要查找错误是比较困难的在LINDO 中有一些可帮助寻找错误的功能,其中之一就是菜单命令“Report | Picture(Alt+5)” , 它的功能是可以将目标函数和约束表达式中的非零系数通过列表(或图形)显示出来例2 菜单命令“Report | Picture(Alt+5)” 的功能,用Report | Picture命令,将弹出一个对话框,在弹出的对话框中采用缺省选项(即不采用下三角矩阵形式,并以图形方式显示),直接按“OK”按钮可得到一个输出图形可以从图中很直观地发现,其实错误原因只不过是在输入5)行的表达式中C0与CO弄混了(英文字母O与数字0弄混了)在图中,还可以用鼠标控制显示图形的缩放,这对于规模较大的模型是有用的MIN 5 A0 +6 A1 +2 A2 +4 B0 +3 B1 +7 B2 +2 C0 +9 C1 +8 C2 A0 +Al +A2 =8 3) SUBJECT TO 2) B0 +B1 +B2 =9 4) C0 +C1 +C2 =6 5) A0 +B0 +CO =6 6) A1 +B1 +C1 =5 7) A2 +B2 +C2 =9 END,对如下的一个有错误的模型输入:,Lingo是一个目前求解非线性规划的常用软件包,同时它也能够求解线性规划,但是,如果将Lingo用于求解线性规划,则其计算速度要比只能求解线性规划的软件Lindo慢得多。
因此,如果专门求解线性规划,而且自变量个数或者限定条件较多,请使用Lindo.,三、 LINGO软件的基本使用方法,LINGO软件简介,目标与约束段 集合段(SETS ENDSETS) 数据段(DATA ENDDATA) 初始段(INIT ENDINIT),,,LINGO模型的构成:4个段,LINGO模型的优点,包含了LINDO的全部功能 提供了灵活的编程语言(矩阵生成器),安装文件20M多一点,需要接受安装协议、选择安装目录(缺省C:\LINGO9)LINGO软件的安装,安装过程: 与LINDO for Windows类似.,安装完成前,在出现的对话框(如图)中选择缺省的建模(即编程)语言,系统推荐的是采用LINGO安装后可通过“LINGO|Options|File Format”命令修改缺省的建模(即编程)语言第一次运行时提示输入授权密码,如图:,安装完成后,启动Lingo, 你会看到如下窗口:,命令窗口,,,求解按钮,,将求解内容填入窗口后,按求解按钮,则得到计算结果.,LINGO软件的主要特色,两种命令模式,Windows模式: 通过下拉式菜单命令驱动LINGO运行(多数菜单命令有快捷键,常用的菜单命令有快捷按钮),图形界面,使用方便;,命令行 模式:仅在命令窗口(Command Window)下操作,通过输入行命令驱动LINGO运行 。
从LINDO 到 LINGO,LINGO 9.0功能增强,性能稳定,解答结果可靠与LINDO相比,LINGO 软件主要具有两大优点:,内置建模语言,允许以简练、直观的方式描述较大规模的优化问题,所需的数据可以以一定格式保存在独立的文件中除具有LINDO的全部功能外,还可用于求解非线性规划问题,包括非线性整数规划问题;,一个简单的LINGO程序,例 直接用LINGO来解如下二次规划问题:,,输入窗口如下:,程序语句输入的备注:,LINGO总是根据“MAX=”或“MIN=”寻找目标函数,而除注释语句和TITLE语句外的其他语句都是约束条件,因此语句的顺序并不重要 限定变量取整数值的语句为“@GIN(X1)”和“@GIN(X2)”,不可以写成“@GIN(2)”,否则LINGO将把这个模型看成没有整数变量 LINGO中函数一律需要以“@”开头,其中。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


