用Lingo软件编程求解规划问题幻灯片

上传人:E**** 文档编号:90113319 上传时间:2019-06-08 格式:PPT 页数:32 大小:1.34MB
返回 下载 相关 举报
用Lingo软件编程求解规划问题幻灯片_第1页
第1页 / 共32页
用Lingo软件编程求解规划问题幻灯片_第2页
第2页 / 共32页
用Lingo软件编程求解规划问题幻灯片_第3页
第3页 / 共32页
用Lingo软件编程求解规划问题幻灯片_第4页
第4页 / 共32页
用Lingo软件编程求解规划问题幻灯片_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《用Lingo软件编程求解规划问题幻灯片》由会员分享,可在线阅读,更多相关《用Lingo软件编程求解规划问题幻灯片(32页珍藏版)》请在金锄头文库上搜索。

1、用Lingo软件编程求解规划问题,刘甫 北京师范大学,什么是规划问题?,求目标函数在约束条件下的最大值或最小值的问题,统称为规划问题。 决策变量、约束条件、目标函数是线性规划的三要素. 主要解决最优生产计划、最优分配、最优设计、最优决策、最佳管理等最优化问题。,线性规划 非线性规划 实数规划 整数规划 0-1规划,例1加工奶制品的生产计划,50桶牛奶,时间480小时,至多加工100公斤A1,每天:,一奶制品加工厂用牛奶生产 A1,A2两种奶制品,1 桶牛奶可以在甲车间用12 小时加工成 3 公斤 A1,或者在乙车间用 8 小时加工成 4 公斤 A2。根据市场需求,生产的 A1,A2全部能售出,

2、且每公斤 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+64x

3、2并使之与蓝色区域有交叉,即可找到最大值。 见动画,求 的最大值?,用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 utilizin

4、g 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 disc

5、omfort. 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个段,L

6、ingo 是一个可以简洁地阐述、解决和分析复杂问题的简便工具。 其特点是程序执行速度很快,易于输入、修改、求解和分析一个数学规划问题。,Lingo软件集合,集是相联系的对象的集合,比如工厂、消费者群体、交通工具和雇工等等; 集是 LINGO 建模语言的基础,是程序设计最强有力的基本构件目标与约束段; 借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型; 集有成员和属性。,集合 派生集合 基本集合 稀疏集合 稠密集合 元素列表法 元素过滤法 直接列举法 隐式列举法,Lingo软件集合,setname /member_list/ : attr

7、ibute_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 1

8、3; 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; 过滤:l

9、inks (depot, corps) |capacity( ,Lingo软件数据段与初始段,数据段:输入集成员和数据,提供了模型相对静止部分和数据分离的可能性。 object_list = value_list; 对象列数值列;,初始段:为决策变量设置初始值。,在初始部分输入的值仅被 LINGO 求解器当作初始点来用,并且仅仅对非线性模型有用。和数据部分指定变量的值不同,LINGO求解器可以自由改变初始部分初始化的变量的值。 以“init:”开始,以“endinit”结束。初始部分的初始声明规则和数据部分的数据声明规则相同。,Lingo软件目标与约束段,四个集合循环函数:FOR、SUM 、

10、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,

11、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 技术。O

12、LE传输直接在内存中传输数据,并不借助于中间文件。,例3Lingo与Excel的连接,OLE 可以同时读集成员和集属性(读写),OLE 只能读一维或二维的 Ranges,绝对路径 ole(data.xls); 相对路径 ole(D:data.xls);,某矿厂现有6个采矿能力不同的矿厂和3个精加工能力不同的加工厂,其坐标及生产能力如表所示。现需新建一所粗加工厂,要求运输成本最低,试求出其位置。,例4工厂选址问题,非线性规划模型,某班准备从5名游泳队员中选择4人组成接力队,参加学校的4*100m混合泳接力比赛。5名队员4中用字的百米平均成绩如下表所示,问应如何让选拔队员组成接力队?,例50-1规

13、划问题,我们可以:,用穷举法:一种组合一种组合的试!,数据量大,需要时间长!,用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软件的集合、函数、语法 几个例子,加工奶制品的生产计划(线性规划) 运输问题(整数规划) 工厂选址问题(非线性规划) 游泳比赛问题(0-1规划),Thank you for your attention!,Fu Liu (刘甫) Department of Physics, Beijing Normal University Email: Website: http:/ Questions?,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号