Tutorial Particle Swarm Optimization

dokumen-dokumen yang mirip
Particle Swarm Optimization

Optimasi PSO Untuk Peramalan Harga Emas Secara Rentet Waktu

PENENTUAN JALUR TERPENDEK PADA APLIKASI OJEK ONLINE GO-JEK DENGAN PROBABILISTIC NEURAL NETWORK (PNN) DAN PARTICLE SWARM OPTIMIZATION (PSO)

OPTIMASI PEMBANGKITAN EKONOMIS PADA UNIT-UNIT PEMBANGKIT LISTRIK TENAGA DIESEL TELAGA MENGGUNAKAN MODIFIKASI PARTICLE SWARM OPTIMIZATION (MPSO).

PERANCANGAN ALGORITMA BELAJAR JARINGAN SYARAF TIRUAN MENGGUNAKAN PARTICLE SWARM OPTIMIZATION (PSO)

MENEMUKAN AKAR PERSAMAAN POLINOMIAL MENGGUNAKAN PARTICLE SWARM OPTIMIZATION

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

ALGORITMA PARTICLE SWARM OPTIMIZATION DAN TERAPANNYA DALAM MENYELESAIKAN MASALAH PEMOTONGAN ROL KERTAS MAKALAH

Optimisasi Injeksi Daya Aktif dan Reaktif Dalam Penempatan Distributed Generator (DG) Menggunakan Fuzzy - Particle Swarm Optimization (FPSO)

Dynamic Optimal Power Flow dengan kurva biaya pembangkitan tidak mulus menggunakan Particle Swarm Optimization

SWARM GENETIC ALGORITHM, SUATU HIBRIDA DARI ALGORITMA GENETIKA DAN PARTICLE SWARM OPTIMIZATION. Taufan Mahardhika 1

Rekonfigurasi jaring distribusi untuk meningkatkan indeks keandalan dengan mengurangi rugi daya nyata pada sistem distribusi Surabaya.

BAB II TINJAUAN PUSTAKA. Job shop scheduling problem (JSSP) adalah permasalahan optimasi

Penentuan Komposisi Pakan Ternak untuk Memenuhi Kebutuhan Nutrisi Ayam Petelur dengan Biaya Minimum Menggunakan Particle Swarm Optimization (PSO)

PERBANDINGAN KINERJA METODE K-HARMONIC MEANS DAN PARTICLE SWARM OPTIMIZATION UNTUK KLASTERISASI DATA

Presentasi Tugas Akhir

Optimasi Parameter Kontroler PID Berbasis Particle Swarm Optimization untuk Pengendalian Kecepatan Motor Induksi Tiga Fase

JURNAL TEKNIK ITS Vol. 5, No. 2, (2016) ISSN: ( Print)

Pergerakan Otonom Pasukan Berbasis Algoritma Boids Menggunakan Metode Particle Swarm Optimization

PENYELESAIAN PERMASALAH PENCARIAN NILAI VOLATILITAS OPTIMAL DENGAN METODE IMPLIED VOLATILITY OPSI SAHAM DAN PARTICLE SWARMS OPTIMIZATION

1BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Aplikasi GIS Berbasis J2ME Pencarian Jalur Terpendek Menggunakan Algoritma Particle Swarm Optimization (PSO) Di Kabupaten Bangkalan

DESAIN FREKUENSI KONTROL PADA HIBRID WIND-DIESEL DENGAN PID- PARTICLE SWARM OPTIMIZATION

PARTICLE SWARM OPTIMIZATION FUZZY LOGIC CONTROLER UNTUK PENYEARAH SATU FASA

ANALISIS PERBANDINGAN METODE JARINGAN SYARAF TIRUAN DAN REGRESI LINEAR BERGANDA PADA PRAKIRAAN CUACA

PERBANDINGAN ALGORITMA PARTICLE SWARM OPTIMIZATION DAN REGRESI PADA PERAMALAN WAKTU BEBAN PUNCAK

PARTICLE SWARM OPTIMIZATION MENINGKATKAN AKURASI NAÏVE BAYES CLASSIFIER

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

BAB 2 TINJAUAN PUSTAKA

OPTIMISASI KONTROL PID UNTUK MOTOR DC MAGNET PERMANEN MENGGUNAKAN PARTICLE SWARM OPTIMIZATION

ANALISIS ALOKASI KANAL DINAMIS PADA KOMUNIKASI SELULER DENGAN ALGORITMA PARTICLE SWARM OPTIMIZATION

Kata Pengantar. Medan, 11 April Penulis

