19年数学建模

【2019数学建模】国赛C题:机场出租车优化问题(原创) 文章目录机场出租车优化问题摘 要问题的重述问题的分析2.1问题一的分析2.2问题二的分析2.3问题三的分析2.4问题四的分析符号说明模型的建立与求解5.1 问题一模型的建立与求解5.2模型二的建立与求解5.3问题三5.4问题四6.模型的推广与改进7.模型的优缺点参考文献 机场出租车优化问题 摘 要 本文针对机场的出租车优化问题进行了研究,建立了基于多属性的出租车司机接客决策树模型,通过基... 阅读详情

//download.youkuaiyun.com/download/programmer9/11987786

机场出租车的优化模型问题研究
摘要
机场的出租车安排与调度对机场至关重要,本文主要运用了排队论、微分模型,并结合了VISSIM仿真,研究司机的最优决策模型和如何设置最优上车点,使得总的乘车效率最高。
针对问题一,我们通过查阅资料,分析研究出了影响出租车司机决策的几大因素,建立司机收益模型,分为两种收益:(1)在机场接客的平均收益 (2)在市区接客的平均收益,为了得到第一种收益,我们假设乘客都要去某一固定地点,乘客按照泊松流到达接客地点,并建立排队论模型,求出司机在机场接客需要平均等待的时间,结合油价等算出在机场接客的平均收益。为了得到第二种收益,我们通过查阅文献,得到市区司机载客人数、出行距离和空载时间等数据,结合油价计算出去市区的收益。通过这两种收益我们得出在一天之内适合去机场的时间段以及适合去市区的时间段,使得司机获得更多收益。
针对问题二,在问题一建立的决策模型上,我们利用python编程获取2019年9月11日到达某机场的客流量,并将一天等时划分为48个段。并将客流数据与我们建立的决策模型相结合可知在去机场的收益更高,何时去市区的收益更高。我们从乘客数据可知凌晨一点半到八点机场几乎没有乘客到达,这与我们的模型相符,充分证明了我们模型的合理性。依赖因素:乘客人数,油价,司机的等待时间。依赖比重为: ::=5.7:3.2:1.1
针对问题三,在保证车辆和乘客安全的条件下,如何设置上车点,使得在双车道中乘车效率最高是解决本问题的关键。我们通过查阅大量资料,得到乘客上车所需时间,出租车从等待区到泊位的时间,建立排队论模型,并通过VISSIM建模,研究的泊位数量与通行能力的关系,发现随着泊位数量的增加通行效率先增加后减少,最后可得到在最佳的泊位数量为14个时,乘车效率最高。
针对问题四,在前三问建立的模型基础之上,我们求出了拉长途出租的平均收益 =22.90元/时和拉短途出租的平均收益=5.63元/时,显然其利益并不均衡。为了补偿拉短途出租的利益,飞机场要通过单独设置车道等方式来降低拉短途出租的等待时间,从原来的1.25小时降到0.16小时,这样才可以平衡利益。

关键词:选择决策模型;排队论;对数正态分布;泊松分布;VISSIM仿真

一、问题重述
1.1问题背景
大多数乘客下飞机后要去市区(或周边)的目的地,出租车是主要的交通工具之一。国内多数机场都是将送客(出发)与接客(到达)通道分开的。送客到机场的出租车司机都将会面临两个选择:
(A) 前往到达区排队等待载客返回市区。出租车必须到指定的“蓄车池”排队等候,依“先来后到”排队进场载客,等待时间长短取决于排队出租车和乘客的数量多少,需要付出一定的时间成本。
(B) 直接放空返回市区拉客。出租车司机会付出空载费用和可能损失潜在的载客收益。在某时间段抵达的航班数量和“蓄车池”里已有的车辆数是司机可观测到的确定信息。通常司机的决策与其个人的经验判断有关,比如在某个季节与某时间段抵达航班的多少和可能乘客数量的多寡等。如果乘客在下飞机后想“打车”,就要到指定的“乘车区”排队,按先后顺序乘车。机场出租车管理人员负责“分批定量”放行出租车进入“乘车区”,同时安排一定数量的乘客上车。在实际中,还有很多影响出租车司机决策的确定和不确定因素,其关联关系各异,影响效果也不尽相同。
1.2 问题提出
根据以上问题背景,我们团队将从以下几个问题展开讨论:
(1) 分析研究与出租车司机决策相关因素的影响机理,综合考虑机场乘客数量的变化规律和出租车司机的收益,建立出租车司机选择决策模型,并给出司机的选择策略。
(2) 收集国内某一机场及其所在城市出租车的相关数据,给出该机场出租车司机的选择方案,并分析模型的合理性和对相关因素的依赖性。
(3) 在某些时候,经常会出现出租车排队载客和乘客排队乘车的情况。某机场“乘车区”现有两条并行车道,管理部门应如何设置“上车点”,并合理安排出租车和乘客,在保证车辆和乘客安全的条件下,使得总的乘车效率最高。
(4) 机场的出租车载客收益与载客的行驶里程有关,乘客的目的地有远有近,出租车司机不能选择乘客和拒载,但允许出租车多次往返载客。管理部门拟对某些短途载客再次返回的出租车给予一定的“优先权”,使得这些出租车的收益尽量均衡,试给出一个可行的“优先”安排方案。

二、问题假设与符号说明
2.1问题假设
1)假设所有的出租车都不会有路上抛锚、燃油耗尽等意外情况;
2)假设出租车司机只有两种出行选择:去机场或者去市区;
3)假设乘客出机场后如果发现没有适合乘坐的出租车,他们将会排队乘车,而不选择其他方式乘车;
4)假设飞机航班都不会延误都按时到达;
5)假设所有的出租车司机的收费标准都相同;
6)不考虑出租车在返回机场途中遭遇堵车等因素;
7)假设出租车司机不会中途插队;
8)假设出租车司机不会半路接客;
9)假设机场的客流量能反映出整体的实际,不考虑极度偶然的情况。

2.2符号说明

符号 含义
司机去机场收益
司机去市区收益
司机长途拉乘客的平均收益
司机短途拉乘客的平均收益
司机在机场接乘客并将其送到目的地的时间
司机在市区接乘客并将其送到目的地的时间
司机的平均收益
某司机前面排队的司机人数
机场内的乘客人数
乘客的目的地和机场之间的距离
乘客选择打车的概率
服务中的乘客数
队列中的乘客数
乘客在队列中的等待时间
载客人数比重矩阵
乘客人数比重矩阵
乘客上车过程所需时间
出租车上客的通行能力

三、模型的建立与求解
3.1 问题一
3.1.1问题分析
对于问题一,出租车司机如何选择可以转换为去机场拉客利润大,还是去市区拉客利润大,为此我们建立出租车的收益模型。同时我们查阅资料后,我们归纳出影响出租车司机决策的相关因素:
1)司机在接到乘客之前的排队时间。
2)此阶段油价的高低。
3)机场乘客的数量多少

3.1.2模型建立:
针对第一问,我们建立了一个司机收益模型,这个收益的标准应为单位时间收益,即每小时司机能挣多少钱。分为以下两种收益:
司机选择去机场的收益以及选择去市区的收益分别为:

式中与相同,这是为了简化计算,所以取相同的时间。
3.1.3司机在飞机场平均收益
假设在该司机前面排队的司机人数为,而机场内的乘客人数为,乘客打车去的地方和机场的距离为,乘客会选择打车的概率为,假设该司机需要等待时间才可以拉上乘客。
根据我们对符号的设定,在该时间点有的乘客选择打车,通过查阅资料我们得出机场乘客约 的人会选择出租车。通过我们的查询,在一天内郑州市接纳乘客33854人,那么约有11285人选择打车。
并且我们通过对机场乘客到来规律的分析,我们可以知道顾客的相继到达时间服从参数为8的负指数分布,而根据模型假设,此处为单处理台,服务时间 服从参数为11的负指数分布,为了简化问题规模,我们在这里假设乘客数目是无限的,那么这就是一个的单服务台模型。
对于这个排队论模型而言,可推导出以下数学公式:

式中:为机场平均每分钟坐出租车的人数,为机场平均每分钟出租车可以送走的人数,为服务强度,为机场等待的平均司机数,每名司机在飞机场的平均逗留时间。
根据条件可求得:、、
进一步我们根据公式(3)可以求得每位司机在机场的平均等待时间:

式中:
我们可以知道每位司机平均要等待75分钟,结合油费等成本,最终我们求得司机在飞机场的平均收益为41.30元/时。
考虑到从飞机场下机的人通常要前往市区,并且其距离有远有近,,为了简化计算难度,因此我们假设机场乘客目的地均为紫荆山广场,所以行程距离都等于都前往郑州紫荆山广场的距离。通过实际调查得出:
对于郑州的出租车而言,起步价为六元,每公里1.5元超过12公里还需加收单程费用,也就是每公里2.25元。从郑州新郑国际机场到紫荆山广场的距离为=37公里,根据以下公式可以求得毛利润=80.25元:

为了简化计算量,我们假设司机所用均为95号汽油,该汽油在河南的油价为,查阅相关数据可知:对于出租车一般每百公里耗油8~10升,我们选择其平均值即:每百公里耗油。
根据以下公式:

求得出租车司机每公里的油耗费用=0.64元。
经过查阅资料得出,出租车每天大约开300公里,假设每天行驶10个小时,那么每小时就是三十公里,那么这路上就要消耗的时间为=1.23小时。由公式(6)

上式中: 从郑州新郑国际机场到紫荆山广场的距离, 为出租车司机每公里的油耗费用,为净耗时,为净利润,为净平均收益。
由上述公式我们得出司机在飞机场的净平均收益元/时
接着我们通过分析资料,得出以下数据:
表1 0:00到14:00乘客比重表
时间 比重 时间 比重
0:30 2.18 10:30 1.85
1:00 1.06 11:00 3.49
1:30 0.87 11:30 0.74
2:00~8:00 0.00 12:00 2.61
8:30 1.00 12:30 2.51
9:00 2.63 13:00 1.53
9:30 1.30 13:30 0.21
10:00 2.86 14:00 0.59

表2 14:00到23:00乘客比重表
时间 比重 时间 比重
14:30 0.82 19:00 1.78
15:00 3.40 19:30 1.55
15:30 0.77 20:00 0.81
16:00 1.64 20:30 0.44
16:30 0.76 21:00 1.03
17:00 3.47 21:30 0.97
17:30 0.82 22:00 1.55
18:00 0.58 22:30 0.57
18:30 1.05 23:00 0.59

通过分析我们可以知道不同时刻相对于平均人流量的比重,那么每一时间段得实际净收益M可以根据公式(7)求得:

式中:为不同时刻的权重。

3.1.4司机在市区的平均收益
我们通过查阅大量数据[7],经统计分析得出城市内市民打车出行距离的长短,如下表所示:
表3:三个城市里乘客的出行距离
距离/km A城市 B城市 C城市
乘客频繁出行距离 2.90km 1.00km 1.70km
平均出行距离 6.30km 3.10km 4.20km

分析上表,我们可以知道:对于到达市区的司机而言,所拉的客人大部分出行距离比较短,很少有超过十公里的出行距离。为了简化问题,我们根据公式(7)在这里认为郑州市的出租车平均距离为km

经查阅资料[7]可知,市区居民平均出行时间约为15分钟,郑州市的出租车速度为30km/h,进而可以求出每分钟出租车行驶路程。同样我们经过分析数据[7],我们得到该司机的空载时间约为14分钟。
由问题假设可知,出租车司机不会中途拉客,到达市区后立刻拉到客人,拉客15分钟后即进入14分钟的空载时间。从机场到市区耗时,那么总时间 ,由公式(8)求出司机的收支为(按7.50公里计算):

同样的,我们查阅资料得到下表7、表8 市区载客比重表

表4 0:30到11:30司机在市区的载客比重表
时间 比重 时间 比重
00:30 0.82 7:30 1.78
1:30 3.40 8:00 1.55
2:30 0.77 8:30 0.81
3:30 1.64 9:00 0.44
4:30 0.76 9:30 1.03
5:30 3.47 10:00 0.97
6:00 0.82 10:30 1.55
6:30 0.58 11:00 0.57
7:00 1.05 11:30 0.59

表5 11:30到21:00司机在市区的载客比重表
时间 比重 时间 比重
12:30 1.75 17:00 1.59
13:00 1.77 17:30 1.67
13:30 1.76 18:00 1.72
14:00 1.70 18:30 1.76
14:30 1.62 19:00 1.79
15:00 1.55 19:30 1.82
15:30 1.50 20:00 1.83
16:00 1.58 20:30 1.81
16:30 1.64 21:00 1.65
根据上表司机可以通过下面公式求出各个时段内得收益:

综述我们可以通过公式(7)和公式(9),得到不同时段去机场和去市区得利润,通过比较就可以知道选择去哪利润更大.

3.2 问题二
3.2.1问题分析
在本问中我们选择9月11日郑州新郑机场接纳的客流量及出租车相关数据。并结合我们第一问中提出的决策模型,给出司机的选择方案。我们在第一问中已求出司机在飞机场的平均收益,司机在市区的平均收益,再结合乘客人数比重和载客比重即可求得司机各个时间段在飞机场和市区的收益,两者比较即可得出司机的实际选择方案。
3.2.2数据分析
首先我们将得到的一天客流量按照半小时一个时间段进行分段,得到:
表6 0:30到14:00机场客流量图
时间 人数 时间 人数
0:30 1538 10:30 1302
1:00 746 11:00 2458
1:30 612 11:30 522
2:00~8:00 0 12:00 1839
8:30 708 12:30 1768
9:00 1852 13:00 1078
9:30 914 13:30 150
10:00 2018 14:00 414

表7 14:00到23:00机场客流量图
时间 人数 时间 人数
14:30 576 19:00 1256
15:00 2396 19:30 1096
15:30 546 20:00 572
16:00 1154 20:30 312
16:30 534 21:00 726
17:00 2446 21:30 684
17:30 576 22:00 1096
18:00 406 22:30 400
18:30 741 23:00 418

由两表数据可知:
1)每天以14:00为分割线,两边均有不同的峰值波动。
2)前半日人流量随着时间先增加后减少再增加,
3)后半日的人流量随着时间先猛增至最大然后减少再增加在减少
4)对于23:00到次日0:30时的客流量较少可忽略不计
进一步分析数据,我们使用matlab作图对上述表格做了处理,得到了下图

图1 机场客流量直方图

