HYBRID ALGORITHM ANT COLONY OPTIMIZATION DAN GENETIC ALGORITHM UNTUK MENYELESAIKAN QUADRATIC ASSIGNMENT PROBLEM Repository - UNAIR REPOSITORY

  Muhamad Jainal Abidin, 2012. Hybrid Algorithm Ant Colony Optimization dan Genetic Algorithm untuk Menyelesaikan Quadratic Assignment Problem. Skripsi ini di bawah bimbingan Herry Suprajitno, S.Si, M.Si, dan Dr. Miswanto, M.Si,. Departemen Matematika. Fakultas Sains dan Teknologi. Universitas Airlangga.

  ABSTRAK

  Penulisan skripsi ini bertujuan untuk menyelesaikan masalah penugasan kuadratik dengan menggunakan Hybrid Ant Colony Optimization dan Genetic

  Algorithm. Tujuan dari permasalahan penugasan kuadratik adalah menempatkan

  fasilitas pada lokasi, sehingga dapat meminimalkan total jarak tempuh perpindahan bahan antar fasilitas. Ant Colony Optimization adalah suatu algoritma yang mengambil inspirasi dari perilaku semut nyata. Sedangkan Genetic

  Algorithm adalah sebuah algoritma yang diinspirasikan oleh proses evolusi yang

  sangat dipengaruhi oleh proses mutasi dan crossover. Pada skripsi ini digunakan

  insertion mutation dan partial-mapped crossover. Program dibuat dalam bahasa

  pemrograman java untuk menerapkan Hybrid Ant Colony Optimization dan

  Genetic Algorithm dalam pencarian solusinya. Berdasarkan hasil yang diperoleh

  ditunjukkan bahwa semakin besar nilai alpha dan Pc, semakin kecil nilai betha,

  rho dan koefisien Q, maka solusi yang didapatkan semakin mendekati solusi optimal.

  Kata kunci

  : Hybrid, ant colony optimization, genetic algorithm, Masalah Penugasan Kuadratik. vii Muhamad Jainal Abidin, 2012. Hybrid Algorithm Ant Colony Optimization dan

