• Tidak ada hasil yang ditemukan

PENYELESAIAN PERMASALAHAN OPTIMASI CONSTRAINED NONLINEAR DENGAN PARTICLE SWARM OPTIMIZATION

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENYELESAIAN PERMASALAHAN OPTIMASI CONSTRAINED NONLINEAR DENGAN PARTICLE SWARM OPTIMIZATION"

Copied!
7
0
0

Teks penuh

(1)

PENYELESAIAN PERMASALAHAN OPTIMASI CONSTRAINED

NONLINEAR DENGAN PARTICLE SWARM OPTIMIZATION

Yudhi Purwananto1, Rully Soelaiman1, dan Bambang Santoso.1

1

Fakultas Teknologi Informasi,

Institut Teknologi Sepuluh Nopember (ITS), Surabaya, 60111, Indonesia E-mail : rully@is.its.ac.id

Abstraksi

Particle Swarm Optimization (PSO) merupakan teknik optimasi stokastik berbasiskan populasi yang terinspirasi oleh tingkah laku sosial kawanan burung atau ikan untuk menyelesaikan permasalahan-permasalahan optimasi. Dalam PSO, solusi yang mungkin, yang disebut partikel, terbang melewati ruang permasalahan dengan mengikuti nilai optimum partikel pada saat itu. Pada Tugas Akhir ini, algoritma PSO digunakan untuk menyelesaikan constrained nonlinear optimization problems (CNOPs). Untuk menyelesaikan permasalahan tersebut, digunakan strategi mempertahankan solusi-solusi yang mungkin untuk memenuhi batasan-batasan. PSO dimulai dengan sekelompok solusi yang mungkin dan sebuah fungsi yang digunakan untuk mengecek apakah solusi baru yang didapat memenuhi semua batasan-batasan.

Dua belas CNOPs diuji dengan algoritma PSO. Dari hasil penelitian menunjukkan bahwa PSO merupakan solusi yang efektif dan umum dalam menyelesaikan sebagian besar permasalahan optimasi nonlinear dengan batasan-batasan pertidaksamaan nonlinear.

Pada Tugas Akhir ini, juga dibandingkan antara algoritma PSO dengan algoritma genetika. Dari hasil penelitian menunjukkan bahwa algoritma PSO lebih cepat dan powerful dibandingkan dengan algoritma genetika. Hal ini disebabkan, algoritma PSO mampu mendapatkan nilai optimum fungsi dengan iterasi yang jauh lebih sedikit dibandingkan dengan algoritma genetika.

Kata kunci: particle swarm, optimization technique, nonlinear programming, evolutionary computation, constrained optimization.

1. Pendahuluan

Selama lebih dari satu dekade belakangan ini, penelitian penting telah dilakukan pada CNOPs (Constrained Nonlinear Optimization Problems). Permasalahan optimasi nonlinear sangat kompleks dan tidak dapat diprediksi. Sehingga solusi deterministik untuk CNOPs sangat tidak mungkin.

Hal ini memberikan kesempatan berkembangnya algoritma evolusioner.

Pada tahun-tahun belakangan ini, beberapa algoritma evolusioner telah diusulkan untuk permasalahan optimasi nonlinear. Michalewicz memberikan gambaran dari algoritma-algoritma tersebut. Pada paper ini, beberapa pendekatan komputasi evolusioner diteliti dan sekumpulan uji kasus optimasi numerik dilakukan.

Salah satu algoritma untuk CNOPs adalah Particle

Swarm Optimization (PSO). PSO adalah teknik

komputasi evolusioner yang dikembangkan oleh Kennedy dan Eberhart. PSO menggunakan teknik perhitungan evolusioner:

1. PSO diinisialisasi dengan sekumpulan solusi acak

2. PSO mencari solusi yang optimum dengan memperbarui generasi

3. Perkembangan populasi berdasarkan pada generasi sebelumnya

Dalam PSO, solusi potensial, yaitu partikel, terbang melewati ruang permasalahan dengan mengikuti partikel yang optimal saat ini. PSO telah terbukti efektif untuk banyak permasalahan optimasi. Banyak penelitian telah dilakukan dalam area ini. Namun CNOPs merupakan area baru untuk PSO. 2. Dasar Teori

2.1 Latar Belakang PSO

Sekelompok ilmuwan telah menciptakan simulasi komputer dari berbagai interpretasi pergerakan organisme-organisme di dalam sebuah kawanan burung atau ikan. Khususnya, Reynolds (Reynolds, 1987) dan Heppner dan Grenander (Heppner and Grenander, 1990) yang menggambarkan simulasi kawanan burung. Reynolds terkesan dengan keindahan pergerakan kawanan burung, dan Heppner, seorang ahli ilmu hewan, tertarik dalam menemukan aturan dasar yang memungkinkan sejumlah besar burung untuk berkumpul secara serempak, seringkali mengubah arah secara tiba-tiba, berpencar, dan berkumpul kembali.

