$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
待ち行列のシミュレーション/queue_simulation
Search
florets1
July 13, 2023
Programming
0
330
待ち行列のシミュレーション/queue_simulation
florets1
July 13, 2023
Tweet
Share
More Decks by florets1
See All by florets1
Tableauとggplot2の背景/Background_of_Tableau_and_ggplot2
florets1
0
43
Rで学ぶデータハンドリング入門/Introduction_to_Data_Handling_with_R
florets1
0
110
人工知能はクロスジョインでできている/AI_Is_Built_on_Cross_Joins
florets1
0
71
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
420
複式簿記から純資産を排除する/eliminate_net_assets_from_double-entry_bookkeeping
florets1
1
430
カイ二乗検定は何をやっているのか/What_Does_the_Chi-Square_Test_Do
florets1
7
2.4k
直積は便利/direct_product_is_useful
florets1
3
440
butterfly_effect/butterfly_effect_in-house
florets1
1
260
データハンドリング/data_handling
florets1
2
250
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
360
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
6
1.1k
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
510
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
SwiftUIで本格音ゲー実装してみた
hypebeans
0
420
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
130
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
320
tparseでgo testの出力を見やすくする
utgwkk
2
250
JETLS.jl ─ A New Language Server for Julia
abap34
1
420
チームをチームにするEM
hitode909
0
350
AIコーディングエージェント(Manus)
kondai24
0
200
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
75
Designing for Performance
lara
610
69k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
310
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Six Lessons from altMBA
skipperchong
29
4.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
What's in a price? How to price your products and services
michaelherold
246
13k
Thoughts on Productivity
jonyablonski
73
5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
110
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
1 2023.07.15 Tokyo.R #107 待ち行列のシミュレーション
2 待ち行列 平均到着スピード 15台/時 到着時刻 開始時刻 待ち時間 完了時刻 到着間隔 平均洗車スピード
20台/時 サービス時間
3 平均待ち時間(解析解) 平均到着スピード = 𝜆 = 15/60[台/分] 平均洗車スピード = 𝜇
= 20/60[台/分] 平均利用率 𝜌 = 𝜆 𝜇 = 0.75 平均待ち時間 = 𝜌 1 − 𝜌 1 𝜇 = 9分
4 実は解析解から得られる情報は少ない ← 9分 何番目の車か 平均待ち時間(分)
5 シミュレーション(車100台分) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 単位:分
6 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
7 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 rexp(n, rate) 指数分布に従う乱数n個 平均 1/rate
8 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着時刻 = 1つ前の車の到着時刻 + 到着間隔
9 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 開始時刻 = max(1つ前の車の完了時刻, 到着時刻)
10 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 rexp(n, rate) 指数分布に従う乱数n個 平均 1/rate
11 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 完了時刻 = 開始時刻 + サービス時間
12 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 待ち時間 = 開始時刻 – 到着時刻
13 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 アイドル時間 = 開始時刻 – 1つ前の車の完了時刻
14 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
15 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
16 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
17 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着時刻 = 1つ前の車の到着時刻 + 到着間隔 開始時刻 = max(1つ前の車の完了時刻, 到着時刻) アイドル時間 = 開始時刻 – 1つ前の車の完了時刻
18 シミュレーション(append) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
19 シミュレーション(append99回) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
20 待ち時間に興味がある 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
21 100台それぞれの待ち時間 何番目の車か 待ち時間(分)
22 乱数なので実行する度に変化する
23 1000回やってみた ← 9分 何番目の車か 平均待ち時間(分) 考察 先頭集団は待ち時間が少ない。後になるほど解析解の 9分に近づいていく。
24 平均待ち時間の分布 車100台の平均待ち時間 車100台の平均待ち時間を求めるシミュレーションを1000回行ったヒストグラム ← 9分 考察 多くの場合、待ち時間は9分より短いが、20分を超え ることもあるようだ。50分待ちという極端な値もある。
25 平均アイドル率(解析解) 平均利用率 𝜌 = 𝜆 𝜇 = 0.75 平均アイドル率
= 1 − 𝜌 = 0.25
26 平均アイドル率の分布 車100台の平均アイドル率 車100台の平均アイドル率を求めるシミュレーションを1000回行ったヒストグラム 0.25→ 考察 解析解の0.25より大きい傾向だ。
27 まとめ • 解析解はシステムが長時間稼働した後の安定した状態。 • シミュレーションでは、待ち行列が発生するまでの 「ウォームアップ期間」を再現できる。 • シミュレーションでは分布も得られる。