Measuring the efficiency of banking transaction systems using Queueing Theory

Maidenhead, UK

140520200849

The work speed of three information processing centers carrying out banking transactions was analyzed. Each of the centers has several independent servers processing information. It was found that there is a difference in the work of individual bank servers.

The purpose of the exercise is to indicate the general performance characteristics of the banking information processing system.

Queueing Theory: Bomber landing analysis

The following formulas come from the study: Hillier F.S., Lieberman G.J. Instruction of Operation Research. New York: McGrew Hill 1990 oraz Z. Jędrzejczyk, K.Kukuła, J.Skrzypek, A. Walkosz Badania operacyjne w przykładach i zadaniach, Wydawnictwo Naukowe PWN
obraz.png

Arrival rate: λ

These are transactions arriving within a minute. It is a stream of transaction orders sent from bank customers sent online.

In [1]:
import numpy as np


np.random.seed(148)  
Λ1 = (np.random.random_sample(2354)*4690)
Λ2 = (np.random.random_sample(4899)*2319)
Λ3 = (np.random.random_sample(3511)*5491)

a1= sum(Λ1)
p1= len(Λ1)
λ1 = 1/(p1/a1)

a2= sum(Λ2)
p2= len(Λ2)
λ2 = 1/(p2/a2)

a3= sum(Λ3)
p3= len(Λ3)
λ3 = 1/(p3/a3)


print('Number of transactions:     ', p1)
print('Sume of transactions time: print('Arrival_λ1: print('-----------------------------------------------')
print('Number of transactions:     ', p2)
print('Sume of transactions time: print('Arrival_λ2: print('-----------------------------------------------')
print('Number of transactions:     ', p3)
print('Sume of transactions time: print('Arrival_λ3: print('-----------------------------------------------')
Number of transactions:      2354
Sume of transactions time: 5426818.1
Arrival_λ1: 2305.36 transactions per min
-----------------------------------------------
Number of transactions:      4899
Sume of transactions time: 5678062.6
Arrival_λ2: 1159.02 transactions per min
-----------------------------------------------
Number of transactions:      3511
Sume of transactions time: 9719295.2
Arrival_λ3: 2768.24 transactions per min
-----------------------------------------------

Service rate: μ

This parameter represents the execution time of individual banking transactions by the banking transaction system.Each of the three data centers has a number of servers. A single server is treated as an individual information flow channel.
obraz.png

In [2]:
r1 = 5
r2 = 6
r3 = 8
In [3]:
np.random.seed(148)  
M1 = (np.random.random_sample(2354)*959)
M2 = (np.random.random_sample(4899)*790)
M3 = (np.random.random_sample(3511)*903)

a1= sum(M1)
p1= len(M1)
μ1 = 1/(p1/a1)

a2= sum(M2)
p2= len(M2)
μ2 = 1/(p2/a2)

a3= sum(M3)
p3= len(M3)
μ3 = 1/(p3/a3)


print('Number of transactions:     ', p1)
print('Sume of service time: print('Service_μ: print('-----------------------------------------------')
print('Number of transactions:     ', p2)
print('Sume of service time: print('Service_μ: print('-----------------------------------------------')
print('Number of transactions:     ', p3)
print('Sume of service time: print('Service_μ: print('-----------------------------------------------')
Number of transactions:      2354
Sume of service time: 1109662.8 min
Service_μ: 471.39 transactions per min
-----------------------------------------------
Number of transactions:      4899
Sume of service time: 1934312.0 min
Service_μ: 394.84 transactions per min
-----------------------------------------------
Number of transactions:      3511
Sume of service time: 1598347.0 min
Service_μ: 455.24 transactions per min
-----------------------------------------------

Traffic intensity: ϱ

Traffic intensity is the ratio of arrival rate to service rate.

$$\text{Traffic intensity equation:} \\
\bbox[#f3f3f3,12px,border:1px solid black] {
{ϱ}=\frac{λ}{{μ}*r}
} \qquad (1)
$$
In [4]:
ϱ1 = λ1/(μ1*r1)

if ϱ1 >= 1:
        print("The system is unstable, we do not carry out further calculations!")
        print('Arrival rate λ1 > service rate μ1, ϱ1= else:     
        print("The system is stable, you can calculate the probabilities!")
        print('Arrival rate λ1 > service rate μ1')
        print('Arrival rate λ1:      print('Service rate μ1:      print('Traffic intensity ϱ1: ϱ2 = λ2/(μ2*r2)


if ϱ2 >= 1:
        print("The system is unstable, we do not carry out further calculations!")
        print('Arrival rate λ2 > service rate μ2 ,ϱ2= else:     
        print("The system is stable, you can calculate the probabilities!")
        print('Arrival rate λ2 > service rate μ2')
        print('Arrival rate λ2:      print('Service rate μ2:      print('Traffic intensity ϱ2: ϱ3 = λ3/(μ3*r3)


if ϱ3 >= 1:
        print("The system is unstable, we do not carry out further calculations!")
        print('Arrival rate λ3 > service rate μ3, ϱ3= else:     
        print("The system is stable, you can calculate the probabilities!")
        print('Arrival rate λ3 > service rate μ3')
        print('Arrival rate λ3:      print('Service rate μ3:      print('Traffic intensity ϱ3: 
The system is stable, you can calculate the probabilities!
Arrival rate λ1 > service rate μ1
Arrival rate λ1:      2305.36 transactions per one minut
Service rate μ1:      471.39 transactions per one minut
Traffic intensity ϱ1: 0.98
The system is stable, you can calculate the probabilities!
Arrival rate λ2 > service rate μ2
Arrival rate λ2:      1159.02 transactions per one minut
Service rate μ2:      394.84 transactions per one minut
Traffic intensity ϱ2: 0.49
The system is stable, you can calculate the probabilities!
Arrival rate λ3 > service rate μ3
Arrival rate λ3:      2768.24 transactions per one minut
Service rate μ3:      455.24 transactions per one minut
Traffic intensity ϱ3: 0.76

Multiple service channel

We assume in this algorithm that the arrival of transactions (arrival rate) has a normal distribution. Transactions are directed to several servers with the same level of service. To maintain system balance, inequality must be maintained: