ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN LOCAL SEARCH (PSO-LS) SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY LOCATION PROBLEM (UFLP) Repository - UNAIR REPOSITORY
ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN LOCAL SEARCH (PSO-LS) SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY
(UFLP) SKRIPSI
UMI LAILATUL MUYASSAROH PROGRAM STUDI S-1 MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS AIRLANGGA SURABAYA 2012
ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN LOCAL SEARCH (PSO-LS) SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY
ii
(UFLP) SKRIPSI Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Sains Bidang Matematika pada Fakultas Sains dan Teknologi Universitas Airlangga Disetujui oleh : Pembimbing I Dr. Herry Suprajitno, M.Si NIP.19680404 199403 1 020 Pembimbing II Dr. Miswanto, M.Si NIP. 19680204 199303 1 002
LEMBAR PENGESAHAN NASKAH SKRIPSI Judul : Algoritma Particle Swarm Optimization dengan Local Search
(PSO-LS) sebagai Metode Penyelesaian Uncapacitated Facility Location Problem
(UFLP) Penyusun : Umi Lailatul Muyassaroh NIM : 080810132 Tanggal Ujian : 27 Agustus 2012 Disetujui Oleh : Pembimbing I Pembimbing II Dr. Herry Suprajitno Dr. Miswanto, M.Si NIP. 19680404 199403 1 020 NIP. 19680204 199303 1 002 Mengetahui : Ketua Program Studi S-1 Matematika Departemen Matematika Fakultas Sains dan Teknologi Universitas Airlangga Dr. Miswanto, M.Si NIP. 19680204 199303 1 002
iii
PEDOMAN PENGGUNAAN SKRIPSI
Skripsi ini tidak dipublikasikan, namun tersedia di perpustakaan dalam lingkungan Universitas Airlangga. Diperkenankan untuk dipakai sebagai referensi kepustakaan, tetapi pengutipan seizin penulis dan harus menyebutkan sumbernya sesuai kebiasaan ilmiah. Dokumen skripsi ini merupakan hak milik Universitas Airlangga.
iv
KATA PENGANTAR
Alhamdulillah segala puji bagi Allah Swt. Tuhan semesta alam yang telah menganugerahkan rahmat, taufik dan hidayah-Nya serta memberikan manusia akal yang berbeda dari makhluk yang lainnya, sehingga penulis dapat menyelesaikan skripsi dengan judul ”Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS) sebagai Metode Penyelesaian Uncapacitated
Facility Location Problem (UFLP)”. Shalawat dan salam semoga tetap terlimpah
kepada Nabi Muhammad SAW., beserta keluarganya, sahabat dan para pengikutnya.
Kesuksesan penulisan skripsi ini tak luput dari bantuan beberapa pihak, untuk itu samudera terimakasih penulis ucapkan kepada :
1. Abah HM. Hasan Luthfi dan Umi Siti Muslichah tersayang serta kakak-kakak penulis (Mas Ahmad Nurhuda, Mbak Siti Kholishoh, Mas Ahmad Mujiburrohman, Mas Abdul Hamid Hasan, Mas Ahmad Ikhsan Fatoni serta Mas Fuad Hasyim) dan seluruh keluarga yang tak henti-hentinya mendoakan dan telah memberikan dukungan, kasih-sayang, kepercayaan, dan pengorbanan yang tiada terkira besarnya. Terima kasih telah menjadi bagian terpenting bagi hidup penulis.
2. Kementerian Agama RI, khususnya Direktorat Pendidikan Diniyah dan
Pondok Pesantren RI, Pak Roni, Pak Ruchman, Pak Imam, Pak Fuad, Bu lilik, Bu Nyoman, serta pihak-pihak lain sebagai wakil KEMENAG yang telah v memberikan dukungan, baik material maupun non-material sehingga penulis dapat menyelesaikan pendidikan di Universitas Airlangga,
3. Dr. Herry Suprajitno dan Dr. Miswanto selaku dosen pembimbing I dan II yang telah memberikan banyak arahan, masukan, perhatian, semangat, rasa sabar yang begitu besar dan pengetahuan yang tidak ternilai harganya.
4. Dra. Inna Kuswandari, M.Si, selaku dosen wali selama menjadi mahasiswa FST UNAIR yang telah banyak memberikan arahan dan saran demi kesuksesan menjadi mahasiswa Matematika.
5. Sahabat-sahabat tersayang, Citra, Yusi, Meta, Ninis, Ayuk, Putu, Marisa, Rizal dan Teman-teman Matematika 2008 semua atas kekompakan dan rasa kekeluargaan yang begitu hangat.
6. Sahabat-sahabat di Griya Annisa, Ninis, Tika, Vika, Sema, Rohis, Vivin, Itsna dan semua tetangga kamar penulis yang telah banyak mengisi hari-hari penulis dengan keceriaan.
7. Serta kepada semua pihak yang tidak dapat disebutkan satu persatu, terima kasih atas segala bantuan dalam penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan dan masih jauh dari sempurna. Oleh karena itu, kritik dan saran yang membangun terus penulis harapkan agar skripsi ini dapat lebih baik lagi.
Surabaya, 02 Agustus 2012 Penyusun
Umi Lailatul Muyassaroh vi Umi Lailatul Muyassaroh, 2012, Algoritma Particle Swarm Optimization
dengan Local Search (PSO-LS) sebagai Metode Penyelesaian Uncapacitated Facility Location Problem
(UFLP), Skripsi ini dibawah bimbingan Dr. Herry
Suprajitno, M.Si dan Dr. Miswanto, M.Si. Departemen Matematika, Fakultas Sains dan Teknologi, Universitas Airlangga, Surabaya.
ABSTRAK
Uncapacitated facility location problem didefinisikan sebagai suatu permasalahan
untuk menemukan lokasi yang optimal dalam membangun fasilitas yang akan melayani sejumlah customer dengan asumsi bahwa fasilitas yang dibangun tidak mempunyai batasan jumlah customer. Skripsi ini membahas tentang
Uncapacitated Facility Location Problem (UFLP) yang diselesaikan dengan
menggunakan Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS). Algoritma PSO-LS merupakan kombinasi dari Algoritma Particle
Swarm Optimization dan Algoritma Local Search. Kombinasi kedua algoritma
optimasi ini diharapkan dapat mengoptimalkan pencarian solusi UFLP. Proses algoritma ini dimulai dengan pembangkitan posisi dan kecepatan partikel awal, menentukan vektor open facility, kemudian dilakukan evaluasi sehingga didapatkan nilai fitness. Selanjutnya ditentukan personal best pada tiap partikel dan global best untuk keseluruhan swarm. Pada saat iterasi Algoritma, dilakukan
update kecepatan dan posisi partikel, kemudian dilakukan proses evaluasi dan
ditentukan personal best dan global best yang baru. Solusi UFLP dengan Algoritma PSO (global best) adalah solusi awal bagi Algoritma Local Search. Solusi awal ini kemudian dimodifikasi sehingga terbentuk solusi baru. Selanjutnya dilakukan operasi flip pada solusi baru. Proses pengambilan kesimpulan solusi dilakukan pada akhir iterasi PSO-LS, yaitu dengan mengambil nilai fungsi tujuan yang paling minimum. Data yang digunakan adalah data 10 lokasi dengan 15 customer dan data 50 lokasi dengan 50 customer serta diselesaikan dengan bahasa pemrograman Java Netbeans IDE 7.1.2 dengan fungsi tujuan (biaya) minimum untuk data 10 lokasi dengan 15 customer adalah sebesar 149.690,4750 satuan. Sedangkan untuk data 50 lokasi dengan 50 customer diperoleh biaya sebesar 793.439,5625 satuan.
Kata Kunci: Algoritma Particle Swarm Optimization (PSO), Algoritma Local Search (LS), Masalah Lokasi, Uncapacitated Facility Location Problem. vii
Umi Lailatul Muyassaroh, 2012, Particle Swarm Optimization with Local
Search Algorithm for Solving Uncapacitated Facility Location Problem , This skripsi is suprvised by Dr. Herry Suprajitno, M.Si and Dr. Miswanto, M.Si.
Mathematics Department, Faculty of Science and Technology, Airlangga University, Surabaya.
ABSTRACT Uncapacitated facility location problem is defined as a problem to find the optimal location to build a facility that will serve the customer with the assumption that the built facility does not have a limited number to serve the customers. This skripsi discuss about uncapacitated facility location problem using the particle swarm optimization with local search algorithm (PSO-LS). PSO-LS algorithm is combination of particle swarm optimization and local search algorithms. The couple of optimization algorithm expected to optimize searching process for UFLP solutions. The process of algorithm is started by generating the initial positions and velocities of particles, determined the open facilities, and did the evaluation process to obtain the objective function value (fitness value). After obtained fitness value of each particle, the next step was determined the personal best and global best. Iteration of algorithm began by updating the particle velocity and position, and then made evaluation process and setting a new personal best and global best. Global best was the initial solution for local search algorithm. The initial solution modified to form new solution. Then flip operation conducted on this new solution. The conclusions made at the end of PSO-LS iteration by taking the minimum value of objective function. The used data is the data of 10 locations with 15 customer and 50 locations with 50 customers that solved by the programming language Java Netbeans IDE 7.1.2. The objective function (cost) for the first data (10 locations with 15 customers) was 149.690,4750 unit, while the second data (50 locations with 50 customer) acquired a fee of 793.439,5625 unit.
Keywords: Particle Swarm Optimization Algorithm (PSO), Local Search
Algorithm (LS), Location Problem, Uncapacitated Facility Location Problem (UFLP).
viii
DAFTAR ISI
Halaman LEMBAR JUDUL ......................................................................................... i LEMBAR PERNYATAAN ........................................................................... ii LEMBAR PENGESAHAN SKRIPSI............................................................ iii PEDOMAN PENGGUNAAN SKRIPSI ....................................................... iv KATA PENGANTAR ................................................................................... vi ABSTRAK ..................................................................................................... vii
ABSTRACT ..................................................................................................... viii
DAFTAR ISI .................................................................................................. ix DAFTAR TABEL .......................................................................................... xii DAFTAR LAMPIRAN .................................................................................. xiii
BAB I PENDAHULUAN I.1. Latar Belakang Masalah ...................................................... 1 I.2. Rumusan Masalah ............................................................... 3 I.3. Tujuan ................................................................................. 3 I.4. Manfaat ............................................................................... 4 I.5. Batasan Masalah................................................................... 4 BAB II TINJAUAN PUSTAKA II.1 Masalah Lokasi .................................................................... 5 II.2 Pengkodean .......................................................................... 6 II.3 Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS)
2.3.1. Algoritma ................................................................. 7
2.3.2. Algoritma Particle Swarm Optimization .................. 7
2.3.3. Fungsi Fitness ........................................................... 11
2.3.4. Algoritma Local Search (LS) ................................... 12
2.3.5. Algoritma Particle Swarm Optimization dengan
Local Search (PSO-LS) ............................................ 14
ix
II.4 Java ....................................................................................... 16
BAB III METODE PENULISAN ................................................................ 20 BAB IV PEMBAHASAN IV.1 Masalah Lokasi .................................................................... 22 IV.2 Particle Swarm Optimization ............................................... 24 IV.3 Local Search......................................................................... 25 IV.4 Particle Swarm Optimization dengan Local Search ............ 26 IV.4.1. Pengisian Parameter .............................................. 27 IV.4.2. Generate vektor posisi .......................................... 28 IV.4.3. Generate vektor kecepatan ................................... 28 IV.4.4. Mendapatkan vektor open facility ......................... 29 IV.4.5. Evaluasi ................................................................. 29 IV.4.6. Penentuan personal best (P).................................. 29 IV.4.7. Penentuan global best .......................................... 30 IV.4.8. Update vektor kecepatan....................................... 31 IV.4.9. Update vektor posisi ............................................. 31 ) .................................. 32
IV.4.10. Modifikasi solusi awal (
IV.4.11. Mengaplikasikan operator flip ke s dan ................................................. 33 mendapatkan
IV.5 Program ................................................................................ 33
IV.6 Data ...................................................................................... 34
IV.7 Contoh Uncapacitated Facility Location Problem (UFLP) dengan Menggunakan 10 Lokasi dan 15 Customer yang Diselesaikan Secara Manual ................................................ 34
IV.8 Implementasi Program pada contoh Kasus Uncapacitated
Facility Location Problem ................................................... 32
IV.8.1. Menggunakan Data pada Lampiran 1 ...................... 45
IV.8.2. Menggunakan Data pada Lampiran 2 ...................... 45
IV.8.3. Perbandingan Hasil Perhitungan dengan Parameter Berbeda pada Algoritma PSO-LS Menggunakan Data pada Lampiran 1 .............................................. 45 x
IV.8.4. Perbandingan Hasil Perhitungan dengan Parameter Berbeda pada Algoritma PSO-LS Menggunakan Data pada Lampiran 2 .............................................. 47
BAB V KESIMPULAN DAN SARAN V.1 Kesimpulan ......................................................................... 49 V.2 Saran ..................................................................................... 50 DAFTAR PUSTAKA ..................................................................................... 51 LAMPIRAN xi
xii
39
4.15 Hasil Perbandingan perhitungan nilai fungsi tujuan (Z) pada Data Lampiran 2
46
4.14 Hasil Perbandingan perhitungan nilai fungsi tujuan (Z) pada Data Lampiran 1
44
4.13 Biaya pembangunan fasilitas pada lokasi pembangunan
41
4.12 Personal Best setelah di-update
40
4.11 Nilai fungsi tujuan setelah di-update
40
4.10 Vektor open facility setelah di-update
39
4.9 Vektor posisi setelah di-update
4.8 Vektor kecepatan setelah di-update
DAFTAR TABEL Nomor Judul Tabel Halaman
38
4.7 Personal Best
37
4.6 Nilai Fungsi Tujuan (Z)
37
4.5 Vektor open facility
36
4.4 Vektor Kecepatan
35
4.3 Vektor Posisi
23
4.2 Tabel Biaya Untuk Melayani Customer
23
4.1 Tabel Biaya Untuk Membangun Fasilitas
48
DAFTAR LAMPIRAN Nomor Judul Lampiran
1 Data 10 Lokasi dengan 15 Customer
2 Data 50 Lokasi dengan 50 Customer
3 Source Code Program Algoritma Particle Swarm Optimization dengan Local Search Untuk Uncapacitated Facility Location
Problem
4 Output Program untuk Data Lampiran 1
5 Hasil Terbaik PSO-LS Menggunakan Data Lampiran 2
6 Antarmuka Program
7 Hasil Optimal untuk Data 50 Lokasi dengan 50 Customer xiii
BAB I PENDAHULUAN I.1. Latar Belakang Kemajuan teknologi di berbagai bidang memicu pertumbuhan industri
yang semakin cepat dan lahirnya berbagai industri baru. Hal ini tentu berdampak pada persaingan perusahaan yang ketat. Untuk itu diperlukan strategi yang tepat sebagai solusi cerdas untuk masalah persaingan industri tadi. Salah satu permasalahan penting dalam dunia industri antara lain adalah penempatan suatu fasilitas pada suatu lokasi.
Secara umum, permasalahan penempatan suatu fasilitas pada suatu lokasi (facility location problem) dapat didefinisikan sebagai penempatan beberapa fasilitas pada beberapa lokasi yang mungkin sehingga seluruh customer dapat dilayani dengan biaya seminimal mungkin.
Masalah penempatan fasilitas dalam suatu lokasi dapat diklasifikasikan menjadi dua berdasarkan batasan masalah yang digunakan, yaitu pengalokasian dengan jumlah customer yang terbatas (capacitated), dan pengalokasian dengan jumlah customer yang tidak terbatas (uncapacitated). Pada uncapacitated facility
location problem berlaku asumsi bahwa fasilitas yang dibangun dapat melayani customer dalam jumlah yang tak terbatas, sedangkan pada capacitated facility location problem diasumsikan bahwa jumlah customer yang dilayani oleh fasilitas jumlahnya terbatas.
Pada skripsi ini akan dibahas penyelesaian Uncapacitated Facility
Location Problem (UFLP). Beberapa contoh masalah pengalokasian fasilitas yang
2 dimodelkan sebagai UFLP antara lain: masalah lokasi Bank, desain jaringan (network design), pendistribusian data serta jaringan komunikasi dan desain jaringan komputer.
Metode yang digunakan untuk menyelesaikan UFLP ada dua, yaitu metode analitik dan metode numerik. Metode analitik dinilai kurang efisien untuk mencari solusi optimum, terutama dikarenakan UFLP terdiri dari beberapa kombinasi permasalahan sehingga semakin besar masalahnya, maka semakin sulit pula mencari solusi optimumnya, disamping dibutuhkan waktu yang lama untuk menyelesaikannya. Oleh karena itu, metode yang banyak digunakan adalah metode numerik. Adapun metode numerik yang digunakan adalah metode metaheuristik menggunakan algoritma tertentu. Beberapa metode metaheuristik yang pernah dicoba untuk menyelesaikan UFLP antara lain: Tabu search, Algoritma Genetik, Neighborhood Search, Simmulated Annealing dan Particle Swarm Optimization.
Particle Swarm Optimization (PSO) adalah salah satu teknik pencarian
metaheuristik yang dikenalkan pertama kali pada tahun 1995 oleh Russell Eberhart dan James Kennedy berdasarkan pada perilaku interaksi sosial dan komunikasi pada segerombolan binatang, diantaranya sekawanan burung yang terbang di angkasa dan sekelompok ikan. Solusi-solusi potensial, yang disebut dengan partikel, bergerak mengelilingi sebuah ruang pencarian dengan suatu kecepatan, yang diperbaharui secara konstan oleh pengalaman partikel itu sendiri dan pengalaman dari anggota swarm yang lain atau pengalaman dari keseluruhan
swarm. Tiga vektor kunci partikel solusi UFLP dalam PSO adalah vektor posisi
pertama kali ( ), vektor kecepatan ( ) dan vektor open facility ( ). dan
3
adalah vektor posisi yang dipetakan
dibangkitkan secara random, sedangkan kepada himpunan variabel biner (0 dan 1).
Algoritma untuk menyelesaikan UFLP dalam skripsi ini adalah Algoritma
Particle Swarm Optimization dengan Local Search (PSO-LS), yaitu algoritma
PSO yang dikombinasikan dengan algoritma Local Search (LS). Penambahan algoritma LS untuk algoritma PSO dimaksudkan agar tidak kehilangan solusi optimum dari algoritma PSO serta memperluas kandidat solusi. Dari algoritma PSO-LS ini akan dibuat programnya dan diimplementasikan pada contoh kasus.
I.2. Rumusan Masalah
Rumusan masalah yang dibahas dalam skripsi ini ada 3, yaitu:
1. Bagaimana menggunakan Algoritma Particle Swarm Optimization dengan
Local Search (PSO-LS) untuk menyelesaikan Uncapacitated Facility Location Problem (UFLP)?
2. Bagaimana membuat program dari Algoritma Particle Swarm
Optimization dengan Local Search (PSO-LS) untuk menyelesaikan
Uncapacitated Facility Location Problem (UFLP) tersebut?
3. Bagaimana mengimplementasikan program tersebut pada contoh kasus?
I.3. Tujuan
Tujuan penulisan skripsi ini adalah:
1. Untuk mengetahui penggunaan Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS) dalam menyelesaikan Uncapacitated
Facility Location Problem (UFLP).
4
2. Membuat program dari Algoritma Particle Swarm Optimization dengan
Local Search (PSO-LS) pada Uncapacitated Facility Location Problem (UFLP).
3. Mengimplementasikan program untuk contoh kasus.
I.4. Manfaat
Manfaat penulisan skripsi ini antara lain:
1. Menambah wawasan keilmuan mahasiswa khususnya tentang cara menyelesaikan Uncapacitated Facility Location Problem (UFLP) dengan menggunakan Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS).
2. Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS) dan program dapat digunakan oleh perusahaan dan industri untuk menyelesaikan masalah yang relevan dengan Uncapacitated Facility
Location Problem (UFLP), seperti desain jaringan dan penempatan lokasi Bank atau ATM.
3. Informasi yang didapat dari skripsi ini dapat dilanjutkan untuk bahan penelitian skripsi selanjutnya dengan berbagai modifikasi.
I.5. Batasan Masalah
Batasan masalah dalam skripsi ini yaitu pada saat proses inisialisasi, posisi ( ) dibangkitkan secara random pada interval [-10,10], sedangkan kecepatan ( ) dibangkitkan secara random pada interval [-4,4].
BAB II TINJAUAN PUSTAKA Pada bab ini diberikan beberapa definisi yang akan digunakan pada
pembahasan Algoritma Particle Swarm Optimization dengan Local Search (PSO- LS) sebagai metode penyelesaian Uncapacitated Facility Location Problem (UFLP).
II.1. Masalah Lokasi
Dalam bentuk sederhana, masalah lokasi adalah bagaimana menemukan lokasi optimal untuk membangun fasilitas dimana fasilitas tersebut melayani sejumlah m customer; selain itu terdapat sekumpulan n lokasi dimana akan dibangun fasilitas dan untuk membangun sebuah fasilitas pada lokasi i dibutuhkan
, customer j dilayani fasilitas i sedemikian hingga terdapat biaya c ij . biaya Variabel keputusan untuk membangun atau tidak membangun fasilitas i
. Sedangkan variabel keputusan bagi masing-masing dinotasikan dengan . fasilitas i untuk melayani atau tidak melayani customer j dinotasikan dengan Jika diasumsikan bahwa fasilitas yang dibangun tidak mempunyai batasan jumlah dalam melayani customer, maka masalah ini disebut Uncapacitated Facility
Location Problem (UFLP). Model matematika dari fungsi tujuan ( ) dirumuskan pada persamaan (2.1) dengan kendala persamaan (2.2) dan persamaan (2.3).
(∑ ∑ ∑ )
5
6 ∑ Keterangan:
{ } {
{ { } { }
(Sevkli dan Guner 2006 )
Pada model di atas, persamaan (2.1) menunjukkan biaya total untuk mendirikan fasilitas dan memenuhi permintaan dari costumer. Kendala persamaan (2.2) digunakan untuk memastikan bahwa permintaan dari tiap
costumer hanya dilayani oleh satu fasilitas. Kendala persamaan (2.3) untuk
memastikan costumer j hanya bisa dilayani oleh fasilitas i jika fasilitas tersebut dibangun pada lokasi i dan menunjukkan bahwa variabel keputusan adalah variabel biner 0 dan 1.
7
II.2. Pengkodean
Menurut Obitko (1998), pengkodean merupakan suatu cara untuk menyajikan suatu solusi dalam ruang pencarian. Ada beberapa cara untuk mengkode suatu kromosom (dalam skripsi ini merupakan partikel), diantaranya:
1. Pengkodean Biner Dalam pengkodean biner, partikel adalah bit 0 atau 1.
2. Pengkodean nilai Dalam pengkodean nilai, setiap partikel adalah untaian bilangan yang membentuk sebuah nilai.
3. Pengkodean Permutasi Dalam pengkodean permutasi, setiap partikel adalah untaian bilangan, yang menggambarkan bilangan dalam suatu barisan.
4. Pengkodean Random Keys (Nomor Acak) Dalam pengkodean Random Keys, setiap partikel adalah untaian bilangan random pada interval [ ].
II.3. Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS)
Beberapa istilah yang digunakan dalam sub-bab ini antara lain:
II.3.1. Algoritma
Menurut Chartrand dan Oellermann (1993), Algoritma merupakan suatu himpunan langkah-langkah atau instruksi yang telah dirumuskan dengan baik
8 (well-defined) untuk memperoleh suatu keluaran khusus (specific output) dari suatu masukan khusus (specific input) dalam langkah yang jumlahnya berhingga.
II.3.2. Fungsi Fitness
Menurut Zomaya (1996), fungsi Fitness adalah fungsi yang menunjukkan keandalan suatu individu untuk bertahan dalam populasi. Fungsi fitness pada skripsi ini dihitung berdasarkan nilai dari fungsi tujuan itu sendiri.
II.3.3. Algoritma Particle Swarm Optimization
Algoritma Particle Swarm Optimization (PSO) diperkenalkan oleh James Kennedy dan Russell Eberhart pada tahun 1995. Proses algoritmanya diinspirasi oleh perilaku sosial dari binatang, seperti sekawanan burung dan sekelompok ikan dalam suatu gerombolan (swarm).
(Sevkli dan Guner, 2006) Particle Swarm Optimization (PSO) merupakan salah satu teknik komputasi evolusioner yang mempunyai kesamaan dengan Genetic Algorithm, yaitu dimulai
dengan membangkitkan populasi secara random. Namun PSO tidak memiliki operator evolusi, yaitu crossover dan mutasi. Hal lain yang berbeda dengan
Genetic Algorithm atau teknik komputasi evolusioner lainnya adalah setiap
partikel di dalam PSO juga berhubungan dengan suatu kecepatan. Partikel-partikel tersebut bergerak melalui penelusuran ruang dengan kecepatan yang dinamis berdasarkan perilaku historisnya. Oleh karena itu, partikel-partikel mempunyai kecenderungan untuk bergerak ke ruang penelusuran yang lebih baik setelah melewati proses penelusuran sebelumnya.
9 Kesederhanaan algoritma dan performansinya yang baik, menjadikan PSO telah menarik banyak perhatian di kalangan para peneliti dan telah diaplikasikan dalam berbagai persoalan optimisasi. PSO telah populer menjadi teknik optimasi global dengan sebagian besar permasalahan dapat diselesaikan dengan baik.
Beberapa istilah yang digunakan dalam Particle Swarm Optimization dapat didefinisikan sebagai berikut:
1. Swarm adalah populasi atau kumpulan partikel.
2. Partikel adalah anggota pada suatu swarm. Setiap partikel merepresentasikan suatu solusi yang potensial pada permasalahan yang diselesaikan. Posisi dari suatu partikel merupakan representasi solusi saat itu. Jumlah partikel menunjukkan ukuran swarm dan dinotasikan sebagai sw_size.
3. Personal best adalah posisi terbaik pada tiap partikel dalam tiap iterasi yang dipersiapkan untuk mendapatkan suatu solusi optimal.
4. Global best adalah posisi terbaik partikel pada swarm. Global best juga bisa didapatkan dengan mengambil posisi terbaik dari Personal best.
5. Vektor kecepatan (Velocity) adalah vektor yang menggerakkan proses
optimisasi yang menentukan arah dimana suatu partikel diperlukan untuk berpindah untuk memperbaiki posisinya semula.
Inertia weight (w) adalah parameter yang digunakan untuk mengontrol 6.
dampak dari adanya velocity yang diberikan oleh suatu partikel. Menurut Sevkli dan Guner (2006), algoritma Particle Swarm Optimization
(PSO) untuk menyelesaikan Uncapacitated Facility Location Problem (UFLP) adalah sebagai berikut:
10
1. Inisialisasi Posisi ( ) dan Kecepatan ( ) Posisi ( ) adalah salah satu kunci utama penyelesaian UFLP. adalah himpunan dari vektor-vektor posisi pada suatu swarm dan dinotasikan dengan
{ }. Vektor posisi pada partikel ke-i didefinisikan sebagai [ ] ], dengan i adalah jumlah partikel dalam suatu swarm
[ (sw_size), { }, dan n adalah jumlah lokasi pada UFLP.
Kunci kedua untuk penyelesaian UFLP adalah yaitu himpunan dari vektor-vektor kecepatan dalam suatu swarm dan dinotasikan sebagai { }. Vektor kecepatan pada partikel ke-i didefinisikan sebagai [ ]
], dengan i adalah jumlah partikel dalam suatu swarm [ (sw_size), { } dan n adalah jumlah lokasi pada UFLP.
2. Cari Open Facility ( ) Posisi ( ) tidak mengarah langsung sebagai kandidat solusi untuk menghitung total biaya ( ), tetapi dibawa ke himpunan biner, yaitu open
facility ( ). Dapat dikatakan bahwa Open Facility merupakan kunci terakhir
} untuk penyelesaian UFLP. Open Facility yang dinotasikan sebagai { merupakan himpunan dari vektor Open Facility pada suatu swarm. Vektor
],
Open Facility pada partikel ke-i didefinisikan sebagai [
dengan i adalah jumlah partikel dalam suatu swarm (sw_size) dan n adalah banyaknya kandidat lokasi yang akan dibangun fasilitas. Nilai dari komponen vektor Open Facility dihitung dari persamaan (2.4) sebagai berikut:
⌊ ⌋
11 menggambarkan variabel keputusan untuk membuka atau dengan: menutup fasilitas ke-k dari partikel ke-i, ⌊ ⌋ merupakan sisa hasil
⌋ adalah bilangan bulat terbesar yang kurang dari atau bagi ⌊ ⌋ dengan 2, ⌊ adalah nilai posisi dari partikel ke-i yang sama dengan , sedangkan bersesuaian dengan dimensi ke-k.Dimensi menunjukkan banyaknya fasilitas yang akan dibangun ( { }) dan n adalah jumlah lokasi yang akan dibangun fasilitas.
)
3. Evaluasi nilai fitness ( Nilai fitness adalah keandalan partikel untuk bertahan dalam suatu populasi (swarm). Nilai fitness partikel ke-i yang dinotasikan dengan didapatkan dengan menghitung nilai fungsi tujuan (Z) sebagaimana persamaan . Semakin kecil nilai fitness berbanding lurus dengan semakin andal partikel untuk bertahan dalam suatu swarm.
4. Tentukan Personal best (P) dan Global best (G) } adalah himpunan dari vektor-
Personal best yang dinotasikan {
vektor posisi terbaik untuk partikel ke-i pada iterasi tertentu, dan nilai posisi dari Pbest ke-i yang [ ] [ ], dengan berkaitan dengan dimensi ke-k. Nilai Personal best masing-masing partikel pada setiap iterasi t diperbarui jika didapatkan nilai fitness yang lebih baik.
. Nilai fitness dari Personal best partikel ke-i dinotasikan dengan
Personal best awal adalah nilai dari vektor posisi ( ), sehingga nilai . fitness Personal best ke-i sama dengan nilai fitness dari posisi ke-i,
Nilai fitness Personal best pada iterasi ke-t adalah nilai fitness terkecil dari
12 masing-masing partikel untuk iterasi awal (iterasi ke-1) hingga iterasi ke-t dan dinotasikan sebagai { } Dengan { } { } sw_size adalah banyaknya partikel dalam swarm, n adalah jumlah lokasi yang akan dibangun fasilitas, { }, dan max_iter adalah iterasi maksimum untuk Algoritma PSO.
Kemudian, salah satu Personal best dengan nilai fitness terbaik pada keseluruhan swarm pada iterasi tertentu dinamakan Global best dan ]. Nilai fitness Global best, dinotasikan dinotasikan dengan [
, sebagai { }, yang berkaitan dengan vektor posisi Global best, ] sehingga . Dengan kata lain, [ dan [ ] dinotasikan sebagai vektor Open Facility dimana Global Best didapatkan.
5. Update Kecepatan ( ) dan Lokasi ( )
Kecepatan diperbaharui pada tiap iterasi untuk menggerakkan posisi adalah komponen semula menuju posisi yang lebih baik. Misalkan vektor kecepatan ke-i ( ) pada iterasi ke- , maka untuk memperbaharui komponen vektor kecepatan ke-i pada iterasi ke digunakan persamaan (2.5) sebagai berikut:
( ) ( ) dengan: adalah bobot inersia yang dibangkitkan secara random pada adalah parameter sosial dan kognitif yang nilainya interval [ ], dan
13 adalah 2, dan Bilangan random pada interval [ ], dan adalah banyaknya iterasi.
Setelah mendapatkan komponen-komponen vektor kecepatan baru, komponen-komponen vektor lokasi di-update berdasarkan persamaan 2.6 sebagai berikut:
6. Update vektor open facility ) di-update dengan menggunakan
Komponen vektor open facility ( persamaan .
)
7. Evaluasi nilai fitness ( Nilai fitness dievaluasi berdasarkan persamaan .
8. Jika iterasi telah maksimum, maka algoritma berhenti, jika tidak maka kembali ke langkah 4.
II.3.4. Algoritma Local Search (LS)
Materi yang dibahas pada bagian ini diambil dari artikel Sevkli dan Guner
(2006). Dalam skripsi ini, algoritma Local Search digunakan untuk mencari solusi
disekitar posisi vektor Global best. Aplikasi Local Search pada PSO ini dapat dijelaskan sebagai berikut. Global best yang didapatkan pada akhir setiap iterasi PSO kemudian diadopsi sebagai solusi awal untuk Algoritma LS. Agar tidak menghilangkan solusi optimal dan untuk memperlebar kandidat solusi di sekitar posisi Global best, maka Global Best dimodifikasi secara random dimana dua fasilitas membuka atau menutup berdasarkan parameter dan yang
14 dibangkitkan secara random. Kemudian, operator flip diaplikasikan selama ia masih menghasilkan solusi yang optimal.
Berikut ini adalah Algoritma Local Search:
1. Ambil vektor posisi Gbest ( ) sebagai ,
Solusi awal dari Algoritma Local Search dinotasikan sebagai vektor ]. dengan [
2. Modifikasi berdasarkan dan dan namakan dengan Bilangan dan adalah bilangan asli yang dibangkitkan secara
random dengan range antara 1 sampai maksimum jumlah lokasi (n). Awalnya
bilangan dan dibangkitkan, kemudian memilih dua komponen dengan yang bersesuaian dengan dua bilangan ini ( dan ) dan memodifikasinya menggunakan persamaan (2.7) sebagai berikut:
{
3. Aplikasikan operator flip ke dan dapatkan Untuk menyelesaikan UFLP, operator flip dipekerjakan sebagai sebuah struktur sekitar. Fungsi operator flip ini adalah untuk membuka atau menutup sebuah fasilitas. Awalnya sebuah bilangan random ( ) dibangkitkan untuk
], dan menentukan formulasi flip yang akan dipakai, kemudian untuk [ di-update menggunakan persamaan 2.8 sebagai
[ ], komponen berikut:
15 { dimana ρ adalah bilangan random pada interval [ ] dan { }.
4. Membandingkan nilai fitness dan . Jika , maka gantilah dengan . Jika tidak, maka ulangi hingga iterasi maksimum (max_iter).
5. Membandingkan nilai fitness dan . Jika
, maka gantilah dengan .
6. Ulangi langkah hingga iterasi maksimum.
II.3.5. Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS)
Materi yang dibahas pada bagian ini diambil dari artikel Sevkli dan Guner (2006).
Penggabungan Algoritma PSO dengan algoritma lain (salah satunya dengan Algoritma Local Search) adalah untuk menghasilkan solusi yang optimal.
Prosedur Algoritma Particle Swarm Optimization dengan Local Search (PSO- LS) sebagai metode penyelesaian UFLP adalah sebagai berikut:
1. Inisialisasi posisi ( ) dan kecepatan ( )
2. Cari open facility ( ) dengan menggunakan persamaan
3. Evaluasi nilai fitness ( ) dengan menggunakan persamaan
4. Tentukan Personal best dan Global best
5. Update kecepatan ( ) dan lokasi ( ) dengan menggunakan persamaan dan persamaan
16
6. Update open facility dengan menggunakan persamaan
7. Evaluasi nilai fitness ( ) dengan menggunakan persamaan
8. Tentukan Personal Best dan Global best baru
9. Ambil vektor posisi Gbest ( ) sebagai
10. Modifikasi berdasarkan dan menggunakan persamaan dan namakan dengan .
11. Aplikasikan operator flip ke dan dapatkan
12. Membandingkan nilai fitness dan . Jika , maka gantilah dengan . Jika tidak, maka ulangi hingga iterasi sebanyak n kali.
13. Membandingkan nilai fitness dan . Jika , maka gantilah dengan .
14. Jika iterasi telah maksimum, maka algoritma berhenti, jika tidak maka kembali ke langkah 4.
II.4. Software Berbasis Java
Java adalah bahasa pemrograman serbaguna, Java dapat digunakan untuk membuat suatu program sebagaimana bahasa Pascal atau C++. Java juga mendukung sumber daya internet yang saat ini populer, yaitu World Wide Web atau yang sering disebut Web saja. Java juga mendukung aplikasi klien/server, baik dalam jaringan lokal (LAN) maupun jaringan berskala luas (WAN). Java dikembangkan oleh Sun Microsystems pada Agustus 1991, dengan nama Oak.Program Java tidak bergantung pada platform, artinya Java dapat dijalankan pada sebarang komputer dan sistem operasi.
(Kadir, 2004)
17
II.4.1. Pemrograman Java Program Java dapat dibedakan menjadi dua jenis, yaitu applet dan aplikasi.
1. Applet adalah program yang dibuat dengan Java, dapat diletakkan pada Web server dan diakses melalui Web browser. Dalam hal ini browser yang digunakan adalah yang memiliki kemampuan Java (misalnya Netscape Navigator, Internet Explorer, dan HotJava).
2. Aplikasi adalah program yang dibuat dengan Java yang bersifat umum.
Aplikasi dapat dijalankan secara langsung, tidak perlu perangkat lunak browser untuk menjalankannya. Aplikasi ini seperti program yang ditulis dengan bahasa C atau Pascal. Setelah dikompilasi, program ini dapat dieksekusi secara langsung.
(Kadir, 2004)
Dasar Bahasa Java II.4.2.
Berikut ini adalah dasar bahasa yang digunakan dalam pemrograman java:
a. Karakter Elemen terkecil pada pemrograman Java adalah karakter yaitu berupa:
1) huruf (A sampai dengan Z, a sampai dengan z) 2) angka (0 sampai dengan 9) 3) simbol (misalnya * dan ! ) 4) kode kontrol (misalnya formfeed dan newline )
b. Kata Kunci
18 Java memiliki sejumlah kata yang bermakana khusus. Kata-kata ini digolongkan sebagai kata kunci atau kata tercadang. Kata kunci tidak dapat digunakan sebagai pengenal.
Contoh: abstract do new static break extends private switch case for public try class if return void continue import short while
c. Pengenal (identifier)
Pengenal (identifier) adalah nama yang diciptakan oleh pemrogram atau digunakan di dalam program untuk memberi nama kelas atau variabel pada program. Aturan pemberian nama pengenal adalah sebagai berikut:
1) Karakter pertama berupa huruf, tanda garis bawah ( _ ), atau tanda dolar ($) 2) Karakter kedua dan seterusnya dapat berupa sebarang huruf atau angka 3) Panjang pengenal bebas 4) Huruf kapital dan huruf kecil diperlakukan beda
d. Tipe data primitif
Java memilik 8 tipe data primitif, meliputi 4 tipe bilangan bulat, 2 tipe untuk bilangan titik mengambang, dan sisanya untuk karakter dan boolean
1) Tipe bilangan bulat: byte, short, int, dan long
19 2) Tipe bilangan titik mengambang: float dan double 3) Tipe karakter: char 4) Tipe data boolean: boolean
e. Literal Literal adalah suatu nilai yang dituliskan pada kode sumber Java. Literal pada Java dapat dibedakan menjadi:
1) literal bilangan 2) literal karakter 3) literal boolean 4) literal string
f. Variabel Variabel menyatakan suatu lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu nilai dan nilai yang ada di dalamnya bisa diubah.
Contoh: String kalimat; int i; g. Komentar
Komentar bisa dipakai dalam program dengan tujuan untuk memberikan penjelasan atau informasi kepada pembaca program.
Contoh: /* ini sebuah komentar */ // ini juga komentar
(Kadir, 2004)
BAB III METODE PENELITIAN Adapun langkah-langkah penyelesaian masalah penulisan skripsi ini adalah
sebagai berikut:
1. Mengkaji materi Uncapacitated Facility Location Problem (UFLP) dan Algoritma Particle Swarm Optimization d Local Search (PSO-LS).
2. Menerapkan proses algoritma PSO-LS dengan langkah-langkah sebagai berikut : a) Menginisialisasi posisi ( ) dan kecepatan ( )
b) Menghitung open facility ( ) )
c) Mengevaluasi nilai fitness (
d) Menentukan Personal best dan Global best awal
e) Meng-update kecepatan ( ) dan lokasi ( )
f) Meng-update vektor open facility )
g) Mengevaluasi nilai fitness (
h) Menentukan Personal best dan Global best baru ) sebagai solusi awal algoritma local i) Mengambil vektor posisi Gbest (
)
search (
j) Memodifikasi berdasarkan dan dan menamakan dengan , dengan k) Mengaplikasikan operator flip ke dan mendapatkan
- .
21 l) Membandingkan nilai fitness dan . Jika ( ) , maka
( )
. Jika tidak, maka dilakukan operasi flip untuk diganti dengan . Jika didapat nilai fitness yang lebih baik mencari solusi di sekitar dari , maka diganti dengan solusi tersebut, jika tidak, maka iterasi dilanjutkan sampai maksimum iterasi Algoritma Local Search. m) Membandingkan nilai fitness dan . Jika ( ) ( ), maka diganti dengan . n) Jika telah mencapai maksimum iterasi PSO-LS, disimpulkan bahwa . solusi dari UFLP dengan Algoritma PSO-LS adalah
3. Membuat program komputer dari algoritma Particle Swarm Optimization dengan Local Search (PSO-LS) sebagai pendekatan untuk memecahkan
Uncapacitated Facility Location Problem (UFLP).