数学建模 校车安排问题.docx

上传人:b****8 文档编号:10797020 上传时间:2023-02-23 格式:DOCX 页数:33 大小:261.21KB
下载 相关 举报
数学建模 校车安排问题.docx_第1页
第1页 / 共33页
数学建模 校车安排问题.docx_第2页
第2页 / 共33页
数学建模 校车安排问题.docx_第3页
第3页 / 共33页
数学建模 校车安排问题.docx_第4页
第4页 / 共33页
数学建模 校车安排问题.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

数学建模 校车安排问题.docx

《数学建模 校车安排问题.docx》由会员分享,可在线阅读,更多相关《数学建模 校车安排问题.docx(33页珍藏版)》请在冰豆网上搜索。

数学建模 校车安排问题.docx

数学建模校车安排问题

校车问题的分析报告

摘要

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

根据老校区教师和工作人员所在区的分布以及各区的人数,针对如何设置乘车点使得各区距离乘车点最近,教师和工作人员最满意,以及如何有效安排车辆等问题进行了深入分析,利用改进的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)建立

个乘车点,要求使各区人员到最近乘车点的距离最小,该将校车乘车点应建立在哪

个点。

建立一般模型,并给出

时的结果。

(2)若考虑每个区的乘车人数,为使教师和工作人员满意度最大,该将校车乘车点应建立在哪

个点。

建立一般模型,并给出

时的结果。

(3)若建立3个乘车点,为使教师和工作人员尽量满意,至少需要安排多少辆车?

给出每个乘车点的位置和车辆数。

设每辆车最多载客47人。

(4)关于校车安排问题,你还有什么好的建议和考虑。

可以提高乘车人员的满意度,又可节省运行成本。

二、基本假设

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

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

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

三、符号说明

1.V1,V2,…Vk,…Vn表示各个区;

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

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

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

5.Y满意度评价函数。

四、模型的建立与求解

4.1最短乘车距离模型:

4.1.1问题分析:

要求得使每个小区与车站距离最小,可以用以下几步来实现:

(1)随机选择n个小区作为车站V1,V2,…Vk,…Vn;

(2)求得这n个车站到任意一个小区的最小距离,并得到n个50阶的行矩阵A1,A2,…Ak,…An;(3)按位比较这n个行向量,得到最终每个小区到达最近车站的最短距离A;(4)将A中每个元素加起来,得到S,即为最短距离。

(5)将所有随机可能性得出所有最终最短距离,进行比较,得到它们中的最小值S0,即为结果。

如图1:

 

 

 

 

 

 

 

 

图1:

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

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

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

fori=1:

48

forj=2:

49

fork=3:

50

算法1

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

Vi,Vj,Vk。

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

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

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

 

 

示例:

Floyd算法的基本步骤

2

如图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…v

同样地,本来路径上源点或终点就有b的不必考虑。

对角线上的也不必考虑,D[a][b]+D[b][c]=6D[c][a]=3,所以如果从b绕,反而远,因此表2中的数据应该变为表3。

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

着一条路径u…v。

现在我们考察,试着把c加到u、v的路径上能否,得到一条更短的路径,即如果u…c+c…v

同样地,本来路径上源点或终点就有c的不必考虑。

对角线上的也不必考虑,D[a][c]+D[c][b]=6+7>D[a][b]=4,所以如果从c绕,反而远,D[b][c]+D[c][a]=2+3

现在,已经把所有的顶点都试了一遍,算法结束。

每两个顶点之间的路径如表4所示。

 

表1

a

b

c

a

0

4

11

b

6

0

2

c

3

0

 

表2

a

b

c

a

0

4

11

B

6

0

2

c

3

7

0

 

a

b

c

a

0

4

6

b

6

0

2

c

3

7

0

表3

 

表4

a

b

c

a

0

4

6

b

5

0

2

c

3

7

0

 

A0即为我们要得到的任意两点之间的最小距离的矩阵,见算法2:

b=a+a';path=zeros(length(b));

fork=1:

50

fori=1:

50

forj=1:

50

ifb(i,j)>b(i,k)+b(k,j)

b(i,j)=b(i,k)+b(k,j);

path(i,j)=k;

end

end

end

end

b,path

算法2

算法2即为Floyd算法的核心程序

3.得到n个乘车站点到各个小区的最短距离的行矩阵:

在2中得到的b矩阵中提取出这n个小区对应的行的行向量,例如,选取第一个小区作为乘车站点,则将b矩阵中的第一行取出,作为行向量A1,其他的依此类推即可,由此可以得到各个乘车站点最短距离的行矩阵A1,A2,…Ak,…An。

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

