BAB 2 TINJAUAN PUSTAKA
2.1 Lintasan Terpendek Multi Objektif Lintasan terpendek multi objektif (LTMO) merupakan perencanaan yang bertujuan untuk menemukan lintasan yang efisien dari titik awal ke titik tujuan dengan beberapa kendala dalam satu penyelesaian. Sebagian besar masalah dunia nyata melibatkan persoalan pencarian lintasan terpendek. Optimisasi multi objektif memiliki fungsi tujuan yang bertentangan yang menimbulkan serangkaian sosusi optimum, bukan satu solusi optimum (Chitra dan Subbaraj, 2010). Solusi-solusi yang memenuhi semua kendala dikenal dengan solusi pareto optimal. Masalah optimisasi multi objektif terdiri dari beberapa set kendala dengan satu fungsi tujuan. Optimisasi multi objektif melibatkan meminimumkan atau memaksimumkan beberapa fungsi tujuan pada satu set kendala (Mo et al., 2014). Persoalan multi objektif dalam menyelesaikan masalah lintasan terpendek yang memiliki lebih dari satu fungsi tujuan yang akan dioptimalkan secara bersamaan (Guardado et al., 2014). Proses pencarian lintasan terpendek diawali dengan mengetahui posisi awal posisi tujuan yang akan dikunjungi. Posisi awal dan tujuan telah diketahui akan digunakan pada proses pencarian lintasan terpendek. Mengetahui posisi awal dan tujuan juga dapat mempermudah penyelesaian persoalan yang ingin diselesaikan. Dalam persoalan pencarian lintasan terpendek, setiap lintasannya harus memiliki suatu nilai atau bobot. Bobot tersebut merupakan jarak dari satu posisi ke posisi lain. Metode multi objektif sederhana adalah yang membentuk fungsi objektif komposit sebagai jumlah pertimbangan tujuan, dimana berat untuk tujuan sebanding dengan faktor preferensi yang ditetapkan untuk tujuan tertentu (Chitra dan Subbaraj, 2010). Kebanyakan masalah optimisasi dunia nyata membutuhkan dua atau lebih tujuan yang biasanya masing-masing tujuan berada dalam keadaan kontradiksi antara tujuan yang satu dengan tujuan yang lain.
Universitas Sumatera Utara 4
5 Ada beberapa algoritma yang telah meneliti masalah multi objektif. Diantaranya adalah sebagai berikut: 1. Membandingkan algoritma Martins dengan algoritma Brute. Hasil percobaan menunjukkan bahwa algoritma Martins menghasilkan satu set lebih lengkap dengan solusi efisien untuk semua konfigurasi jaringan. Sedangkan algoritma Brute hanya menghasilkan solusi untuk ukuran kecil dan jaringan density rendah (Janssens dan Maria, 2007). 2. Bee Colony Optimization Algorithm. Berdasarkan hasil penelitian dan pembahasan yang dilakukan maka diperoleh kesimpulan yaitu Pertama, pencarian rute terpendek menggunakan konsep penelusuran multi tujuan memperbesar peluang ditemukannya rute perjalanan yang lebih pendek sehingga didapat solusi secara global. Kedua, Jumlah lebah yang dilepas mempengaruhi peluang untuk menemukan rute terpendek. Semakin banyak lebah yang dilepas akan memperbesar peluang ditemukannya rute terpendek dari posisi awal ke posisi tujuan. Ketiga, parameter tidak memberikan pengaruh yang signifikan untuk menemukan rute terpendek (Danuri dan Prijodiprodjo, 2013). 3. Biogeography Optimization Algorithm. Hasil yang diperoleh Biogeography Optimization Algorithm memiliki keragaman yang lebih baik, variansi terkecil yang menunjukkan bahwa lebih handal dan kuat dalam memproduksi solusi yang lebih baik (Mo et al., 2014). 4. Algorithm Discrete Bacterial Colony Chemotaxis. Operator yang digunakan memudahkan bagi bakteri untuk melompat keluar dari konvergen lokal dan mempercepat kecepatan konvergensi algoritma sehingga memungkinkan untuk mendapatkan solusi yang lebih efektif denga iterasi yang dn meningkatkan nilai indeks solusi proporsi efektif (Lu et al., 2014).
Universitas Sumatera Utara
6 2.2 Optimisasi Multi Objektif Sebuah permasalahan optimisasi (optimization problem), yang dimodelkan secara matematis, umumnya terdiri dari fungsi-fungsi tujuan (objective functions) dan kendala-kendala (constraints). Fungsi tujuan mempresentasikan tujuan yang ingin dioptimalkan (Mahmudy dan Rahman, 2011). Sebagian besar masalah dunia nyata melibatkan beberapa fungsi objektif. Perencanaan beberapa fungsi objektif adalah untuk menentukan solusi yang lebih baik dari beberapa objek. Umumnya, fungsi ini sering bersaingan dan tujuannya bertentangan. Optimisasi multi objektif memiliki fungsi tujuan yang bertentangan yang dapat menimbulkan serangkaian solusi optimal, bukan satu solusi optimal.
Gambar 2.1 Contoh grafik fungsi tujuan dengan 3 kendala
Masalah optimisasi multi objektif terdiri dari sejumlah tujuan dan beberapa kendala yang dapat dirumuskan sebagai berikut (Chitra dan Subbaraj, 2010):
M in/max fi (x)
i = 1, 2, 3, . . . , Nobjectives
(2.1)
Dengan kendala gk (x) = 0, k = 1, 2, 3, . . . , K hi (x) ≤ 0, l = 1, 2, 3, . . . , L dengan fi merupakan fungsi tujuan ke - i, x adalah vektor keputusan yang menggambarkan sebuah solusi, dan N merupakan jumlah tujuan yang ada. K dan L adalah jumlah kesetaraan dan ketidaksetaraan masing-masing kendala.
Universitas Sumatera Utara
7 Dalam kehidupan sehari-hari, terdapat pertimbangan-pertimbangan yang saling berlawanan antara satu dengan yang lainnya.
Oleh karena itu, solusi
multi objektif sempurna yang secara bersamaan mengoptimalkan setiap fungsi tujuan hampir mustahil dikarenakan tujuan yang satu seringkali berlawanan dengan tujuan-tujuan yang lain yang juga ingin dicapai. Sebuah solusi yang masuk akal untuk masalah multi objektif adalah untuk menyelidiki satu set solusi, yang masing-masing memenuhi tujuan pada tingkat yang dapat diterima tanpa didominasi oleh solusi lain (Chitra dan Subbaraj, 2010).
2.3 Hill Climbing Teknik heuristik adalah teknik yang digunakan untuk mempercepat pencarian solusi. Teknik heuristik digunakan untuk mengeliminasi beberapa kemungkinan solusi tanpa harus mengeksplorasinya secara penuh. Selain itu, teknik heuristik juga membantu memutuskan kemungkinan solusi mana yang pertama kali perlu dievaluasi. Ada beberapa metode pencarian heuristik salah satunya adalah metode hill climbing. Algoritma pencarian heuristik memiliki eksponensial waktu dan ruang kompleksitas karena mereka menyimpan informasi yang lengkap dari lintasan yang akan diselesaikan (Potdar dan Thool, 2014). Ada banyak masalah yang memerlukan pencarian dari sejumlah besar solusi yang mungkin untuk menemukan satu yang memenuhi semua kendala. Sebagai contoh dasar mempertimbangkan masalah menyusun jadwal kelas yang diberi satu set kendala pada ketersediaan ruang kelas dan berbagai kendala waktu antara mahasiswa dan dosen. Hill climbing adalah metode yang dikenal untuk pencarian lokal. Gagasan untuk metode hill climbing adalah mulai secara cak dari state yang ada, bergerak ke tetangga dengan nilai evaluasi yang terbaik dan jika suatu minimum lokal telah dicapai lalu memulai lagi secara acak pada state yang berbeda. Pengulangan prosedur ini dilakukan hingga solusi ditemukan. Algoritma ini mengatur suatu parameter yang disebut Max-Flips. Max-flips digunakan untuk membatasi jumlah maksimum langkah dalam setiap kali pengulangan dan membantu untuk meninggalkan minimum lokal yang tidak dibatasi. Faktanya, algoritma hill climbing menyelidiki semua tetangga dari state sekarang sebelum memilih gerak dan ini harus diperhitungkan karena ini dapat memakan banyak waktu (Thiang dan Ninaber, 2009).
Universitas Sumatera Utara
8 Algoritma hill climbing memperluas satu node pada suatu waktu dimulai dengan node awal. Setiap kali perluasan hanya node terbaik yang dicapai dari node saat ini. Metode ini tidak melibatkan perhitungan kompleks dan tidak dapat dipastikan kelengkapan dalam pencarian solusi (Potdar dan Thool, 2014). Metode ini hampir sama dengan metode generate and test dan merupakan salah satu variasi dari metode tersebut. Yang membedakan kedua metode ini adalah umpan balik (feed back) yang berasal dari prosedur pengujian digunakan untuk memutuskan arah gerak dalam pencarian. Hill climbing adalah proses pengujian yang dilakukan dengan menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya sangat tergantung pada f eedback dari proedur pengetesan. Tes yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin. Ada dua macam metode hill climbing yaitu, simple hill climbing dan steepest ascent hill climbing.
2.3.1 Simple hill climbing Simple hill climbing menentukan next state dengan membandingkan current state dengan satu seccessor dan successor pertama lebih baik dan akan dipilih menjadi next state (Thiang dan Ninaber, 2009). Gerakan pencarian next state dimulai dari posisi paling kiri atau posisi langkah pertama dari pertukaran yang dilakukan tanpa mempertimbangkan nilai dari tetangga-tetangga yang lain. Algoritma simple hill climbing adalah sebagai berikut (Thiang dan Ninaber, 2009):
1. Evaluasi state awal, jika state awal sama dengan tujuan, maka proses berhenti. Jika tidak sama dengan tujuan maka lanjutkan proses dengan membuat state awal sebagai state sekarang. 2. Kerjakan langkah berikut sampai solusi ditemukan atau sampai tidak ada lagi operator baru yang dapat digunakan dalam state sekarang. (a) Cari sebuah operator yang belum pernah digunakan dalam state sekarang dan gunakan operator tersebut untuk membentuk state baru. (b) Evaluasi state baru. i. Jika state baru adalah tujuan, maka proses berhenti.
Universitas Sumatera Utara
9 ii. Jika state baru tersebut bukan tujuan tetapi state baru lebih baik daripada state sekarang, maka state baru menjadi state sekarang. iii. Jika state baru tidak lebih baik daripada state sekarang, maka lanjut ke langkah 2.
Berikut ini merupakan contoh tahapan proses simple hill climbing.
Gambar 2.2 Contoh simple hill climbing
Terdapat suatu lintasan dengan posisi awal ABCD. Tk merupakan tukar antara posisi yang satu dengan posisi yang lain. Misalkan saja pada gambar 2.2, Tk 1,2 adalah proses pertukaran yang pertama dilakukan dan posisinya paling kiri. Setelah dilakukan pertukaran, dihitunglah panjang lintasan atau bobot yang dimiliki oleh lintasan yang baru. Jika diperoleh hasil yang lebih kecil daripada hasil lintasan awal, maka langkah selanjutnya adalah lintasan yang baru dijadikan sebagai lintasan awal. Jika hasil yang diperoleh lebih besar daripada hasil lintasan awal, maka dilihat hasil dari tetangga yang pertama, yaitu hasil dari pertukaran yang kedua. Hal ini terus dilakukan sampai menghasilkan nilai yang ingin dicapai.
2.3.2 Steepest ascent hill climbing Steepest ascent hill climbing hampir sama dengan simple hill climbing. Hanya saja gerakan pencarian tidak dimulai dari posisi kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik. Dalam hal ini urutan penggunaan operator tidak menentukan solusi (Azizah, 2012). Steepest ascent hill climbing merupakan metode algoritma yang banyak digunakan untuk permasalahan optimasi salah satu penerapannya adalah untuk mencari rute yang terpendek dengan cara
Universitas Sumatera Utara
10 memaksimumkan atau meminimumkan nilai dari fungsi optimasi yang ada. Secara harfiah steepest berarti paling tinggi, sedangkan ascent berarti kenaikan. Dengan demikian steepest ascent berarti kenaikan yag tinggi. Jadi prinsip dasar metode ini adalah mencari kenaikan paling tinggi dari keadaan sekitar untuk mencapai nilai yang paling optimal (Thiang dan Ninaber, 2009). Algoritma steepest ascent hill climbing sebagai berikut (Thiang dan Ninaber, 2009): 1. Evaluasi keadaan awal (initial state). Jika keadaan awal sama dengan tujuan (goal state) maka kembali pada initial state dan berhenti berproses. Jika tidak maka initial state tersebut jadikan sebagai current state. 2. Mulai dengan current state = initial state. 3. Dapatkan semua pewaris (successor) yang dapat dijadikan next state pada current successor tersebut dengan fungsi evaluasi dan beri nilai pada setiap successor tersebut. Jika salah satu dari successor tersebut mempunyai nilai yang lebih baik dari current state maka jadikan successor dengan nilai yang paling baik tersebut sebagai new current state. Lakukan operasi ini terus menerus hingga tercapai current state = goal state atau tidak ada perubahan pada current statenya. Pada steepest ascent hill climbing ada 3 masalah yang mungkin terjadi, yaitu (Azizah, 2012):
1. Local optimum yaitu keadaan semua tetangga lebih buruk atau sama dengan keadaan awal. 2. P lateu merupakan keadaan semua tetangga dengan keadaan awal. 3. Ridge merupakan local optimum yang lebih disebabkan karena ketidakmampuan untuk menggunakan 2 operator sekaligus.
Universitas Sumatera Utara
11 Berikut ini merupakan contoh tahapan proses steepest ascent hill climbing.
Gambar 2.3 Contoh steepest ascent hill climbing
Terdapat suatu lintasan dengan posisi awal ABCD. Misalkan saja pada gambar 2.3, Semua proses pertukaran dilakukan dan dihitung panjang lintasan dari masing-masing lintasan. Selanjutnya dilakukan permandingan antara tetangga yang satu dengan tetangga yang lain. Karena kasusnya adalah meminimumkan lintasan, maka dicarilah panjang lintasan yang paling minimum. Jika sudah diperoleh, langkah selanjutnya adalah menjadikan lintasan tersebut sebagai posisi awal. Lalu dilakukan lagi pertukaran dan dihitung kembali panjang lintasannya. Hal ini terus dilakukan sampai hasil yang diinginkan tercapai. Dalam penerapannya, metode simple hill climbing dan steepest ascent hill climbing mempunyai beberapa kelebihan dan kekurangan. Tabel 2.1 merupakan perbandingan kelebihan dan kekurangan dari kedua metode tersebut (Thiang dan Ninaber, 2009): Tabel 2.1 Perbandingan simple hill climbing dan steepest ascent hill climbing
Kelebihan
Simple Hill Climbing
Steepest Ascent Hill Climbing
Efisiensi dari segi memori
Kemungkinan untuk mendapatkan penyelesaian lebih besar
Kekurangan
Bisa digabungkan dengan
Bisa digabungkan dengan
metode pencarian lain
metode pencarian lain
Tidak dijamin ditemukan
Memori yang dipakai
jalan penyelesaian
lebih banyak
Tidak mungkin kembali
Tidak mungkin kembali
ke state semula
ke state semula
Universitas Sumatera Utara
12 Penelitian ini menggunakan steepest ascent hill climbing karena dalam proses pencarian hasil yang optimal, setiap langkahnya mempertimbangkan hasil dari tetangga. Hal ini memungkinkan tercapainya pencarian hasil yang optimal. 2.4 Algoritma Evolusioner Algoritma evolusioner adalah algoritma pencarian heuristik yang berdasarkan ide-ide evolusi seleksi alam dan genetika. Dengan demikian mereka mewakili eksploitasi cerdas pencarian acak yang digunakan untuk memecahkan masalah optimasi. Meskipun secara acak, algoritma evolusioner tidak berarti acak sebaliknya mereka memanfaatkan informasi historis untuk mengarahkan pencarian kewilayah kinerja yang lebih baik dalam ruang pencarian. Pada setiap generasi, satu set baru perkiraan yang dibuat oleh proses pemilihan individu sesuai dengan tingkat kebugaran dalam domain masalah dan peternakan mereka bersama-sama menggunakan operator dipinjam dari genetik alam. Proses ini menyebabkan evolusi populasi individu yang lebih sesuai dengan lingkungan mereka daripada nenek moyang mereka, seperti dalam adaptasi alami. Proses dalam algoritma evolusioner ditunjukkan pada gambar 2 (Mahmudy, 2013):
Gambar 2.4 Proses-proses dalam EA
Individu-individu dalam populasi di EA mempresentasikan solusi dari masalah yang akan diselesaikan. Sebuah fungsi f itness digunakan untuk mengukur seberapa baik suatu individu. Individu terbaik di akhir generasi bisa dikodekan sebagai solusi terbaik yang bisa diperoleh. Algoritma evolusioner (EA) telah banyak dianalisis dalam masalah optimasi tujuan tunggal tetapi hanya beberapa peneliti telah menerapkan EA untuk masalah jalan terpendek multi objektif baik sebagai masalah utama ataupun sebagai sub masalah yang berkaitan dengan perencanaan rute, lalu lintas dan desain transportasi, sistem informasi dan desain jaringan komunikasi. Gen dan Lin (2004) menggunakan multiobjective hybrid genetic algorithm (GA) untuk meningkatkan Universitas Sumatera Utara
13 solusi untuk masalah desain jaringan bicruteria (menentukan jalur terpendek) dengan dua tujuan yang saling bertentangan meminimalkan biaya dan memaksimalkan aliran. Sebuah diskusi lengkap algoritma evolusioner multi objektif multiobjective evolutionary algorithms (MOEA)seperti (Deb, 2011). Ada beberapa MOEA yang diteliti, Zitzler dan Thiele, Strenght Pareto Evolutionary Algorithm (SPEA) dianggap sebagai salah satu algoritma evolusioner multi objektif yang lebih baik. Ini memiliki tiga karakteristik yang menguntungkan.
1. SPEA memiliki kebugaran strategis tugas yang sangat baik yang menyumbangkan kekuatan individu dalam hal individu yang mendominasi dan kekuatan yang dominan tersebut. 2. SPEA menggabungkan teknik estimasi kepadatan yang mendiskriminasikan individu secara efisien. 3. SPEA memiliki metode pemotongan arsip yang mencegah solusi batas dari eliminasi.
Ada beberapa tipe algoritma evolusioner yang telah dikembangkan menurut Mahmudy (2013) adalah sebagai berikut:
1. Algoritma genetik (Genetic Algorithms, GAs) Merupakan tipe EA yang paling popular dan banyak diterapkan pada masalah - masalah kompleks. Pada awalnya banyak menggunakan representasi string biner tetapi kemudian berkembang dengan menggunakan vektor bilangan integer dan pecahan (real). Pembangkitkan solusi baru banyak mengandalkan proses tukar silang (crossover). Mutasi biasanya dipakai sebagai operator tambahan untuk menjaga keragaman populasi. 2. Evolution Strategies (ES) Representasi solusi biasanya menggunakan vektor bilangan pecahan. Mutasi merupakan operator reproduksi utama. Mekanisme self-adaptation digunakan untuk mengontrol perubahan nilai parameter pencarian. 3. Genetic Programming (GP) Digunakan untuk mengoptimalkan rangkaian program komputer yang direpresentasikan dalam bentuk struktur data pohon (tree). Universitas Sumatera Utara
14 4. Evolutionary Programming (EP) Mempunyai tujuan seperti GP tetapi prinsip kerjanya seperti ES. Finite State Machines (FSM) digunakan untuk mempresentasikan program komputer.
Dalam tesis ini, penulis menggunakan algoritma genetik (Genetik Algorithm, GA), karena merupakan suatu teknik memecahkan masalah-masalah optimasi. Selain itu, berdasarkan penelitian-penelitian yang ada GA terbukti sesuai digunakan untuk menyelesaikan masalah multi objektif. Genetik Algorithm (GA) disebut juga dengan algoritma genetik atau algoritma genetika merupakan salah satu model soft computing yang sering digunakan dalam menyelesaikan permasalahan optimisasi. Soft computing adalah suatu model pendekatan untuk melakukan komputasi dengan meniru akal manusia dan memiliki kemampuan untuk menalar dan belajar pada lingkungan yang penuh dengan ketidakpastian (Muzid, 2014). Algoritma genetik diawali dengan sebuah penyelesaian dengan pembentukan populasi secara acak. Setiap individu dalam populasi disebut kromosom yang menggambarkan suatu penyelesaian. Sebuah kromosom biasanya digambarkan sebagai simbol string yang biasanya berbentuk biner, namun tidak selalu demikian (Al-Amin, 2009). Kromosom (Chromosome) tersusun atas gen-gen yang merupakan representasi nilai variabel dalam suatu fungsi yang ingin dicari solusinya dan setiap kromosom diberi sebuah nilai fitness. Solusi dari sebuah populasi diambil dan dipergunakan untuk membentuk populasi yang baru dengan crossover dan mutasi. Hasil yang diharapkan adalah populasi baru yang terbentuk akan memiliki nilai fitness yang lebih tinggi dibandingkan dengan populasi sebelumnya. Aspek penting dari GA adalah inisialisasi populasi, representasi kromosom, persilangan, mutasi, seleksi, terminasi dan fungsi evaluasi. GA telah membuktikan sebagai optimalisasi yang efektif yang dapat memberikan penyelesaian terbaik atau mendekati optimal. Siklus pengembangan GA diawali dengan pembuatan himpunan solusi baru (initialization) yang terdiri atas sejumlah string kromosom dan ditempatkan pada penampungan populasi. Kemudian dilakukan proses reproduksi dengan memilih individu-individu yang akan dikembangbiakkan. Penggunaan operator-operator genetik seperti pemindahan silang (crossover) dan mutasi (mutation) terhadap individu-individu yang terpilih dalam penampungan individu akan menghasilkan keturunan atau generasi baru. Setelah proses evaluasi untuk perbaikan popula-
Universitas Sumatera Utara
15 si, maka generasi-generasi baru ini akan menggantikan himpunan populasi asal. Siklus ini akan berlangsung berulang kali sampai tidak dihasilkan perbaikan keturunan, atau sampai kriteria optimum ditemukan (Widodo dan Mahmudy, 2010). Setiap kromosom mempunyai nilai kebugaran (fitness) yang mempunyai peluangnya untuk bertahan hidup dalam generasi berikutnya (Mahmudy dan Rahman, 2011). Setelah individu-individu dalam populasi telah terbentuk, maka langkah selanjutnya adalah menghitung nilai fitness setiap individu. Fungsi fitness sendiri bertujuan untuk mengetahui baik tidaknya solusi yang ada pada suatu individu dan setiap individu pada populasi harus memiliki nilai pembandingannya. Selanjutnya, nilai fitness digunakan untuk solusi terbaik dengan cara pengurutan nilai fitness dari individu-individu (Widodo dan Mahmudy, 2010). Ada 6 (enam) tahapan untuk menyelesaikan persoalan lintasan terpendek dengan kasus multi objektif, yaitu: 1. Initial population Sebuah jalur atau kromosom dihasilkan secara acak dalam urutan dari node sumber ke node tujuan. ID dari node sumber s ditugaskan untuk lokus pertama (indeks array) dari kromosom. ID dari node vi secara acak ditugaskan untuk lokus kedua sehingga vi memiliki set node terhubung ke sumber s. Prosedur ini terus iteratif untuk node berikutnya sampai jalan sederhana untuk wastafel simpul t dibuat. Mengingat proses untuk membuat jalan layak, masalah ukuran populasi N tetap menjadi masalah. Hal ini diketahui bahwa ukuran populasi solusi meningkat secara eksponensial dengan jumlah sasaran dalam PMLT. Ada dua pilihan umum untuk menanggapi masalah ini. Gunakan populasi besar atau mengintegrasikan prosedur ukuran untuk populasi dinamis dalam GA (Maria dan Janssens, 2007). Siklus perkembangan diawali dengan pembuatan himpunan solusi baru (initialization) secara acak yang terdiri atas sejumlah string kromosom dan ditempatkan pada penampungan populasi. Penentuan representasi kromosom yang sesuai memegang peranan penting dalam kesuksesan implementasi (Mahmudy dan Rahman, 2011). Pada penelitian ini digunakan representasi kromosom bilangan bulat. Panjang string kromosom tergantung pada banyaknya variabel bebas/keputusan (x) yang digunakan.
Universitas Sumatera Utara
16 Strategi random initialization digunakan untuk menghasilkan populasi awal P0 dan membuat arsip kosong (set eksternal) P o = ∅. Set t = 0 (Maria dan Janssens, 2007). Set Pareto-optimal eksternal diperbaharui sebagai berikut (Potti dan Chinnasamy, 2011): 1. Populasi untuk individu non-dominated dan menyalinnya kehimpunan Pareto eksternal. 2. Cari himpunan Pareto eksternal bagi individu non-dominated dan menghapus mereka semua dari himpunan. 3. Jika jumlah individu eksternal disimpan di set Pareto melebihi ukuran maksimum yang sebelumnya telah ditentukan, kurangkan dari himpunan dengan cara pengelompokan (clustering). 2. Fitness function SPEA2 pertama memberikan nilai kekuatan S(p) untuk setiap jalur p dari archive (N ) dan populasi (N ) yang merupakan jumlah solusi p mendominasi. Menunjuk pada (l). Kemudian raw fitness R(p) dari setiap jalur (p) dihitung yang dapat mengukur kekuatan dominasi dari p. Raw fitness bertindak sebagai mekanisme niching dan mendapatkan hasil yang buruk ketika sebagian jalan di M = N + N merupakan non-dominated, yaitu populasi yang membentuk solusi baru hanya dalam beberapa cluster. SPEA2 memperkenalkan estimator densitas (density estomator), mekanisme fitness sharing untuk menghindari penyimpanan genetik. Kepadatan estimator didefinisikan sebagai kebalikan dari jarak individu dalam ruang tujuan untuk tetangga terdekat k −th. Nilai density kemudian ditambahkan ke nilai raw fitness untuk memberikan fungsi f itness akhir. Ide dasar pendekatan ini adalah untuk menemukan satu set solusi dalam populasi yang non-dominated oleh seluruh populasi. Prosedur fitness assignment terdiri dari dua tahap proses. Pertama, individu dalam himpunan non-dominated eksternal P ∗ dirangking. Setelah itu, individu-individu dalam populasi P dievaluasi. Langkah fitness assignment sebagai berikut: Langkah 1: Setiap solusi i P ∗ ditandai dengan nilai real Si [0, 1), disebut strenght. Dengan n adalah jumlah individu populasi P yang dilingkupi i dan N merupakan ukuran acak populasi yang diciptakan:
Universitas Sumatera Utara
17
ni N +1
(2.2)
fi = Si [0, 1)
(2.3)
si =
Langkah 2: F itness dari suatu individu j P dikalkulasikan sebagai jumlah strength dari semua non-dominated eksternal i P ∗ yang melingkupi j.
fj = 1 +
X
{S(i)}
(2.4)
iP ∧i≺j
Fitness score suatu individu tidak hanya ditentukan oleh individu-individu yang terdapat pada archive melainkan penentuan fitness score juga memperhitungkan jumlah individu lain yang didominasi dan mendominasi individu tersebut. Setiap individu i didalam archive At dan populasi Pt diberikan nilai strenght S(i), yang mempresentasikan jumlah solusi yang mendominasinya (Maria dan Janssens, 2007).
S(i) = |{j|jPt + P t ∧ i ≺ j}|
(2.5)
Berdasarkan nilai S(i), raw f itness R(i) dari individu i dihitung dengan
Raw fitnessR(i) =
X
{S(j)}
(2.6)
jPt +P t ,j≺i
Untuk membedakan nilai f itness individu yang tidak saling mendominasi digunakan nilai density D(i) yang merupakan perbedaan nilai fungsi objektif (σik ) suatu individu terhadap individu lainnya (Maria dan Janssens, 2007).
D(i) =
p 1 ; k = N +N σik + 2
(2.7)
Dalam penyebutan nilai fungsi objektif ditambahkan 2 untuk memastikan bahwa nilainya lebih besar dari 0 dan D(i) < 1. Sehingga dapat dihitung nilai finess score untuk setiap individu (Maria dan Janssens, 2007).
F (i) = R(i) + D(i)
(2.8) Universitas Sumatera Utara
18 3. Selection Seleksi memainkan peran penting dalam meningkatkan kualitas rata-rata populasi dengan melewati kromosom berkualitas tinggi untuk generasi berikutnya (Chitra dan Subbaraj, 2010). Seleksi adalah operator yang memilih beberapa pasang kromosom, yang disebut Parents yang akan digunakan oleh operator crossover. P arents dipilih sesuai dengan nilai f itnessnya masing-masing. Semakin baik kromosom, maka semakin banyak kesempatan mereka miliki untuk dipilih (Boussedrja, et al., 2010). Dengan demikian, salin semua individu yang tidak dimoninasi di Pt dan P t ke P t+1 . Jika ukuran P t+1 melebihi N kemudian kurang dari P t+1 atas pertolongan transaksi operator, sebaliknya jika ukuran P t+1 kurang dari N kemudian memenuhi P t+1 dengan individu mendominasi di Pt dan P t (Maria dan Janssens, 2007). Proses seleksi dimaksudkan sebagai proses pemilihan beberapa pasang kromosom sebagai objek yang nantinya akan disilangkan. Dalam proses seleksi, populasi dan himpunan eksternal akan dikombinasikan dan setiap dua individu secara acak akan dipilih. Proses menyeleksi ini memegang peranan penting dalam menentukan kualitas rata-rata dari populasi dengan melewati/melampaui kualitas terbaik kromosom ke generasi berikutnya. Kromosom yang terbaik memiliki kesempatan lebih besar dari yang lainnya untuk terpilih karena seleksi yang paling proporsional diasosiasi dengan setiap kromosom dengan nilai fitness assignment yang terbaik. SPEA2 menawarkan dua prosedur seleksi yaitu seleksi lingkungan dan kawin. Pemilihan lingkungan dengan memilih individu yang harus pindah ke generasi archive berikutnya P t+1 dari archive saat ini P t (Maria dan Janssens, 2007). 4. Recombination Metode crossover digunakan oleh algoritma evolusioner untuk individu pasangan dari populasi untuk membentuk keturunan baru (Boussedjra et al., 2010). Skema crossover merupakan adaptasi dari satu titik crossover. Untuk pasangan jalur lokus dipilih secara acak dari salah satu kromosom (jalur terpendek dalam hal jumlah node) dan simpul ID dari lokus yang cocok dengan gen dalam kromosom lainnya. Selanjutnya dilalukan perkawinan agar menghasilkan generasi baru. Dua kromosom dapat menyeberang jika mereka memiliki setidaknya satu pasang gen yang sama (node) kecuali untuk node awal (sumber) dan node tujuan. Jika Universitas Sumatera Utara
19 ada lagi pasangan gen umum, satu pasang yang dipilih secara acak dan lokus setiap node menjadi ditus persimpangan dari setiap kromosom. 5. Mutation Proses mutasi adalah suatu proses kemungkinan memodifikasi informasi gengen pada suatu kromosom. Perubahan ini dapat membuat solusi duplikasi menjadi memiliki nilai f itness yang lebih rendah maupun lebih tinggi daripada solusi induknya. Tujuan dari mutasi adalah untuk menciptakan keragaman dalam populasi. Populasi mengalami mutasi oleh perubahan aktual atau membalik dari salah satu gen dari kromosom calon, sehingga menjaga diri dari optimal lokal (Potti dan Chinnasamy, 2011). Operator mutasi mengubah gen dengan probabilitan yang diberikan. Ini bermaksud untuk mencegah jatuhnya semua solusi dalam populasi ke lokal optimum dari penyelesaian masalah. Ini menciptakan kromosom baru yang merupakan solusi potensial (Boussedjra et al., 2010). Dalam melakukan mutasi, sebuah node yang disebut titik mutasi, dipilih secara acak dari lintasan yang dipilih. Kemudian, mulai dari node menggunakan pencarian pertama kedalam untuk menemukan node-node berikutnya sampai node terakhir ditemukan. Hal ini menunjukkan bahwa pengulangan dapat diproduksi dalam proses mutasi.
Universitas Sumatera Utara