【精品】lingo(可编辑.ppt
《【精品】lingo(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】lingo(可编辑.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Lingo1.Lingo简介n n美国芝加哥大学的美国芝加哥大学的Linus SchrageLinus Schrage教授于教授于19801980年年开发了一套求解优化问题的软件包,后经过不断开发了一套求解优化问题的软件包,后经过不断完善和扩充,成立了完善和扩充,成立了LINDOLINDO系统公司(系统公司(LINDO LINDO System Inc.System Inc.)进行商业化运作,取得巨大的成)进行商业化运作,取得巨大的成功。功。n n该公司的产品有该公司的产品有LindoLindo、LingoLingo、Lindo APILindo API和和WhatWhat s bests b
2、est!,在最优化软件市场中占有绝对!,在最优化软件市场中占有绝对优势。优势。LingoLingo是该公司最主要的软件,它的主要是该公司最主要的软件,它的主要功能是求解功能是求解大型线性大型线性、非线性非线性和和整数规划整数规划问题。问题。n n财富财富杂志全球杂志全球500500强企业中,有一半以上的强企业中,有一半以上的企业在使用该公司产品,前企业在使用该公司产品,前2525强企业中,有强企业中,有2323家家在使用该公司产品。在使用该公司产品。Trial Version Capacities:ConstraintsConstraintsVariablesVariablesIntegerI
3、ntegerVariablesVariablesNonlinearNonlinearFormulasFormulasGlobalGlobalVariablesVariablesClassicLINDOClassicLINDO1501503003003030N/AN/AN/AN/ALINDOAPILINDOAPI150150300300303030305 5LINGOLINGO150150300300303030305 5WhatsWhatsBest!Best!150150300300303030305 51.Lingo简介 Lingo分为Demo(试用版)、Solve Suite(求解包)、S
4、uper(高级版)、Hyper(超级版)、Industrial(工业版)、Extended(扩展版)等六种不同版本,只有Demo版是免费的。不同版本的区别在于求解问题的规模不同,规模越大售价也越贵。n n不同版本不同版本lingolingo的求解规模:的求解规模:版本类型版本类型总变量数总变量数整数变量数整数变量数非线性变量数非线性变量数约束数约束数试用版试用版30030030303030150150求解包求解包50050050505050250250高级版高级版2000200020020020020010001000超级版超级版8000800080080080080040004000工业版工
5、业版320003200032003200320032001600016000扩展版扩展版无限无限无限无限无限无限无限无限n n说明:说明:可以登录可以登录下载试用版下载试用版 通过通过“Help|AboutHelp|About”查看版本求解规模限制查看版本求解规模限制Lingo与Lindo的比较n nLindoLindo与与LingoLingo都是都是LINDOLINDO系统公司开发的专门用系统公司开发的专门用于求解最优化问题的软件包。与于求解最优化问题的软件包。与LindoLindo相比,相比,LingoLingo软件主要具有两大优点:软件主要具有两大优点:n n(1 1)除具有)除具有LI
6、NDOLINDO的全部功能外,还可用于求的全部功能外,还可用于求解非线性规划问题,包括非线性整数规划问题。解非线性规划问题,包括非线性整数规划问题。n n(2 2)LINGOLINGO包含了内置的建模语言,允许以简包含了内置的建模语言,允许以简练、直观的方式描述较大规模的优化问题,模型练、直观的方式描述较大规模的优化问题,模型中所需的数据可以以一定格式保存在独立的文件中所需的数据可以以一定格式保存在独立的文件中。中。优化模型整数优化连续优化线性优化二次优化非线性优化LINDOLINGOLINDO和LINGO能求解的优化模型n n 后缀后缀“ldtldt”表示表示LINGOLINGO数据文件;数
7、据文件;n n 后缀后缀“ltfltf”表示表示LINGOLINGO命令脚本文件;命令脚本文件;n n 后缀后缀“lgrlgr”表示表示LINGOLINGO报告文件;报告文件;n n 后缀后缀“mpsmps”表示表示MPSMPS(数(数学规划系统)格式的模型文学规划系统)格式的模型文件;件;n n“*.*.*”表示所有文件。表示所有文件。后缀“lg4”表示LINGO格式的模型文件,是一种特殊的二进制格式文件,保存了我们在模型窗口中能够看到的所有文件和其他对象及其格式信息,只有LINGO能读出它,用其他系统打开这种文件时会出现乱码;后缀“lng”表示文本格式的模型文件,并且以这个格式保存模型时L
8、INGO将给出警告,因为模型中的格式信息(如字体、颜色、嵌入对象等)将会丢失;LINDO格式的模型文件 2.Lingo的基本用法先通过一个简单的例子来看Lingo的基本用法:n n例2.1 某工厂有两条生产线,分别生产M和P两种产品,其利润分别为200元/个和300元/个,生产线最大生产能力分别为每日100和120.生产线生产一个M和P分别需要1和2个劳动日,每天可供利用的劳动日为160个。假设原材料等不受限制,问应如何安排生产计划,才能获得最大利润。n n解:设两种产品的生产量分别为解:设两种产品的生产量分别为x1x1和和x2x2,则该问题的数学,则该问题的数学模型为:模型为:LingoLi
9、ngo中的模型求解程序为:中的模型求解程序为:Model:Model:Title:LingoTitle:Lingo模型示例模型示例;OBJ Max=200*x1+300*x2;!OBJ Max=200*x1+300*x2;!目标函数目标函数;X1=100;!X1=100;!约束条件约束条件;X2=120;X2=120;X1+2*x2=160;X1+2*x2=160;EndEnd求解结果:求解结果:全局最优解(全局最优解(100100,3030),目标值:),目标值:2900029000n n通过上面的例子,我们可以总结出通过上面的例子,我们可以总结出LingoLingo的基本的基本用法和一些语
10、法规则:用法和一些语法规则:目标函数的最大值和最小值分别用目标函数的最大值和最小值分别用“max=max=”和和“min=min=”来表示;来表示;每个语句必须以分号每个语句必须以分号“;”结束,每行可以有多个语句,结束,每行可以有多个语句,语句可以跨行;语句可以跨行;变量名称必须以字母(变量名称必须以字母(A-ZA-Z)开头,可以由字母、数字)开头,可以由字母、数字和下划线组成,且不区分大小写;和下划线组成,且不区分大小写;可以给语句加上标号,例如可以给语句加上标号,例如 OBJ MAX=200*x1+300*x2OBJ MAX=200*x1+300*x2;以以“!”开头,以开头,以“;”结
11、束的语句是注释语句;结束的语句是注释语句;LingoLingo默认所有变量都非负;默认所有变量都非负;LingoLingo模型以模型以“MODEL:MODEL:”开头,以开头,以”ENDEND”结束。对于结束。对于比较简单的模型,这两个语句可以省略。比较简单的模型,这两个语句可以省略。运算符优先级优先级 运算符运算符Highest#NOT#-(negation)Highest#NOT#-(negation)*/*/+-+-#EQ#NE#GT#GE#LT#LE#EQ#NE#GT#GE#LT#LE#AND#OR#AND#OR#LowestLowest =(=()算术运算符:算术运算符:*/+-*/
12、+-逻辑运算符逻辑运算符:a a)#AND#OR#NOT#AND#OR#NOT#逻辑值之间逻辑值之间b b)#EQ#NE#GT#GE#LT#EQ#NE#GT#GE#LT#LE#LE#数与数之间数与数之间a a)、)、b b)运算结果都是逻辑值)运算结果都是逻辑值关系运算符:关系运算符:=(=()数与数之间,表示优化模型的数与数之间,表示优化模型的约束条件约束条件练习题n n例例2.2 2.2 基金的优化使用基金的优化使用(20012001年数学建模竞赛年数学建模竞赛C C题)题)假设某校基金会得到一假设某校基金会得到一笔数额为笔数额为MM万元的基金,打万元的基金,打算将其存入银行,校基金会算将
13、其存入银行,校基金会计划在计划在n n年内每年用部分本年内每年用部分本息奖励优秀师生,要求每年息奖励优秀师生,要求每年的奖金额相同,且在的奖金额相同,且在n n年末年末仍保留原基金数额。银行存仍保留原基金数额。银行存款税后年利率如下表所示:款税后年利率如下表所示:存期存期1 1年年2 2年年3 3年年5 5年年税后年税后年利率利率%1.81.82.162.162.5922.5922.882.88 校基金会希望获得最佳校基金会希望获得最佳的基金使用计划,以提高每的基金使用计划,以提高每年的奖金额,请在年的奖金额,请在M=5000M=5000万元,万元,n=5n=5年的情况下设计年的情况下设计具体
14、存款方案。具体存款方案。n n解:n年末仍保留基金数额M,实际上n年中发放的奖金总额全部来自利息。若全部基金都存为1年定期,每年都用到期利息发放奖金,则每年奖金数为5000*0.018=90万元,这是没有优化的方案。n n显然,两年后的使用的款项应当存成两年定期,比存两次一年定期收益高,以此类推。目标是合理分配基金的存款方案,使得n年的利息总额最多。n n定义 收益比a=(本金+利息)/本金n n于是,存于是,存2 2年的收益比为年的收益比为a2=1+2.16%*2=1.043a2=1+2.16%*2=1.0432.2.计算得各存款年限的收计算得各存款年限的收益比如下表所示:益比如下表所示:存
15、期年存期年限限1 1年年2 2年年3 3年年4 4年年(3+13+1方式)方式)5 5年年最优收最优收益比益比1.0181.0181.0431.0432 21.0771.07776761.0971.09715968159681.1441.144n n经分析得到两点结论:经分析得到两点结论:一次性存成最长期,一次性存成最长期,优于两个较短期的组优于两个较短期的组合(中途转存);合(中途转存);当存款年限需要组合当存款年限需要组合时,收益比与组合的时,收益比与组合的先后次序无关。先后次序无关。n n模型建立:把总基金模型建立:把总基金MM分成分成5+15+1份,分别用份,分别用x1x6x1x6表示
16、,其中表示,其中x1x5x1x5分别存成分别存成1515年定期,到期后本年定期,到期后本息合计用于当年发放奖金,息合计用于当年发放奖金,x6x6存存5 5年定期,到期后的年定期,到期后的 本息等于原基金总数本息等于原基金总数MM。用。用S S表示每年奖励师生的奖表示每年奖励师生的奖金额,用金额,用aiai表示第表示第i i年的最优收益比。约束条件有年的最优收益比。约束条件有3 3个,个,(1 1)各年度奖金额相等;()各年度奖金额相等;(2 2)基金总数为)基金总数为MM;(3 3)n n年末保留原基金总额年末保留原基金总额MM。于是模型如下:。于是模型如下:n n用Lingo软件求解,令M=
17、5000,编制程序如下:Max=S;Max=S;1.018*x1=S;1.018*x1=S;1.0432*x2=S;1.0432*x2=S;1.07776*x3=S;1.07776*x3=S;1.07776*1.018*x4=S;1.07776*1.018*x4=S;1.144*x5=S;1.144*x5=S;1.144*x6=M;M=5000;1.144*x6=M;M=5000;x1+x2+x3+x4+x5+x6=M;x1+x2+x3+x4+x5+x6=M;求解结果3.在LINGO中使用集合n n虽然通过直接输入也可以建立lingo模型,但当遇到复杂问题的时候建立模型可能不够简练,不便于输入
18、,不便于修改,可读性也差。使用集合的概念可以使用较少的语句简单有效地表达比较复杂的问题,建立简练的模型。n n集合语法:以“SETS:”开始,以“ENDSETS”结束。例例 3.1 SAILCO公司需要决定下四个季度的帆船生产量。下四个季度的帆船需求量分别是40条,60条,75条,25条,这些需求必须按时满足。每个季度正常的生产能力是40条帆船,每条船的生产费用为400美元。如果加班生产,每条船的生产费用为450美元。每个季度末,每条船的库存费用为20美元,假定生产提前期为0,初始库存为10条船。如何安排生产可使总费用最小?DEMDEM需求量,需求量,RPRP正常生产的产量,正常生产的产量,O
19、POP加班加班生产的产量,生产的产量,INVINV库存量库存量 约束条件主要有:能力限制RP(I)40,I=1,2,3,4 产品数量的平衡方程 INV(I)INV(I1)RP(I)OP(I)DEM(I),INV()10;变量的非负约束Lingo优化模型集合属性求解结果Lingo模型的基本要素(1 1)集合段()集合段(SETSSETS)(2 2)目标与约束段)目标与约束段(3 3)数据段()数据段(DATADATA):):作用在于对集合的属性(数作用在于对集合的属性(数 组)输入必要的常数数据。格式为:组)输入必要的常数数据。格式为:attribute(attribute(属性属性)=valu
20、e_list()=value_list(常数列表常数列表););常数列表(常数列表(value_listvalue_list)中数据之间可以用逗号)中数据之间可以用逗号“,”分分开,也可以用空格分开(回车的作用也等价于一个空开,也可以用空格分开(回车的作用也等价于一个空格)格)“变量名变量名=?;=?;”运行时赋值运行时赋值(4 4)初始段()初始段(INITINIT)赋初值赋初值(5 5)计算段()计算段(CALCCALC)预处理预处理 集合的不同类型及其关系集合派生集合基本集合稀疏集合稠密集合元素列表法元素过滤法直接列举法隐式列举法练习n n3.2 3.2 运输问题运输问题 某公司有某公司
21、有6 6个仓库,存货量分别为个仓库,存货量分别为6060,5555,5151,4343,4141,52.52.现有现有8 8个客户各要一批货,数量分别为个客户各要一批货,数量分别为3535,3737,2222,3232,4141,3232,4343,38.38.各仓库到各客户的单位运输各仓库到各客户的单位运输费用如下表。试确定调运方案,使得运输费用最小。费用如下表。试确定调运方案,使得运输费用最小。V1V1V2V2V3V3V4V4V5V5V6V6V7V7V8V8W1W16 62 26 67 74 42 25 59 9W2W24 49 95 53 38 85 58 82 2W3W35 52 21
22、 19 97 74 43 33 3W4W47 76 67 73 39 92 27 71 1W5W52 23 39 95 57 72 26 65 5W6W65 55 52 22 28 81 14 43 3n n解:令xij表示从第i个仓库到第j个客户的运量,cij表示从第i个仓库到第j个客户的单位运价,ai表示第i个仓库的最大供货量,dj表示第j个客户的订货量。LINGO程序model:model:sets:sets:wh/w1.w6/:ai;vd/v1.v8/:dj;wh/w1.w6/:ai;vd/v1.v8/:dj;links(wh,vd):c,x;links(wh,vd):c,x;ends
23、etsendsetsdata:data:ai=60,55,51,43,41,52;dj=35,37,22,32,41,32,43,38;ai=60,55,51,43,41,52;dj=35,37,22,32,41,32,43,38;c=6,2,6,7,4,2,5,9c=6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3;5,5,2
24、,2,8,1,4,3;enddataenddatamin=sum(links(i,j):c(i,j)*x(i,j);min=sum(links(i,j):c(i,j)*x(i,j);for(wh(i):sum(vd(j):x(i,j)=ai(i);for(wh(i):sum(vd(j):x(i,j)=ai(i);for(vd(j):sum(wh(i):x(i,j)=dj(j);for(vd(j):sum(wh(i):x(i,j)=dj(j);endend求解结果n n计算结果表明:目标函数最优值计算结果表明:目标函数最优值664664,最优调运,最优调运方案如下表所示:方案如下表所示:V1V1
25、V2V2V3V3V4V4V5V5V6V6V7V7V8V8合计合计W1W1191941416060W2W21 132323333W3W3111140405151W4W45 538384343W5W534347 74141W6W6222227273 35252合计合计353537372222323241413232434338384敏感性分析n n敏感性分析的作用是给出敏感性分析的作用是给出“Ranges in which the Ranges in which the basis is unchangedbasis is unchanged”,即研究当目标函数的系数,即研究当目标函数的系数和约束
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 lingo 编辑
限制150内