18.0分、4.5分、3.9分
レジが4台ある店に、1分に平均1.8人の客が来る。会計は1人平均2分かかる。同じ客を同じ順に、並び方だけが違う3つの店に通してみる。
レジごとの列をでたらめに選ぶ店では、会計が始まるまでの平均待ち時間は18.0分だった。いちばん短い列を選ぶ店では4.5分。全員が一本の列に並び、空いたレジへ順に進むフォーク並びの店では3.9分である。
一本の列が早いのは、空いたレジの前で誰も待たないからだ。
教科書でよく比べるのは、18.0分と3.9分である。4.6倍の差になる。けれども、買い物かごを持った人は、列をでたらめに選んだりしない。隣の列を見て、短いほうに並ぶ。その店と一本の列の差は14%、時間にして33秒しかない。しかも一本の列にしたせいで会計が1%遅くなれば、この33秒は消えてしまう。
スーパーのレジは、本当に一列にするべきなのか。答えは、レジがどれだけ埋まっているかで変わる。
レジが遊び、客が待つ
3つの店で、レジの余裕は同じである。1分に1.8人が来て、1人に2分かかるので、4台のうち平均3.6台が動き、0.4台が空いている。動いている割合0.9を利用率と呼び、(ロー)と書く。1分に来る客の数を(ラムダ)、平均の会計時間を、台数をとすればだ。
違うのは、空いたレジがどこにあるかである。
客が店に着いた瞬間を調べると、空いたレジがあるのに別の列で誰かが待っていた割合は、でたらめに選ぶ店で34%、短い列を選ぶ店で12%だった。一本の列では、これは起こりようがない。レジが空けば、列の先頭にいる客がそこへ進むからである。
同じ計算で、あとから来た客に先を越された客の割合も数えた。でたらめに選ぶ店で70%、短い列を選ぶ店でも44%にのぼる。隣の列のほうが早く進むように感じるのは、気のせいではなかったわけだ。1
では、3.6台ぶんの仕事に4台を用意しているのに、なぜ待ち時間は何分にも伸びるのか。原因はばらつきにあり、その効き方は式に書ける。
1台の店を等比級数で解く
でたらめに列を選ぶ店から解く。この店は、レジ1台の店を個並べたものにあたるからだ。来る間隔と会計時間は指数分布に従うとする。は、1人のレジ係が1分に会計できる客の数である。
-
時間を等分する。短い1区間に客が来る確率をとすると、次の客までの時間がを超える確率はネイピア数の形になる。これが指数分布である。
-
すでに分来なかったとしても、この先の待ち方は変わらない。指数分布のこの性質を無記憶性という。
-
会計時間も同じ性質をもつので、次に起きることは今の人数だけで決まる。店の人数はマルコフ連鎖である。人数がからへ上がる回数と下がる回数は多くても1回しか違わないから、長い目で見て次の釣り合いが立つ。
-
とおくと、人数でいる割合は等比数列になる。
-
割合を全部足すと1である。等比級数の和を使うとが決まる。が条件だ。
-
店にいる平均の人数は、等比級数をで微分して求まる。
-
リトルの法則で、人数を時間に換える。は1人が店にいる平均時間である。
-
会計時間を引くと、平均待ち時間になる。
リトルの法則は、図にすると当たり前に見える。横に時間、縦に店の人数をとったグラフの面積は、「客が店で過ごした時間の合計」である。分のあいだに人が来たとして、面積をで割れば、で割ればになり、がなのでが出る。客の来方も会計時間の分布も問わない。
手順7のが、この話の芯である。利用率が0.5なら店にいる時間は会計の2倍で済むが、0.8で5倍、0.9で10倍、0.95で20倍、0.99で100倍になる。では釣り合いが成り立たず、列は伸び続ける。
冒頭の18.0分は手順8の式で出る。来る客をでたらめに4つに分けても、それぞれの間隔は指数分布のままで、1台あたり1分に0.45人が来る。利用率は0.9のまま変わらず、分になる。台数を8台に増やして客も倍にしても18分のままで、でたらめに選ぶ限り、店を大きくした得がない。
丸が今の人数で、隣へ1つずつ移っていく。棒はその滞在の割合を数えたもの、点線の枠が手順5の式である。
アーランのC式で余裕を束ねる
一本の列でも、釣り合いの考え方は同じである。違うのは下がる速さで、人数がなら台が同時に動く。を、平均で動いているレジの台数とする。
-
上がる回数と下がる回数の釣り合いを書く。
-
人数がまでは、1つ上がるごとに倍になる。
-
人数がを超えると、公比の等比数列に変わる。
-
レジが全部ふさがっている割合は、等比級数で足せる。来た客が待たされる確率がこれにあたり、全体の和で割るとアーランのC式になる。
-
待っている人数の平均は、前の章の手順6と同じ計算で求まる。
-
をで割ると、平均待ち時間になる。
手で計算できる大きさなので、冒頭の店で解いてみる。、である。手順4の分母の前半は。後半はをで割って69.984になる。だからで、分。これが3.9分の出どころだ。
4.6倍の正体は、待ち時間の分布で裾を見ると分かる。列の人数が等比数列なので、待たされた客の待ち時間は指数分布になり、次の形に書ける。
肩に乗ったは、1分あたりの余裕である。でたらめに選ぶ店では、レジ1台ごとに切り分けられた余裕人しか使えない。一本の列なら、4台ぶんを束ねた人を使える。
だから、裾は4倍の速さで細る。
10分を超えて待つ客は55%から11%に、20分を超えて待つ客は33%から1.4%に減る。平均の差より、長く待たされる人の減り方のほうがはるかに大きい。
ρが0.9を超えるところを見る
同じ客を3つの店に同時に通している。店の絵では四角がレジ、丸が客で、空いたレジの前で誰かが待っていると枠が脈打つ。棒グラフは待ち時間の分布で、左端の斜線の棒は待たずに済んだ客、右端の斜線の棒は目盛りの外まで待った客、三角が平均である。乱数の種を固定しているので、つまみが同じなら平均の数字も同じになる。
客の来る速さを1.6人から1.9人へ、2割足らず増やしてみる。一本の列は式の値で平均1.5分から8.9分へ、6倍に伸びる。「ばらつき」を「間隔も会計時間も一定」にすると、利用率0.9でも短い列と一本の列の待ち時間は0になる。待ち行列を作っているのは客の多さよりも、ばらつきのほうだと分かる。「10人に1人が大きなかご」は、11分の客が1割で残りが1分という店である。会計の平均は2分のままなのに、待ち時間はそれぞれ30.9分、7.3分、6.6分に伸びる。
短い列を選ぶ店に式はない
実際の店にいちばん近いのは2番目の店だが、この店の待ち時間には厳密な式がない。
レジが2台の場合は、1961年にジョン・キングマンが解いた。3台以上は近似の式と数値計算に頼るしかないと、グプタらの2007年の論文がまとめている。1977年にウェイン・ウィンストンは、レジの速さが同じで会計時間が指数分布に従い、列を移れないなら、会計を終えた客の数で測って短い列に並ぶのが最良だと示した。ただ、会計時間のばらつきがもっと大きいと、最良からは遠くなることも知られている。
筆者が計算すると、4台で利用率0.9の平均は4.48分になった。2一本の列との比は、台数が多いほど、また空いているほど大きくなる。
- 利用率0.9のとき、2台で1.05倍、4台で1.14倍、8台で1.29倍
- 4台のとき、利用率0.5で1.8倍、0.8で1.3倍、0.9で1.14倍、0.95で1.07倍
もっとも、利用率0.5の1.8倍は0.32分と0.17分の差で、9秒しか違わない。
残りの差はどこから来るのか。
客に見えるのが人数だけだからである。全員が、どの列も残りの会計が何分かを見通して、いちばん早く空くレジの列に並ぶとしたらどうなるか。一本の列では、先頭の客が最初に空いたレジへ進む。見通せる客は同じレジを、並ぶ時点で選んでいるだけである。来た順に同じレジが割り当てられるので、どの客の待ち時間も、一本の列とぴたりと一致する。つまり4.5分と3.9分の差の33秒は、前の人のかごの中身が分からないことの代金だと言ってよい。
意外なことに、待たずに会計へ進める客は、短い列の店のほうが多い。一本の列では21%、短い列では25%になる。空いたレジと待つ客が同時にいる時間が残るぶん、来た瞬間に空きを見つけられる客が増えるからだろう。それでも、平均と裾の細さでは一本の列が勝つ。20分を超えて待つ客は、短い列で2.5%、一本の列で1.4%だった。
点線が破線を追い越す
太い実線と破線の隙間は、どの利用率でもわずかである。6.86%遅い一本の列を表す点線は、利用率0.68までその隙間を通り、そこから破線を追い越して跳ね上がる。
6.86%の重さ
ここまでの計算には、一本の列でもレジ係の速さは変わらないという仮定があった。実際の店では、そうならなかった例がある。
ワンとジョウは、スーパーで起きた自然実験を2018年に報告している。列の長さの影響を除いて比べると、自分の列を持つレジ係は、列を共有するレジ係より約10.7%速かった。研究者は主な原因を社会的手抜きとみている。仕事を何人かで分け合うと、1人あたりの力を抜きがちになる現象である。列の長さを通じた影響も合わせると、列を共有したときの会計時間は6.86%長くなっていた。
この6.86%を、冒頭の店に当てはめてみる。抄録に店の利用率は書かれていないので、あくまで筆者の試算である。会計が2.14分になると、利用率は0.9から0.962へ上がる。の急なところを登るので、一本の列の待ち時間は3.9分から12.8分へ跳ね上がり、短い列を選ぶ店の4.5分を大きく超える。
短い列の店と待ち時間が並ぶまでに許される遅れは、利用率が高いほど小さい。
- 利用率0.5なら13%、2分の会計で16秒
- 利用率0.7なら6%、7秒
- 利用率0.9なら1%、1.2秒
混んでいるときほど一本の列が得だと思いがちだが、混んでいるときほど遅れに弱い。しかも、遅くなった会計そのものも客の時間である。待ち時間に会計時間を足して比べると、4台の店では、分かれ目は調べた利用率0.3から0.95のあいだで最大でも5.3%ほどだった。この計算の中に、6.86%の遅れを取り戻せる場面はない。
歩く時間も同じように効く。列の先頭からレジまで6秒かかるとすれば、その間レジは空いたままなので、会計が0.1分延びたのと同じことになる。利用率は0.945になり、筆者の計算で待ち時間は約8分に伸びる。柳澤大地らは2008年の論文で、この歩行距離を待ち行列理論に組み込んだ。その解析では、非常に混雑している場合や、歩行時間に対してサービス時間が短い場合には、窓口ごとに並ぶ「並列型」のほうが一本にまとめる「フォーク型」より効率がよくなる。論文はこれを「今までの待ち行列理論ではなかった結果」と書いている。
さらに、客の側の反応もある。ルーらは2013年、小売店の映像と売上のデータから、客は列の長さをよく見ていて、列の進む速さを十分に考慮しないことを見いだした。列を1本に集めると見た目の列が長くなり、売上が下がるおそれがあるという。
電話会社の計算から店の実験まで
待ち行列の数学は、電話会社で生まれた。1908年、デンマークのアグナー・クラルプ・アーランは、コペンハーゲン電話会社に入って新設の物理技術研究室を率いた。数学協会の集まりで知り合った主任技師ヨハン・イェンセンが、電話の待ち時間という問題に取り組むよう説得したという。アーランは1909年の最初の論文で、でたらめにかかる電話がポアソン分布に従うことを示した。1917年には損失と待ち時間の式を発表し、イギリスの郵政省をはじめ各国の電話会社が使うようになった。MacTutorの伝記によると、会社にいた約20年のあいだ、病気で休んだ日は一度もなかった。1929年1月に腹痛で入院して手術を受け、数日後に51歳で亡くなった。
1953年、デイヴィッド・ケンドールは、待ち行列を「埋め込みマルコフ連鎖」で解析する論文を書いた。来る間隔、会計時間、台数を並べるM/M/cのような書き方も、この論文が元とされる。Mはマルコフの頭文字で、無記憶性を指す。1961年には、クリーブランドのケース工科大学にいたジョン・リトルが、定常で平均が有限という条件のもとでを5ページの論文で証明した。
「一本がよい」という通説に正面から異議が出たのは、1987年のことだ。Operations Researchの同じ号に、2本の論考が並んだ。マイケル・ロスコフとポール・レックの題は「列をまとめるのがいつも得とは限らない」である。客の反応、列の移動、費用とサービス時間の増加を理由に挙げ、まとめる前と後を比べた公表例がないことも指摘した。リチャード・ラーソンは、客を怒らせるのは待つ長さだけでなく、先に来た人が先に呼ばれないという不公平でもあると論じた。先の44%は、この模型で測った不公平の大きさにあたる。
指摘を裏づけるデータは、その後に出てきた。ワンとジョウの自然実験に加え、シュンコらの2018年の行動実験でも、一本の列は作業者を遅くした。ソンらが2015年に報告した救急部門の分析では、患者を医師ごとに割り当てる方式で、対照群と比べて滞在時間が17%、待ち時間が9%短くなった。列を自分のものと感じるかどうかが、数式の外で効いているようだ。
まず10分、店で数える
一本の列にするかどうかは、利用率を数えれば、かなり絞り込める。
- 店で10分間、来た客の数を数えて10で割る。これがである。
- 会計を20人ほど測り、平均をとする。開いているレジの台数と合わせて、を計算する。10分で18人、2分、4台なら0.9だ。
- 0.9に近いなら、並び方より先にレジを開ける。冒頭の店を5台にすると利用率は0.72になり、平均待ち時間は一本の列で0.59分、短い列でも0.89分まで減る。3分以上も縮むので、並び方を変えて得られる33秒とは大きさが違う。
- 一本の列を試すなら、会計時間も一緒に測る。先頭の客をレジの近くで待たせ、歩く時間を縮めると、遅れの一部は取り戻せるはずだ。
買い物客のほうは、もう答えを持っている。18.0分を4.5分まで縮めているのは、みんなが短い列を選ぶという当たり前の習慣である。残りは、全員がかごの中身まで見通しても33秒しか縮まらない。
シミュレーションで一本の列の遅れを「1%遅い」「3%遅い」と切り替えると、短い列の平均に並び、追い越すところが見える。式の土台はマルコフ連鎖と等比級数の記事に、がある値を超えると急に流れが悪くなる別の現象は事故も工事もないのに、渋滞はなぜ起きるのかにある。
隣の列に抜かれても、たぶん誰も悪くない。人数しか見えない客が、それぞれ正しい選び方をした結果が4.5分である。
参考文献
- A. K. Erlangの経歴と論文はJ. J. O'Connor, E. F. Robertson, "Agner Krarup Erlang", MacTutor History of Mathematics(セント・アンドルーズ大学)による。
- W. Whitt, "Homework 1e. Solutions for the Erlang B and C Formulas", IEOR 6707(コロンビア大学、2002年).
- D. G. Kendall, "Stochastic Processes Occurring in the Theory of Queues and their Analysis by the Method of the Imbedded Markov Chain", The Annals of Mathematical Statistics 24 (1953), 338-354.
- J. D. C. Little, "A Proof for the Queuing Formula: L = λW", Operations Research 9 (1961), 383-387.
- J. F. C. Kingman, "Two Similar Queues in Parallel", The Annals of Mathematical Statistics 32 (1961), 1314-1323.
- W. Winston, "Optimality of the shortest line discipline", Journal of Applied Probability 14 (1977), 181-189.
- M. H. Rothkopf, P. Rech, "Perspectives on Queues: Combining Queues is Not Always Beneficial", Operations Research 35 (1987), 906-909.
- R. C. Larson, "Perspectives on Queues: Social Justice and the Psychology of Queueing", Operations Research 35 (1987), 895-905.
- V. Gupta, M. Harchol-Balter, K. Sigman, W. Whitt, "Analysis of join-the-shortest-queue routing for web server farms", Performance Evaluation 64 (2007), 1062-1081.
- 柳澤大地、友枝明保、木村紋子、西成活裕「歩行距離を考慮した待ち行列理論による待ち行列システムの解析」『日本応用数理学会論文誌』18巻4号(2008年), 507-534.
- Y. Lu, A. Musalem, M. Olivares, A. Schilkrut, "Measuring the Effect of Queues on Customer Purchases", Management Science 59 (2013), 1743-1763.
- H. Song, A. L. Tucker, K. L. Murrell, "The Diseconomies of Queue Pooling: An Empirical Investigation of Emergency Department Length of Stay", Management Science 61 (2015), 3032-3053.
- M. Shunko, J. Niederhoff, Y. Rosokha, "Humans Are Not Machines: The Behavioral Impact of Queueing Design on Service Time", Management Science 64 (2018), 453-473.
- J. Wang, Y.-P. Zhou, "Impact of Queue Configuration on Service Time: Evidence from a Supermarket", Management Science 64 (2018), 3055-3075.