汽车租赁调度问题详细数学建模竞赛.docx
《汽车租赁调度问题详细数学建模竞赛.docx》由会员分享,可在线阅读,更多相关《汽车租赁调度问题详细数学建模竞赛.docx(60页珍藏版)》请在冰豆网上搜索。
汽车租赁调度问题详细数学建模竞赛
2015高教社杯全国大学生数学建模竞赛
承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):
B
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
参赛队员(打印并签名):
1.
2.
3.
指导教师或指导教师组负责人(打印并签名):
日期:
2015年8月15日
赛区评阅编号(由赛区组委会评阅前进行编号):
2015高教社杯全国大学生数学建模竞赛
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
赛区评阅记录(可供赛区评阅时使用):
评
阅
人
评
分
备
注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
汽车租赁调度问题
摘要
随着汽车租赁行业竞争的不断增加,众多汽车租赁公司针对汽车租赁的实际需求,纷纷调整调度方案以满足市场需求和赚取利益。
针对问题一,在尽量满足汽车需求的前提下,规划目标为代理点间车辆总转运费最小,首先使用多元统计方法对相关数据进行处理,根据每个汽车租赁代理点的坐标求出各代理点间的欧氏距离,再将其与各代理点的每辆车的转运成本相乘得出任意两个代理点的转运费用,把问题转化为运输问题,最后结合各代理点起初汽车数量与每天汽车需求量建立线性规划模型,确定合适的目标函数和约束条件,利用MATLAB和lingo编程,是最终结果与实际情况相符,最终得到最低转运费用40.49158及最优车辆调度方案见附录2。
针对问题二,考虑到短缺损失尽可能低与调度费用低于增值费用等因素,在问题一的基础上,建立目标函数为转运费用和短缺损失费用总和的最小值,同样利用lingo进行求解,得到4周内转运费用和短缺损失费总和最小为57.46982万元以及此时相对应的最优车辆调度方案见附录3。
?
针对问题三,在问题二的基础上,综合考虑公司获利、转运费用以及短缺损失等因素,规划目标为公司获得的净利润最大,运用插值拟合方法补充出附件5中租赁收入缺失的数据,用车辆租赁收入减去转运费用和短缺失费用表示公司的净利润。
利用lingo进行优化求解,得到未来四周内公司的最大获利为4076.341万元及最优调度方案见附录5。
针对问题四规划年度利润最大化,确定最优购进方案。
通过spss软件,拟合出每个代理点拥有车辆和需求车辆的关系,并综合总利润=总收入-总花费的关系式,规划出利润和购买车辆的关系,近似求出购买车辆数对年获利影响。
建立数学模型,容易直观地分析出所需购买的车辆数。
另外根据车辆价格汽车的价格,年维修费用的不同,所产生的不同的维修费用,计算出购买第八款车花费最小。
用MATLAB编程,计算出结果为当购买41辆第八款车时,年度总获利最大,最大为
万元
针对问题五,在问题四的基础上,考虑到购买数量与价格优惠幅度之间的关系,通过查阅资料发现当购买数量大于20时,优惠2%,当购买数量大于40时,优惠5%,在只购买第八款车型的情况下,得到年度净利润最大的购车方案,与问题四相同,使得净年利润最大为
万元,与不进行优惠相比,年利润增加
万元。
针对问题六,本文要求每个代理点的拥有车辆数中高级车和低级车各占一半以及每个代理点的高级车型需求与低级车型需求大约也各占一半,重新算问题三、四。
在问题三、四程序的基础上将拥有量和需求量各自减半对高级车和低级车分别求最大净利润值之和及购车数量。
关键字:
线性规划汽车租赁调度拟合SPSS
一.问题重述
国内汽车租赁市场兴起于1990年北京亚运会,随后在北京、上海、广州及深圳等国际化程度较高的城市率先发展,直至2000年左右,汽车租赁市场开始在其他城市发展。
现有某城市一家汽车租赁公司,此公司年初在全市范围内有379辆可供租赁的汽车,分布于20个代理点中。
每个代理点的位置都以地理坐标X和Y的形式给出,单位为千米。
假定两个代理点之间的距离约为他们之间欧氏距离(即直线距离)的1.2倍。
附件1—附件6给出了问题的一些数据。
请解决如下问题:
1.给出未来四周内每天的汽车调度方案,在尽量满足需求的前提下,使总的转运费用最低;
2.考虑到由于汽车数量不足而带来的经济损失,要求每个代理点的损失率尽可能都低于10%;另外,如果总转运成本太高,使得总转运费用高于因调度而增值的收入,这样的调度方案也是没有意义的,请综合以上情况给出使未来四周总的转运费用及短缺损失最低的汽车调度方案;
3.综合考虑公司获利、转运费用以及短缺损失等因素,确定未来四周的汽车调度方案;
4.为了使年度总获利最大,从长期考虑是否需要购买新车?
如果购买,购买多少,各个代理点如何分配?
5.如果购买新车的话,考虑到购买数量与价格优惠幅度之间的关系,在此假设如果购买新车,只购买一款车型,试确定购买计划。
6.在现实中,大多数租车公司会提供多种车型,如至少两种车型(A,B),若已知附件1中所给代理点的拥有车辆数中两种车型各占一半,亦可假定在过去一年和未来四周的汽车需求中,每个点的高级车型需求与低级车型需求大约也各占一半,另外高级车型(B型)租赁收入为低级车型(A型)的1.4倍,假定原附件5表中给出的租赁收入均为低级车型的租赁价格,两种车型的短缺损失假定相同,请再次计算问题3与问题4;
7.以上述研究结论为基础,请为各代理点撰写一个简明扼要的调度方案手册,以便今后类似调度问题时使用。
2.问题分析
车辆调度问题是一个数学规划问题,即在满足调度限制的解空间内,寻找使
调度选择中提出的目标函数都满意的最优解。
联系实际,综合考虑转运费用、短缺损失、公司获利等因素,利用优化算法、线性规划和lingo、matlab和excel软件,尽可能得到各代理点车辆租赁调度安排的最优解。
针对问题一在满足需求的前提下得到未来四周内的最优解。
根据附件3未来四周每个代理点每天的汽车需求量,先求得年初各代理点的车辆到第一天最优调度方案,以后每天的调度最优方案都以前一天求得的最优调度结果为当天拥有量。
该问题以各个代理点间调度车辆的总费用最低为目标函数,以可提供车辆的代理点提供的车辆数和需接收车辆的代理点接收的车辆数为约束条件,建立线性规划数学模型。
借用LINGO工具进行方程求解[2]。
针对问题二要求在问题一所得结果的基础上,考虑由于汽车数量不足而造成的短缺损失费用,可以把总的费用简化为转运费用与短缺损失费用之和,建立总费用最低的线性规划模型[1],利用lingo程序进行优化处理,使目标函数值最小,从而得到最优解。
针对问题三需要综合考虑公司获利、转运费用以及短缺损失等因素建立规划模型,总的净利润可以简化为总收入减去总费用,运用matlab对缺少的数据进行拟合[3],再运用lingo辅助求解。
针对问题四需要解决是否购车及最佳购车方案的问题,用未来四周的需求量与现拥有量379做对比,得出供求关系,若总体上供不应求,则需要购进新车。
本问题在确定所需购买的车数量时,先分析附件-4中,10款同类汽车的价格、使用寿命、寿命期内的年维修费用,以八年为一个周期,计算出每款车的总费用,进而确定所需要购买的车型。
再利用spss软件拟合出需求量与拥有量的关系,结合总利润=总收入-总费用,建立购进车的数量与年总利润的数学模型,进而可以在MATLAB软件中求的利润最大时,所需购进的车辆数,确定最优购进方案,并求得最大利润。
并根据短缺损失费最高的代理点,和问题三的调度结果进行新车分配。
针对问题五,在问题四的基础上,考虑到购买数量与价格优惠幅度之间的关系,通过查阅资料发现当购买数量大于20时,优惠2%,当购买数量大于40时,优惠5%,在只购买第八款车型的情况下,得到年度净利润最大的购车方案,与问题四相同。
3.模型的假设
(1)租出的每辆车当日租当日还,且无损坏。
(2)汽车的转运成本仅与距离有关,不考虑汽车在转运途中的损耗。
(3)租出的车辆只归还于租出代理点。
(4)各租赁代理点在第二天租赁业务开始前完成相互间的汽车调度。
4.符号说明
符号
符号含义
代理点i和j之间的实际距离
欧氏距离
代理点i和j之间的转运成本
总转运费用
转运量数
转运一辆车的费用
公司获得的净利润
公司的总损失
5.模型的建立与求解
5.1问题一:
仅考虑总转运费用的汽车调度方案
5.1.1模型的准备
数据处理
(1)根据附件1中数据,利用MATLAB作出将各个代理点的位置的散点图如下:
图1各代理点的位置
(2)根据附件1提供的各代理点位置的坐标,由平面上两点之间的距离公式
可计算出任意两个代理点之间的欧式距离,由于两个代理点之间的实际距离约为他们之间欧氏距离的1.2倍,则有任意两代理点之间的实际距离为:
(3)各代理点间转运一辆车的费用等于各代理点之间的距离乘以相应的转运成本,即:
利用MATLAB编程求出各代理点的相互转运费用矩阵
,具体结果见附录1。
5.1.2模型一的建立
要使得未来四周的总转运费用最低,转运费用为需要转运两代理点之间的距离,乘以不同代理点之间的每辆车的转运成本(万元/千米),再乘以转运的车辆数,则可得到目标函数:
汽车总量约束:
不考虑购入新车的情况下,未来四周内,该公司总车辆数是一定的,则有约束:
汽车供求量约束:
(1)当代理点
的汽车供不应求时,即第k天代理点
所拥有的车辆数,与k+1天代理点
所需求的车辆数之差小于0,则应满足条件为:
(2)代理点
的汽车供大于求,即第k天代理点
所拥有的车辆数与第k+1天代理点
所需求的车辆数之差大于0,则应满足条件为:
其中,
表示第k天代理点
所拥有的车辆数与第
天代理点
所需求的车辆数之差,即
,
表示第
天代理点
的车辆需求量。
综合上述分析,建立的优化模型为:
约束条件:
借助lingo工具求解,即可得到问题一的全局最优解40.49158万元,以及每一天的调度方案,具体结果见附录2,这里列出第二天的具体汽车调配方案,如下表所示:
表1第二天各代理点的调动方案
转出代理点
转入代理点
转运车辆
A
B
7
B
M
3
E
J
9
G
D
5
H
D
1
H
T
4
J
C
3
J
F
4
J
G
1
N
M
5
O
D
1
P
M
2
Q
T
5
R
D
1
R
P
9
S
M
6
5.2问题二:
考虑短缺损失情况下的最低损失模型
实际情况中不可能只考虑转运成本,很多时候供不应求,因此需要考虑到汽车数量不足而带来的经济损失,用短缺损失和转运费用之和来表示总的损失,
即:
当需求总量小于或等于拥有总量379时,没有短缺损失,则有约束:
当需求总量大于拥有总量时,需求总量d减拥有总量y为短缺总量,等于短缺量乘以对应的短缺损失L,则有约束:
第t天i代理点的拥有量为第t-1天该代理点的拥有量加上第t天i代理点转入的辆数减去第t天i代理点转出的辆数,即:
根据以上分析写出目标函数:
约束条件:
利用lingo编写程序得出最小损失费s为57.46982万元,以及每天的调度方案程序及具体结果见附录3,仅列出第二天的汽车调动方案,如下表所示:
表2第二天各代理点的调动方案
转出代理点
转入代理点
转运车辆数
A
B
6
A
L
1
B
M
2
E
J
9
F
K
6
G
D
4
H
D
4
H
T
1
I
K
3
J
C
1
N
M
5
O
D
1
Q
C
2
Q
T
3
R
F
3
R
P
7
S
M
6
5.3问题三综合考虑公司获利与损失的最高收益模型
附件5中不同代理点的租赁收入部分数据残缺,短缺损失费与租赁收入关系如图:
图2短缺损失与租赁收入相关性分析
由图可知短缺损失费与租赁收入之间近似呈线性关系,因此可以用y=a1x+a0作为拟合函数来预测未来五天的租赁收入。
P,Q,R,S,T点的租赁收入为分别为:
0.37800.43320.43840.27560.2651,程序见附录4
5.3.2问题三模型的建立与求解
问题三需要在问题二的基础上考虑公司获得的利润,公司获得的净利润可简化为总收入减去问题二所得的总损失,需要在问题二约束条件的基础上加上总收入的约束,当需求量大于代理点当天的拥有量时,代理点收入为拥有量乘以租赁收入,当需求量小于代理点当天的拥有量时,代理点收入为需求量乘以租赁收入,根据以上分析得出目标函数:
约束条件:
利用lingo编写程序得出最大净利润为4076.341万元,以及每天的调度方案程序及具体结果见附录5这里仅列出第二天的汽车调配方案,如下表所示:
表3第二天各代理点的调动方案
转出代理点
转入代理点
转运车辆数
A
B
6
A
L
1
B
M
2
E
J
9
F
K
6
G
D
4
H
D
4
H
T
1
I
K
3
J
C
1
J
F
7
N
M
5
O
D
1
Q
C
2
Q
T
3
R
F
3
R
P
7
S
M
6
T
M
3
5.4问题四:
购车问题
经过统计附件3未来四周每天所需要的车辆数,与所拥有的车辆数379对比,代码见附录6,其结果如下图:
图3未来四周所需车辆对比拥有量
不难发现有9天需求量小于拥有量,19天需求量大于拥有量,占总天数的67.86%,所以判断为了使年度总获利最大,需要购进新车。
根据附件4所给出的10款同类汽车的价格、使用寿命、寿命期内的年维修费用,以8年为一个周期,计算出每款车这一周期所花费的总费用,并用MATLAB画出其图像,结果如下,程序见附录7
图4购车综合费用
由购车综合费用图可以看出,在10款车型中,购买第八款车的费用最低,假设只购买一种车型,则应购买第八款车型a量[5]。
每个代理点的每天盈利不会有太大的变动,而且每辆车的每天租赁收入波动也不会太大,因此对每天利润(其中已经除去转运费用及短缺损费用)对每辆车求平均,在对28天的每辆车的利润求平均,即可表示任意点位每辆车的收入。
问题3中已经算出28天公司综合获利、调度方案的结果,由此可以根据每天的利润对每辆车求平均值,
为使年度总获利最大,设年度总利润为
,则:
总利润=总收入-总支出,得出:
其中,
为新购买的车辆,
为当需求量小于拥有量时闲置的车辆,当需求量大于拥有量时,不存在短缺损失费,设
为0。
根据附件2计算上一年内每天每个代理点汽车需求量的均值,和问题二中求出的四周汽车拥有量的均值,近似代替其需求量y和拥有量x。
通过spss对每个代理点的需求量y和拥有量x进行拟合求关系式。
其拟合结果如下图
由参数估计值可以确定,需求量y和拥有量x的拟合结果为:
将
(2)式带入
(1)式中得到购车数量与年利润的关系式,化简得到(3)
通过MATLAB软件画出购车数量a与年利润的函数关系图像。
由于车数a应该为整数,由图可知当a等于41,时利润最大,最大利润为
万元,所以应该购进第八款车量41,代码见附录8。
5.4.4新车分配
在短缺的代理点中,D代理点的损失费最高,而且根据问题三综合考虑公司获利最大,代理点G缺少4辆车,所以分给G代理点4辆车。
以此类推,分给F代理点3辆,分给M代理点5辆,分给J代理点9辆,分给C代理点3辆,分给L代理点1辆,分给P代理点7辆,分给P代理点5辆。
5.5优惠后新车购买问题
由问题四已经得出购买数量与年利润的关系,通过查阅资料发现当购买数量>20辆时优惠98%,当购买数量>40辆时,优惠95%。
即当购买每辆车的成本为原来的相应的优惠价格,及加上10款同类汽车的价格、使用寿命、寿命期内的年维修费用,为八年的成本。
5.5.1根据优惠考虑购车方案
假设
(1)当购买的车辆数大于20小于40时,对应的购买车辆与年利润的关系为:
解得购进42辆车时,利润最大,与假设不符,所以假设
(1)不合理
假设
(2)当购买的车辆数大于20小于40时,对应的购买车辆与年利润的关系为:
图5购车数量与年利润关系
由图可以得出,当购买42辆时,所得的年利润最大,为
万元与没有优惠时
万元相比,利润增加
万元。
八.模型评价与推广
模型考虑因素比较少,适用条件存在一定的局限性。
问题一中模型一逐个求每一天的调度方案,需求量小于供应量的代理点只作为供应代理点,需求量大于供应量的代理点只作为接收代理点,每个代理点要不转入,要不转出,不能同时存在即转入又转出。
如第一天A、E、G、H、I、N、O、Q、R、S为供应车的代理点,B、C、D、F、J、K、L、M、P、T为接收车的代理点,不可能出现B转出的情况,但全局最优的方案中转出代理点可先将车辆转给某一代理点,再由该代理点转给某个转入代理点,实际情况中这种转运方法可能比转出代理点直接转给转入代理点花费少,所以代理点要么只转出,要么只转入情况不合理。
九.参考文献
[1]孙兆亮,周刚,数学建模算法与应用(第2版),国防工业出版社,.
[2]谢金星,薛毅,优化建模与LINDO/LINGO软件,清华大学出版社,2005.07.
[3]王正盛,MATLAB与科学计算,国防工业出版社,2011.08.01.
[4]XX文库,汽车租赁的优化调度,,.
[5]豆丁网,2013高教社杯全国大学生数学建模竞赛,,.
十.附录
附录1--------------------各代理点的距离及相互转运费用程序
附表1--------------------各代理点的相互转运费
附录2--------------------问题一的程序及调度方案
附录3--------------------问题二的程序及调度方案
附录4--------------------插值拟合程序及缺损数据
附录5--------------------问题三的程序及调度方案
附录6--------------------未来四周所需车辆对比拥有量作图代码
附录7--------------------费用最小车型程序
附录8--------------------购车数量与年利润关系图代码
附表1:
00.03390.12330.06560.14460.10810.25430.10220.11390.20530.0559
0.033900.17990.04840.17280.12410.09270.06630.13110.13740.1052
0.12330.179900.12610.06200.15680.05350.08050.12760.03730.1208
0.06560.04840.126100.11400.08580.04350.03950.07390.05860.0170
0.14460.17280.06200.114000.14480.02520.12420.05330.00650.0967
0.10810.12410.15680.08580.144800.13440.04590.04700.03230.0158
0.25430.09270.05350.04350.02520.134400.10840.05570.00980.1385
0.10220.06630.08050.03950.12420.04590.108400.04440.06640.0891
0.11390.13110.12760.07390.05330.04700.05570.044400.02660.0329
0.20530.13740.03730.05860.00650.03230.00980.06640.026600.1348
0.05590.10520.12080.01700.09670.01580.13850.08910.03290.13480
0.07560.06140.09090.07240.17550.09840.19980.08270.07780.23000.0910
0.06120.01370.11140.03360.06550.03190.06360.09100.09700.12090.0826
0.08220.04290.06490.02540.09900.03600.10230.05190.04390.09660.0599
0.07710.03150.06420.02270.06950.03200.10880.03280.07180.15260.0469
0.09890.05190.17060.04000.09130.08130.08460.08720.04970.14790.0415
0.09500.07850.04030.06380.03370.04300.07050.03300.04480.06180.0557
0.09670.08380.09170.02720.13730.02060.07100.02510.03780.07020.0421
0.22000.05940.12830.05410.07970.03120.05020.02780.04400.04570.0496
0.17760.15670.03250.05300.05010.04740.10530.01240.06440.08050.0711
Columns12through20
0.07560.06120.08220.07710.09890.09500.09670.22000.1776
0.06140.01370.04290.03150.05190.07850.08380.05940.1567
0.09090.11140.06490.06420.17060.04030.09170.12830.0325
0.07240.03360.02540.02270.04000.06380.02720.05410.0530
0.17550.06550.09900.06950.09130.03370.13730.07970.0501
0.09840.03190.03600.03200.08130.04300.02060.03120.0474
0.19980.06360.10230.10880.08460.07050.07100.05020.1053
0.08270.09100.05190.03280.08720.03300.02510.02780.0124
0.07780.09700.04390.07180.04970.04480.03780.04400.0644
0.23000.12090.09660.15260.14790.06180.07020.04570.0805
0.09100.08260.05990.04690.04150.05570.04210.04960.0711
00.06600.04520.08140.05060.07630.10300.06300