我们将一天均分为了48个时段,表中的0-1就代表着0:00-0:30.
根据图和表我们可以十分轻易地看出一天客流量内的三个特点:
(1)1:30到8:00这段时间内飞机场是没有乘客到达的
(2)半小时内的最高到达人数为2446人,不过出现这种情况的时间段比较少,半小时到达乘客人数超过2000人的只有两小时
(3)半小时内到达乘客人数在750人(不计算无乘客到达的情况)以内的时间段最多,约有10个小时。
同理,我们处理得到市区的乘客数量直方图。

3.2.3模型的求解
根据第一问建立的决策模型,我们可以知道司机在飞机场的平均收益,司机在市区的平均收益。再将本题中收集的乘客数据做成乘客比重,进而得出乘客比重矩阵,就可以求出司机各个时间段在飞机场的收益。

表8 0:00到14:00乘客比重表
时间 比重 时间 比重
0:30 2.18 10:30 1.85
1:00 1.06 11:00 3.49
1:30 0.87 11:30 0.74
2:00~8:00 0.00 12:00 2.61
8:30 1.00 12:30 2.51
9:00 2.63 13:00 1.53
9:30 1.30 13:30 0.21
10:00 2.86 14:00 0.59

表9 14:00到23:00乘客比重表
时间 比重 时间 比重
14:30 0.82 19:00 1.78
15:00 3.40 19:30 1.55
15:30 0.77 20:00 0.81
16:00 1.64 20:30 0.44
16:30 0.76 21:00 1.03
17:00 3.47 21:30 0.97
17:30 0.82 22:00 1.55
18:00 0.58 22:30 0.57
18:30 1.05 23:00 0.59

据此我们就可以求出司机在飞机场各个时间段的的收益。
同理可得,司机在市区拉客的各个时间段的收益。
最终我们通过对两者的收益进行做差,并整理数据,做出了不同时段的收益差值图。

图2 收益差值图

由上图我们可以得到:
1)在0:301:30、8:309:00、9:3011:00、12:0013:30、14:30~15:00的时间里,司机选择去机场的利润更高。
2)在2:008:30、9:009:30、13:0014:30、17:0018:30、20:00~23:30的时间里,司机选择去市区的利润更高

3.2.4选择方案对相关因素的依赖性
经过我们分析可知,选择方案会对以下三个因素产生依赖性
1)乘客的数量(包括飞机场和市区)。
2)司机在接到乘客之前的排队时间
3)此处油价的高低。
在这三个因素中,我们通过编程分析数据,我们得出三种因素在选择方案中的依赖程度为 ::=5.7:3.2:1.1。

3.3问题三
3.3.1问题分析
针对问题三,经分析本题的目的是在双并行车道的条件下,同时保证车辆和乘客安全的条件下,如何设置乘客上车点,使得总的乘车效率最高,因此我们只需要乘客与出租车司机满足动态平衡即可,所以我们假设此时乘客和出租车都足够多,建立排队论模型。为此我们通过查阅大量资料,得到乘客上车时间,出租车从等待区到泊位的时间。
而VISSIM作为一种微观交通仿真工具,由于它可以动态、直观的模拟交通运行场景而被广泛应用与交通系统运行的分析与评价,因此我们可以通过仿真模型VISSIM分析并得出泊位数量与通行能力的关系,通行能力越大说明乘车效率越高,最后得出最佳的上车设置点和划分方法。
3.3.2 VISSM建模逻辑分析
经查阅资料可得,车辆放行控制员以信号的方式( 如:吹哨) 开始放行车辆,当上客泊位停满以后,以信号的方式停止放行车辆,待客车辆被阻止在蓄车区等待下一次放行;乘客放行控制员在车辆停稳后,以信号的方式开始放行乘客,当放行的乘客数量与泊位区车辆数相匹配时,以信号的方式停止放行乘客,后续乘客在队列中等待下一次被放行。
3.3.3仿真参数的确定及模型的建立[13]
1.1仿真参数的确定
在浦东机场 T1航站楼到达高峰时段,作者对其出租车上客区进行了视频采集 ,通过对所采集数据的分析和整理,得出如下参数:
1)从第一辆车从蓄车区被放行开始,到其在第一个泊客位停稳所需的时间服从均值为5s,偏差为2s的均匀分布。
2)在上客区内,从前方车辆在泊客位停稳后,到其紧后车辆在其紧后泊位停稳所需的时间均服从均值为2.5s,偏差为1s的均匀分布。
3)乘客上车过程所需时间:
通过视频的分析,统计了250辆出租车的上客时间( 从乘客走到出租车 附近 到乘客完成上车过程),最短时间为30s,最长时间为90.7s,以10s的时问间隔进行统计,可得下表所示数据:

表10:乘客上车时间与车辆数的统计表
时间区域/s 车辆数/辆 时间区域/s 车辆数/辆
29.3~39.3 100 39.4~49.3 90
49.4~59.3 30 59.4~69.3 16
79.4~89.5 10 89.6~99.5 4

对上表做数据处理,得到其乘客上车时间频数折线图,如图6,我们直观可以看到该趋势线近似指数分布,同时,计算这250个随机变量的方差系数为0.88,可以近似认为乘客上车时间近似服从均值为54s的指数分布。

图3 乘客上车时间频数分布图

3.3.4 VISSM模型模拟结果及数据分析
1.1启动模型,
先以泊位数为4,进行每一轮模拟,开始于第一辆车驶入上客区,终于最后一辆车驶离泊位,为减少偶然因素对模拟结果的影响,运行2000次,得到4个泊位的统计信息表,如表6所示:

                表11  泊位占用相关数据统计信息(4泊位)

停车位数 服务车辆数/辆 平均服务时间时间/s 忙闲率
1 2000 26.47 34.2
2 2000 34.76 45.7
3 2000 45.92 56.9
4 2000 52.15 65.1

通过以上分析,出租车上客系统的通行能力可以用下面公式表示:

式中:为载客系数;为泊位数量;为模拟总轮数;为模拟终止时,模拟时钟的值,时间单位为小时。
根据公式(9),当配备4个泊位时,出租车上客系统通行能力为435人/小时。

1.2泊位数量对通行能力的影响分析
双车道出租车上客系的通行能力的大小与泊位数量有关,增加泊位数量,通行能力增加,边际通行能力减少,但当泊位数量超过某个值的时候,通行能力会减小,本文建立了12个仿真模型,分别模拟泊位数量从2增加到20时候,通行能力的变化情况。模拟结果如表12所示。

表12 :不同泊位数与通行能力关系汇总表
停车位个数 停车位的利用率 模型运行时间 通行能力/(人/小时) 边际通行能力
2 30.6 23086 240 340
4 38.4 32408 435 210
6 45.4 40966 507 180
8 57.3 48687 651 130
10 64.1 55158 790 100
12 72.9 62661 860 63
14 74.3 71895 950 30
16 75.6 85460 958 6
18 77.1 10339 960 2
20 78.8 129490 852 -11

表12的统计结果显示:随着泊位个数的增加,泊位的利用率变大,但是边际通行能力呈下降趋势,当泊位数量为14时,增加两个泊位,通行能力增加8人 ,以载客系数为1.47计,每小时通过出租车的数量增加8辆,当泊位数为16时,每小时通过出租车的数量增加2辆,通行能力的提高不明显,同时随着泊位数量的增加 ,出租车上客区的管理难度增加,不安全因素增加,因此,本次仿真实验表明:双车道出租车上客区的最佳泊位数量为14或16。此时乘客乘车效率最高。
以上分析结果可看出,除了泊位个数以外,影响通行能力的另一个重要因素是上客时间的波动,由于时间所限我们不再对上客时间这个因素进一步分析。现我们给出双车道情况下的最佳上车点,如图4所示:
图4 上车点的设置

