




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LINGO标准模型与编程(四(一 LINGO基本模型(二 LINGO标准模型与集合(三 LINGO的运算符与函数(一 LINGO基本模型1.从LINDO模型转向LINGO模型的差别 (14点 :(1目标函数由“MAX=”或“MIN=”开头(2约束条件没有约束标志(3系数与变量之间有运算符,“*”号不能省略(4程序行的结束标志为分号“”,目标函数行,约束行,说明注释语句行等都必须以分号结束(5约束行的提示名称放在方括号“ ”中(6模型以“MODEL:”开始,以“END”结束,虽然可以省略,为便于阅读,建议保留1/7/3.1(7 LINGO的语句顺序不重要,总是根据“MAX=”或“MIN=”语句来
2、寻找目标函数,其它语句或是约束 条件,或是注释语句,或是标题“TITLE”语句 (8限定变量取整数值的语句为“GIN(vname”, 0/1变量语句为“BIN(vname”(9 LINGO模型不区分大小写字母,变量和行名由以字母开头的字母和数字组成,不超过32个字符(10 LINGO中函数调用一律用“”开头,常见的有非负限定函数“FREE(vname”,变量取值范围限 定函数“BND(a,vname,b”2/7/3.1(11 LINGO模型允许乘号“*”和乘方“”等运算,变量也可以出现在约束的右端,数字可以出现在左端 (12语句是构成LINGO模型的基本单位,每一条语句必须以分号“”结尾,多行
3、写成的一条语句,最后以分号“”结束(13注释语句以“!”开始,以“”结束,选“File|Save”保存文件,文件名的后缀为“.lg4”(14所有基于LINDO的模型都可改为LINGO模型,并能在LINGO下运行,而且可以进一步简化.3/7/3.12. LINGO基本模型的进一步简化12个月的数据?120个月的数据?4/7/3.1(1初始数据修改不便,能否集中存放? (2约束条件必须逐一输入,不仅容易误输入,而且约 束条件数量较大时,输入不方便,也不易修改,能否 采用循环方式? 3. LINGO 模型基本模型的简化方法:5/7/3.1(3目标函数中,变量较多、项数较多时,输入和修改 都不方便,有
4、简洁的输入方式? (4构成优化问题的关键是目标函数和约束条件,而目 标函数和约束条件由变量、常量和它们构成的表 达式组成,如何改进变量和常量的表示?数据段循环语句FOR( 函数SUM( 集合.相当于数组(集合名、下标元素、属性(5能否在需要数据的时候才输入?能否将电子表格 中数据直接使用? (6能否使用数学函数计算?能否使用关系不等式?6/7/3.1(7模型中能否作条件判断?能否与数据库通讯?(8能否将其他文件中的数据调进调出?能否打印或 屏幕输出报表格式的文件?命令行输入、动态数据链接函数表达式、关系表达式条件函数IF( 、数据库链接文件的输入输出、脚本文件4.判断模型的哪些地方可以进一步简
5、化?初始数据?目标函数?用量平衡?储量约束?工地水泥用量问题LINGO模型7/7/3.1(二 LINGO的标准模型集合段数据段初始段目标与约束段1/14/3.21. LINGO标准模型说明(5点(1集合段定义集合变量及其元素与属性,若属性是常量,应在数据段输入,若属性是未知量,则应在初始段输入初值.元素的下标可用“/1n/”等附在集合名之后(2数据段主要用于输入常数元素的属性值,常数属性值之间用逗号或空格分开.如果某单个变量需要在程序运行时赋值,可在数据段使用输入语句: “vname=?”,运行时系统将等待用户输入(3初始段主要用于对集合元素变量的属性定义初值,以利于迭代算法的执行,接近最优解
6、的初值,能提 高计算的效率2/14/3.2(4目标与约束段没有明显的开始和结束标志,但是一般都会用到求和函数“SUM( ”和循环函数“FOR( ”等内部函数, LINGO会寻找“MAX”或“MIN”作为目标函数(5此外,有些模型还用到计算段,以“CALC”开始,以“ENDCALC”结束,主要用于对一些原始数据进行预处理计算,便于数据在程序中直接使用,且只能直接使用赋值语句.要注意的是,该段中语句必须按顺序执行,前面未赋值的变量不能在 后面出现。3/14/3.22. LINGO模型中的集合(1基本集合元素能够直接列举出来的集合称为基本集合,也称 为原始集合.定义格式为:集合名称/元素下标列举/:
7、元素属性(变量列表 “Quarters/1.4/:Dem,Rp,Op,Inv”该语句相当于定义了4个数组(基本集合有4个属性 For I=1.4:Dem(I, Rp(I, Op(I,Inv(IQuarters= Dem(1, Rp(1, Op(1, Inv(1,Dem(2, Rp(2, Op(2, Inv(2,Dem(3, Rp(3, Op(3, Inv(3,Dem(4, Rp(4, Op(4, Inv(4 4/14/3.2(2派生集合由2个或2个以上的基本集合派生出来的2维或多维集合称为派生集合,也称导出集合.定义格式为集合名称(基本集合1,基本集合2,/元素下标(组列举/:元素属性(变量列
8、表 Roads(City,City/ S,A1 S,A2 S,A3 /:D定义3个数组元素:D(S,A1, D(S,A2, D(S,A3等LINGO模型中定义的集合属性相当于一般程序 中的数组,如X(i,Y(i,A(i,j,B(i,j等等.5/14/3.2(3稠密集合与稀疏集合派生集合=基本集合´基本集合(基本集合的笛卡尔积如果派生集合的元素包含了所有笛卡尔积二元对 (或多元对,称这种派生集合为稠密集合如果派生集合的元素只包含部分笛卡尔积二元对 (或多元对,称这种派生集合为稀疏集合稀疏集合元素(下标数组,不是属性的定义方式:(1枚举集合的元素(下标数组(2用复合逻辑关系式过滤.SUM
9、(Pairs(J,K|J#EQ#I #OR# K#EQ#I:Match(J,K=16/14/3.2元素列表法 元素过滤法 直接列举法 隐式列举法 稠密集合稀疏集合 基本集合 派生集合3.集合类型与关系 模型集合数字型 1,2,3,4,5 1.5 字符数字型 AB1,AB2,AB3,AB4,AB5 AB1.AB5 星期型 SUN,MON,TUE,WED SUN.WED 月份型 OCT,NOV,DEC,JAN OCT.JAN元素类型 显式列举 隐式列举 7/14/3.24. LINGO模型实例练习 (1将LINGO语句展开表示,判断该如何赋值?8/14/3.2将LINGO语句展开表示,
10、判断该如何赋值? 9/14/3.2将LINGO语句展开表示,判断该如何赋值? 10/14/3.211/14/3.2 LINGO 模型示例分析与上机练习 (2SAILCO 公司接到下四个季度帆船需求量的定单 分别为40条、60条、75条、25条,需求必须按时 满足.已知公司正常生产能力为每季度40条帆船, 每条帆船的生产费用为$400,如果加班生产,每条 船的生产费用为$450.假定每个季度末,每条船的 库存费用为$20,初始库存为10条船.问如何安排 生产可使总费用最小?模型假设:设每季度正常产量、加班产量、库存量、需求量分别为x i 、y i 、z i 、d i,i =1,2,3,4. 目标
11、函数: 41 min (40045020i i i i x y z = + å 5.12/14/3.2 40,1,2,3,4i x i £= 1,1,2,3,4 i i i i i z x y d z i - =+-+=0 10 z =约束条件:公司生产能力限制: 产品量平衡方程: 模型建立: 4 1 min (40045020i i i i x y z = + å .40,1,2,3,4 i s t x i £= 1,1,2,3,4 i i i i i z x y d z i - =+-+= 0 10 z = ,1,2,3,4i i i x y z R
12、 i + Î=初始数据?定义集合?目标函数? 生产能力约束?产量平衡?13/14/3.2编写成LINGO模型(程序:定义集合目标函数产能约束产量平衡初始数据14/14/3.2(三 LINGO的运算符与命令函数1. LINGO运算符及其优先级优先级 运算符最高 #NOT#(非, (负号 (乘方* (乘法, / (除法+ (加法, (减法#EQ#, #NE#, #GE#, #LE#, #GT#, #LT#AND#(与, #OR#(或最低 > (>=, = , < (<=(同一优先级按从左到右的顺序括号“( ”内的表达式优先计算1/11/
13、3.32. LINGO内部函数(7种(1集合循环函数(5个对集合上的元素(下标进行循环操作:FOR(集合名集合索引列表|过滤条件:表达式组 对集合的每个元素(下标独立地生成表达式 当表达式为约束 时生成约束表达式.例如FOR(Pairs(I,J:BIN(MATCH(I,JFOR(Quarters(I:RP(I<=40SUM(集合名集合索引列表|过滤条件:表达式组 对集合的属性求和,返回集合上满足条件的表达式的和.如 SUM(Link(i,j:c(i,j*x(i+y(j2SUM(Quarters:400*RP+450*OP+20*INV2/11/3.3MAX(集合名集合索引列表|过滤条件:
14、表达式组 集合属性最大值函数,返回集合上满足条件的表达式的最大值. MIN(集合名集合索引列表|过滤条件:表达式组 集合属性最小值函数. (Max( 和Min( 一般使用较少PROD(集合名集合索引列表|过滤条件:表达式组 集合属性的乘积函数,返回集合上表达式的积.(2基本的数学函数对模型中的变量进行初等函数计算,如绝对值函数Abs(X,幂函数Pow(X,n,Sqr(X,Sqrt(X三角函数Cos(X,Sin(X.3/11/3.3(3集合操作函数(4个INDEX(集合名,原始集合元素INDEX(Students, LiMingIN(集合名,原始索引值1,原始索引值2, 返回集合元素在集合中的顺
15、序编号:判断集合中是否含有某个索引值,真返回1,假返回0索引 形式用“&1”,“&2”或“INDEX( ”.4/11/3.3WRAP(I,N WRAP(I,NÛ MOD(I,N+1SIZE(集合名 防止集合索引越界,等价于返回集合中所包含元素的个数.X=IN(CSet, Index(ASet, 2, Index(BSet, y(5变量定界函数(4个(4条件判断函数IF( IF(逻辑条件,真值返回,假值返回IF(X #LT# Y, 20, 0BND(L,X,U BIN(XFREE(XGIN(X ÛL<=X<=U.Û X=0 or X=1.
16、 取消X 的非负限制 限制X 为整数5/11/3.3LINGO模型示例分析与上机练习 (3某8名实习生,在生产流水线上按2人一队负责某产 品同一道工序,共分成四队.假设8名实习生两两之 间组队的工作效率如下表所示,由于对称性,只列出 上三角部分.为使工作效率最高,问应如何组队?实习生 S1 S2 S3 S4 S5 S6 S7 S8S1 9 3 4 2 1 5 6S2 1 7 3 5 2 1S3 4 4 2 9 2S4 1 5 5 2S5
17、173; 8 7 6S6 2 3S7 46/11/3.37/11/3.3设实习生编号为S i 、效率矩阵为A =(a ij 、组对 结果为m ij (0/1型整数,则如果S i 与 S j 组队成功 m ij =1,否则m ij =0. (i ,j =1,8.目标函数: 81,2( max ( ij ij i j i j a m =< ´ å 0,
18、1.jk m Î (1,1,2,3,4 jk j i k i m i = = å 或 约束条件: 某生能且只能在某一队:模型假设:要求:首先编写成基本模型,然后再简化成标准模型.LINGO标准模型:8/11/3.3(6 文件输入输出函数(2个 FILE(带路径数据文件名.后缀 引用数据文件,但不可嵌套使用, 无路径时默认为当前目录. TEXT(带路径数据文件名.后缀 将解答结果送入文件,无路径时默认为当前目录,缺文件名 时将结果送到输出设备,一般为屏幕. 其他接口函数还有“OLE(”,“ODBE(”等. (7 结果报告函数(5个 ITERS( 只能在数据段使用,返回总迭代次数,调用时无需任何参数. TEXT(=ITERS(系统将在屏幕上显示迭代次数. 9/11/3.3 NEWLINE(n 在输出设备上输出正整数n个新行, 一般n取1 NAME(变量名或行名 返回变量名或行名,用于控制输出格式 WRITE(变量或放在单引号中的字符串1 ,变量或放在单引号中的字符串n 用于控制输出格式,字符串可以是中文. 例如 DATA TEXT(=WHIT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业内部管理中的区块链技术应用
- 从数据安全到业务协同看区块链在供应中的应用价值
- 从行业视角看医疗数据安全及患者信息泄露的预防措施研究报告
- 医疗设备创新中的知识产权保护方法
- 医疗健康产业发展中的资源规划与布局
- AI技术在医疗教育中的伦理挑战与对策
- 公司出资买房合同范例
- 医疗大数据在健康管理中的价值与隐私保护的平衡
- 代理招商授权合同范例
- 亚马逊运营托管合同范例
- 人工智能原理与技术智慧树知到期末考试答案章节答案2024年同济大学
- 在线网课知慧《数智时代的商业变革(山大(威海))》单元测试考核答案
- 中外比较文学研究专题智慧树知到期末考试答案2024年
- 心脏康复护理专家共识
- CO2气体保护焊-基本操作方法(焊接技能)
- (高清版)TDT 1012-2016 土地整治项目规划设计规范
- 河南安阳的红色故事
- 基于PLC的蔬菜大棚设计
- 家政保姆护工培训课件
- 糖尿病足围手术期护理
- 乡村振兴中的乡村安全与稳定维护
评论
0/150
提交评论