数学建模-校车安排问题

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

校车问题的分析报告

摘要

本文是解决如何有效的安排校车让教师和工作人员尽量满意的问题。

根据老校区教师和工作人员所在区的分布以及各区的人数,针对如何设置乘车点使得各区距离乘车点最近,教师和工作人员最满意,以及如何有效安排车辆等问题进行了深入分析,利用改进的Floyd算法,综合评价方法建立了最短乘车距离模型、满意度评价模型对问题做出了详细合理的解答。

针对问题一,考虑到需要求得每个区到达乘车点的最小距离,我们建立了最短乘车距离模型并通过改进后的Floyd算法(见附件2)实现。首先运用Floyd 算法思想得到各顶点之间的最短通路值,并得到最小距离矩阵,然后运用for循环语句在各区中随机抽取n个区作为乘车点并在最小距离矩阵中取出对应的数据即乘车点到达任意一个区的最小距离向量。将这n个向量按位求最小值生成一个新向量A,对A向量各元素求和得到一个数S。最后将每次循环得到的S 比较,最小值(S0)即为问题一的解。最后得出:n=2时应该在第18区和31区设立乘车点,其最短总距离为24492米。n=3时应该在第15区、21区和31区建立乘车点,最短距离为19660米。

针对问题二,考虑到教师和工作人员的满意度受到距离与人数两个因素的影响,即满意度随着距离的增加而减小,而人数的多少会放大或减小距离对满意度的影响程度,从而建立了满意度评价模型。由于影响满意度的因素(人数、距离)存在不同的单位所以我们分别对人数和距离做了无量纲化处理(见公式1、2)并得到了满意度评价函数(见公式3)。最后在模型一的基础上,结合满意度评价函数建立了问题二的求解算法(见附件3)。依据模型可知当求得的数值越小表示不满意度越小即满意度越高,最终求解得到了:n=2时最优解为16区和36区不满意度为0.4980。当n=3时最优解为15区、22区和32区不满意度为0.3720。

针对问题三,由于要求使用尽可能少的车辆让教师和工作人员的满意度尽量高,所以我们把车辆数作为一个限制满意度的条件。通过在问题二的基础上把车辆数考虑进去得到了问题三的求解公式和算法(见附4)。最终求解得到:当n=3时最优解为至少需要54辆车对应的区域分别为15、22、32。对应的车辆数为20、16、18。

针对问题四,我们通过对前三个问题的深入分析对校车安排问题提出了合理化的建议和措施。

关键词:最短乘车距离模型满意度评价模型Floyd算法

一、问题重述

如今越来越多的学校需要经常将老校区的教师和工作人员用校车送到新校区,如何实现以最少的车辆让教师和工作人员尽量满意是个十分重要的问题。

现已知老校区的教师和工作人员分布在50个区,以及各区的距离与各区人员分布情况。

需要对以下问题进行研究:

(1)建立n个乘车点,要求使各区人员到最近乘车点的距离最小,该

n=时将校车乘车点应建立在哪n个点。建立一般模型,并给出2,3

的结果。

(2)若考虑每个区的乘车人数,为使教师和工作人员满意度最大,该

n=时将校车乘车点应建立在哪n个点。建立一般模型,并给出2,3

的结果。

(3)若建立3个乘车点,为使教师和工作人员尽量满意,至少需要安排多少辆车?给出每个乘车点的位置和车辆数。设每辆车最多载

客47人。

(4)关于校车安排问题,你还有什么好的建议和考虑。可以提高乘车人员的满意度,又可节省运行成本。

二、基本假设

1.假设乘客的满意度只与小区到车站之间的距离以及车站乘车人数有关;

2.在问题一、二中,假设每位教师及工作人员只会到最近的车站乘车;

3.在问题一、二中,假设每位乘客到达车站后,都有校车乘坐;

三、符号说明

1. V1,V2,…V k,…V n表示各个区;

2. A1,A2,…A k,…A n表示第k个区到其他区的最短距离的矩阵;

3.S表示任意一种随机取得的车站方式所得到的最短距离;

4.S0表示所有可能存在的组合方式构成车站的最短距离;

5.Y 满意度评价函数。

四、模型的建立与求解

4.1 最短乘车距离模型:

4.1.1 问题分析:

要求得使每个小区与车站距离最小,可以用以下几步来实现:(1)随机选择n个小区作为车站V1,V2,…V k,…V n;(2)求得这n个车站到任意一个小区的最小距离,并得到n个50阶的行矩阵A1,A2,…A k,…A n;(3)按位比较这n 个行向量,得到最终每个小区到达最近车站的最短距离A;(4)将A中每个元素加起来,得到S,即为最短距离。(5)将所有随机可能性得出所有最终最短距离,进行比较,得到它们中的最小值S0,即为结果。如图1:

图1:最小距离模型建立的示意图

4.1.2随机选取n个小区作为乘车站点:

我们运用n个for循环语句对随机选取n个小区作为乘车站点的所有情况进行一次历遍,以n=3为例,具体实现如算法1:

for i=1:48

for j=2:49

for k=3:50

算法1

算法1 是用循环的方法,将i,j,k分别从1取到48,2取到49,3取到50,这样就能得到从50个小区中随机选取三个作为乘车站点的所有可能,所选取的站点即为:V i,V j,V k。

4.1.3求得这n乘车站点到各个小区的最短距离:

1.首先应得到由各个小区之间的距离组成的邻接矩阵(见附件1);

2.其次考虑到要计算任意两点之间的最短距离,我们采用了Floyd算法进行求算;

示例:Floyd算法的基本步骤

如图2所示问题,要求的任意两点之间的对短距离建立相邻矩阵,见表1,则从上面的表1开始,对于每两个顶点u、v,在表1中存储着一条路径u…v。现在我们考察,试着把a加到u、v的路径上能否,得到一条更短的路径,即如果u…a+a…v

图2

本来路径上源点或终点就有a的不必考虑。对角线上的也不必考虑,并且D[b][a]+D[a][c]=6+11>D[b][c]=2,所以如果从a绕,反而远,又因为D[c][a]+D[a][b]=3+4

从上面的表2开始,对于每两个顶点u、v,在表2中存储着一条路径u…v。现在我们考察,试着把b加到u、v的路径上能否,得到一条更短的路径,即如果u…b+b…vD[c][a]=3,所以如果从b绕,反而远,因此表2中的数据应该变为表3。

从上面的表2开始,对于每两个顶点u、v,在表2中存储。

相关文档
最新文档