Masalah Perbaikan (Repair Problem)

Misalkan ada  sebuah sistem yang membutuhkan tepat n buah mesin, dan tidak boleh kurang dari n. Jika kurang maka system ini tidak dapat berfungsi alias gagal.

Untuk menjaga agar sistem ini dapat terus beroperasi dengan baik, maka disediakanlah mesin cadangan. Ketika ada sebuah mesin yang rusak, maka seketika itu pula mesin cadangan langsung digunakan, dan mesin yang rusak tadi langsung dibawa ke bengkel perbaikan mesin. Bengkel tersebut hanya bisa memperbaiki 1 (satu) buah mesin dalam satu waktu, selebihnya harus antri untuk diperbaiki kemudian. (Lihat gambar)

Semua lamanya waktu perbaikan adalah variabel random independent dengan distribusi G (Gamma). Setiap kali mesin digunakan, maka waktu yang dihabiskan sampai akhirnya mesin tersebut rusak adalah variabel random dan independent berdistribusi F (poisson).

Sistem ini dikatakan gagal apabila terjadi kondisi sebuah mesin rusak dan tidak ada mesin cadangan yang tersedia untuk menggantikannya.

Asumsikan bahwa pada awalnya terdapat n + s mesin yang berfungsi dengan baik, n buah yang beroperasi dan s buah sebagai cadangan, kita akan mensimulasikan sistem ini, demikian juga sebagai pendekatan E[T], dimana T adalah waktu ketika sistem nya gagal operasional.

Untuk mensimulasikan hal ini, kita akan menggunakan variabel berikut :

  1. Variabel waktu : t
  2. Variabel Status Sistem : r ( banyaknya mesin yang rusak pada waktu t)

Variabel Status sistem dapat berubah kapanpun, baik karena sebuah mesin yang sedang bekerja saat itu menjadi rusak, atau ketika suatu mesin yang rusak ternyata sudah selesai diperbaiki, dengan kata lain dikatakan bahwa sebuah kejadian terjadi ketika salah satu atau kedua persistiwa ini terjadi.

Untuk mengetahui kapan kejadian berikutnya akan terjadi, kita perlu terus mengikuti saat-saat ketika mesin yang sedang beroperasi menjadi rusak dan suatu saat ketika suatu mesin yang sedang diperbaiki ternyata sudah selesai dan siap beroperasi kembali.

Kita membutuhkan informasi tersebut untuk menentukan waktu terkecil dari n buah waktu kejadian mesin rusak, simpan informasi ini dalam sebuah daftar terurut. 

Daftar kejadian :  \( t_1\leq t_2\leq t_3 \leq …\leq t_n ,t^* \)

Dimana t1 , … , tn adalah waktu (berurutan) dimana  n buah mesin yang sekarang sedang beroperasi akan rusak, dan t* adalah waktu dimana mesin yang saat itu sedang diperbaiki akan selesai diperbaiki dan siap beoperasi lagi, jika tidak ada mesin yang sedang di perbaiki maka t* = \( \infty \)

Mari sekarang kita lakukan simulasinya :

Inisialisasi

Tentukan \(t=r=0, t^{*}=\infty \) ,

Bangkitkan \( X_1, … , X_n \) variabel independent yang memiliki distribusi F. Urutkan nilai-nilai ini dan \( t_i \) adalah nilai terkecil yang ke-i, i = 1, … , n.

Buat daftar kejadian : \( t_1, . . . , t_n , t^*\)

Selanjutnya kita akan berhadapan dengan dua kasus berikut :

Case 1 \( t_1 < t^*\)

Atur kembali : \( t = t_1\).

Atur : r = r + 1 (karena mesin yang lain ada yang rusak)

Jika r = s + 1, hentikan proses ini dan ambil data dari T = t ( ketika ada s + 1 mesin rusak, dan tidak ada cadangan)

Jika r < s + 1, bangkitkan variabel random X yang berdistribusi F. Variabel random ini akan menampilkan waktu kerja dari bengkel perbaikan yang akan digunakan kembali saat ini. Sekarang urutkan kembali nilai-nilai \( t_2,t_3,\cdots, t_n , t + X \) dan jadikan \( t_i \) sebagai nilai terkecil ke-i dari nilai-nilai tersebut, dimana i = 1, … , n.

Jika r = 1, bangkitkan variabel random Y yang mempunyai fungsi distribusi G dan atur t* = t + Y (hal ini diperlukan karena dalam kondisi ketika sebuah baru saja rusak adalah satu-satunya mesin yang beroperasi, dan dengan demikian perbaikan agak segera dilakukan padanya. Y akan menjadi lamanya waktu perbaikan dan karenanya perbaikan akan selesai pada saat t + Y).

Case 2 \( t^* \leq t_1\)

Atur: t = t*

Atur: r = r – 1

Jika r > 0, bangkitkan variabel random Y yang memiliki fungsi distribusi G, dan tampilkan kembali lamanya waktu perbaikan dari mesin yang baru saja masuk ke bengkel perbaikan, dan atur \( t^* = t + Y\)

Jika r = 0, atur \( t^* = \infty \).

Aturan di atas diilustrasikan pada gambar berikut :

<Gambar>

Setiap kali kita berhenti (yaitu pada saat r = s + 1), kita katakan bahwa sebuah operasi selesai dilakukan. Output dari operasional ini adalah nilai dari waktu gagal operasional T. Kita nanti kemudian akan memulai lagi dari awal dan mensimulasikan operasional berikutnya. Secara keseluruhan, misalkan kita melakukan kali operasional dengan ouput masing-masing \( t_1, T_2, … , T_k \), karena semua variabel random adalah independent dan setiapnya mewakili waktu kegagalan sistem, rata-ratanya \( \sum_{i=1}^{k}T_i/k \) adalam estimasi dari E[T], mean dari waktu kegagalan sistem.