用Lingo软件编程求解规划问题.ppt_第1页
用Lingo软件编程求解规划问题.ppt_第2页
用Lingo软件编程求解规划问题.ppt_第3页
用Lingo软件编程求解规划问题.ppt_第4页
用Lingo软件编程求解规划问题.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用Lingo软件编程求解规划问题,刘甫 北京师范大学,什么是规划问题?,求目标函数在约束条件下的最大值或最小值的问题,统称为规划问题。 决策变量、约束条件、目标函数是线性规划的三要素. 主要解决最优生产计划、最优分配、最优设计、最优决策、最佳管理等最优化问题。,线性规划 非线性规划 实数规划 整数规划 0-1规划,例1加工奶制品的生产计划,50桶牛奶,时间480小时,至多加工100公斤A1,每天:,一奶制品加工厂用牛奶生产 A1,A2两种奶制品,1 桶牛奶可以在甲车间用12 小时加工成 3 公斤 A1,或者在乙车间用 8 小时加工成 4 公斤 A2。根据市场需求,生产的 A1,A2全部能售出,且每公斤 A1获利 24 元,每公斤 A2获利 16 元。现在加工厂每天能得到 50 桶牛奶的供应,每天正式工人总的劳动时间 480 小时,并且甲车间每天至多能加工 100 公斤 A1,乙车间的加工能力没有限制。试为该厂制订一个生产计划,使每天获利最大,例1加工奶制品的生产计划,50桶牛奶,时间480小时,至多加工100公斤A1,每天:,x1桶牛奶生产A1,x2桶牛奶生产A2,获利 243x1,获利 164 x2,原料供应,劳动时间,加工能力,决策变量,目标函数,每天获利,约束条件,非负约束,线性规划模型(LP),例1加工奶制品的生产计划,求 的最大值?,改变z,即移动直线z=72x1+64x2并使之与蓝色区域有交叉,即可找到最大值。 见动画,求 的最大值?,用Lingo软件求解,Lingo结果中其它项的意思! 更多信息,例1加工奶制品的生产计划,例2军队供给问题,军队有某种先进武器302台分别放在6个补给站(depot)中,现由于战争需要,8个军团(corps)分别需要此种武器数目如表中所示,并且给出了从各补给站送一台武器到任一军团的费用,问如何运输可使成本最小?,number (i , j) n(i,j),例2军队供给问题,例2军队供给问题,用Lingo软件求解,结果,Lingo软件,LINGO Help: LINGO is a simple tool for utilizing the power of linear and nonlinear optimization to formulate large problems concisely, solve them, and analyze the solution. Optimization helps you find the answer that yields the best result; attains the highest profit, output, or happiness; or the one that achieves the lowest cost, waste, or discomfort. Often these problems involve making the most efficient use of your resourcesincluding money, time, machinery, staff, inventory, and more.,Lingo 是一个可以简洁地阐述、解决和分析复杂问题的简便工具。 其特点是程序执行速度很快,易于输入、修改、求解和分析一个数学规划问题。,Lingo软件,集合段(SETS ENDSETS) 目标与约束段 数据段(DATA ENDDATA) 初始段(INIT ENDINIT),LINGO模型的构成:4个段,Lingo 是一个可以简洁地阐述、解决和分析复杂问题的简便工具。 其特点是程序执行速度很快,易于输入、修改、求解和分析一个数学规划问题。,Lingo软件集合,集是相联系的对象的集合,比如工厂、消费者群体、交通工具和雇工等等; 集是 LINGO 建模语言的基础,是程序设计最强有力的基本构件目标与约束段; 借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型; 集有成员和属性。,集合 派生集合 基本集合 稀疏集合 稠密集合 元素列表法 元素过滤法 直接列举法 隐式列举法,Lingo软件集合,setname /member_list/ : attribute_list;,setname(parent_set_list) /member_list/: attribute_list;,Lingo软件基本集合元素的列举,setname /member_list/ : attribute_list;,sets: students/John Jill, Rose Mike/: sex, age; endsets,集成员不放在集定义中,而在随后的数据部分来定义。,sets: students:sex,age; endsets data: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; enddata,一个原始集是由一些最基本的对象组成的。,Lingo软件基本集合元素的隐式列举,Lingo软件派生集,setname(parent_set_list) /member_list/: attribute_list;,一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。,稠密集:派生集成员由父集成员所有组合构成;当成员列表被忽略时 稀疏集:其成员为父集成员所有组合构成的集合的一个子集。,如上例,显式:links (depot, corps)/d1 c2,d2 c3,d3 c6,d4 c3,d5 c1,d6 c8/:cost, number; 过滤:links (depot, corps) |capacity( ,Lingo软件数据段与初始段,数据段:输入集成员和数据,提供了模型相对静止部分和数据分离的可能性。 object_list = value_list; 对象列数值列;,初始段:为决策变量设置初始值。,在初始部分输入的值仅被 LINGO 求解器当作初始点来用,并且仅仅对非线性模型有用。和数据部分指定变量的值不同,LINGO求解器可以自由改变初始部分初始化的变量的值。 以“init:”开始,以“endinit”结束。初始部分的初始声明规则和数据部分的数据声明规则相同。,Lingo软件目标与约束段,四个集合循环函数:FOR、SUM 、 MAX、MIN function( setname ( set_index_list) | condition : expression_list);,例子:,Lingo软件目标与约束段,四个集合循环函数:FOR、SUM 、 MAX、MIN function( setname ( set_index_list) | condition : expression_list);,objective MAX = SUM( PAIRS( I, J): BENEFIT( I, J) * MATCH( I, J); FOR(STUDENTS( I): constraints SUM( PAIRS( J, K) | J #EQ# I #OR# K #EQ# I: MATCH( J, K) =1); FOR(PAIRS( I, J): BIN( MATCH( I, J); MAXB=MAX(PAIRS( I, J): BENEFIT( I, J); MINB=MIN(PAIRS( I, J): BENEFIT( I, J);,例子:,三类运算符: 算术运算符 逻辑运算符 关系运算符,Lingo软件运算符与优先级,Lingo软件函数,数学函数,Lingo软件函数,变量定界函数,例3Lingo与Excel的连接,ole函数 是从 EXCEL 中引入或输出数据的接口函数,它是基于传输的 OLE 技术。OLE传输直接在内存中传输数据,并不借助于中间文件。,例3Lingo与Excel的连接,OLE 可以同时读集成员和集属性(读写),OLE 只能读一维或二维的 Ranges,绝对路径 ole(data.xls); 相对路径 ole(D:data.xls);,某矿厂现有6个采矿能力不同的矿厂和3个精加工能力不同的加工厂,其坐标及生产能力如表所示。现需新建一所粗加工厂,要求运输成本最低,试求出其位置。,例4工厂选址问题,非线性规划模型,某班准备从5名游泳队员中选择4人组成接力队,参加学校的4*100m混合泳接力比赛。5名队员4中用字的百米平均成绩如下表所示,问应如何让选拔队员组成接力队?,例50-1规划问题,我们可以:,用穷举法:一种组合一种组合的试!,数据量大,需要时间长!,用Lingo中的0-1规划求解!,例50-1规划问题,五个人的成绩:,甲乙丙丁戊分别为队员 i=1,2,3,4,5;,记:,蝶泳、仰泳、蛙泳、自由泳分别为泳姿 j=1,2,3,4;,记队员i的第j种泳姿的百米最好成绩为 Cij, 并将成绩以秒为单位列出为:,例50-1规划问题,五个人的成绩:,引入0-1变量Xij,表示队员i是否参加了第j种泳姿的比赛,即,目标:使其最小,那么,混合泳接力比赛的成绩就可以表示为:,Xij只能为0或1 每一个人最多只能入选四种泳姿之一: 每种泳姿必须有一人而且只能有1人入选 :,例50-1规划问题,五个人的成绩:,变量Xij满足的约束条件为:,例50-1规划问题,最终问题:,问题求解:,Lingo8.0软件求解,调用excel表中的数据。,Summary,规划问题 Lingo软件的集合、函数、语法 几个例子,加工奶制品的生产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论