Discrete Event Simulations (Part 6)

Similar documents
A Sample Application: Modeling Command and Control Centers (Part 11) Dr.Çağatay ÜNDEĞER

2WB05 Simulation Lecture 6: Process-interaction approach

OPERATING SYSTEMS. Systems and Models. CS 3502 Spring Chapter 03

Simulation Software. Chapter 3. Based on the slides provided with the textbook. Jiang Li, Ph.D. Department of Computer Science

Modeling and Performance Analysis with Discrete-Event Simulation

COMP9334 Capacity Planning for Computer Systems and Networks

G54SIM (Spring 2016)

Simulation Examples. Prof. Dr. Mesut Güneş Ch. 2 Simulation Examples 2.1

COMPUTATIONAL ANALYSIS OF A MULTI-SERVER BULK ARRIVAL WITH TWO MODES SERVER BREAKDOWN

Lecture 45. Waiting Lines. Learning Objectives

INTRODUCTION AND CLASSIFICATION OF QUEUES 16.1 Introduction

Chapter 2 Simulation Examples. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

Slides 2: Simulation Examples

4 BUILDING YOUR FIRST MODEL. L4.1 Building Your First Simulation Model. Knowing is not enough; we must apply. Willing is not enough; we must do.

USE OF DISCRETE EVENT SIMULATION TO MODEL HUMAN PERFORMANCE

Waiting Line Models. 4EK601 Operations Research. Jan Fábry, Veronika Skočdopolová

Project: Simulation of parking lot in Saint-Petersburg Airport

SIMULATION OF MACHINE INTERFERENCE IN RANDOMLY CHANGING ENVIRONMENTS J. SZTRIK O. MŒLLER

Chapter 2 Simulation Examples. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

An-Najah National University Faculty of Engineering Industrial Engineering Department. System Dynamics. Instructor: Eng.

Discrete Event Simulation

Management of Container Terminal Operations Using Monte Carlo Simulation

Prof. John W. Sutherland. March 20, Lecture #25. Service Processes & Systems Dept. of Mechanical Engineering - Engineering Mechanics

C programming on Waiting Line Systems

Simulation and Modeling - Introduction

CH-1. A simulation: is the imitation of the operation of a real-world process WHEN SIMULATION IS THE APPROPRIATE TOOL:

Introduction to Computer Simulation

LOAD SHARING IN HETEROGENEOUS DISTRIBUTED SYSTEMS

Belgacom IDS 310. Reception Terminal Manual. Forum IS16/48/80/160

Self-organization leads to supraoptimal performance in public transportation systems

Clairvoyant Site Allocation of Jobs with Highly Variable Service Demands in a Computational Grid

Chapter III TRANSPORTATION SYSTEM. Tewodros N.

Chapter 1 Quality Alert System (QAS) Overview

Textbook: pp Chapter 12: Waiting Lines and Queuing Theory Models

DEVELOPMENT AND INVESTIGATION OF A SIMULATION BASED EXPERT SYSTEM FOR DYNAMIC RESCHEDULING OF AN INTEGRATED JOB SHOP

SIMULATION APPROACH TO OPTIMISE STOCKYARD LAYOUT: A CASE STUDY IN PRECAST CONCRETE PRODUCTS INDUSTRY

Blocking Effects on Performance of Warehouse Systems with Automonous Vehicles

Modeling and Problem Solving

BUSSINES SIMULATING PROCES FOR THE PRODUCTION SURROUND, USING QUEUEING SYSTEM SIMULATION WITH WINQSB

ICAT MIT. Increase Milestone Prediction Accuracy in. Potential Approaches to. NAS Movements. Georg Theis, Francis Carr, Professor JP Clarke

Determining the Effectiveness of Specialized Bank Tellers

ALLOCATING SHARED RESOURCES OPTIMALLY FOR CALL CENTER OPERATIONS AND KNOWLEDGE MANAGEMENT ACTIVITIES

A Simulation Study on M/M/1 and M/M/C Queueing Model in a Multi Speciality Hospital

