BAB II TINJAUAN PUSTAKA
2.3 Algoritma Genetik
Selama ini diketahui bahwa banyak permasalahan optimalisasi dalam dunia industri terutama sistem manufaktur yang sangat sulit diselesaikan dengan menggunakan teknik konvensional. Sehingga telah banyak dikembangkan penelitian yang menggunakan algoritma evolusi yang berdasar pada teori evolusi dalam menyelesaikan permasalahan-permasalahan tersebut. Algoritma ini sering dinilai lebih baik dibandingkan dengan teknik konvensional pada saat diaplikasikan ke permasalahan dunia nyata yang cukup sulit. Salah satu algoritma evolusi yang sangat dikenal saat ini adalah Algoritma Genetik (Genetic Algorithm). Algoritma Genetik ini telah diterima dan mendapat perhatian karena keberhasilannya dalam menyelesaikan permasalahan komplek pada dunia industri. (Gen dan Cheng, 1997) Berikut akan diberikan definisi-definisi yang berkaitan dengan algoritma genetik, antara lain :
Definisi 2.5 Algoritma adalah suatu himpunan langkah-langkah atau instruksi yang telah dirumuskan dengan baik (well defined) untuk memperoleh suatu keluaran khusus (spesific output) dari suatu masukan khusus (spesific input) dalam langkah yang jumlahnya berhingga.
17
Definisi 2.6 Algoritma genetika adalah teknik pencarian stochastic yang didasari oleh mekanisme seleksi alami (natural selection) dan proses genetik alami (natural genetics).
(Gen dan Cheng, 1997) Konsep GA (Genetic Algorithm) secara umum dimulai dengan menentukan populasi awal.
Definisi 2.7 Himpunan dari solusi disebut populasi.
Definisi 2.8 Masing-masing individu yang terdapat dalam populasi yang menyatakan solusi permasalahan disebut kromosom.
(Gen dan Cheng, 1997) Definisi 2.9 Kromosom s terdiri dari sejumlah struktur s1,…, sj ..., sn yang
disebut gen.
Definisi 2.10 Gen sj mempunyai posisi locus ke-j pada kromosom.
(Sakawa dan Kubota, 2000) Definsi 2.11 Kromosom yang berkembang melalui iterasi yang berturut-turut
yang disebut sebagai generasi.
Definisi 2.12 Ukuran sebuah populasi pada masing-masing generasi disebut sebagai ukuran populasi (pop_size).
(Gen dan Cheng, 1997) Definisi 2.13 Pengkodean (coding) merupakan cara pemetaan suatu solusi yang
sesuai dalam ruang pencarian ke kromosom.
(Sakawa dan Kubota, 2000)
ADLN Perpustakaan Universitas Airlangga
Ada beberapa cara untuk mengkode suatu kromosom diantaranya: 1. Pengkodean Biner
Dalam pengkodean biner, kromosom adalah barisan bit 0 atau 1. 2. Pengkodean Nilai
Dalam pengkodean nilai, setiap kromosom adalah barisan beberapa nilai. 3. Pengkodean Permutasi
Dalam pengkodean permutasi, setiap kromosom adalah barisan angka yang memperhatikan urutan dan posisi sehingga tidak terjadi adanya pengulangan angka.
4. Pengkodean Random Keys (Nomor Acak)
Dalam random keys, setiap kromosom adalah barisan angka random yang berkisar antara 0 dan 1.
(Obitko, 1998) Untuk menjaga keanekaragaman pembangkitan individu awal, pada penyelesaian JSSP dengan menggunakan Genetic Algorithm dalam penelitian yang dilakukan oleh Sakawa dan Kubota (2000) telah diperkenalkan suatu metode pembangkitan solusi awal yang berdasarkan kepada derajat kesamaan (degree of similarity) antar masing-masing individu. Berdasarkan banyak penelitian yang telah dilakukan diketahui bahwa pada saat membangkitkan individu dengan derajat kesamaan 0,8 atau kurang maka solusi yang diperoleh akan lebih konvergen (Sakawa, 2000). Gambar 2.5 menunjukkan contoh perhitungan degree of similarity dari dua individu pada contoh permasalahan 4×4 FJSSP.
19 Individu 1 Job Mesin 1 1 2 4 3 Mesin 2 3 1 4 2 Mesin 3 4 3 1 2 Mesin 4 3 2 1 4 Individu 2 Job Mesin 1 2 1 4 3 Mesin 2 3 1 4 2 Mesin 3 4 3 1 2 Mesin 4 3 2 4 1
Gambar 2.5 Contoh perhitungan Degree of Similarity
Tabel di atas merupakan tabel urutan job pada tiap-tiap mesin dari individu 1 dan individu 2. Untuk individu 1, job 1 pada mesin 1 memiliki prioritas diatas job 2, 3 dan 4. Untuk individu 2, job 1 pada mesin 1 kehilangan prioritas terhadap job 2 dan memiliki prioritas terhadap job 4 dan 3. Karena kedua individu memiliki prioritas yang sama untuk job 1 pada mesin 1 diatas job 4 dan 3 maka diberi nilai 2. Jika dilakukan perhitungan yang sama pada job 2, 4 dan 3 maka akan diperoleh nilai masing-masing 2, 3 dan 3 pada mesin 1. Jika dihitung untuk semua mesin maka akan diperoleh total nilai 44. Karena 12 x 4 adalah 48 pada saat urutan prioritas sama untuk semua job, maka rasio menjadi 44/48 dan diperoleh degree of similarity sebesar 0,917 yang berarti bahwa tingkat kesamaan individu 1 dan individu 2 sebesar 91,7%.
(Sakawa dan Kubota, 2000) Pada masing-masing generasi, masing-masing kromosom pada populasi yang telah dibangkitkan dievaluasi dengan menghitung nilai fitness. Selanjutnya dilakukan dua operasi yaitu proses seleksi yang merupakan operasi evolusi serta crossover dan mutasi yang merupakan operasi genetik dalam algoritma genetik.
(Gen dan Cheng, 1997) 2+2+3+3=10 3+3+3+3=12 3+3+3+3=12 3+3+2+2=10 917 , 0 48 44 48 10 12 12 10
ADLN Perpustakaan Universitas Airlangga
Definisi 2.14 Fungsi fitness adalah ukuran yang menunjukkan tingkat kebaikan atau kesesuaian suatu solusi dengan solusi yang dicari.
(Santoso dan Willy, 2011) Definisi 2.15 Seleksi (selection) merupakan proses pemilihan individu dari
populasi untuk menjadi induk crossover atau induk mutasi.
(Obitko, 1998) Ada beberapa jenis seleksi dalam algoritma genetik, diantaranya adalah : a. Seleksi Elistim (Elitism Selection)
Seleksi ini dilakukan dengan memasukkan kromosom terbaik kedalam generasi baru secara langsung. Dan sisanya dilakukan dengan menggunakan seleksi yang lain.
b. Seleksi Roda Rolet (Roulete Wheel Selection)
Seleksi ini dilakukan dengan menentukan probabilitas masing-masing kromosom yang nilainya sesuai dengan fungsi fitnessnya. Kemudian dibuat sebuah roda yang berdasarkan kepada probabilitas tersebut. Proses seleksi dilakukan dengan memutar roda rolet sebanyak pop_size.
c. Seleksi Turnamen
Seleksi ini dilakukan dengan memilih secara random sebuah himpunan (set) kromosom dan memilih satu kromosom terbaik dari himpunan tersebut untuk digunakan dalam reproduksi. Jumlah kromosom pada himpunan tersebut disebut tournament size atau tour. Nilai tournament size yang umum adalah 2.
21
Individu-individu yang telah terpilih dalam proses seleksi selanjutnya akan diproses crossover dan mutasi.
Definisi2.16 Crossover adalah operator genetik yang utama. Pada proses ini dua induk atau kromosom dioperasi untuk mendapatkan individu baru (offspring) dengan mengkombinasi atau menggabungkan sifat-sifat dari keduanya.
(Gen dan Cheng, 1997) Tipe dan bentuk dari crossover tergantung pada pengkodean dan jenis permasalahannya. Ada beberapa jenis crossover, diantaranya:
a. Partial Schedule Exchange Crossover Langkah-langkah :
1. Memilih satu posisi pada parent 1 secara random.
2. Menentukan job terdekat yang sama dengan job pada posisi terpilih sehingga diperoleh partial schedule 1.
3. Partial schedule selanjutnya dari parent 2 tidak diperoleh secara acak, tetapi harus dimulai dan diakhiri dengan job yang sama dengan job awal dan akhir pada partial schedule 1, sehingga diperoleh partial schedule 2.
4. Menukar posisi partial schedule 1 kedalam parent 2dan partial schedule 2 kedalam parent 1.
5. Hasil dari pertukaran partial schedule biasanya akan menyebabkan jumlah gen yang tidak sesuai, sehingga harus dicari kelebihan dan kekuranga gen pada masing-masing anak hasil crossover.
ADLN Perpustakaan Universitas Airlangga
6. Menghapus kelebihan gen dan menambah kekurangan gen pada masing-masing anak hasil crossover dengan memperhatikan urutan operasi job pada parent pembentuk partial schedule.
b. Partial-Mapped Crossover (PMX)
Memilih dua titik potong secara random. Substring antara kedua titik potong disebut mapping sections. Mapping sections diantara kedua induk ditukar kemudian ditentukan hubungan pemetaan antara kedua mapping sections untuk menghasilkan 2 anak.
c. Order Crossover (OX)
Memilih substring dari salah satu induk secara random kemudian membentuk calon anak dari substring dengan posisi yang sama. Gen yang telah ada pada induk kedua dihapus, sisanya adalah barisan gen yang belum ada pada calon anak. Kemudian barisan tersebut ditempatkan pada posisi calon anak yang masih kosong berurutan dari kiri ke kanan hingga terbentuk 1 anak.
(Gen dan Cheng, 1997) Definisi2.17 Laju crossover (pc) adalah rasio banyaknya keturunan yang dihasilkan dari crossover pada tiap-tiap generasi terhadap ukuran populasinya.
(Gen dan Cheng, 1997) Pada proses crossover terdapat rasio untuk mengontrol jumlah harapan dari kromosom yang mengalami crossover. Jumlah harapannya dihitung dengan cara
c
23
Definisi 2.18 Mutasi merupakan operator yang menghasilkan perubahan random pada kromosom.
(Gen dan Cheng, 1997) Ada beberapa jenis mutasi, diantaranya:
a. Swap Mutation
Memilih dua posisi gen secara acak kemudian menukar gen pada kedua
posisi tersebut. (Lei, 2009)
b. Mutasi Inversi (Inversion Mutation)
Memilih dua posisi dalam kromosom secara acak dan kemudian membalik untaian diantara dua posisi itu.
c. Mutasi Sisipan (Insertion Mutation)
Memilih gen secara acak dan menyisipkannya di posisi acak. d. Mutasi Perpindahan (Displacement Mutation)
Memilih sebuah subtour secara acak dan memasukkannya pada posisi lain secara acak.
(Gen dan Cheng, 1997) Definisi2.19 Laju mutasi (pm) adalah prosentase dari jumlah individu dalam
populasi yang dimutasi.
(Gen dan Cheng, 1997) Pada proses mutasi terdapat rasio untuk mengontrol jumlah harapan dari kromosom yang mengalami mutasi. Jumlah harapannya dihitung dengan cara pm × pop_size.
ADLN Perpustakaan Universitas Airlangga
Secara umum langkah-langkah dalam algoritma genetika adalah sebagai berikut:
1. [Mulai] Membangkitkan populasi secara random sebanyak n individu (solusi feasible dari permasalahan)
2. [Fitness] Menilai keandalan setiap individu dalam populasi.
3. [Populasi baru] Membentuk populasi baru lewat pengulangan pengoperasian operator genetik berikut sampai populasi baru lengkap.
a. [Seleksi] Memilih induk dari populasi sesuai dengan nilai keandalannya (keandalan yang lebih baik, lebih berpeluang untuk terpilih).
b. [Crossover] Dengan suatu laju crossover, crossover induk untuk membentuk anak (individu baru). Jika tidak ada crossover yang dilaksanakan, anak merupakan copian yang sama dengan induknya.
c. [Mutasi] Menggunakan suatu probabilitas, mutasi induk pada masing-masing sifat (lokus = posisi dalam kromosom).
4. [Mengganti] Menggunakan populasi yang baru dibentuk untuk menjalankan algoritma lebih lanjut.
5. [Menguji] Jika sudah mencapai n iterasi atau optimal, berhenti dan diperoleh solusi terbaik dari populasi ini. Jika tidak maka kembali ke langkah 2 sampai diperoleh solusi terbaik dari populasi ini.