PENGEMBANGAN ALGORITMA PARTICLE SWARM OPTIMIZATION UNTUK OPTIMALISASI DISPERSI BATCH PADA PROSES PRODUKSI

OPTIMASI PARAMETER α DAN γ DALAM PEMULUSAN EKSPONENSIAL DUA PARAMETER DENGAN METODE MODIFIKASI GOLDEN SECTION

PENYELESAIAN PERMASALAH PENCARIAN NILAI VOLATILITAS OPTIMAL DENGAN METODE IMPLIED VOLATILITY OPSI SAHAM DAN PARTICLE SWARMS OPTIMIZATION

TINJAUAN PUSTAKA. terbentuklah suatu sistem tenaga listrik. Setiap GI sesungguhnya merupakan pusat

METODE STEEPEST DESCENT

Klasifikasi Data Cardiotocography dengan Integrasi Metode Neural Network dan Particle Swarm Optimization

Implementasi automatic clustering menggunakan particle swarm optimization dan genetic algorithm pada data kemahasiswaan

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

PENGOPTIMALAN UMPAN BALIK LINEAR QUADRATIC REGULATOR PADA LOAD FREQUENCY CONTROL MENGGUNAKAN PARTICLE SWARM OPTIMIZATION

Optimisasi Multi Depot Vehicle Routing Problem (MDVRP) dengan Variabel Travel Time Menggunakan Algoritma Particle Swarm Optimization

BAB I PENDAHULUAN. alam dan operator genetika. Particle swarm optimization algoritm mensimulasikan

BAB I.PENDAHULUAN Latar Belakang Masalah Perumusan Masalah

Optimasi Fungsi Tanpa Kendala Menggunakan Algoritma Genetika Dengan Kromosom Biner dan Perbaikan Kromosom Hill-Climbing

Analisis Komparasi Genetic Algorithm dan Firefly Algorithm pada Permasalahan Bin Packing Problem

BAB I PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI

OPTIMASI RATING SVC DAN TCSC UNTUK MENGURANGI RUGI-RUGI DAYA PADA SISTEM 500 kv JAMALI MENGGUNAKAN METODE PARTICLE SWARM OPTIMIZATION (PSO)

SIMULASI OPTIMASI DAYA REAKTIF DAN TEGANGAN PADA SISTEM JAMALI 500 kv MENGGUNAKAN METODE PARTICLE SWARM OPTIMIZATION

ALGORITMA PARTICLE SWARM (APS) UNTUK OPTIMASI DENGAN DOMAIN FUNGSI PARAMETRIK UNTUK BEBERAPA FUNGSI TUJUAN

Perbandingan Kombinasi Genetic Algorithm Simulated Annealing dengan Particle Swarm Optimization pada Permasalahan Tata Letak Fasilitas

Penyelesaian Masalah Symmetric Traveling Salesman Problem Dengan Jaringan Saraf Continuous Hopfield Net

Dynamic Optimal Power Flow Mempertimbangkan Carbon Capture And Storage Plants Menggunakan Metode Multi-Objective Particle Swarm Optimization

BAB IV PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK

Rekonfigurasi jaring distribusi untuk meningkatkan indeks keandalan dengan mengurangi rugi daya nyata pada sistem distribusi Surabaya.

GARIS-GARIS BESAR PROGRAM PEMBELAJARAN. Kode Komputer : 068 Kode Mata Kuliah : MMP Dosen Pengampu : Sisca Octarina, M.Sc Eka Susanti, M.

ALGORITMA MODIFIKASI BROYDEN-FLETCHER-GOLDFARB-SHANNO (MBFGS) PADA PERMASALAHAN OPTIMASI

IMPLEMENTASI ALGORITMA PARTICLE SWARM OPTIMIZATION UNTUK OPTIMASI PENGANTARAN BARANG (Studi Kasus : PT.Pos Indonesia, Kota Tanjungpinang)

BAB II DASAR TEORI. digunakan pada awal tahun 1980-an, diantaranya sistem C-NET yang

PENGGUNAAN ALGORITMA NONLINEAR PROGRAMMING UNTUK MENGOPTIMALKAN PARAMETER DALAM METODE PEMULUSAN EKSPONENSIAL SATU PARAMETER

BAB II TINJAUAN PUSTAKA. 2.1 Optimasi Berbasis Particle Swarm

BAB I PENDAHULUAN. jumlah ketersediaan yang semakin menipis dan semakin mahal, membuat biaya

TUGAS AKHIR ALGORITMA MODIFIKASI BROYDEN-FLETCHER-GOLDFARB- SHANNO (MBFGS) PADA PERMASALAHAN OPTIMASI

