• Tidak ada hasil yang ditemukan

ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN LOCAL SEARCH (PSO-LS) SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY LOCATION PROBLEM (UFLP) Repository - UNAIR REPOSITORY

N/A
N/A
Protected

Academic year: 2019

Membagikan "ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN LOCAL SEARCH (PSO-LS) SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY LOCATION PROBLEM (UFLP) Repository - UNAIR REPOSITORY"

Copied!
123
0
0

Teks penuh

(1)

ALGORITMA PARTICLE SWARM OPTIMIZATION DENGAN LOCAL SEARCH (PSO-LS)

SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY

LOCATION PROBLEM (UFLP)

SKRIPSI

UMI LAILATUL MUYASSAROH

PROGRAM STUDI S-1 MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS AIRLANGGA SURABAYA

(2)

ii

ALGORITMA PARTICLE SWARM OPTIMIZATION

DENGAN LOCAL SEARCH (PSO-LS)

SEBAGAI METODE PENYELESAIAN UNCAPACITATED FACILITY

LOCATION PROBLEM (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

(3)

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

Dr. Herry Suprajitno NIP. 19680404 199403 1 020

Pembimbing II

Dr. Miswanto, M.Si NIP. 19680204 199303 1 002

Mengetahui :

Ketua Program Studi S-1 Matematika Departemen Matematika

Fakultas Sains dan Teknologi Universitas Airlangga

(4)

iv

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.

(5)

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.

(6)

vi

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

(7)

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.

(8)

viii

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

(9)

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

(10)

x

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

IV.4.10. Modifikasi solusi awal ( ) ... 32

IV.4.11. Mengaplikasikan operator flip ke s dan mendapatkan ... 33

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

(11)

IV.8.4.Perbandingan Hasil Perhitungan dengan Parameter Berbeda pada Algoritma PSO-LS Menggunakan Data pada Lampiran 2 ... 47 BAB V KESIMPULAN DAN SARAN

(12)

xii

DAFTAR TABEL

Nomor Judul Tabel Halaman

4.1 Tabel Biaya Untuk Membangun Fasilitas 23

4.2 Tabel Biaya Untuk Melayani Customer 23

4.3 Vektor Posisi 35

4.4 Vektor Kecepatan 36

4.5 Vektor open facility 37

4.6 Nilai Fungsi Tujuan (Z) 37

4.7 Personal Best 38

4.8 Vektor kecepatan setelah di-update 39

4.9 Vektor posisi setelah di-update 39

4.10 Vektor open facility setelah di-update 40

4.11 Nilai fungsi tujuan setelah di-update 40

4.12 Personal Best setelah di-update 41

4.13 Biaya pembangunan fasilitas pada lokasi pembangunan 44 4.14 Hasil Perbandingan perhitungan nilai fungsi tujuan (Z) pada Data

Lampiran 1 46

4.15 Hasil Perbandingan perhitungan nilai fungsi tujuan (Z) pada Data

Lampiran 2 48

(13)

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

(14)

1

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

(15)

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.

(16)

dibangkitkan secara random, sedangkan adalah vektor posisi yang dipetakan 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).

(17)

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

(18)

5

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 biaya , customer j dilayani fasilitas i sedemikian hingga terdapat biaya cij. Variabel keputusan untuk membangun atau tidak membangun fasilitas i dinotasikan dengan . Sedangkan variabel keputusan bagi masing-masing 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).

(∑ ∑ ∑

)

(19)

Keterangan:

{ }

{

{

{ }

{ }

(Sevkli dan Guner 2006 )

(20)

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

(21)

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

(22)

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.

6.

Inertia weight (w) adalah parameter yang digunakan untuk mengontrol 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:

(23)

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:

(24)

dengan: menggambarkan variabel keputusan untuk membuka atau menutup fasilitas ke-k dari partikel ke-i, ⌊ ⌋ merupakan sisa hasil bagi ⌊ ⌋ dengan 2, ⌊ ⌋ adalah bilangan bulat terbesar yang kurang dari atau sama dengan , sedangkan adalah nilai posisi dari partikel ke-i yang 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)

Personal best yang dinotasikan { } adalah himpunan dari vektor-vektor posisi terbaik untuk partikel ke-i pada iterasi tertentu, dan [ ] [ ], dengan nilai posisi dari Pbest ke-i yang 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

(25)

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 dinotasikan dengan [ ]. Nilai fitness Global best, dinotasikan 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 semula menuju posisi yang lebih baik. Misalkan adalah komponen vektor kecepatan ke-i ( ) pada iterasi ke- , maka untuk memperbaharui komponen vektor kecepatan ke-i pada iterasi ke digunakan persamaan (2.5) sebagai berikut:

(26)

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

Komponen vektor open facility ( ) di-update dengan menggunakan 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

(27)

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

(28)

{

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

(29)

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.

(30)

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)

II.4.2.Dasar Bahasa Java

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

(31)

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

(32)

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)

(33)

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

i) Mengambil vektor posisi Gbest ( ) sebagai solusi awal algoritma local search ( )

j) Memodifikasi berdasarkan dan dan menamakan dengan