我们选择在双车道安置14个上车点,每边就是7个上车点。出租车司机从地下蓄车场出来进入排队,等待管理人员吹哨,每次14辆出租车进入接客区,待这14辆出租车都驶离接客区后,管理人员放下一批出租车司机进入。

3.4问题4
3.4.1问题分析
本题的目的是为了给拉短途的司机一定的优先权,以降低他们的损失,鼓励他们拉短途乘客。题中机场的出租车载客收益与载客的行驶里程有关,我们在此处定义3公里为短途出租车拉乘客跑的距离,定义18公里为拉长途出租车跑的距离。那么很显然,拉长途出租车与拉短途出租车要等候一样的时间,而拉长途出租车赚的要比拉短途出租车多很多,我们认为机场所能给与的优先权就是通过单独设置行车通道这类的办法来降低拉短途出租车的等待时间。
3.4.2计算拉长途司机与拉短途司机的平均收益
根据之前建立的模型,我们这里认为司机的速度为30公里/时。
那么对于拉长途出租而言,往返用时=1.2h,由我们之前建立的模型可知,司机的平均等待时间为1.25h,则拉长途出租拉一次乘客总用时为2.25h。由我们上文建立的模型可知,每公里的油耗为0.64元,则拉长途的司机往返的收益如下:

对于拉短途出租而言,往返收益为:

3.4.3求出飞机场需要降低等待时间到多少
显然飞机场在给完拉短途出租车“优先权”之后,短途出租车的平均收益需要增加到和长途出租车平均收益一样。那么在收益不变的前提下,假设其平均收益为22.90元/时,那么其往返时间=8.16/22.90=0.36小时,那么拉短途出租在机场的时间为0.36-0.20=0.16小时。
3.4.4给出优先安排方案
出租车原本在机场的平均等待时间为1.25小时,现在要将其减为0.16小时,这需要专门为拉短途出租车司机提供专用的停车区,并且优先让他们出行,这样才可使得大多数司机的收益达到一种平均的状态。

四、模型评价与推广
4.1模型的优点
通过建立司机收益模型,在假设的条件下,运用排队论和相关数学知识,求出了在每天的不同时段,司机选择去机场的利润大,还是去市区的利润大。同时采用MISSIM模型,进行模拟机场接客,研究设置上车点个数与乘车效率的关系,最后得到在最佳上车点个数14时,乘车效率最大。我们的方案思路清晰,建立模型可靠,并且有大量的数据支撑,结果有很强说服力。
4.2模型的缺点
1)由于模型中考虑的因素不是很全面,在运用matlab处理分析数据时,难免会有误差;
2)模型的假设考虑得不是很周到,忽略了一些有用的因素。
4.3模型的推广
每种模型都有擅长解决的问题和其适用的范围,本模型作为机场出租车调度的参考,
具有借鉴意义;当然也可以应用于类似的场景,如:高铁站出租车的调度,火车站出租车的调度等
五、参考文献
[1] 过秀成,道路交通运行分析基础。南京,东南大学出版社,2009.
[2] 韩中庚. 数学建模方法及应用[M]. 北京:高等教育出版社,2005.
[3] 黄新民.MATLAB在数学建模竞赛中的应用.广西大学学报,2003.
[4] 孙健,丁日佳,陈艳艳,基于排队论的单车道出租车上客系统建模与仿真.中国矿业大学,2017.5.
[5] 常瑶,基于排队论的西安国际港务区公交优化研究,山西建筑,2013.1.
[6] 苏金明,阮沈勇,王永利.MATLAB工程数学[M].北京:电子工业出版社,2005.
[7] 张凌,出租车乘客和司机的行为模式研究,大连理工大学硕士学位论文,2017.
[8] 刘文安,概率论与数理统计 [M].北京:高等教育出版社,2011.
[9] Cleve Moler,MATLAB之父:编程实践[M].北京:北京航空航天大学出版社,2014.
[10] 过秀成,道路交通运行分析基础。南京,东南大学出版社,2009.
[11] 孔慧心,城市客流分布与出租车出行路线推荐算法的研究.北京邮电大学,2015.
[12] 马云飞,基于出租车轨迹点的居民出行热点区域与时空特征研究.南京师范大学,2014.
[13] 基于VISSIM的首都机场出租车上客方案比较研究.北京交通大学,2013.

六、附录
附录1:新郑国际机场人流量表

