ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:22.91KB ,
资源ID:17356674      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17356674.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数学建模案例Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数学建模案例Word文档下载推荐.docx

1、function route=sroute1(A) %文件名 n1=size(A,1); %求A的行数 n2=size(A,2); %求A的列数 for i=1:n1 for j=1:(n2-1) n3=max(A(i,j); %求顶点数 end W=zeros(n3,n3); %生成一个对应的零矩阵 W(A(i,1),A(i,2)=A(i,3);W(A(i,2),A(i,1)=A(i,3); %将对应顶点间的距离放在矩阵对应的位置 end n3 if(i=j) if W(i,j)=0 W(i,j)=1000; %生成对应的带权连接矩阵 n=size(W,1); %计算W的行数 W1=W(1,

2、:); for i=1:n l(i)=W1(i); %将W的第一行赋值于各顶点的起始最短距离 z(i)=1; %将前驱顶点起始的赋值为1 end for u=1:if l(i)l(u)+W(u,i) %判断两顶点之间直接距离和通过另一个顶点作为枢纽到达的距离谁更小 l(i)=l(u)+W(u,i); %取更小的那一条路线 z(i)=u; %前驱顶点在此改变 for j=2:3 / 22 W(u,j)+W(j,i)+l(u) %判断两顶点之间直接距离和通过另外两个顶点作为枢纽到达的距离谁更小 l(i)=W(u,j)+W(j,i)+l(u);z(i)=j;for q=1:l(u)+W(u,j)+W

3、(j,q)+W(q,i) %判断两顶点之间直接距离和通过另外三个顶点作为枢纽到达的距离谁更小 l(i)=l(u)+W(u,j)+W(j,q)+W(q,i);z(i)=q;l %输出最短距离 z %输出前驱顶点 A=1 2 2;1 3 8;1 4 1;2 3 6;2 5 1;3 4 7;3 5 5;3 6 1;3 7 2;4 7 9;5 6 3;5 8 9;6 7 4;6 8 6;6 9 5;7 8 5;7 9 3;8 9 5;sroute1(A) l = 0 2 7 1 3 6 9 12 11 z = 1 1 6 1 2 5 3 5 6 四、 第2题解题思路 拿到题目,我们就有个概念480千米

4、的路程由于所带食物和水有限,不可能一次到达!又得考虑到探险家的身体状况,保持健康的状态。接着我们考虑设定中转站,来回反复才能到达我们的目的地但要求出如何设定储藏点才能更节省时间呢,于是可列出公式:(1) 设置一个储藏点:xx 12C A B 探险家每次最多可携带总量为20千克的食物,每公里消耗食物1/16千克, 4 / 22 则每次携带的食物可供走320千米。最后一段最多可走320千米,于是设置一个储 藏点最近只 能是在距离终点320千米的地方,可若是这样,则x1最小是160千米, 我们可设想在160千米出设置一个储藏点,那他所带的粮食只够他与这个储藏点 来回走而不能储藏粮食,所以不能走出沙漠

5、 xx+=480; 21(2,n,1),x,d,x,d,n,a 12n为非负整数 ,x,x0; 12(2) 设置两个储藏点:x xx 312A C D B nn 12,第一段路上的消耗量+第二段将要运送量第一段实际运送量;,第二段路上的消耗量+第三段将要消耗量第二段实际运送量;可以此列出函数式并建立模型:f,(2,n,1),x,(2,n,1),x,xmin , 11223x,x,x,480s.t. , 123(2,n,1),x,d,n,a,n,a, 1121(2,n,1),x,d,x,d,n,a, 2232x,x,x,0, 123n,n取非负整数。(3) 设置三个储藏点:5 / 22 n 3x

6、 xx312D E A C B n n n 312,第二段路上的消耗量+第三段将要运送量第二段实际运送量;,第三段路上的消耗量+第四段将要消耗的量第三段实际运送量; f,(2,n,1),x,(2,n,1),x,2,(n,1),x,xmin , 1122334x,x,x,x,480s.t. , 1234(2,n,1),x,d,n,a,n,a 2232(2,n,1),x,d,x,d,n,a, 3343x,x,x,x,0, 1234nn,n取非负整数 312(4) 设置四个储藏点:xx xxx 35124A C D E B F n nnn 3124,第三段路上的消耗量+第四段将要运送量第三段实际运送

7、量;6 / 22 ,第四段路上的消耗量+第五段将要消耗量第三段实际运送量;f,(2,n,1),x,(2,n,1),x,2,(n,1),x,(2,n,1)x,xmin , 112233345x,x,x,x,x,480s.t. , 12345, (2,n,1),x,d,n,a,n,a1121(2,n,1),x,d,n,a,n,a, 3343(2,n,1),x,d,x,d,n,a, 4454x,x,x,x,x,0, 12345nnn,n取非负整数。 4312接着我们一一运行程序,先观察这些程序有什么共同点。若有共同点则较容易得多, 若没有我们在加大程序的实践量接着就运行程序,看结果。(1)设置两个储

8、藏点:D A C B 考虑到在DB段有饮用水,且需消耗5kg食物,我们可以设在D点之后无再须水源。探险家平均每公里消耗水量w,1.5/40,平均每公里消耗食物量f,1/40;,第一段路上的耗水量+第二段将要运送水量第一段实际运送水量;,第二段路上的耗水量第二段实际运送水量;,第一段路上的耗食物量+第二段将要运送食物量第一段实际运送食物量;,第二段路上的耗食物量+第三段消耗食物量第二段实际运送食物量;每次背的食物和水量都不能超过20kg。可建立模型列出公式:f,(2,n,1),x,(2,n,1),x,200min 11227 / 22 s.t. , x,x,28012, (2,n,1),x,w,

9、n,w,n,w11221(2,n,1),x,w,n,w 2222(2,n,1),x,f,n,f,n,f, 112211(2,n,1),x,f,5,n,f, 2222w,f,20, 11w,f,20 22x,x,w,w,f,f,0, 121212(2)设置三个储藏点:n nn 312根据人体饥饿情况和路上消耗的食物,保证探险家保持健康状态穿越荒漠,可列出条件:,第二段路上的耗水量+第三段将要运送水量第二段实际运送水量;,第三段路上的耗水量第二段实际运送水量;,第二段路上的耗食物量+第三段将要运送食物量第二段实际运送食物量;,第三段路上的耗食物量+第四段消耗食物量(5)第三段实际运送食物量;8 /

10、 22 f,(2,n,1),x,(2,n,1),x,(2,n,1),x,200min 112233x,x,x,280, s.t. 123(2,n,1),x,w,n,w,n,w, 112211(2,n,1),x,w,n,w,n,w 223322(2,n,1),x,w,n,w 3333(2,n,1),x,f,n,f,n,f 223322(2,n,1),x,f,5,n,f, 3333w,f,20 33x,x,x,w,w,w,f,f,f,0, 123123123nn,n取非负整数。 312五、 第2题程序清单和测试结果 fmincon:找到最小值 问题1:(1)设置一个储藏点:探险家每次最多可携带总量

11、为20千克的食物,每公里消耗食物1/16千克,则每次携带的食物可供走320千米。最后一段最多可走320千米,于是设置一个储藏点最近只能是在距离终点320千米的地方,可若是这样,则x1最小是160千米,我们可设想在160千米出设置一个储藏点,那他所带的粮食只够他与这个储藏点来回走而不能储藏粮食,所以不能走出沙漠 ,xxx/1620-/16+(20-/8)n20 211,x0; 19 / 22 (2)设置两个储藏点 function c,cep=myconl(x) %文件名 l=480;a=20;d=2.5/40; %已知条件 c=(2*x(4)-1)*x(1)*d+x(5)*a-x(4)*a;(

12、2*x(5)-1)*x(2)*d+x(3)*d-x(5)*a; %非线性不等式条件约束 cep=; %无非线性等式条件 x0=100,100,280,10,5; %给你个较合适的初值条件 A=; %无线性不等式约束 b=;Aeq=1 1 1 0 0; %线性等式约束 beq=480;lb=0 0 160 2 2 %下界 ub=160 160 320 20 10 %上界(由于x1和x2需要来回走动,所以上节是160) x,fval=fmincon(2*x(4)-1)*x(1)+(2*x(5)-1)*x(2)+x(3),x0,A,b,Aeq,beq,lb,ub,myconl) %求解最优解 War

13、ning: Large-scale (trust region) method does not currently solve this type of problem, switching to medium-scale (line search). In fmincon at 271 Optimization terminated: first-order optimality measure less than options.TolFun and maximum constraint violation is less than options.TolCon. Active ineq

14、ualities (to within options.TolCon = 1e-006):lower upper ineqlin ineqnonlin 5 3 1 2 x =53.3333 106.6667 320.0000 2.7500 2.0000 fval =880.0000 n,3.由于趟次是没有小数的,所以n1应取大于它的整数 ,增加两个约束条件 1优化: %初值 Aeq=1 1 1 0 0;0 0 0 1 0;0 0 0 0 1;beq=480;3;2; %增加线性等式约束 yconl) 调用fmincon函数得到最优解,此时为最优解 10 / 22 5 3 2 x =53.333

15、3 106.6667 320.0000 3.0000 2.0000 fval = 906.6667 %得到最优解 (3)设置三个储藏点:functionc,cep=myconl(x) %文件名 c=(2*x(5)-1)*x(1)*d+x(6)*a-x(5)*a;(2*x(6)-1)*x(2)*d+x(7)*a-x(6)*a;(2*x(7)-1)*x(3)*d+x(4)*d-x(7)*a; %非线性不等式条件约束 %无非线性等式约束 x0=50,50,100,280,3,8,5Aeq=1 1 1 1 0 0 0;lb=0 0 80 160 2 0 0ub=160 160 160 320 10 1

16、0 10 %上界 (2*x(5)-1)*x(1)+(2*x(6)-1)*x(2)+(2*x(7)-1)*x(3)+x(4),x0,A,b,Aeq,beq,lb,ub,myconl) Large-scale (trust region) method does not currently solve this type of problem, magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than

