问题一

function [D,path] =f1oyd(a)
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
n=size(a,1);
D= a; path = zeros (n,n);
for i=1 :nfor j=1:nif D(i,j) ~=infpath(i,j)=j;endend
end
for k=1 :nfor i=1:nfor j=1:nif D(i,k) +D(k,j)<D(i,j)D(i,j)=D(i,k)+D(k,j) ;path(i,j)=path(i,k) ;endendend
end
% 距离转换为费用的程序
D1=D1*0.1;
%把公路最短距离换算成公路最少费用
for k=1 :300.m1 (k)={k} ;
end
for k=1 :50m2 (k)={300+k} ;m3 (k)={350+k} ;m4 (k)={400+k} ;m5 (k)={450+k} ;
end
for k=1 :100m6 (k)={500+k} ;m7 (k)={600+k} ;m8 (k)={700+k} ;m9 (k)={800+k} ;m0 (k)={900+k} ;
end
for i=1 :24.for j=1:24 %把铁路最短距离换算成铁路最少费用switch D (i,j)case 0D (i,j)=0;case m1D (i,j)=20;case m2D (i,j)=23;case m3D (i,j)=26;case m4D (i,j)=29;case m5D (i,j)=32;case m6D(i,j)=37;case m7D(i, j)=44 ;case m8D(i,j)=50;case m9D(i,j)=55 ;case m0D(i,j)=60 ;otherwiseD(i,j)=((D(i,j)-1000) /100) *5+60;endend
end%c矩阵表示七个钢管生产厂到十五个铺设节点之间的距离,先把它们都设成20000(任意一个钢管厂到任意一个铺设节点之间的距离不会超过20000),然后用for循环求出最小值 c = 20000*ones(7,15);
for i=1:7 %7个钢管生产厂for k=18:32 %15个铺设节点for j=8:24 %各7个钢管生产厂和17,个中转点,i=1,表示第一个钢管生产厂,j=8,表示第一个中转点if c(i,k-17)>D(i,j) + D1(j-7,k)c(i,k-17) = D(i,j) + D1(j-7,k);
%对于所有中转点,在铁路网和公路网上的下标相差8endendend
end
for i=1:7for k=18:32if c(i,k-17)>D(i,1)+D1 (33,k)c(i,k-17)=D(i,1)+D1 (33,k) ;
%33代表第一个钢管生产厂s1点endif c(i,k-17)>D(i,6)+D1 (34,k)c(i,k-17)= D(i, 6)+  D1(34,k) ;
%34代表第六个钢管生产厂S6点endif c(i,k-17)>D(i,7) + D1(35,k)c(i,k-17) = D(i,7) + D1(35,k) ;
%35代表第七个钢管生产厂S7点endend
%因为S1,S6,S7这三个钢管厂有公路直接连接到铺设节点,所以把这三个点单独处理.
end
D2=D2*0.1; %把公路最短距离换算成公路最少费用
for k=1 :300.m1 (k)={k} ;
end
for k=1 :50m2 (k)={300+k} ;m3 (k)={350+k} ;m4 (k)={400+k} ;m5 (k)={450+k} ;
end
for k=1 :100m6 (k)={500+k} ;m7 (k)={600+k} ;m8 (k)={700+k} ;m9 (k)={800+k} ;m0 (k)={900+k} ;
end
for i=1 :24.for j=1:24 %把铁路最短距离换算成铁路最少费用switch D(i,j)case 0D(i,j)=0;case m1D(i,j)=20;case m2D(i,j)=23;case m3D (i,j)=26;case m4D(i,j)=29;case m5D(i,j)=32;case m6D(i,j)=37;case m7D(i,j)=44 ;case m8D(i,j)=50;case m9D(i,j)=55 ;case m0D(i,j)=60 ;otherwiseD(i,j)=((D(i,j)-1000) /100) *5+60;endend
end
h = 20000*ones(7,21);
for i=1:7 %7个钢管生产厂for k=18:38 %21个铺设节点for j=8:24 %各7个钢管生产厂和17个中转点,i=1,表示第一个钢管生产厂,j=8,表示第一个中转点if ( k~=33&&k~=34&&k~=35 &&h(i,k-17)>D(i,j)+D2(j-7,k))h(i,k-17) = D(i,j) + D2(j-7,k);
%对于所有中转点,在铁路网和公路网上的下标相差8endendend
end
for i=1:7for k=18:38if h(i,k-17)>D(i,1) + D2(33,k)h(i,k-17)=D(i,1) + D2(33,k) ;
%33代表第一个钢管生产厂s1点endif h(i,k-17)>D(i,6) + D2(34,k)h(i,k-17)= D(i,6) + D2(34,k) ;
%34代表第六个钢管生产厂S6点endif h(i,k-17)>D(i,7) + D2(35,k)h(i,k-17) = D(i,7) + D2(35,k) ;
%35代表第七个钢管生产厂S7点endend
%因为S1,S6,S7这三个钢管厂有公路直接连接到铺设节点,所以把这三个点单独处理.
end
ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 20 22 23];
bb=[14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
w=[20 202 1200 690 690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];
% ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
% bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 32 19 24 31 32];ab1=[1 2 21 22 23 7 25 26 27 28 29 30 16 17 19 33 34 35];
bb1=[19 20 4 5 6 24 8 9 10 11 14 15 31 32 18 24 31 32];
w1= [3 2 600 10 5 10 12 42 70 10 10 62 30 20 104 31 110 20];ab2=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 24 31 32 34 36 36 38];
bb2=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 33 34 35 39 37 38 39];
w2=[3 2 600 10 5 10 12 42 70 10 10 62 30 20 104 31 110 20 100 130 190 260]; a=sparse(ab,bb,w);
a(24,24)=0;
a=a+a';
a= full(a);
for i=1:24for j=1:24if(a(i,j)==0&i~=j)a(i,j)=inf;endend
end
[D,path]=f1oyd(a);a1 = sparse(ab1,bb1,w1);
a1(35,35)=0;
a1=a1 +(a1)';
a1 = full(a1);
for i=1:35for j=1:35if(a1(i,j)==0&i~=j)a1(i,j)=inf;endend
end
[D1,path1]=f1oyd(a1);a2 = sparse(ab2,bb2,w2);
a2(39,39)=0;
a2=a2 +(a2)';
a2 = full(a2);
for i=1:39for j=1:39if(a2(i,j)==0&i~=j)a2(i,j)=inf;endend
end
for i=17:20a2(i,j+19) = 0;a2(i+19,j) = 0;
end
a2(21,34) = 0;
a2(34,21) = 0;
[D2,path2]=f1oyd(a2);