1. For s, a, initialize Q ( s,

Solutions Manual Discrete-Event System Simulation Fifth Edition

Use of Queuing Models in Health Care - PPT

Introduction - Simulation. Simulation of industrial processes and logistical systems - MION40

CS626 Data Analysis and Simulation

Toeval is logisch. Johan Cruijff

Get The Best Out Of Oracle Scheduler

Efficiency of Controlled Queue system in Supermarket using Matlab / Simulink

CCC Wallboard Manager User Manual

XML Gateway with BPEL - B2B and A2A integrations are now simpler and faster than ever

REDCap Intro to Surveys (RC-204)

Queuing Models. Queue. System

Queuing Theory 1.1 Introduction

9 SIMULATION OUTPUT ANALYSIS. L9.1 Terminating versus Nonterminating Simulations

Simulating Queuing Models in SAS

University Question Paper Two Marks

AUTO ATTENDANT AND UNFORM CALL DISTRIBUTION ADMINISTRATION GUIDE AUTO ATTENDANT AND UNFORM CALL DISTRIBUTION ADMINISTRATION GUIDE.

Assume only one reference librarian is working and M/M/1 Queuing model is used for Questions 1 to 7.

AUTO ATTENDANT AND UNIFORM CALL DISTRIBUTION ADMINISTRATION GUIDE. June 1999 SAMSUNG DCS AUTO ATTENDANT AND

Chapter 13. Waiting Lines and Queuing Theory Models

Optimizing appointment driven systems via IPA

Optimising a help desk performance at a telecommunication company. Fawaz AbdulMalek* and Ali Allahverdi

Banks, Carson, Nelson & Nicol

USING MODELING TECHNIQUES TO TEST THE FEASIBILITY OF SEGREGATING NON-GMO SOYBEANS AT COMMERCIAL ELEVATORS. Berruto Remigio(*) and Dirk E.

Queuing Theory: A Case Study to Improve the Quality Services of a Restaurant

Version MICROSALE. System Documentation. Phone Order Guide

SUPPORT FOR BUSINESS PROCESS REDESIGN

Determining the Maximum Allowable Headway

Inheritance and Polymorphism

Proceedings of the 2017 Winter Simulation Conference W. K. V. Chan, A. D'Ambrogio, G. Zacharewicz, N. Mustafee, G. Wainer, and E. Page, eds.

AUTO ATTENDANT AND UNFORM CALL DISTRIBUTION ADMINISTRATION GUIDE

Fast Track SA 2.0 Drive Thru Timing System. Document: USR-FTSA, Rev. A Effective Date: September 6, 2017

APPLICABILITY OF INFORMATION TECHNOLOGIES IN PARKING AREA CAPACITY OPTIMIZATION

Chapter 8 Variability and Waiting Time Problems

9. Verification, Validation, Testing

TELSTRA IP TELEPHONY PREMIUM CALL CENTRE REPORTING USER GUIDE

5 Key Metrics Every Call Center Manager Should Master

Simulation of a door-to-door maritime transport chain between seaports of Leixões and Luanda. Ricardo Jorge Calado Tigranes Pinto

WAITING LINE MODELS Introduction

DEADLINE MONOTONIC ALGORITHM (DMA)

ISM 270. Service Engineering and Management Lecture 7: Queuing Systems, Capacity Management

USING SIMULATION MODELING TO ASSESS RAIL TRACK INFRASTRUCTURE IN DENSELY TRAFFICKED METROPOLITAN AREAS

V MobileCast

Module 7:Application of stochastic processes in queueing theory Lecture 30:Examples of application of stochastic processes in Queueing Theory

Stochastic Simulation of the Dynamic Behavior of Grain Storage Facilities. Chapter II - Ph. D. thesis of Dr. Luís César da Silva CHAPTER II 1

Chapter 14. Waiting Lines and Queuing Theory Models

Job Aid. ESS - Create Entitlement Travel (UN Paid ticket)

Clock-Driven Scheduling

Proceedings of the 1996 Winter Simulation Conference edt J. M. Charnes, D. J. Morrice, D. T. Brunner, and J. J. Swain

Statistics 201 Spring 2018 Exam 2 Practice Exam (from Fall 2016)

Discrete Event Simulation of Reusable Launch Vehicle Ground Operations (RLVSim)

How to Configure the Workflow Service and Design the Workflow Process Templates

A Simple EOQ-like Solution to an Inventory System with Compound Poisson and Deterministic Demand

Contact Center Discovery Questions

Employee Central Imports

Transcription:

Discrete Event Simulations (Part 6) Dr.Çağatay ÜNDEĞER Öğretim Görevlisi Bilkent Üniversitesi Bilgisayar Mühendisliği Bölümü e-mail : cagatay@undeger.com cagatay@cs.bilkent.edu.tr Bilgisayar Mühendisliği Bölümü Bilkent Üniversitesi Fall 2008 1 Discrete Event Simulations (Outline) Introduction Next-Event Time Advance Arithmetic and Logical Relationships Discrete-Event Modeling Approaches Event-Scheduling Approach Process-Interaction Approach Processes and Resources 2 1

Termilogy Event: A change in state of a system. Activity: A pair of events, one initiating and other completing an operation that transforms the state of an entity. Process: A collection of events ordered in time, which involves a set of activities. 3 Termilogy Process Activity 2 Activity 1 Activity 3 time Event 2 Service begun on activity 1 Event 4 Service ended on activity 1 Event 6 Service begun on activity 3 Event 7 Service ended on activity 3 Event 1 Arrival Event 3 Service begun on activity 2 Event 5 Service ended on activity 2 4 2

Discrete Event Simulation Concerns modeling of a system on a digital computer, Where state changes can be represented by a collection of discrete events. 5 Next Event Time Advance In a discrete-event simulation, A state change implies an event occurs. The states of entities remain constant between successive events. No need to simulate this inactive time in the model. Next-event approach is commonly used to advance time. 6 3

Next Event Time Advance After all state changes are made at the time corresponding to a particular event, Simulated time is advanced to the time of the next event, and That next event is executed. This procedure is repeated until simulation is ended. This enables skipping over inactive time, whose passage in real world we are forced to live. 7 Arithmetic and Logical Relationships Two different relationships play significant roles in a simulation system: Mathematical relationships Logical relationships 8 4

Arithmetic and Logical Relationships Mathematical relationships: Exits between events and attributes associated with entities. For example: Assume that Q is the number of bullets in a gun, and C is the total capacility, If a gun is fired, then Q Q 1 If a gun is reloaded, then Q C 9 Arithmetic and Logical Relationships Logical relationships: Describes logical relationships in a system. We represent logical behaviors of the system by defining actions that will be taken according to some conditions. For example, In a job processing server, when current job is completed, If new jobs exist in the queue, takes it according to a rule and starts doing, If job is waiting, remains idle. 10 5

A Sample Model: All customers call on the phone. Customers are willing to wait indefinitely for service. No restriction exists on the number of customers that can wait on phone at one time. If all reservationists are busy when a call occurs then A 9-second recorded message asks the customer to wait. 11 A Sample Model: The airline office has m reservationists. Calls occurs at a rate λ and follows exponential distribution. Exponential Distribution 12 6

A Sample Model: Customers can either request: A multiple-destination service with probability p, A single-destination service with probability q = 1-p, Probability p Berulli Distribution q SD MD values 13 A Sample Model: Multiple-destination service times are random variables that follow Log-Normal distribution with mean µ, and standard deviation σ. Log-Normal Distribution 14 7

A Sample Model: Single-destination service times are random variables that follow Log-Normal distribution with shape k, and scale λ. Weibull Distribution 15 A Sample Model: Probability distribution of service time for an arbitrarily selected caller is a compound density function: f(t) = p log-rmal(µ,σ) + (p-1) weibull(k,λ) 16 8

A Sample Model: The purpose of simulation is: To compare performance of the system with different number of reservationist (m) while all the other parameters are fixed. 17 A Sample Model: Next we need to design implementation details of the model. Therefore we define: Entities, Attributes of entities, Probable attribute values, Events, and Event flow. 18 9

A Sample Model: Entities, attributes & values in our model are: Customer (Entity): Reservation Type (Attribute): Single-Destination (Value) Multiple-Destination (Value) Status (Attribute): Listening 9-seconds message (Value) Waiting for service (Value) Getting service (Value) Reservationist (Entity): Status (Attribute): Idle (Value) Busy (Value) 19 A Sample Model: Elementary events in our model are: 1) Call (customer) 2) Hang up (customer or reservationist) 3) Begin service (customer or reservationist) 4) End service (customer or reservationist) 5) Begin 9-seconds recorded message (customer) 6) End 9-seconds recorded message (customer) 7) File in waiting line (customer) 8) Remove customer from waiting line (reservationist) 9) Become busy (reservationist) 10) Become idle (reservationist) 20 10