因为得到的行矩阵A1,A2,…Ak,…An的阶数是相同的,因此,我们按位求最小值,得出另一个行矩阵A,将A中各个元素相加就可以得到各小区到达这n个乘车站点的最小距离S,算法见算法3:

fora=1:

50

t=[b(i,a)b(j,a)b(k,a)];

d(a,1)=min(t);

end;

f(u,1)=sum(d);

f(u,2)=i;

f(u,3)=j;

f(u,4)=k;

u=u+1;

算法3

4.1.5得出最终结果S0:

遍历所有可能情况后,通过比较每种情况得出的S,得出其最小值,得到的S0即为最小距离,取得最小距离时随机选取的i,j,k即为乘车站点的设置地点。

具体的程序实现见程序1。

4.1.6求解结果:

n=2时应该在第18区和31区设立乘车点,其最短总距离为24492米。

n=3时应该在第15区、21区和31区建立乘车站,最短距离为19660米。

 

4.2满意度评价模型:

4.2.1问题分析:

对距离以及人数两个指标进行无量纲化处理,得到两个指标的量化数据。

将已经无量纲化后的指标参数相乘得到定义的不满意度指标。

将得到后的综合指标当作第一问中的距离指标,建立满意度评价函数,求解第二问中的变化后的距离的最小值。

 

图3

如图3,对于满意度模型:

①我们对人数以及距离两个指标进行无量纲化处理,使其量化;②对两组无量纲化后的数据相乘,得到满意度评价函数,即相乘的结果越小,其满意度越大,我们将其定义为不满意度;③再对所有小区进行历遍,选取n个小区作为乘车站点,对其不满意度进行比较;④最后得出最小的不满意度即为本问的解

4.2.2对指标进行无量纲化:

1.对人数进行无量纲化:

我们采用每个小区人数除以总人数的方法来实现其无量纲化,

Qj=Pj/P0(公式1)

得到表5:

表5

区域

人数

区域

人数

1

0.0259792

26

0.0063949

2

0.0267786

27

0.0375699

3

0.0167866

28

0.0071942

4

0.0135891

29

0.0115907

5

0.0151878

30

0.029976

6

0.0115907

31

0.0039968

7

0.0067946

32

0.0343725

8

0.0255795

33

0.0279776

9

0.0155875

34

0.0223821

10

0.0079936

35

0.0259792

11

0.0243805

36

0.0103917

12

0.018785

37

0.0319744

13

0.0263789

38

0.0359712

14

0.0083933

39

0.018785

15

0.0279776

40

0.0159872

16

0.0339728

41

0.0227818

17

0.0047962

42

0.0159872

18

0.0139888

43

0.0275779

19

0.0191847

44

0.0267786

20

0.0215827

45

0.0079936

21

0.0195843

46

0.0071942

22

0.0047962

47

0.0271783

23

0.0215827

48

0.028777

24

0.0183853

49

0.0303757

25

0.0303757

50

0.0247802

表5表示出每个小区人数所占总人数的比例,反映出每个小区人数对于不满意度的权重值Qj(j=0~50)。

2.对距离进行极值差方法处理:

对附录中的数值进行极值差方法处理,得到无量纲的量化结果,

(公式2)

其中:

Bij表示B矩阵中的第i行第j列的元素

