Implementasi Algoritma Cat Swarm Optimization Dala PDF
Implementasi Algoritma Cat Swarm Optimization Dala PDF
1
Jurusan Matematika, Fakultas MIPA – Universitas Udayana [Email: viruezradikaviruez@gmail.com]
2
Jurusan Matematika, Fakultas MIPA – Universitas Udayana [Email: taritastrawati@yahoo.com]
3
Jurusan Matematika, Fakultas MIPA – Universitas Udayana [Email: sari_kaartika@yahoo.co.id]
§
Corresponding Author
ABSTRACT
Cat Swarm Optimization (CSO) algorithm is a metaheuristic algorithm which is based on two
behaviors of cat, seeking and tracing. CSO algorithm is used in solving optimization problems. One of
the optimization problems which can be seen in daily life is Job Shop Scheduling Problem (JSSP).
This study aimed to observe the performance of CSO algorithm in solving JSSP. This study focused on
5 job-12 machine cases. According to this study, CSO algorithm was effective in solving real case of
JSSP in 5 jobs – 12 machines scheduling at CV Mitra Niaga Indonesia agriculture tools industry. In
implementing CSO algorithm in JSSP, a correct parameter choosing could lead to an optimal result.
On other hand, the greater the number of jobs or machines the more complex and difficult the JSSP
that needed to be solved.
Keywords : Cat Swarm Optimization, Job Shop Scheduling Problem, Makespan
90
Apriana, I W. R., N. K. T. Tastrawati, K. Sari Implementasi Algoritma Cat Swarm Optimization…
91
E-Jurnal Matematika Vol. 5 (3), Agustus 2016, pp. 90-97 ISSN: 2303-1751
92
Apriana, I W. R., N. K. T. Tastrawati, K. Sari Implementasi Algoritma Cat Swarm Optimization…
adalah posisi kucing yang memiliki nilai a. Menyatakan data ke dalam bentuk matriks
fitness terbaik, adalah posisi kucing ke- informasi berdasarkan (1).
pada dimensi ke- , adalah konstanta dan b. Membuat solusi acak awal, solusi yang
adalah nilai acak dalam rentang [0,1]. dihasilkan dapat berupa solusi valid atau
berupa solusi yang tidak valid.
Inertia Weight ( ) c. Jika solusi acak awal yang dihasilkan
Parameter ini berguna untuk mengontrol berupa solusi yang valid, lanjutkan
keseimbangan antara kemampuan eksplorasi menghitung makespan solusi tersebut.
global dan lokal, serta penurunan kecepatan Sedangkan jika solusi acak awal berupa
untuk menghindari stagnasi pada optimum lokal. solusi yang tidak valid, lakukan koreksi
Jika nilai inertia weight terlalu besar akan hingga mendapatkan solusi yang valid.
mengakibatkan posisi kucing berubah terlalu d. Menghitung makespan dari solusi yang
jauh, sehingga gagal untuk menemukan solusi. valid.
Sebaliknya, jika nilai inertia weight terlalu kecil 2. Terapkan algoritma Cat Swarm Optimization
posisi kucing akan terjebak pada optimum lokal dengan langkah-langkah sebagai berikut :
(Chu & Tsai, 2007). a. Bangkitkan sejumlah kucing dalam
Untuk menyelesaikan permasalahan kucing proses. Setiap kucing merepresentasikan
yang menjauhi solusi dan terperangkap pada himpunan solusi awal, yaitu urutan acak
optimum lokal, CSO dimodifikasi dengan dari operasi sampai operasi ( ),
menambahkan parameter baru berupa nilai dimana adalah job dan adalah mesin.
inertia weight ( ) yaitu, CSO dengan inertia. b. Inisialisasi posisi, kecepatan, dan ruang
Pada nilai inertia weight ( ) berubah secara kucing.
acak dalam tracing mode, sehingga kecepatan c. Hitung nilai fitness masing-masing kucing
pada persamaan (3) menjadi: berupa makespan dari setiap solusi.
( ) (5) d. Pindahkan kucing sesuai rasio MR. Jika
kucing berada dalam seeking mode
perlakukan sesuai proses seeking mode,
2. METODE PENELITIAN sebaliknya perlakukan sesuai proses
Data yang digunakan dalam penelitian ini tracing mode.
adalah data sekunder yang diperoleh dari (a) Untuk kucing dalam seeking mode :
penelitian Satrio (2007) mengenai job shop 1. Bangkitkan tiruan sebanyak SMP
scheduling problem. Jenis data yang digunakan yang telah ditetapkan. Jika SPC
adalah data kuantitatif, terdiri dari tiga kasus job bernilai benar, maka pertahankan
shop. Kasus yang digunakan dalam penelitian ini posisi saat ini sebagai salah satu
adalah kasus pertama yaitu, penjadwalan 3 job – kandidat.
2 mesin dan kasus ketiga yaitu, penjadwalan 5 2. Untuk setiap tiruan, tambahkan
job – 12 mesin. Kasus pertama dipilih untuk atau kurangkan sebesar SRD
validasi program yang telah dibuat. Kasus ketiga persen dari nilai saat ini, jika
adalah kasus penjadwalan di Industri peralatan melebihi rentang SRD maka
pengolahan hasil pertanian. tetapkan nilai rentang sama dengan
Variabel yang digunakan dalam penelitian batas maksimum.
ini adalah waktu penyelesaian seluruh pekerjaan 3. Hitung nilai fitness untuk semua
(makespan) dinotasikan dengan . titik kandidat.
Langkah-langkah yang akan dilakukan 4. Hitung peluang terpilih masing-
dalam penelitian ini adalah: masing titik kandidat dengan
1. Membuat solusi JSSP yang valid menggunakan persamaan (2).
93
E-Jurnal Matematika Vol. 5 (3), Agustus 2016, pp. 90-97 ISSN: 2303-1751
5. Secara acak pilih titik untuk solusi yang lebih optimal dengan makespan
bergerak dari titik-titik kandidat, yang minimum. Langkah-langkah dalam
lalu pindahkan posisi kucing. membuat solusi JSSP awal yang valid adalah
(b) Untuk kucing dalam tracing mode : sebagai berikut:
6. Perbaharui kecepatan kucing Pertama, menyatakan data ke dalam bentuk
dengan menggunakan persamaan matriks informasi. Data kasus penjadwalan 3 job
(5) dan perbaharui posisi kucing – 2 mesin dan kasus penjadwalan 5 job – 12
menggunakan persamaan (4). mesin dinyatakan ke dalam bentuk matriks
e. Pilih lagi sejumlah kucing dan masukkan informasi menggunakan persamaan (1).
dalam tracing mode sesuai MR, sisanya Representasi matriks informasi kasus
masukkan ke dalam seeking mode. penjadwalan 3 job – 2 mesin seperti berikut:
f. Perhatikan kondisi akhir algoritma. Jika
telah memuaskan dalam artian fungsi
fitness bernilai kecil, maka hentikan
program. Sebaliknya, jika belum maka
ulangi langkah (c) hingga (e). ( )
g. Akhir pada algoritma yang digunakan Berlaku cara yang sama untuk membentuk
berupa nilai fitness terkecil. matriks informasi pada kasus penjadwalan 5 job
h. Kucing yang terpilih sebagai solusi – 12 mesin.
terbaik adalah kucing yang dapat Langkah selanjutnya, membuat solusi acak
memenuhi semua batasan yang ada (valid) awal. Solusi acak awal adalah solusi yang dibuat
dengan nilai fitness terkecil. di awal secara sembarang tanpa memperhatikan
Implematasi algoritma CSO dalam urutan dari mesin-mesin yang beroperasi,
menyelesaikan kasus JSSP dijalankan dengan sehingga solusi tersebut tidak selalu valid dan
aplikasi MATLAB 7.8.0 (R2009a) pada perlu dikoreksi. Sebagai contoh solusi acak awal
Notebook dengan spesifikasi Intel Core i3- dari kasus penjadwalan 3 job – 2 mesin pada
2310M. 2.1 GHz dengan RAM 2 GB. Gambar 2.
Selanjutnya akan diberikan hasil dan Gambar 2. Solusi acak awal 3 job – 2 mesin
pembahasan mengenai kinerja algoritma CSO
Berlaku cara yang sama untuk membentuk
dalam menyelesaikan kasus optimasi. Kasus
solusi acak awal pada kasus penjadwalan 5 job –
yang digunakan adalah kasus penjadwalan 3 job
12 mesin.
– 2 mesin sebagai validasi program dan kasus
Jika solusi acak awal yang dihasilkan tidak
nyata penjadwalan 5 job – 12 mesin. Terlebih
valid, maka dilanjutkan ke proses koreksi. Solusi
dahulu dibahas membuat solusi JSSP awal yang
acak awal yang tidak valid dikoreksi sampai
valid untuk diterapkan pada algoritma CSO.
mendapatkan solusi yang valid. Proses koreksi
Membuat Solusi JSSP Awal Yang Valid dilakukan dengan memprioritaskan operasi awal
dibandingkan operasi lainnya pada setiap job
Solusi JSSP dapat dikatakan valid jika untuk dioperasikan terlebih dahulu hingga
jadwal yang dihasilkan memenuhi batasan yang membentuk solusi baru yang valid. Untuk kasus
telah ditetapkan pada masing-masing kasus penjadwalan 3 job – 2 mesin diperoleh solusi
JSSP. Setiap solusi JSSP yang valid memiliki valid yang paling sederhana dengan
waktu penyelesaian seluruh pekerjaan mengurutkan operasi-operasi yang ada pada
(makespan). Solusi JSSP awal yang valid kasus tersebut seperti yang tampak pada Gambar
diterapkan pada algoritma CSO sebagai salah 3.
satu kucing, tujuannya untuk mendapatkan
94
Apriana, I W. R., N. K. T. Tastrawati, K. Sari Implementasi Algoritma Cat Swarm Optimization…
95
E-Jurnal Matematika Vol. 5 (3), Agustus 2016, pp. 90-97 ISSN: 2303-1751
digunakan dalam simulasi ini adalah 30 dan 50 yang optimal dalam menyelesaikan kasus
dengan masing-masing kucing beriterasi penjadwalan 3 job – 2 mesin.
sebanyak 500, 1000, dan 2000. Tujuannya untuk
melihat apakah perubahan jumlah kucing dan Penjadwalan 5 Job – 12 Mesin
iterasi dapat mempengaruhi hasil dari algoritma Pada kasus penjadwalan 5 job – 12 mesin,
CSO dalam menyelesaikan kasus JSSP. digunakan posisi kucing seperti Gambar 4
Hasil simulasi algoritma CSO dalam sebagai salah satu kucing dalam menerapkan
menyelesaikan kasus penjadwalan 3 job – 2 algoritma CSO. Kombinasi parameter-parameter
mesin dapat dilihat pada Tabel 3 dan Tabel 4. yang digunakan yaitu MR = 0,5 ; SMP = 1 ;
SRD = 0,4 ; CDC = 0,6 ; C1 = 1 ; R = [0,1].
Tabel 3. Hasil Simulasi 1 Algoritma CSO Pada
Simulasi dilakukan hanya sekali dengan banyak
Kasus Penjadwalan 3 Job – 2 Mesin.
kucing dan banyak iterasi yang sama seperti
Jumlah
Iterasi Makespan
Running Posisi pada kasus 3 job – 2 mesin. Hasil yang diperoleh
Kucing Time Kucing
dari algoritma CSO dalam menyelesaikan kasus
500 14 0,8594 1-3-2-4-5-6
kucing 1000 19 1,7031 1-2-3-4-5-6 penjadwalan 5 job – 12 mesin dapat dilihat pada
= 30 2000 11 3,4063 1-3-5-2-4-6 Tabel 5.
500 11 1,3438 1-2-3-5-4-6
kucing 1000 11 2,6875 1-3-2-5-4-6 Tabel 5. Hasil Simulasi Algoritma CSO Pada
= 50 2000 19 5,3750 1-2-3-4-5-6
Kasus Penjadwalan 5 Job – 12 Mesin.
Tabel 4. Hasil Simulasi 2 Algoritma CSO Pada Jumlah Running Posisi
Iterasi Makespan
Kasus Penjadwalan 3 Job – 2 Mesin. Kucing Time Kucing
1-2-3-…-28-
500 4462 1,0781
Jumlah Running Posisi 29
Iterasi Makespan 1-2-3-…-28-
Kucing Time Kucing kucing 1000 4462 2,0625
29
500 11 0,8594 1-2-3-5-4-6 = 30
1-2-3-…-28-
kucing 1000 19 1,7031 1-2-3-4-5-6 2000 4462 4
29
= 30 2000 11 3,2813 1-5-2-3-4-6 1-2-3-…-28-
500 19 1,3906 1-2-3-4-5-6 500 4462 1,6875
29
kucing 1000 14 2,7031 1-3-2-4-5-6 1-2-3-…-28-
= 50 2000 19 5,3594 1-2-3-4-5-6 kucing 1000 4462 3,3125
29
= 50
1-2-3-…-28-
2000 4462 6,5625
29
Dari simulasi algoritma CSO pada kasus
penjadwalan 3 job – 2 mesin diperoleh
Dari Tabel 5 terlihat bahwa simulasi dengan
makespan terkecil, yaitu 11 satuan waktu dengan
jumlah kucing dan jumlah iterasi yang berbeda
running time 0,8594 pada simulasi 2. GANT
menghasilkan makespan yang sama yaitu 4462
chart dengan posisi kucing [1-2-3-5-4-6] dapat
menit. Sedangkan dari running time terlihat
dilihat pada Gambar 6.
bahwa semakin bertambah jumlah kucing dan
jumlah iterasi yang digunakan, semakin lama
running time yang diperlukan.
Makespan dari hasil simulasi algoritma CSO
pada kasus penjadwalan 5 job – 12 mesin adalah
4462 menit dengan solusi penjadwalan [1-2-3-
Gambar 6. Gant Chart Solusi Kasus Penjadwalan 3 …-28-29], seperti diperlihatkan pada GANT
Job – 2 Mesin chart di Gambar 7.
96
Apriana, I W. R., N. K. T. Tastrawati, K. Sari Implementasi Algoritma Cat Swarm Optimization…
97