A Sample Model: How to model event flow (behaviour of the system) in our model depends on which discrete event modeling approach is used. Then this behaviour model will be transformed into a computer program. 21 Discrete-Event Modeling Approaches Alternative ways to build discrete-event models: Event-Scheduling Approach: Activity-Scanning Approach Process-Interaction Approach 22 11

Discrete-Event Modeling Approaches Event-Scheduling Approach: Emphasizes a detailed description of the steps that occur when an individual event takes place. Each type of event naturally has a distinct set of steps associated with it. For example, When a service ended event happens,»this may triger a service begin event for the next job. 23 Discrete-Event Modeling Approaches Activity-Scanning Approach: Emphasizes a review of all activities in a simulation to determine which can be begun or terminated at each advance of the clock. A logically equivalent approach to others, but it is computationally less efficient for most simulation scenarios. Therefore, it is t widely used. 24 12

Discrete-Event Modeling Approaches Process-Interaction Approach: Emphasizes the progress of an entity through a system from its arrival event to its departure event. It is easier to define a model with processes rather than events. Therefore, it is widely used Although event scheduling approach has more programming control and flexibility. 25 Event-Scheduling Approach Every discrete simulation has a set of state variables. These state variables change in time by the effect of events. Each event signals a change in one or more of the items and resources in a system. Event-scheduling approach is built on this concept. 26 13