航班 起飞时间 到达时间 载客数量
CZ9356 7:35 8:58 150
MU5395 7:35 8:58 162
MU9345 8:11 9:42 162
FM9345 8:11 9:42 150
MU9567 9:12 10:44 162
FM9567 9:12 10:44 150
CZ3592 10:39 12:03 150
MU9456 12:24 13:54 162
MU4883 14:05 15:33 162
HO1069 14:05 15:33 128
MU9329 14:53 16:23 162
CZ9355 16:31 18:03 150
MU5385 16:31 18:03 162
FM9323 17:05 18:33 150
AA7062 19:47 21:20 122
CZ3594 19:47 21:20 150
MU9321 19:56 21:27 162
CZ3598 22:32 0:07 150
FM822 22:55 0:21 150
MU9822 22:55 0:21 162
ZH1391 9:35 10:54 162
CA1391 9:35 10:54 128
NZ3863 9:35 10:54 128
ZH1331 20:19 21:36 128
NZ3903 21:19 22:36 150
CA1331 21:19 22:36 128
AQ1029 6:24 8:19 122
CZ6611 7:20 9:15 150
MU3399 9:36 11:30 162
CZ6631 9:36 11:30 150
PN6381 9:53 11:50 128
HU7739 10:06 11:57 128
CZ6625 11:44 13:34 150
CZ3960 12:53 14:46 150
MU3434 14:36 16:42 162
CZ3972 14:36 16:42 150
3U3198 16:56 18:58 122
CZ3394 16:56 18:58 150
Y87719 18:01 19:55 162
HU7719 18:01 19:55 128
MF1546 18:52 20:43 162
MU3435 18:52 20:43 162
CZ3396 20:00 21:55 150
MF1541 20:00 21:55 162
MU3436 20:00 21:55 162
CZ3390 21:31 23:29 150
MF1543 21:31 23:29 162
MU3433 21:31 23:29 162
CZ3392 21:31 23:29 150
GJ8781 6:50 8:07 128
MF5119 7:20 8:35 162
SC7085 7:20 8:35 158
G58725 7:20 8:35 128
3U8953 7:20 8:35 122
JD5635 9:37 11:00 210
MF1085 10:45 12:12 162
3U3080 10:45 12:12 122
CZ3746 10:45 12:12 150
MU9295 11:08 12:36 162
FM9295 11:08 12:36 150
MF1089 13:21 14:48 162
3U3107 13:21 14:48 122
MU3328 13:21 14:48 162
CZ3939 13:21 14:48 150
3U4233 15:12 16:44 122
CZ5087 15:12 16:44 150
NS8243 15:12 16:44 150
MF8243 15:12 16:44 162
MF1086 21:42 23:03 162
3U3094 21:42 23:03 122
CZ3840 21:42 23:03 150
CA4779 6:54 8:46 128
G58348 6:54 8:46 128
SC4779 6:54 8:46 158
SC8083 7:45 9:37 158
CA8083 7:45 9:37 128
G58418 7:45 9:37 128
NS8275 8:50 10:46 150
MF8275 8:50 10:46 162
3U4237 8:50 10:46 122
CZ5093 8:50 10:46 150
NS8335 10:37 12:29 150
MF8335 10:37 12:29 162
CZ5124 10:37 12:29 150
JD5383 11:18 13:04 210
FU7445 12:26 14:18 215
HU7445 12:26 14:18 128
CA4735 12:33 14:33 128
SC4735 12:33 14:33 158
MF8329 14:56 16:56 162
NS8329 14:56 16:56 150
CZ5122 14:56 16:56 150
CZ5138 16:57 18:50 150
NS8357 16:57 18:50 150
MF8357 16:57 18:50 162
ZH4956 19:49 21:37 128
SC8296 19:49 21:37 158
CA8296 19:49 21:37 128
CZ6232 20:32 22:21 150
MU2759 8:17 9:30 162
NX088 10:07 12:09 150
CA5474 10:07 12:09 128
ZH3392 10:07 12:09 162
CZ9635 7:21 8:49 150
3U8857 7:21 8:49 122
G58154 7:39 9:13 128
TV6341 7:39 9:13 150
ZH4277 7:39 9:13 210
CA4277 7:39 9:13 128
CZ3474 11:10 12:38 150
3U3060 11:10 12:38 122
8L9629 15:55 17:27 162
3U3058 16:35 18:07 122
CZ3472 16:35 18:07 150
CA4045 16:46 18:14 128
3U8721 20:58 22:26 122
3U3142 23:01 0:29 122
CZ6472 23:01 0:29 150
G58388 8:21 9:40 128
SC4969 8:21 9:40 158
CA4969 8:21 9:40 128
G58340 13:48 15:10 128
SC4755 13:48 15:10 158
CA4755 13:48 15:10 128
MU5253 14:55 16:40 162
PN6262 22:48 0:07 128
CZ3024 12:17 14:35 150
AE5993 12:17 14:35 122
AE993 14:30 17:25 122
CZ4751 14:30 17:25 150
FU6529 7:57 9:58 215
3U4211 8:09 10:02 122
CZ5012 8:09 10:02 150
NS8055 8:09 10:02 150
MF8055 8:09 10:02 162
NS8251 13:38 15:31 150
MF8251 13:38 15:31 162
CZ5089 13:38 15:31 150
HU7850 16:40 18:30 128
EU1844 17:23 19:15 185
CZ6918 17:31 19:25 150
MF1135 17:31 19:25 128
GS7843 10:21 11:39 128
Y87529 6:16 8:15 162
PN6321 6:08 8:12 128
HU7255 8:04 10:04 128
KY9341 8:27 10:33 150
ZH9341 8:27 10:33 128
DZ6263 8:25 11:05 158
MF1452 9:36 11:36 128
CZ3976 9:36 11:36 150
Y87525 10:24 12:26 162
CZ6389 11:35 13:36 150
ZH9303 12:57 14:57 128
CA3417 12:57 14:57 128
KY9303 12:57 14:57 150
HO3811 12:57 14:57 128
DZ6219 13:32 15:35 158
CZ6336 14:26 16:36 150
MF1462 14:26 16:36 128
GS5755 15:53 17:57 128
HU7755 15:53 17:57 128
CZ6478 18:26 20:29 150
CA3419 22:27 0:32 128
HO3813 22:27 0:32 128
3U4069 22:27 0:32 122
ZH9305 22:27 0:32 128
KY9305 22:27 0:32 150
CZ3974 21:56 0:27 150
MF1450 21:56 0:27 128
PN6312 23:26 1:25 128
SC8935 7:54 9:35 158
ZH4005 7:54 9:35 128
CA8935 7:54 9:35 128
GS6415 9:32 11:10 128
PN6280 9:21 10:51 128
HU7646 10:11 11:44 128
8L9598 11:00 12:33 162
DZ6308 12:31 14:08 158
ZH9388 14:50 16:25 128
CA3688 14:50 16:25 128
KY9388 14:50 16:25 150
MF8046 15:01 16:38 128
NS8046 15:01 16:38 150
HU7826 18:00 19:33 128
CZ6644 21:34 23:08 150
EU2770 7:07 9:21 185
ZH9727 9:34 11:34 128
KY9727 9:34 11:34 150
CA3533 9:34 11:34 128
CZ6576 13:18 15:28 150
CZ8570 19:19 21:22 150
CA3622 21:17 23:20 128
KY9038 21:17 23:20 150
ZH8352 21:17 23:20 150
3U8847 7:42 10:01 122
8L9973 7:46 10:09 162
CZ6370 8:21 10:28 150
3U3164 8:21 10:28 122
MU9542 12:19 14:43 128
FM9542 12:19 14:43 150
PN6390 14:13 16:47 128
ZH3177 14:39 16:58 128
CA5777 14:39 16:58 128
KY8277 14:39 16:58 150
CZ3492 15:37 17:49 150
3U3168 16:54 19:03 122
KY8229 16:54 19:03 150
CZ6602 16:54 19:03 150
8L9951 18:01 20:16 162
MU5576 18:54 21:09 128
MU5839 20:42 22:58 128
8L9651 21:48 0:05 162
CZ3496 22:14 0:27 150
SC9808 22:50 1:01 158
KY9482 22:50 1:01 150
ZH8370 22:50 1:01 128
MU9895 17:18 19:01 128
MF8045 8:52 10:50 128
NS8045 8:52 10:50 150
PN6282 9:42 11:27 128
PN6376 12:56 14:50 128
NS8213 13:59 15:48 150
MF8213 13:59 15:48 128
8L9562 19:25 21:35 162
GS6599 7:27 8:27 128
CZ4925 7:40 8:55 150
3U8317 7:40 8:55 122
PN6273 9:14 10:39 128
3U3178 9:25 10:43 122
CZ6650 10:07 11:33 150
DZ6282 11:20 12:31 158
CZ8143 11:20 12:31 150
OQ2343 11:20 12:31 110
CZ6354 12:42 14:05 150
CZ3476 15:56 17:15 150
GS6583 19:19 20:47 128
CZ3480 22:31 23:45 150
CZ6359 9:20 12:15 150
CZ6552 13:55 18:50 150
CZ6243 15:35 18:35 150
8L9660 15:50 19:00 162
3U1618 16:24 20:49 122
EU2252 16:24 20:49 185
HU7645 17:13 19:58 128
HU7685 19:21 22:07 128

附录2:一天内的时刻及对应载客量
时刻 载客量 时刻 载客量 时刻 载客量
0:30 1538 8:30 708 16:30 534
1:00 746 9:00 1852 17:00 2446
1:30 612 9:30 914 17:30 576
2:00 0 10:00 2018 18:00 406
2:30 0 10:30 1302 18:30 741
3:00 0 11:00 2458 19:00 1256
3:30 0 11:30 522 19:30 1096
4:00 0 12:00 1839 20:00 572
4:30 0 12:30 1768 20:30 312
5:00 0 13:00 1078 21:00 726
5:30 0 13:30 150 21:30 684
6:00 0 14:00 414 22:00 1096
6:30 0 14:30 576 22:30 400
7:00 0 15:00 2396 23:00 418
7:30 0 15:30 546 23:30 1625
8:00 0 16:00 1154 00:00 0

附录3:matlab源程序

