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]