Lingo求解运输问题课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Lingo求解运输问题课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Lingo 求解 运输 问题 课件
- 资源描述:
-
1、(Linear Interactive General Optimizer)LINGO简介简介LINGO(Linear Interactive General Optimizer)是用来求解线性和非线性优化问题的简易工具。是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用便地表达大规模问题,利用LINGO高效的求解器可高效的求解器可快速求解并分析结果。快速求解并分析结果。0,6002100350.32min212112121xxxxxxxtsxx例例1 1 如何在如何在LINGOLINGO中求
2、解如下的中求解如下的LPLP问题:问题:min=2*x1+3*x2;x1+x2=350;x1=100;2*x1+x2=600;然后点击工具条上的按钮然后点击工具条上的按钮 即可。即可。在模型窗口中输入如下代码:在模型窗口中输入如下代码:例例2 直接用直接用LINGO来解如下二次规划问题:来解如下二次规划问题:40,322100.123.02779821212122212121为整数xxxxxxtsxxxxxxMax输入窗口如下:输入窗口如下:程序语句输入的备注:程序语句输入的备注:LINGO总是根据总是根据“MAX=”或或“MIN=”寻找目标函数,而除注寻找目标函数,而除注释语句和释语句和TI
3、TLE语句外的其他语句都是约束条件,因此语句的语句外的其他语句都是约束条件,因此语句的顺序并不重要顺序并不重要。限定变量取整数值的语句为限定变量取整数值的语句为“GIN(X1)”和和“GIN(X2)”,不可以写成不可以写成“GIN(2)”,否则,否则LINGO将把这个模型看成没有将把这个模型看成没有整数变量。整数变量。LINGO中函数一律需要以中函数一律需要以“”开头,其中整型变量函数开头,其中整型变量函数(BIN、GIN)和上下界限定函数()和上下界限定函数(FREE、SUB、SLB)与)与LINDO中的命令类似。而且中的命令类似。而且0/1变量函数是变量函数是BIN函函数。数。LINGO的
4、基本用法的几点注意事项的基本用法的几点注意事项 LINGO中不区分大小写字母;变量和行名可以超过中不区分大小写字母;变量和行名可以超过8个字符,个字符,但不能超过但不能超过32个字符,且必须以字母开头。个字符,且必须以字母开头。用用LINGO解优化模型时已假定所有变量非负解优化模型时已假定所有变量非负(除非用限定变量取除非用限定变量取值范围的函数值范围的函数free或或sub或或slb另行说明另行说明)。变量可以放在约束条件的右端变量可以放在约束条件的右端(同时数字也可放在约束条件的左同时数字也可放在约束条件的左端端)。但为了提高。但为了提高LINGO求解时的效率,应尽可能采用线性表达求解时的
5、效率,应尽可能采用线性表达式定义目标和约束式定义目标和约束(如果可能的话如果可能的话)。语句是组成语句是组成LINGO模型的基本单位模型的基本单位,每个语句都以分号结尾,编每个语句都以分号结尾,编写程序时应注意模型的可读性。例如:一行只写一个语句,按照写程序时应注意模型的可读性。例如:一行只写一个语句,按照语句之间的嵌套关系对语句安排适当的缩进,增强层次感。语句之间的嵌套关系对语句安排适当的缩进,增强层次感。以感叹号开始的是说明语句以感叹号开始的是说明语句(说明语句也需要以分号结束说明语句也需要以分号结束)。LINGO模型最基本的组成要素模型最基本的组成要素 一般来说,一般来说,LINGO中建
6、立的优化模型可以由五个部分组成,或中建立的优化模型可以由五个部分组成,或称为五称为五“段段”(SECTION):):(1 1)集合段()集合段(SETSSETS):):以以“SETS:”开始,开始,“ENDSETS”结束,定义必要的集合变量(结束,定义必要的集合变量(SET)及其元素()及其元素(MEMBER,含义类似于数组的下标)和属性(含义类似于数组的下标)和属性(ATTRIBUTE,含义类似于,含义类似于数组)。数组)。基本集合的定义语法基本集合的定义语法 基本集合的定义格式为基本集合的定义格式为(方括号方括号“”中的内容是可选项中的内容是可选项,可以没可以没有有):setname/me
7、mber_list/:attribute_list;类型隐式列举格式示例示例集合表示的元素数字型1.n1.51,2,3,4,5字符-数字型stringM.stringNCar101.car208Car101,car102,car208日期(星期)型dayM.dayNMON.FRIMON,TUE,WED,THU,FRI月份型monthM.monthNOCT.JANOCT,NOV,DEC,JAN年份-月份型monthYearM.monthYearNOCT2001.JAN2002OCT2001,NOV2001,DEC2001,JAN2002 setname/member_list/:attribut
8、e_list;其中其中setname为定义的集合名,为定义的集合名,member_list为元素列表,为元素列表,attribute_list为属性列表。元素列表可以采用显式列举法为属性列表。元素列表可以采用显式列举法(即直即直接将所有元素全部列出接将所有元素全部列出,元素之间用逗号或空格分开元素之间用逗号或空格分开),也可以采也可以采用隐式列举法,隐式列举法可以有几种不同格式。用隐式列举法,隐式列举法可以有几种不同格式。(2 2)目标与约束段)目标与约束段:目标函数、约束条件等,没有段的开:目标函数、约束条件等,没有段的开始和结束标记,因此实际上就是除其它四个段始和结束标记,因此实际上就是除
9、其它四个段(都有明确的段都有明确的段标记标记)外的外的LINGO模型。模型。这里一般要用到这里一般要用到LINGO的内部函数,尤其是与集合相关的的内部函数,尤其是与集合相关的求和函数求和函数SUM和循环函数和循环函数FOR等。等。(3 3)数据段)数据段(DATA)(DATA):以:以“DATA:”开始开始,“ENDDATA”结束,结束,对集合的属性对集合的属性(数组数组)输入必要的常数数据。输入必要的常数数据。格式为:格式为:“attribute(属性属性)=value_list(常数列表常数列表);”常数列表常数列表(value_list)中数据之间可以用逗号中数据之间可以用逗号“,”分开
10、,也可以用分开,也可以用空格分开空格分开(回车等价于一个空格回车等价于一个空格)。(4 4)初始段)初始段(INIT)(INIT):以:以“INIT:”开始,开始,“ENDINIT”结束,结束,对集合的属性对集合的属性(数组数组)定义初值定义初值(因为求解算法一般是迭代算法,因为求解算法一般是迭代算法,所以用户如果能给出一个比较好的迭代初值,对提高算法的计所以用户如果能给出一个比较好的迭代初值,对提高算法的计算效果是有益的算效果是有益的)。如果有一个接近最优解的初值,对如果有一个接近最优解的初值,对LINGO求解模型是有帮求解模型是有帮助的。定义初值的格式为:助的。定义初值的格式为:“attr
11、ibute(属性)(属性)=value_list(常数列表);(常数列表);”这与数据段中的用法是类似的。这与数据段中的用法是类似的。(5 5)计算段)计算段(CALC)(CALC):以:以“CALC:”开始,开始,“ENDCALC”结结束,对一些原始数据进行计算处理。束,对一些原始数据进行计算处理。在实际问题中,输入的数据通常是原始数据,不一定能在模在实际问题中,输入的数据通常是原始数据,不一定能在模型中直接使用,可以在这个段对这些原始数据进行一定的型中直接使用,可以在这个段对这些原始数据进行一定的“预预处理处理”,得到模型中真正需要的数据。,得到模型中真正需要的数据。逻辑运算符逻辑运算符运
展开阅读全文