重庆邮电大学 电子信息工程(中美) 重庆 400065
就此类问题我们采用了线性规划与层次分析法,首先通过未来四周的需求量与实际提供的汽车数379对比,分析供求状态,得到公司在代理点处需要购买新车;接着,根据附件4提供的10款同类汽车的价格、使用寿命、寿命期内的年维修费用,以八年为一周期,计算出每款汽车的总费用,确定公司应该购买第8款车型使得最终效益最高;最后,利用最小二乘法拟合需求量与拥有量的关系,结合前三问求出的总收入及总支出,建立回归函数,借助函数极值点求解及matlab图像分析,得到购进41辆第8款型号的汽车可使年利润最高,利润最高为4.2×104万元。
对于线性规划这种方法,常常在动态理解的一些实际问题中大放异彩,作者在此篇文章中利用matlab对线性规划有着深入的理解。
国内汽车租赁市场兴于1990年北京亚运会兴起,起初只在国际化程度较高的城市率先发展,随着城市国际化程度和经济的飞速发展,汽车租赁也在其他城市慢慢出现。某城市有一家汽车租赁公司,此公司年初在全市范围内有379辆可供租赁的汽车,分布于20个代理点中。每个代理点的位置都以地理坐标X和Y的形式给出,单位为千米。假定两代理点之间的距离约为两者直线距离的1.2倍。通过分析附件1—附件6给出的数据,解决下列问题:
1.结合附件给出未来四周内每天的汽车调度方案,在尽量满足每个代理点汽车数量需求的前提下,使总的转运费用最低。
2.为了使年度总获利最大,从长期考虑是否需要购买新车?如果购买的话,确定购买计划(考虑到购买数量与价格优惠幅度之间的关系,在此假设如果购买新车,只购买一款车型)。
我们考虑用线性规划解决问题,该问题解决核心是:针对不同问题,通过改变目标函数和约束条件并通过编程软件来得到最优解,并且通过对未来一周的求得的最优解,将结果拓展到未来四周,并得出各种满足题目要求的调度方案。
问题一的分析
问题一要求仅考虑转运费用最低的汽车调度方案,根据附件一、附件三、附件六的数据可得各点车辆初始量、以后四天各点的需求量以及各代理点间转运费用。该问题可用基于当天转运费用最低的线性规划模型求解连续两天之间的关系,通过使用matlab软件可得出当天转运费最低的最优解,进而以所得第二天数据作为原始数据与第三天需求建立线性规划,依次算出未来七天的调度方案,并且以这一周的调度方案拓展到未来四周的调度方案。
问题二的分析
问题四要求使得年度获利最大是否需要购买车,若购买需要哪款车,依据去年每天的需求总量进行分析,得出了需要购置新汽车的需求,根据购买数量以及优惠幅度对各款汽车进行分析得出车型选择。根据假设,购买相同数量的各型号汽车,优惠幅度相同。在车辆寿命周期中,各车辆维修费用不尽相同,根据对车辆价格与维修费用的分析发现,8号车型购买价格与维修价格均为最低,故选择8号车型,然后通过分析需求量与现有车辆的对比,并且列出总利润与车辆数量的关系,通过matlab以图表的形式展示出来并得到总利润最大值时的车辆数,最终进一步确认具体购买车辆数。
3.1 问题一模型建立 对于问题一,我们根据附件三中未来四周每个代理点每天的汽车需求量的相关数据,我们决定对每天进行分析,并依次得出未来四周每天的租赁计划。对于此问题,我们决定用线性规划模型,目标函数则为该天的汽车转运成本数的最小值。通过该天与下一天的需求量的对比,得出哪些代理点需要出车,哪些代理点需要进车,并且在此过程中,汽车总数保持不变,各个代理点进车总和与出车总和为零,并加以约束条件。如果下一天的总需求量大于现有车辆数,则保证需要出车的代理点达到出车数量要求,需要进车的代理点保证进车数量小于等于该点需求量;如果下一天的总需求量小于现有车辆数,则保证需要进车的代理点达到进车数量要求,需要出车的代理点保证出车数量小于等于该点需求量。同理,得到未来四周的租赁计划。
3.2 问题一模型求解 首先根据各个代理点的位置,利用matlab找到他们相应的位置。如下图所示:
表1 各代理点位置
得到各代理点位置后,通过matlab计算得到各个代理点间的直线距离后,分别乘1.2,后利用数学方程整理:
可列出目标函数,如下所示:
对于约束条件如果下一天的总需求量大于现有车辆数,则保证需要出车的代理点达到出车数量要求,需要进车的代理点保证进车数量小于等于该点需求量;如果下一天的总需求量小于现有车辆数,则保证需要进车的代理点达到进车数量要求,需要出车的代理点保证出车数量小于等于该点需求量,基于这一想法,针对第一天到第二天的调度需求,我们要求需要出车的代理点全部达到要求,而需要进车的代理点进车数小于等于需要进车的数量,故我们列出如下约束条件,约束条件如下所示:
利用matlab,求解可得:
各个代理点需要出车或进车的具体数量,经过进一步计算可得第二天实际调度情况如下图所示,已经基本满足第二天需求量的要求。
表2 第二天实际调度情况与理论调度情况对比
3.3 问题四模型建立与求解 根据我们前面求解的最佳调度方案,可得出未来四周每天所得的汽车需求量数。又已知现有车辆数为379,然后将调度方案中的需求车辆数与379相比对,得到对比图如下图所示:
表3 需求量与379对比
经过对比,我们对需求量多于379和需求量小于379的天数一目了然。然后我们对附件4中十款车的八年的维修费用进行excel加和,再分别与各自的购买费用进行加和,由于我们假设各车辆购买时有相同的优惠力度,故综上分析,我们得知选择种类8车辆。因为他的八年维修费用总和与购买费用均为最低,总体成本最少,能带来更多的收益,故选择这一款车型。
对于每一辆车每天的收入求解
每个代理点的每天的盈利不会有太大的变动,而且每辆车的每天的租赁收入波动也不会太大,因此对每天利润(其中已经除去转运费用及短缺损失费用)对每辆车的收入。问题三已经算出28天的公司综合获利、调度方案的结果,由此可以算出每辆车的平均利润,这样可以具体求出收入平均值为:0.36049495万元/辆。
对于年利润的模型建立与求解
设汽车年度总利润为p,则由简单经济学公式知:总利润=总收入-总支出,即
p=[365*(379+a)-b]*0.3605-41.21*a
其中,a表示新购买的汽车数量,b表示当需求量小于拥有量时闲置的车辆,即
b=|bik-b0ik|(i=1,2,3...28且k=1,2,3...20)
bik表示第i个代理点第k天的实际车辆数,b0ik表示当天理想状态下需求的车辆数(附件中表格每行标注“实际”二字的就是当天车辆数,用需求量减去实际数量取绝对值就是闲置车辆数)
根据附件二计算上一年内每天每个代理点汽车需求量的均值,和问题二中求出的四周汽车拥有量的均值,近似替代需求量xtotal和拥有量ptotal,通过最小二乘法进行拟合:
其中A是需求车辆数据矩阵,B是实际车辆数据矩阵。
利用数学的条件极值解决方法:
利用拉格朗日乘数法就可以模拟xtotal和ptotal的具体关系,如下:
ptotal=-0.34xtotal2+0.1xtotal+21.858
从而可以求得汽车购买数量与年利润的关系式:
p=-1.1744a2+95.77a+40419.8
利用matlab软件,可得年利润与车辆数的关系图如下图所示:
表4 车辆数量与年利润的关系
由于只能取整数,故二次函数利用极点存在定理找到最优解a=41,即购买第8种型号的车辆41辆,可获得最高的利润4.2×104万元。