Perbandingan Algoritma Exhaustive, Algoritma Genetika Dan Algoritma Jaringan Syaraf Tiruan Hopfield Untuk Pencarian Rute Terpendek

BACKPROPAGATION NEURAL NETWORK BERBASIS PARTICLE SWARM OPTIMIZATION UNTUK PREDIKSI HARGA KARET SPESIFIK TEKNIS

SIMULASI Pencarian jalan terbaik adalah suatu proses

Penjadwalan Job Shop pada Empat Mesin Identik dengan Menggunakan Metode Shortest Processing Time dan Genetic Algorithm

BAB III METODOLOGI PENELITIAN. Jaringan pipa air terdiri dari pipa-pipa yang saling terhubung yang

ADLN Perpustakaan Universitas Airlangga SKRIPSI UMI LAILATUL MUYASSAROH

PERBANDINGAN ALGORITMA EXHAUSTIVE, ALGORITMA GENETIKA DAN ALGORITMA JARINGAN SYARAF TIRUAN HOPFIELD UNTUK PENCARIAN RUTE TERPENDEK

FUNGSI GRIEWANK DAN PENENTUAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Tri Nadiani Solihah

BAB I PENDAHULUAN. teliti. Sehingga tidak terjadi bentrok baik antar mata pelajaran, guru, kelas

DESAIN FREKUENSI KONTROL PADA HYBRID WIND-DIESEL DENGAN PID - PARTICLE SWARM OPTIMIZATION (PSO)

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

PARTICLE SWARM OPTIMIZATION UNTUK OPTIMASI PENJADWALAN PEMBEBANAN PADA UNIT PEMBANGKIT PLTG DI PLTGU TAMBAK LOROK

Perbandingan Metode Extreme Learning Machine dan Particle Swarm Optimization Extreme Learning Machine untuk Peramalan Jumlah Penjualan Barang

PREDIKSI KELULUSAN MAHASISWA MENGGUNAKAN METODE NEURAL NETWORK DAN PARTICLE SWARM OPTIMIZATION

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) OPTIMASI FUNGSI KEANGGOTAAN FUZZY BERBASIS ALGORITMA MODIFIED PARTICLE SWARM OPTIMIZATION

OPTIMASI DECISION TREE MENGGUNAKAN PARTICLE SWARM OPTIMIZATION PADA DATA SISWA PUTUS SEKOLAH

PENERAPAN ALGORITMA HARMONY SEARCH DALAM PENYELESAIAN RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEM

FUNGSI ACKLEY DAN PENCARIAN NILAI OPTIMUMNYA MENGGUNAKAN ALGORITMA STROBERI. Muhamad Fadilah Universitas Jenderal Soedirman

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

PENGEMBANGAN SISTEM PENYEBARAN WIRELESS SENSOR NETWORK PADA RUANG BERPENGHALANG BERDASARKAN ALGORITMA PARTICLE SWARM OPTIMIZATION

OPTIMASI FUNGSI MULTI VARIABEL DENGAN METODE UNIVARIATE. Dwi Suraningsih (M ), Marifatun (M ), Nisa Karunia (M )

OPTIMISASI PARTICLE SWARM PADA PEMASANGAN JARINGAN PIPA AIR PDAM"

Jurnal String Vol.1 No.2 Tahun 2016 ISSN : KALIBRASI MODEL HARGA OPSI CALL EROPA

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

PERANCANGAN KONFIGURASI JARINGAN DISTRIBUSI PRODUK BISKUIT MENGGUNAKAN METODE ALGORITMA GENETIKA (Studi Kasus: PT. EP)

STUDI PERBANDINGAN ALGORITMA CHEAPEST INSERTION HEURISTIC DAN ANT COLONY SYSTEM DALAM PEMECAHAN TRAVELLING SALESMAN PROBLEM

Optimasi Pembagian Tugas Dosen Pengampu Mata Kuliah Dengan Metode Particle Swarm Optimization

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

APLIKASI ALGORITMA GENETIKA UNTUK PENENTUAN TATA LETAK MESIN

PENYELESAIAN PERMASALAHAN TRAVELLING SALESMAN PROBLEM MENGGUNAKAN ALGORITMA DIFFERENTIAL EVOLUTION

Perancangan Filter Harmonisa Pasif untuk Sistem Distribusi Radial Tidak Seimbang

PENERAPAN KECERDASAN KELOMPOK UNTUK PENYELESAIAN TEKA-TEKI SUDOKU DENGAN METODE PARTICLE SWARM OPTIMIZATION

Pengembangan Heuristik Diferensial Terkompresi untuk Algoritma Block A*

ANALISIS ALGORITMA SEMUT UNTUK PEMECAHAN MASALAH PENUGASAN