Genetic Algorithm untuk Menyelesaikan Quadratic Assignment Problem.

  This Skripsi is supervised by Herry Suprajitno, S.Si, M.Si, and Dr. Miswanto, M.Si,. Mathematics Department, Faculty of Science and Technology, Airlangga University.

  ABSTRACT

  The purpose of this paper is to solve quadratic assignment problems using hybrid ant colony optimization and genetic algorithm. The purpose of the quadratic assignment problem is to place n facilities to n locations, in order to minimize the total distance of materials movement among facilities. Ant colony optimization is an algorithm inspired by the behavior of real ants. Whereas genetic algorithm is an algorithm inspired by evolutionary proces which is strongly influenced by the process of mutation and crossover. In this paper, we used insertion mutation and partial-mapped crossover methods. The program is made in java language program to implement the hybrid ant colony optimization and genetic algorithm in searching the solutions. Based on the results obtained, it showed that the larger value of alpha and Pc, and the smaller value of betha, rho and coefficient Q, then the solution approaches the optimal solution.

  Keywords:

  Hybrid, ant colony optimization, genetic algorithm, quadratic assignment problem. viii

  ix

  BAB III METODE PENELITIAN.............................................................. 26 BAB IV PEMBAHASAN ........................................................................... 32

  4.2.11 Seleksi Mutasi ............................................................. 48

  4.2.10.1 Crossover ............................................................ 46

  4.2.10 Seleksi Crossover ....................................................... 46

  4.2.9 Seleksi ........................................................................... 44

  4.2.8 Menghitung Nilai Fungsi Tujuan .................................. 44

  4.2.7 Generate Pop_size ........................................................ 43

  4.2.6 Memperbarui Matriks Pheromone ................................ 42

  4.2.5 Menyimpan Solusi Terbaik ........................................... 41

  4.2.4 Menghitung Nilai Fungsi Tujuan .................................. 39

  4.2.3 Pengisian Tabu List ....................................................... 36

  4.2.2 Inisialisasi ..................................................................... 35

  4.2.1 Pengisian Parameter ...................................................... 34

  4.2 Prosedur Hybrid Algorithm Ant Colony Optimization dan Genetic Algorithm ................................................................. 32

  4.1 Masalah Penugasan Kuadratik ................................................ 32

  2.6 Pemrograman Java .................................................................. 23

  DAFTAR ISI

  2.5 Hybrid ACO dan GA .............................................................. 23

  2.4 Genetik Algoritma .................................................................. 15

  2.3 Ant Colony Optimization (ACO) ............................................ 10

  2.2.1 Penugasan Quadratik .................................................... 8

  2.2 Permasalahan Penugasan ........................................................ 7

  2.1 Graph ...................................................................................... 6

  BAB II TINJAUAN PUSTAKA ................................................................ 6

  1.5 Batasan Masalah ..................................................................... 5

  1.4 Manfaat ................................................................................... 4

  1.3 Tujuan ..................................................................................... 4

  1.2 Rumusan Masalah ................................................................... 3

  1.1 Latar Belakang ........................................................................ 1

  BAB I PENDAHULUAN ........................................................................ 1

  HALAMAN JUDUL ................................................................................... i LEMBAR PERNYATAAN ........................................................................ ii LEMBAR PENGESAHAN ........................................................................ iii LEMBAR PEDOMAN PENGGUNAAN SKRIPSI ................................... iv KATA PENGANTAR ................................................................................ v ABSTRAK .................................................................................................. vii ABSTRACT ................................................................................................ viii DAFTAR ISI ............................................................................................... ix DAFTAR TABEL ....................................................................................... xi DAFTAR GAMBAR .................................................................................. xii DAFTAR LAMPIRAN ............................................................................... xiii

  4.2.11.1 Mutasi............................................... ................... 49

  4.2.12 Evaluasi Anak ............................................................. 50

  4.2.13 Populasi Baru .............................................................. 50

  4.3 Data ......................................................................................... 51

  4.4 Contoh Kasus Quadratic Assignment Problem dengan Menggunakan Data 4 Fasilitas dan 4 Lokasi yang Diselesaikan Secara Manual ............................................................................... 51

  4.4.1 Pengisian Parameter yang Dibutuhkan ......................... 52

  4.4.2 Pengisian Tabu List ....................................................... 53

  4.4.3 Menghitung Nilai Fungsi Tujuan .................................. 58

  4.4.4 Menyimpan Solusi Terbaik ........................................... 60

  4.4.5 Memperbarui Matriks Pheromone ................................ 60

  4.4.6 Cek Siklus ..................................................................... 62

  4.4.7 Men-generate Populasi Awal ....................................... 62

  4.4.8 Seleksi ........................................................................... 63

  4.4.9 Crossover ...................................................................... 66

  4.4.10 Mutasi ......................................................................... 67

  4.4.11 Evaluasi Anak ............................................................. 68

  4.4.12 Populasi Baru .............................................................. 68

  4.4.13 Cek Siklus ................................................................... 70

  4.5 Implementasi program Pada Contoh Kasus Quadratic

  Assignment Problem ..................................................................... 70

  4.5.1 Menggunakan Data 4 fasilitas dan 4 Lokasi ................. 70

  4.5.2 Menggunakan Data 12 fasilitas dan 12 Lokasi ............. 71

  4.5.3 Menggunakan Data 20 fasilitas dan 20 Lokasi ............. 73

  4.6 Perbandingan Hasil Perhitungan dengan Parameter yang Berbeda pada Hybrid ACO dan GA untuk QAP .......................... 75

  4.7 Perbandingan Hasil Perhitungan QAP dengan Menggunakan

  Hybrid ACO dan GA dengan Penelitian Hadley, S. W., (1992) .. 78

  BAB V KESIMPULAN DAN SARAN ...................................................... 79

  5.1 Kesimpulan ............................................................................. 79

  5.2 Saran ....................................................................................... 80 DAFTAR PUSTAKA ................................................................................. 81 LAMPIRAN x

  xi

  69

  4.15 Probabilitas komulatif

  65

  4.16 Random untuk calon induk crossover

  66

  4.17 Random untuk calon induk mutasi

  66

  4.18 Nilai fungsi tujuan anak

  68

  4.19 Gabungan individu

  69

  4.20 Urutan individu

  4.21 Populasi baru

  4.14 Nilai fungsi tujuan individu

  69

  4.22 Nilai fungsi tujuan dengan pembanding alpha

  75

  4.23 Nilai fungsi tujuan dengan pembanding betha

  76

  4.24 Nilai fungsi tujuan dengan pembanding rho

  76

  4.25 Nilai fungsi tujuan dengan pembanding koefisien Q

  77

  4.26 Nilai fungsi tujuan dengan pembanding

  77

  4.27 Perbandingan nilai optimal

  63

  62

  DAFTAR TABEL

  4.6 Bilangan acak pada j = 1

  Tabel Judul Halaman

  4.1 Probabilitas pada j = 0

  54

  4.2 Probabilitas komulatif semut ke-0 pada j = 0

  55

  4.3 Bilangan acak pada j = 0

  55

  4.4 Tabu list pada j = 0

  55

  4.5 Probabilitas pada j = 1

  56

  56

  4.13 Individu populasi awal

  4.7 Tabu list pada j = 1

  57

  4.8 Probabilitas pada j = 2

  57

  4.9 Bilangan acak pada j = 2

  57

  4.10 Tabu list pada j = 2

  58

  4.11 Tabu list pada j = 3

  58

  4.12 Nilai fungsi tujuan

  60

  78 xii

  DAFTAR GAMBAR

  44

  4.12 Prosedur penyimpanan solusi

  41

  4.13 Prosedur update pheremone

  42

  4.14 Prosedur menghitung delta

  42

  4.15 Prosedur generate pop_size

  43

  4.16 Prosedur men-generate individu dengan menggunakan permutasi

  4.17 Prosedur seleksi

  4.11 Prosedur isi x

  45

  4.18 Prosedur seleksi crossover

  46

  4.19 Prosedur crossover PMX

  48

  4.20 Prosedur seleksi mutasi

  49

  4.21 Prosedur insertion mutation

  50

  4.22 Prosedur populasi baru

  41

  40

  Gambar Judul Halaman

  4.4 Prosedur pengisian tabu list

  2.1 Percobaan yang dilakukan Gass, dkk., 1989

  11

  3.1 Skema flowchart hybrid ACO dan GA

  31

  4.1 Prosedur Hybrid ACO dan GA

  33

  4.2 Prosedur pengisian parameter

  34

  4.3 Prosedur inisialisasi

  35

  36

  4.10 Prosedur fungsi tujuan

  4.5 Flowchart pengisian tabu list

  37

  4.6 Prosedur menghitungan probabilitas

  38

  4.7 Prosedur hitung penyebut

  38

  4.8 Prosedur cek node

  39

  4.9 Prosedur memilih fasilitas

  39

  51