(Bi)min=min{Bij}(1

50),(Bi)max=max{Bij}(1

3.得出满意度评价函数:

Y=(Bij-(Bi)min)/((Bi)max-(Bi)min)*(Pj/P0)(公式3)

4.2.3求解结果:

n=2时最优解为16区和36区不满意度为0.4980。

当n=3时最优解为15区、22区和32区不满意度为0.3720。

4.3问题三:

4.3.1问题分析:

 

通过总人数与校车的载人数算出最少需要的车辆数为54辆

 

 

尽量少的车辆数作为一个限制满意度的条件建立求解函数

 

 

结合问题一的算法求出最终结果

 

图3

如图3:

由于要求使用尽可能少的车辆让教师和工作人员的满意度尽量高,所以我们把车辆数作为一个限制满意度的条件。

通过在问题二的基础上把车辆数考虑进去运用问题一的算法即可求得答案。

4.3.2问题求解:

当n=3时最优解为至少需要54辆车对应的区域分别为15、22、32。

对应的车辆数为20、16、18。

不满意度为0.3720

4.4问题的合理化建议与考虑:

1.可于上下班高峰期增开几次校车,在不是高峰期,减少几次校车运行;

2.可以运行不同型号的校车,在乘车人数较多的车站运行大校车,人数较少的车站运行较小的校车。

3.可以增加几个收费的乘车站点,因为增加站点会提高满意度,但同时会增加运行成本,因此进行收费来降低成本。

4.可以将乘车站点不设定在小区内,设定在几个小区比较靠中央的位置,在相同情况下回事满意度提高。

5.有一些应该使乘车站尽量靠近老年人数较多的小区,这样满意度提高。

 

五、模型的评价

首先,在解决问题一的时候,我们建立了最小距离模型后,直接用Floyd算法进行运算,得到了每一个小区到其他各个小区的最小距离的矩阵,然后随机抽取n个小区作为车站,对最小距离矩阵的这n行进行求和,比较求和值得到最终结论。

当n比较小时,用这种方法可以较好的计算出所求的n个点。

但是,这种方法的运算量与n的大小是成指数关系的,所以,当n很大时运算量会迅速增大。

在解决问题二的时候,我们在问题一的基础上用小区和最近车站的距离和小区人数无量纲化后的乘积来表示教师和工作人员的满意程度,之后用和问题一相同的思路得出结论。

所以,第二问中也存在着第一问中,当n很大的时候运算量过大的问题。

而此无量纲化的过程中我们考虑了任意两个小区最短距离的极大值和极小值,发现极小值都是0,极大值之间相差不大,因此可以使用极值无量纲化的方法。

但是极值无量纲化是通过利用变量取值的最大值和最小值将原始数据转换为介于某一特定范围的数据,从而消除量纲和数量级影响,改变变量在分析中的权重来解决不同度量的问题,所以此权重没有对距离和人数进行差异化对待,而事实上人数和距离的权重肯定是不同的。

解决第三个问题时,我们用到了逼近理想值排序法,假设理想的情况是共用53辆车(因为总人数为2502,至少需要54辆车才可以),且教师和工作人员的满意度最大。

我们延用解决问题二的方法,只是在距离与人数无量纲化后再乘以因式(A—53),然后对所有的情况进行排序,找到最接近理想值D的一组数据。

六、参考文献

[1]郑洲顺科学计算与数学建模复旦大学出版社。

[2]姜启源谢金星叶俊数学模型高等教育出版社。

[3]孙祥徐流美吴清Matlab7.0基础教程清华大学出版社。

附件1:

50个区之间任意两点的最短通路值

 

附件2:

问题一的算法

clear;

clc;

M=10000;

a(1,:

)=[0,400,450,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(2,:

)=[zeros(1,2),M,300,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,230,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,140,M,M,M];

a(3,:

)=[zeros(1,3),600,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(4,:

)=[zeros(1,4),210,M,M,M,M,M,M,M,M,M,M,M,M,M,310,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(5,:

)=[zeros(1,5),230,200,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(6,:

)=[zeros(1,6),320,340,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(7,:

)=[zeros(1,7),170,M,M,M,M,M,M,M,M,M,160,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(8,:

)=[zeros(1,8),200,M,M,M,M,M,285,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(9,:

)=[zeros(1,9),180,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(10,:

)=[zeros(1,10),150,M,M,M,160,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(11,:

)=[zeros(1,11),140,M,130,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(12,:

)=[zeros(1,12),200,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(13,:

)=[zeros(1,13),M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,400,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(14,:

)=[zeros(1,14),190,M,M,M,M,M,M,M,M,M,M,190,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(15,:

)=[zeros(1,15),170,250,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(16,:

)=[zeros(1,16),140,130,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(17,:

)=[zeros(1,17),M,M,M,M,M,M,M,M,M,240,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(18,:

)=[zeros(1,18),204,M,M,M,M,M,180,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(19,:

)=[zeros(1,19),140,M,M,M,175,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(20,:

)=[zeros(1,20),180,M,M,190,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(21,:

)=[zeros(1,21),300,270,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,350,M,M,M];

a(22,:

)=[zeros(1,22),M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,160,270,M,M,180,M,M];

a(23,:

)=[zeros(1,23),240,M,M,M,M,210,290,M,M,M,M,M,M,M,M,M,M,M,M,M,150,M,M,M,M,M,M];

a(24,:

)=[zeros(1,24),170,M,M,130,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(25,:

)=[zeros(1,25),M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(26,:

)=[zeros(1,26),140,M,M,M,M,M,M,320,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(27,:

)=[zeros(1,27),190,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(28,:

)=[zeros(1,28),260,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(29,:

)=[zeros(1,29),M,190,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M];

a(30,:

)=[zeros(1,30),240,M,M,M,M,M,M,M,M,M,M,130,210,M,M,M,M,M,M,M];

a(31,:

)=[zeros(1,31),230,M,M,M,260,M,M,M,M,M,M,M,M,M,M,M,M,M,210];

a(32,:

)=[zeros(1,32),190,M,140,240,M,M,M,M,M,M,M

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

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

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