k) Mengaplikasikan operator flip ke dan mendapatkan , dengan

(34)

21

l) Membandingkan nilai fitness dan . Jika ( ) ( ), maka

diganti dengan . Jika tidak, maka dilakukan operasi flip untuk mencari solusi di sekitar . Jika didapat nilai fitness yang lebih baik 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).

4. Mengimplementasikan program pada contoh kasus.

(35)

BAB IV PEMBAHASAN

Dalam bab ini dijelaskan penggunaan Algoritma Particle Swarm Optimization dengan Local Search untuk menyelesaikan Uncapacitated Facility Location Problem .

Tujuan menyelesaikan Uncapacitated Facility Location Problem adalah meminimalkan total biaya dalam membangun fasilitas dan biaya untuk melayani semua customer.

IV.1 Masalah Lokasi

Dalam bentuk yang sederhana, masalah lokasi didefinisikan sebagai permasalahan untuk menentukan suatu lokasi guna membangun fasilitas yang melayani beberapa customer. Dalam skripsi ini, diasumsikan terdapat beberapa lokasi untuk membangun beberapa fasilitas dengan biaya tertentu dan setiap fasilitas memiliki biaya-biaya tersendiri dalam melayani customer. Dalam skripsi ini juga dibahas bahwa fasilitas yang dibangun tidak mempunyai batasan jumlah dalam melayani customer. Masalah ini dinamakan Uncapacitated Facility Location Problem.

(36)

untuk melayani customer menyajikan data biaya bagi setiap fasilitas untuk melayani customer. Sesuai dengan tujuan penyelesaian UFLP yaitu meminimumkan biaya, maka pada Tabel 4.2 dipilih biaya pelayanan customer paling minimum, dengan syarat fasilitas tersebut dibangun.

Tabel 4.1 Biaya untuk Membangun Fasilitas

Lokasi 1 Lokasi 2 Lokasi 3 ... Lokasi n

Biaya fc1 fc2 fc3 ... fcn

Tabel 4.2 Biaya untuk Melayani Customer

Fasilitas 1 Fasilitas 2 Fasilitas 3 ... Fasilitas n

Customer 1 c11 c12 c13 c1n

Customer 2 c21 c22 c23 c2n

Customer 3 c31 c32 c33 c3n

… … … … …

Customer m cm1 cm2 cm3 cmn

Keterangan:

n = banyaknya lokasi yang akan dibangun fasilitas

fci = biaya yang dibutuhkan untuk membangun fasilitas i pada lokasi ke-i. m = banyaknya customer

cij = biaya untuk melayani customer ke-j pada fasilitas ke- i. i = 1, 2, ..., n

j = 1, 2, ..., m

Adapun prosedur penyelesaian Uncapacitated Facility Location Problem dengan Algoritma PSO-LS akan dijelaskan pada subbab selanjutnya.

(37)

IV.2 Particle Swarm Optimization

Algoritma Particle Swarm Optimization (PSO) merupakan salah satu teknik pencarian solusi yang diadopsi dari perilaku sosial binatang. Partikel-partikel sebagai kandidat solusi PSO dianalogikan sebagai burung atau ikan yang mencari makan bersama dalam suatu gerombolan besar (swarm). Partikel sebagai penyelesaian dari UFLP mempunyai tiga komponen inti, yaitu vektor posisi, vektor kecepatan, dan vektor open facility. Terdapat tiga prosedur pokok dalam Algoritma PSO, yaitu: inisialisasi komponen partikel, evaluasi nilai fitness partikel, dan update komponen partikel.

Inisialisasi komponen partikel meliputi pembangkitan posisi dan kecepatan partikel serta penghitungan vektor open facility. Setelah prosedur inisialisasi selesai, dilakukan evaluasi terhadap masing-masing partikel. Proses evaluasi meliputi penghitungan biaya membangun fasilitas dan biaya pelayanan customer. Besarnya biaya pembangunan fasilitas bergantung pada banyaknya fasilitas yang dibangun. Setiap fasilitas yang dibangun diasumsikan dapat melayani setiap customer, hanya saja dipilih biaya pelayanan paling minimum. Jumlahan dari biaya pembangunan fasilitas dan biaya pelayanan customer inilah yang menjadi nilai fitness tiap partikel. Nilai fitness ini kemudian menjadi dasar untuk menetapkan vektor-vektor Personal Best dan vektor Global Best, makin kecil nilai fitness, semakin besar pula kesempatan partikel itu untuk menjadi vektor Personal Best dan Global Best. Partikel sebagai vektor global best nantinya dipilih sebagai solusi untuk Algoritma PSO.

(38)

menggunakan persamaan (2.5), selanjutnya menempatkan posisi partikel sebagaimana persamaan (2.6) dan terakhir menghitung vektor open facility dengan persamaan (2.4). Berikut Algoritma Particle Swarm Optimization (PSO) berdasarkan Sevkli dan Guner(2006) dengan sedikit perubahan.

Algoritma

Begin

Initialize particles positions ( ) Initialize particles velocities ( ) for each particle

Find open facility vector ( ) Evaluate