Event-Scheduling Approach (Termilogy) Event tice: A record describing when a future event is to be executed. Future event set (FES): A linked list containing event tices ordered by desired execution time. Timing routine: The procedure for maintaining the future event set and advancing simulated time. 27 Event-Scheduling Approach (Timing Routine) Start Application Schedule Initial Events Execute Timing Routine End Simulation Prepare Statistics End Application call return 1 Select and remove next event tice from FES Advance simulated time to the event tice desired execution time 2 No Yes FES empty? 5 3 Execute the event 4 Delete the event tice may insert new event tices into FES conditionally or unconditionally 28 14

Event-Scheduling Approach ( Sample) schedules end service triggered randomly following exponential distribution with λ Begin service Become busy schedules end service after 9 seconds Begin service Become busy Call Any free reservationist? Compound event CALL Begin 9-seconds recorded message End 9-seconds recorded message schedules end 9-seconds recorded message Compound event END 9-SECONDS MESSAGE Any free reservationist? File in waiting line after a random service time following compound distribution f(t) Begin service schedules end service Remove customer from waiting line Begin service schedules end service A compound event is a solution for executing a sequence of actions all at the same time End service Hang up Any customer waiting? Become idle Compound event COMPLETION 29 Event-Scheduling Approach ( Sample) System state variables: Remaining time until next call ( S ) Number of busy reservationists ( i ) Number of customers listening to recorded message ( j ) For each caller m listening to message : Remaining time until completion of message (T c m) For each busy reservationist m : Remaining time until completion of service (T r m) 30 15

