当前位置:首页 > 校车安排问题
问题二
要求:考虑每个区的乘车人数,使工作人员和教师的满意度最大,建立模型,并求得n?2,3 时的结果。 1第i区人数权重Wi为:
Wi?Ri?Dk (i?1,2,?,50)
50个区的总人数T??Ri
i?1501.3 建立模型二
在模型一的基础上,建立最高满意度乘车点选择模型, 目标函数:
最大满意度 s?min(?Ri?Dk)/T
i?150其中:
dk?min{B(k,p1),B(k,p2),?,B(k,pn)}
{p1,p2,?,pn} ?{,1,2,?,50}
50T?i?1Ri
n表示选出的最高满意度下的最佳乘车点。
依据模型二,利用MATLAB软件求得结果如下(程序见附录【3】): 当n=2时:
选择的两个乘车点为19,32。满意度为0.78
选19的区域有32个:1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 44 46 47 48 49
选32的区域有18个:
13 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 45 50
当=3时:
选择的三个乘车点为15,21,32。满意度为0.83。 选15点有17个:
5 6 7 8 9 10 11 12 13 14 15 16 17 18 25 26 27
选21点有18个:
1 2 3 4 19 20 21 22 23 24 28 43 44 45 46 47 48 49
选32点有15个:
29 30 31 32 33 34 35 36 37 38 39 40 41 42 5
问题三:
根据题目要求使得教师职工尽可能的满意同时乘车站点固定的情况下:即令上面的n=3;对问题二的分析求解,已知道当选择三个乘车点时,选择15,21,32为最近乘车点。于是:
区号:5 6 7 8 9 10 11 12 13 14 15 16 17 18 25 26 27对应最近乘车点:15
区号:1 2 3 4 19 20 21 22 23 24 28 43 44 45 46 47 48 49对应最近乘车点:21
区号:29 30 31 32 33 34 35 36 37 38 39 40 41 42 50对应最近乘车点:32
由以上可知,选择15,21,32作为乘车点时的车辆数为:
而50个区的 总人数为T??Ri
i?150在15区乘车人数790,校车?790/47??1=17辆 在21区乘车人数879,校车?879/47??1=19辆 在32区乘车人数833,校车 ?839/47??1=18辆 共17+19+18=54辆
?T??Ri不管怎样至少需要安排的校车总数为:
i?150?/47(向上取整)=54(辆)
恰好是已经找到的三个乘车点需要安排的校车总数
同时满足了使教师职工尽可能的满意
问题四:
在前三问的分析与解答中,均忽略了一定的实际决策因素,如:第一问中忽略了各区的人数和校车的容量,认为各区的人数相等或者均为单位1,并且校车
的数量及可搭载量为任意;第二问中虽然考虑了人数,但仍然未考虑校车因素;第三问只照顾了教师和工作人的满意度:在保证所有人所走路程之和最小的前提下,各乘车点的小车可以任意增加,是第二问的具体化。
而实际情况下,我们的目的是使乘车人员的满意度最大,即所走路程之和最小,校车的数量或者校车所花的费用尽量少,此外,站点的建立需要费用,故数量应少,而且必然会对周围的环境产生影响,等等,实际处理时往往要综合考虑。
下面我们提出几点建议或者措施:
1、 根据实际需要,各校车的容量可以不同,因为各区的人员数量变化
不会很大或者基本上在而一个稳定的状态。这样,在2问的理想假设下,人员多的站点安排大搭载量的车,人员不足一个校车搭载量的站点,则安排较小容量的车,人员小于一个大车搭载量而大于一个小车搭载量则安排容量处于之间的,等等,这样可以减少校车的数量。
2、根据学校的教学时间表,可以得知教师及工作人员上班的人次,然后依据每天上、下午上班人数的不同,合理安排校车的发车量及发车时间. 3、
4、对于环境需求较高的地方,即使它是最大满意度点,不能建立乘车点。例如,很多实验室附近要尽量避免噪音、电磁辐射等等。 参考文献: 《运筹学》清华大学出版社 《数据结构》清华大学出版社
附录:
第一问程序: n=50;
A=zeros(n,n); for i=1:n
for j=1:n if(i==j) A(i,j)=0; else
A(i,j)=100000; end end end
%M=100000
A(1,2)=400;A(1,3)=450;A(2,4)=300;A(2,21)=230;A(2,47)=140;A(3,4)=600;
A(4,5)=210;A(4,19)=310;A(5,6)=230;A(5,7)=200;A(6,7)=320;A(6,8)=340;
A(7,8)=170;A(7,18)=160;A(8,9)=200;A(8,15)=285;A(9,10)=180; A(10,11)=150;
A(10,15)=160;A(11,12)=140;A(11,14)=130;A(12,13)=200;A(13,34)=400; A(14,15)=190;A(14,26)=190;A(15,16)=170;A(15,17)=250;A(16,17)=140; A(16,18)=130;A(17,27)=240;A(18,19)=240;A(18,25)=180;A(19,20)=140; A(19,24)=175;A(20,21)=180;A(20,24)=190;A(21,22)=300;A(21,23)=270; A(21,47)=350;A(22,44)=160;A(22,45)=270;A(22,48)=180;A(23,24)=240; A(23,29)=210;A(23,30)=290;A(23,44)=150;A(24,25)=170;A(24,28)=130; A(26,27)=140;A(26,34)=320;A(27,28)=190;A(28,29)=260;A(29,31)=190; A(30,31)=240;A(30,42)=130;A(30,43)=210;A(31,32)=230;A(31,36)=260; A(31,50)=210;A(32,33)=190;A(32,35)=140;A(32,36)=240;A(33,34)=210; A(35,37)=160;A(36,39)=180;A(36,40)=190;A(37,38)=135;A(38,39)=130; A(39,41)=310;A(40,41)=140;A(40,50)=190;A(42,50)=200;A(43,44)=260; A(43,45)=210;A(45,46)=240;A(46,48)=280;A(48,49)=200; for j=1:n
for i=1:j-1
A(j,i)=A(i,j); end end
[m,n]=size(A); B=zeros(m,n); B=A;
for kk=1:4 for i=1:n
for j=1:n for k=1:n
t=B(i,k)+B(k,j); if t
共分享92篇相关文档