clc;clear
x = xlsread(‘try1.xlsx’,‘sheet1’,‘A1:A33’)
y = xlsread(‘try1.xlsx’,‘sheet1’,‘B1:B33’)

s = 20*ones(33,1)
scatter(x,y,s,[1 0 0],‘filled’)
set(gca,‘xtick’,0:1:24)
set(gca,‘ytick’,0💯2500)
xlabel(‘Time’)
ylabel(‘Number’)

clc;clear
x = xlsread(‘try1.xlsx’,‘sheet1’,‘A1:A33’)
y = xlsread(‘try1.xlsx’,‘sheet1’,‘B1:B33’)
%a = histogram(y,48)
%b = histogram(y,[1:0.5:24])
%s = 20*ones(33,1)
%scatter(x,y,s,[1 0 0],‘filled’)
%set(gca,‘xtick’,0:1:24)
%set(gca,‘ytick’,0💯2500)
%xlabel(‘Time’)
%ylabel(‘Number’)
a = [1538 746 612 0 0 0 0 0 0 0 0 0 0 0 0 0 708 1852 914 2018
1302 2458 522 1839 1768 1078 150 414 576 2396 546 1154 534
2446 576 406 741 1256 1096 572 312 726 684 1096 400 418]
bar(a)

a = [1538 746 612 0 0 0 0 0 0 0 0 0 0 0 0 0 708 1852 914 2018
1302 2458 522 1839 1768 1078 150 414 576 2396 546 1154 534
2446 576 406 741 1256 1096 572 312 726 684 1096 400 418]
b = a/705.29
c = [1:0.5:24]
plot(c,b)

clc;clear
x = xlsread(‘try1.xlsx’,‘sheet1’,‘A1:A246’)
y = xlsread(‘try1.xlsx’,‘sheet1’,‘B1:B246’)
X = x24
s = 20
ones(246,1)
scatter(X,y,s,[1 0 0],‘filled’)
%plot(X,y)
%axis([0 24 0 250])
set(gca,‘xtick’,0:1:24)
set(gca,‘ytick’,0:10:250)
xlabel(‘Time’)
ylabel(‘Number’)