DAFTAR LAMPIRAN

  xiii

  No. Judul Lampiran

  1. Data Quadratic Assignment Problem

  2. Source Code Program

  3. Hasil implementasi Program pada QAP

  4. Output

BAB I PENDAHULUAN I.1 Latar Belakang Era globalisasi menuntut semua persaingan disegala aspek, salah satunya

  adalah persaingan di pasar global. Perusahan-perusahan bersaing untuk memperoleh hasil optimal dalam pencapaian kesuksesan perusahan. Banyak cara untuk menggapai hal tersebut salah satunya adalah pengoptimalan dalam sisi penugasan, dimana perusahan ingin memperoleh hasil yang optimal dari penugasan yang diberikan dengan pengeluaran biaya yang sangat minimal.

  Metode penugasan merupakan sebuah pelimpahan tugas atau pekerjaan pada sumber daya yang ada. Setiap sumber atau petugas (assignee) ditugasi secara khusus untuk suatu kegiatan atau tugas. Tujuan utamanya adalah meminimalisasi biaya total atau waktu yang diperlukan untuk melaksanakan tugas yang ada.

  Quadratic Assignment Problem (QAP) adalah masalah penugasan yang

  fungsi tujuannya berbentuk kuadrat dan merupakan salah satu pokok masalah optimalisasi combinatorial. Optimalisasi combinatorial adalah cabang dari ilmu optimalisasi dalam aplikasi matematika dan ilmu komputer yang umumnya berhubungan dengan operation research, teori algoritma dan teori kompleksitas komputasional yang berada pada dua persilangan dengan beberapa ruang ilmu lainnya, seperti intelegensia buatan, matematika dan software engineeering.

  Algoritma optimalisasi kombinatorial biasanya ditujukan untuk masalah yang

  1 dianggap NP-hard problems. Masalah tersebut dianggap tidak dapat dicari solusinya dengan efisien (Prana, 2007).

  QAP berukuran n terdiri dari pencarian alokasi terbaik dari n fasilitas ke n lokasi, dengan diketahui arus dari fasilitas dan jarak antar lokasi, supaya jumlahan antara arus dan jarak minimal. Pertama kali, masalah ini dirumuskan dalam

  (Koopmans dan Beckman, 1957),

  dan berkembang pada berbagai aplikasi, contohnya: perencanaan pembangunan di kampus, pengaturan departemen pada rumah sakit, perencanaan tata letak (layout), dan lain sebagainya.

  Pada umumnya permasalahan optimalisasi combinatorial merupakan masalah yang cukup sulit untuk diselesaikan. Beberapa algoritma yang telah dikembangkan untuk menyelesaikan masalah optimalisasi combinatorial antara lain: Genetic Algorithm, Simulated Anealing, Tabu Search dan Ant Colony

  Optimization. Pada skripsi (Kurniawan, 2008) telah dilakukan pengkajian

  ”Pendekatan Algoritma Semut untuk Persoalan Penugasan Kuadratik.”

   Ant Colony Optimization (ACO) dikemukakan pada tahun 1991 oleh

  Marco Dorigo, merupakan suatu algoritma yang mengambil inspirasi dari riset atas perilaku semut riil yang di dalamnya terdapat sekumpulan semut buatan (ants), yang bekerja sama untuk mencari solusi terhadap suatu masalah optimalisasi berdasarkan pheromone (suatu zat yang ditinggalkan oleh semut yang berisi sejumlah informasi). Dengan perantara pheromone inilah terjadi komunikasi tidak langsung dan juga pertukaran informasi antar semut ketika membangun suatu solusi. Bentuk komunikasi tidak langsung yang diperlihatkan oleh semut ini disebut stigmergy.

  Algoritma genetika (GA) merupakan algoritma yang diinspirasikan oleh proses evolusi. Algoritma genetika dapat disifatkan melalui populasi dan operator

  • – operatornya, yaitu selection ( menentukan individu yang akan menjadi induk ),

  crossover ( perkawinan antar induk untuk memperoleh individu baru ), dan mutation ( perubahan sebagian sifat individu ). Algoritma genetik juga merupakan

  algoritma yang cukup open trial karena peneliti dapat mengeksplor algoritma genetik dasar untuk menambahkan beberapa kondisi.

  Hybrid menurut bahasa berarti campuran atau gabungan, jadi hybrid algorithm merupakan suatu algoritma yang digunakan untuk menyelesaikan suatu

  permasalahan yang menggunakan dua algoritma berbeda atau lebih (Dechter,

  2011) .

  Berdasarkan uraian diatas penulis tertarik untuk membahas bagaimana

  hybrid antara algoritma Ant Colony Optimization dan algoritma genetik (Genetic Algorithm) untuk menyelesaikan Quadratic Assignment Problem. Diharapkan

  dengan Hybrid antara ACO dan GA untuk menyelesaikan QAP dapat mendapatkan hasil yang lebih baik dan tidak terjadi kehomogenan lebih cepat.

  Untuk itu penulis ingin menerapkan Hybrid Algorithm Ant Colony Optimization dan Genetic Algorithm untuk menyelesaikan Quadratic Assignment Problem.