Sebagai ahli sosio biologi, E.O.Wilson (Wilson, 1975) menulis dalam referensinya mengenai

(2)

kawanan ikan, yaitu “Dalam teori sedikitnya anggota individu dalam kawanan tersebut dapat mengambil keuntungan dari penemuan dan pengalaman sebelumnya dari semua anggota lainnya dalam kawanan tersebut selama pencarian makanan. Keuntungan ini jelas melebihi kerugian dari persaingan dalam mencari makanan, sewaktu-waktu sumber makanan tersebar dalam potongan kecil yang tidak dapat diprediksi”. Pernyataan ini menyatakan bahwa pertukaran informasi sosial di antara individu menawarkan sebuah keuntungan evolusioner. Hipotesa ini adalah dasar dari pengembangan Particle Swarm Optimization

(PSO).

2.2 Algoritma PSO

Particle Swarm Optimization (PSO) adalah teknik

optimasi stokastik berbasiskan populasi yang dikembangkan oleh Dr. Eberhart dan Dr. Kennedy pada tahun 1995, yang terinspirasi oleh tingkah laku sosial kawanan burung atau ikan.

Di dalam PSO, setiap solusi adalah sebuah titik dalam ruang pencarian dan mungkin dapat dianggap sebagai seekor burung. Burung akan menemukan makanannya melalui usahanya sendiri dan kerja sama sosial dengan burung-burung lain di sekitarnya[8]. Seandainya ada skenario seperti ini: suatu kawanan burung mencari makanan secara acak di sebuah area. Hanya ada satu potong makanan di area pencarian tersebut. Semua burung tidak tahu di mana makanan tersebut. Namun mereka mengetahui seberapa jauh makanan itu pada setiap iterasi. Jadi strategi terbaik untuk menemukan makanan itu adalah dengan cara mengikuti burung yang terdekat dengan makanan tersebut[7].

Setiap anggota di dalam kawanan mengadaptasi pola pencariannya dengan belajar dari pengalamannya sendiri dan pengalaman anggota yang lain. Burung tadi direpresentasikan sebagai partikel dalam algoritma. Setiap partikel merepresentasikan sebuah solusi potensial yang berupa sebuah titik di dalam ruang pencarian. Global optimum dianggap sebagai lokasi dari makanan[8].

Semua partikel mempunyai nilai fitness yang dievaluasi oleh fungsi yang dioptimasi dan juga kecepatan (velocity)[7]. Nilai fitness dan kecepatan (velocity) digunakan untuk mengatur arah terbang sesuai dengan pengalaman terbaik kawanan untuk mencari global optimum (gbest) di dalam ruang solusi D-dimensi dengan cara mengikuti partikel optimum pada saat itu dan memperbarui generasi-generasinya. Partikel-partikel tersebut terbang melewati ruang permasalahan D-dimensi dengan belajar dari pengalaman-pengalaman terbaik semua

partikel. Oleh karena itu, partikel-partikel tersebut mempunyai sebuah kecenderungan untuk terbang menuju area pencarian yang lebih baik pada serangkaian pembelajarannya di dalam proses pencarian tersebut[8].

Setiap partikel menyimpan jejak koordinatnya dalam ruang permasalahan yang sehubungan dengan solusi terbaik (nilai fitness) yang telah dicapai sejauh ini. Nilai fitness juga disimpan. Koordinat terbaik yang dicapai sebuah partikel saat tercapainya nilai fitness terbaik pada saat itu disebut sebagai pbest. Sedangkan koordinat terbaik yang dicapai partikel mana pun dalam suatu wilayah tetangga di dalam populasi (subset of the swarm) partikel disebut local best (lbest). Pada saat sebuah partikel mengambil semua populasi sebagai tetanggaan topologikalnya, maka koordinat terbaiknya disebut global best (gbest). Konsep PSO adalah, di setiap langkah waktunya (iterasi/generasi) mengubah kecepatan (mengakselerasi) dari setiap partikel menuju lokasi

pbest dan lbest-nya (untuk varian PSO local version). Akselerasi dipengaruhi syarat yang acak

dengan dibangkitkannya sejumlah angka acak secara terpisah untuk akselerasi menuju lokasi

pbest (dan lbest). Setelah menemukan kedua nilai

terbaik tersebut (pbest dan gbest), partikel kembali lagi memperbarui kecepatan (v) dan posisinya (x) [7].