ALGORITMA HARMONY SEARCH DALAM OPTIMALISASI VEHICLE ROUTING PROBLEM WITH TIME WINDOW (VRPTW)

KONSEP ALGORITMA GENETIK BINER UNTUK OPTIMASI PERENCANAAN JADWAL KEGIATAN PERKULIAHAN

Transkripsi:

Tutorial Particle Swarm Optimization Budi Santosa Teknik Industri, ITS Kampus ITS, Sukolilo Surabaya E-mails: budi s@ie.its.ac.id 1 Pahuluan Particle swarm optimization, disingkat sebagai PSO, didasarkan pada perilaku sebuah kawanan serangga, seperti semut, rayap, lebah atau burung. Algoritma PSO meniru perilaku sosial organisme ini. Perilaku sosial terdiri dari tindakan individu dan pengaruh dari individu-individu lain dalam suatu kelompok. Kata partikel menunjukkan, misalnya, seekor burung dalam kawanan burung. Setiap individu atau partikel berperilaku secara terdistribusi dengan cara menggunakan kecerdasannya (intelligence) siri dan juga dipengaruhi perilaku kelompok kolektifnya. Dengan demikian, jika satu partikel atau seekor burung menemukan jalan yang tepat atau pek menuju ke sumber makanan, sisa kelompok yang lain juga akan dapat segera mengikuti jalan tersebut meskipun lokasi mereka jauh di kelompok tersebut. Metode optimasi yang didasarkan pada swarm intelligence ini disebut algoritma behaviorally inspired sebagai alternatif dari algoritma genetika, yang sering disebut evolution-based procedures. Algoritma PSO ini awalnya diusulkan oleh [1]. Dalam konteks optimasi multivariabel, kawanan diasumsikan mempunyai ukuran tertentu atau tetap dengan setiap partikel posisi awalnya terletak di suatu lokasi yang acak dalam ruang multidimensi. Setiap partikel diasumsikan memiliki dua karakteristik: posisi dan kecepatan. Setiap partikel bergerak dalam ruang/space tertentu dan mengingat posisi terbaik yang pernah dilalui atau ditemukan terhadap sumber makanan atau nilai fungsi objektif. Setiap partikel menyampaikan informasi atau posisi bagusnya kepada partikel yang lain dan menyesuaikan posisi dan kecepatan masing-masing berdasarkan informasi yang diterima mengenai posisi yang bagus tersebut. Sebagai contoh, misalnya perilaku burung-burung dalam dalam kawanan burung. Meskipun setiap burung mempunyai keterbatasan dalam hal kecerdasan, biasanya ia akan mengikuti kebiasaan (rule) seperti berikut : 1

1. Seekor burung tidak berada terlalu dekat dengan burung yang lain 2. Burung tersebut akan mengarahkan terbangnya ke arah rata-rata keseluruhan burung 3. Akan memposisikan diri dengan rata-rata posisi burung yang lain dengan menjaga sehingga jarak antar burung dalam kawanan itu tidak terlalu jauh Dengan demikian perilaku kawanan burung akan didasarkan pada kombinasi dari 3 faktor simpel berikut: 1. Kohesi - terbang bersama 2. Separasi - jangan terlalu dekat 3. Penyesuaian(alignment) - mengikuti arah bersama Jadi PSO dikembangkan dengan berdasarkan pada model berikut: 1. Ketika seekor burung mekati target atau makanan (atau bisa mnimum atau maximum suatu fungsi tujuan) secara cepat mengirim informasi kepada burung-burung yang lain dalam kawanan tertentu 2. Burung yang lain akan mengikuti arah menuju ke makanan tetapi tidak secara langsung 3. Ada komponen yang tergantung pada pikiran setiap burung, yaitu memorinya tentang apa yang sudah dilewati pada waktu sebelumnya. Model ini akan disimulasikan dalam ruang dengan dimensi tertentu dengan sejumlah iterasi sehingga di setiap iterasi, posisi partikel akan semakin mengarah ke target yang dituju (minimasi atau maksimasi fungsi). Ini dilakukan hingga maksimum iterasi dicapai atau bisa juga digunakan kriteria penghentian yang lain. 2 Implementasi PSO Misalkan kita mempunyai fungsi berikut min f(x) (1) dimana X (B) X X (A) 2

