Harmony Search Algorithm Permasalahan Penjadwalan Flow Shop Dalam Proses Pengecatan Body Mobil Dengan Menggunakan Harmony Search Algorithm

20 Gambar 2.5 Arsitektur Flow Shop Pada gambar 2.5 terdapat 2 buah mesin automotive paint, yaitu M1 basecoat dan M2 clearcoat. Selain itu ada 5 jobmobil yang akan dilakukan proses pengecatan. Sehingga kelima mobil tersebut harus melewati M1 terlebih dahulu kemudian melewati M2 sesuai dengan urutan mobil yang telah ditentukan. Kelima mobil tersebut akan dicari urutannya dengan menggunakan algoritma harmony search. Kemudian akan didapat waktu yang optimal dengan urutan yang tepat.

2.4. Harmony Search Algorithm

Harmony Search Algorithm HSA pertama sekali dikembangkan oleh Zong Woo Geem et al pada tahun 2001. Algortima ini tergolong algoritma metaheuristik baru keefektivan dan keuntungannya telah dipraktekkan dalam berbagai macam aplikasi. Sejak pertama sekali muncul pada tahun 2001, algoritma ini telah diaplikasikan untuk memecahkan banyak permasalahan optimasi diantaranya function optimization, engineering optimization, water distribution networks, groundwater modelling, energy-saving dispatch, truss design, vehicle routing dan lain-lain. HSA adalah sebuah algoritma optimasi metaheuristik yang berdasarkan musik. Algoritma ini diinspirasi oleh observasi yang mengarah ke musik untuk mencari harmoni yang sempurna. Harmoni musik ini sejalan untuk menemukan opitmal dalam proses optimasi. Proses pencarian optimasi dapat dibandingkan ke proses improvisasi musik jazz. Di satu sisi, kesempurnaan harmony ditentukan oleh standart suara estetika. Seorang musisi selalu mengharapkan untuk menghasilkan sebuah lagu dengan harmoni yang sempurna. Di sisi yang lain, sebuah solusi optimal untuk sebuah Universitas Sumatera Utara 21 permasalahan optimasi akan menjadi solusi terbaik untuk permasalahan yang objektif dan terbatas. Kedua pemrosesan ini akan menghasilkan solusi terbaik atau optimum Yang, 2009. Gambar 2.6 Analogi Improvisasi Musik Analogi antara improvisasi musik dan teknik optimasi dapat digambarkan pada gambar 2.6 : Setiap pemain musik saxophonist, double bassist dan guitarist dapat dianalogikan sebagai variabel x1, x2, x3 dan tingkat nada setiap instrumen musik saxophone = {Do, Re, Mi}; double bass = {Mi, Fa, Sol}; dan guitar = {Sol, La, Si} dianalogikan sebagai variabel x1 = {100, 200, 300}; x2 = {300, 400, 500}; dan x3 = {500, 600, 700}. Jika saxophonist mengeluarkan bunyi Re, double bassist mengeluarkan bunyi Mi dan guitarist mengeluarkan bunyi Si, maka ketiganya secara bersamaan akan membuat harmoni baru yaitu Re, Mi, Si. Jika harmoni baru ini lebih baik daripada harmoni sebelumnya, maka harmoni baru yang akan digunakan. Demikian juga solusi vektor baru 200mm, 300mm, 700mm akan digunakan juga jika lebih baik daripada yang sebelumnya untuk syarat nilai fungsi objektif Chakraborty et al, 2009. Sesuai dengan konsep di atas, HSA terdiri dari lima tahapan, yaitu : a Inisialisasi masalah optimasi dan parameter algoritma. b Inisialisasi harmony memory. c Improvisasi harmoni baru. Universitas Sumatera Utara 22 d Harmony memory update. e Ulangi tahap c dan d sampai kriteria berhenti terpenuhi.

2.4.1. Inisialisasi masalah optimasi dan parameter algoritma

