【学习笔记】数学建模——2019国赛C题论文复现

⭐️ 摘要与关键词

摘要

本文首先介绍了问题的实际背景和问题的提法,然后根据实际问题分别建立了机场出租车司机的选择模型、上车点的设置模型和短途载客返回出租车的优先方案模型,并给出了模型的求解结果

关键词

机场出租车、选择方案、蓄车池、乘车区、排队模型

⭐️ 假设与符号说明

假设

  1. 决策的选择只考虑经济因素,忽略个人倾向等其他因素
  2. 汽车匀速行驶,每公里行驶成本相同

符号说明

符号 含义 单位
R ( t ) R(t) R(t) 乘坐出租车的人数比例
n ( t ) n(t) n(t) t t t 时段机场乘客数量
Z ( t ) Z(t) Z(t) t t t 时段需要乘坐出租车的乘客数量
λ ( t ) \lambda(t) λ(t) t t t 时段内的出租车平均到达率(数量)
P n ( t ) P_{n}(t) Pn(t) 0 0 0 t t t 时间内有 n n n 辆出租车到达的概率
μ ( t ) \mu(t) μ(t) t t t 时段内每辆出租车接受服务的时间 m i n min min
t 1 t_{1} t1 每辆出租车从“蓄车池”安全到达乘车区停稳需要的时间 m i n min min
t 2 t_{2} t2 每组乘客上车所需要的时间 m i n min min
t 3 t_{3} t3 每辆车载客后启动并离开乘车区需要的时间 m i n min min
μ 0 \mu_{0} μ0 当乘客足够多时每辆车接受服务的时间 m i n min min
n 0 n_{0} n0 每小时接受服务的出租车数量
τ ( t ) \tau(t) τ(t) 出租车在乘车区等待乘客的时间 m i n min min
c c c 服务台数量
ρ ( t ) \rho(t) ρ(t) 系统的服务强度 / m i n /min /min

⭐️ 机场出租车司机的选择模型

要求分析研究与出租车司机决策相关的确定和不确定因素的影响机理,综合考虑机场乘客数量的变化规律和出租车司机收益,建立出租车司机的选择决策模型,并给出司机可能的选择方案。

该问题主要从出租车司机的经济效益角度考虑. 在正常情况下,司机空载返回的成本(耗油费和过路费等)基本上是确定的,影响司机决策的主要因素取决于可能的等待时间成本的多少.

等待时间长短取决于排队等待的出租车数量和可能乘坐出租车的乘客数量,可能乘坐出租车的乘客数量与具体的时间段和到达的航班数量有密切的关系.

通常每个机场的航班数量有季节性差异,每天进出的航班基本上是确定的,而每天早、中、晚不同时间段的一个航班可能乘坐出租车的人数也不尽相同.

同时,注意到每天早上送机的车多,而到达的航班少;正常时间(如 8:00-22:00)通常都有地铁和机场大巴车往返机场与市区之间,会分流一定数量的乘客;其他时间(如 22:00 后)可能会有更多的乘客需要乘坐出租车.


实际中有诸多不确定的影响因素,需要根据具体情况做一定的简化处理,抓住主要的因素进行研究:
⚡️ 出租车空载返回的油耗费用 a a a 和过路费 b b b (可能没有),即空载返回的基本成本为 R ≥ a + b R\geq a+b Ra+b
⚡️ 载客收益 P P P 由起步价 p 0 p_{0} p0 和阶梯车公里价 p ( s ) p(s) p(s) 和形式公里数 s s s 组成,即 P ( s ) = p 0 + ⌈ p ( s ) ⋅ s ⌉ P(s)=p_{0}+\lceil p(s)\cdot s \rceil P(s)=p0+p(s)s
⚡️ 关于机场乘客数量变化规律较为复杂,关键是如何合理地简化处理:
每天,每个时段的乘客数量有不同,不同时段需要乘坐出租车的人数比例也是不确定的,可以取乘车人数比例的平均值,也可以按统计规律来做出估计,也可假设服从某种分布,正常时段是均匀分布,早或晚时段不应该是均匀分布.

