(과제물 출제 의도) 대기행렬 시스템 시뮬레이션에서 목적은 도착사건 및 출발사건, 대기시간, 봉사시간을 이해하는 것입니다.
과제물에서는 간단한 시뮬레이션 출력결과를 분석하고 직접 계산하게 되는데, 이처럼 과제물 작성을 통해서 대기행렬 개념과 주요용어를 정확히 이해하게되고 더 나아가 시뮬레이션 알고리즘도 이해하게 됩니다.
(과제물) 결과분석표 작성 예
▶ 아래 시뮬레이션 결과에서
ARRIVAL = 1 인 경우가 고객의 도착을 나타냅니다.
따라서 빨간색으로 1 이라고 표시한 곳의 시간이 고객의 도착시간이 되므로 5, 8, 14 입니다.
TPUMP 가 봉사시간이므로 파란색으로 음영 표시한 것이 각각 고객의 봉사시간이 됩니다.
따라서 고객의 봉사시간은 5, 5, 2 입니다.
================================
TIME ARRIVAL QUEUE TPUMP
---------------------------------
001 0 0 0
002 0 0 0
003 0 0 0
004 0 0 0
005 1 0 5 -> 고객1 도착, 봉사시간=5
006 0 0 4
007 0 0 3
008 1 1 2 -> 고객2 도착 및 대기(고객1 봉사 중)
009 0 1 1
010 0 0 5 -> 고객1 출발, 주유대(봉사창구) 비어있음, 고객2 봉사시작, 봉사시간=5
011 0 0 4
012 0 0 3
013 0 0 2
014 1 1 1 -> 고객3 도착 및 대기(고객2 봉사 중이므로)
015 1 1 2 -> 고객2출발, 고객3 봉사시작(봉사시간=2), 고객4 도착 및 대기(고객3 봉사중이므로)
016 0 1 1
017 0 0 3 -> 고객3출발, 고객4 봉사시작(봉사시간=3)
결과분석표
고객 |
도착시간 |
도착간격 |
봉사시간 |
출발시간 |
대기시간 |
1 |
5 |
0 |
5 |
5+5=10 |
0 |
2 |
8 |
8-5=3 |
5 |
10+5=15 |
10-8=2 |
3 |
14 |
14-8=6 |
2 |
15+2=17 |
15-14=1 |
대기시간 합계 |
1+2=3 |
공식
(고객i)출발시간 = 고객(i-1)의 출발시간 + 고객i 봉사시간 (단, 앞의 고객이 출발하고 봉사창구가 비어 있는 경우는, 출발시간=도착시간+봉사시간)
(고객i)대기시간 = 고객(i-1)의 출발시간 – 고객i 도착시간 (단, 앞의 고객이 출발하고 봉사창구가 비어 있는 경우는, 대기시간=0)
☞주의! 가끔 봉사시간이 0 인 경우가 발생함, 이 경우 봉사시간을 1로 표현하기 바람. 출력결과에서는 대기행렬 수가 하나 줄어들고 1분 후 다음 고객의 봉사가 시작됨.
▶ 결과분석표 계산 질문 사례
Q (질문) 첫번째 고객의 도착간격 =0 인 이유
위의 예에서 첫번째 고객의 도착간격은 0 입니다. 앞의 고객이 없기 때문입니다. 물론 공식대로 5-0=5 로 계산해도 감점 대상은 아닙니다.
Q (질문) 대기시간이 음수가 나오는 경우
=================================
TIME ARRIVAL QUEUE TPUMP
---------------------------------
001 0 0 0
002 0 0 0
003 0 0 0
004 0 0 0
005 1 0 4 -> 고객1 도착, 봉사시간=4
006 0 0 3
007 0 0 2
008 0 0 1
009 0 0 0 -> 고객1 출발, 주유대(봉사창구) 비어있음,
010 1 0 5 -> 고객2 도착, 대기시간=0, 봉사시작, 봉사시간=5
질문)
(고객2)대기시간 = 고객1의 출발시간 - 고객2 도착시간
대기시간 공식으로 (또는 워크북의 '응용문제'를 통해) 계산을 하면 대기시간이 9-10=-1 음수가 나오는데
이 경우 대기시간에서 음수가 발생하는것은 대기 시간이 없었다는 것일텐데 표기를 0 , -1 어떤것으로
하여야하는지요?
답변) 위의 예에서 10분에 도착한 고객은 봉사창구가 비어 있으므로 대기시간 = 0 입니다.
그리고 출발시간은 10 + 5 = 15 가 됩니다.
즉, 대기시간=0
출발시간=도착시간+봉사시간
대기시간이란 기다리는 시간입니다. 따라서 봉사창구가 모두 busy 인 상태에서만 발생합니다.
워크북의 경우는 봉사창구가busy 상태인 경우죠.
즉, 도착 했는데 비어 있는 봉사창구가 없는 경우에만 대기시간을 계산하는 겁니다.
** 대기시간 일반공식**
지금까지 설명을 정리하면,
n 번째 고객의 대기 시간 𝑾𝒏 은 자신의 도착시간 𝑨𝒏 과 (n-1) 번째 고객의 출발시간𝑫(𝒏-1)에 의하여 다음과 같이 정의된다.
𝑾𝒏 = 𝒎ax(𝟎, (𝑫(𝒏-1) − 𝑨𝒏)