Find the personal best ( ) and the global best ( ) Do {

Update velocity and position vectors Update open facility vector

Evaluate

Find the personal best ( ) and the global best ( ) } while (Termination)

End End

IV.3 Local Search

Algoritma Local Search (LS) diaplikasikan dalam Algoritma PSO untuk meningkatkan kualitas solusi, yaitu dengan mencari solusi pada daerah sekitar Global Best. Vektor Global Best yang didapatkan pada tiap iterasi PSO kemudian diambil sebagai Initial solution (solusi awal) bagi Algoritma Local Search. Dalam Algoritma Local Search, adalah posisi Global Best partikel, adalah solusi awal Algoritma Local Search, adalah hasil modifikasi , η dan κ adalah bilangan random integer sebagai operator yang berfungsi untuk menutup fasilitas yang terbuka atau sebaliknya, t adalah banyaknya iterasi, serta f( ) adalah nilai

(39)

fitness . Berikut Algoritma Local Search (LS) berdasarkan Sevkli dan Guner (2006) dengan sedikit perubahan.

Algoritma

Begin

;

Modify based on η and κ; for t  0 to max_iter do

Apply Flip to and get ; if ( f( ) ≤ f( ) ) do

else

t = t+1; end

end

if f( ) ≤ f( ) do  ; end

End

IV.4 Particle Swarm Optimization dengan Local Search

(40)

Algoritma

Begin

Initialize particles positions ( ); Initialize particles velocities ( ); for each particle

Find open facility vector ( ); Evaluate;