注:矩阵a中的元素应该为一列,我们考虑到排一列所占篇幅太长才如此写。
附录4:VISSIM仿真模型源程序
import gpssjv. : //须引入gpssjv 仿真包
public class SingleLane一5 extends BlockOp
{
//模型类为公有且须继承仿真包的BlockOp类
public void run(){
blockMax(200);
setModel(this);
start(1000);//以下写模型控制语句
}
Switch passengerSwitch=new Switch();
Switch taxiSwitch- ~aew Switch();
Savevalue cycleTim e=new Savevalue(0);
Addr next=new Addr();
Addr toBerth2=new Addr0 ;
Addr toBerth3=new Addr0 ;
Addr toBerth4–new Addr0 ;
Addr toBerth5=new Addr0 ;
Facility berthl–new Facility ();
Facility berth2–new Facility ();
Facility berth3–new Facility ();
Facility berth4=new Facility();
Facility berth5–new Facility ();
Tab1e cycleT=new Table(55,5,20);
boolean canDriveln0 {
retum berth5.FN U 0 & & passengerSw itch.L R 0 & &
taxiSw itch.L R 0 ;
}
//建立仿真模型
public void sim ulate(){
sw itch(nextB lock){ //以下 写仿真模 型语句
case 10: generate(0,0,0,1 000);
case 15: test(T .canD riveln0 );
case 20: cycleTim e.saveV alue(A C $0 );
case 25: taxiSw itch.1ogie(SET );
case 30: advance(5,2);
case 40: split(1,toBerth2);
case 50: berth1.seize();
case 55: advance(4,2);
case 60: advance(expntl(2.15));//乘客上车过程
case 70: berth1.release();
case 80: terminate();
case 90:A (toB erth2);advance(2.5,1);
case 100: split(1,toB er t h3);
case 110: berth2.seize();
case 115: passengerSwitch.1ogic(SE T);
case 116: advance(3,1);
case 120: advanee(expntl(2,1 5));
case l30: gate(N U ,ber t h1);
case 140: berth2.release();
case 150: terminate();
case 160:A(toBerth3);advance(2.5,1);
case 170: split(1,toBerth4);
case 180: berth3.seize();
case 185: advance(8,4);
case 190: advance(expntl(2,15));
case 200: gate(NU ,berth2);
case 210: berth3.release();
case 220: term inate();
case 230:A(toBerth4);advance(2.5,1);
case 240: split(1,toBerth5);
case 250: berth4.seize();
case 255: advance(12,61;
case 260: advanee(expntl(2,15));
case 270: gate(N U , berth3);
case 280: berth4.release();
case 290: terminate();
case 300:A (toBerth5);advance(2.5,1);
case 310: berth5.seize();
case 315: advance(15,6);
case 320 : advance(expntl(2,1 5));
case 330: gate(NU , berth4);
case 340: berth5.release();
case 345: taxiSwitch.1ogic(RESET);
case 350: cycleT . tabulate(AC$0 一cycleTim e.xs0 );
case 360: term inate(I);
//乘客子模块
case 500: generate(0,0,0,1 000);
case 510: gate(LS,passengerSw itch);
case 520: passengerSw itch.1ogic(RESET);
case 530: assign(1,5);
case 540:A (next);advance(1,0.5);
case 550: loop(1,next);
case 560: terminate();
case 1000:
end();
}
}
}

附录5:python源程序

import requests#获取数据
from bs4 import BeautifulSoup
import traceback
import re

def getHTMLText(url):
try:
r = requests.get(url)
r.raise_for_status()#这是对获取网页内容过程中做的一个判断,如果有误则报错,如果无误,顺利运行,一般不用管它
r.encoding = r.apparent_encoding
return r.text
except:
print(“getHTMLText函数出错”)#这部分代码常常被复用,基本上获取页面信息都用这部分代码

def getStockList(lst, stockURL):#获取股票信息列表,lst是列表保存的列表类型,存储了所有股票的信息,stockURL是获取股票列表的URL网站

html = getHTMLText(stockURL)
soup = BeautifulSoup(html, "html.parser")#<a href="/sh600448.html">郑州新郑机场</a>
a = soup.find_all("a")#使用find_all方法找到a标签
for i in a:#遍历
    try:
        herf = i.attrs["href"]
        lst.append(re.findall(r"[s][hz]\d{6}",herf)[0])#
                except:
        continue#可能会有异常,让程序继续运行就可以了

def getStockInfo(lst, stockURL, fpath):#
for stock in lst:#stock是列表lst里面的内容,
url = stockURL + stock +".html"#https://gupiao.baidu.com/stock/sh601899.html #后面六位数则是编号
html = getHTMLText(url)
try:
if html == “”:
continue#continue的用处很大嘛
infoDict = {}#我们定义了一个字典,里面存放所有飞机信息
soup = BeautifulSoup(html, “html.parser”)
stockInfo = soup.find(“div”,attrs={“class”:“stock-bets”})
name = stockInfo.find_all(attrs={“class”:“bets-name”})[0]
infoDict.update({“股票名称”:name.text.split()[0]})#
keyList = stockInfo.find_all(“dt”)#飞机信息的键的域
valueList = stockInfo.find_all(“dd”)#飞机信息的值的域
for i in range(len(keyList)):
key = keyList[i].text
val = valueList[i].text
infoDict[key] = val#赋值并将键值对存放到字典中,使用 key = value的办法
with open(fpath, “a”, encoding = “utf-8”) as f:
f.write( str(infoDict) + “\n”)
except:
traceback.print_exc()
continue

def main():
stock_list_url = “http://quote.eastmoney.com/stocklist.html”#美团,获取飞机列表
stock_info_url = “http://gupiao.baidu.com/stock/”#,获得每只飞机的具体信息
output_file = “F://飞机数据定向爬取//飞机数据.txt”#经过测试,如果没有这个txt文件,那么会新建一个写进去,如果有,则在该文件上写
slist = []#这个列表里面存储的是股票的信息
getStockList(slist, stock_list_url)
getStockInfo(slist, stock_info_url, output_file)

main()

车辆调度 数学建模c语言,2019数学建模国赛C题–机场的出租车调度问题 说实话前期也没有准备太充分,只是和朋友参加了一个校赛,只有那么一丢丢实战经历,所以国赛结果在意料之中:陪跑成功但仔细想想,还是很喜欢那种小组团队在奶茶店一坐就是一天的感觉,连续三天只想一个话题也确实是一个难忘的经历:软件建模,数据分析,模型建立,对比取舍.......... 参赛作品完整PDF版:1问题重述1.1问题背景出租车是主要交通方式之一,大多数乘客下了飞机之后要去往不同的目的地,而出租车司... 阅读详情

相关推荐

一篇文章带你搞定19年数学建模机场出租车优化问题示例讲解含代码

文章目录一、问题分析二、数据介绍三、模型的求解四、结果分析 一、问题分析 收集国内某一机场及其所在城市出租车的相关数据,给出该机场出租车司机的选择方案,并分析模型的合理性和对相关因素的依赖性。 已经学习了:一篇文章带你搞定数学建模中的排队论思想(19年机场出租车优化问题示例讲解) 所以本篇文章主要就是对其的实现过程,实现的数据集需要的可以评论留下邮箱。 二、数据介绍 针对问题二,我们收集了深圳市 201 1 年 04 月 18 日至 2011 年 04 月 26 日 (共 8.5天) 的城市出租车 GPS

南淮北安的博客 5697

数模优秀论文总结 — 2019 “机场的出租车问题”

简单介绍数模注意点;针对2019年C题数模优秀论文分析思路进行简单总结;数模论文C044模型学习笔记

ZFour_X的博客 2万+

机场出租车问题的研究.pdf

此资源为2019年全国大学生数学建模竞赛优秀省赛一等奖,我们一组队员倾心打造出来的作品,经过三天的艰苦奋斗,先是最初的选题,到收集数据,再到用python画图分析,一路走来,实为荣幸。

全国大学生数学建模竞赛2019C题机场的出租车问题MATLAB程序

目录 前言 一、第1问 1.1计算模型中等待时间t2MATLAB程序 1.2计算模型中等待时间t2(灵敏度分析)MATLAB程序 二、第2问 2.1代入t2到模型进行计算MATLAB程序 2.2代入t2到模型进行计算(灵敏度分析)MATLAB程序 三、第3问 3.1第3问求解MATLAB程序 3.2第3问仿真MATLAB程序 四、第4问 4.1 第4问仿真MATLAB程序 前言 使用的数据为:上海虹桥机场T2航站楼航班数据2021.8.26 链接:https://...

qq_46646038的博客 1万+

数学建模获奖论文\城市出租车交通规划综合模型

数学建模获奖论文\城市出租车交通规划综合模型数学建模获奖论文\城市出租车交通规划综合模型数学建模获奖论文\城市出租车交通规划综合模型

2016~2017国赛B题获奖论文.zip

2016-2017国家数学建模大赛B类题目的一等奖文章,2016年的三篇,2017年的四篇,是关于出租车问题以及APP拍照问题的。可以参照论文中的主要思想,但还是建议参照书写风格以及格式。

【爬虫】获取新郑机场出租车实时数据

原文链接:http://www.changxuan.top/?p=463 八月十五的晚上,参加大学生数学建模比赛的苏琪同学来找我要机场出租车的数据!Excuse me,我们不生产数据、只做数据的搬运工 。 随后我在各大平台上都没找到合适的数据集,找到一些之前其他比赛的数据集,但是针对特定机场的出租车数据除了“飞常准”上有一份浦东机场的就没找到别的!想想也是,谁没事统计这个东西!不过知乎上的大神就...

壹言——越过山丘 才发现无人等候 1万+

Flexsim机场出租车接送模型.fsm flexsim案例 flexsim模型

Flexsim机场出租车接送模型 简介: 大多数乘客下飞机后要去市区(或周边)的目的地,出租车是主要的交通工具之一。国内多数机场都是将送客(出发)与接客(到达)通道分开的。 建立模型机场出租车接送模型,解决问题

2023年19个数学建模竞赛重磅来袭!!!

本人的团队全是计算机的研究生,从本科到研究生有丰富的打比赛和数模的经验,有需要指导的,请私信我。

BetterBench的博客 7144

2015年数学建模国赛B题城市数据统计

本资源统计了15个城市的空载率、出租车万人拥有量、主城区人口、城市拥堵率、经济发展水平GDP、出租车月营业额,里程利用率等数据。 并介绍了求解当中所需的熵权法。还添加了北京、西安、南京、成都四个城市的时间2016 年 8 月 6 日 - 12 日每日 0 点 - 12 点内的五种统计信息。 信息解释为 demand(打车需求量) distribute(出租车分布) money(车费) response(被抢单时间) satisfy(打车难易度) 五种信息

基于多智能体深度强化学习的空地协同通信系统轨迹设计与访问控制

所属子方向: UAV assisted communication 名词注释 coordinated:协调、协同 base stations 基站,公用移动通信基站,是移动设备接入互联网的接口设备,是指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间进行信息传递的无线电收发信电台。 UAV-BS:无人机基站 cooperative-competitive game:合作竞争博弈 throughput :吞吐量,每秒比特数 bps,bits per second Determinis

skysys的研究小屋 4969

19年数学建模竞赛资料系统整理:从赛题论文到算法代码的备赛武器库

数学建模竞赛是一项综合性极强的工程实践,涵盖问题转化、模型构建、算法实现与论文表达等多个环节。面对跨越近二十年的赛题资料,有效的整理与检索方法成为备赛关键。通过将历年赛题、获奖论文、数据代码与个人笔记分层归档,并借助标签体系、速查卡和建模菜谱,可以大幅提升资料调用效率。三轮阅读法帮助参赛者从全景扫描、精读复现到模拟实战,逐步将真题与优秀论文转化为实战能力。针对优化决策、数据挖掘等常见题型,算法主题地图和标准化建模流程能够快速定位解决方案。这套系统化整理思路不仅为数学建模竞赛提供了坚实的备赛基础,也为长期的技

weixin_31714129的博客 313

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

【19年八月第一周】数学建模、智能算法、Leetcode

今天已经是八月第二周的周一了,周末总结都开始拖了。hhh。补上补上。 1.数学建模 学习了拟合、插值算法 正式开始写建模论文了 我忘了我都干啥了,emm。e,以后睡的时候,还是记录当天的工作叭。都忘光了。 2.智能算法 说到算法,真的是,感觉一遍汪洋大海,自己真的是太傻太幼稚,要学的东西太多了,以前都是执着于技术了,感觉算法这种奇妙的思维。真的很让人震撼,也同样引起了我对更好的学府、更广阔知...

奥利波德的魔法屋 417

VL53L1X vs VL53L0X:激光测距传感器选型指南与性能对比

本文深入对比了VL53L1X与VL53L0X两款激光测距传感器的核心差异。VL53L1X采用区域ToF原理,在抗环境光干扰、最大测距及多目标识别方面优势显著,尤其适合复杂光线与动态场景。文章结合机器人避障、无人机定高等实战场景,提供了清晰的选型决策树,帮助工程师根据测距需求、环境复杂度与系统成本做出最优选择。

weixin_29197699的博客 395

通俗傻瓜式理清光栅化渲染和光线追踪渲染的原理

用通俗语言傻瓜式的讲清楚光栅渲染和光线追踪渲染的原理,方便没有相关理论基础的朋友理解入门。

qq_37366618的博客 2万+

19年全国数学建模比赛A题代码(简单的迭代思想)

前言:怀念通宵刷题的日子,困得一批 第一题 M = 10000; %循环次数 %需要用到的函数 %function E = EMPA(p) 计算弹性模量 p为当前时刻压强 %funtion QA = calcQA(Pnow,rouA,pA) 计算下一时刻A口的流速 %定义好的量,不会参与迭代的量 V = 500 * pi * (10/2) ^ 2; pA = 160; % MPA 高压油...

Never Give Up 8223

保姆级教程:用ROS2 Humble和Nav2从零搭建一个能自主导航的机器人小车(含SLAM建图与避障)

本文提供了一份详细的保姆级教程,指导如何使用ROS2 Humble和Nav2从零搭建一个具备自主导航功能的机器人小车,包括SLAM建图与避障。教程涵盖了硬件组装、ROS2环境配置、URDF模型创建、SLAM建图实战、Nav2导航栈配置以及系统集成调试等关键步骤,适合机器人开发初学者和进阶开发者。

weixin_30329623的博客 492

2019数学建模国赛总结

前两天参加了19年数学建模国赛,今年和往年不同的是本科组增加了C题,以往只有两道题。 今年的a题是 高压油管的压力控制,感觉是一道工程类别的题,没有选,B题是同心协力策略研究 ,是一道纯物理的题,也没有选,我们最后决定的是C题 机场的出租车问题,因为此题难度在于资料的查找,问题的分析与解决不是难点。针对问题1,我的想法是先用MATLAB拟合一个元胞来显示人口的变化, 这个感觉是个加分点,...

MCU_vegatable的博客 645

Quartus Prime 软件 USB-blaster 驱动安装失败【已解决】

一、安装步骤 1、将FPGA 开发板插入电脑时,未安装驱动的电脑会提示安装usb-Blaster驱动。Windows搜索框打开设备管理器,在“其他设备”下会发现黄色感叹号的“USB-Blaster”的设备驱动。 2、Quartus系列软件的安装目录下自带USB-blaster的驱动程序,右键更新驱动,选择驱动目录:(D:\intelFPGA\18.1\quartus\drivers\usb-blaster,文件位置和版本请按照自己安装的路径选择),点击Next开始安装。 3、安装成功,重启电脑即可使

adolphwang_909086的博客 6万+

YOLO26改进策略【Neck】| ICCV2025 反向卷积 Converse2D 数学逆运算提重构 + 特征域建模降伪影,提升多尺度目标检测精度

本文记录的是利用Converse2D 算子改进 YOLO26 的上采样。(Converse 2D Convolution)通过正则化最小二乘闭式解与深度化空间建模结合,实现YOLO26特征提取与上采样阶段的卷积逆运算及特征精准重构。本文利用算子,通过闭式解的非迭代计算还原卷积下采样后的原始特征,再通过可学习核与自适应正则化参数稳定逆问题求解,同时依托圆形填充与插值初始估计保留特征高频细节,对YOLO26中不同尺度检测目标的特征进行针对性重构强化、抑制卷积/转置卷积带来的伪影与信息损失干扰,在特征融合与上采样

Limiiiing的博客 658

19年国赛A题优秀论文

19年国赛A题优秀论文 去发现同类优质开源项目:https://gitcode.com/ 此文件为19年全国大学生数学建模大赛A题(高压油管的压力控制问题)的获奖论文,荣获省级一等奖。本文深入探讨了高压油管的压力控制问题,并提出了有效的解决方案。未经授权,不得转载或使用。 本文详细分析了问题的背景和现状,通过数学建模方法,对高压油管压力控制问题进行了深入研究,为实际工程应用提供了理论支持。 我们希...

gitblog_06711的博客 383

Python爬虫实战:使用最新技术爬取新华网新闻数据

在当今信息爆炸的时代,网络爬虫技术已经成为获取互联网数据的重要手段。作为国内权威新闻媒体,新华网每天发布大量高质量的新闻内容,这些数据对于舆情分析、市场研究、自然语言处理等领域具有重要价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的新华网新闻爬虫系统。本文详细介绍了如何使用Python最新技术栈构建一个高效、稳定的新华网新闻爬虫系统。我们从基础爬虫开始,逐步添加了代理支持、用户代理轮换、请求延迟、重试机制、动态页面渲染、数据存储等高级功能,最终实现了一个生产可用的分布式爬虫系统。

2201_76125261的博客 1771

2021年辽宁省大学生数学建模竞赛B题-- 渤海湾蓬莱19-3油田漏油事故分析,论文及程序

目录题目回顾题目分析 题目回顾 B题 渤海湾蓬莱19-3油田漏油事故 图1蓬莱19-3油田位置 图2蓬莱19-3油田开采平台位置 2011年6月4日,国家海洋局北海分局接到美国康菲石油(中国)有限公司,蓬莱19-3油田B平台东北方向海面发现不明来源少量油膜;17日,北海分局再次接到报告,C平台及附近海域发现大量溢油。根据鉴定,确认溢油源自蓬莱19-3油田,如图1所示。 中海油渤海湾蓬莱19-3油田共有五个平台,此次漏油事件发生在B、C两个平台,从画面中可以看到B、C两个平台溢油现场的航拍资料,及收油

aanzz的博客 4596

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

2023美赛ABCDEF题思路获取/2023美赛思路ABCDEF题/美赛数学建模思路

美赛、数学建模、美国大学生数学建模、美赛思路、美国大学生数学建模思路、2023美赛、2023美国大学生数学建模竞赛、2023美赛思路、2023美赛数据、2023美赛A题、2023美赛B题、2023美赛C题、2023美赛D题、2023美赛E题、2023美赛F题、 2023美赛数据、2023美赛论文、2023美赛解析、2023美赛思路、美国大学生数学建模竞赛思路、美赛解析、美赛免费思路

qq_43531919的博客 2383

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

亚太杯数学建模竞赛2020_2020数学建模亚太赛押题!!!

2020年数学建模亚太赛即将开赛2020年数学建模亚太赛即将在11月26日开赛,现在我们对亚太赛的两个题目类型进行押题:1.图像识别方向题目在2019年之前数学建模亚太赛的主办方是亚太地区大学生数学建模竞赛组委会主办,数学家(原校苑数模)但是从2019年开始由北京图象图形学学会主办,亚太地区大学生数学建模竞赛组委会负责组织,然后在2019年之前没有出现过图像识别类型的赛题,但是在2019年(也就是...

weixin_39683769的博客 2898

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 利用gcc,双向循环链表写一个通讯录
下一篇: Android Studio3.0 创建项目报错Error:Execution failed for task ':app:preDebugAndroidTestBuild'
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值