问题三

%h矩阵表示七个钢管生产厂到21个铺设节点之间的距离,先把它们都设成2000o(任意一个钢管厂到任意一个铺设节点之间的距离不会超过20000),然后用for 循环求出最小值

h = 20000*ones(7,21);
for i=1:7m=1;for k=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,24,27,28,29,30,34 ]for j=8:24if h(i,m)>D(i,j) +D2 (k,j+8)h(i,m)=D(i,j)+D2 (k,j+8) ;endendm=m+1 ;end
end
for i=1:7m=1 ;for k= [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,24,27,28,29,30,34]if h(i,m)>D(i,1) + D2(k,33)h(i,m)=D(i,1) + D2(k,33) ;endif h(i,m)>D(i,6) + D2(k,34)h(i,m)=D(i,6) + D2(k,34) ;endif h(i,m)>D(i,7) + D2(k,35)h(i,m)=D(i,7) + D2(k,35) ;endm = m+1 ;end
end

2000B题钢管订购和运输相关推荐

  1. 2000年数模B题 钢管订购和运输

    B 题 钢管订购和运输 解题思路 符号说明 第一问 这是一个运输规划问题,首先就是要求出第i个钢厂到第j个A地点的最小运费表如下图所示: 为了求出这个运费表,我们需要将题目中所给出的图转化成邻接矩阵的 ...

  2. 2000年 数模国赛 b题 钢管订购与运输

  3. 钢管的订购与运输matlab,2000年B题《钢管订购和运输》题目、论文、点评

    管道订购与运输问题 - E. ]& Y( J) [6 k ! D# D; t( ?1 |杨志江,李国欣,张敏,中国矿业大学数模教练组1 l0 F9 b: I5 S2 D7 q+ C : B( ...

  4. 钢管的订购与运输matlab,钢管订购和运输优化模型

    内容简介: 钢管订购和运输优化模型 摘要:本文建立一个钢管订购和运输模型,从钢厂到主管道结点的运费是影响总费用的重要因素.为使总费用最小,须使从钢厂到主管道结点的运费--钢管运输费最小.对求网络中最短 ...

  5. 生产企业原材料订购与运输的研究-数据处理课程设计

    目录 摘要 1 引言 2 规划问题说明 3 问题重述 3.1 问题分析 3.2 数据说明 3.3 模型假设 3.4 符号说明 4 实验及分析 4.1 问题一模型的建立与求解 4.2 问题二模型的建立与 ...

  6. A6.2021年全国数学建模竞赛C题分析-生产企业原材料的订购与运输

    Python小白的数学建模课-A6.2021年全国数学建模竞赛 C题分析. 2021全国大学生数学建模 赛题将于9月9日18时公布. 『Python小白的数学建模课 @ Youcans』带你从数模小白 ...

  7. 2021 年高教社杯全国大学生数学建模竞赛题目(C 题 生产企业原材料的订购与运输)

    C 题 生产企业原材料的订购与运输 某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料,总体可分为 A,B,C 三种类型.该企业每年按 48 周安排生产,需要提前制定 24 周的原 ...

  8. 2021年高教社杯全国大学生数学建模竞赛赛题C题 生产企业原材料的订购与运输 分析、思路与参考文献!!(关注持续更新!!)

    2021 年高教社杯全国大学生数学建模竞赛题目 C 题 生产企业原材料的订购与运输 某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料, 总体可分为 A,B,C 三种类型.该企业每 ...

  9. matlab钢管的订购和运输,钢管订购和运输问题

    钢管订购和运输问题 摘要:我们利用Floyd算法求出铁路网和公路网各点间最短路线,然后转 化成最少运输,去掉了铁路和公路的性质,使运输网络变成一张供需运输价格表,然后建立了一个以总费用为目标函数的非线 ...

最新文章

  1. GitHub重大更新:在线开发上线,是时候卸载IDE了
  2. 注册报名丨2021 SLT CSRC 研讨会开幕在即,有哪些看点值得关注?
  3. DA14580做主机
  4. 牛客 - Yuki with emofunc and playf(同余最短路)
  5. python全排列_全排列算法python实现
  6. c++ socket线程池_java 网络编程,Socket编程
  7. oracle开归档服务器,ORACLE RAC 启用归档
  8. zabbix常见配置集合
  9. JAVA GUI同一个窗体切换面板JPanel以及获取JFrame方法的注意事项
  10. 论文写作课程心得体会
  11. 怎样快速开发属于自己的微信小程序?
  12. 最强大脑记忆曲线(11)—— 30天结束第一轮复习后的操作
  13. 请没有买房和买车的朋友一定认真的看一下,看后再做决定吧..
  14. 网页中图片无法显示解决方法
  15. 安卓手机虚拟键盘和position:fixed问题
  16. Android--高德地图,显示地图,并定位当前的位置
  17. OpenLayers6 裁切地图(Layer Clipping)
  18. 曙光服务器安装centOS8
  19. 比ownCloud/Nextcloud更好用的免费私有企业网盘
  20. 计算机内存不能为read,电脑弹出窗口显示该内存不能为read的两种解决方法

热门文章

  1. Istio组件以及架构
  2. 半导体封装设备有哪些
  3. 使用idsdt制作生成显卡代码的dsdt文件驱动显卡
  4. 不同输入法切换的快捷键
  5. 为什么现在很多人劝自己身边的人不要学计算机?
  6. C#上位机——倒计时计时器
  7. MMsegmentation教程-Config参数解释
  8. 毕业设计 树莓派单片机墨水屏电子日历系统 - 物联网 嵌入式
  9. Python实现可以语音聊天的桌面宠物程序
  10. 用友t6服务器设置映射,能否自定义用友T6 ERP-接口字段映射设置?