数学建模Lingo求解动态规划二.ppt

数学建模Lingo求解动态规划二.ppt

ID:49163025

大小:1.08 MB

页数:15页

时间:2020-01-31

数学建模Lingo求解动态规划二.ppt_第1页
数学建模Lingo求解动态规划二.ppt_第2页
数学建模Lingo求解动态规划二.ppt_第3页
数学建模Lingo求解动态规划二.ppt_第4页
数学建模Lingo求解动态规划二.ppt_第5页
资源描述:

《数学建模Lingo求解动态规划二.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1实验二、Lingo求解优化问题一.目的1.使学生掌握运用Lingo求解最短路问题的方法;2.使学生掌握运用Lingo求解运输问题的方法;3.使学生掌握运用Lingo求解分配问题的方法;4.使学生掌握运用Lingo求解动态规划问题的方法;二.内容与步骤1.集操作函数Lingo提供了几个函数帮助处理集(1)@in(set_name,primitive_index_1[,primitive_index_2,…])如果元素在指定集中,返回1;否则返回0。sets:I/x1..x4/;B(I)/x2/;C(I)

2、#not#@in(B,&1):;endsets例:全集为I,B是

3、I的一个子集,C是B的一个补集。(

4、)来标记一个成员资格过滤器的开始&1可看作派生集的第1个原始父集的索引,它取遍该原始父集的所有成员;(2)@index([set_name,]primitive_index_element)该函数返回在集中原始集成员primitive_index_element的索引。如果被忽略,则Lingo将返回与primitive_index_element匹配的第一个原始集成员的索引。如果找不到,则产生一个错误。例:如何确定集成员(B,Y)属于派生集S3.sets:S1/ABC/;S2/XYZ/;S3(S1,S2)/AX,AZ,BY,CX/;

5、EndsetsX=@in(S3,@index(S1,B),@index(S2,Y));看下面的例子,表明有时为@index指定集是必要的!例:sets:girls/debble,sue,Alice/;boys/bob,joe,sue,fred/;EndsetsI1=@index(sue);I2=@index(boys,sue);注:I1的值是2,I2的值是3。建议在使用@index函数时最好指定集。(3)@wrap(index,limit)该函数返回j=index-k*limit,其中k是一个整数,取适当值保证j落在区间[1,limit]内。该函数相当于index模再

6、加1。该函数在循环、多阶段计划编制中特别有用。(4)@size(set_name)该函数返回集set_name成员个数。在模型中明确给出集大小时最好使用该函数。它的使用使模型更加数据中立,集大小改变时也更易维护。例1求下图的最短路.1234567197672662.运用Lingo软件求解最短路问题8编制程序如下:model:sets:p/1..6/:f;r(p,p)/1,21,32,32,43,43,54,54,65,6/:d;Endsetsdata:d=791766276;Enddataf(@size(p))=0;@for(p(i)

7、i#lt#(@size(p):f

8、(i)=@min(r(i,j):d(i,j)+f(j)));end用动态规划方法求解。定义是由点出发至终点的最短路程,由最优化这是一个函数方程,用LINGO可以方便的解决。原理可得若左边的运算符严格小于右边的运算符3.Lingo函数求解运输问题——一般运输问题使用Lingo软件编制程序基于产大于销或产销平衡的模型:即:.则运输问题的数学模型为:例2计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。运价产地B1B2B3B4B5B6B7B8产量A16267425960A24953858255A35219743351A47673927143A52395726541

9、A65522814352销量3537223241324338单位销地11使用LINGO软件,编制程序如下:model:!6发点8收点运输问题;!集合部分;sets:warehouses/wh1..wh6/:capacity;vendors/v1..v8/:demand;links(warehouses,vendors):cost,volume;endsets!目标函数;min=@sum(links:cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I):volume(I,J))=demand(J));!产量约束;@f

10、or(warehouses(I):@sum(vendors(J):volume(I,J))<=capacity(I));!这里是数据;data:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;Enddataend4.Lingo函数求解分配问题给n个人分配n项工作以获得某个最高总效果的问题第i个人完成第j项工作需要平均时间为数学模型:例3现有7项工作A、B、C、D、E、F、G,需要分配给甲、乙、丙、丁、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。