1、论文题目: 关于校车安排问题的数学建模姓名 张克彬专业 电气学院电气信息类班级 10 级 16 班学号 3110080016272关于校车安排问题的数学建模摘 要:校车的安排问题涉及到的问题很广泛,其中包括最短距离问题,资源最优配置问题,最短时间问题等等。这些问题关系到教师们的满意和运营商的利益,是应该认真考虑的。关于第一题,主要涉及最短路程问题。我们需要在 50 个小区中选出 n 个点作为乘车点,然后计算并比较得出每个小区到这 n 个乘车点的最短距离,之后确定该小区所属的最近乘车点和之间的距离,将 50 个小区与其所属的最近乘车点的距离相加得路程和,一共应该有 C50n种方案。比较各种方案的
2、路程和,和最小的就是应对应建立的点的位置。关于第二题,和问题一相似,也是一个求最小路程和的问题,解法基本相同。不同之处在于考虑人数以后,应该用每个小区与所属的最近乘车点的距离与该小区的人数做乘积,并用所得积相加,得出的为最短路程。关于第三题,是安排车次的问题。第二题中已经计算出乘车点为 3 个时乘车点应设立在对应的三个小区,易算出每个乘车点应承担的乘客量,由此计算出没个乘车点应派多少辆车运行。 (不足一辆车的乘客时应派一辆车)关于第四题,矛盾主要集中在教师和工作人员都希望随到随走,而运营商又希望每一辆车都有尽可能多的上座率,由此来降低运营成本,同时运营商的做法也是一个关乎节约资源保护环境的问题
3、。解决这个矛盾应该合理调整发车时间与学校作息时间的关系(春夏季与秋冬季采用不同的发车时刻表) ,在淡季采用区间车集中乘客,在高峰期与淡季采用不同载客量的汽车,与附近学校协商采用不同的作息时间并共同采购利用部分汽车等等具体方法。校车安排问题采用数学方法同时也应该考虑实际情况,是一个典型的数学应用的问题。关键词:最短路程 人数 车辆安排 Floyd 算法 MATLAB31.问题的提出许多学校都建有新校区,常常需要将老校区的教师和工作人员用校车送到新校区。由于每天到新校区的教师和工作人员很多,往往需要安排许多车辆。如何有效的安排车辆及让教师和工作人员尽量满意是个十分重要的问题。现有如下问题请你设计解
4、决。假设老校区的教师和工作人员分布在 50 个区,各区的距离见表 1。各区人员分布见表 2。问题 1:如要建立 个乘车点,为使各区人员到最近乘车点的距离最小,该n将校车乘车点应建立在哪 个点。建立一般模型,并给出 时的结果。 2,3n问题 2:若考虑每个区的乘车人数,为使教师和工作人员满意度最大,该将校车乘车点应建立在哪 个点。建立一般模型,并给出 时的结果。 ,问题 3 若建立 3 个乘车点,为使教师和工作人员尽量满意,至少需要安排多少辆车?给出每个乘车点的位置和车辆数。设每辆车最多载客 47 人(假定车只在起始站点载人) 。问题 4;关于校车安排问题,你还有什么好的建议和考虑。可以提高乘车
5、人员的满意度,又可节省运行成本。表 1 各区距离表区域号 区域号 距离(m)1 2 4001 3 4502 4 3002 21 2302 47 1403 4 6004 5 2104 19 3105 6 2305 7 2006 7 3206 8 3407 8 1707 18 1608 9 20048 15 2859 10 18010 11 15010 15 16011 12 14011 14 13012 13 20013 34 40014 15 19014 26 19015 16 17015 17 25016 17 14016 18 13017 27 24018 19 20418 25 1801
6、9 20 14019 24 17520 21 18020 24 19021 22 30021 23 27021 47 35022 44 16022 45 27022 48 18023 24 24023 29 21023 30 29023 44 15024 25 17024 28 13026 27 140526 34 32027 28 19028 29 26029 31 19030 31 24030 42 13030 43 21031 32 23031 36 26031 50 21032 33 19032 35 14032 36 24033 34 21035 37 16036 39 18036
7、40 19037 38 13538 39 13039 41 31040 41 14040 50 19042 50 20043 44 26043 45 21045 46 24046 48 28048 49 2006表 2 各区人员分布区域 人数 区域 人数1 65 26 162 67 27 943 42 28 184 34 29 295 38 30 756 29 31 107 17 32 868 64 33 709 39 34 5610 20 35 6511 61 36 2612 47 37 8013 66 38 9014 21 39 4715 70 40 4016 85 41 5717 12
8、42 4018 35 43 6919 48 44 6720 54 45 2021 49 46 1822 12 47 6823 54 48 7224 46 49 7625 76 50 622.模型的假设及符号说明2.1 模型的假设1假设未给出距离的两个区可以通过其他区间接到达。2每位教师及工作人员均选择最短路径乘车。3乘车点均建在各区内,不考虑区与区之间。4. 教师及工作人员到各站点乘车的满意度与到该站点的距离有关系,距离近则满意度高,距离远则满意度低。75. 假设任意时刻任意站点均有车,不考虑教师及工作人员的等车时间。6. 在乘车点区内的人员乘车距离为零。7. 根据实际情况,我们假设所设置的乘
9、车点数不大于 50。8. 假设所有人员均乘车。9. 假设每辆车只载一次人。10. 假设汽车中途不再载人。11. 假设每辆车的型号一致。 12. 假设每个乘车点的乘车人数固定不变。2.2 符号说明P(i)(1i50)小区的编号Q(j)(1j50)个乘车点中的第 j 个乘车点nL(ij) 小区 P(i) (1i50)到乘车点 Q(j) (1j50)的最短路程M (i) 小区到 P(i) (1i50)达 n 个乘车点中距离各自最近的乘车点的最短路程S(n) 各小区到达 n 个乘车点中距离各自最近的乘车点的最短路程之和D (n) 各小区到达 n 个乘车点中距离最短的距离与该小区人数乘积的路程之和N(i
10、) 表示在小区 P(i) (1i50)内的总人数3.模型建立和求解3.1 第一题的模型建立和求解当选取 n 个乘车点时,共有 C50n种选择情况,对于每一种情况均可得出以下两个矩阵(其中的 M(1) M(2) M(3) M(4) M(50)可能为同一个乘车点)所以又 S(n)=M(1)+M(2)M+(3)+M(4)+M(50)8针对 C50n种情况分别求出 S(n)则目标函数 minS(n)就是所求的最短路程,它所对应的 Q(j)就是对应的 n 个作为站点的小区,这样就可以解出所对应的小区。当 n=2 时就有 C502种选法,用 matlab 对每一种情况进行运算,可以得到minS(2)时所对
11、应的两个站点。当 n=3 时就有 C503种选法,用 matlab 对每一种情况进行运算,可以得到minS(3)时所对应的三个站点。 (运算程序详见附录二)当 3n50 时和上述相同计算就可以得出对应的 n 各站点。任意两个小区的最短距离可以利用 floyd 算法(floyd 算法简介见附录一)进行计算,下面列出 1-10 小区之间的最短距离1-10 小区任意两区之间的最短距离区号 1 2 3 4 5 6 7 8 9 101 0 400 450 700 910 1140 1110 1280 1480 16142 400 0 850 300 510 740 710 880 1080 12143
12、450 850 0 810 600 830 800 970 1170 13504 700 300 600 0 210 440 410 580 780 9605 910 510 810 210 0 230 200 370 570 7506 1140 740 1040 440 230 0 320 340 540 7207 1110 710 1010 410 200 320 0 170 370 5508 1280 880 1180 580 370 340 170 0 200 3809 1480 1080 1380 780 570 540 370 200 0 18010 1614 1214 1560
13、960 750 720 550 380 180 0当 n=2 时,可以求出当乘车点建在 18 号小区和 31 号小区时,各小区人员到最近乘车点的距离最小,最短路程和为 24338m。当 n=3 时,可以求出当乘车点建在 15 号小区、21 号小和 31 号小区时,各小区人员到最近乘车点的距离最小,,最短路程 19660m。3.2 第二题的模型建立和求解与第一题模型及求解的不同之处为将 S(n)替换为 D(n)9D(n)=M(1)*N(1)+M(2)*N(2)+M(3)*N(3)+M(50)*N(50)针对 C50n种情况分别求出 D(n)则目标函数 minD(n)就是所求的最短路程,它所对应的
14、 Q(j)就是对应的 n 个作为站点的小区,这样就可以解出所对应的小区。当 n=2 时,可以求出当乘车点建在 24 号小区和 32 号小区时,各小区人员到最近乘车点的距离最小。当 n=3 时,可以求出当乘车点建在 16 号小区、23 号小和 32 号小区时,各小区人员到最近乘车点的距离最小。3.3 第三题的模型建立和求解为简化计算,按照第二题计算出的结论,应该在 16 号小区、23 号小和 32号小区建立乘车点,则各个乘车点所需承担的乘客量可以算出,如下表格去 16 号小区坐车的点及其人数小区3 4 5 6 7 8 9 1011121314151617181925262728合计人数42343
15、8291764392061476621708512354876169418932去 23 号小区坐车的点及其人数小区1 2 20 21 22 23 24 43 44 45 46 47 48 49合计人数 65 67 54 49 12 54 46 69 67 20 18 68 72 76 737去 32 号小区坐车的点及其人数小区29 30 31 32 33 34 35 36 37 38 39 40 41 42 50合计人数 29 75 10 86 70 56 65 26 80 90 47 40 57 40 62 833则所需车辆及对应站点为16 号小区 23 号小区 32 号小区所需车辆数 2
16、0 16 183.4 第四题的模型建立和求解为解决教师和工作人员都希望随到随走,而运营商又希望每一辆车都有尽可能多的上座率,由此来降低运营成本的矛盾,应该统计相应时间段乘车人数,从而在不同的时间段派出不同的车次进行运营,由于缺乏相关数据,只做出大概方案:10在早上 7:008:00、中午 12:0013:00、下午 14:0015:00、下午17:0018:00 以及晚上 21:0022:00 应集中 80%甚至更高的运营车辆进行运营,其他时间则均衡个发车时间的时间差发车。通过对第三题的解答可知,每个站点都存在空座的情况,所以我们建议在站点校车空座率较高的情况下时,在其他站点进行一次巡游。当校
17、车型号单一时,很容易造成某些站点乘客难以乘车而其他某些站点又大量空座的情况,这种方案最大限度的节省了成本,相当于所有乘客集中乘车。其他方案按照学校具体情况考虑。4.结果的分析检验和改进方法1.检验:对个小区乘客做满意度问卷调查,从而获得教师和工作人员的意见反馈,并由此得出所计算结果是否正确。2.优点:模型结构简单,而且便于计算,模型的计算采用专业的数学软件,可信度较高,当数据量很大时,此优势更加突出。3.缺点:模型的影响因素过于单一化,使得结果与实际情况有些误差。比如存在车载量未满开走或车辆等候教师及工作人员而停滞的现象。未考虑到天气(阴雨天) 、时间(节假日)及每个人的具体情况。例外模型缺少
18、实际调查的统计数据,缺乏说服力。4.改进方法:应当在各个站点做统计并由此得出结论。5.参考文献1 姜启源 谢金星等,数学模型(第三版),高等教育出版社,2010。2 林旭梅,葛广英, MATLAB实用教程,石油大学出版社,2010。3 同济大学应用数学系, 工程数学线性代数,高等教育出版社,2008。4未知,有关校车安排问题的数学建模,百度文库,2011。6.附录附录一 Floyd 算法简介Floyd 算法是弗洛伊德(floyd)提出的一种解决每对节点之间最短路径问题的的算法。算法的基本思想:直接在图的带权邻接矩阵中,用插入顶点的方法依次构造出 v 个矩阵 D(1)、D(2)、D(v),使最后
19、得到的矩阵 D(v)为图的距离矩阵,同时也求出插入点矩阵以便得到两点间的最短路径。1.在邻接矩阵 G 中 表示第 i 个区域到第 j 个区域之间的距离;ij112.用矩阵 R 来记录插入点的信息,其中 表示第 i 个区域到达第 j 个区域ijR所要经过点的记录,把各个区域插入图中,比较插入区域后的距离与原来的距离, ,如果 的距离变小,则 =k,并把最短距离记录min(,)ijijkjGijGij在矩阵 D 中。算法完成后则 R 中包含了最短通路的信息, 中包含了最短路径ijD的信息。关于本文具体问题的算法(算法程序见程序 1)如下:1.先根据题目所给的各个连通区域之间距离的数据为初始矩阵 L
20、(ij)赋值,其中没有给出距离的赋给无穷大,其中 L(i,j)=0(i=j)。2.进行迭代计算。对任意两点(ij),若存在 k,使,L(ik)+L(kj)a(i,k)+a(k,j)a(i,j)=a(i,k)+a(k,j);path(i,j)=k;endendendenda;附录三 问题一的解答程序sl=inf;for b=1:nfor c=1:nfor d=1:nif a(b,d)Lsl=L;p1=b;p2=c;endendendsl,p1,p2for i=1:nif a(i,p1)Lsl=L;p1=b;p2=c;endendendsl,p1,p2for i=1:nif s(i,p1)=s(i,p2)qulu(1,i)=p1;else qulu(1,i)=p2;endendqulu