考虑到在正常时段都有机场巴士(或地铁)运行,可分流一部分乘客,通常情况下,到晚上 22:00 之后,地铁会停止运行,机场巴士也会减少,乘坐出租车的乘客数会增加,为此不妨设乘坐出租车的人数比例 R ( t ) R(t) R(t) 为:
R ( t ) = { k , 7 < t < 22 k + r ( t ) , 22 ≤ t ≤ 24 + 7 R(t)=\begin{cases} k, & 7R(t)={k,k+r(t),7<t<2222t24+7
其中: r ( t ) = k ( 1 − e x p { − ( t − α ) 2 σ 2 } ) r(t)=k(1-exp\{-\frac{(t-\alpha)^2}{\sigma^2}\}) r(t)=k(1exp{σ2(tα)2}) α \alpha α σ \sigma σ 由经验给定,譬如取 α = 22 , σ = 1 \alpha=22, \sigma=1 α=22,σ=1,这里 k k k 值可由统计规律确定,如 20 % 到 30 % 20\% 到 30\% 20%30%.

或者该部分可以简化为:
R ( t ) = { k 1 , 7 < t < 22 k 2 , 22 ≤ t ≤ 24 + 7 k 1 < k 2 R(t)=\begin{cases} k_{1}, & 7R(t)={k1,k2,7<t<2222t24+7k1<k2

如果 t t t 时段总乘客数量 n ( t ) n(t) n(t) 不同,则 t t t 时段需要乘坐出租车的乘客数量为 Z ( t ) = n ( t ) R ( t ) Z(t)=n(t)R(t) Z(t)=n(t)R(t).

⚡️ 关于出租车在机场排队可能等待时间 w w w 的估计值,取决于不同时段出租车的到达规律、排队数量和乘坐出租车的乘客数量:

在实际中,每天到达机场“蓄车池”的出租车数量是不确定的,早晨和晚上相对会少一些,正常时间段内会服从一定的概率分布.

  1. 出租车的平均到达率
    在正常情况下,假设每天出租车到达机场的时间间隔服从 Poisson 分布,其平均到达率与时间段 t t t 有关,记为 λ ( t ) \lambda(t) λ(t),即在 [ 0 , t ] [0,t] [0,t] 时间内有 n n n 辆出租车到达的概率为:
    P n ( t ) = λ ( t ) n n ! e − λ ( t ) ( n = 0 , 1 , . . . ; t > 0 ) P_{n}(t)=\frac{\lambda(t)^n}{n!}e^{-\lambda(t)}(n=0,1,...; t>0) Pn(t)=n!λ(t)neλ(t)(n=0,1,...;t>0)关于平均到达率 λ ( t ) \lambda(t) λ(t) 随时间的变化规律,通常情况下按照一天 24 小时随时间的变化大体上如 图 1 所示:

图 1 机场出租车的平均到达率的变化规律示意图
  1. 出租车的平均服务率
    不妨设机场有 c ( ≥ 2 ) c(\geq 2) c(2) 个独立的出租车上车站点. 每辆出租车接受服务(载客后离开乘车区)的时间 μ ( > 0 ) \mu(>0) μ(>0) 是不同的,其中包括从“蓄车池”到达乘车区的时间、等待乘客到达上车站点的时间、乘客上车的时间和载客离开乘车区的时间,则出租车接受服务的时间服从与负指数分布:
    F ( t ) = 1 − e − μ t F(t)=1-e^{-\mu t} F(t)=1eμt 其中,接受服务的时间 μ ( > 0 ) \mu(>0) μ(>0) 与不同时间段乘坐出租车的乘客数量有关. 乘客的数量取决于航班数量和乘坐出租车的乘客比例 R ( t ) R(t) R(t),即 μ ( t ) \mu(t) μ(t) 是随时间变化的,也就是与乘坐出租车的人数 Z ( t ) Z(t) Z(t) 有关.

在正常情况下,如果每辆出租车从“蓄车池”安全到达乘车区停稳后需要的时间为 t 1 t_{1} t1;每组乘客(同车1~4人)上车需要时间为 t 2 t_{2} t2(不妨设介于 0.5 到 1 min 之间,即 t 2 t_{2} t2~ N ( 0.75 , 0.2 5 2 ) N(0.75,0.25^2) N(0.75,0.252);每辆车载客后启动、离开乘车区需要时间为 t 3 t_{3} t3. 则在乘客足够多时(车到乘车区即有乘客上车)每辆车接受服务的时间为 μ 0 = t 1 + t 2 + t 3 \mu_{0}=t_{1}+t_{2}+t_{3} μ0=t1+t2+t3 ,其中, t 1 t_{1} t1 t 3 t_{3} t3 为常数,即意味着每小时有 n 0 = [ 60 μ 0 ] n_{0}=[\frac{60}{\mu_{0}}] n0=[μ060] 辆车接受服务(载客离开).

如果乘客数量不多时,出租车到达乘车区时不能立即载客,就需要在乘车区等待乘客,记等待时间为 τ \tau τ,其值与需要乘坐出租车的人数有关,则:
τ ( t ) = { n 0 Z ( t ) μ 0 , Z ( t ) ≤ n 0 0 , Z ( t ) > n 0 \tau(t)=\begin{cases} \frac{n_{0}}{Z(t)}\mu_{0}, & Z(t)\leq n_{0} \\ 0, & Z(t)>n_{0} \end{cases} τ(t)={Z(t)n0μ0,0,Z(t)n0Z(t)>n0

于是有平均服务率 μ ( t ) = μ 0 + τ ( t ) \mu(t)=\mu_{0}+\tau(t) μ(t)=μ0+τ(t).

  1. 出租车的平均等待时间
    每位乘客上车过程所需要的时间也不尽相同,但差异性不会太大,可以取一个平均值.
    为此,可以认为出租车到机场“蓄车池”排队等候载客过程满足顾客(出租车)到达时间间隔服从 Poisson分布,服务时间(出租车从进入乘车区到载客离开的时间)服从于负指数分布, c c c 个服务台(上车点),顾客源和系统容量无限,以及先到先服务的排队模型:
    M / M / c / ∞ / ∞ / F C F S M/M/c/\infty/\infty/FCFS M/M/c/∞/∞/FCFS

对于排队系统中的 X / Y / Z / A / B / C X/Y/Z/A/B/C X/Y/Z/A/B/C 式中:
X X X 处填写顾客相继达到系统的时间间隔服从的分布;
Y Y Y 处填写顾客接受服务时间所服从的分布;
Z Z Z 处填写并列的服务台数目;
A A A 处填写系统对顾客数量的限制,即系统容量;
B B B 处填写顾客源数目;
C C C 处填写服务规则.


用下列符号表示各种含义:
对于 X X X Y Y Y

  1. M M M 表示随机变量的服从泊松分布或负指数分布:
  2. D D D 表示确定性(即相继到达的顾客时间间隔是确定的或者接受服务的时间是确定的);
  3. E k E_{k} Ek 表示 k k k 阶爱尔朗分布
  4. G G G 表示一般相互独立的随机分布

对于 C C C

  1. F C F S FCFS FCFS 表示先到先服务规则
  2. L C F S LCFS LCFS 表示后到先服务规则
  3. P R PR PR 表示优先权服务规则

几种排队论模型:
单服务台:

  1. 标准型: M / M / 1 M/M/1 M/M/1
  2. 系统容量有限型: M / M / 1 / N / ∞ M/M/1/N/\infty M/M/1/N/∞
  3. 顾客源有限型: M / M / 1 / ∞ / m M/M/1/\infty/m M/M/1/∞/m

多服务台:

  1. 标准型: M / M / c M/M/c M/M/c
  2. 系统容量有限型: M / M / c / N / ∞ M/M/c/N/\infty M/M/c/N/∞
  3. 顾客源有限型: M / M / c / ∞ / m M/M/c/\infty/m M/M/c/∞/m

由于这个排队系统各服务台的服务工作(各辆车载客离开)是相互独立的,则对于时段 t t t,整个系统的平均服务率为 c μ ( t ) ( 当 n ≥ c ) c\mu(t)(当n\geq c) cμ(t)(nc),令 ρ ( t ) = λ ( t ) c μ ( t ) \rho(t)=\frac{\lambda(t)}{c\mu(t)} ρ(t)=cμ(t)λ(t),即为系统的服务强度. 当 ρ > 1 \rho>1 ρ>1 时,系统中就会有出租车在排队等待载客. 于是可以得到时段 t t t 排队系统的状态转移方程为:
{ μ ( t ) P 1 = λ ( t ) P 0 ( n + 1 ) μ ( t ) P n + 1 + λ ( t ) P n − 1 = ( λ ( t ) + n μ ( t ) ) P n , 1 ≤ n ≤ c c μ ( t ) P n + 1 + λ ( t ) P n − 1 = ( λ ( t ) + c μ ( t ) ) P n , n > c \begin{cases} \mu(t)P_{1}=\lambda(t)P_{0}\\ (n+1)\mu(t)P_{n+1}+\lambda(t)P_{n-1}=(\lambda(t)+n\mu(t))P_{n}, &1\leq n \leq c \\ c\mu(t)P_{n+1}+\lambda(t)P_{n-1}=(\lambda(t)+c\mu(t))P_{n}, & n>c \end{cases} μ(t)P1=λ(t)P0(n+1)μ(t)Pn+1+λ(t)Pn1=(λ(t)+nμ(t))Pn,cμ(t)Pn+1+λ(t)Pn1=(λ(t)+cμ(t))Pn,1ncn>c

关于该状态转移方程的解释:
排队系统的生灭过程

…挖坑

其中, ∑ n = 0 ∞ P n = 1 \sum\nolimits_{n=0}^{\infty}P_{n}=1 n=0Pn=1. 由递推关系可以求得系统状态概率为:
P 0 = [ ∑ k = 0 c − 1 1 k ! ( λ ( t ) μ ( t ) ) k + 1 c ! 1 1 − ρ ( t ) ( λ ( t ) μ ( t ) ) c ) ] − 1 P_{0}=[\sum_{k=0}^{c-1}\frac{1}{k!}(\frac{\lambda(t)}{\mu(t)})^k+\frac{1}{c!}\frac{1}{1-\rho(t)}(\frac{\lambda(t)}{\mu(t)})^c)]^{-1} P0=[k=0c1k!1(μ(t)λ(t))k+c!11ρ(t)1(μ(t)λ(t))c)]1

P n = { 1 n ! ( λ ( t ) μ ( t ) ) n P 0 , n ≤ c 1 c ! 1 c n − c ( λ ( t ) μ ( t ) ) n P 0 , n > c \large P_{n}=\begin{cases} \frac{1}{n!}(\frac{\lambda(t)}{\mu(t)})^nP_{0}, & n\leq c \\ \frac{1}{c!}\frac{1}{c^{n-c}}(\frac{\lambda(t)}{\mu(t)})^nP_{0}, & n>c \end{cases} Pn= n!1(μ(t)λ(t))nP0,c!1cnc1(μ(t)λ(t))nP0,ncn>c

相应的排队长度(系统中的排队等候的出租车数量)为:
L q ( t ) = ( c ρ ( t ) ) c ρ ( t ) c ! ( 1 − ρ ( t ) ) 2 P 0 L_{q}(t)=\frac{(c\rho(t))^c\rho(t)}{c!(1-\rho(t))^2}P_{0} Lq(t)=c!(1ρ(t))2(cρ(t))cρ(t)P0

相应的等待时间为:
ω q ( t ) = L q ( t ) λ ( t ) = ( c ρ ( t ) ) c ρ ( t ) c ! ( 1 − ρ ( t ) ) 2 λ ( t ) P 0 \omega_{q}(t)=\frac{L_{q}(t)}{\lambda(t)}=\frac{(c\rho(t))^c\rho(t)}{c!(1-\rho(t))^2\lambda(t)}P_{0} ωq(t)=λ(t)Lq(t)=c!(1ρ(t))2λ(t)(cρ(t))cρ(t)P0

这里 w q ( t ) w_{q}(t) wq(t) t t t 时间段内每辆出租车需要等待的时间长度.

⚡️ 根据出租车需要等待的时间来估算出等待时间的成本 Q Q Q首先要估计等待单位时间的成本 q 0 ( t ) q_{0}(t) q0(t)则等待的时间成本为 Q = q 0 ( t ) w q ( t ) Q=q_{0}(t)w_{q}(t) Q=q0(t)wq(t).

⚡️ 空车返回的潜在损失. 如果出租车从机场空车返回,不仅要付出空载成本 R R R还损失可能载客的收益.

记空载返回市区所需要的时间为 T T T,从机场载客返回市区总收益 P U P_{U} PU. 由于乘客从机场乘出租车返回市区的距离不同,所需要的时间也不同,不妨设从机场到达市中心的距离为 S 0 S_{0} S0,辐射周边方圆距离为 σ 0 2 \sigma_{0}^2 σ02. 于是,不妨设乘客搭乘出租车返回市区的距离 S S S 服从正态分布 N ( S 0 , σ 0 2 ) N(S_{0}, \sigma_{0}^2) N(S0,σ02),平均行驶速度为 v 0 v_{0} v0,故可能的收益为: P U = P ( S ) = P ( N ( S 0 , σ 0 2 ) ) P_{U}=P(S)=P(N(S_{0},\sigma_{0}^2)) PU=P(S)=P(N(S0,σ02)) 所需要的总时间为: T = S v 0 = N ( S 0 , σ 0 2 ) v 0 T=\frac{S}{v_{0}}=\frac{N(S_{0},\sigma_{0}^2)}{v_{0}} T=v0S=v0N(S0,σ02) 则单位时间的潜在损失(即载客收益)为: P U T \frac{P_{U}}{T} TPU 空载返回潜在的总损失为:
R 0 ( t ) = { P U T ( T − w q ( t ) ) , w q ( t ) < T 0 , w q ( t ) ≥ T R_{0}(t)=\begin{cases} \frac{P_{U}}{T}(T-w_{q}(t)), & w_{q}(t)R0(t)={TPU(Twq(t)),0,wq(t)<Twq(t)T
因此出租车司机选择决策的准则(即比较空载返回成本和等待时间成本的关系)为:
Q > R + R 0 ( t ) \quad\quad Q>R+R_{0}(t) Q>R+R0(t),选择空载返回市区
Q < R + R 0 ( t ) \quad\quad QQ<R+R0(t),选择排队等待载客
Q = R + R 0 ( t ) \quad\quad Q=R+R_{0}(t) Q=R+R0(t),可以随意选择,即等待载客和空载返回效果相同

⭐️ 选择模型的检验与合理性分析

数据收集与模型准备

问题需要收集国内某一机场及其所在城市出租车的相关数据,利用机场出租车司机的选择模型验证给出的选择方案,并分析模型的合理性和对相关因素的依赖性.

不难获取某个机场一天的实时动态的进出航班数量、时间、机型和载客量等数据,某城市的出租车定价和一辆出租车单位时间的收益情况,以及机场距离市区的里程和成本费用等数据,则可以验证说明模型的合理性,并给出租车司机的选择方案. 针对相关参数的变化情况,可以说明模型对相关参数的依赖性.

关于某城市机场不同时段的客流量和出租车流量如图 2 所示:

(出租车流量数据沿用图1数据)
图 2 某城市机场不同时段的客流量和出租车流量

⚡️ 如果取正常时间段 (6:00-22:00) 的乘坐出租车人数的平均值为 10% ~ 20%,其他时段乘坐出租车的人数平均值为 30% ~ 50%,为简化问题,我们这里分别取 15% 和 40%. 即可以得到全天的出租车乘客比例 R ( t ) R(t) R(t),从而可以得到相应的每个航班可能乘坐出租车的人数 n ( t ) n(t) n(t) t t t 时段内可能乘坐出租车的人数 Z ( t ) Z(t) Z(t).

即有: R ( t ) = { 0.15 7 < t < 22 0.4 22 ≤ t ≤ 24 + 7 R(t)=\begin{cases} 0.15 & 7R(t)={0.150.47<t<2222t24+7
Z ( t ) = n ( t ) R ( t ) Z(t)=n(t)R(t) Z(t)=n(t)R(t)

⚡️ 对于出租车的平均服务率,包括出租车的接受服务用时和接受服务前在“蓄车池”的等待用时,接受服务用时 μ 0 \mu_{0} μ0满足: μ 0 = t 1 + t 2 + t 3 \mu_{0}=t_{1}+t_{2}+t_{3} μ0=t1+t2+t3 其中: t 1 = 1.5 m i n t_{1}=1.5min t1=1.5min t 2 ∈ [ 0.5 , 1 ] m i n t_{2}\in[0.5, 1]min t2[0.5,1]min t 3 = 1 m i n t_{3}=1min t3=1min
接受服务前在“蓄车池”的等待用时为:

⚡️ 出租车收费表如下:

日间(5:00~23:00) 夜间(23:00~5:00)
0~3 公里 14元 18元
3~15公里 2.5元/公里 3.1元/公里
15公里以上 3.6元/公里 4.7元/公里

则得到出租车价格函数为:

⚡️ 该机场距离所属城市市区距离大约 30 ~ 60km,距离其市中心为 45km,即机场出租车载客从机场到市区的距离服从正态分布 N ( 45 , 1 5 2 ) N(45, 15^2) N(45,152)

⚡️ 该机场出租车南北各有一个“乘车区”,每个“乘车区”各有两条道路,即两个上车点.

模拟仿真

由这些实际数据即可对上述模型进行验证计算,给出出租车司机在不同时间段的决策方案,并调整相关参数的数值(航班数量、乘坐出租的乘客比例、行驶里程、出租车的收益率和等待时间等)的变化,由此可以说明模型的合理性. 通过计算比较出租车等待时间和等待成本的变化,以及对决策方案的影响,则可以检验模型对相关参数的依赖性.


挖坑

⭐️ 乘车区上车点的设置模型

针对某机场有两条并行车道的“乘车区”的情况,建立“上车点”的优化设置模型,在保证车辆和乘客安全的条件下,合理安排出租车乘客,使得乘车区总的乘车效率最高,即单位时间内出租车载客离开乘车区的车辆(或人数)最多.

⚡️ 如果设置一个上车点,即每批次、每车道各安排1辆车,乘客由1个队列按次序乘车,则每辆出租车从“蓄车池”安全到达乘车区停稳后需要时间为 t 1 t_{1} t1;每组乘客(同车1~4人)上车需要时间为 t 2 t_{2} t2,介于 30~60s 之间;每辆车载客后启动、离开乘车区平均需要时间为 t 3 t_{3} t3. 于是 1 个批次安排 2 辆车共需时间为 t 1 + t 2 + t 3 t_{1}+t_{2}+t_{3} t1+t2+t3,其运行效率(平均每辆车承载一批乘客所需时间)为 S 1 = 1 2 ( t 1 + t 2 + t 3 ) S_{1}=\frac{1}{2}(t_{1}+t_{2}+t_{3}) S1=21(t1+t2+t3).

⚡️ 如果设置两个上车点,即每批次、每车道各安排 2 辆车,乘客由1 个队列按次序乘车,则从实际安全考虑,当所有车辆停稳后才能上客,车辆在乘客全部上车后才可以离开乘车区. 由于车辆和乘客的相互影响,则所需要的时间会比 1 个上车点的情况有所增加.

不妨设 2 辆车都安全到达乘车区停稳需要的时间为 t 1 + α 1 t 1 ( 0 < α 1 < 1 ) t_{1}+\alpha_{1}t_{1}(0<\alpha_{1}<1) t1+α1t1(0<α1<1);每组乘客上车需要时间为 t 2 + α 2 t 2 ( 0 < α 2 < 1 ) t_{2}+\alpha_{2}t_{2}(0<\alpha_{2}<1) t2+α2t2(0<α2<1);每辆车载客后启动、离开乘车区所需要的时间为 t 3 + α 3 t 3 ( 0 < α 3 < 1 ) t_{3}+\alpha_{3}t_{3}(0<\alpha_{3}<1) t3+α3t3(0<α3<1). 于是 1 个批次安排 4 辆车共需要时间为 t 1 + α 1 t 1 + t 2 + α 2 t 2 + t 3 + α 3 t 3 t_{1}+\alpha_{1}t_{1}+t_{2}+\alpha_{2}t_{2}+t_{3}+\alpha_{3}t_{3} t1+α1t1+t2+α2t2+t3+α3t3,其运行效率(平均每辆车承载 1 批乘客所需时间)为 S 2 = 1 4 ( t 1 + α 1 t 1 + t 2 + α 2 t 2 + t 3 + α 3 t 3 ) S_{2}=\frac{1}{4}(t_{1}+\alpha_{1}t_{1}+t_{2}+\alpha_{2}t_{2}+t_{3}+\alpha_{3}t_{3}) S2=41(t1+α1t1+t2+α2t2+t3+α3t3).

⚡️ 如果设置 k ( k > 1 ) k(k>1) k(k>1) 个上车点,即每批次、每车道各安排 k k k 辆车,乘客由 1 各队列按次序乘车,则在实际安全的条件下,所有车辆停稳后才能上客,在所安排的乘客全部上车后依次启动、离开乘车区.

不妨设 k k k 辆车到达乘车区停稳后所需要的时间为 t 1 + ( k − 1 ) α 1 ( k ) t 1 ( α 1 ( k ) ≥ 0 ) t_{1}+(k-1)\alpha_{1}(k)t_{1}(\alpha_{1}(k)\geq0) t1+(k1)α1(k)t1(α1(k)0);每组乘客(同车 1~4 人)上车所需要的时间为 t 2 + ( k − 1 ) α 2 ( k ) t 2 ( α 2 ( k ) ≥ 0 ) t_{2}+(k-1)\alpha_{2}(k)t_{2}(\alpha_{2}(k)\geq 0) t2+(k1)α2(k)t2(α2(k)0);每辆车载客后从启动、离开乘车区所需要的时间为 t 3 + ( k − 1 ) α 3 ( k ) t 3 ( α 3 ( k ) ≥ 0 ) t_{3}+(k-1)\alpha_{3}(k)t_{3}(\alpha_{3}(k)\geq 0) t3+(k1)α3(k)t3(α3(k)0). 于是 1 个批次安排 2 k 2k 2k 辆车共需时间为: t 1 + ( k − 1 ) α 1 ( k ) t 1 + t 2 + ( k − 1 ) α 2 ( k ) t 2 + t 3 + ( k − 1 ) α 3 ( k ) t 3 t_{1}+(k-1)\alpha_{1}(k)t_{1}+t_{2}+(k-1)\alpha_{2}(k)t_{2}+t_{3}+(k-1)\alpha_{3}(k)t_{3} t1+(k1)α1(k)t1+t2+(k1)α2(k)t2+t3+(k1)α3(k)t3其运行效率(平均每辆车承载 1 批乘客所需时间)为 S k = 1 2 k [ t 1 + ( k − 1 ) α 1 ( k ) t 1 + t 2 + ( k − 1 ) α 2 ( k ) t 2 + t 3 + ( k − 1 ) α 3 ( k ) t 3 ] S_{k}=\frac{1}{2k}[t_{1}+(k-1)\alpha_{1}(k)t_{1}+t_{2}+(k-1)\alpha_{2}(k)t_{2}+t_{3}+(k-1)\alpha_{3}(k)t_{3}] Sk=2k1[t1+(k1)α1(k)t1+t2+(k1)α2(k)t2+t3+(k1)α3(k)t3]
其中, α 1 ( k ) , α 2 ( k ) , α 3 ( k ) ≥ 0 \alpha_{1}(k),\alpha_{2}(k),\alpha_{3}(k)\geq 0 α1(k)α2(k)α3(k)0. 在通常情况下,同时到达乘车区的车辆越多,会产生相互的影响,在保证安全的条件下,从相互影响的效果来确定其取值. 根据实际情况分析,不妨取:
α 1 ( k ) = { 0 , k = 1 1 10 k , k > 1 α 2 ( k ) = α 3 ( k ) = { 0 , k = 1 1 10 ( k + 1 ) , k > 1 \alpha_{1}(k)=\begin{cases} 0, & k=1 \\ \frac{1}{10}k, & k>1 \end{cases} \quad\quad\quad \alpha_{2}(k)=\alpha_{3}(k)=\begin{cases} 0, & k=1 \\ \frac{1}{10}(k+1), & k>1 \end{cases} α1(k)={0,101k,k=1k>1α2(k)=α3(k)={0,101(k+1),k=1k>1
考虑到机场的实际情况,通常乘车区的空间是有限的,为此设立上车点数不会太多,即 k k k 值不会太大. 于是在保证安全的条件下,应取使乘车区运行效率最高的方案,即: min ⁡ k S k = 1 2 k 0 [ t 1 + ( k 0 − 1 ) α 1 ( k 0 ) t 1 + t 2 + ( k 0 − 1 ) α 2 ( k 0 ) t 2 + t 3 + ( k 0 − 1 ) α 3 ( k 0 ) t 3 ] \min_{k}S_{k}=\frac{1}{2k_{0}}[t_{1}+(k_{0}-1)\alpha_{1}(k_{0})t_{1}+t_{2}+(k_{0}-1)\alpha_{2}(k_{0})t_{2}+t_{3}+(k_{0}-1)\alpha_{3}(k_{0})t_{3}] kminSk=2k01[t1+(k01)α1(k0)t1+t2+(k01)α2(k0)t2+t3+(k01)α3(k0)t3]
即有 S k 0 − 1 > S k 0 S_{k_{0}-1}>S_{k_{0}} Sk01>Sk0 S k 0 < S k 0 + 1 S_{k_{0}}Sk0<Sk0+1.
事实上,如果一辆车从“蓄车池”到乘车区停稳需要时间 t 1 = 120 s t_{1}=120s t1=120s,每一组乘客上车时间 t 2 ∈ [ 30 , 60 ] s t_{2}\in[30, 60]s t2[30,60]s,不妨取平均值 t 2 = 45 s t_{2}=45s t2=45s,出租车载客后启动、驶离乘车区的时间 t 3 = 30 s t_{3}=30s t3=30s.
k = 1 \quad\quad k=1 k=1(即设 1 个上车点)时,则有 S 1 = 1 2 ( 120 + 45 + 30 ) = 97.5 ( s ) S_{1}=\frac{1}{2}(120+45+30)=97.5(s) S1=21(120+45+30)=97.5(s)
k = 2 \quad\quad k=2 k=2(即设 2 个上车点)时,则有 S 2 = 1 4 ( 120 + 0.2 × 120 + 45 + 0.3 × 45 + 30 + 0.3 × 30 ) = 60.375 ( s ) S_{2}=\frac{1}{4}(120+0.2\times120+45+0.3\times45+30+0.3\times30)=60.375(s) S2=41(120+0.2×120+45+0.3×45+30+0.3×30)=60.375(s)
k = 3 \quad\quad k=3 k=3(即设 3 个上车点)时,则有 S 3 = 1 6 ( 120 + 2 × 0.3 × 120 + 45 + 2 × 0.4 × 45 + 30 + 2 × 0.4 × 30 ) = 54.5 ( s ) S_{3}=\frac{1}{6}(120+2\times0.3\times120+45+2\times0.4\times45+30+2\times0.4\times30)=54.5(s) S3=61(120+2×0.3×120+45+2×0.4×45+30+2×0.4×30)=54.5(s)
k = 4 \quad\quad k=4 k=4(即设 4 个上车点)时,则有 S 4 = 1 8 ( 120 + 3 × 0.4 × 120 + 45 + 3 × 0.5 × 45 + 30 + 3 × 0.5 × 30 ) = 56.4375 ( s ) S_{4}=\frac{1}{8}(120+3\times0.4\times120+45+3\times0.5\times45+30+3\times0.5\times30)=56.4375(s) S4=81(120+3×0.4×120+45+3×0.5×45+30+3×0.5×30)=56.4375(s)
由此可知,设置 3 个上车点,乘车区的运行效率是最高的,不难说明这是符合实际情况的.

⭐️ 短途往返车辆的优先安排模型

如果某时间段内排队等待的出租车等待的时间长度都为 T 0 T_{0} T0(如 1 ~ 3h). 在正常情况下,对于一辆载客返回市区的出租车,行驶时间为 T 1 T_{1} T1(如 30 ~ 60min),收益率为 P 1 P_{1} P1(如果 100~180 元);而对于一辆承载了短途乘客的出租车,行驶时间长度为 T 2 < T 1 T_{2}T2<T1(如 10 ~ 30min),收益额为 P 2 < P 1 P_{2}P2<P1(如 20 ~ 50 元),即需要经 2 T 2 2T_{2} 2T2 时间后返回机场,那么应该如何安排“优先”方案?

事实上,对于一辆正常载客返回城区的出租车的平均收益为 P 1 T 0 + T 1 \frac{P_{1}}{T_{0}+T_{1}} T0+T1P1,而对于一辆载短途乘客的出租车的平均收益为 P 2 T 0 + T 2 \frac{P_{2}}{T_{0}+T_{2}} T0+T2P2. 如果该车经 2 T 2 2T_{2} 2T2 时间后返回机场,并且需要等待 t t t 时间后“优先”载客,不妨设承载非短途乘客,则要让这些同样在机场排队等待 T 0 T_{0} T0 时间的出租车单位时间的收益尽量均衡,即要求其等待时间 t t t 应该满足: min ⁡ t ≥ 0 [ P 2 + P 1 T 0 + 2 T 2 + T 1 + t − P 1 T 0 + T 1 ] \min_{t\geq0}[\frac{P_{2}+P_{1}}{T_{0}+2T_{2}+T_{1}+t}-\frac{P_{1}}{T_{0}+T_{1}}] t0min[T0+2T2+T1+tP2+P1T0+T1P1]
根据某机场的实际情况,给出确定的 T 0 , T 1 , T 2 , P 1 T_{0},T_{1},T_{2},P_{1} T0T1T2P1 P 2 P_{2} P2 的具体数值,则可以求解出相应的 t 0 t_{0} t0 值,即对于一辆短途的出租车来说,只要载客离开并在 2 T 0 2T_{0} 2T0 时间内返回,只需要等待 t 0 t_{0} t0 时间即可“优先载客”,根据机场的具体情况确定合适的 T 0 T_{0} T0 t 0 t_{0} t0.

譬如,以某机场和所隶属的城市为例,相关数据取平均值,从机场载客到市区行驶时间为 T 1 = 45 m i n T_{1}=45min T1=45min,相应收益为 P 1 = 140 元 P_{1}=140元 P1=140;短途的行驶时间为 T 1 = 20 m i n T_{1}=20min T1=20min,相应收益为 P 2 = 35 元 P_{2}=35元 P2=35. 不妨假设排队等待时间为 T 0 = 120 m i n T_{0}=120min T0=120min,则有 t 0 = 1.25 m i n t_{0}=1.25min t0=1.25min. 即如果机场的短途载客出租车能够在 40 min 内返回机场载客,该出租车只需要等待 1.25min 即可“优先”直接载客,而且能够载客(长途客)返回市区,这样就能使得与之前载客(长途客)返回市区的出租车单位时间的收益基本均衡,这也是与该机场现实行的“优先”方案相吻合的.

⭐️ 附录

图 1 代码:

clear;clc;
% 准备数据
t = 1:1:24;
Taxi = [22 14 15 58 39 29 21 11 23 16 46 42 34 41 35 57 70 57 48 53 41 73 76 42];

% 设置颜色,rgb值
C1 = [62/255, 179/255, 195/255];
C2 = [221/255, 107/255, 123/255];

% 绘制图像并调整折线图和柱状图的图形样式
Line = line(t, Taxi);
set(Line, 'LineStyle', '--', 'Marker', 'o', 'LineWidth', 2.5, 'Color', C2);

% 坐标区调整
set(gca, 'Box', 'off', ...                              % 去掉图中右侧和上方的边框
    'XGrid', 'off', 'YGrid', 'on', ...                  % 设置是否开启网格线
    'TickDir', 'out', 'TickLength', [0.01 0.01], ...    % 设置坐标轴刻度的指向和长短
    'XMinorTick', 'off', 'YMinorTick', 'on', ...        % 设置坐标轴刻度的精度
    'XColor', [.1, .1, .1], 'YColor', [.1, .1, .1], ... % 设置坐标轴的颜色
    'XTick', 0:1:25, 'YTick', 0:10:100, ...             % 设置坐标轴刻度的最大显示范围
    'Xlim', [0, 25], 'Ylim', [0, 100], ...               % 设置坐标轴刻度的显示范围
    'Xticklabel', {[0:1:25]}, ...                        % 设置x坐标轴刻度值
    'Yticklabel', {[0:10:100]})                          % 设置y坐标轴刻度值

% 坐标轴标签、legend、刻度标签、背景颜色
hXLabel = xlabel('时段');
hYLabel = ylabel('出租车平均达到率');
hLegend = legend(Line, '不同时段出租车平均到达率', 'Location', 'northeast');

% 设置图例字体格式
set([hXLabel, hYLabel, hLegend], 'FontName', 'Helvetica');
set([hXLabel, hYLabel, hLegend], 'FontSize', 10);
set(gca, 'LooseInset', [0, 0, 0, 0]);   % 消除白边

图 2 代码:

clear;clc;
% 准备数据
t = 1:1:24;
Person = [840 480 408 1080 402 486 330 684 1728 1980 1374 840 1578 1260 1494 1914 1260 1788 1356 1740 1164 882 1446 1200];
Taxi = [22 14 15 58 39 29 21 11 23 16 46 42 34 41 35 57 70 57 48 53 41 73 76 42];

% 设置颜色,rgb值
C1 = [62/255, 179/255, 195/255];
C2 = [221/255, 107/255, 123/255];

% 绘制图像并调整折线图和柱状图的图形样式
[hAxes,hBar,hLine] = plotyy(t, Person, t, Taxi, 'bar', 'plot');
set(hBar, 'EdgeColor', 'k', 'LineWidth', 1, 'facecolor', C1);
set(hLine, 'LineStyle', '--', 'Marker', 'o', 'LineWidth', 2.5, 'Color', C2);

% 标题、坐标轴、legend
title('各时间段机场客流量和出租车流量');
xlabel('时间段')
ylabel(hAxes(1),'客流量')
ylabel(hAxes(2),'出租车流量')
set(hAxes(1), 'YColor', C1, 'YMinorTick', 'on');
set(hAxes(2), 'YColor', C2, 'YGrid', 'on');
legend([hBar, hLine], '客流量', '出租车流量');

模拟仿真代码:(挖坑)

你可能感兴趣的:(MATLAB学习笔记,学习,matlab)