450 likes | 1.26k Views
경영과학 Management Science. 목 차. 14.1 대기행렬모형의 구성요소 14.2 대기행렬시스템의 몇 가지 예 14.3 대기행렬시스템의 성과척도 14.4 사례연구 : Dupit 사 문제. 학 습 목 표. 14 장을 학습한 후에는 대기행렬모형의 요소를 설명할 수 있어야 한다 . 대기행렬모형에 자주 사용되는 확률분포의 특성을 알아야 한다 . 자주 다루어지는 여러 가지 대기행렬시스템에 대한 많은 예를 들 할 수 있어야 한다 .
E N D
목 차 14.1 대기행렬모형의 구성요소 14.2 대기행렬시스템의 몇 가지 예 14.3 대기행렬시스템의 성과척도 14.4 사례연구 : Dupit사 문제
학 습 목 표 14장을 학습한 후에는 • 대기행렬모형의 요소를 설명할 수 있어야 한다. • 대기행렬모형에 자주 사용되는 확률분포의 특성을 알아야 한다. • 자주 다루어지는 여러 가지 대기행렬시스템에 대한 많은 예를 들 할 수 있어야 한다. • 대기행렬시스템에 대한 주요 성과척도들과 이들 척도 사이의 관계를 알아야 한다. • 기본적인 대기행렬시스템의 주요 형태를 설명할 할 수 있어야 한다. • 고려중인 대기행렬시스템에 대한 설명을 보고 가장 적합한 대기행렬모형을 결정할 할 수 있어야 한다.
서 론 • 대기행렬이론(queueing theory)은 다양한 형태의 기다림에 대한 연구 • 현실에서 나타나는 다양한 형태의 대기행렬시스템(queueing systems)을 대기행렬모형(queueing models)을 이용하여 표현 • 각 모형에 대한 수식은 여러 가지 상황 변화에 따라 평균대기시간을 포함하여 대기행렬시스템이 어떻게 되는지를 알게 해 준다. • 대기행렬모형은 대기행렬시스템을 가장 효율적으로 운용할 방법을 결정 • 시스템을 운용하기 위해 지나친 서비스를 제공하면 비용이 많이 드는 반면, 충분한 서비스를 제공하지 않으면 오랜 기다림이 발생하고 그 결과 좋지 않은 여러 결과들이 초래 • 대기행렬모형을 통해 서비스 비용과 대기시간의 길이 사이의 적절한 균형
14.1 대기행렬모형의 구성요소 기본 대기행렬시스템 고객은 서비스를 받기 위해 개별적으로 시스템에 도착한다. 만약 도착한 고객이 도착 즉시 서비스를 받지 못하면, 그 고객은 대기행렬(queue)에서 기다린다(대기행렬에는 서비스를 받고 있는 고객은 포함하지 않는다). 서비스 시설에서는 1명 이상의 서버(server)가 서비스를 제공한다. 각 고객은 서버 중 1명으로부터 개별적으로 서비스를 받은 후 시스템을 떠난다
14.1 대기행렬모형의 구성요소 대기행렬시스템의 예제 Herr Cutter는 혼자서 이발소를 운영하고 있다. 따라서 그의 이발소는 그가 유일한 서버인 기본적인 대기행렬시스템
14.1 대기행렬모형의 구성요소 • 단위시간당 평균 도착고객 수를 추정할 수 있다. 이것을 평균도착률(mean arrival rate)이라고 하며, 그리스 문자 λ(lambda)로 표시한다. • 도착간격시간에 대한 확률분포를 추정할 수 있다. 이 확률분포의 평균은 위의 평균도착률 λ로부터 구할 수 있다. 왜냐하면 λ = 대기행렬시스템에 도착하는 고객들의 평균도착률 이기 때문에 도착간격시간에 대한 확률분포의 평균은 1/ λ = 평균 도착간격시간 예를 들어 더 많은 자료를 수집한 후 Herr Cutter는 100시간 동안 300명의 고객이 도착했다는 사실을 알았다고 하자.그러면 λ의 추정치는 평균 도착간격시간의 추정치
14.1 대기행렬모형의 구성요소 도착간격시간에 대한 지수분포
Exponential Distribution의 특성 • There is a high likelihood of small interarrival times, but a small chance of a very large interarrival time. This is characteristic of interarrival times in practice. • For most queueing systems, the servers have no control over when customers will arrive. Customers generally arrive randomly. • Having random arrivals means that interarrival times are completely unpredictable, in the sense that the chance of an arrival in the next minute is always just the same. • The only probability distribution with this property of random arrivals is the exponential distribution. • The fact that the probability of an arrival in the next minute is completely uninfluenced by when the last arrival occurred is called the lack-of-memory property.
The Queue • The number of customers in the queue (or queue size) is the number of customers waiting for service to begin. • The number of customers in the system is the number in the queue plus the number currently being served. • The queue capacity is the maximum number of customers that can be held in the queue. • An infinite queue is one in which, for all practical purposes, an unlimited number of customers can be held there. • When the capacity is small enough that it needs to be taken into account, then the queue is called a finite queue. • The queue discipline (or rule) refers to the order in which members of the queue are selected to begin service. • The most common is first-come, first-served (FCFS). • Other possibilities include random selection, some priority procedure, or even last-come, first-served(LCFS).
14.1 대기행렬모형의 구성요소 서비스 • 2명 이상의 서버가 있는 시스템을 복수서버시스템(multiple-server system)이라고 하고, Herr Cutter 이발소와 같이 1명의 서버만 있는 시스템을 단일서버시스템(single-server system)이라고 한다. • 한 명의 고객이 서비스를 받기 시작하는 순간부터 서비스가 완료되는 순간까지의 시간을 서비스시간(service time)이라고 한다. 기본 대기행렬모형에서 서비스시간은 서버와 상관없이 특정한 확률분포를 갖는다고 가정한다. μ = 쉬지 않고 일한다는 가정 하에 1명의 서버가 단위시간당 서비스를 완료하는 평균 고객 수 이 값을 평균서비스율(mean service rate)이라고 부른다. 예를 들면 Herr Cutter가 이발하는데 걸리는 평균 시간은 1/μ = 20분 = 1/3 = 시간/고객 따라서 그의 평균서비스율은 μ = 3
14.1 대기행렬모형의 구성요소 대기행렬모형의 표기법
14.1 대기행렬모형의 구성요소 모형에 대한 가정의 요약 • 도착간격시간들은 지정된 확률분포에 따라 서로 독립적이고 동일하게 분포를 한다. • 모든 도착고객은 대기행렬시스템에 들어오고 서비스가 완료될 때까지 그곳에 머무른다. • 대기행렬시스템은 하나의 무한대기행렬을 갖는다. 따라서 무한히 많은 고객들을 수용할 수 있다. • 대기행렬규칙은 선입선출법이다. • 대기행렬시스템에는 정해진 수의 서버가 있고, 각 서버는 어떤 고객이든 서비스할 수 있다. • 각 고객은 1명의 서버에게 개별적으로 서비스를 받는다. • 서비스시간들은 지정된 확률분포에 따라 서로 독립적이고 동일하게 분포를 한다.
14.2 대기행렬시스템의 몇 가지 예 상업서비스시스템의 예
14.3 대기행렬시스템의 성과척도 대기행렬시스템을 관리하는 관리자는 주로 다음 두 가지 형태의 성과척도에 관심을 갖는다. • 대기행렬시스템에 대체로 얼마나 많은 고객이 기다리고 있는가? • 대기 고객들은 대체로 얼마나 오래 기다리는가? 성과척도의 정의 • = 서비스중인 고객을 포함하여 시스템 내에 있는 평균 고객 수 • = 서비스중인 고객을 제외하고 대기행렬에 있는 평균 고객 수 • = 각 고객의 시스템 내에서의 평균대기시간(서비스시간 포함) • = 각 고객의 대기행렬에서의 평균대기시간(서비스시간 제외)
성과척도 L = Expected number of customers in the system, including those being served (the symbol L comes from Line Length). Lq = Expected number of customers in the queue, which excludes customers being served. W = Expected waiting time in the system (including service time) for an individual customer (the symbol W comes from Waiting time). Wq = Expected waiting time in the queue (excludes service time) for an individual customer. These definitions assume that the queueing system is in a steady-state condition.
Relationship between L, W, Lq, and Wq • Since 1/m is the expected service timeW = Wq+ 1/m ifWq = 3/4, 1/m = 1/4 W = 3/4 + 1/4 = 1시간 (대기행렬시스템 내에서의 평균대기시간) • Little’s formula states thatL = lW l = (대기행렬시스템 내에 들어오는 고객의 평균도착률) andLq= lWq = (3명/시간) x (1시간) = 3명 (대기행렬시스템 내에 있는 평균 고객수)
14.4 사례연구 : Dupit사 문제 배경 Dupit사는 고객의 반응에 의하면 아래의 회사의 슬로건 중 두 번째와 세 번째는 아직 달성하지 못하고 있는 것으로 나타났다고 주장하였다. • 양질의 제품 • 양질의 서비스 • 효율적인 약속 이행 현 정책: 각 기사의 담당지역에는 근무시간의 약 75%를 수리 업무와 이동하는 데 투입되도록 기계가 할당된다. 계속해서 작업하면 각 기사는 하루 평균 4대의 기계를 수리할 수 있다(이동시간을 포함하며 1대를 수리하는 데 평균 2시간이 소요된다). 고객의 대기시간을 최소화하기 위해 향후 목표는 각 기사가 하루 평균 3회의 수리요청을 받도록 하는 것이다. 현재 회사의 기계는 평균 50일마다 한번의 수리요청이 있으므로(평균 고장간격시간이 50일) 각 기사의 담당지역에 약 150대의 기계를 할당하도록 한다. 이런 정책 하에 현재 약 10,000명의 기사가 있고, 연간 약 6억 달러의 급여(수당 포함)가 지급되고 있다.
14.4 사례연구 : Dupit사 문제 최고경영진이 직면한 문제 신제품에 요구되는 높은 수준의 서비스를 어떻게 하면 달성할 수 있을 것인지에 대해 충분한 논의가 이루어진 후 사장은 이 문제를 해결하기 위해 다음과 같은 4단계의 접근 방법을 제안하였다. • 제공해야 할 서비스의 수준에 대한 새 기준을 마련한다. • 이 기준을 달성하기 위한 방법으로 몇 가지 대안을 개발한다. • 각 대안에 대한 비용과 효과를 철저히 분석하기 위해 John Phixitt와 함께 연구할 경영과학팀을 운영한다. • 최종 의사결정을 하기 위해 최고경영진 회의를 다시 소집한다.
14.4 사례연구 : Dupit사 문제 문제에 대한 경영과학팀의 견해 경영과학팀은 이 문제를 분석하기 위해 대기행렬이론을 적용해야 한다는 것을 인식했다. 즉, 각 기사의 담당 지역은 아래에 기술한 것과 같은 대기행렬시스템으로 볼 수 있다. 각 기사의 담당지역에 대한 대기행렬시스템 • 고객: 수리해야 할 기계 • 고객의 도착: 기사에게 수리를 요청하는 전화 호출 • 대기행렬: 각 장소에서 수리를 기다리는 기계 • 서버: 수리기사 • 서비스시간: 기계가 있는 곳으로 이동하는 시간과 기계를 수리하는데 소요되는 시간(기사가 기계가 있는 곳으로 이동하기 시작할 때 서비스가 시작되는 것으로 간주한다).
14.5 단일서버 대기행렬모형 1명의 서버가 있는 기본 대기행렬시스템에 대해서 고찰 λ = 대기행렬시스템에 도착하는 고객의 평균도착률 = 단위시간당 평균 도착고객 수 μ = 평균서비스율(연속적으로 바쁜 서버에 대해) = 단위시간당 평균 서비스완료 수 Dupit사의 사례연구에서 회사의 현행 정책 하에서는 λ= 3고객/일 μ = 4고객/일 Ρ = 3 / 4 = 0.75 이므로 기사는 근무시간의 75%를 기계 수리하는 데에 사용한다.
14.5 단일서버 대기행렬모형 M/M1 모형 가정 • 도착간격시간은 평균이 1/λ인 지수분포를 따른다. • 서비스시간은 평균이 1/μ인 지수분포를 따른다. • 서버는 1명이다. 고객이 도착할 때 시스템 내에 고객이 없으면 대기행렬에서의 대기시간이 0이기 때문에 다음이 성립한다. 이 모든 식은 서버가 통제 가능한 이용률( =λ/μ)을 갖는다고 가정하고 있다. 즉, 단일서버 대기행렬모형은 모두 이 가정을 하고 있다
14.8 대기행렬시스템 설계에 관한 고찰 Dupit사 사례연구가 주는 시사점은 네 가지로, Dupit사 문제에서 제안된 네 가지 대안 각각을 분석할 때 하나씩 나타난다. 이 네 가지의 시사점을 요약한 다음, 이들이 사례연구에 어떻게 적용되는지 간략히 살펴보고 보다 일반적인 관점에서 다시 설명한다. • 시사점1: 단일서버 대기행렬시스템을 설계할 때 서버에 대해 높은 이용률(작업량)을 부과하면 시스템의 성과척도가 놀랄 정도로 나쁘게 나타난다는 것을 알아야한다.2 • 시사점2: 서비스시간의 변동성을 줄이는 것이(평균은 변화 없이) 단일서버 대기행렬시스템의 성능을 크게 향상시킨다(이것은 또한 높은 이용률을 갖는 복수서버 대기행렬시스템에 대해서도 성립한다). • 시사점3: 복수서버 대기행렬시스템은 다소 높은 이용률을 가지고도 단일서버 대기행렬시스템보다 만족스러운 성능을 낸다. 예를 들면 독립된 단일서버 대기행렬시스템 여러 개를 하나의 복수서버 시스템으로 통합하면 (이용률의 변화 없이도) 성과척도가 크게 개선된다. • 시사점4: 서비스 받을 고객을 선택할 때 우선순위를 적용하면 높은 우선순위를 갖는 고객에 대한 성과척도를 크게 개선시킬 수 있다.
14.9 서버의 수에대한 경제성 분석 • 대기행렬시스템을 설계할 때 중요한 문제는 얼마나 많은 서버를 둘 것인가 하는 것이다. 너무 많은 서버를 두면 과다한 비용이 발생하고, 너무 적게 하면 고객들의 대기시간이 길어진다. • 그러므로 서버의 수를 결정한다는 것은 서버와 관련된 비용과 고객의 대기시간 사이에 적절한 절충점(trade-off)을 찾는 것이다. 관리자는 총비용을 최소화하고자 한다. 따라서 TC= 단위시간당 평균 총비용 SC= 단위시간당 평균 서비스비용 WC= 단위시간당 평균 대기비용 이라고 하면, 관리자의 목표는 다음 식을 만족하는 서버의 수를 결정하는 것이다. 최소화 TC = SC+WC 각 서버의 비용이 동일할 때 서비스비용은 다음과 같다.
14.8 대기행렬시스템 설계에 관한 고찰 여기서, Cs= 단위시간당 1명의 서버에 대한 비용 s= 서버의 수 대기비용이 대기시간에 비례할 때 대기비용은 다음과 같이 나타낼 수 있다. WC = CwL 여기서, Cw= 대기행렬시스템에 있는 각 고객에 대한 단위시간당 대기비용 L=대기행렬시스템에 있는 평균 고객 수 그러므로 상수 와 를 추정한 후, 다음 식이 성립하는 s를 결정하면 된다. 최소화 TC = Cs*S+ Cw*L 분석 대상의 대기행렬시스템에 적합한 대기행렬모형을 선택하면, 여러 가지 의 값에 대하여 값을 구할 수 있다. 가 증가하면 이 처음에는 빠르게, 그 후에는 점차 느리게 감소한다.
경영과학Management Science 15장 컴퓨터 시뮬레이션: 기본 개념
목 차 15.1 컴퓨터 시뮬레이션의 본질 15.2 사례연구: Herr Cutter의 이발소 15.3 사례연구 분석 15.4 컴퓨터 시뮬레이션 연구의 개요 15.5 요약
Computer Simulation의본질 • A stochastic system is a system that evolves over time according to one or more probability distributions. • Computer simulation imitates the operation of such a system by using the corresponding probability distributions to randomly generate the various events that occur in the system. • Rather than literally operating a physical system, the computer just records the occurrences of the simulated events and the resulting performance of the system. • Computer simulation is typically used when the stochastic system involved is too complex to be analyzed satisfactorily by analytical models.
15. 컴퓨터 시뮬레이션 연구의 개요 <단계1: 문제를 구성하고 연구계획을 수립한다.> - 경영과학팀은 다음과 같은 종류의 질문에 대한 답을 얻기 위해 관리자와 회의를 할 필요가 있다. 1. 관리자가 연구하기를 원하는 문제는 무엇인가? 2. 연구의 전체적인 목적은 무엇인가? 3. 어떤 구체적인 문제가 제기될 수 있는가? 4. 고려할 수 있는 대안의 종류는 어떤 것이 있는가? 5. 관리자가 관심을 가지고 있는 성과척도는 무엇인가? 6. 연구를 수행하는 데 주어진 시간적 제약은 무엇인가?
15. 컴퓨터 시뮬레이션 연구의 개요 <단계2: 자료를 수집하고 시뮬레이션모형을 작성한다.> - 시스템이 어떻게 작동하는지에 대한 시나리오를 생성하기 위하여 단순히 평균치를 이용하는 것보다는 컴퓨터 시뮬레이션을 이용하여 이들 분포로부터 랜덤 관측치를 생성하는 것이 필수적이다. <단계3: 시뮬레이션모형의 정확성을 확인한다.> - 컴퓨터 프로그램을 작성하기 전에 경영과학팀은 시스템이 어떻게 작동하는가를 정확히 알고 있는 사람들을 시뮬레이션모형의 정확성을 확인하는 과정에 개입시키고 활용해야 한다.
15. 컴퓨터 시뮬레이션 연구의 개요 <단계4: 소프트웨어를 선택하고 컴퓨터 프로그램을 작성한다.> • 컴퓨터 시뮬레이션에 사용되는 소프트웨어는 크게 네 가지 종류가 있다. • 첫번째로는 스프레드시트 소프트웨어(spreadsheet software)이다. • 또한 스프레드시트에 의한 모형 작성의 기능을 대폭 향상시킨 몇 가지 잘 개발된 엑셀 추가기능(add-in)들이 있다. • 세 번째 종류는 범용-시뮬레이션 언어(general-purpose simulation language)이다. • 네 번째 종류로는 응용기반 시뮬레이터(application-oriented simulators, 또는 줄여서 시뮬레이터simulators)라고 하는 것이다.
15. 컴퓨터 시뮬레이션 연구의 개요 <단계5: 시뮬레이션모형의 타당성을 검증한다> • 컴퓨터 프로그램이 작성되고 오류가 수정된 후, 다음 단계는 프로그램으로 작성된 시뮬레이션모형이 시스템에 대한 유효한 결과를 제공하고 있는지를 검증하는 것이다. • 또 다른 유용한 타당성 검증 방법은 관련 지식이나 경험이 풍부한 전문가 또는 현장 실무자가 모의되는 시스템의 형태가 변할 때 시뮬레이션의 결과가 어떻게 변하는가에 대한 신뢰성을 조사하게 하는 것이다. <단계6: 수행할 시뮬레이션모형을 계획한다> - 이것은 여러 형태의 시스템에 대한 초기 결과를 이용하여 어느 형태의 시스템을 상세하게 조사할 것인가를 판단하는 과정이다.
15. 컴퓨터 시뮬레이션 연구의 개요 <단계7: 시뮬레이션을 실행하고 결과를 분석한다> - 후보들을 좀더 자세히 비교하기 위해서 보다 긴 시간 동안 시뮬레이션을 실행할 필요가 있다. <단계8: 경영진에게 권고할 내용을 제시한다(보고서 작성)> - 분석을 완료한 후, 경영과학팀은 그들의 권고안을 경영진에게 제시해야 한다. - 보고서와 발표는 시뮬레이션모형의 타당성에 대한 설명과 함께 연구가 어떻게 이루어졌는가를 요약해야 한다.
15. 컴퓨터 시뮬레이션의 본질 • <컴퓨터 시뮬레이션의 역할> • 확률시스템이란 하나 혹은 그 이상의 확률분포에 따라 시간과 함께 변화하는 시스템이다. 예를 들어, 앞장에서 설명한 대기행렬시스템들은 도착간격시간과 서비스시간이 확률분포에 따라 생성되기 때문에 모두 확률시스템이다. <예제1: 동전 던지기 게임> 게임 규칙 1. 동전을 던져서 앞면과 뒷면이 나온 횟수의 차이가 3이 될 때까지 동전 던지기를 반복한다. 2. 게임을 시작하면 동전을 한번 던질 때마다 1달러를 지불하고 게임이 진행되는 도중에는 그만 둘 수 없다. 3. 게임이 끝나면 8달러를 받는다.
Computer Simulation of Coin-Flipping Game • A computer cannot flip coins. Instead it generates a sequence of random numbers. • A number is a random number between 0 and 1 if it has been generated in such a way that every possible number within the interval has an equal chance of occurring. • An easy way to generate random numbers is to use the RAND() function in Excel. • To simulate the flip of a coin, let half the possible random numbers correspond to heads and the other half to tails. • 0.0000 to 0.4999 correspond to heads. • 0.5000 to 0.9999 correspond to tails.
15. 사례연구: Herr Cutter의 이발소 <확률시스템에 대한 시뮬레이션모형 구성요소> • 시뮬레이션모형이란 모의 실험할 시스템에 대해 시뮬레이션이 어떻게 수행되는가를 기술한 것이다. • 확률시스템에 대한 전형적인 시뮬레이션모형의 기본적인 구성요소는 다음과 같다. • 1. 시스템의 구성 요소와 이들이 어떻게 운영되고 서로 관련되어 있는지에 대한 기술 • 2. 시뮬레이션 시계 • 3. 시스템 상태에 대한 정의 • 4. 시간의 경과와 함께 발생하는 (모의)사건을 랜덤하게 생성하는 방법 • 5. 사건이 발생할 때마다 시스템 상태를 변화시키는 방법 • 6. 시뮬레이션 시계의 시간을 진행시키는 방법