대기행렬 계산기 - M/M/c 대기행렬 분석
이용률, 평균 대기행렬 길이, 대기시간, 확률을 포함한 대기행렬 성능 지표를 M/M/1, M/M/c, 유한 용량 모델에 대해 계산합니다.
대기행렬 모델을 선택하고 도착률과 서비스율을 입력한 다음 계산을 클릭하면 전체 성능 지표를 확인할 수 있습니다.
대기행렬 계산기 - M/M/c 대기행렬 분석
이용률, 평균 대기행렬 길이, 대기시간, 확률을 포함한 대기행렬 성능 지표를 M/M/1, M/M/c, 유한 용량 모델에 대해 계산합니다.
대기행렬 이론 소개
대기행렬 이론은 대기 줄을 연구하는 수학의 한 분야입니다. 도착은 무작위로 발생하고, 서비스에는 시간이 걸리며, 자원(서버)은 제한되어 있는 시스템의 동작을 예측하는 도구를 제공합니다. 적용 분야는 통신(패킷 스위칭), 의료(환자 예약), 제조(기계 대기열), 교통(차량 흐름), 컴퓨터 과학(운영체제 스케줄링)까지 다양합니다.
Kendall 표기법 A/S/c/K/N은 도착 과정 (A), 서비스 시간 분포 (S), 서버 수 (c), 시스템 용량 (K), 모집단 크기 (N)로 대기행렬을 설명합니다. 가장 흔한 표기는 M/M/c이며, 도착과 서비스 시간이 모두 지수(기억 없음) 분포를 따릅니다. M은 Markovian(지수형)을 뜻합니다. 이 계산기는 네 가지 핵심 모델을 다룹니다.
M/M/1 모델은 가장 단순합니다. 단일 서버에 포아송 도착(률 λ)과 지수 서비스 시간(률 μ)을 가정합니다. 시스템은 ρ = λ/μ < 1일 때만 안정적입니다. 시스템의 평균 개수는 L = ρ/(1-ρ), 평균 시스템 체류시간은 Little의 법칙(L = λW)에 따라 W = 1/(μ-λ)입니다.
M/M/c 모델은 이를 c개의 병렬 동일 서버로 확장한 것입니다. 총 서비스 용량은 c·μ이므로 안정성 조건은 ρ = λ/(c·μ) < 1입니다. Erlang C 공식은 도착한 고객이 기다려야 할 확률을 제공합니다: C(c,ρ) = (cρ)^c/(c!(1-ρ)) · P₀, 여기서 P₀는 시스템이 비어 있을 확률입니다.
M/M/c/K 모델은 제한된 대기 공간을 추가합니다. 시스템 용량 K는 서비스 중과 대기 중을 모두 포함한 총 고객 수의 최대치입니다. 시스템이 가득 찼을 때 도착한 고객은 차단(거절)됩니다. 이 모델은 식당, 주차장, 병동 등에 적합합니다. M/M/1/K의 차단 확률은 P(K) = P₀ · (λ/μ)^K / K!입니다.
M/M/c/N 모델은 잠재 고객 수가 N명인 유한 모집단을 가정합니다. 이미 시스템에 있는 고객은 새로운 도착을 만들 수 없으므로, 시스템이 차면서 유효 도착률은 감소합니다. 이 모델은 N대의 기계가 각각 λ의 속도로 고장 나고 μ의 속도로 수리되는 기계 수리 문제에 적합합니다.
Little의 법칙 — L = λ_eff × W — 은 시스템의 평균 개수 (L), 유효 도착률 (λ_eff), 평균 시스템 체류시간 (W)을 연결하는 보편적 관계입니다. 안정적인 거의 모든 대기행렬 시스템에 대해 분포 가정과 무관하게 성립하며, 이 계산기의 모든 성능 공식의 기반이 됩니다.
대기행렬 이론 예시
현실적인 매개변수로 다양한 대기행렬 상황을 살펴보세요.
| 시나리오 | 핵심 지표 | 해석 |
|---|---|---|
| 은행 창구: M/M/1, λ=10/시간, μ=12/시간 | ρ=83.3%, Lq=4.17, Wq=25분 | 바쁜 창구 1개입니다. 평균 대기행렬은 4명, 대기시간은 25분입니다. 이용률이 높으므로 창구를 하나 더 추가하면 대기시간이 크게 줄어듭니다. |
| 콜센터: M/M/c, λ=25/시간, μ=10/시간, c=3 | ρ=83.3%, Lq≈3.51, Wq≈8.4분 | 3명의 상담원이 업무를 분담합니다. 총 서비스 용량은 30/시간입니다. Erlang C 공식에 따라 Lq≈3.51, 평균 대기시간 Wq≈8.4분입니다. |
| 식당: M/M/c/K, λ=15/시간, μ=8/시간, c=2, K=20 | ρ=93.75%, 차단 확률≈2.1% | 제한된 좌석으로 시스템 총 인원은 20명으로 제한됩니다. 피크 시간대에는 도착 고객의 약 2%가 거절됩니다. |
대기행렬 계산기 사용 방법
- 드롭다운에서 대기행렬 모델을 선택합니다. M/M/1은 단일 서버, M/M/c는 여러 병렬 서버, M/M/c/K는 최대 용량 제한이 있는 경우, M/M/c/N은 유한 모집단인 경우에 사용합니다.
- 도착률 λ(단위 시간당 평균 도착 고객 수)와 서비스율 μ(서버 1대가 단위 시간당 처리할 수 있는 평균 고객 수)를 입력합니다.
- M/M/c, M/M/c/K, M/M/c/N 모델의 경우 서버 수 c도 입력해야 합니다. M/M/c/K는 시스템 총 용량 K, M/M/c/N은 유한 모집단 크기 N도 입력합니다.
- 계산을 클릭합니다. 결과 영역에는 서버 이용률 ρ, 시스템이 비어 있을 확률 (P₀), 평균 대기행렬 길이 (Lq), 평균 시스템 길이 (L), 평균 대기시간 (Wq), 평균 시스템 체류시간 (W)이 표시됩니다.
- 시스템이 불안정한 경우(도착률이 서비스 용량을 초과하는 경우) 오류 메시지가 표시됩니다. c 또는 μ를 늘리거나 λ를 줄여 안정적인 구성을 만드세요.
대기행렬 이론 FAQ
서버 이용률 ρ는 무엇을 의미하나요?
서버 이용률 ρ = λ / (c·μ)는 각 서버가 평균적으로 얼마나 바쁜지 나타내는 비율입니다. 이용률 0.85는 서버가 85%의 시간 동안 일하고 있다는 뜻입니다. ρ가 1에 가까워질수록 대기열은 끝없이 늘어나고, ρ > 1이면 시스템은 불안정하여 장기적으로 작업량을 감당할 수 없습니다.
Little의 법칙이란 무엇인가요?
Little의 법칙은 L = λ·W를 의미하며, L은 시스템 내 평균 고객 수, λ는 유효 도착률, W는 고객이 시스템에 머무는 평균 시간입니다. 도착이나 서비스 분포와 무관하게 모든 안정적인 시스템에 적용되며, 대기행렬 이론에서 가장 강력한 결과 중 하나입니다.
Erlang C 공식은 어디에 사용되나요?
Erlang C 공식은 M/M/c 대기행렬에서 도착 고객이 기다려야 할 확률(모든 서버가 바쁜 확률)을 계산합니다. 다중 서버 대기행렬의 Wq 공식의 기반이며, 콜센터 인력 배치에서 서비스 수준 목표를 만족하는 데 필요한 인원 수를 정할 때 널리 사용됩니다.
M/M/c/K와 M/M/c/N의 차이는 무엇인가요?
M/M/c/K는 시스템 내 총 고객 수(대기 중과 서비스 중 모두)를 K로 제한하며, K를 초과한 도착은 거절(차단)됩니다. M/M/c/N은 잠재 고객이 총 N명뿐인 폐쇄형 시스템을 모델링합니다. 고객이 대기열에 들어가면 나머지 모집단의 유효 도착률은 감소합니다.
대기행렬 시스템의 평균 대기시간을 어떻게 줄이나요?
가장 효과적인 방법은 서비스율 μ를 높이거나(더 빠른 서버), 서버 수 c를 늘리거나(병렬 채널), 변동성을 줄이는 것입니다. 역설적으로 이용률을 90%에서 80%로 낮추기만 해도 대기행렬 길이가 절반이 될 수 있습니다. ρ가 1에 가까워질수록 대기행렬 길이는 초선형으로 증가하기 때문입니다.
M/M 대기행렬은 현실 세계를 잘 나타내나요?
M/M 모델은 도착이 포아송 분포를 따르고 서비스 시간이 지수 분포를 따른다고 가정합니다. 이는 전화 통화, 웹 요청, 무작위 고객 도착 같은 많은 실제 시스템에 대한 합리적인 근사입니다. 비지수 서비스 시간에는 더 일반적인 M/G/1 또는 G/G/c 모델이 있지만, M/M 결과만으로도 용량 계획에 필요한 규모 수준의 정확한 추정이 가능합니다.