Pengembangan Algoritma Hill Climbing untuk Persoalan Lintasan Terpendek Multi Objektif

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
Simple Hill Climbing
Kelebihan

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)

iǫP ∧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|jǫPt + 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)

jǫPt +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