17、 options.TolCon. Active inequalities (to within options.TolCon = 1e-006):3 4 1 3 x = 39.9999 40.0001 80.0000 320.0000 2.2778 1.8333 1.5000 fval = 728.8889 n,n,nn,3,n,2,n,2,由于必须取整数,所以增加两个约束条件得到最优解。 12312311 / 22 Aeq=1 1 1 1 0 0 0;0 0 0 0 1 0 0;0 0 0 0 0 1 0;0 0 0 0 0 0 1;2;,x0,A,b,Aeq,beq,lb,ub,mycon

18、l) In fmincon at 260 2 4 2 x = 53.3333 0.0000 106.6667 320.0000 3.0000 2.0000 2.0000 fval =906.6667 最优解。(4)设置四个储藏点:function c,ceq=mycon1(x,n) %文件名 c=(2*x(6)-1)*x(1)*d+x(7)*a-x(6)*a;(2*x(7)-1)*x(2)*d+x(8)*a-x(7)*a;(2*x(8)-1)*x(3)*d+x(9)*a-x(8)*a;(2*x(9)-1)*x(4)*d+x(5)*d-x(9)*a;ceq=;fun=(2*x(6)-1)*x(1

19、)+(2*x(7)-1)*x(2)+(2*x(8)-1)*x(3)+(2*x(9)-1)*x(4)+x(5)x0=80,80,100,100,280,5,5,5,5;Aeq=1 1 1 1 1 0 0 0 0;lb=0 0 0 0 120 2 2 2 2;ub=160 160 200 200 320 20 20 10 5; %上下界 x fval=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,mycon1) 结果:In Untitled2 at 5 9 5 1 12 / 22 4 x =17.7778 17.7778 17.7778 106.6667 320.0000 2.6357 2.3984 2.1875 2.0000 fval =843.4375 nn取非负整数,所以增加线性约束条件。 由于n,n4312 %函数式 aeq=1 1 1 1 1 0 0 0 0;0 0 0 0 0 1 0 0 0;0 0 0 0 0 0 1 0 0;0 0 0 0 0 0 0 1 0;0 0 0 0 0 0 0 0 1;beq=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1