Find the personal best ( ) and the global best ( ); Do {

Update velocity and position vectors; Update open facility vector;

Proses pengerjaan algoritma pertama kali adalah pengisian parameter. Parameter yang digunakan diantaranya: sw_size adalah jumlah partikel dalam satu swarm, dan adalah konstanta tingkat pengalaman partikel atau disebut juga koefisien sosial dan kognitif, PSOLSIter adalah jumlah iterasi maksimum yang ditetapkan untuk Algoritma PSO-LS, dan LSIter adalah jumlah iterasi untuk Algoritma Local Search. Di bawah ini adalah algoritma pengisian parameter.

Algoritma

Begin

Swarm size: sw_size;

The social and cognitive variables: and ; Number of PSO-LS iteration: PSOLSIter; Number of LS iteration: LSIter;

End

(41)

IV.4.2 Generate Posisi

Himpunan vektor posisi ( ) terdiri dari sejumlah n.m komponen posisi ( ), dimana n adalah jumlah partikel dan m adalah jumlah lokasi. Algoritma untuk membangkitkan komponen vektor posisi ( ) diberikan di bawah ini.

Algoritma

Begin

for i1 to n

for j1 to m

random number in range [-10,10];

end

end

End

IV.4.3 Generate Kecepatan

Himpunan vektor kecepatan ( ) terdiri dari sejumlah n.m komponen, dimana n adalah jumlah partikel dan m adalah jumlah lokasi, serta adalah komponen Algoritma untuk membangkitkan diberikan di bawah ini.

Algoritma

Begin

for i  1 to n

for j  1 to m

random number in range [-4,4];

end

end

(42)

IV.4.4 Mendapatkan open facility

Himpunan vektor open facility ( ) terdiri dari sejumlah n.m komponen open facility( ). Berdasarkan persamaan (2.4), komponen Open Facility partikel ( )

berasal dari sisa hasil bagi dua untuk bilangan bulat terbesar komponen

posisi partikel ( ). Algoritma untuk mendapatkan diberikan di bawah ini.

Algoritma

Begin

for i1 to n

for j1 to m

Compute ⌊ ⌋ ;

end

end

End

IV.4.5 Evaluasi

Pada saat proses evaluasi, semua partikel dihitung nilai fungsi tujuannya. Adapun nilai fungsi tujuan masing-masing partikel (nilai Z) disebut juga sebagai nilai fitness ( ). Berikut algoritma untuk menghitung nilai fungsi tujuan (evaluasi) partikel.

Algoritma

Begin

for particle 1 to sw_size;

∑ ∑ ∑

Set fitness(particle) value ; end

End

(43)

IV.4.6 Penentuan Personal Best ( )

Personal Best adalah vektor posisi partikel ke-i ( ) dengan nilai fitness terbaik pada iterasi tertentu. Nilai fitness personal best pada partikel ke-i dinotasikan dengan , dengan * + dan adalah nilai fitness partikel ke-i pada saatiterasi ke-t. Berikut algoritma penentuan personal best.

Algoritma

Begin

for t  1 to max_iter for i 1 to sw_size

{ };

position vektor when ; end

end End

IV.4.7 Penentuan Global Best

Global Best adalah vektor posisi partikel dalam satu swarm dengan nilai fitness terbaik. Nilai fitness global best pada swarm dinotasikan dengan , dimana

{ } , dengan adalah nilai fitness personal best pada partikel ke-i. Dengan demikian, adalah vektor posisi dimana nilai fitness partikel adalah nilai fitness terbaik dalam swarm ( ). Berikut algoritma penentuan global best.

Algoritma

Begin

for t  1 to max_iter for i 1 to sw_size

{ };

position vektor when ; end

(44)

IV.4.8 Update Kecepatan

Setelah mendapatkan vektor-vektor Personal Best dan vektor Global Best, dapat dilakukan proses update kecepatan partikel. ( ) adalah komponen kecepatan untuk partikel ke-i pada iterasi ke-t, w adalah bobot inersia, dan adalah koefisien social dan kognitif, dan adalah bilangan yang dibangkitkan secara random, ( ) adalah komponen vektor posisi personal best pada iterasi ke-t, ( )adalah komponen vektor posisi pada iterasi ke-t, ( )adalah komponen vektor posisi global best pada iterasi ke-t. Algoritma untuk meng-update kecepatan diberikan di bawah ini.

Algoritma

Begin

for t  1 to max_iter for i  1 to n for k  1 to m

( ) ( ) ( ( ) ( )) ( ( ) ( ))

end end end

End

IV.4.9 Update Posisi

Setelah sebelumnya dilakukan proses update kecepatan, maka selanjutnya dilakukan proses update posisi. Komponen vektor posisi pada iterasi ke-(t+1) yang dinotasikan sebagai ( ), adalah jumlahan komponen vektor posisi pada iterasi ke-t ( ) dengan komponen vektor kecepatan pada iterasi ke-(t+1) ( ( )). Proses update posisi dilakukan dengan Algoritma berikut ini.

(45)

Algoritma

Begin

for t1 to max_iter for i1 to n for k1 to m

( ) ( ) ( ) end

end end

End

Setelah didapat vektor posisi baru, dilakukan update vektor open facility. Kemudian dilakukan evaluasi tiap partikel baru, kemudian ditentukan Personal Best dan Global best baru. Global best adalah solusi untuk algoritma PSO. Vektor posisi Global best inilah yang kemudian menjadi solusi awal bagi Algoritma Local Search.

IV.4.10 Modifikasi Solusi Awal Algoritma Local Search

Solusi awal untuk algoritma local search ( ) adalah vektor posisi baru yang merupakan vektor posisi global best ( ). kemudian dimodifikasi berdasarkan dua bilangan random integer dan yang berfungsi untuk memilih fasilitas mana yang akan dibuka atau ditutup. yang telah dimodifikasi ini kemudian menjadi solusi baru ( ). Algoritma untuk modifikasi menjadi adalah berikut ini.

Algoritma

Begin

while ( or ) do

Modify by formulation:

{ end

(46)

IV.4.11 Mengaplikasikan operator flip ke dan Mendapatkan

Aplikasi operator flip pada vektor posisi berfungsi untuk membuka atau menutup fasilitas berdasarkan bilangan random . Awalnya bilangan random dibangkitkan, kemudian dipilih formulasi flip yang sesuai dengan . Algoritma untuk mengaplikasikan operator flip adalah berikut ini.

Algoritma

Begin

Generate random number while i1 to n

Flip s by formulation:

{

end

 after flip; End

Dengan , - dan [ ( )].

Setelah operasi flip telah dilakukan, langkah selanjutnya adalah membandingkan nilai fitness dan . Jika ( ) ( ), maka diganti dengan

. Jika tidak, maka ulangi hingga max_iter. Setelah iterasi selesai, langkah terakhir adalah membandingkan nilai fitness dan . Jika ( ) ( ), maka gantilah dengan . Solusi dari Algoritma PSO-LS adalah .

IV.5 Program

Berdasarkan prosedur yang telah dijelaskan sebelumnya, dibuat program untuk menyelesaikan uncapacitated facility location problem dengan menggunakan Java seperti pada Lampiran 3. Program ini dibuat untuk

(47)

mempermudah perhitungan dalam menentukan total biaya minimum atau fungsi tujuan UFLP dengan Algoritma PSO-LS.

IV.6 Data

Data Uncapacitated Facility Location Problem (UFLP) yang digunakan pada skripsi ini terdiri dari dua jenis data, yaitu:

1. Data dengan 10 lokasi dan 15 customer yang diakses dari Beasley (2005a)

dengan sedikit modifikasi yaitu dengan mengurangi jumlah lokasi dan jumlah customer untuk memudahkan perhitungan secara manual (Lampiran 1). 2. Data 50 lokasi dan 50 customer yang diambil dari situs Beasley (2005b)

(Lampiran 2).

IV.7 Contoh Uncapacitated Facility Location Problem (UFLP) dengan

Menggunakan Data 10 Lokasi dan 15 Customer yang Diselesaikan secara

Manual

Uncapacitated Facility Location Problem (UFLP) untuk Data Kecil yang terdiri dari 10 Lokasi dan 15 Customer (Lampiran 1) diselesaikan secara manual dengan Algoritma Particle Swarm Optimization dengan Local Search (PSO-LS). Proses pengerjaan manual secara lengkap disajikan pada pembahasan berikut ini.

Penyelesaian:

(48)

sw_size adalah ukuran swarm yang merupakan representasi dari jumlah lokasi yang akan dibangun fasilitas, adalah variabel yang menyatakan pengalaman partikel dan adalah variabel yang menyatakan pengalaman dari swarm (kelompok partikel), PSOIter adalah jumlah itersi pada Algoritma PSO, LSIter adalah jumlah iterasi pada Algoritma LS, w adalah bobot inersia yang dibangkitkan dari bilangan random pada interval [0,1], serta dan adalah bilangan random pada interval [0,1].

Setelah itu, dilakukan generate vektor posisi dan vektor kecepatan sebanyak sw_size dan dilakukan penghitungan vektor open facility. Proses generate vektor posisi dimulai dengan membangkitkan partikel-partikel yang berisi sejumlah n bilangan random pada interval , -. Proses generate vektor posisi untuk tiap partikel dilakukan sebanyak sw_size. Hasil selengkapnya disajikan secara rinci pada Tabel 4.3.

Tabel 4.3 Vektor posisi

Partikel Vektor Posisi

l1 7,28 9,3 -8,45 6,47 4,38 -0,38 0,44 1,26 -2,74 0,38 l2 -3,21 9,3 -8,45 6,47 4,38 -0,38 0,44 1,26 -2,74 0,38 l3 9,11 -0,72 2,79 -6,24 -0,43 -1 2,98 -7,76 3,53 -5,21 l4 9,28 7,56 0 0 0,07 9,15 0 1 6,85 -8,06 l5 -2,2 9 0 1 6,98 -8,23 1 0 -3,93 0,1 l6 -8,45 -4,4 1 0 -3,61 6,74 0 1 5,3 -3,93 l7 -9,54 -6,83 1 0 -7,7 4,07 1 0 -6,79 4,34 l8 -0,07 4,16 1 1 -5,42 -9,02 1 0 -5,47 2,78 l9 1 0 -6,38 9,42 1 0 -7,27 8,51 1 0 l10 -3,1 6,35 1 1 -5,36 -5,33 0 1 4,62 -2,14

(49)

Langkah selanjutnya adalah membangkitkan vektor kecepatan. Proses generate vektor kecepatan dimulai dengan membangkitkan partikel-partikel yang

berisi sejumlah n bilangan random pada interval , -. Proses ini dilakukan sebanyak sw_size. Hasil selengkapnya disajikan dalam Tabel 4.4.

Tabel 4.4 Vektor kecepatan

Partikel Vektor kecepatan

v1 -1,55 -2,84 -1,12 1,13 -2,04 1,79 -0,71 -2,25 -3,37 0,37 v2 -1,55 -2,84 -1,12 1,13 -2,04 1,79 -0,71 -2,25 -3,37 0,37 v3 2,31 2,98 -1,41 1,32 -0,15 1,85 0,30 2,74 -0,09 0,54 v4 1,31 1,16 2,20 -1,72 0,67 -2,22 3,97 -3,65 3,01 -1,12 v5 -0,98 -0,16 1,42 1,10 -2,20 -2,73 1,81 -0,85 -3,74 -1,80 v6 3,85 -1,89 -1,60 2,10 0,88 2,58 2,66 -2,75 -0,81 3,27 v7 0,50 -1,15 0,68 -2,22 2,99 -0,85 0,86 1,29 3,26 -3,95 v8 2,09 0,31 1,51 -1,07 1,83 -0,70 0,79 -1,75 3,69 2,82 v9 -0,30 3,29 3,19 -1,30 0,66 -3,06 -2,41 3,73 -1,03 -3,90 v10 2,77 -0,04 -0,39 3,79 -2,36 2,07 -0,47 -3,95 -2,79 2,58

Setelah membangkitkan vektor posisi, dapat dihitung vektor open facility dengan persamaan (2.4). Angka 1 pada vektor open facility menunjukkan bahwa fasillitas tersebut dibangun. Sedangkan, angka 0 menunjukkan bahwa fasilitas tersebut tidak dibangun. Proses ini dilakukan sebanyak sw_size. Hasil selengkapnya disajikan dalam Tabel 4.5

Tabel 4.5 Vektor Open facility

Partikel Vektor Open facility

(50)

Partikel Vektor Open facility

y7 1 0 1 0 1 0 1 0 0 0 y8 0 0 1 1 1 1 1 0 1 0 y9 1 0 0 1 1 0 1 0 1 0 y10 1 0 1 1 1 1 0 1 0 0

Biaya untuk membangun fasilitas dikeluarkan hanya jika fasilitas dibangun. Fasilitas terbangun yang dipilih untuk melayani customer adalah fasilitas dengan biaya pelayanan customer terkecil. Dengan melihat tabel biaya untuk membangun fasilitas dan tabel biaya untuk melayani customer, didapat data nilai fitness untuk masing-masing partikel pada iterasi pertama yang disajikan pada Tabel 4.6.

Tabel 4.6 Nilai fungsi tujuan (Z)

Partikel fasilitas yang Jumlah dibangun

Nilai fitness pada masing-masing partikel menjadi patokan untuk menentukan vektor personal best pada tiap iterasi. Adapun nilai fitness pada keseluruhan swarm atau nilai fitness personal best pada masing-masing partikel menjadi tolok

(51)

ukur penentuan vektor global best. Nilai fitness terkecil akan dipilih sebagai vektor personal best dan nilai fitness personal best terkecil menjadi vektor global best. Untuk iterasi pertama, didapat vektor personal best adalah vektor posisi awal. Personal best untuk iterasi pertama disajikan pada Tabel 4.7 sebagai berikut:

Tabel 4.7 personal best

Personal

best Vektor Posisi Nilai fitness

p1 7,28 9,3 -8,45 6,47 4,38 -0,38 0,44 1,26 -2,74 0,38 343.731,59

p2 -3,21 9,3 -8,45 6,47 4,38 -0,38 0,44 1,26 -2,74 0,38 343.731,59

p3 9,11 -0,72 2,79 -6,24 -0,43 -1 2,98 -7,76 3,53 -5,21 222.112,69

p4 9,28 7,56 0 0 0,07 9,15 0 1 6,85 -8,06 207.136,80

p5 -2,2 9 0 1 6,98 -8,23 1 0 -3,93 0,1 172.506,26

p6 -8,45 -4,4 1 0 -3,61 6,74 0 1 5,3 -3,93 207.193,83

p7 -9,54 -6,83 1 0 -7,7 4,07 1 0 -6,79 4,34 190.017,07

p8 -0,07 4,16 1 1 -5,42 -9,02 1 0 -5,47 2,78 169.334,14

p9 1 0 -6,38 9,42 1 0 -7,27 8,51 1 0 178.403,66

p10 -3,1 6,35 1 1 -5,36 -5,33 0 1 4,62 -2,14 171.577,70

Sehingga didapatkan global best (g) adalah vektor personal best ke-8. Vektor Global best untuk iterasi pertama adalah sebagai berikut:

g : 6,75 11,25 -8,12 7,5 0,06 -5,96 0,9 0,56 -7,5 2,39

(52)

Tabel 4.8 Vektor kecepatan setelah di-update

Setelah didapatkan vektor kecepatan yang baru, maka langkah selanjutnya adalah melakukan update vektor posisi partikel, yaitu dengan menjumlahkan komponen vektor posisi lama dengan vektor kecepatan baru. Tabel 4.9 berisi data-data vektor posisi setelah di-update.

Tabel 4.9 Vektor posisi setelah di-update

Partikel Vektor Posisi

Kemudian masing-masing partikel akan ditentukan komponen (fasilitas) yang akan dibuka dan ditutup dengan menghitung vektor open facility. Berikut Tabel 4.10 yang menyajikan vektor-vektor open facility setelah di-update. Angka 1

(53)

menunjukkan bahwa fasilitas dibangun, sedangkan angka 0 menunjukkan bahwa fasilitas tidak dibangun.

Tabel 4.10 vektor open facility setelah di-update Partikel Vektor Open facility

y1 0 1 0 1 0 1 0 0 1 0

Setelah itu dilakukan evaluasi nilai fitness tiap partikel dengan menggunakan prosedur yang telah ditentukan. Berikut Tabel 4.11 yang menyajikan data nilai fungsi tujuan (fitness) setelah dilakukan update.

Tabel 4.11 Nilai fungsi tujuan setelah di-update

Partikel

customer Nilai fungsi tujuan

(54)

Sebagaimana telah dijelaskan sebelumnya bahwa partikel yang terpilih menjadi Personal Best adalah partikel dengan nilai fitness terbaik (terkecil) pada iterasi tertentu. Tabel 4.12 berikut ini merangkum vektor posisi personal best dan nilai fitness masing-masing.

Tabel 4.12 Personal Best setelah di-update

Personal

best Vektor Posisi Nilai fitness

p1 6,75 11,25 -8,12 7,5 0,06 -5,96 0,9 0,56 -7,5 2,39 168.545,79

p2 -2,02 4,61 -3,07 3,6 -2,83 -4,91 0,43 -0,68 -6,18 2,08 176.775,79

p3 5,54 3,7 0,98 -1,54 -3,21 -4,22 2,09 -1,93 -1,38 -0,57 169.101,34

p4 9,28 7,56 0 0 0,07 9,15 0 1 6,85 -8,06 207.136,80

p5 -2,29 7,69 1,16 1,7 2,47 -10,17 2,16 -0,54 -6,71 -0,38 169.641,04

p6 -1,98 -3,14 -0,47 2,28 -3,43 3,6 2,8 -1,88 0,79 1,43 189.625,35

p7 -2,31 0,13 1,56 -1,12 -3,58 -6,06 1,71 1,07 -3,13 -0,06 175.557,38

p8 -0,07 4,16 1 1 -5,42 -9,02 1 0 -5,47 2,78 169.334,10

p9 1 0 -6,38 9,42 1 0 -7,27 8,51 1 0 178.403,66

p10 -3,1 6,35 1 1 -5,36 -5,33 0 1 4,62 -2,14 171.577,70

Berdasarkan perbandingan nilai fitness dari tiap partikel, didapatkan vektor posisi global best (g) adalah sebagai berikut:

g : 6,75 11,25 -8,12 7,5 0,06 -5,96 0,9 0,56 -7,5 2,39

Posisi global best (g) inilah yang kemudian diambil sebagai solusi awal bagi algoritma local search.

Langkah selanjutnya adalah menjalankan Algoritma Local search pada posisi global best. Vektor g ditransfer menjadi solusi awal bagi algoritma local search dan dinamakan dengan s0.

(55)

s0 : 6,75 11,25 -8,12 7,5 0,06 -5,96 0,9 0,56 -7,5 2,39

Solusi awal (s0) ini kemudian dimodifikasi berdasarkan η dan κ, yaitu dua bilangan asli yang dibangkitkan secara random sebanyak jumlah fasilitas yang akan dibangun. Hasil modifikasi s0 menjadi vektor solusi baru yaitu s.

Misalkan didapat η dan κ masing-masing adalah 3 dan 8, maka vektor posisi solusi awal s0 pada poin ke-3 dan ke-8 dimodifikasi sehingga didapatkan vektor solusi baru s.

s: 6,75 11,25 -7,12 7,5 0,06 -5,96 0,9 2,56 -7,5 2,39

Fungsi fitness pada partikel solusi s0 dan s adalah f(s0) dan f(s) yaitu masing-masing bernilai 168.545,79 dan 173.554,70. Kemudian dilakukan operasi flip berdasarkan bilangan random ρ sehingga didapatkan solusi baru s1. Misalkan ditentukan operasi flip adalah sebanyak 2 kali.

Berikut ini adalah operasi flip.

1. Flip 1

Untuk ρ = 0,89

Karena ρ > 0,5 maka s1 = s-1, sehingga didapatkan vektor baru s1: s1: 5,75 10,25 -8,12 6,5 -0,94 -6,96 -0,1 1,56 -8,5 1,39

(56)

2. Flip 2

Untuk ρ = 0,01

Karena ρ < 0,5 maka s1 = s+1, sehingga didapatkan vektor baru s1: s1 : 7,75 12,25 -6,12 8,5 1,06 -4,96 1,9 3,56 -6,5 3,39

Selanjutnya dilakukan evaluasi terhadap calon solusi hasil flip operator dan didapatkan nilai fitness sebesar 218.999,76.

Setelah dilakukan iterasi sebanyak 2 kali, ternyata nilai fitness yang didapatkan tidak lebih baik dari nilai fitness solusi awal. Oleh karena itu, solusi yang diambil adalah solusi awal:

s0 : 6,75 11,25 -8,12 7,5 0,06 -5,96 0,9 0,56 -7,5 2,39

Solusi ini kemudian dikonversi menjadi bilangan biner sebagai berikut :

y : 0 1 0 1 0 1 0 0 1 0

Angka 0 menyatakan fasilitas tidak dibangun, sedangkan angka 1 menyatakan fasilitas dibangun. Dengan demikian dapat disimpulkan bahwa fasilitas yang dibangun adalah fasilitas 2, fasilitas 4, fasilitas 6 dan fasilitas 9. Data biaya pembangunan masing-masing fasilitas disajikan pada Tabel 4.13.

Tabel 4.13 Biaya Pembangunan fasilitas pada Lokasi Pembangunan

Lokasi

Pembangunan Biaya

2 7.500

4 7.500

6 7.500

9 7.500

Total 30.000

(57)

Oleh karena setiap customer harus dilayani oleh fasilitas yang terbuka, dan pada fungsi tujuan adalah meminimalkan, maka untuk masing-masing customer dipilih fasilitas dengan biaya pelayanan minimal. Berikut ini alokasi customer pada fasilitas beserta biaya pelayanannya.

1. Customer 1 dilayani oleh fasilitas 4 dengan biaya pelayanan 5.219,50 2. Customer 2 dilayani oleh fasilitas 4 dengan biaya pelayanan 2.396,85 3. Customer 3 dilayani oleh fasilitas 4 dengan biaya pelayanan 13.876,80 4. Customer 4 dilayani oleh fasilitas 6 dengan biaya pelayanan 20.071,71 5. Customer 5 dilayani oleh fasilitas 4 dengan biaya pelayanan 1.061,75 6. Customer 6 dilayani oleh fasilitas 4 dengan biaya pelayanan 10.383,43 7. Customer 7 dilayani oleh fasilitas 2 dengan biaya pelayanan 28.499,25 8. Customer 8 dilayani oleh fasilitas 6 dengan biaya pelayanan 8.861,74 9. Customer 9 dilayani oleh fasilitas 4 dengan biaya pelayanan 1.324,95 10.Customer 10 dilayani oleh fasilitas 4 dengan biaya pelayanan 869,60 11.Customer 11 dilayani oleh fasilitas 4 dengan biaya pelayanan 12.638,50 12.Customer 12 dilayani oleh fasilitas 4 dengan biaya pelayanan 8.429,80 13.Customer 13 dilayani oleh fasilitas 6 dengan biaya pelayanan 5.185,98 14.Customer 14 dilayani oleh fasilitas 4 dengan biaya pelayanan 3.428,43 15.Customer 15 dilayani oleh fasilitas 4 dengan biaya pelayanan 16.297,50

(58)

IV.8 Implementasi Program Pada Contoh Kasus Uncapacitated facility

location problem

Program dari algoritma PSO-LS yang telah dibuat (Lampiran 3), digunakan untuk menyelesaikan Uncapacitated Facility Location Problem dengan data pada Lampiran 1 dan Lampiran 2.

IV.8.1 Menggunakan Data pada Lampiran 1

Hasil running program dengan parameter: sw_size =10, ,

dan , didapat nilai fungsi tujuan (Z) sebesar 151.558,725. Hasil selengkapnya pada Lampiran 4.

Berdasarkan perhitungan manual pada Data Lampiran 1, diperoleh Nilai fungsi tujuan sebesar 168.545,79. Di sisi lain, perhitungan data Lampiran 1 menggunakan program yang telah dibuat menghasilkan nilai fungsi tujuan sebesar 151.558,725. Hal ini menunjukkan bahwa dengan menggunakan program, didapatkan nilai fungsi tujuan yang lebih baik.

IV.8.2 Menggunakan Data pada Lampiran 2

Dalam mengaplikasikan program untuk menyelesaikan uncapacitated facility location problem untuk data Lampiran 2 dengan menggunakan parameter-parameter: sw_size =10, , dan diperoleh hasil partikel dengan fitness terbaik seperti pada Lampiran 5.

IV.8.3 Perbandingan Hasil Perhitungan dengan Parameter Berbeda Pada

Algoritma PSO-LS menggunakan Data pada Lampiran 1

(59)

Dalam mengaplikasikan program untuk menyelesaikan uncapacitated facility location problem dengan data Lampiran 1 menggunakan ukuran partikel sejumlah lokasi yaitu 10, iterasi PSO dan iterasi LS sebanyak 10 kali. Dalam hal ini, digunakan ukuran swarm (sw_size) sebanyak 10, 30, dan 50 partikel, dengan koefisien sosial dan kognitif ( dan ) masing-masing merupakan kombinasi dari 1, 3, dan 5 sehingga diperoleh hasil seperti pada Tabel 4.14.

Tabel 4.14 Hasil perbandingan perhitungan nilai fungsi tujuan (Z) pada data Lampiran 1

(60)

Ukuran swarm Z

IV.8.4 Perbandingan Hasil Perhitungan dengan Parameter Berbeda Pada

Algoritma PSO-LS menggunakan Data pada Lampiran 2

Dalam mengaplikasikan program penyelesaian uncapacitated facility location problem dengan data Lampiran 2 dengan variabel input ukuran partikel sejumlah lokasi yaitu 50, iterasi PSO dan iterasi LS sebanyak 10 kali. Dalam hal ini, digunakan ukuran swarm (sw_size) sebanyak 10, 30, dan 50, dan koefisien sosial dan kognitif ( dan ) masing-masing adalah kombinasi 1, 3, dan 5, sehingga diperoleh hasil seperti pada Tabel 4.15.

Tabel 4.15 Hasil Perbandingan perhitungan nilaifungsi tujuan pada data Lampiran 2

Ukuran swarm Z

10 1

1 793.439,5625 3 793.439,5625 5 793.439,5625

(61)

Gambar

Tabel Biaya Untuk Membangun Fasilitas
Tabel 4.2. Tabel biaya untuk membangun fasilitas menyajikan biaya-biaya yang
Tabel 4.2 Biaya untuk Melayani Customer
Tabel 4.3 Vektor posisi
+7

Referensi

Dokumen terkait

Tujuan kegiatan survey kepuasan mahasiswa bertujuan untuk menjaga keberlangsungan pelaksanaan sistem mutu di Universitas Dharmas Indonesia dan untuk mengetahui tingkat

Berdasarkan hasil penelitian dapat disimpulkan bahwa komposisi tubuh (air, protein dan lemak tubuh) domba lokal jantan yang diberi pakan hijauan dan pakan tambahan dengan tata

Resiko tinggi kekerasan terhadap diri sendiri dan orang lain berhubungan dengan halusinasi pendengaran yang ditandai dengan pasien mengatakan sering. dibisiki orang saat

Dengan demikian, semakin jelas bahwa proses belajar mengajar IPA lebih ditekankan  pada pendekatan keterampilan proses, hingga siswa dapat menemukan fakta-fakta, membangun

Strategi yang dilakukan Kepala Sekolah Kepala sekolah dalam meningkatkan kinerja guru di MTs Negeri 1 Sumenep menyusun strategi-strategi untuk meningkatkan kinerja guru

Dengan memberikan kesempatan yang seluas-luasnya kepada siswa pada saat belajar (mengaktifkan siswa) diharapkan dapat membantu siswa mengembangkan kemampuan berpikir,

Pengaruh pemberian kombinasi konsentrasi ekstrak daun kelor ( Moringa oleifera ) dengan pupuk walne dalam media kultur terhadap laju pertumbuhan dan kandungan karotenoid

JPPI (Jaringan Pemantau Pendidikan Indonesia mencatat setidaknya ada tujuh masalah pendidikan yang harus diselesaikan pemerintah untuk mewujudkan Nawacita di