Event-Scheduling Approach ( Sample) System state variables: Remaining time until next call ( S ) Number of busy reservationists ( i ) Number of customers listening to recorded message ( j ) For each caller m listening to message : Remaining time until completion of message (T c m ) For each busy reservationist m : Remaining time until completion of service (T r m ) Next event time = min ( S, T c 1..T c j, T r 1...T r i) may set priority to event types in order to guide selection from a set of events sharing the same time 31 Process-Interaction Approach Although produces identical results, Differs substantially from the eventscheduling approach. Instead of only scheduling events independent of processes that create them, Allows model representation (process). 32 16

Process-Interaction Approach (Conceptual Simplicity vs Programming Control) Many well-kwn discrete-event simulation languages such as GPSS, SIMAN, SIMSCRIPT and SLAM are based on that approach. Appears conceptually simpler to a model builder. This simplicity usually comes at the expense of less programming control and flexibility than event-scheduling approach offers. 33 Process-Interaction Approach (Termilogy) Future event set (FES): A linked list containing event tices associated with deactivated processes ordered by desired reactivation time. Conditional-Event Set (CES): A linked list containing processes deactivated, reactivation of which depends on some conditions. These processes are conditionally reactivated by other processes. 34 17

Process-Interaction Approach (Timing Routine) Start Application Schedule Creation of Initial Processes Execute Timing Routine End Simulation Prepare Statistics End Application call return Yes Process in CES to be activated? 1 No FES empty? 4 No 5 Select and remove next process from FES Advance simulated time to desired process 6 reactivation time 2 Yes Remove process From CES 10 Insert process into CES may create or reactivate some other processes 7 Execute process starting from reactivation point Yes Insert process into FES with current time as desired execution time 3 11 Insert process into FES No Conditional wait? Delete 12 the process No 9 Yes Wait for reactivation? 8 35 Event-Scheduling Approach (Previous: Sample) schedules end service triggered randomly following exponential distribution with λ Begin service Become busy schedules end service after 9 seconds Begin service Become busy Call Any free reservationist? Compound event CALL Begin 9-seconds recorded message End 9-seconds recorded message schedules end 9-seconds recorded message Compound event END 9-SECONDS MESSAGE Any free reservationist? File in waiting line after a random service time following compound distribution f(t) Begin service schedules end service Remove customer from waiting line Begin service schedules end service A compound event is a solution for executing a sequence of actions all at the same time End service Hang up Any customer waiting? Become idle Compound event COMPLETION 36 18

Process-Interaction Approach (New: Sample) triggered randomly following exponential distribution with λ reactivate the reservationist Begin service deactivate and wait a random service time following compound distribution f(t) End service Hang up reactivate the reservationist deactivate and wait until reactivated by a reservationist File in waiting line Call Any free reservationist? Begin 9-seconds recorded message End 9-seconds recorded message Any free reservationist? Process CUSTOMER deactivate and wait for 9 seconds reactivate the reservationist deactivate and wait until reactivated by a customer Become idle deactivate and wait until reactivated by the customer Become busy Any customer waiting? reactivate the customer Remove customer from waiting line Process RESERVATIONIST 37 Processes and Resources In the previous sample, Customers provide the stimulus to action, Reservationists respond to the demands on a queue. So we see that, Customer processes are active, but Resevationist processes are passive. 38 19

Processes and Resources It is possible to model these passive processes as resources (first introduced by GPSS). Most simulation programming languages have: Seize command (activates a resource) and Release command (free a resource). By using passive resources, We may t require to model a reservationist explicitly. 39 Processes and Resources ( Sample) Number of free reservationists 1? seize reservationists triggered randomly following exponential distribution with λ Begin service decrease number of free reservationists End service deactivate and wait a random service time following compound distribution f(t) Hang up increase number of free reservationists Number of free reservationists = 1? release reservationists Call Number of free reservationists > 0? Begin 9-seconds recorded message deactivate and wait for 9 seconds End 9-seconds recorded message Process CUSTOMER 40 20