Pembaharuan partikel diselesaikan dengan persamaan berikut ini. Persamaan (2.1) menghitung kecepatan baru untuk tiap partikel (solusi potensial) berdasarkan pada kecepatan sebelumnya (Vid), lokasi partikel dimana nilai fitness terbaik telah dicapai (pid atau pBest), dan lokasi populasi global (pgd,gBest untuk versi global atau pld, lBest untuk versi lokal) atau local neighborhood pada algoritma versi lokal dimana nilai fitness terbaik telah dicapai. Persamaan (2.2) memperbarui posisi tiap partikel pada ruang solusi. Dua bilangan acak c1dan c2 dibangkitkan sendiri. Penggunaan berat inersia w telah memberikan performa yang meningkat pada sejumlah aplikasi. ) ( () 1 id id id id w V c rand p x V       ) ( () 2 rand pgd xid c    (2.1) id id id x V x   (2.2) id

V adalah kecepatan partikel, xid adalah posisi partikel saat ini (solusi). Posisi dari setiap partikel diperbarui setiap generasi, hal ini dengan menambahkan vektor kecepatan ke vektor posisi sebagaimana persamaan (2.1) di atas. Sedangkan

()

rand adalah bilangan acak antar 0 s/d 1. c1dan c2 adalah faktor pembelajaran yang secara berturut-turut merepresentasikan sebuah komponen kognitif dan sebuah komponen sosial, yang secara berturut-turut mempengaruhi seberapa besar pbest dan gbest

(3)

partikel mempengaruhi pergerakannya. Biasanya 1

c = c2= 2 [7]. w adalah berat inersia yang digunakan untuk menyeimbangkan antara kemampuan pencarian global dan pencarian lokal. Biasanya, berat inersia yang bagus adalah kurang sedikit dari satu.

2.3 Pengaturan Parameter PSO

Ukuran populasi PSO ditetapkan 20 agar dapat mempercepat waktu penghitungan. Hal ini dikarenakan selama inisialisasi, semua partikel harus berada pada ruang yang mungkin. Jadi inisialisasi memerlukan waktu proses yang lebih panjang jika ukuran populasi terlalu besar. Bagaimanapun juga untuk kasus yang kompleks, ukuran populasi yang besar lebih direkomendasikan.

Dalam PSO, tidak banyak parameter-parameter yang perlu diatur. Hanya beberapa parameter-parameter berikut ini yang perlu diatur: kecepatan maksimum Vmax, berat inersia w, konstanta pembelajaran kognitif c1 dan konstanta pembelajaran sosial c2. Kecepatan maksimum

max

V ditetapkan sesuai jarak dinamis partikel. Berat inersia w ditetapkan [0.5 + (Rnd/2.0)]. Konstanta pembelajaran c1 dan c2 ditetapkan 1.49445. 2.4 Constrained Nonlinear Optimation Problems

(CNOPs)

PSO telah terbukti efektif untuk banyak permasalahan optimasi. Banyak penelitian telah dilakukan dalam area ini. Namun CNOPs merupakan area baru untuk PSO. Constrained

Nonlinear Optimization Problems dapat didefiniskan sebagai berikut

Optimalkan f( x), N n x x x x( 1, 2,... ) Dimana gj(x)0 untuk j1,...,p 0 ) (xhj  untuk jq1,...,m Ada 3 komponen dasar, yaitu: kelompok variabel, fungsi yang dioptimasi, dan kelompok constraint yang mengelompokkan variabel yang mungkin. Tujuannya adalah mencari nilai variabel yang mengoptimalkan fungsi sekaligus memenuhi

constraint. Selama beberapa tahun terakhir ini,

beberapa metode diusulkan untuk menangani

constraint dengan algoritma genetika untuk

permasalahan parameter optimasi. Metode-metode ini dikelompokkan (Michalewicz and Schoenauer, 1996) ke dalam empat kategori:

1. Metode Berdasarkan Pada Mempertahankan Solusi-Solusi yang Mungkin

2. Metode Berdasarkan Pada Fungsi-Fungsi Penalti (Penalty Functions)

3. Metode Berdasarkan Pada Suatu Pencarian Untuk Solusi-Solusi Yang Mungkin

4. Metode Hibrid Lainnya

Tabel 1. Dua Belas Uji Kasus Optimasi

Constrained Nonlinear

Func Dim Type Relative size of feasible space LI NE NI G1 13 Quadratic 0.0111% 9 0 0 G2 K Nonlinear 99.8474% 0 0 2 G3 K Polynomial <0.0001% 0 1 0 G4 5 Quadratic 52.1230% 0 0 6 G5 4 Cubic <0.0001% 2 3 0 G6 2 Cubic 0.0066% 0 0 2 G7 10 Quadratic 0.0003% 3 0 5 G8 2 Nonlinear 0.8250% 0 0 2 G9 7 Polynomial 0.5121% 0 0 4 G10 8 Linear 0.0010% 3 0 3 G11 2 Quadratic <0.0000% 0 1 0 G12 3 Quadratic - - - -

* LI: Linear Inequalities, NE: Nonlinear Equations, NI: Nonlinear Inequalities

Deskripsi dari 12 uji kasus, G 1 G12 untuk permasalahan optimasi constrained nonlinear adalah sebagai berikut:

Minimize

        13 5 4 1 2 4 3 2 1 5 5 5 5 5 ) ( 1 i i i xi x x x x x x G  batasan-batasannya: 10 2 2x1x2x10x11 , 8x1x100, 10 2 2x1x3x10x12 , 8x2x110, 10 2 2x2x3x11x12 , 8x3x120, 0 2 4510  x x x , 2x6x7x110, 0 2 8912  x x x , di mana: 1 0xi , i1,...,9, 0xi100,i10,11,12, 1 0 x13 . Solusi: x*(1,1,1,1,1,1,1,1,1,3,3,3,1), G1(x*)15  Maximize

     n i i i n i i n i ix x x x G 1 2 1 2 1 4( ) 2 cos ( ) cos ) ( 2  , batasan-batasannya: 75 . 0 1  

ni xi , x n n i1 i7.5

 , di mana: 10 0xi untuk 1i n. Solusi: untuk n20, G2(x)0.8036.  Maximize

  n i i n x n x G 1 . ) ( ) ( 3  , di mana: 1 1 2

n i xi dan 0xi1 untuk 1i n.

(4)

Solusi:         n n x xi,..., n) 1 ,..., 1 ( , G3(x)1.  Minimize    5.3578547x32 0.8356891x1x5 37.293239x1 ) x G4( 40792.141, batasan-batasannya:    85.334407 0.00568582 5 0.00062621 4 0 xx xx 92 0022053 . 0 x3x5 ,    80.51249 0.0071317 2 5 0.00299551 2 90 xx xx 110 0021813 . 0 x32 ,    9.300961 0.0047026 3 5 0.0012547 1 3 20 x x xx 25 0019085 . 0 x3x4 , di mana: 102 78 x1 ,33 x245,27xi45untuki3,4,5 Solusi:x*(78.0,33.0,29.995,45.0,36.776), 5 . 30665 ) ( 4 x*  G  .  Minimize 3 2 2 3 1 1 0.000001 2 0.000002/3 3 ) ( 5x x x x x G      , batasan-batasannya: 0 55 . 0 3 4 x   x , x3 x40.550 0 8 . 894 ) 25 . 0 sin( 1000 ) 25 . 0 sin( 1000 x3  x4  x1 0 8 . 894 ) 25 . 0 sin( 1000 ) 25 . 0 sin( 1000 x3  x3x4  x2 0 8 . 1294 ) 25 . 0 sin( 1000 ) 25 . 0 sin( 1000 x4  x4x3   di mana: 1200 0xi , i1,2, 0.55xi0.55, i3,4. Solusix*(679.9453,1026.067,0.1188764,0.3962336) 4981 . 5126 ) ( 5x*  G  .  Minimize 3 2 3 1 10) ( 20) ( ) ( 6 xx   xG  , batasan-batasannya: 0 100 ) 5 ( ) 5 (x1 2 x2 2  , 0 81 . 82 ) 5 ( ) 6 (1 2 2 2   x x , di mana: 100 13 x1 dan 0 x2100. Solusi: x*(14.095,0.84296),G6(x*)6961.81381.  Minimize         12 22 1 2 141 16 2 ( 3 10)2 ) ( 7 x x x xx x x x x G         2 5 2 6 2 72 4 5) ( 3) 2( 1) 5 ( 4x x x x 45 ) 7 ( ) 10 ( 2 ) 11 ( 7 x8 2 x9 2 x10 2 , batasan-batasannya: 0 9 3 5 4 105 x1x2x7x8 , 0 120 7 2 ) 3 ( 4 ) 2 ( 3 1 2 2 2 32 4   x x x x , 0 2 17 8 101 2 7 8  x x x x , 0 6 14 2 ) 2 ( 2 2 2 1 2 5 6 2 1       x x xx x x , 0 12 2 5 2 8x1x2x9x10  , 0 40 2 ) 6 ( 8 512 23 2 4   x x x x , 0 7 ) 8 ( 12 6 3x1x2x9 2 x10 , 0 30 3 ) 4 ( 2 ) 8 ( 5 . 0 1 2 2 2 52 6   x x x x , di mana: 0 . 10 0 . 10    xi , i1,...,10. Solusi: , 9906548 . 0 , 095984 . 5 , 773926 . 8 , 363683 . 2 , 171996 . 2 ( *  x ) 375927 . 8 , 280092 . 8 , 828726 . 9 , 321644 . 1 , 430574 . 1 , 3062091 . 24 ) ( 7 x*  G   Maximize ) .( ) 2 sin( ). 2 ( sin ) ( 8 2 1 3 1 2 1 3 x x x x x x G    , batasan-batasannya: 0 1 2 2 1  x   x , 0 ) 4 ( 1x1x2 2 , di mana: 10 0 x1 dan 0 x210. Solusi: G8(x*)0.1.  Minimize        ( 1 10)2 5( 2 12)2 34 3( 4 11)2 ) ( 9 x x x x x G  10x567x62x744x6x710x68x7, batasan-batasannya: 0 5 4 3 2 127 x12 x24x3x42 x5 , 0 10 3 7 282 x1x2x32x4x5 , 0 8 6 23 196 x1x22 x62 x7 , 0 11 5 2 3 4 12 22 1 2 32 6 7  x x x x x x x , di mana: 0 . 10 0 . 10    xi , i1,...,7. Solusi: , 6244870 . 0 , 365726 . 4 , 4775414 . 0 , 951372 . 1 , 330499 . 2 ( *    x ) 594227 . 1 , 038131 . 1 , 6300573 . 680 ) ( 9x*  G  .  Minimize 3 2 1 ) ( 10x x x x G     , batasan-batasannya: 0 ) ( 0025 . 0 1 x4x6  , 0 ) ( 0025 . 0 1 x5x7x4  , 0 ) ( 01 . 0 1 x8x5  , 0 333 . 83333 100 33252 . 833 4 1 6 1xxx   x 0 1250 1250 5 2 4 4 7 2xxx xxx 0 2500 1250000 3 5 5 8 3x  x xxx di mana: 10000 100 x1 , 1000xi10000, i2,3, 1000 10xi , i4,...8. Solusi: , 5985 . 295 , 0174 . 182 , 071 . 5110 , 943 . 1359 , 3167 . 579 ( * x ) 5979 . 395 , 4162 . 286 , 9799 . 217 , 330923 . 7049 ) ( 10x*  G  .

(5)

Minimize 2 2 2 1 ( 1) ) ( 11xxxG  , batasan-batasannya: 0 2 1 2 xx dimana: 1 1   xi , i1,2. Solusi:x*(0.70711,0.5) , G11(x*)0.75000455.  Maximize 100 / ) ) 5 ( ) 5 ( ) 5 ( 100 ( ) ( 12x   x1 2 x2 2 x3 2 G  , batasan-batasannya: 25 . 0 ) ( ) ( ) (x1p 2 x2q2 x3r 2 untuk p,q,r1,3,5,7,9 di mana: 10 0xi (1 i3). Solusi: x*(5,5,5) , G12(x*)1.

2.5 The Modified PSO Algorithm

Untuk CNOPs, metode PSO yang semula perlu dimodifikasi agar memenuhi constraints. Beberapa ide dari metode penanganan constraints dapat digunakan. Metode yang paling langsung adalah metode berdasarkan pada mempertahankan solusi-solusi yang mungkin. Untuk mencari optimum dalam ruang yang mungkin, tiap partikel mencari seluruh ruang tetapi hanya menyimpan jejak solusi-solusi yang mungkin. Dan untuk mempercepat proses ini, semua partikel diinisialisasi sebagai solusi-solusi yang mungkin. Berikut ini adalah algoritmanya:

FOR setiap partikel { DO {

Inisialisasi partikel

} Selama partikel berada dalam ruang yang mungkin (memenuhi batasan-batasan)

}

DO {

FOR setiap partikel { Hitung nilai fitness

IF nilai fitness lebih baik daripada nilai fitness terbaik yang disimpan (pBest) AND partikel berada dalam ruang yang mungkin,

SET nilai saat ini sebagai pBest yang baru }

Pilih partikel dengan nilai fitness terbaik di antara semua partikel sebagai gBest

FOR tiap partikel {

Hitung kecepatan partikel menggunakan persamaan (2.1)

Perbarui posisi partikel menggunakan persamaan (2.2)

}

} WHILE iterasi maksimum/kriteria error minimum belum tercapai

Gambar 1. Pseudo Code Modified PSO

Ada 2 modifikasi dibandingkan dengan PSO mula-mula:

1. Selama inisialisasi, semua pertikel diinisialisasi berulang-ulang sampai memenuhi semua constraint.

2. Selama menghitung nilai pBest dan gBest, hanya posisi dalam ruang yang mungkin yang dihitung.

Algoritma di atas adalah versi global. Untuk versi lokal, hanya ada 1 perbedaan. Sebagai gantinya mencari gBest, setiap partikel mencari nilai yang berdekatan terbaik (lBest) untuk mengupdate kecepatan yang baru.

3. Desain Uji Coba

Pada tabel 1, ada tiga kasus yang memiliki batasan-batasan persamaan nonlinear, yaitu G3, G5, G11. Dalam metode PSO, semua solusi yang diinisialisasi secara acak perlu ditempatkan pada ruang yang mungkin. Jadi untuk batasan-batasan persamaan tersebut, hampir tidak mungkin untuk membangkitkan sekelompok solusi yang mungkin secara acak. Ada beberapa teknik untuk mengeliminisasi batasan-batasan persamaan tersebut. Salah satunya dengan menggunakan penggantian langsung untuk menghilangkan batasan-batasan tersebut, sebagai berikut:

 Fungsi G3, Maximize ) 1 .( . ) 1 ( ) ( 3 1 2 1 1

     n i i n i i n x x n x G  , batasan-batasannya: 1 1 2

n i xi di mana: 0xi1 untuk 1in1  Fungsi G11 Minimize 2 1 2 1 ( 1) ) ( 11xxxG  , di mana: 1xi1, untuk i1.

Untuk setiap fungsi, dimensi ditetapkan sesuai dengan permasalahan constrained nonlinear. Ada 3 uji coba yang dilakukan. Uji coba yang pertama, ukuran populasi sebanyak 20, kecuali fungsi G1 (ukuran populasi 50) dan jumlah iterasi sebanyak 200 kecuali fungsi G7 dan G10 (2000 iterasi). Uji coba yang kedua, ukuran populasi sebanyak 20, kecuali fungsi G1 (ukuran populasi 50) dan jumlah iterasi sebanyak 500, kecuali fungsi G7 dan G10 (5000 iterasi). Sedangkan uji coba ketiga (khusus untuk fungsi G2), menggunakan parameter yang berbeda-beda mengenai jumlah partikel dan jumlah iterasi, yaitu ukuran populasi = 20, 50, 200, 500 dan iterasi untuk masing-masing ukuran populasi adalah 5000, 10000, dan 20000. Algoritma yang digunakan adalah algoritma PSO versi global. Semua algoritma dijalankan selama 20 kali untuk mendapatkan hasil akhir dari gbestval tiap iterasi

(6)

tiap fungsi, nilai terburuk (worst) gbestval tiap fungsi, nilai terbaik (best) gbestval tiap fungsi, dan nilai rata-rata (average) gbestval tiap fungsi. 4. Hasil dan Pembahasan

Tabel 2, tabel 3, dan tabel 4 berikut ini menunjukkan nilai terburuk (worst) gbestval, nilai terbaik (best) gbestval, dan nilai rata-rata (average)

gbestval tiap fungsi. Tabel 2 menunjukkan hasil

PSO pada eksperimen 1 (200 iterasi), tabel 3 menunjukkan hasil PSO pada eksperimen 2 (500 iterasi), sedangkan tabel 4 menunjukkan hasil PSO pada eksperimen 3 (fungsi G2). Tabel 5 menunjukkan perbandingan antara algoritma PSO dan algoritma genetika dalam mencari nilai optimum fungsi. Warna merah menunjukkan nilai yang lebih bagus di antara kedua algoritma.

Tabel 2. Hasil PSO pada eksperimen 1 (Global, populasi 20, 200 iterasi, 20 kali running)

Uji kasus G3 dijalankan dengan k=10 variabel Func Type Optimum Worst Best Average G1* Min -15 -14.3662 -14.6821 -14.5456 G3 Max 1.0 0.9906 0.9990 0.9953 G4 Min -30665.5 -30256 -30655 -30555 G5 Min 5126.4981 - - - G6 Min -6961.8 -6885.2 -6954.1 -6930.1 G7** Min 24.306 27.1285 24.3580 25.5715 G8 Max 0.09583 0.0958 0.0958 0.0958 G9 Min 680.63 681.3693 680.6643 680.9282 G10** Min 7049.33 9120.4 7326.4 8131.2 G11 Min 0.75 0.75 0.75 0.75 G12 Max 1.0 1 1 1 * Ukuran populasi 50

** Iterasi maksimum diubah menjadi 2000 Tabel 3. Hasil PSO pada eksperimen 2 (Global, populasi 20, 500 iterasi, 20 kali running)

Uji kasus G3 dijalankan dengan k=10 variabel Func Type Optimum Worst Best Average G1* Min -15 -14.5543 -14.7093 -14.6373 G3 Max 1.0 0.9969 0.9998 0.9986 G4 Min -30665.5 -30278 -30659 -30592 G5 Min 5126.4981 - - - G6 Min -6961.8 -6954.1 -6961.7 -6960.5 G7** Min 24.306 26.8426 24.3337 25.0955 G8 Max 0.09583 0.0958 0.0958 0.0958 G9 Min 680.63 681.0724 680.6496 680.7408 G10** Min 7049.33 9101.4 7132.1 7996.7 G11 Min 0.75 0.75 0.75 0.75 G12 Max 1.0 1 1 1 * Ukuran populasi 50

** Iterasi maksimum diubah menjadi 5000

Tabel 4. Hasil PSO pada eksperimen 3 (Fungsi G2) (Nilai optimum 0.8936)

Ukuran Pop Max iterasi Worst Best Average 5000 0.2868 0.7051 0.4866 10000 0.2698 0.7313 0.4887 20 20000 0.2596 0.7368 0.4621 5000 0.4774 0.7772 0.5891 10000 0.3376 0.7682 0.5714 50 20000 0.3987 0.7623 0.5860 5000 0.5174 0.8019 0.7143 10000 0.5699 0.7930 0.7135 200 20000 0.4445 0.8108 0.7305 5000 0.7245 0.8108 0.7814 10000 0.6580 0.8108 0.7635 500 20000 0.6034 0.8108 0.7485

Tabel 5. Perbandingan Algoritma PSO dan GA

Func Type Optimum PSO 500* GA 20000** G1 Min -15 -14.7093 -14.7864 G3 Max 1.0 0.9998 0.9997 G4 Min -30665.5 -30659 -30664.5 G5 Min 5126.4981 - - G6 Min -6961.8 -6961.7 -6952.1 G7**** Min 24.306 24.3337 24.620 G8 Max 0.09583 0.0958 0.0958 G9 Min 680.63 680.6496 680.91 G10**** Min 7049.33 7132.1 7147.9 G11 Min 0.75 0.75 0.75 G12 Max 1.0 1 1***

* Hasil dari tabel 4.3, 500 iterasi

** Hasil dari Koziel et al.,[5], 20000 iterasi *** Untuk G12, GA menggunakan 500 iterasi **** Maksimum iterasi diubah menjadi 5000  Eksperimen 1 (200 iterasi)

Tabel 2 menunjukkan hasil dari eksperimen pertama (200 iterasi). Tabel ini menunjukkan bahwa untuk sebelas uji kasus CNOPs, PSO berhasil mendapatkan nilai optimum atau mendekati optimum dalam 200 iterasi, kecuali untuk kasus G5, yang tidak dapat diselesaikan karena persamaan batasan-batasannya.

Eksperimen 2 (500 iterasi)

Tabel 3 menunjukkan hasil dari eksperimen kedua (500 iterasi). Tabel ini menunjukkan bahwa untuk sebelas uji kasus CNOPs, PSO berhasil mendapatkan nilai optimum atau mendekati optimum dalam 500 iterasi, kecuali untuk kasus G5, yang tidak dapat diselesaikan karena persamaan batasan-batasannya. Pada eksperimen ini, PSO mendapatkan hasil-hasil yang lebih baik dibandingkan dengan eksperimen kedua. Namun waktu yang dibutuhkan untuk mendapatkan nilai optimum fungsi lebih lama dibandingkan dengan eksperimen kedua.

(7)

Eksperimen 3 (fungsi G2)

PSO tidak dapat menemukan nilai optimum yang terbaik dengan pengaturan seperti pada eksperimen 1 dan 2. Untuk itu, dicoba variasi pengaturan jumlah populasi dan jumlah maksimum iterasi yang digunakan. PSO berhasil mendapatkan nilai optimum dengan jumlah populasi yang besar. Hasilnya dapat dilihat pada tabel 4.

Perbandingan Algoritma PSO dan GA Tabel 5 adalah perbandingan hasil uji coba terbaik dalam 20x eksekusi untuk agoritma PSO (500 iterasi) dengan algoritma genetika (20000 iterasi). Tabel ini menunjukkan bahwa PSO mendapatkan hasil yang lebih baik atau serupa dengan iterasi yang jauh lebih sedikit dibandingkan dengan algoritma genetika.

5. Kesimpulan

Berdasarkan uji coba dan evaluasi terhadap perangkat lunak yang dibangun, dapat diambil kesimpulan sebagai berikut:

1. Algoritma PSO mampu menyelesaikan sebagian besar permasalahan optimasi dengan constraint.

2. Dibandingkan dengan algoritma genetika, algoritma PSO memiliki beberapa keunggulan, di antaranya: algoritma PSO sederhana (tidak banyak parameter-parameter yang diatur), algoritma PSO jauh lebih cepat dalam mendapatkan nilai optimum.

Paper ini hanya menunjukkan langkah pertama dalam penelitian untuk menyelesaikan permasalahan optimasi constrained nonlinear dengan menggunakan particle swarm optimization (PSO). Agar berguna dalam aplikasi praktis, kemampuan PSO dalam menyelesaikan permasalahan optimasi constrained nonlinear yang lebih komplek lagi, akan perlu untuk dibuktikan. 6. Daftar Pustaka

[1] Eberhart, R. C. and Kennedy, J. “A new optimizer using particle swarm theory”, Proceedings of the Sixth International Symposium on Micro Machine and Human Science. Nagoya, Japan, pp 39-43, 1995. [2] Kennedy, J. dan Eberhart, R. C. “Particle

swarm optimization” Proceedings of IEEE International Conference on Neural Networks. Piscataway, NJ, IEEE service center.pp. 1942-1948, 1995.

[3] Shi, Y. and Eberhart, R. C. “A modified particle swarm optimizer”, Proceedings of the

IEEE International Conference on Evolutionary Computation., Piscataway, NJ, IEEE Press. pp. 69-73, 1998.

[4] Kennedy, J., Eberhart, R. C., and Shi, Y., Swarm intelligence, San Fransisco: Morgan Kaufmann Publisher, 2001.

[5] Koziel, S. and Michalewicz, Z., “Evolutionary Algorithms, Homomorphous Mappings, and Constrained Parameter Optimization”.

Evolutionary Computation, vol. 7, no. 1. pp.

19-44, 1999.

[6] Michalewicz, Z. and Schoenauer, M., “Evolutionary Algorithms for Constrained Parameter Optimization Problems”,

Evolutionary Computation, vol. 4, no. 1, pp.

1-32, 1996.

[7] Hu , Xiaohui. 2006. “PSO Tutorial”, <URL: http://www.swarmintelligence.org/tutorials.php >.

[8] Liang, Jing J., Qin, A. Kai., Suganthan, Ponnuthurai Nagaratnam, dan Baskar, S., “Evaluation of Comprehensive Learning Particle Swarm Optimizer “. LNCS 3316,:230-235, 2004.

Gambar

Tabel 1. Dua Belas Uji Kasus Optimasi  Constrained Nonlinear  Func  Dim  Type  Relative
Gambar 1. Pseudo Code Modified PSO
Tabel  2,  tabel  3,  dan  tabel  4  berikut  ini  menunjukkan  nilai  terburuk  (worst)  gbestval,  nilai  terbaik (best) gbestval, dan nilai rata-rata (average)  gbestval  tiap  fungsi

Referensi

Dokumen terkait

Localizer yang diperoleh dari laporan pilot yang tidak menerima pancaran signal dari Localizer, yakni pesawat yang gagal melakukan pendaratan karena saat itu

Dapatan daripada temubual menunjukkan bahawa guru besar telah mengamalkan kepemimpinan situasi mengikut ciri guru iaitu stail mengarah telah diaplikasikan kepada

RENJA disusun berdasarkan RENSTRA BPKAD Provinsi Bali sebagai terjemahan dari RPJMD Provinsi Bali yang dilaksanakan pada tahun 2017 meliputi Program Pelayanan

BAB IV PENERAPAN JUSTICE COLLABORATOR DALAM TINDAK PIDANA KORUPSI MENURUT UNDANG-UNDANG NOMOR 31 TAHUN 2014 TENTANG PERLINDUNGAN SAKSI DAN KORBAN DAN PERLINDUNGAN

Bondowoso Jatim 187 15052223720033 HIDAYATUL MAGHFIROH Fiqih MTsS MIFTAHUL ULUM SUMBER GADING Kab... ROHMAN Fiqih MTSS MABDAUL

Sehingga peneliti tertarik untuk mengangkat judul “Pengaruh Kompetensi Pedagogik, Kompetensi Kepribadian, Kompetensi Profesional, Dan Kompetensi Sosial Tenaga Akunan

Wacana pemekaran daerah Cilacap Barat tersebut di latar belakangi oleh beberapa faktor, seperti luas wilayah dan jumlah penduduk Kabupaten Cilacap yang begitu