Pada tahap pertama, permasalahan optimasi ditentukan sebagai berikut : Minimize or Maximize f x dengan x i Є X i , i = 1,2,...,N dimana f x : suatu fungsi objektif x i : variabel keputusan ke i X i : himpunan variabel keputusan N : jumlah varibel keputusan Selanjutnya, menentukan parameter-parameter yang dibutuhkan dalam HSA, yaitu : a Harmony Memory Size HMS HMS adalah jumlah solusi vektor dalam harmony memory. b Harmony Memory Considering Rate HMCR HMCR merupakan nilai kontinu yang digunakan sebagai parameter improvisasi harmoni dalam HSA. Nilai dari parameter ini adalah 0 ≤ HMCR ≤ 1. c Pitch Adjusment Rate PAR PAR merupakan nilai kontinu yang digunakan sebagai parameter improvisasi harmoni setelah kriteria HMCR terpenuhi. Nilai dari parameter ini adalah 0 ≤ PAR ≤ 1. d Kriteria Berhenti Kriteria berhenti merupakan nilai yang digunakan untuk menghentikan pengulangan improvisasi harmoni baru. Universitas Sumatera Utara 23

2.4.2. Inisialisasi harmony memory

Dalam tahap yang kedua komponen dari setiap vektor pada harmony memory, yang mana ukuran HMS diinisialisasi dengan sebuah angka yang dibagikan secara acak diantara batas tertinggi dan terendah [ L x i, U x i ], dimana 1 ≤ i ≤ N. Ini dilakukan untuk komponen ke i dari solusi vektor ke j yang menggunakan persamaan berikut : x j i = L x i + rand0, 1 ∙ U x i – L x i dimana : j = 1, 2, 3, ... , HMS rand0, 1 : angka random antara 0 dan 1

2.4.3. Improvisasi harmoni baru

Pada tahap ini, new harmony vector x = x 1 , x 2 , x 3 , x 4 , .... , x N mempunyai tiga bagian dasar, yaitu : a Memory Consideration Penggunaan memory consideration sangat penting, ini sama halnya dengan memilih individu terbaik di dalam genetic algorithms. Memory consideration akan memastikan harmoni terbaik yang akan dibawa terakhir menjadi new harmony memory. b Pitch Adjustment Pitch adjustment ditetapkan oleh sebuah pitch band-width b range dan sebuah pitch adjusting rate r pa . Walaupun di dalam musik, pitch adjustment adalah alat untuk mengubah frekwensi, ini cocok untuk menghubungkan solusi perbedaan yang sedikit di dalam HSA. Dalam teori, pola dapat diatur linear atau nonlinear, tetapi dalam prakteknya linear adjustment yang digunakan. Jadi dapat disimpulkan x new = x old + b range Є dimana x old adalah pola hidup atau solusi dari harmony memory dan x new adalah pola baru setelah aksi pitch adjusting. Universitas Sumatera Utara 24 Pseudocode dari HSA adalah sebagai berikut : begin objective function fx, x = x 1 ,x 2 , ... ,x d T generate initial harmonics real number arrays define pitch adjusting rate r pa , pitch limits and bandwidth define harmony memory accepting rate r accept while t Max number of iterations generate new harmonics by accepting best harmonics adjust pitch to get new harmonics solutions if rand r accept , choose an existing harmonic randomly else if rand r pa , adjust the pitch randomly within limits else generate new harmonics via random selection end if accept the new harmonics solutions if better end while find the current best solutions end c Random Selection Random selection berguna untuk memperluas keanekaragaman solusi. Walaupun pitch adjustment memiliki peran yang sama, tetapi pitch adjustment dibatasi untuk pitch adjustment lokal tertentu saja dan demikian juga untuk local search. Random selection dapat berjalan di sistem yang lebih lanjut untuk memeriksa berbagai macam solusi agar menemukan global optimal.

2.4.4. Harmony memory update

Apabila new harmony vector x = x 1 , x 2 , x 3 , x 4 , ... , x N lebih baik daripada harmoni terburuk untuk nilai fungsi objektif pada harmony memory, maka new harmony dimasukkan ke dalam harmony memory dan demikian harmoni terburuk akan dikeluarkan dari harmony memory. Ini sebenarnya adalah tahap seleksi dimana nilai fungsi objektif dievaluasi untuk ditentukan apabila variasi baru akan dimasukkan ke dalam populasi harmony memory.

2.4.5. Check stopping criterion

Apabila kriteria berhenti angka maksimum improvisasi memenuhi, maka komputasi diakhiri. Sebaliknya apabila kriteria berhenti belum terpenuhi maka akan diulang tahap improvisasi harmoni baru dan harmony memory update. Universitas Sumatera Utara 25

2.5. Penelitian Terdahulu