Husnul Hakim (5106100101)Pembimbing :
Ahmad Saikhu, S.Si, MT
Penjadwalan job-shop merupakan masalah yang kompleks untuk diselesaikan.
Pendekatan dalam menyelesaikan penjadwalan job-shop :
- Analitis dengan model matematis.
- Heuristik dengan menerapkan dispatching rules.
- Simulasi dengan software simulasi.
Fuzzy rule base sehingga diperoleh metode penjadwalan adaptif.
Kenapa adaptif ?
pemilihan control vector BERDASARKAN NILAI FUZZY dari states vectors.
Implementasi MATLAB 7.0
Job-shop terdiri dari empat workcenter yaitu area pemotongan, area pembengkokan, area permesinan, dan area pengelasan.
Mengimplementasikan metode fuzzy rule base pada kasus job-shop dengan penjadwalan adaptif.
Memperoleh perbandingan flow-time antara beberapa skenario pada implementasi fuzzy rule base pada kasus job-shop dengan penjadwalan adaptif.
Karakteristik : ◦ Jobs : J={J1,J2,...,Jn}
◦ Ada resource (mesin) R={R1 , R2,..., Rn }
◦ Operasi : Oi = O1i, O1
2,..., Oni
◦ Waktu proses λ =λ1, λ2 ,..., λn
◦ Presedences urutan operasi
Dispatching rules menentukan urutan job. Berikut ini adalah beberapa contoh dari dispatching rules.◦ FIFO (First In First Out)
◦ SPT (Shortest Processing Time)
◦ LPT (Longest Processing Time)
◦ Random
Latar belakang lahirnya
banyaknya fenomena yang bersifat samar /serba tidak
Pada kenyataannya, tidak ada tepat 100% benar atau 100% salah.
Logika fuzzy memberi nilai spesifik pada setiap nilai antara true atau false dengan menentukan fungsi keanggotaan (membership function).
Input diberi nilai 0 sampai 1, sehingga memungkinkan bagi suatu persamaan memiliki nilai true dan false secara bersamaan.
Fuzzy rule base berisi pernyataan-pernyataan logika fuzzy yang berbentuk pernyataan-pernyataan IF-THEN. Bentuk umum dari fuzzy rule base adalah :
“If x1 is A11and x2 is A2
1 then y is B”
Peranan
- Menentukan control vector yang tepat untuk state vectors dalam subspace.
Pemilihan control vector melalui 2 tahapan utama yaitu :
a. Knowledge Acquisition Phase
b. Decision Making Phase
Control vectors adalah vektor yang berisi bobot dari penggunaan dispatching rulesyang digunakan, yaitu NPT, dan NUNQ.
NPT Normalized Processing Time
NUNQ Normalized Urgency of Next Workstation
Dari control vector dapat diperoleh priority index job ke-k pada workcenter ke-s dengan rumus :
c1 c2 c3 c4
0 1 0 1
-1 -1 1 1
Priority Index menentukan prioritas job untuk dikerjakan pada suatu workcenter.
Contoh : digunakan control vector 1:
Priority (k,s) = Σi wi x Criterioni(k,s)
Priority (k,s) = 0xNUNQ + (-1)*NPT
Job dengan priority lebih tinggi akan dikerjakan lebih dahulu.
State Vectors berisi states variables.
Merupakan variabel-variabel yang menunjukkan keadaan sistem.
State variables yang dipilih :
x1 : NPT maksimum dari antrian
x2 : NUNQ maksimum dari antrian
x3 : NPT minimum dari antrian
x4: panjang antrian yang dinormalisasi.
Pada tahap ini dikumpulkan data dan dilakukan proses fuzzifikasi.
Proses fuzzifikasi yang dilakukan adalah menggunakan bilangan fuzzy K=3.
Fungsi Keanggotaan :
Untuk membangun rule pada knowledge acquisition phase dilakukan perhitungan :
- Degree of Effectiveness
- Cumulative Scores
- Degree of Suitability
Menghitung derajat kekuatan dari control vector dengan rumus :
(PVworstxp - PVc
xp)
DEcxp=
(PVworstxp - PVbest
xp)
Menghitung nilai efektivitas dari semua control vector untuk semua subspace, dengan rumus:
β(c|AKij...v)=μi
K(x1p) μjK (x2p)... μv
K (xmp)DEcxp
Menghitung kekuatan control vector untuk seluruh subspace, dengan rumus :
β(c|AKij...v)- βij...v
DS(c|AKij..v )=
Maxt{β(t|AKij..v)}
Σt=1q β(t|AK
ij..v)βij...v =
q
Control vector yang memiliki nilai degree of suitability maksimal, merupakan control vector yang paling optimal untuk suatu subspace.
Dengan terpilihnya masing-masing satu control vector terbaik untuk tiap subspacemaka dapat dibangun rule base :
“Jika x1 = .... x2 = .... x3 = .... x4 = .... Maka gunakan control vector ke-c”
Tahap ini adalah tahap penentuan control vector untuk sebuah masukan current vector.
Rata-rata waktu pengerjaan pada setiap workcenter & antrian diperoleh melalui proses simulasi.
Generate random number dengan distribusi TRIANGULAR (0.9, 1, 1.1) untuk pengali waktu pengerjaan di tiap workcenter dan untuk jumlah antrian di setiap workcenter.
Input :
p x1 x2 x3 x4 PVC1 PVC2 PVC3 PVC4
1 0.00 0.00 0.26 0.00 38.38 38.68 39.80 39.76
2 0.55 0.59 1.00 0.70 42.85 43.20 44.78 44.48
3 0.14 0.45 0.44 0.28 39.91 40.22 41.22 41.50
4 0.19 0.41 0.58 0.43 40.90 41.23 42.82 42.52
5 0.00 0.00 0.26 0.06 39.14 38.92 39.44 40.03
6 0.42 0.55 0.67 0.55 41.37 41.68 43.43 43.11
7 0.01 0.18 0.33 0.21 39.68 40.03 41.51 41.24
8 0.08 0.09 0.14 0.09 38.78 39.07 40.52 40.22
9 0.00 1.00 1.00 1.00 44.89 45.20 46.81 46.45
10 0.27 0.41 0.54 0.53 41.30 41.61 43.21 42.90
Degree of Effectiveness
1 0.787 0 0.0258
1 0.815 0 0.153
1 0.807 0.175 0
1 0.827 0 0.159
0.807 1 0.534 0
1 0.849 0 0.155
1 0.805 0 0.148
1 0.836 0 0.176
1 0.836 0 0.185
1 0.836 0 0.161
Cumulative Scores
Uji Coba-Skenario 1(cont)
1.36 0.228 0.00015
9
1.32 0.441 0.00454 0.00264 0.0215 0.00045
5
1.24 0.206 0.00014
5
1.22 0.381 0.00381 0.00221 0.0179 0.00038
1
0.229 0.03 2.59e-
005
0.249 0.036
9
2.86e-
005
4.78e-
005
6.68e-
006
5.45e-
009
0.1 0.029
1
1.3e-
005
0.078
7
0.056
5
0.00071
6
0.00039
5
0.0034
4
7.57e-
005
0.462 0.373 -0.37 -0.465
0.459 0.363 -0.409 -0.413
0.461 0.373 -0.376 -0.457
0.457 0.381 -0.354 -0.484
0.481 0.345 -0.435 -0.391
0.499 0.338 -0.495 -0.343
0.499 0.336 -0.483 -0.352
0.502 0.334 -0.498 -0.338
0.499 0.336 -0.501 -0.335
... ... ... ...
... ... ... ...
0.508 0.322 -0.492 -0.338
0.508 0.323 -0.492 -0.339
0.508 0.324 -0.492 -0.339
Rules:
“Jika x1 kecil, x2 kecil, x3 sedang, x4 besar gunakan control vector ke-1 “
.....
“Jika x1 besar, x2 besar, x3 besar, x4 besar gunakan control vector ke-1 “
Decision Making Phase
Diinputkan current vector :
0.8385 0.5681 0.3704 0.7027
x1 x2 x3 x4
Hasil :
DA =
0.5025 0.3344 -0.4754 -0.3611
Decision : Kontrol Vector untuk current state adalah control vector ke-1.
Input
p x1 x2 x3 x4 PVC1 PVC2 PVC3 PVC4
1 0,24 1,00 1,00 0,37 44,80 44,81 44,85 44,84
2 0,08 0,40 0,45 0,17 41,22 41,23 41,26 41,26
3 0,25 1,00 1,00 1,00 55,67 55,68 55,73 55,72
4 0,11 0,31 0,31 0,29 43,43 43,44 43,48 43,48
5 0,35 0,60 0,58 0,53 47,63 47,64 47,68 47,64
6 0,37 0,80 0,93 0,77 51,94 51,94 52,00 51,99
7 0,04 0,40 0,38 0,15 37,25 37,25 37,29 37,28
8 0,00 0,00 0,00 0,00 38,29 38,29 38,33 38,32
9 0,23 1,00 0,89 0,85 56,25 56,24 56,29 56,28
Rule......23. Jika x1 kecil, x2 besar, x3 sedang, x4 sedang
gunakan control vector ke-124. Jika x1 kecil, x2 besar, x3 sedang, x4 besar
gunakan control vector ke-2.......78. Jika x1 sedang, x2 besar, x3 sedang, x4 besar
gunakan control vector ke-279. Jika x1 besar, x2 besar, x3 besar, x4 kecil gunakan
control vector ke-1
0,00
10,00
20,00
30,00
40,00
50,00
60,00
70,00
0 2 4 6 8 10 12
Flo
w T
ime
State Vectors Ke-
Flow Time
Triangular
Normal
Fuzzy rule base dapat diimplementasikan untuk kasus job-shop.
Penggunaan distribusi yang berbeda, yaitu TRIANGULAR dan NORMAL untuk waktu proses suatu entitas pada workcenter mempengaruhi flow-timedari job-shop.
Pada saat dilakukan uji coba, rule yang menunjuk control vector 1 yaitu (0,-1) sebagai control vector untuk suatu subspace lebih dominan dibandingkan dengan control vector lainnya. Ini menunjukkan bahwa untuk job-shop dengan karakteristik seperti yang diujicobakan, NPT lebih banyak digunakan dibandingkan dengan penggunaan kombinasi antara NUNQ-NPT yang diwakilkan oleh control vector lainnya.
Penggunaan simulasi bukan hanya untuk dasar dalam pembangkitan bilangan acak, tetapi benar-benar dilakukan untuk menilai performa dari control vector. Dengan demikian, penghitungan prioritas juga dapat langsung dilakukan dengan simulasi tanpa harus dihitung berdasarkan bilangan acak yang dibangkitkan.
Gunakan kombinasi control vector selain control vector yang digunakan pada tugas akhir ini.
Untuk kriteria performa selain flow-time dapat digunakan dispatching rules yang lain selain NUNQ dan NPT.
TERIMA KASIH