dimana X (B) adalah batas bawah dan X (A) adalah batas atas dari X. Prosedur PSO dapat dijabarkan dengan langkah-langkah sebagai berikut [2]: 1. Asumsikan bahwa ukuran kelompok atau kawanan (jumlah partikel) adalah N. Untuk mengurangi jumlah evaluasi fungsi yang diperlukan untuk menemukan solusi, sebaiknya ukuran N tidak terlalu besar, tetapi juga tidak terlalu kecil,agar ada banyak kemungkinan posisi menuju solusi terbaik atau optimal. Jika terlalu kecil, sedikit kemungkinan menemukan posisi partikel yang baik. Terlalu besar juga akan membuat perhitungan jadi panjang. Biasanya digunakan ukuran kawanan adalah 20 sampai 30 partikel. 2. Bangkitkan populasi awal X dengan rentang X (B) dan X (A) secara random sehingga didapat X 1,X 2,..., X N. Setelah itu, untuk mudahnya,partikel j dan kecepatannya pada iterasi i dinotasikan sebagai X (i) j dan V (i) j Sehingga partikel-partikel awal ini akan menjadi X 1 (0),X 2 (0),..., X N (0). Vektor X j (0), (j =1, 2,..., N) disebut partikel atau vektor koordinat dari partikel. (seperti kromosom dalam algoritma genetika). Evaluasi nilai fungsi tujuan untuk setiap partikel dan nyatakan dengan f[x 1 (0)],f[X 2 (0)],..., f[x N (0)]. 3. Hitung kecepatan dari semua partikel. Semua partikel bergerak menuju titik optimal dengan suatu kecepatan. Awalnya semua kecepatan dari partikel diasumsikan sama dengan nol. Set iterasi i = 1. 4. Pada iterasi ke-i, temukan 2 parameter penting untuk setiap partikel j yaitu: (a) Nilai terbaik sejauh ini dari X j (i) (koordinat partikel j pada iterasi i) dan nyatakan sebagai P best,j, dengan nilai fungsi obyektif paling rah (kasus minimasi), f[x j (i)], yang ditemui sebuah partikel j pada semua iterasi sebelumnya. Nilai terbaik untuk semua partikel X j (i) yang ditemukan sampai iterasi ke-i, G best,dengan nilai fungsi tujuan paling kecil/minimum diantara semua partikel untuk semua iterasi sebelumnya, f[x j (i)]. 3

(b) Hitung kecepatan partikel j pada iterasi ke i dengan rumus sebagai berikut: V j (i) =V j (i 1) + c 1 r 1 [P best,j x j (i 1)] + (2) c 2 r 2 [G best x j (i 1)],j =1, 2,..., N dimana c 1 dan c 2 masing-masing adalah learning rates untuk kemampuan individu (cognitive) dan pengaruh sosial (group), dan r 1 dan r 2 bilangan random yang berdistribusi uniforml dalam interval 0 dan 1. Jadi parameters c 1 dan c 2 dmenunjukkan bobot dari memory (position) sebuah partikel terhadap memory (posisi) dari kelompok(swarm). Nilai dari c 1 dan c 2 biasanya adalah 2 sehingga perkalian c 1 r 1 dan c 2 r 2 memastikan bahwa partikel-partikel akan mekati target sekitar setengah selisihnya. (c) Hitung posisi atau koordinat partikel j pada iterasi ke-i dengan cara X j (i) =X j (i 1) + V j (i); j =1, 2,..., N (3) Evaluasi nilai fungsi tujuan untuk setiap partikel dan nyatakan sebagai f[x 1 (i)],f[x 2 (i)],..., f[x N (i)]. 5. Cek apakah solusi yang sekarang sudah konvergen. Jika posisi semua partikel menuju ke satu nilai yang sama, maka ini disebut konvergen. Jika belum konvergen maka langkah 4 diulang dengan memperbarui iterasi i = i + 1, dengan cara menghitung nilai baru dari P best,j dan G best. Proses iterasi ini dilanjutkan sampai semua partikel menuju ke satu titik solusi yang sama. Biasanya akan ditentukan dengan kriteria penghentian (stopping criteria), misalnya jumlah selisih solusi sekarang dengan solusi sebelumnya sudah sangat kecil. 3 Contoh Misalkan kita mempunyai persoalan optimasi dengan satu variabel sebagai berikut f(x) = (100 x) 2 (4) dimana 60 x 120 4

