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