lingo软件及其应用(经典).ppt
《lingo软件及其应用(经典).ppt》由会员分享,可在线阅读,更多相关《lingo软件及其应用(经典).ppt(128页珍藏版)》请在咨信网上搜索。
1、LINGO软件及其应用 2016.5.15目录1 软件平台件平台2 lingo编程程3 应用用举例例1 软件平台(1)美国芝加哥(Chicago)大学的Linus Schrage(莱纳斯.施拉盖)教授于1980年前后开发。(2)LINGO:Linear Interactive General Optimizer(线性交互式通用优化器)。(3)用来求解的优化模型(连续优化和整数规划(IP)。类型:线性规划(LP)、二次规划(QP)、非线性规划(NLP)。(4)LINGO的界面如下LINGO软件的主窗口(用软件的主窗口(用户界面),所有其他窗口户界面),所有其他窗口都在这个窗口之内都在这个窗口之内
2、。模型窗口(模型窗口(Model Window),用于输入),用于输入LINGO优化模型(即优化模型(即LINGO程序)。程序)。状态行(最左边显状态行(最左边显示示“Ready”,表,表示示“准备就绪准备就绪”)当前时间当前时间 当前光标当前光标的位置的位置 打开文件: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模
3、型图示:Ctrl+K窗口后置:Ctrl+B平铺窗口:Alt+T上下文相关的帮助(5)工具栏工具栏(6)LINGO 模型的最基本特征:l有max=(或min=)l每行后面均有一个分号“;”l系数与变量间有“*”l首行可增添:”model:”,末行增添”end”maxmax=2*x+3*y;=2*x+3*y;4*x+3*y10;4*x+3*y10;3*x+5*y12;3*x+5*y12;Globaloptimalsolutionfound.Objectivevalue:7.454545Totalsolveriterations:2VariableValueReducedCostX1.2727270
4、.000000Y1.6363640.000000RowSlackorSurplusDualPrice17.4545451.00000020.0000000.9090909E-0130.0000000.5454545 (7 7)LingoLingo的不同保存类型的不同保存类型“LG4LG4”表示表示LINGO LINGO 格式的格式的模型文件,是一种特殊的二模型文件,是一种特殊的二进制格式文件,保存了我们进制格式文件,保存了我们在模型窗口中所能够看到的在模型窗口中所能够看到的所有文本和其他对象及其格所有文本和其他对象及其格式信息,只有式信息,只有LINGO LINGO 能读能读出它,用其他系统打
5、开这种出它,用其他系统打开这种文件时会出现乱码文件时会出现乱码 “LNGLNG”表示表示LINGOLINGO文本文文本文件,以这个格式保存模型时件,以这个格式保存模型时系统系统 将给出警告,因为模将给出警告,因为模型中的格式信息(如字体、型中的格式信息(如字体、颜色等)将会丢失颜色等)将会丢失 “LDTLDT”表示数据文件表示数据文件“LTFLTF”表示表示 命令脚本文件命令脚本文件 “LGRLGR”表示表示 报告文件报告文件 除除“LG4LG4”文件外,这里的另外文件外,这里的另外几种格式的文件其实都是普通几种格式的文件其实都是普通的文本文件,可以用任何文本的文本文件,可以用任何文本编辑器打
6、开和编辑编辑器打开和编辑 运行状态窗口运行状态窗口Variables(变量数量):(变量数量):变量总数(变量总数(Total)、)、非线性变量数(非线性变量数(Nonlinear)、)、整数变量数(整数变量数(Integer)。)。Constraints(约束数量):(约束数量):约束总数(约束总数(Total)、)、非线性约束个数非线性约束个数(Nonlinear)。Nonzeros(非零系数数量):(非零系数数量):总数(总数(Total)、)、非线性项系数个数非线性项系数个数(Nonlinear)。Generator Memory Used(K)(内存使内存使用量用量)Elapsed
7、Runtime(hh:mm:ss)(求解花费的时间)(求解花费的时间)(8 8)状态窗口的参数解释状态窗口的参数解释运行状态窗口运行状态窗口求解求解器器(求求解程解程序序)状状态框态框当前模型的类型当前模型的类型:LP,QP,ILP,IQP,PILP,PIQP,NLP,INLP,PINLP(以(以I开头表示开头表示IP,以,以PI开头表示开头表示PIP)当前解的状态当前解的状态:Global Optimum,Local Optimum,Feasible,Infeasible“(不可行不可行),Unbounded“(无界无界),Interrupted“(中断中断),Undetermined“(未
8、确定未确定)解的目标函数值解的目标函数值 当前约束不满足的总量当前约束不满足的总量(不是不不是不满足的约束的个数满足的约束的个数):实数(即使实数(即使该值该值=0,当前解也可能不可行,当前解也可能不可行,因为这个量中没有考虑用上下界因为这个量中没有考虑用上下界命令形式给出的约束)命令形式给出的约束)目前为止的目前为止的迭代次数迭代次数 运行状态窗口运行状态窗口扩展扩展的求的求解器解器(求解求解程序程序)状态状态框框使用的特殊求解程序使用的特殊求解程序:B-and-B(分枝定界算法分枝定界算法)Global(全局最优求解程序全局最优求解程序)Multistart(用多个初始点求解的程序用多个初
9、始点求解的程序)目前为止找到的可行目前为止找到的可行解的最佳目标函数值解的最佳目标函数值 目标函数值的界目标函数值的界 特殊求解程序当前运行步数:特殊求解程序当前运行步数:分枝数分枝数(对对B-and-B程序程序);子问题数子问题数(对对Global程序程序);初始点数初始点数(对对Multistart程序程序)有效步数有效步数 2 lingo编程2.1 LINGO模型构成的模型构成的4个段个段(1)集合段()集合段(SETS ENDSETS)(2)数据段()数据段(DATA ENDDATA)(3)初始段()初始段(INIT ENDINIT)(4)目)目标与与约束段束段 LingoLingo的
10、编程的编程 优化问题的一种建模语言。使用者可以只用键优化问题的一种建模语言。使用者可以只用键入一行文字就可以建立起含有大规模变量的目入一行文字就可以建立起含有大规模变量的目标函数和成千上万条约束标函数和成千上万条约束 LINGOLINGO模型的构成模型的构成:4:4个段个段集合段(集合段(SETS ENDSETSSETS ENDSETS)数据段(数据段(DATA ENDDATADATA ENDDATA)初始段(初始段(INIT ENDINITINIT ENDINIT)目标与约束段目标与约束段2.2 集合段(1)集:集是一群相联系的对象(集部分是LINGO模型的一个可选部分,即一个模型可以没有集
11、部分,或有一个简单的集部分,或有多个集部分一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们,集部分以关键字“sets:”开始,以“endsets”结束(2)成员:集的对象(3)属性:集成员可能有一个或多个与之有关联的特征,称为属性(属性值可以预先给定,也可以是未知的,有待于lINGO求解)(4)集的类型集合的类型 集合集合 派生集合派生集合 基本集合基本集合 稀疏集合稀疏集合 稠密集合稠密集合 元素列表法元素列表法 元素过滤法元素过滤法 直接列举法直接列举法 隐式列举法隐式列举法setname/member_list/:attribute_list;s
12、etname(parent_set_list)/member_list/:attribute_list;SETS:CITIES/A1,A2,A3,B1,B2/;ROADS(CITIES,CITIES)/A1,B1A1,B2A2,B1A3,B2/:D;ENDSETSSETS:STUDENTS/S1.S8/;PAIRS(STUDENTS,STUDENTS)|&2#GT#&1:BENEFIT,MATCH;ENDSETS说明:集名字必须严格符合标准命名规则:以字母或下划线(_)为首字符,其后由字母(AZ)、下划线、阿拉伯数字(0,1,9)组成的总长度不超过32个字符的字符串,且不区分大小写。如果集成员
13、放在集定义中,那么对它们可采取显式罗列(必须为每个成员输入一个不同的名字,中间用空格或逗号搁开)和隐式罗列(不必罗列出每个集成员。可采用如下语法:setname/member1.memberN/:attribute_list;这里的 member1 是集的第一个成员名,memberN 是集的最末一个成员名。LINGO 将自动产生中间的所有成员名)两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们,如:!集部分;sets:students:sex,age;endsets!数据部分;data:students,sex,age=John 1 16 Jill 0 14 Rose 0
14、17 Mike 1 13;enddata集合元素的隐式列举类类型型隐隐式列式列举举格式格式示例示例示例集合的元素示例集合的元素数字型数字型1.n1.n1.51.51,2,3,4,51,2,3,4,5字符字符-数字型数字型stringM.stringNstringM.stringNCar101.car208Car101.car208Car101,car102,Car101,car102,car208car208星期型星期型dayM.dayNdayM.dayNMON.FRIMON.FRIMON,TUE,WED,MON,TUE,WED,THU,FRITHU,FRI月份型月份型monthM.month
15、NmonthM.monthNOCT.JANOCT.JANOCT,NOV,DEC,OCT,NOV,DEC,JANJAN年份年份-月份型月份型monthYearM.montmonthYearM.monthYearNhYearNOCT2001.JANOCT2001.JAN20022002OCT2001,OCT2001,NOV2001,NOV2001,DEC2001,JAN2002DEC2001,JAN20022.3 运算符的运算符的优先先级 优优优优先先先先级级级级运算符运算符运算符运算符最高最高最高最高#NOT#NOT#(负负号)号)号)号)*/*/+#EQ#EQ#相等相等相等相等#NE#NE#不
16、相等不相等不相等不相等#GT#GT#大大大大于于于于#GE#GE#大于或等于大于或等于大于或等于大于或等于#LT#LT#LE#LE#AND#OR#AND#OR#最低最低最低最低(=)(=)2.4 数据段数据段ldata:l变量量1=数据列;数据列;l变量量2=数据列;数据列;l;lEnddata例例 1sets:set1/A,B,C/:X,Y;endsetsdata:X=1,2,3;!注意属性值的个数必须等于集成员的个数。Y=4,5,6;enddata例2 有时只想为一个集的某个属性的部分成员指定值,而让该属性的其余成员的保持未知,以便让LINGO去求出它们的最优值。在数据声明中输入两个相连的
17、逗号表示该位置对应的集成员的属性值未知。两个逗号间可以有空格。sets:years/1.5/:capacity;endsetsdata:capacity=,34,20,;enddata属性capacity的第2个和第3个值分别为34和20,其余的未知2.5初始段初始段linit:l变量列量列=数据列;数据列;lEndinit说明:明:(1)初始部分输入的值仅被LINGO求解器当作初始点来用,并且仅仅对非线性模型有用。和数据部分指定变量的值不同,LINGO求解器可以自由改变初始部分初始化的变量的值。(2)初始部分的初始声明规则和数据部分的数据声明规则相同。也就是说,我们可以在声明的左边同时初始化
18、多个集属性,可以把集属性初始化为一个值,可以用问号实现实时数据处理,还可以用逗号指定未知数值。init:X,Y=0,.1;endinitY=log(X);X2+Y2=1;好的初始点会减少模型的求解时间。init:X,Y=,.1;endinitinit:X,Y=?,.1;endinit2.6 目标和约束段 目标函数 约束条件2.7 各种函数(1)常用函数lsin(x);lcos(x);ltan(x);lexp(x);llog(x);labs(x);lsmax(x);lsmin(x);lsign(x);符号函数(与数学中的符号函数一致)lfloor(x);原点方向取整(2)变量界定函数量界定函数b
19、nd(L,x,U):限定LxU;bin(x):限定x取0、1值;free(x):取消x的非负限制;gin(x):限定x为整数(general interger)(3)集合循集合循环函数函数function(setname(index_list)|condition:expression)其中function=for、max、min or sum。(4)txt文件与文件与lingo变量之量之间的数据的数据连接接file(外部文件路径文件名.txt):把外部txt文件数据传到lingo;txt(外部文件路径文件名.txt):把lingo变量数据传到外部.txt文件.sets:s/1.10/;ss(
20、s,s):x1;endsetsdata:x1=file(C:Documents and SettingsOwner桌面t.txt);enddatasets:ss/1.10/;ww(ss,ss):s;endsetsdata:text(C:Documents and SettingsOwner桌面o.txt)=s;enddata(5)Lingo与与excel的数据的数据链接接lX=ole(路径文件名.xls,范围):xls数据给了lingo的x;lole(已有的路径文件名.xls,范围)=x:把lingo中的x给了已有的excel文件。(6)集合集合处理函数理函数lin(setname,&1,&2
21、,&3):如果setname的元素包含本集合的元素值为1,否则为0。如:sets:stu/zhang,li,zhao/:s;pass/zhang,li/:p;false(stu)|#not#in(pass,&1):f;endsetsl index(setname,set_element):给出set_element在setname中的下标。如:sets:stu/zhang,li,zhao/:s;endsetsa=index(stu,li);lwrap(I,N):例如wrap(1,7)1,wrap(2,7)2,wrap(n*7,7)7,wrap(8,7)1与 而mod(n7,7)=0(n为正整数
22、),可见就是正好是倍数时二者有区别。lsize(setname):集合大小。lif(logical_condition,true_result,false_resule)3 应用举例例例1 给定一个直角三角形,求包含定一个直角三角形,求包含该三角形的最小正方形三角形的最小正方形 sets:object/1.3/:f;endsetsdata:a,b=3,4;enddataf(1)=a*sin(x);f(2)=b*cos(x);f(3)=a*cos(x)+b*sin(x);min=smax(f(1),f(2),f(3);bnd(0,x,1.57);例2 求向量5,1,3,4,6,10前5个数最小值
23、,后3个数最大值。sets:number/1.6/:x;endsetsdata:x=5134610;enddataminv=min(number(i)|i#le#5:x);!或者minv=smin(x1(1),x(2),x(3),x(4),x(5);maxv=max(number(i)|i#ge#4:x);!或者maxv=smax(x(4),x(5),x(6);end例例3 加工奶制品的生产计划加工奶制品的生产计划1桶牛奶3公斤A112小时8小时4公斤A2或获利24元/公斤获利16元/公斤50桶牛奶 时间480小时 至多加工100公斤A1 制订生产计划,使每天获利最大 35元可买到1桶牛奶,买
24、吗?若买,每天最多买多少?可聘用临时工人,付出的工资最多是每小时几元?A1的获利增加到30元/公斤,应否改变生产计划?每天:1桶牛奶3公斤A112小时8小时4公斤A2或获利24元/公斤获利16元/公斤x1桶牛奶生产桶牛奶生产A1 x2桶牛奶生产桶牛奶生产A2 获利获利 243x1 获利获利 164 x2 每天获利每天获利约束条件约束条件线性规线性规划模型划模型(LP)时间时间480小时小时 至多加工至多加工100公斤公斤A1 50桶牛奶桶牛奶 每天每天加工能力加工能力原料供应原料供应劳动时间劳动时间非负约束非负约束目标函数目标函数决策变量决策变量model:max=72*x1+64*x2;x1
25、+x250;12*x1+8*x2480;3*x1100;endGlobal optimal solution found.Objective value:3360.000 Total solver iterations:2 Variable Value Reduced Cost X1 20.00000 0.000000 X2 30.00000 0.000000 Row Slack or Surplus Dual Price 1 3360.000 1.000000 2 0.000000 48.00000 3 0.000000 2.000000 4 40.00000 0.000000模型求解与解释
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- lingo 软件 及其 应用 经典
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。