1. Tentukan jumlah partikel N = 4 Tentukan populasi awal secara random, misalkan didapat x 1 (0) = 80, x 2 (0) = 90, x 3 (0) = 110, x 4 (0) = 75. 2. Evaluasi nilai fungsi tujuan untuk setiap partikel x j (0) untuk j =1, 2, 3, 4. dan nyatakan dengan f 1 = f(80) = 400, f 2 = f(90) = 100, f 3 = f(110) = 100, f 4 = f(75) = 625. 3. Tentukan kecepatan awal v 1 (0) = v 2 (0) = v 3 (0) = v 4 (0) = 0. Tentukan iterasi i = 1; Lalu ke langkah nomer 4. 4. Temukan P best,1 =80,P best,2 =90,P best,3 = 110,P best,4 =75,G best =90. Hitung v(j) dengan c 1 = c 2 = 1. Misalkan nilai random yang didapat, r 1 =0.4,r 2 =0.5, dengan rumus V j (i) =V j (i 1) + c 1 r 1 [P best,j x j (i 1)] + c 2 r 2 [G best x j (i 1)] diperoleh v 1 (1) = 0 + 0.4(80 80) + 0.5(90 80) = 5 v 2 (1) = 0 + 0.4(90 90) + 0.5(90 90) = 0 v 3 (1) = 0 + 0.4(110 110) + 0.5(90 110) = 10 v 4 (1) = 0 + 0.4(75 75) + 0.5(90 75) = 7.5 Sedangkan untuk nilai x adalah x 1 (1) = 80 + 5 = 85 x 2 (1) = 90 + 0 = 90 x 3 (1) = 110 10 = 100 x 4 (1) = 75 + 7.5 =82.5 5. Evaluasi nilai fungsi tujuan sekarang pada partikel x j (1), f 1 (1) = f(85) = 225, f 2 (1) = f(90) = 100, f 3 (1) = f(100) = 0, f 4 (1) = f(82.5) = 306.25. Sedangkan pada iterasi sebelumnya kita dapatkan 5

f 1 (0) = f(80) = 400, f 2 (0) = f(90) = 100, f 3 (0) = f(110) = 100, f 4 (0) = f(75) = 625. Nilai dari f dari iterasi sebelumnya tidak ada yang lebih baik sehingga Pbest untuk masing-masing partikel sama dengan nilai x-nya. G best = 100 Cek apakah solusi x sudah konvergen, dimana nilai x saling dekat. Jika tidak, tingkatkan ke iterasi berikutnya i = 2. Lanjutkan ke langkah 4. 1. P best,1 =85,P best,2 =90,P best,3 = 100,P best,4 =82.5,G best = 100 Hitung kecepatan baru dengan r 1 =0.3 danr =0.6 ( ini hanya sekedar contoh untuk menjelaskan penghitungan, dalam implementasi angka ini dibangkitkan secar arandom). v 1 (2) = 5 + 0.3(85 85) + 0.6(100 85) = 14 v 2 (2) = 0 + 0.3(90 90) + 0.6(100 90) = 6. v 3 (2) = 10 + 0.3(100 100) + 0.6(100 100) = 10 v 4 (2) = 7.5+0.3(82.5 82.5) + 0.6(100 82.5) = 18 Sedangkan untuk nilai x adalah x 1 (2) = 85 + 14 = 99 x 2 (2) = 90 + 6 = 96 x 3 (2) = 100 10 = 90 x 4 (2) = 82.5 + 18 = 100.5 2. Evaluasi nilai fungsi tujuan sekarang pada partikel x j (2), f 1 (2) = f(99) = 1, f 2 (2) = f(96) = 16, f 3 (2) = f(90) = 100 f 4 (2) = f(100.5) = 0.25. Jika dibandingkan dengan nilai f dari iterasi sebelumnya, ada nilai yang lebih baik dari nilai f sekarang yaitu f 3 (1) = 0, sehingga P best untuk partikel 3 sama dengan 100, dan G best dicari dari min{1, 16, 0, 0.25} =0 yang dicapai pada x 3 (1) = 100. Sehingga untuk iterasi berikutnya P best = (99, 96, 100, 100.5) dan G best = 100. Cek apakah solusi sudah konvergen, dimana nilai x saling dekat. Jika tidak konvergen, set i = 3, masuk ke iterasi berikutnya. Lanjutkan ke langkah berikutnya 6

dengan menghitung kecepatan v dan ulangi langkah-langahs elanjunya sampai mencapai konvergen. Berikut adalah kode Matlab untuk implementasi PSO dalam minimasi fungsi. function [xopt,fmin,it]=simpelpso(n,maxit) %written by budi santosa to implement modified PSO % budi_s@ie.its.ac.id, faculty of industrial eng, ITS %based on Engineering Optimization Theory and Practice %book by Singiresu S. Rao %to find minimum of single var function dim = 1; % Dimension of the problem upbnd = 90; % Upper bound for init. of the swarm lwbnd = 120; % Lower bound for init. of the swarm % Initializing swarm and velocities x = rand(n,dim)*(upbnd-lwbnd) + lwbnd ; v = rand(n,dim); %kecepatan awal [brs,kol]=size(x); f=zeros(n,1); rhomax=0.9;rhomin=0.4; for it=1:maxit rho(it)=rhomax-((rhomax-rhomin)/maxit)*it; for i=1:brs f(i)=fungsi2(x(i,:)); %v=zeros(brs,kol); it=1; Pbest=x; fbest=f; [minf,idk]=min(f); Gbest=x(idk,:); lastbest=[0 0]; 7

