Customer service processes are one of the most important application areas of simulation modeling, as in typical service processes the total time of waiting is up to 95% of the total processing time.
They are can be the processes of customer services: phone services (call centers), services «factories» (restaurants, copy centers, photo labs), services shops (hospitals, repair shops) and department stores.
Simulation of customer service processes is difficult, because people can be the stream objects, but also be the resources. People are inherent in complex and unexpected behavior. It is easier to simulate the creation of product, documentation, work equipment or vehicles moving. For example, customers in queue can argue, cheat or leave. Modeling of such situations requires extraordinary flexibility of programming.
In most cases the time of customer service and his appearance are random quantities. Therefore, for correct representation it is necessary use probability distributions.
Since entry into the system is cyclical and random, service systems are rarely in stable condition. Therefore, it would be appropriate to simulate operations in this system for some period of time and appropriately describe the work of model elements.
Modeling of the customer service processes in the bank
The problem
— Assume in the bank there are seven windows for customer service. Coming to the bank customer goes to the free window; if all cash-desks are busy he gets up in the shortest queue.
Each teller can perform 5 kinds of operations. Each operation requires different times for service.
It is necessary to develop a model which describes the process of service during the eight-hour day and determine the burden of cashiers and the maximum length of the queue.
Consider an example with the following parameters.
Customers joining interval and service time are listed in the table.
Table-1 Customers' joining interval and service time
Таблица 1
Operation
|
Arrival rate
|
Service time
|
1
|
0
|
450
|
2
|
0.29
|
750
|
3
|
0.61
|
1000
|
4
|
0.85
|
1500
|
5
|
1
|
3000
|
Table-2 Probability distribution of arrival time
Таблица 2
Probability
|
Arrival time
|
0
|
0
|
0.25
|
100
|
0.60
|
150
|
0.80
|
200
|
0.90
|
250
|
1
|
300
|
Model development
Consider the customer's arrival to the bank and their service by cashiers. Arrival time is given by the distribution function ARRIVE. For service are open seven windows of cashiers, for every of which could be formed a queue. At the arrival time of client to bank, if at least one teller is free the client immediately comes to him. Otherwise, he joins to the shortest queue at that moment. The order of customer service is FIFO.
Service at cash desk is divided into five operations, rate of occurrence of which is given by the function Mean.
In the model with several queues may occur simultaneous events of arriving of client and queue ending. If the event «coming» will be considered earlier that event «end of service», then device at the verification will be engaged and newly arrived customer cannot take a service. Thus, there is necessary to give priority to the event «cashier release». This can be implemented by adding the priority level (block PRIORITY 1) between locks GENERATE and ADVANCE.
For implementing of the free cashier search is used block TEST E, marked with the level NEXT, which checks whether the teller is free. Maximum number of cashier is stored in the transact parameter P5. Under the same parameter is formed the cycle of checking all devices (block LOOP). Number of first free cashier is saved transact parameter P3, and transact passed to service. If all devices are busy, then transact goes to next block after LOOP, i.e. to block TEST, marked with label SIT. This block compares lengths of queues for all devices. Initially for comparison in the parameter P2 is located the number 1000. Similarly there is organized the loop of all queues by the transact parameter P1. At first time there located the maximum number of queue. If the length of next queue is less than previous, then number of queue is saved in the parameter P3 and the length in the P2 of transact. After reviewing all queues (transfer to the next block after LOOP) in these parameters we can find the number of minimal queue and its length respectively.
Simulation model
MEAN FUNCTION RN1,D5
0,450/.29,750/.61,1000/.85,1500/1,3000
ARRIVEL FUNCTION RN1,D6
0,0/.25,100/.60,150/.80,200/.90,250/1.0,300
T_1 TABLE M1,200,600,10
GENERATE FN$ARRIVEL
ASSIGN 1,7
ASSIGN 2,1000
ASSIGN 4,FN$MEAN
ASSIGN 5,7
NEXT TEST E F*5,0,FAC
ASSIGN 3,P5
TRANSFER ,QUI
FAC LOOP 5,NEXT
SIT TEST L Q*1,P2,SIS
ASSIGN 3,P1
ASSIGN 2,Q*1
SIS LOOP 1,SIT
QUI QUEUE P3
SEIZE P3
DEPART P3
PRIORITY 1
ADVANCE P4
RELEASE P3
TABULATE T_1
TERMINATE
GENERATE 14400
TERMINATE 1
Developed simulation model allows an analysis of existing methods of work organization of service enterprise, and make recommendations for their improvement. The proposed model can play almost at any reasonable solutions. The degree of detailed description of researching complex processes is unlimited. Use of GPSS allows gradually transition from simplest ones to more complexes step by step, which reduces the complexity of constructing models.