대기행렬 시뮬레이터
무작위 도착과 서비스 시간, 대기 순서가 유한한 창구 시스템에 어떤 차이를 만드는지 실험합니다. 같은 시드는 고객별 도착 시각과 필요한 서비스 시간을 다시 만듭니다. 따라서 선입선출·후입선출·짧은 서비스 우선을 같은 작업량으로 비교할 수 있습니다. 초기 도착을 준비구간으로 제외한 대기 지표와 별도의 창구 이용률 구간을 표시합니다. 계산은 브라우저에서 진행됩니다.
주요 기능
- 서로 독립적인 고정 시드로 도착 간격과 서비스 시간을 고정값 또는 지수분포에서 생성
- 병렬 창구 1~12개와 제한된 대기 공간, 만석 거절의 명시적 기록
- 작업 중단 없는 선입선출·후입선출·미리 알려진 최단 서비스 우선 정책
- 준비구간 제외 평균·95백분위 대기, 체류시간, 거절률과 관측 이용률
- 대기 고객 수·사용 중인 창구 수의 실제 사건 시간 그래프와 준비구간 경계
- 독립 SVG 그래프 및 모든 고객의 숫자 사건 기록 CSV 다운로드
사용 방법
- 도착·서비스 분포와 도착률/평균 서비스 시간, 창구 수, 대기 자리 수를 선택합니다.
- 0이 아닌 시드와 전체 도착 수, 준비구간으로 뺄 초기 도착 수를 입력합니다.
- 대기 정책을 고르고 실행합니다. 제한된 고객 생성 후 도착·완료 사건을 시간순으로 처리합니다.
- 명목 부하와 실측 대기·거절·사용 중 시간·대기열 길이를 비교합니다. 정책만 바꾸고 시드를 유지해 비교할 수 있습니다.
- 필요하면 시간 그래프 SVG와 전 고객 CSV를 저장합니다.
활용 예시
- 가상의 같은 고객 도착 흐름에서 창구 한 곳과 두 곳 비교
- 명목 처리능력보다 일이 많을 때 대기와 잔여 작업이 늘어나는 모습 확인
- 같은 생성 작업량에서 선입선출과 최단 서비스 우선 비교
- 재현 가능한 유한 실험에서 초기 준비구간과 측정구간 분리
자주 묻는 질문
명목 부하만으로 실제 대기열 안정성을 알 수 있나요?
아니요. 명목 부하는 분당 도착률 × 평균 서비스 분 ÷ 창구 수입니다. 1 미만이면 이 모델의 평균 공급이 수요보다 크고, 1 초과면 과부하 신호입니다. 정확히 1은 경계입니다. 유한 시드 실험과 실제 시간별 변동·운영 규칙은 다를 수 있습니다.
준비구간과 이용률은 어떻게 계산하나요?
처음 N명은 고객 대기·거절 요약에서 제외합니다. 사용 중인 창구의 시간을 첫 측정 고객 도착부터 마지막 생성 고객 도착까지 적분하고 창구 수와 구간 길이로 나눕니다. 접수된 고객은 이후 모두 처리하여 대기시간을 완성하지만, 마지막 도착 이후 비우는 시간은 이용률 분모에 넣지 않습니다.
대기 공간이 가득 차면 어떻게 되나요?
모든 창구가 바쁘고 대기 자리도 꽉 찬 시점의 도착은 거절합니다. 거절 고객에게 가짜 서비스나 대기시간을 부여하지 않고 별도로 셉니다.
짧은 서비스 우선은 무엇을 가정하나요?
고객의 전체 소요시간을 도착 때 미리 뽑아 알고 있다고 가정합니다. 창구가 비면 기다리는 고객 중 가장 짧은 일을 고르며, 이미 진행 중인 일은 중단하지 않습니다. 실제 업무에서는 필요한 시간을 사전에 모를 수 있습니다.
이 결과로 인력을 배치해도 되나요?
지수 도착·서비스를 골라도 유한 고객 수, 제한 대기 공간, 준비구간과 정책을 가진 시뮬레이션입니다. 무한 기간의 해석식이나 실제 인력 수요·서비스 품질 보장은 아닙니다.
개인정보 안내
입력값과 생성된 고객 사건은 이 브라우저 탭에 머뭅니다. 자동 업로드나 저장은 없으며 SVG·CSV는 사용자가 요청할 때만 내려받습니다.
댓글과 질문