I.2 Rumusan Masalah

  Berdasarkan uraian latar belakang diatas, maka penulis merumuskan permasalahan dalam proposal skripsi adalah sebagai berikut :

  1. Bagaimana menerapkan hybrid Ant Colony Optimization dan Genetic

  Algorithm untuk QAP?

  2. Bagaimana membuat program penggunaan hybrid Ant Colony

  Optimization dan Genetic Algorithm untuk QAP dengan menggunakan

  bahasa pemrograman java?

  3. Bagaimana mengimplementasikan program pada contoh kasus QAP ?

I.3 Tujuan

  Dalam penulisan proposal skripsi ini, penulis mempunyai tujuan sebagai berikut :

  1. Menerapkan hybrid Ant Colony Optimization dan Genetic Algorithm untuk QAP.

2. Membuat program penggunaan hybrid Ant Colony Optimization dan

  Genetic Algorithm untuk QAP dengan menggunakan bahas apemrograman java.

  3. Mengimplementasikan program pada contoh kasus QAP.

I.4 Manfaat

  Adapun manfaat yang nantinya akan didapatkan adalah sebagai berikut :

  1. Dari hasil skripsi ini nantinya, diharapkan dapat menjadi referensi alternatif metode penyelesaian yang dapat digunakan untuk menyelesaikan QAP dalam perencanaan tata letak (layout).

  2. Diharapkan pula dapat menjadi bahan pertimbangan dan perbandingan untuk penerapan algoritma lainnya pada QAP yang dapat mendukung perkembangan ilmu pengetahuan dan teknologi pada masa mendatang.

I.5 Batasan Masalah

  Mengacu pada rumusan masalah diatas, maka ruang lingkup penyelesaian QAP dengan hybrid Ant Colony Optimization dan Genetic Algorithm dalam penulisan proposal skripsi ini dibatasi pada penggunaan :

  1. Jumlah fasilitas sama dengan jumlah lokasi pada QAP.

  2. Pengkodean, solusi awal dari ACO direpresentasikan dengan pengkodean permutasi.

  3. Proses Crossover mengunakan Partial-Mapped Crossover (PMX).

  4. Proses mutasi menggunakan Mutasi Sisipan (Insertion Mutation).

