Skip to content

算法Algorithm

Lindley 等待时间递推

Lindley recursion

逐位顾客更新未完成工作量,用反射随机游走解释单服务台等待及其稳定条件。

形式陈述 ​

服务时间不服从指数分布时,当前人数不能完整预测未来;但在每位顾客到达时记录已有工作量,就能得到一个简单而精确的递推。

考虑无限容量、先来先服务、无中断且有任务就工作的单服务台。输入是按到达次序排列的序列 (Sn,An),各项为实数:第 n 位顾客所需服务时间 Sn≥0,到下一位到达之间的间隔 An>0。另给定初始等待 W1≥0。令 Wn 为第 n 位顾客开始服务前的等待时间,则逐条样本记录都有

Wn+1=(Wn+Sn−An)+,x+=max{x,0}.

递推本身不需要独立性。若到达间隔构成更新过程,服务时长 IID 且与到达独立,就得到常见 GI/G/1 模型。设均值有限,则 ES<EA 是负漂移条件;在这些 IID 条件下,等待序列存在几乎必然有限的平稳解。平稳等待的期望是否有限,还需更强矩条件。

直觉

下一位到来之前,服务者最多能消化 An 时间的工作。原有欠账 Wn 加上本顾客服务 Sn,减去可用时间;若结果为负,意味着服务台曾空闲,下一位等待只能归零。正部运算把随机游走在零处反射,而不是让系统储存“负等待”用于抵扣未来服务。

令 Yn=Sn−An 且 W1=0,展开得到

Wn+1=max{0,Yn,Yn+Yn−1,…,Yn+⋯+Y1}.

每个后缀和代表从某位过去顾客起累计的净工作量,取最大值等于找到最后一次空闲以后尚未消化的欠账。

例子与边界

取前三位服务时长为 S1=2,S2=4,S3=1,相邻到达间隔为 A1=3,A2=1,A3=5,所有时间用同一单位。第一位无需等待,逐步执行为

W1=0,W2=(0+2−3)+=0,W3=(0+4−1)+=3,W4=(3+1−5)+=0.

第二位先于第三位一单位到达,却需服务四单位,所以第三位正好等三单位。第三位及前面欠账合计四单位,距离第四位到来还有五单位,因此队伍在第四位之前清空。计算同时解释了每次截零对应的实际空闲。

实现只保留当前 W,顺次读入 (Sn,An) 并赋值 W←max(0,W+Sn−An)。在每次实数加减与比较为单位操作的计数下,处理 n 对输入的时间为 O(n),工作空间为 O(1);若保存每位等待记录,输出本身需 O(n) 空间。循环不变量是当前值恰等于下一位到达时所有先到顾客尚余的工作量。

负漂移的作用可以从反向累积和看见。把 IID 净增量扩成双向序列 (Yn)n∈Z;当 E|Y0|<∞、EY0<0 时,强大数定律使每个固定 n 的长反向和趋于 −∞。因此

Wn∗=supk≥0∑j=n−kn−1Yj

几乎必然有限,空和为零。逐项展开就有 Wn+1∗=(Wn∗+Yn)+,而双向 IID 序列的平移不变性使 (Wn∗) 平稳。从空队列启动的有限后缀最大值,在分布上等于同一双向过去的截断上确界;截断长度增大时单调趋于 Wn∗,从而得到等待分布的平稳极限。有限均值等待并未由此保证。

若 EY>0,从空队列启动时 Wn+1≥∑j=1nYj→∞。临界 EY=0 则不能一概判断:Sn=An≡1 给出零等待;若 Yn 为独立对称的 ±1,递推是在零处截断的对称随机游走。其平稳方程先给 π1=π0,再递推得所有 πn 相等,无法归一化,因此这个临界模型没有平稳概率。

多服务台、抢占优先级或顾客会放弃时,单个标量不再完整描述未来。需要工作量向量、优先级状态或剩余耐心等信息,不能把原递推当成通用排队公式。

推论与应用

Lindley 递推直接支持仿真,也把稳定性转成随机游走漂移问题。Poisson 到达这一附加结构能将稳态均值化简为Pollaczek–Khinchine 公式;一般更新到达仍能运行本递推,却通常没有同样的简单均值表达式。

参考资料
关系图谱12 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系