minftot=[]; while it<maxit r1=rand;r2=rand; for j=1:brs v(j,:)=rho(it).*v(j,:)+r1.*(pbest(j,:)-x(j,:))+r2.*(gbest-x(j,:)); x(j,:)=x(j,:)+v(j,:); f(j)=fungsi2(x(j,:)); %update Pbest changerow = f < fbest; fbest=fbest.*(1-changerow)+f.*changerow; Pbest(find(changerow),:)=x(find(changerow),:); [minf,idk]=min(fbest); minftot=[minftot;minf]; Gbest=Pbest(idk,:); if sum(var(pbest))<1e-8 break it=it+1; lastbest=gbest; xopt=gbest; fmin=minf; plot(minftot) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function f=fungsi2(x) f=(100-x)^2; Gambar pergerakan nilai fungsi tujuan (f(x) = (100 x) 2 ) untuk 50 iterasi ditunjukkan dalam 1. Sedangkan gambar pergerakan nilai fungsi tujuan (f(x) = (100 x) 2 ) setelah dilakukan modifikasi terhadap PSO (dengan inertia) untuk 50 iterasi ditunjukkan dalam 2. kelihatan bahwa dengan modifikasi ini pergerkan ke titik target lebih stabil dan konvergen lebih cepat. 8

12000 10000 Nilai fungsi tujuan 8000 6000 4000 2000 0 0 10 20 30 40 50 Iterasi Figure 1: Pergerakan nilai fungsi tujuan untuk PSO tanpa improvement 4 PSO dengan Perbaikan Dalam implementasinya, ditemukan bahwa kecepatan partikel dalam PSO diupdate terlalu cepat dan nilai minimum fungsi tujuan sering terlewati. Karena itu ada revisi atau perbaikan terhadap algoritma PSO standard. Perbaikan itu berupa penambahan suatu inersia θ untuk mengurangi kecepatan. Biasanya nilai θ dibuat sedemikian hingga semakin meningkat iterasi yang dilalui, semakin mengecil kecepatan partikel. Nilai ini bervariasi secara linier dalam rentang 0.9 hingga 0.4. Secara matematis perbaikan ini bisa dituliskan V j (i) =θv j (i 1)+c 1 r 1 [P best,j X j (i 1)]+c 2 r 2 [Gbest X j (i 1)]; j =1, 2,..., N (5) Bobot inersia ini diusulkan oleh [3] untuk meredam kecepatan selama iterasi, yang memungkinkan kawanan burung menuju (kconverge) titik target secara 9

100 80 Nilai Fungsi Tujuan 60 40 20 0 0 10 20 30 40 50 Iterasi Figure 2: Pergerakan nilai fungsi tujuan untuk PSO dengan improvement lebih akurat dan efisien dibandingkan dengan algoritma aslinya. Formula (5) adalah modifikasi terhadap formula (2). Nilai bobot inersia yang tinggi menambah porsi pencarian global (global exploration), sedangkan nilai yang rah lebih menekankan pencarian lokal (local search). Untuk tidak terlalu menitikberatkan pada salah satu bagian dan tetap mencari area pencarian yang baru dalam ruang berdimensi tertentu, maka perlu dicari nilai bobot inersia (θ) yang secara imbang menjaga pencarian global dan lokal. Untuk mencapai itu dan mempercepat konvergensi, suatu bobot inersia yang mengecil nilainya dengan bertambahnya iterasi digunakan dengan formula θ(i) =θ max ( θ max θ min )i (6) i max dimana θ max dan θ min masing-masing adalah nilai awal dan nilai akhir bobot inersia, i max adalah jumlah iterasi maksimum yang digunakan dan i adalah iterasi yang sekarang. Biasanya digunakan nilai θ max =0.9 danθ min =0.4. 10