BAB II TINJAUAN PUSTAKA Dalam penulisan ini, dibutuhkan beberapa definisi atau informasi-

  informasi guna untuk memperdalam materi dan mempermudah dalam penulisan skripsi, diantaranya sebagai berikut :

  2.1 Graph Definisi 2.1 Graph G didefinisikan sebagai himpunan berhingga V(G) yang tidak

  kosong yang anggotanya disebut titik (vertice) dan himpunan E(G) yang mungkin kosong, yang anggotanya terdiri dari pasangan tidak terurut dua elemen yang berbeda dari V(G) dan disebut garis (edge). Elemen dari V(G) dinotasikan dengan

  v dan elemen dari E(G) dinotasikan dengan v dan kadang dinotasikan dengan v i j i e . Jika terdapat garis v dan v maka v dikatakan e yang menghubungkan titik j i i i v dalam hal ini titik v dan v dikatakan insiden

  terhubung (adjacent) dengan j j

  i dengan e .

  Definisi 2.2 Digraph D adalah himpunan tak kosong yang berhingga V (D ) dari titik dan himpunan E (D ) (yang kemungkinan

  himpunan kosong) dari pasangan titik yang terurut. Arc (garis berarah) adalah elemen-elemen dari E (D ) .

  6

  Definisi 2.3

   v v e

  Masalah penugasan yaitu mengalokasikan sumber-sumber kepada kegiatan-kegiatan atas dasar satu-satu (one to one basis). Jadi setiap sumber atau petugas (assignee) ditugasi secara khusus kepada suatu kegiatan atau tugas. Terdapat biaya yang berkaitan dengan sumber dan kegiatannya, sehingga tujuannya adalah bagaimana menentukan semua tugas yang dilakukan dengan biaya seminimal mingkin.

  Definisi 2.5 path adalah walk dimana titiknya tidak boleh berulang. (Chartrand dan Oellerman, 1993)

  1 , v 2 , ..., v n-1 , v n yang berbeda satu dengan yang lain. Dengan kata lain cycle adalah walk yang tertutup.

  dan titik-titik v , v

  n , n v v

  3 

  , v n dengan

  2 , ..., v n-1

  1 , v

  Definisi 2.4 cycle adalah walk v , v

   untuk i = 1, 2, ..., n.

  1 i i i

  Perjalanan (walk) pada digraph D adalah urutan secara bergantian titik-titik elemen ) (D

  yang dimulai dan diakhiri dengan titik, sedemikian sehingga ) , (

  n

  

   , untuk

  1

  1

  2

  

2

  1

  n n n W v e v v e v e v , , ,..., , , , ,

  terbentuk :

  V dan arc elemen ) (D E yang

2.2 Permasalahan Penugasan

  Model masalah penugasan adalah sebagai berikut: n n

  Meminimalkan : z c x ij ij n  i j 1  1  dengan kendala : x ij 1 , i = 1,2,…,n

   j n 1

j = 1,2,…,n

x ij 1 ,

   i 1

  

  x { , ij 1 } i,j = 1,2,…,n dengan : z = biaya total yang diperlukan untuk menugaskan n tugas pada n petugas. c

ij = biaya yang diperlukan untuk menugaskan petugas i pada tugas j.

x = penugasan petugas i pada tugas j, dengan i,j = 0,1,…,n dan ij

jika petugas i ditugaskan pada tugas j

   ,1 

  x

  

  ij

  , 

  lainnya n = jumlah petugas.

  (Taha, 1996)

2.2.1 Penugasan Kuadratik

  Masalah penugasan kuadratik merupakan masalah penugasan yang fungsi tujuannya berbentuk kuadrat. Masalah penugasan kuadratik pada umumnya mempunyai konsep yang serupa dengan penugasan dari fasilitas pada suatu lokasi dengan tujuan untuk meminimalkan biaya pergerakan materi antar fasilitas.

  Fungsi tujuan dengan bentuk kuadratik melibatkan perkalian dua variable bebas.

  Bentuk kuadratik banyak digunakan pada fungsi obyektif untuk masalah layout fasilitas.

  (Gass dan Harris, 1996)

  Secara umum model penugasan quadratik adalah sebagai berikut: n n n n

  Minimumkan z c x x ijkl ij kl

   i 1 j 1 k 1 l

1

  atau n n n n

  z f d x x

  Minimumkan ik jl ij kl (2.1) n  i 1 j 1 k 1 l

1

  x

  1 , i = 1,2,…,n dengan kendala: ij

   j n 1x ij 1 , j = 1,2,…,n

   i 1

  

  x { , ij 1 }, i,j = 1,2,…,n (2.2) dengan: z = biaya total yang diperlukan untuk menugaskan n fasilitas pada n lokasi. c = biaya yang berhubungan dengan penugasan fasilitas i pada lokasi j dan ijkl fasilitas k pada lokasi l. f = frekuansi perpindahan bahan dari fasilitas i ke fasilitas k. ik d = jarak antara lokasi j ke lokasi l. jl x = penugasan fasilitas i pada lokasi j, dengan i,j = 0,1,…,n dan ij

  jika fasilitas i ditugaskan pada lokasi j

   ,1

  xij

  , 

  lainnya x = penugasan fasilitas k pada lokasi l, dengan k,l = 0,1,…,n dan kl jika fasilitas k ditugaskan pada lokasi l

   1 ,

  x

  

  kl

  , 

  lainnya n

  = jumlah fasilitas.

  (Gen dan Cheng, 1997)

2.3 Ant colony Optimization (ACO)

  Algoritma merupakan suatu himpunan langkah-langkah atau intruksi yang telah dirumuskan dengan baik (well defined) untuk memperoleh suatu keluaran khusus (specific output) dari suatu masukan khusus (specific input) dalam langkah-langkah yang jumlahnya berhingga.

  (Chartrand dan Oellermann, 1993) Gass, dkk (1989)

  membuat percobaan dengan menggunakan spesies semut

  Iridomyrmex humilis (semut Argentina). Percobaan itu untuk menunjukkan

  kemampuan kerjasama semut untuk mendapatkan jalan terpendek menuju sumber makanan. Percobaan tersebut seperti terlihat pada Gambar 2.1. Pada percobaan tersebut, diantara sumber makanan dan sarang semut diletakkan 2 jembatan dengan panjang yang tidak sama. Semut harus memilih diantara 2 jembatan tersebut dan ternyata didapatkan 2 hal yang menarik yaitu:

  a. Setelah periode tertentu ternyata paling banyak semut memilih jembatan yang lebih pendek. b. Probabilitas untuk memilih jalan yang lebih pendek sebanding dengan jarak antara 2 cabang.

  Tingkah laku pemilihan jalan terpendek ini adalah hasil timbal balik positif (autokatalitis) dan perbedaan panjang jalan. Hal ini diperoleh melalui

  

stimergy, bentuk komunikasi tidak langsung seperti digambarkan berikut ini:

Stimergy didefinisikan sebagai perubahan lokal dari lingkungan. Perubahan ini

  disebabkan karena ketika semut pergi, semut-semut itu meninggalkan zat kimia yang disebut pheromone. Setiap pemilihan titik, semut membuat keputusan yang diwujutkan dalam bentuk banyak sedikitnya pheromone. Proses ini merupakan proses autokatalis karena dalam kenyataannya seekor semut yang memilih jalan dalam gilirannya akan menambah pheromone seperti yang dilakukan oleh semut lainnya pada saat kemudian.

  Gambar 2.1

  Percobaan yang dilakukan Gass, dkk., 1989 Pada gambar 2.1, semut 1 dan semut 2 meninggalkan sarang pada waktu yang sama. Semut-semut tersebut sampai pada titik pilihan 1 bersama-sama dan membuat keputusan 0,5:0,5 untuk memilih cabang. Semut 1 memilih cabang yang lebih pendek dan mencapai sumber makanan lebuh dulu (melalui titik A), mengambil makanan dan kembali lagi ke sarangnya. Ketika kembali pada titik pilihan 2, semut tersebut mendeteksi pheromone pada cabang yang lebih pendek (pheromone yang ditaruh oleh semut 1 itu sendiri pada saat perjalanan menuju sumber makanan) dan dengan probabilitas yang tinggi untuk memilih cabang itu kembali. Pada cabang yang lebih jauh tidak mengandung pheromone di dekat titik percabangan, karena semut yang memilihnya (termasuk semut 2) belum sampai pada titik pilihan 2. Pada akhirnya kedua semut pada saat menuju dan dari sumber makanan akan mengambil jalan yang lebih pendek dengan probabilitas yang tinggi dan pheromone yang ada pada cabang yang lebih panjang tidak diberi penguatan lagi karena tidak ada semut yang menaruh pheromone disitu akan menguap dan semut akan berjalan pada jalan yang paling pendek.

  Dari percobaan yang digambarkan pada Gambar 2.1 disusun sebuah algoritma untuk mencari solusi dari sebuah permasalahan optimalisasi

  combinatorial yang dinamakan Ant colony Optimization (ACO). Dalam buku

  karya Gaertner (2004) ACO secara umum adalah terdapat sejumlah populasi semut buatan (ant) yang melakukan sebuah perjalanan untuk membentuk solusi dari sebuah permasalahan optimaliasi kombinatorik. Algoritma ini menyatakan permasalahan kombinatorik kedalam sebuah graph, ant melakukan perjalanan pada setiap cabang dari node satu ke node yang lain sehingga membentuk suatu path yang merupakan representasi dari solusi pada permasalahan tersebut.

  Hal yang membedakan antara semut sebenarnya dengan semut pada algoritma semut ini yang didefinisikan Dorigo, dkk. (1996) adalah sebagai berikut:

  a. Semut pada algoritma ini akan memiliki ingatan (memory)

  b. Semut pada algoritma ini tidak sepenuhnya buta c. Semut pada algoritma ini hidup pada lingkungan dengan waktu yang diskrit.

  Pada Dorigo, dkk. (1996) Langkah–langkah ACO adalah sebagai berikut :

  1. Inisialisasi parameter, yaitu : Alpha (α) = Tetapan pengendali intensitas Pheromone (

  

   ).

  Betha (β) = Tetapan pengendali visibilitas (   ).

  ) (t ij  = Nilai Pheromone antara node i dan node j disaat t.

  t = Iterasi ke-w , dengan w = 1,2,3,...,max_iterasi.

   = Koefisien penguapan intensitas pheromone

  d ij = Jarak antara node i dan node j.

  Q = Konstanta yang mempengaruhi update pheromone. Jumlah Semut, Jumlah Node dan Max_iterasi.

  2. Menempatkan sejumlah ant pada node awal

  3. Mengisi tabu list dengan cara menghitung nilai probabilitas dari node awal ke node yang akan dikunjungi. Tabu list adalah tempat yang disediakan untuk penyimpanan sementara dari solusi – solusi yang dihasilkan pada tiap iterasi. Persamaan untuk menentukan nilai probabilitas sebagai berikut :

  ( ) ( ) ∑ ( )

  (s) dan node – node lainnya dinyatakan sebagai {N-tabu

  (2.6) dengan k = semut ke-k yang bertugas untuk fasilitas ke i ke lokasi j dan k =

  (2.5) Tetapi pada Quadratic Assigment Problem menghitung pangjang perjalanan menggunakan persamaan :

  ( ) ( )

  ( ) ( )

  Menghitung panjang perjalanan dengan rumusan sebagai berikut :

  k }.

  k

  (2.3) Tetapi untuk menentukan nilai probabilitas dari node awal ke node yang akan dikunjungi untuk Quadratic Assigment Problem menggunakan persamaan :

  Setelah semua semut menyelesaikan satu siklus selanjutnya dihitung panjang perjalanan. Indeks s menyatakan indeks urutan perjalanan, node asal dinyatakan tabu

  4. Menghitung panjang perjalanan.

  ( ) = probabilitas dari node i ke node j disaat t.

  (2.4) keterangan :

  ( )

  ( ) ( ) ∑

  0,1,2,...,n-1.

  Keterangan : d = jarak antar lokasi.

  , k k ij

  untuk (i,j) lainnya

  k

  untuk node dalam tabu

  (Obitko, 1998)

  Algoritma genetika (GA) merupakan sebuah kelompok dari metode-metode untuk menyelesaikan permasalahan- permasalahan dengan menggunakan algoritma yang diinspirasi oleh proses evolusi.

  Definisi 2.6

  Berikut akan diberikan definisi algoritma genetik :

  6. Apabila siklus maksimum atau kondisi stagnan belum terpenuhi, maka kosongkan tabu list dan kembali ke langkah 2. Apabila siklus maksimum atau kondisi stagnan telah terpenuhi maka iterasi berakhir. Kondisi stagnan yaitu kondisi semua ant mendapatkan solusi yang sama.

  (2.6)

  L Q

    ,

  = biaya total fungsi tujuan semut ke-k.

     

    adalah perubahan harga pheromone antar node setiap semut yang dihitung berdasarkan persamaan

  k ij

  (2.7) dengan

   

   

  1

      m k k ij ij ij t t 1 .

      

  5. Perbaruhi matrik pheromone

2.4 Genetik Algoritma

  Konsep GA secara sederhana dimulai dengan menentukan populasi awal. Beberapa definisi yang terkait akan disajikan sebagai berikut :

  Definisi 2.7

  Masing-masing individu yang terdapat dalam populasi yang merupakan suatu solusi suatu permasalahan disebut individu.

  (Gen dan Cheng, 1997) Definisi 2.8

  Himpunan solusi (yang digambarkan dengan individu) disebut populasi.

  (Gen dan Cheng, 1997) Definisi 2.9

  Individu terdiri dari sejumlah struktur tersendiri yang disebut gen.

  (Obitko, 1998) Definisi 2.10 Setiap gen mempunyai posisi pada individu yang disebut locus. (Obitko, 1998) Definsi 2.11

  Individu akan berkembang melalui iterasi yang berturut-turut yang disebut sebagai generasi.

  (Gen dan Cheng, 1997) Definisi 2.12

  Jumlah individu yang membentuk sebuah populasi pada satu generasi disebut sebagai ukuran populasi (pop_size).

  (Obitko, 1998) Definisi 2.13

  Pengkodean (encoding) merupakan suatu cara menyajikan suatu solusi dalam ruang pencarian.

  (Obitko, 1998) Ada beberapa cara untuk mengkode suatu individu diantaranya:

  1. Pengkodean Biner Dalam pengkodean biner, individu dikodekan sebagai barisan bit 0 atau 1.

  2. Pengkodean Nilai Dalam pengkodean nilai, setiap individu adalah barisan beberapa nilai.

  3. Pengkodean Permutasi Dalam pengkodean permutasi, setiap individu adalah barisan angka yang memperhatikan urutan dan posisi sehingga tidak terjadi adanya pengulangan angka.

  4. Pengkodean random Keys (Nomor Acak) Dalam random keys, setiap individu adalah barisan angka random yang berkisar antara 0 dan 1.

  (Obitko, 1998)

  Populasi yang telah dibangkitkan kemudian dievaluasi dengan menghitung nilai fitness masing – masing individu dalam populasi. Selanjutnya dilakukan proses seleksi yang merupakan operasi evolusi dalam algoritma genetik.

  Definisi 2.14

  Fungsi fitness adalah fungsi yang menunjukkan keandalan suatu individu untuk bertahan dalam populasi.

  (Zomaya, 1996) Definisi 2.15

  Seleksi (selection) merupakan proses pemilihan individu dari populasi untuk menjadi induk crossover atau induk mutasi. Menurut teori evolusi, individu yang terbaik seharusnya bertahan dan membentuk keturunan baru.

  (Obitko, 1998)

  Ada beberapa jenis seleksi, diantaranya adalah : a.

   Seleksi Elitism.

  Seleksi ini dilakukan dengan mengkopi beberapa individu terbaik untuk menjadi populasi yang baru (mempertahankan individu dengan

  fitness terbaik). Sisanya dilakukan dengan menggunakan cara klasik.

b. Seleksi Roda Rolet.

  Sebuah roda rolet yang ditempati semua individu dalam populasi, dimana masing-masing individu menempati luasan menurut nilai fitnessnya. Selanjutnya roda rolet diputar untuk memilih individu yang akan dijadikan induk crossover atau induk mutasi. Individu dengan fitness yang lebih besar akan berpeluang untuk dipilih.

  (Obitko, 1998)

  Jika pada permasalahan fungsi tujuannya adalah untuk meminimalkan, maka seleksi roda rolet dapat diubah sebagai berikut :

  f ( v ) v untuk populasi:

  1. Menghitung total fungsi tujuan setiap individu pop _ host j j

  f v

  ( ) j (2.8)

   j 1

  2. Menghitung nilai fitness untuk setiap individu v : pop _ size j  

  ) f v

  ( k ) f ( (2.9)

  

    k 1  

  3. Menghitung total nilai fitness untuk populasi : pop _ host

  F fithost j

  (2.10)

   j 1 p untuk setiap individu v :

  4. Menghitung probabilitas seleksi j j

  fithost jp , j = 1, 2, ..., pop_host (2.11) j F

  5. Menghitung probabilitas kumulatif q untuk setiap individu v : j j j

   q p , j = 1, 2, ..., pop_host (2.12) j i

   i 1 6. Melakukan generate bilangan acak dari interval [0,1] = s.

  7. Jika s  , maka ditentukan menjadi individu pertama q

  v ; sebaliknya,

  1

  1

      menentukan individu v ke jj j 2 j pop _ host  dengan q s q . 1 j

  (Gen dan Cheng, 1997)

  Individu-individu yang telah terpilih dalam proses seleksi selanjutnya akan diproses crossover dan mutasi.

  Definisi

  2.16 Crossover adalah proses penggabungan (persilangan) antara dua induk untuk mendapatkan individu baru yang mewarisi sifat dari kedua induknya.

  (Obitko, 1998) Crossover merupakan operator dasar pada algoritma genetik. Tipe dan bentuknya tergantung pada pengkodean dan jenis permasalahannya. Ada beberapa jenis crossover yang didefinisikan oleh Obitko (1998), diantaranya: a. 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.

  b. 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.

c. Position-Based Crossover.

  Memilih beberapa posisi dari salah satu induk secara random kemudian membentuk calon anak dari gen-gen pada posisi yang telah terpilih 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.

  Pada proses crossover terdapat rasio untuk mengontrol jumlah harapan dari individu yang mengalami crossover. Jumlah harapannya dihitung dengan

  p x pop_size.

  cara

  c Definisi p ) adalah rasio banyaknya keturunan yang

  2.17 Laju crossover (

  

c

  dihasilkan dari crossover pada tiap-tiap generasi terhadap ukuran populasinya.

  (Gen dan Cheng, 1997) Definisi 2.18

  Mutasi merupakan proses perubahan sebagian sifat individu secara random yang menghasilkan struktur genetik baru.

  (Obitko, 1998)

  Ada beberapa jenis mutasi yang didefinisikan Obitko (1998), diantaranya:

  a. Mutasi Inversi (inversion Mutation) Memilih dua posisi dalam individu secara acak dan kemudian membalik untaian diantara dua posisi itu.

  b. Mutasi Sisipan (Insertion Mutation) Memilih gen secara acak dan menyisipkannya di posisi acak.

  c. Mutasi perpindahan (Displacement Mutation) Memilih sebuah subtour secara acak dan memasukkannya pada posisi lain secara acak.

  d. Reciprocal Exchange Mutation Memilih dua posisi gen secara acak kemudian menukar gen pada kedua posisi tersebut.

  Pada proses mutasi terdapat rasio untuk mengontrol jumlah harapan dari individu yang mengalami mutasi. Jumlah harapannya dihitung dengan cara

  p x pop_size. m

  Definisi p ) adalah prosentase dari jumlah individu dalam

  2.19 Laju mutasi (

  m populasi yang dimutasi.

  (Gen dan Cheng, 1997)

  Secara umum langkah-langkah dalam algoritma genetika adalah sebagai berikut: 1. [Mulai] Membangkitkan populasi secara random sebanyak n individu