Sistem Antrian dengan 2 (dua) Server Paralel

Sistem ini terdiri dari 2 (dua) server, dimana ketika pelanggan datang pada saat kedua server dalam keadaan sibuk, maka pelanggan tersebut akan masuk dalam antrian. Dan ketika salah satu server kosong/bebas, maka segera pelanggan yang datang lebih dahulu dalam antrian akan masuk ke dalam server yang kosong/bebas itu, tidak tergantung server nomor berapa yang sedang kosong. Distribusi layanan dari server ke i adalah G_i , i=1,2 (lihat gambar)

2 paralel server

Misalkan kita akan mensimulasikan model ini, sambil mengamati waktu yang dihabiskan oleh setiap pelanggan didalam sistem dan banyaknya layanan yang diberikan/dilakukan oleh setiap server.

Karena disini kita memiliki lebih dari satu server, maka akan berdampak bahwa nanti ketika pelanggan meninggalkan sistem, urutannya mungkin tidak sama dengan urutan ketika dia datang. Karenanya untuk mengetahui pelanggan mana yang akan meninggalkan sistem pada saat layanannya selesai kita akan mencermati pelanggan mana saja yang sedang dalam sistem.

Kita akan memberi nomor pada setiap pelanggan yang baru saja sampai di sistem, yang pertama kali datang diberi nomor 1, berikutnya 2, dan selanjutnya. Kita akan menggunakan variabel-variabel berikut :

Variabel waktu  t

System State Variable  (SS)

Variabel yang mencatat kondisi sistem (System State) pada waktu tertentu.

( n, i_1, i_2, . . ., i_n )  jika ada n pelanggan di dalam sistem  i_1 akan bersama dengan server 1, i_2  akan bersama dengan server 2, i_3  akan bersama dengan server 3 dan seterusnya.

Catatan : SS = (0) ketika sistem kosong/bebas, dan SS = (1,j,0) atau (1,0,j) ketika hanya pelanggan j dan dia sedang dilayani di server 1 atau server 2.

Counter Variables (variabel penghitung)

N_A  : banyaknya kedatangan dalam waktu t .

C_j  : banyaknya pelanggan yang dilayani oleh j, j= 1,2, dalam waktu t .

Output Variables

Variabel yang mencatat kejadian apa saja dan berapa yang dihasilkan dari sistem.

A(n) : waktu kedatangan dari pelanggan n, n \geq 1

D(n) : waktu keberangkatan pelanggan n, n \geq 1

Event list  t_A , t_1 , t_2

Dimana t_A  adalah waktu kedatangan berikutnya, dan t_1  adalah waktu penyelesaian dari pelanggan yang pada saat itu sedang dilayani oleh server i, i = 1, 2. Jika tidak ada lagi pelanggan yang saat itu berada di server i, maka kita jadikan t_i = \infty , i = 1, 2. Berikut ini, daftar kejadian akan selalu berisi tiga variabel yaitu t_A , t_1 , t_2 .

Untuk memulai simulasi, kita berikan nilai awal pada variabel-variabel dan daftar kejadian tersebut sebagian berikut :

Pemberian nilai awal (Initialize)

Set t = t_A = C_1 = C_2 = 0

Set SS = (0)

Bangkitkan T_0, dan set t_A = T_0, T_1 = t_2 =\infty .

Untuk mengupdate sistem. kita bergerak dalam waktu tertentu hingga kita mencapai event/kejadian berikutnya. Pada kasus-kasus berikut, Y_i selalu berasal dari variabel acak yang berdistribusi G_i , i=1,2

Kasus 1  SS = (n, i_1, i_2, … , i_n)  dan t_A = min (t_A, t_1, t_2 )

Reset : t = t_A

Reset : N_A = N_A + 1

Bangkitkan T_t  dan reset t_A = T_t

Ambil output data A(N_A) = t

Jika SS = (0):

Reset : SS = (1, N_A,0)

Bangkitkan Y_1  dan reset t_1 = t + Y_1

Jika SS = (1, j, 0) :

Reset : SS = (2, j, N_A)

Bangkitkan Y_2 dan reset t_2

[ Sumber : Simulation, Sheldon M. Ross]