1、1数学建模竞赛论文论文题目:火车票购票网站优化问题2摘要本文针对火车票购票网站的优化问题,在合理的假设下,分别建立了参数估计 、蒙特卡罗模拟和主成成分分析这三个模型,较好地解决了火车票购票网站的优化问题。:(估计该队列每秒最多能处理多少数据并计算其错误率问题)首先对1Prob题目所给数据进行处理,采集样本。然后运用参数估计的方法,采用最大似然估计法(假设似然函数是正态分布函数)给出参数的点估计。经 软件计Matlb算得到该队列每秒最多能处理 128 个数据,其错误率为 0.0319.:(模拟 2013 年 1 月 17 日网站订票请求量数据并计算需要多少个队列2r可以满足需求问题)本文根据网站
2、日访问量数据和现行的分时购票策略,采用蒙特卡罗方法随机模拟网站获取号码次数、获取号码耗时和入队列总耗时数据,在满足入队列错误率低于 0.1%,队列排队的时间不超过 30 分钟的前提下,得到 2013 年 1 月 17 日的网站订票请求量数据(部分见附录 2.1) ,经 软件atlb计算需要 61+75+69+1155+554+514+71+73+87+13904=16563 个队列可以满足需求。:(评价现行的分时购票策略是否合理,若不合理,请优化,并根据优3Prob化后的分时购票策略,重新计算第二问问题)首先收集影响现行的分时购票策略的每个因素,然后采用主成成分分析法,用 软件计算每个时段的最
3、后总SP得分,并对其降序,得到结果如下:时刻 得分 时刻 得分18:00 2.83 9:00 -0.3711:00 -0.07 16:00 -0.3712:00 -0.25 15:00 -0.3713:00 -0.26 8:00 -0.3917:00 -0.36 10:00 -0.39从表中可以看出该分时购票策略不合理,经优化后的分时购票策略为8:00、9:00、11:00、12:00、13:00、15:00、16:00、17:00、18:00.并重新计算第二问得到 2013 年 1 月 17 日网站订票请求量数据,共需要61+75+1155+554+514+71+73+87+13904=16
4、494 个队列可以满足需求。:(给网站提出一个建议书)通过查阅相关资料,访问火车票购票网站,4Prob然后结合购票过程中遇到的实际问题,本文提出了 4 个较合理的建议。关键词: 火车票 、购票网站、参数估计、极大似然法、蒙特卡罗随机模拟、主成成分分析3一、问题重述1.1问题背景与条件火车,是人们出行的重要的交通工具之一。尤其在节假日,购买火车票的旅客将会非常多,能买到一张火车票是每个旅客的愿望。中国从 2011 年开始实行网络售票,购买火车票的方式从只能到火车票售票口排队购票,逐步发展为可通过电话订票和网站订票等多种便利的途径。网络购票给人来了便利,旅客可以不出家门在网络上就能买到车票,售票窗
5、口也不用那么繁忙,节省了大量的人力物力。网络售票给人带来便利的同时,也出现了不少问题。典型的是2013 年春节的时候,购票网站出现了包括登录、购买、付款等各个环节的问题。为了保证网站更稳定的工作,需要你帮忙提出优化意见。本文为就在此背景下提出下面的问题。1.2需要解决的问题为了便于对问题的分析,现对网站的订票过程做如下简化:1、登录网站:根据用户名和密码登录网站;2、查询余票:查找某趟列车的剩余车票;3、生成订单:锁定剩余车票中的一张作为购买的车票,根据车票信息和购票人信息生成支付订单;4、付款完成:车票购买完成;付款失败:车票回收继续等待预定。经分析,网站订票的瓶颈可能是以下两方面的原因:第
6、一,网站并发问题,也就是同一时刻订票人数过多的问题。在同一时刻(例如 1 秒之间)访问网站的人数过多,服务器无法响应所有人的请求,导致无法登录、无法查询票车票等问题。在春节期间网站的访问量是非常大的,网站的日访问量可以参考 alexa 的记录(见参考资料) 。为了缓解同一时间段内网站访问量过大的问题,网站采取了分时购票的方法,相当于分散了请求量,减轻了同一时间段并发访问过大的问题。第二,唯一资源问题,也就是唯一的一张车票。所有来订票的人先要锁定一张车票,如果出现多人同时请求订购同一张票,那么系统就无法判断这张车票该给谁锁定,这样系统就会让请求重试。如果一直无法锁定车票,就会导致系统死锁、订票失
7、败。为了应对车票这唯一资源的分配问题,网站又采取了排队的方法,即请求到来先获取一个号码等待排队,这样就避免了对车票直接造成死锁。获取一个号码,入队列的过程相对于处理一张车票的过程(包括锁定车票、生成订单、检测支付等一系列操作)是非常快速的。 (这个过程可以和银行的操作流程对比,先获取一个号码排队等待处理,服务窗口是处理器,按照队列先进先出的顺序依次处理) 。订票网站想要利用一种队列来满足现在的订票需要,附件给出了这个队列的测试数据:一个队列的入队列数据和一个队列的出队列数据,这些数据只是测试队列性能使用的,不是预测这一时间网站请求量的依据。根据资料回答以下问题:1、根据队列的数据估计该队列每秒
8、最多能处理多少数据,错误率是多少。2、根据网站日累计访问量数据(见参考资料)和现行的网站分时策略,模拟 2013 年 1 月 17 日的网站订票请求量数据,计算需要多少个队列可以满足需求(总的票数用 N 表示,要求入队列错误率低于 0.1%,要求队列排队的时间不超过 30 分钟) 。43、评价现行的分时购票策略是否合理,可以如何优化(要求分时不超过 10个)根据优化的分时策略重新计算第 2 问的问题。4、给网站提出一个建议书,可以包括其他的方面,例如预售期、退票等,不需要建立模型说明。2、问题分析2011 年年底,全国铁路已经全面推行网络售票,中国铁路开始走进电子商务时代。但随着时间的推移,网
9、络购票出现的问题越演越烈。本文的主要工作首先是根据队列的数据,估计该队列每秒最多能处理多少数据并计算其错误率,其次是根据网站日累计访问量数据和现行的网站分时策略,模拟 2013 年 1 月17 日的网站订票请求量数据,计算需要多少个队列可以满足需求。然后是评价现行的分时购票策略是否合理,可以如何优化(要求分时不超过 10 个)根据优化的分时策略重新计算第 2 问的问题。最后是给网站提出一个建议书。对于问题一,要估计该队列每秒最多能处理多少数据并计算其错误率。首先对题目所给数据进行处理,采集样本。然后运用参数估计的方法,采用最大似然估计法(假设似然函数是正态分布函数)给出参数的点估计。最后用软件
10、求出该正态分布函数的参数估计值。matlb对于问题二,要根据网站日累计访问量数据和现行的网站分时策略,模拟2013 年 1 月 17 日的网站订票请求量数据,并计算需要多少个队列可以满足需求。建立蒙特卡罗模拟模型,采用蒙特卡罗方法随机模拟网站获取号码次数、获取号码耗时和入队列总耗时数据,在满足入队列错误率低于 0.1%,队列排队的时间不超过 30 分钟的前提下,得到 2013 年 1 月 17 日的网站订票请求量数据,并计算需要多少个队列可以满足需求。对于问题三,要评价现行的分时购票策略是否合理,可以如何优化(要求分时不超过 10 个)根据优化的分时策略重新计算第 2 问的问题。首先要收集影响
11、现行的分时购票策略的每个因素,然后采用主成成分分析法,用 软件计算SP每个时段的最后总得分,并对其降序,从中可以看出哪些具有优势和劣势,相对于优势来说,劣势可以进行优化。最后在优化的分时策略的基础上,用蒙特卡洛方法重新计算第二问的问题。对于问题四,要给网站提出一个建议书。查阅相关资料,访问火车票购票网站,再结合购票过程中遇到的实际问题,提出相关的合理建议即可。三、模型假设结合本题的实际,为了确保模型求解的准确性和合理性,我们排除了一些因素的干扰,提出以下几点假设:1、假设题目所给的数据真实可靠;2、假设模型建立的过程中不存在网站订票的瓶颈;3、假设现行的网站分时策略比较合理;4、假设模型进行参
12、数估计的显著性水平为 0.05;5、假设模型给出的似然函数是正态分布函数;6、假设模型模拟网站订票请求量数据的方法可靠;57、假设模型评价现行的分时购票策略的方法可靠;8、假设针对问题所给出的建议能够起到较好的结果,建议可靠,作用性强。四、符号说明为了便于问题的求解,我们给出以下符号说明:符号 说明)(Ll),xfn321niif);(4xx、 0,suj,321,jjR4321,ubjpZ参数似然函数对数似然函数概率密度函数样本观察值联合密度函数火车起售车站数量、网站购票数量、网站访问量、网站预售票数量时刻 (除去 14:00)0:18:第 个指标的样本均值和样本标准差j标准化指标变量相关系
13、数矩阵特征值特征向量信息贡献率累积贡献率综合得分5、模型的建立与求解经过以上的分析和准备,我们将逐步建立以下数学模型,进一步阐述模型的实际建立及求解过程。5.1模型一(参数估计模型)5.11极大似然估计算法步骤: 数据处理,采集样本;1Step:由总体分布导出样本的联合概率密度函数;2:把样本联合概率密度函数中自变量看成已知常数,而把参数 看作自变3t 6量,得到似然函数 ;)(L:求似然函数 的最大值点(常转化为求对数似然函数 的最大值4Step )(l点) ;:在最大值点的表达式中,用样本值代入就得参数的极大似然估计值5t5.12具体过程要根据队列的数据,估计该队列每秒最多能处理多少数据并
14、计算其错误率。首先对题目所给数据进行处理,采集样本。然后以 作为参数,使已知数据在某种意义下最可能出现,使得似然函数 (假设似然函数是正态分布Y )|(YL函数)最大。在最大值点的表达式中,用样本值代入就得参数 的极大似然估计值具体过程如下:(1):对题目所给数据进行处理,采集样本,将它们制作成表格如下:处理个数220 159 109 89 101 100 111 111错误率 0.0591 0.0503 0 0 0.0099 0.01 0 0处理个数166 150 164 116 122 101 101错误率 0.0602 0.0867 0.122 0.0259 0.0246 0.0099
15、0.0198表 1(2):假设总体近似服从正态分布,即 ,估计参数 。)(2X(3):设总体 是连续离散型随机变量,其概率密度函数为 ,若取得X );(xf样本观察值为 ,则因为随机点 取值为 时nx,21 ),(21n ,21n联合密度函数值为 所以,按极大似然法,应选择 的值使此概率iif1);(达到最大我们取似然函数为 。 【1】niixfL1);()((4):极大似然估计法就是在参数 的可能取值范围 内,选取使 达到最)(L大的参数值 ,作为参数 的估计值即取 ,使, 【2】因此,求总体参数 的极大);,(max);,() 2121 nnxLxL 似然估计值的问题就是求似然函数 的最大
16、值问题这可通过解下面的方程【3】 来解决因为 是 的增函数,所以 与 在 的同一值处0)(dl Lln7取得最大值我们称 为对数似然函数因此,常将方程【3】写成:)(ln)(L【4】0)(lndL方程【4】称为似然方程(5):解方程【3】或【4】得到的 就是参数 的极大似然估计值(6): )|(XL得出 .通过 软件求解得到参数 的极大似然估计值为 128, 0.0319(程序见附录一)matlb即最大处理数据为 128,其错误率为 0.0319.5.2模型二(蒙特卡罗模拟模型)根据网站日累计访问量数据和现行的网站分时策略,建立蒙特卡罗模拟模型,具体过程如下:(1):查阅 2013 年 1 月
17、 17 日的网站日累积访问量数据为 16564480,查阅12306 网站及关于调整部分车站互联网、电话订票起售时间的公告,了解现行的网站分时策略,并作出相关分析。(3):以 1000 次作为一次模拟,随机模拟获取号码次数、获取好码耗时和入队列总耗时数据,在满足入队列错误率低于 0.1%,队列排队的时间不超过 30分钟的前提下,得到 2013 年 1 月 17 日的网站订票请求量数据(8:00 时刻部分见附录 2.1) ,并且计算出需要多少个队列可以满足需求。(4):经 软件编程(具体程序见附录 2.2)算出需要matlb61+75+69+1155+554+514+71+73+87+13904
18、=16563 个队列可以满足需求。5.3模型三5.31(主成分分析模型)要评价现行的分时购票策略是否合理,可以如何优化(要求分时不超过 10 个) 。采用主成成分分析方法对现行的分时购票策略进行综合评价,具体步骤如下:(1):收集影响现行的分时购票策略的每个因素,将其做成表格如下:时刻 火车起售车站数量网站购票数量 网站访问量 网站预售票数量8:00 25 75000 61250 785009:00 36 108000 75410 114500810:00 30 90000 69040 9410011:00 178 534000 1155200 54100012:00 88 264000 55
19、4120 28740013:00 85 255000 514200 26540015:00 33 99000 71200 10070016:00 34 102000 72510 11540017:00 39 117000 87410 12410018:00 1308 4924000 13904140 4759007总数 1856 6478900 16564480 6480107表 2(2):用 分别表示火车起售车站数量、网站购票数量、网站访4321xx、问量、网站预售票数量,用 分别表示时刻 (除去10,3i 0:18:14:00) ,第 时刻 的取值分别记作 ,构造矩阵i、 ,1ai2i3i
20、i4.)(410ajA(3):对原始数据进行标准化处理。将各指标 转换成标准化指标 ,有ij ij= ,其中: ,ij 4,321,0,jisuji 10iijjau,即 为第 个指标的样本均值和样本,10)(jijij asj,标准差。对应地,称 ,为标准化指标变量。4,321,jsxjj(4):计算相关系数矩阵 。相关系数矩阵 ,有R)(4rijR其中: 是第 个指标与第 个指标,4321,10*10jiarkkiij rijiji,1j的相关系数。(5):计算特征值和特征向量。计算相关系数矩阵 的特征值 ,R4321,及对应的标准化特征向量 。u4321,(6):计算特征值 的信息贡献率
21、和累计贡献率。称)(j9为主成分的信息贡献率, 为主成分的累积贡4,321,51jkjb41kpk献率。经 软件计算得到累计贡献率为 0.99976,达到符合要求。SP(7):计算综合得分: ,其中: 为第 个主成分的信息贡献率,ybjpjZ1j根据综合得分值就可以进行评价。经 软件计算得到各时刻的信息贡献率和SP和综合得分如下表:表 3(8):评价现行的分时购票策略是否合理并且优化:从表 3 中可以看出,各时段的综合得分前两个数据明显大于后面的数据,并且第一个数据又明显大于第二个数据,后面的数据相对比较均匀,由此可以得出现行的分时购票策略不合理,应该让 18:00 时刻和 11:00 时刻火
22、车起售车数量均匀分给其他时刻,并且重新调整分时购票策略如下:8:00、9:00、11:00、12:00、13:00、15:00、16:00、17:00、18:00.5.32(优化后重新计算第二问的问题)根据优化的分时策略,经 软件编程(部分程序见附录 3.1)重新模拟Matlb2013 年 1 月 17 日的网站订票请求量数据(部分见附录 3.2),计算出共需要 61+75+1155+554+514+71+73+87+13904=16494 队列可以满足需求。5.4给出建议书2011 年年底,中国铁路开始全面实行网上售票。然而网络购票给广大客户带来便利的同时,也相继出现了不少问题。归根结底,还
23、是需要提升 12306 网站的体验,做好应急预案,才是王道。现建议如下:建议一:目前用户进入车票预定页面所默认的起始时间是当日,其实在春运期间,可以默认的是最早订到车票的日期,服务好急于订票的用户最贴心。建议二:在12306的乘车人姓名、座位席别要在预定了再选,建议预先选定,并且自动记忆,这样用户上次没买到,下次系统还记得,直接点击确认就可以继续购票了。其实就是让网站更“聪明”些,自动知道用户要买哪天、哪趟车的票。10建议三:网上购票流程,查询-预定-确认-完成,这样的操作逻辑更适合售票员,不适合网民的习惯,完全是照搬线下窗口售票。建议做做数据挖掘,把用户常买的车次记录下来,然后用户一登进去,
24、就应该显示用户最常买的那些车次。建议四:往返这个需要走两遍预订的流程,目前需要选两遍,乘车人,输入两遍验证码,进行两次验证,建议可以合并为一次预订。6、模型的评价与推广6.1优点算法的精确度较高,具有很好的稳定性和可信度。对于参数估计模型,极大似然法是对总体参数 作点估计的一个较好的方法,其优点是无论在白噪声干扰或有色噪声干扰下,都有良好的统计特性。对于蒙特卡罗模型,蒙特卡罗模拟方法的优点是能够比较逼真地描述具有随机性质的事物的特点及物理实验过程,受几何条件限制小,收敛速度与问题的维数无关,误差容易确定,程序结构简单,易于实现。对于主成成分分析模型,主成成分分析法的优点是可消除评价指标之间的相
25、关影响,可减少指标选择的工作量,当评级指标较多时还可以在保留绝大部分信息的情况下用少数几个综合指标代替原指标进行分析, 在综合评价函数中,各主成分的权数为其贡献率,它反映了该主成分包含原始数据的信息量占全部信息量的比重,这样确定权数是客观的、合理的,它克服了某些评价方法中认为确定权数的缺陷。 这种方法的计算比较规范,便于在计算机上实现,还可以利用专门的软件。6.2缺点对于参数估计模型,极大似然法最终要归结为是似然函数值为最大的最优化问题,这就往往得不到解析解,只能采用数值解法,所以计算工作量较大。对于蒙特卡罗模拟模型,蒙特卡罗方法的缺点是收敛速度慢,误差具有概率性,进行模拟的前提是各输入变量是
26、相互独立的。对于主成成分分析模型,在主成成分分析中,我们首先应保证所提取的前几个主成分的累计贡献率达到一个较高的水平(即变量降维后的信息量须保持在一个较高水平上) ,其次对这些被提取的主成分必须都能够给出符合实际背景和意义的解释(否则主成分将空有信息量而无实际含义) 。其次主成分的解释其含义一般多少带有点模糊性,不像原始变量的含义那么清楚、确切,这是变量降维过程中不得不付出的代价。因此,提取的主成分个数 m 通常应明显小于原始变量个数 p(除非 p 本身较小) ,否则维数降低的“利”可能抵不过主成分含义不如原始变量清楚的“弊” 。6.3推广极大似然估计法在不同概率问题中应用很多,当然它还可以作用在其他方面,比如应用极大似然法分析质量-数量性状遗传,估计信号频率等。蒙特卡罗方法所特有的优点,使得它的应用范围越来越广。它还可以应用在粒子运输问题,统计物理,典型数学问题,真空技术,激光技术以及医学,生物,探矿等方面,特别适用于在计算机上对大型项目、新产品项目和其他含有大量不确定因素的复杂决策系统进行风险模拟分析。随着科学技术的发展,其应用