Perubahan atau modifikasi formula untuk mengupdate kecepatan ini seperti step size α dalam algoritma Steepest Descent, dimana nilai α yangterlalu besar akan memungkinan suatu local optimum akan terlewati sehingga algoritma justru menemukan local optimal yang lain yang tidak lebih baik nilainya. 5 Implementasi PSO dengan Matlab Berikut ini diberikan kode Matlab untuk implementasi PSO baik yang menggunakan PSO asli dan PSO yang dimodifikasi. Pembaca bisa membandingkan bagaimana pergerakan vektor solusi menuju solusi optimal atau melihat pergerakan nilai fungsi tujuannya dari kedua algoritma ini. Untuk implementasi ini digunakan fungsi Himmelblau f(x) =(x 2 1 + x 2 11) 2 +(x 1 + x 2 2 7) 2. function [xopt,fmin,it]=simpelpso1(n,maxit) %written by budi santosa to implement original PSO % budi_s@ie.its.ac.id, faculty of industrial eng, ITS %based on Engineering Optimization Theory and Practice %book by Singiresu S. Rao %to find minimum of Himmelblau function with two variables dim = 2; % Dimension of the problem upbnd = -6; % Upper bound for init. of the swarm lwbnd = 6; % Lower bound for init. of the swarm % Initializing swarm and velocities x = rand(n,dim)*(upbnd-lwbnd) + lwbnd ; v = rand(n,dim); %kecepatan awal [brs,kol]=size(x); f=zeros(n,1); rhomax=0.9;rhomin=0.4; for it=1:maxit rho(it)=rhomax-((rhomax-rhomin)/maxit)*it; for i=1:brs 11

f(i)=himel(x(i,:)); %v=zeros(brs,kol); it=1; Pbest=x; fbest=f; [minf,idk]=min(f); Gbest=x(idk,:); lastbest=[0 0]; minftot=[]; while it<maxit r1=rand;r2=rand; for j=1:brs v(j,:)=rho(it).*v(j,:)+r1.*(pbest(j,:)-x(j,:))+r2.*(gbest-x(j,:)); x(j,:)=x(j,:)+v(j,:); f(j)=himel(x(j,:)); %update Pbest changerow = f < fbest; fbest=fbest.*(1-changerow)+f.*changerow; Pbest(find(changerow),:)=x(find(changerow),:); [minf,idk]=min(fbest); minftot=[minftot;minf]; Gbest=Pbest(idk,:); if sum(var(pbest))<1e-8 break it=it+1; lastbest=gbest; xopt=gbest; fmin=minf; plot(minftot) 12

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [xopt,fmin,it]=simpelpso2(n,maxit) %written by budi santosa to implement modified PSO % budi_s@ie.its.ac.id, faculty of industrial eng, ITS %based on Engineering Optimization Theory and Practice %book by Singiresu S. Rao %to find minimum of Himmelblau function with two variables dim = 2; % Dimension of the problem upbnd = -6; % Upper bound for init. of the swarm lwbnd = 6; % Lower bound for init. of the swarm % Initializing swarm and velocities x = rand(n,dim)*(upbnd-lwbnd) + lwbnd ; v = rand(n,dim); %kecepatan awal [brs,kol]=size(x); f=zeros(n,1); rhomax=0.9;rhomin=0.4; for it=1:maxit rho(it)=rhomax-((rhomax-rhomin)/maxit)*it; for i=1:brs f(i)=himel(x(i,:)); %v=zeros(brs,kol); it=1; Pbest=x; fbest=f; [minf,idk]=min(f); Gbest=x(idk,:); lastbest=[0 0]; minftot=[]; 13

while it<maxit r1=rand;r2=rand; for j=1:brs v(j,:)=rho(it).*v(j,:)+r1.*(pbest(j,:)-x(j,:))+r2.*(gbest-x(j,:)); x(j,:)=x(j,:)+v(j,:); f(j)=himel(x(j,:)); %update Pbest changerow = f < fbest; fbest=fbest.*(1-changerow)+f.*changerow; Pbest(find(changerow),:)=x(find(changerow),:); [minf,idk]=min(fbest); minftot=[minftot;minf]; Gbest=Pbest(idk,:); if sum(var(pbest))<1e-8 break it=it+1; lastbest=gbest; xopt=gbest; fmin=minf; plot(minftot) References [1] J. Kennedy and R. C. Eberhart. Particle swarm optimization. In Proceedings of the 1995 IEEE International Conference on Neural Networks. IEEE Service Center, Piscataway, 1995. [2] Singiresu S. Rao. Engineering Optimization, Theory and Practice. John Wiley & Sons, New York, fourth edition, 2009. [3] Y.ShiandR.C.Eberhart.Parameterselection in particle swarm optimization. In V. W. Porto, N. Saravanan, D. Waagen, and A. Eibe, editors, Pro- 14

ceedings of the Seventh Annual Conference on Evolutionary Programming, page 591600. Springer-Verlag, 1998. 15