OPTIMISASI RANGE DAN ENDURANCE SAAT FASE TERBANG JELAJAH (CRUISE) PESAWAT LSU-05 MENGGUNAKAN FIREFLY ALGORITHM (Studi Kasus : Pusat Teknologi Penerbangan LAPAN)
NURUL KHIKMAH
PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2015 M / 1436 H
PENGESAHAN UJIAN Skripsi ini berjudul *OPTIMISASI RANGE DAN ENDURANCE SAAT
TERBAIIG JELAJAH PESAWAT LSU-05 MENGGI'NAKAFI FIREFLY ALGORIT'HIW yang ditulis oleh Nurul Khikmafi, IYIM 11110940ffi0{D telah diuji dan dinyatakan lulus dalam sidang Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Selas4 18 Agustus
2015. Skripsi ini telah diterima untuk memenuhi salah satu persyaratan dalam memperoleh gelar sarjana shata satu (Sl) Progrun Studi Maternatika.
Menyetujui,
Penguji
tI
Sr^l{, Irma Fauziah. M.Sc NrP.19831005 201503
I
i$P.
001
19800703 201101 2 00s
Pembimbing
Yanne Irene. M. Si
II
Liebenlito, M.Si
NIP.19741231 200s01 2 018
Mengetahui,
Sains dan Teknologi
Ketua Program Stu{i Matematika
-=fl-mclto =z
Dr. Nina Fitrivati. M.Kom 003
NIP. 19760414 200604 2 001
ABSTRAK NURUL KHIKMAH, Optimisasi Range dan Endurance Saat Fase Terbang Jelajah (Cruise) Pesawat LSU-05 Menggunakan Firefly Algorithm. Dibawah bimbingan YANNE IRENE M.Si dan MUHAZA LIEBENLITO M.Si
Terbang jelajah (Cruise) merupakan fase penerbangan dimana pesawat berada pada ketinggian dan kecepatan tertentu. Pada fase terbang jelajah terdapat dua hal yang berkaitan yaitu Range (jarak tempuh) dan Endurance (waktu tempuh). Range dan Endurance yang maksimal merupakan jarak dimana pesawat dapat terbang take off dan landing dengan bahan bakar yang terbatas. Keterbatasan bahan bakar saat cruise sangat dipengaruhi oleh kecepatan dan bobot pesawat itu sendiri. LAPAN Survillance UAV (LSU-05) merupakan pesawat tanpa awak yang dirancang peneliti LAPAN agar dapat membantu pekerjaan manusia, misalnya dalam misi kemanusiaan dan misi terbang jauh pada rekor MURI. Oleh karena itu UAV diharapkan mampu menghasilkan range dan endurance yang maksimal saat melakukan misinya. Penelitian ini menggunakan Firefly Algorithm (FA) sebagai metode untuk mencari solusi dari masalah optimisasi jarak tempuh dan waktu tempuh maksimum. Hasil dari penerapan metode FA pada LSU-05 diperoleh range maksimum 300.44 km dengan kecepatan jelajah 110 km/h. LSU-05 juga dapat dioperasikan dengan kecepatan jelajah 60.12 km/s dan diperoleh endurance maksimum 1.3 jam, dengan masingmasing maksimum fuel consumption 16 kg atau bekisar 20.78 liter. Kata Kunci : UAV, Terbang Jelajah, Waktu Tempuh, Jarak Tempuh, Firefly Algorithm
iii
ABSTRACT NURUL KHIKMAH, Optimization Range and Endurance When Fly Cruising Phase LSU-05 Aircraft Using Firefly Algorithm Method. Under the guidance of YANNE IRENE M.Si and MUHAZA LIEBENLITO M.Si .
Fly cruising (Cruise) is a phase of flight in which the aircraft is at a certain altitude and speed. Fly cruising have two aspects there are Range (mileage) and Endurance (travel time). The maximum Range and Endurance are the maximum distance which the aircraft can take off and landing flight with limited fuel. Cruise phase fuel consumption can be influenced by the speed and weight of the aircraft.LSU-05 is an unmanned aircraft designed to developed researchers in LAPAN to help human kind,for example in humanitarian missions and missions to fly away in the record MURI. Therefore UAV is expected to generate maximum range and endurance. This research used Firefly Algorithm (FA) as a method for finding the solution of an optimization problem for Range and Endurance. By applying this method, the LSU-05 should be operated at a cruising speed of 110 km / h in order to obtain the maximum range of 300.44 km. LSU-05 can also be operated with a cruising speed of 60.12 km / s with a maximum of 1.3 hours of endurance. Each with a maximum of 16 kg of fuel or about 20.78 liters. Keywords :UAV, Cruise, Range, Endurance ,Firefly Algorithm
iv
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuh Alhamdulillah, Segala puji bagi Allah SWT, Tuhan Semesta Alam yang senantiasa melimpahkan rahmat dan nikmat-Nya kepada kita semua tidak terkecuali pada penulis, sehingga penulis dapat menyelesaikan skripsi ini yang berjudul “Optimisasi Range dan Endurance Saat Terbang Jelajah Pesawat LSU-05 Menggunakan Firefly Algorithm”. Shalawat serta salam senantiasa tercurah kepada Nabi Muhammad SAW, beserta keluarga, para sahabatnya dan para pengikutnya sampai akhir zaman. Dalam penyusunan skripsi ini, penulis banyak mendapatkan dorongan, semangat, motivasi, dan bimbingan serta kritikan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terimakasih kepada: 1.
Bapak dan Mamah tercinta yang tiada henti-hentinya memberikan doa, kasih sayang, motivasi, semangat, serta dukungannya baik yang berupa moral ataupun materil kepada penulis.
2.
Bapak Dr. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
3.
Ibu Nina Fitriyati, M.Kom, selaku Ketua Program Studi Matematika FST UIN Syarif Hidayatullah Jakarta.
v
4.
Ibu Suma’inna, M.Si, selaku Sekertaris Program Studi Matematika FST UIN Syarif Hidayatullah Jakarta yang telah membantu proses administrasi.
5.
Ibu Yanne Irene, M.Si selaku pembimbing I yang telah banyak membantu dan memberikan motivasi penulisan skripsi ini.
6.
Bapak Muhaza Liebenlito, M.Si selaku pembimbing II yang telah banyak membantu penulisan skripsi ini dan memberikan inspirasi awal dibuatnya skripisi ini.
7.
Bapak Bambang Ruswandi, M.Stat dan Ibu Irma Fauziah, M.Sc sebagai dosen penguji dalam penulisan skripsi ini.
8.
Seluruh Ibu/ Bapak Dosen Program Studi Matematika FST Syarif Hidayatullah Jakarta yang selama perkuliahan telah memberikan ilmuilmunya dan pengalaman yang bermanfaat.
9.
Noer Abdillah sebagai suami dan dosen pembimbing hidup yang selalu membantu, memberi semangat, motivasi, dukungan sejak awal penulisan sampai saat ini.
10.
Adik-adikku tercinta Silvi dan Nabil terima kasih atas kasih sayang dan keceriaan selama ini kepada penulis.
11.
Teman-teman Matematika 2011. Terimakasih atas dukungan dan kerja sama nya selama 4 tahun ini. Penulis menyadari bahwa penulisan skripsi ini masih banyak kekurangan dan
jauh dari kesempurnaan, oleh karena itu penulis memohon maaf jika terdapat
vi
kesalahan yang kurang berkenan, dan penulis harapkan kritik dan saran demi perbaikan penulisan dan penelitian ini. Semoga skripsi ini dapat bermanfaat dan memberikan kontribusi yang berarti baik penulis khususnya dan bagi pembaca umumnya. Amin. Wassalamu’alaikum Warahmatullahi Wabarakatuh
Tangerang, Agustus 2015
`
Penulis
vii
DAFTAR ISI
HALAMAN PENGESAHAN ........................................................................ ii ABSTRAK .................................................................................................... iii ABSTRACT .................................................................................................. iv KATA PENGANTAR .................................................................................... v DAFTAR ISI ................................................................................................... viii DAFTAR GAMBAR ...................................................................................... x DAFTAR TABEL .......................................................................................... xii DAFTAR LAMPIRAN .................................................................................. xiv
BAB I PENDAHULUAN 1.1 Latar Belakang ............................................................................. 1 1.2 Rumusan Masalah ....................................................................... 3 1.3 Tujuan Penelitian ......................................................................... 3 1.4 Manfaat Penelitian ...................................................................... 4 1.5 Batasan Masalah ......................................................................... 4 BAB II LANDASAN TEORI 2.1 Gambaran Objek LSU-05 ........................................................... 5 2.2 Bagian-Bagian pada LSU-05 ...................................................... 6
viii
2.3 Konfigurasi awal pesawat LSU-05 .............................................. 7 2.3.1 Karakteristik Aerodinamika ............................................... 7 2.3.2 Massa dan Geometri Pesawat ............................................ 12 2.3.3 Sistem Propulsi .................................................................. 12 2.4 Gaya-gaya pada Pesawat Terbang ............................................... 13 2.5 Optimisasi ................................................................................... 14 2.6 Maksimum dan Minimum Fungsi .............................................. 15 2.7 Maksimum dan Minimum Lokal ................................................ 16 2.8 Firefly Algorithm ........................................................................ 14 2.8.1 Inspirasi ............................................................................. 18 2.8.2 Algoritma ........................................................................... 19 2.8.3 Ketertarikan, Jarak dan Perpindahan ................................. 19 BAB III METODOLOGI PENELITIAN 3.1 Studi Literatur ............................................................................... 24 3.2 Implementasi ................................................................................ 24 3.3 Analisis Hasil ................................................................................ 26 BAB IV HASIL DAN PEMBAHASAN 4.1 Fungsi Uji ..................................................................................... 28 4.2 Maksimum Range dan Endurance Problem ................................. 33
ix
4.3 Optimisasi Jarak (Range) Saat Terbang Jelajah Menggunakan FA .................................................................................................. 37 4.4 Optimisasi Waktu Tempuh (Endurance) Saat Terbang Jelajah Menggunakan FA .............................................................. 39 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan.................................................................................... 42 5.2 Saran .............................................................................................. 43
DAFTAR PUSTAKA .................................................................................... 45 LAMPIRAN .................................................................................................... 47
x
DAFTAR GAMBAR Gambar 2.1
Bagian-bagian pesawat............................................................. 6
Gambar 2.2
Kurva Koefisien Gaya Angkat ................................................. 9
Gambar 2.3
Kurva Polar Gaya Hambat Pesawat LSU-05 ........................... 10
Gambar 2.4
Model LSU-05 Pada Uji Wind Tunnel ..................................... 11
Gambar 2.5
Sketsa Grafik fungsi f dengan daerah asal ............................... 17
Gambar 2.6
Minimum Lokal dan Maksimum Lokal ................................... 18
Gambar 2.7
Flowchart Firefly Algorithm .................................................... 18
Gambar 3.1
Diagram Alur Penyelesaian Masalah ....................................... 27
Gambar 4.1
Grafik 2D Fungsi Alpine 1....................................................... 29
Gambar 4.2
Posisi Awal dari 50 fireflies ..................................................... 29
Gambar 4.3
Posisi akhir setelah 1000 iterasi ............................................... 29
Gambar 4.4
Grafik 2D fungsi De Jong ....................................................... 30
Gambar 4.5
Posisi Awal dari 50 fireflies ..................................................... 30
Gambar 4.6
Posisi akhir setelah 500 iterasi ................................................. 30
Gambar 4.7
Grafik 2D fungsi Rastrigin ....................................................... 31
Gambar 4.8
Posisi Awal dari 50 fireflies ..................................................... 31
Gambar 4.9
Posisi akhir fireflies setelah 1000 iterasi .................................. 32
Gambar 4.10 Grafik 2D fungsi Range ........................................................... 39 Gambar 4.11 Posisi Awal dari 25 fireflies ..................................................... 39 Gambar 4.12 Posisi akhir fireflies setelah 100 iterasi .................................... 39
xi
Gambar 4.13 Grafik 2D fungsi Endurance .................................................... 41 Gambar 4.14 Posisi Awal dari 25 fireflies ..................................................... 41 Gambar 4.15 Posisi akhir 25 fireflies setelah 100 iterasi ............................... 41
xii
DAFTAR TABEL Tabel 2.1
Koefisien Aerodinamika LSU-05 ............................................ 8
Tabel 2.2
Data Optimasi Aerodinamika................................................... 10
Tabel 2.3
Spesifikasi LSU-05 .................................................................. 12
Tabel 2.4
Spesifikasi Engine Desert Aircraft (DA-150) LSU-05 ............ 12
Tabel 4.1
Hasil Percobaan Fungsi Uji Optimasi Menggunakan FA ........ 32
Tabel 4.3
Karakteristik LSU-05 yang digunakan dalam perhitungan ...... 36
xiii
DAFTAR LAMPIRAN Lampiran I
: Source Code Fungsi Alpine 1
Lampiran II
: Source Code Fungsi De Jong
Lampiran III : Source Code Fungsi Rastrigin Lampiran IV : Hasil Uji Fungsi Uji Optimasi Lampiran V
: Source Code Fungsi Max Range
Lampiran VI : Hasil Perhitungan Range menggunakan FA Lampiran VII : Source Code Fungsi Max Endurance Lampiran VIII : Hasil Perhitungan Endurance Menggunakan FA
xiv
BAB I PENDAHULUAN 1.1 Latar Belakang Kebutuhan terhadap pesawat ringan tanpa awak atau Unmanned Aerial Vehicle (UAV) meningkatkan minat berbagai pihak untuk mengembangkan UAV. Di Indonesia pengembangan UAV masih dalam tahap awal kematangannya, sehingga masih terdapat banyak ruang untuk berkembang [4]. Lembaga Penerbangan dan Antariksa Nasional (LAPAN) merupakan salah satu lembaga yang mengembangkan teknologi UAV yang diberi nama LAPAN Surveilance UAV (LSU). LSU besutan LAPAN ini telah di uji terbang dengan melakukan test high speed taxi dengan kecepatan 80 km/h di Rumpin Airfield AU. Pesawat nirawak LSU-05 merupakan generasi ke lima dari varian LSU yang mampu membawa beban payload hingga 30 kg. Pesawat ini digerakkan oleh gaya dorong dari mesin propulsi motor bahan bakar piston dan mampu membawa bahan bakar sebanyak 16 kg. Oleh karena itu pesawat ini masih memiliki batasan yang cukup signifikan dalam jangkauan terbang (Range), waktu penerbangan (Endurance) serta berat payload yang mampu dibawanya. Dalam operasi penerbangan pesawat terdiri dari beberapa urutan fase penerbangan yaitu Take off , Cruising dan Landing. Namun, fase yang menjadi fokus dalam penelitian ini adalah terbang jelajah (Cruising) . Terbang jelajah merupakan fase dimana pesawat berada pada ketinggian tertentu sebagai pengintai yang melakukan misi seperti pemetaan wilayah, keamanan 1
sipil, pemadam kebakaran atau pemeriksaan jalur pemipaan dan sebagainya. Oleh karena itu dengan karakteristik pesawat yang terbatas maka perlu mencari solusi atas faktor yang menjadi kendala pada saat fase terbang jelajah. Penelitian ini dilakukan untuk memperoleh jarak terbang maksimum yang dipengaruhi dua variabel keputusan (variabel decision) yakni kecepatan dan massa pesawat. Faktor kendala merupakan hal-hal yang dapat mempengaruhi kinerja pesawat. Pada penelitian ini yang menjadi faktor kendala adalah terbatasnya bahan bakar yang mampu dibawa dan ketidakstabilan kecepatan yang dioprasikan kontroler akan membuat konsumsi bahan bakar menjadi berlebih sehingga penerbangan menjadi tidak maksimal. Metode optimisasi dapat dibagi menjadi dua yaitu stokastik dan deterministik. Metode klasik yang digunakan dalam penyelesaian masalah optimisasi termasuk dalam kategori deterministik. Metode ini didasari dengan pencarian gradien (garis miring), contohnya Metode Newton Rhapson dan Hill Climbing. Namun di beberapa kasus metode ini tidak berhasil dikarenakan terjadi diskontinuitas terhadap fungsi objektif dan solusi global terjebak di puncak lokal. Sedangkan penggunaan metode stokastik terbagi menjadi dua yaitu heuristik dan metaheuristik. Secara harfiah heuristik berfungsi sebagai penemu atau pencari dengan menggunakan trial dan error .Hal ini biasanya digunakan untuk mencari solusi yang mudah namun bukan solusi yang
terbaik.
Pengembangan
selanjutnya
untuk
metode
heuristik
disebut
metaheuristik. Pada aplikasinya algoritma metaheuristik biasa digunakan untuk 2
pergerakan acak (randomization) dan pencarian lokal. Randomization memberikan jalan yang baik untuk beralih dari pencarian lokal menjadi pencarian global. Dimana metaheuristik yang paling cocok untuk optimisasi global [10]. Metode metaheuristik yang digunakan penulis dalam skripsi ini adalah Firefly Algorithm (FA) atau Algoritma Kunang-Kunang untuk menyelesaikan masalah optimisasi Range dan Endurance saat terbang jelajah pada pesawat LSU-05. 1.2 Rumusan Masalah Berdasarkan latar belakang masalah yang dikemukakan, maka peneliti dapat mengidentifikasi masalah antara lain: 1.
Bagaimana performa FA terhadap fungsi uji optimisasi?
2.
Bagaimana operasi UAV saat terbang jelajah sehingga Range yang dihasilkan dapat maksimum menggunakan FA?
3.
Bagaimana operasi UAV saat terbang jelajah sehingga Endurance yang dihasilkan dapat maksimum menggunakan FA?
1.3 Tujuan Penelitian Berdasarkan rumusan masalah diatas, maka tujuan dilakukannya penelitian ini adalah sebagai berikut: 1.
Mengetahui performa FA terhadap fungsi uji optimisasi.
2.
Mengetahui operasi UAV saat terbang jelajah sehingga Range yang dihasilkan dapat maksimum menggunakan FA.
3
3.
Mengetahui Bagaimana operasi UAV saat terbang jelajah sehingga Endurance yang dihasilkan dapat maksimum menggunakan FA
1.4 Manfaat Penelitian Penelitian ini diharapkan dapat menjadi nilai acuan massa dan kecepatan yang digunakan kontroler pada saat pengoprasian terbang jelajah LSU-05. Sehingga sesuai dengan misi penerbangan LSU-05 akan memaksimalkan range atau endurance. Serta dapat menunjukkan kinerja FA pada fungsi yang tidak dapat diselesaikan dengan metode optimisasi numerik. 1.5 Batasan Masalah Beberapa batasan dalam pembuatan tugas akhir ini diantaranya: 1. Arah angin tidak berpengaruh. 2. Ketinggian saat terbang jelajah konstan. 3. Tidak melakukan maneuver saat terbang jelajah. 4. Biaya pembelian BBM dan lainnya tidak disertakan dalam perhitungan.
4
BAB II LANDASAN TEORI 2.1
Gambaran Objek LSU UAV (Unmanned Aerial Vehicle) adalah sebuah pesawat ringan tanpa awak
yang dikendalikan dari darat dengan menggunakan remote control dan dapat juga terbang secara autonomus sesuai dengan way point yang diinginkan. Dalam skripsi akan dibahas prestasi terbang jelajah pesawat tanpa awak yang dinamakan LSU-05 menggunakan FA. Program LSU-05 adalah pengembangan pesawat tanpa awak yang didesain sebagai sarana pembelajaran yang praktis mengenai teknologi pesawat terbang, sekaligus mengembangkan teknologi UAV untuk berbagai misi, program ini cukup mengangkat nama LAPAN, beberapa produk LSU, telah mampu menjalankan berbagai misi, dan terus akan menajamkan misi nya di tiga bidang, yaitu : pertahanan, kebencanaan dan pemetaan resolusi tinggi. Program LSU ini telah menghasilkan lima jenis prototype UAV, yaitu LSU-01, 02, 03, 04 dan 05. Misi yang telah dijalani juga beragam, seperti pemantauan mitigasi bencana (gunung-api dan banjir ), pemantauan untuk pertanian, operasi pengamanan dan latgab ABRI dan misi terbang jauh untuk mencatatakan rekor MURI dengan terbang nonstop 200 km.
5
2.2
Bagian-bagian Pada LSU-05 Secara umum pesawat memiliki beberapa bagian yang penting dalam
menunjang performanya yaitu:
Gambar 2.1 Bagian-bagian pesawat a. Wing atau yang dikenal dengan sayap pesawat merupakan penghasil gaya angkat. b. Fuselage merupakan badan atau kerangka pesawat terbang merupakan komponen utama penopang wing,engine,landing gear, bidang control dan komponen lainnya. c. Aileron berfungsi untuk membuat gerakan memutar atau sering disebut juga sebagai bidang kemudi guling atau biasa disebut roll. d. Horizontal Stabilizer berfungsi untuk menjaga pesawat stabil terhadap arah angin pada arah sumbu horizontal.
6
e. Elevator berfungsi untuk menaikkan dan menurunkan hidung pesawat atau biasa disebut pitch. f. Vertical Stabilizer berfungi untuk menjaga pesawat stabil terhadap arah angin pada arah sumbu vertikal. g. Rudder berfungsi untuk membelokkan pesawat ke kanan maupun ke kiri. Gerakan yang disebabkan oleh rudder disebut gerakan yaw. h. Landing Gear berungsi untuk menopang berat pesawat saat di darat dan berfungsi sebagai roda pendaratan. Berdasarkan letaknya ada dua macam landing gear yaitu nose landing gear dann tail landing gear. i. Engine berfungsi sebagai penggerak dari propeller pesawat terbang. Agar menghasilkan gaya dorong pada pesawat, shaftengine harus bergarak memutar dan putaran ini yang digunakan propeller untuk menghasilkan gaya dorong [4]. 2.3
Konfigurasi Awal Pesawat LSU-05 Berikut beberapa data teknik atau spesifikasi data dari LSU-05 yang akan
sangat berguna dalam perhitungan prestasi tebang jelajah pesawat LSU-05. 2.3.1
Karakteristik Aerodinamika
Dalam menlakukan analisis prestasi terbang, karakteristik aerodinamika ini menjadi sangat penting, karena hal ini cukup berpengaruh pada perhitungan. Karakteristik aerodinamika ini berupa koefisien-koefisien aerodinamika berupa koefisien gaya angkat, gaya hambat dan momen yang timbul akibat dari interaksi udara dengan pesawat.
7
Dalam tugas akhir ini akan digunakan karakteristik aerodinamika dari hasil eksperimental awal (uji wind tunnel) yang dilakukan oleh peneliti pada bidang Aerodinamik Pusat Teknologi Penerbangan LAPAN [8]. Namun dalam hal ini uji wind tunnel yang dilakukan masih berupa data awal dan belum termasuk setting flaps. Sehingga data yang dipakai masih ada beberapa asumsi terutama dalam koefisien gaya angkat maksimum yang dipengaruhi oleh setting flaps. Namun dalam perhitungan yang dilakukan disini sudah dibuat worksheet sedemikian rupa sehingga data terbaru bisa langsung dientri dan akan mendapatkan hasil perhitungan yang terbaru pula. Berikut data aerodinamika yang dipakai dalam perhitungan prestasi terbang LSU-05 : Tabel 2.1 koefisien aerodinamika LSU-05 Sumber : Soemaryanto, Arifin Rasyadi.2015
ALPHA CD
CL
CM
CN
CA
XCP
-9
0.038
-0.332
0.2969
-0.334
-0.014
-0.89
-6
0.031
-0.055
0.1782
-0.058
0.025
-3.087
-3
0.031
0.231
0.0516
0.229
0.043
0.225
-1
0.034
0.43 -0.0357
0.429
0.042
-0.083
0
0.038
0.532 -0.0798
0.532
0.038
-0.15
1
0.042
0.634
-0.125
0.635
0.031
-0.197
3
0.053
0.843 -0.2188
0.845
0.009
-0.259
5
0.068
1.054 -0.3154
1.056
-0.024
-0.299
8
8
0.093
1.332 -0.4539
1.332
-0.093
-0.341
9
0.102
1.412 -0.5035
1.41
-0.12
-0.357
10
0.11
1.483 -0.5533
1.479
-0.149
-0.374
12
0.126
1.598
1.59
-0.209
-0.405
15
0.139
1.651 NA
1.631
-0.293 NA
16
0.137
1.613 NA
1.589
-0.313 NA
18
0.093
0.998 NA
0.978
-0.22 NA
20
0.082
0.327 NA
0.335
-0.035 NA
22
0.099
-0.24 NA
-0.185
0.182 NA
-0.644
Berdasarkan tabel 2.1 maka diperoleh kurva koefisien gaya angkat terhadap sudut serang dan kurva polar hambat pesawat LSU-05. Berikut kurva karakteristik aerodinamika yang diperoleh :
2
Lift Coeficient y = 0.0975x + 0.5369
Lift Coefficient
1.5 1
Lift Coeficien t
0.5 0
-10
-5
0 -0.5
5 10 Angle of Attack [deg]
15
Gambar 2.2 Kurva Koefisien Gaya Angkat Sumber : Soemaryanto, Arifin Rasyadi.2015
9
Drag Polar
0.14
y = 0.0427x2 - 0.0093x + 0.0304
Drag Coeficient
0.12 0.1 0.08
Drag Polar 0.06
Poly. (Drag Polar)
0.04 0.02 0
-0.5
0
0.5 1 Lift Coeficient
1.5
2
Gambar 2.3 Kurva Polar Hambat Pesawat LSU-05 Sumber : Soemaryanto, Arifin Rasyadi.2015
Selain data aerodinamika diatas, untuk keperluan analisis prestasi terbang akan dilakukan optimisasi terhadap karakteristik aerodinamika yang diperoleh. Optimisasi karakteristik aerodinamika ini dilakukan untuk mendapatkan perbandingan C L/CD, CL3/CD2 atau CL/CD2. Berikut hasil data optimisasi aerodinamika untuk beberapa kondisi tertentu yang akan diperlukan dalam analisis : Tabel 2.2 Data Optimisasi Aerodinamika Sumber : Soemaryanto, Arifin Rasyadi.2015
Optimisasi Aerodinamika - Kuadratik CD = CDo + k1.CL + k2.CL2
10
Cdo
0.0304 k1
-0.0093
k2
0.0427
(CL/CD)max (CL3/CD2)max (CL/CD2)max CL
0.844
1.357
0.525
CD
0.053
0.096
0.037
15.934
14.077
14.077
(CL3/CD2)
214.234
268.842
104.001
(CL/CD2)
300.914
146.081
377.617
(CL/CD)
Hasil dari optimisasi diatas menunjukan nilai CL, CD, CL/CD, CL3/CD2 dan CL/CD2 untuk setiap (CL/CD)max, (CL3/CD2)max dan (CL/CD2)max. Optimisasi yang dilakukan menyesuaikan dengan persamaan polar hambat dari karakteristik aerodinamika pesawat LSU-05 yaitu persamaan kuadratik.
Gambar 2.4 Model LSU-05 pada Uji Wind Tunnel
11
2.3.2
Massa dan geometri pesawat
Sesuai dengan misi terbang yang direncanakan pesawat ini harus mempunyai massa yang cukup ringan. Sehingga setelah dibandingkan dengan Desain Requairement and Objective (DRO) dan hasil perancangan awal, maka diperoleh massa pesawat LSU-05 yang dipakai untuk acuan dasar perhitungan selanjutnya adalah sebagai berikut : Tabel 2.3 Spesifikasi LSU-05 Sumber : Soemaryanto, Arifin Rasyadi.2015
Wing Span
: 5.5 m
Taper Ratio
: 0.6
Wing Area
: 3.22 m2
Root Chord
: 730 mm
Aspect Ratio
: 9.4
Tip Chord
: 400 mm
Twist Angle
: 0 deg
Empty Weight
: 31.00 kg
Swept Angle
: 0 deg
Fuel Weight
: 16.67 kg
Overall length
: 4.1 m
Payload Weight
: 30.00 kg
2.3.3
Sistem Propulsi
Sistem propulsi yang digunakan dalam pesawat LSU-05 ini adalah dari propeller. Sistem propulsi diterapkan pada fuselage bagian belakang. LSU-05 yang dirancang ini akan menggunakan satu engine Desert Aircraft (DA-150). Berikut spesifikasi dari engine DA-150 : Tabel 2.3 Spesifikasi Engine Desert Aircraft (DA-150) LSU-05 Displacement
: 9.15 ci (150 cc)
Stroke : 1.5748 in (40 mm) 12
Output Weight
: 16.5 HP : 7.96 lbs (3.61 kg)
Bore
: 1.9291 in (49 mm)
RPM Range : 1000 to 6500 RPM Max : 8500 Fuel Consumption : 3.3 oz/min @ 6000 RPM
Pada engine DA-150 tersebut akan dipasang propeller dua blades dengan ukuran 30 x 12. Propeller tersebut juga termasuk dalam daftar rekomendasi propeller yang digunakan untuk engine DA-150. 2.4
Gaya-gaya Pada Pesawat Terbang Pesawat dapat terbang akibat dari gaya-gaya yang dihasilkan [4], diantaranya :
a. Lift (gaya angkat)adalah gaya angkat yang ditimbul karena adanya perbedaan kecepatan aliran udara sehingga mengakibatkan tekanan udara dibawah sayap lebih besar daripada tekanan udara diatas sayap. b. Drag (gaya hambat)adalah gaya hambat yang dikarenakan adanya gesekan dan tahanan antara permukaan pesawat (wing, fuselage, dan objek yang berada di pesawat) dengan udara. Drag merupakan komponen gaya aerodinamika yang sejajar dengan kecepatan terbang pesawat, tetapi arahnya berlawanan. Gaya hambat atau drag bekerja berlawanan dengan gaya dorong (thrust). c. Thrust (gaya dorong) adalah gaya dorong yang dihasilkan oleh mesin pesawat itu sendiri, dan gaya ini berlawanan dengan gaya hambat.
13
d. Weight adalah gaya yang disebabkan oleh gaya gravitasi dari bumi ke pesawat. Weight berlawanan dengan lift. 2.5
Optimisasi Masalah optimisasi single objektif memiliki satu fungsi objektif yang akan
diminimalkan atau dimaksimalkan. Secara umum masalah optimisasi single objektif dapat ditulis : Minimum/ Maksimum 𝑓(𝑥) Kendala
𝑔𝑗 (𝑥) ≥ 0,
𝑗 = 1,2, … , 𝐽
ℎ𝑘 (𝑥) = 0,
𝑘 = 1,2, … , 𝐾
𝑥𝑖 (𝐿) ≤ 𝑥𝑖 ≤ 𝑥𝑖 (𝑈) ,
𝑖 = 1,2, … , 𝑛
Solusi x adalah vektor dari n variabel keputusan : 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )𝑇 . Himpunan terakhir dari kendala disebut batas variabel, membatasi setiap variabel keputusan (decision variabels) 𝑥𝑖 yang nilainya berada diantara batas bawah 𝑥𝑖 (𝐿) dan batas atas 𝑥𝑖 (𝑈) . Batas-batas ini dinamakan ruang variabel keputusan D atau dikenal sebagai ruang keputusan. Bentuk 𝑔𝑗 (𝑥) dan ℎ𝑘 (𝑥) disebut fungsi kendala. Solusi 𝑥 yang tidak memenuhi setiap kendala (𝐽 + 𝐾) dan setiap batas variabel disebut solusi yang tidak layak (infeasible solution). Sebaliknya, jika setiap solusi 𝑥 memenuhi seluruh kendala dan batas variabel, maka solusi itu disebut solusi yang layak (feasible solution). Di sisi lain, jika tidak ada kendala yang ditentukan maka 𝑥𝑖 dapat bernilai berapapun di sumbu x (atau bilangan bulat), masalah optimisasi ini dinamakan optimisasi tanpa 14
kendala [11]. Masalah optimisasi tanpa kendala dimana keadaan optimal dapat terjadi pada titik-titik kritis dengan kondisi stasioner yaitu 𝑓 ′ (𝑥) = 0 [5]. 2.6
Maksimum dan Minimum Fungsi Dalam hidup ini kita sering menghadapi masalah guna mendapatkan jalan
terbaik untuk melakukan sesuatu. Sebagai contoh seorang petani ingin memilih kombinasi hasil panen yang dapat menghasilkan keuntungan terbesar. Kadangkala masalah dapat dirumuskan sehingga akan melibatkan memaksimumkan dan meminimumkan fungsi tertentu. Andaikan kita mengetahui fungsi 𝑓 dan domain(daerah asal) 𝑆 seperti gambar 2.4. Akan ditentukan apakah f memiliki nilai maksimum atau minimum pada 𝑆. Anggap bahwa nilai-nilai tersebut ada, kita ingin mengetahui lebih lanjut dimana dalam S nilai-nilai itu berada. Akhirnya, kita dapat menentukan nilai-nilai maksimum dan minimum. 𝑦
𝑦 = 𝑓(𝑥)
𝑆
𝑥
Gambar 2.4 fungsi f dan domain Definisi Andaikan S,daerah asal f, memuat titik c. Kita katakana bahwa: (i)
f(c) adalah nilai maksimum 𝑓 pada S jika 𝑓(𝑐) ≥ 𝑓(𝑥) untuk semua x di S;
(ii)
f(c) adalah nilai minimum 𝑓 pada S jika 𝑓(𝑐) ≤ 𝑓(𝑥) untuk semua x di S; 15
f(c) adalah nilai ekstrim 𝑓 pada S jika ia adalah nilai maksimum atau nilai
(iii)
minimum. Teorema A (Teorema Eksistensi Maks-Min). Jika f kontinu pada selang tertutup [a,b], maka f mencapai nilai maksimum dan nilai minimum. Teorema B (Teorema Titik Kritis). Andaikan f didefinisikan pada selang I yang memuat titik c. jika f(c) adalah titik ekstrim, maka c haruslah suatu titik kritis ; yakni c berupa salah satu : 1. titik ujung I; 2. titik stasioner dari 𝑓(𝑓 ′ (𝑐) = 0); 3. titik singular dari 𝑓(𝑓 ′ (𝑐) = tidak ada). 2.7
Maksimum dan Minimum Lokal
Berdasarkan subbab 2.6 nilai maksimum (jika ada) suatu fungsi 𝑓 pada himpunan S adalah nilai 𝑓 terbesar yang dicapai pada keseluruhan himpunan S. Kadang-kadang diacu sebagai nilai maksimum global, atau nilai maksimum absolut dari f. Jadi untuk fungsi f dengan daerah asal 𝑆 = [𝑎, 𝑏] yang grafiknya diskets dalam Gambar 2.5, 𝑓(𝑎) adalah nilai maksimum global. Sedangkan 𝑓(𝑐) suatu nilai maksimum lokal, atau nilai maksimum relatif. Tentu saja nilai maksimum global otomatis juga nilai maksimum lokal [6]. Gambar 2.6 menunjukkan sejumlah kemungkinan. Perhatikan 16
bahwa nilai maksimum global (jika ada) hanyalah yang terbesar diantara nilai-nilai maksimum lokal. Sama halnya dengan nilai minimum global adalah yang terkecil di antara nilai-nilai minimum lokal.
Maks Global
Maks Lokal
a
c
b
Gambar 2.5 Sketsa Grafik fungsi f dengan daerah asal Definisi Andaikan S, daerah asal f, memuat titik c. kita katakana bahwa : (i)
f(c) nilai maksimum lokal f jika terdapat selang (a, b) yang memuat c sedemikian sehingga f(c) adalah nilai maksimum f pada (a, b) ∩ S;
(ii)
f(c) nilai mainimum lokal f jika terdapat selang (a,b) yang memuat c sedemikian sehingga f(c) adalah nilai minimum f pada (a,b) ∩ S;
(iii)
f(c) nilai ekstrim lokal f jika ia berupa nilai maksimum lokal atau minimum lokal.
17
Gambar 2.6 Minimum Lokal dan Maksimum Lokal 2.8
Firefly Algorithm
2.8.1
Inspirasi Firefly Algorithm atau Algoritma Kunang-kunang termasuk salah satu
algoritma pada bidang Artificial Intelligence atau kecerdasan buatan. Fireflies termasuk kedalam keluarga Lampyridae yang merupakan kumbang bersayap kecil yang mampu menghasilkan kilatan cahaya untuk menarik perhatian pasangannya. Fungsi dari kilatan cahaya tersebut adalah untuk menarik perhatian fireflies lain. Pola kilatan cahaya cukup unik untuk beberapa spesies. Kilatan cahaya diproduksi oleh proses bioluminecene. Mereka diyakini memiliki mekanisme seperti kapasitor yang perlahan-lahan mengisi sampai mencapai
batas tertentu dimana mereka akan
melepaskan energi yang berupa cahaya dan siklus tersebut selalu berulang [6]. FA dikembangkan dan pertama kali ditemukan oleh Xin-She Yang (2007), yang terinspirasi oleh redaman cahaya yang dihasilkan fireflies melalui jarak dan daya tarik sesama fireflies. Algoritma ini bekerja dengan cara mengamati setiap posisi fireflies.
18
2.8.2 Algoritma Firefly Algorithm (FA) merupakan salah satu algoritma metaheuristik yang terbaru. Oleh karena itu telah ditulis beberapa artikel yang berkaitan dengan FA. FA mengacu pada beberapa karakteristik dari prilaku fireflies. Pada algoritma ini mengacu pada 3 acuan dasar, yaitu : 1.
Semua fireflies adalah unisex jadi satu fireflies tertarik dengan fireflies lain terlepas dari jenis kelamin mereka.
2.
Daya tarik sebanding dengan kecerahan, maka fireflies dengan kecerahan lebih redup akan bergerak ke arah fireflies dengan kecerahan lebih terang dan kecerahan berkurang seiring dengan bertambah jarak. Apabila tidak ada fireflies yang memiliki kecerahan paling cerah maka fireflies akan bergerak secara acak (random).
3.
Kecerahan atau intensitas cahaya fireflies ditentukan oleh nilai fungsi tujuan dari masalah yang diberikan
2.8.3
Ketertarikan, Jarak dan Perpindahan
Ketertarikan (Attractiveness) Dalam kegelapan malam yang begitu pekat, dimana cahaya yang dapat terlihat hanyalah cahaya yang dihasilkan oleh fireflies. Intensitas cahaya yang dihasilkan sebanding dengan fungsi objektif dari masalah. Untuk menarik perhatian fireflies lain maka cahaya yang dihasilkan pun harus lebih baik dari fireflies lainnya. Fireflies akan tertarik atau menuju pada fireflies yang berada didekatnya walaupun cahaya yang
19
terlihat cukup redup dibandingkan menuju fireflies yang lebih terang, namun terdapat penyerapan cahaya yang buruk dikarenakan jarak. Ada dua hal yang berkaitan sangat penting pada FA yaitu intensitas cahaya dan fungsi ketertarikan . Untuk kasus yang paling sederhana contohnya masalah optimisasi maksimum, tingkat intensitas cahaya pada sebuah fireflies x dapat dilihat sebagai : 𝐼(𝑥) ∝ 𝑓(𝑥)
(1)
Dengan nilai 𝐼 yang merupakan intensitas cahaya yang sebanding dengan fungsi tujuan yang akan dicari solusinya 𝑓(𝑥). Ketertarikan 𝛽 yang bernilai relatif, karena intensitas cahaya yang harus dilihat dan dinilai oleh fireflies lain. Dengan demikian, hasil penilaian akan berbeda tergantung dari jarak antara fireflies 𝑖 dengan fireflies 𝑗 (𝑟𝑖𝑗 ). Selain itu, itensitas cahaya akan menurun dilihat dari sumbernya dikarenakan terserap oleh media seperti udara 𝛾 [0,1]. Nilai keatraktifan 𝛽 dapat dirumuskan sebagai berikut 𝑚
𝛽(𝑟) = 𝛽0 𝑒 −𝛾𝑟 ,
(𝑚 ≥ 1).
(2)
Dimana : 𝛽(𝑟) : keatraktifan 𝛽 pada jarak 𝑟 𝛽0
: keatraktifan 𝛽 pada jarak 0 [0,1]
𝛾
: koefisien penyerapan udara [0,1]
20
Distance (Jarak) Jarak antara fireflies i dan j pada lokasi x, 𝑥𝑖 dan 𝑥𝑗 dapat ditentukan ketika dilakukanya peletakan titik dimana fireflies tersebut disebar secara random dalam diagram kartesius dengan rumus [10]. 2
𝑟𝑖𝑗 = ‖𝐱 𝑖 − 𝐱𝑗 ‖ = √∑𝑑𝑘=1(𝑥𝑖,𝑘 − 𝑥𝑗,𝑘 ) , Dimana selisih dari koordinat lokasi fireflies i terhadap fireflies j merupakan jarak diantara keduanya (𝑟𝑖𝑗 ). Misalkan r bisa berupa interval fitness function. Pada kasus 2
2
2-D, kita punya 𝑟𝑖𝑗 = √(𝑥𝑖 − 𝑥𝑗 ) + (𝑦𝑖 − 𝑦𝑗 ) . Movement (Pergerakan) Pergerakan fireflies i yang menuju intensitas cahaya yang terbaik dapat dinyatakan dalam 1
2
−𝛾𝑟 𝐱 𝑖 = 𝐱⏟𝑖 + 𝛽 (𝐱 𝑖 − 𝐱𝑗 ) + 𝛼 ⏟0 𝑒 ⏟(𝑟𝑎𝑛𝑑 − 2), 1
2
(3)
3
Dimana istilah 1 merupakan variabel awal 𝐱 𝑖 yang menunjukan posisi awal fireflies yang berada pada lokasi 𝐱, kemudian istilah 2 variabel ini merupakan nilai keaktratifan yang terdapat pada persamaan (2) dan variabel selisih jarak awal antara fireflies 𝑖 dan 𝑗 . Semua variabel pada persamaan kedua tersebut diberikan dari fungsi keatraktifan fireflies yang mana menentukan tingkat kecerahan. Selanjutnya istilah (3) merupakan randomization (pemilihan bilangan acak) dengan 𝛼 adalah parameter 21
pemilihan acak. rand adalah pembangkit bilangan acak berdistribusi seragam [0,1] yang bisa diperluas berdistribusi normal 𝑁(0,1) atau disrtibusi lainnya [10]. Untuk banyak kasus implementasi nilai 𝛽0 = 1 dan 𝛼 = [0,1]. Semua variabel yang terbentuk pada persamaan pergerakan fireflies menjamin cara kerja algoritma menuju solusi yang optimal.
Gambar 2.7 Flowchart Firefly Algorithm Flowchart pada gambar 2.7 dimulai dengan menginput parameter yaitu 𝛼, 𝛾, Max Generation, dan jumlah populasi fireflies. Definisikan nilai 𝐼 yang merupakan intensitas cahaya yang sebanding dengan 𝑓(𝑥). Jika akan memaksimumkan fungsi tujuan maka fireflies akan bergerak menuju kawanan yang lebih terang (𝐼(𝑥 𝑖 ) <
22
𝐼(𝑥 𝑗 )). Jika yes selisih dari koordinat lokasi fireflies i terhadap j merupakan jarak diantara keduanya (𝑟𝑖𝑗 ). Apabila no maka fireflies 𝑖 tetap mencari fireflies yang memiliki cahaya lebih baik. Keatraktifan 𝛽 yang bernilai relatif, karena intensitas cahaya yang dilihat oleh fireflies lain akan berbeda tergantung dari 𝑟𝑖𝑗 dan intensitas cahaya dipengaruhi oleh penyerapan udara pada lingkungan (media). Jika fireflies telah mendapatkan posisi terbaik dimana keatraktifan pada jarak 0 (𝛽 = 0) maka kriteria untuk berhenti telah terpenuhi sampai batas iterasi dan selesai. Jika tidak maka lakukan iterasi sampai mendapatkan posisi terbaik (𝛽 = 0). .
23
BAB III METODE PENELITIAN Metodologi yang digunakan dalam memecahkan masalah diatas adalah dengan menggunakan langkah-langkah berikut : 1. Studi Literatur Mencari dan mempelajari literatur-literatur yang ada sesuai dengan permasalahan meliputi
operasi
terbang jelajah pada
LSU-05, karakteristik pesawat,
permasalahan optimasai tanpa kendala, konsep FA, Maksimum dan Minimum fungsi, serta informasi lainnya yang menunjang penulisan dan pembuatan skripsi ini. 2. Implementasi Pada tahap implementasi dilakukan percobaan dengan langkah-langkah berikut untuk penyelesaian masalah, yaitu a.
Menerapkan FA untuk beberapa fungsi uji optimisasi yang memiliki karakteristik berbeda berdasarkan referensi dengan nilai inputan berupa batasan yang telah diketahui [1] serta memperoleh solusi global minimum. Berikut fungsi uji optimisasi yang digunakan dalam tugas akhir ini : i.
Fungsi Alpine 1 : merupakan fungsi yang kontinu, Non-Differentiable, multimodal dengan beberapa lokal optima, merupakan fungsi yang memiliki kompleksitas menengah. Secara matematis didefinisikan sebagai : 24
𝑓(𝑥𝑖 ) = |𝑥𝑖 sin(𝑥𝑖 ) + 0.1𝑥𝑖 | Terbatas pada −10 ≤ 𝑥 ≤ 10. Global minimum berada pada daerah asal 𝑥 ∗ = (0, … ,0) , 𝑓(𝑥 ∗ ) = 0. ii.
Fungsi De Jong : merupakan fungsi yang sederhana, kontinu dan Diefferentiable. Sifatnya yang Unimodal atau memiliki satu lokal minima, convex, multidimensional memudahkan untuk pencarian solusi dan memiliki satu global optimum. Fungsi ini dapat mengakibatkan konvergensi yang lemah untuk mencapai global optimum. Secara matematis didefinisikan sebagai : 𝑛
𝑓(𝑥) = ∑ 𝑥𝑖 2 𝑖=1
Terbatas pada −5.12 ≤ 𝑥𝑖 ≤ 5.12. Global minimum berada pada daerah asal 𝑥 ∗ = (0, … ,0) , 𝑓(𝑥 ∗ ) = 0. iii.
Fungsi Rastrigin : merupakan fungsi yang differentiable, kontinu, dan non-convex. Sifatnya yang multimodal dengan banyak lokal optima membuat fungsi sekelas ini memiliki tingkat kompleksitas tinggi dari fungsi sebelumnya dengan jumlah lokal optima yang besar. Secara matematis didefinisikan : 𝑛
𝑓(𝑥𝑖 ) = 𝐴𝑛 + ∑[𝑥𝑖 2 − 𝐴 cos(2𝜋𝑥𝑖 )] 𝑖=1
25
Terbatas pada −5.12 ≤ 𝑥𝑖 ≤ 5.12. Global minimum berada pada daerah asal 𝑥 ∗ = (0, … ,0) , 𝑓(𝑥 ∗ ) = 0 b.
Melakukan percobaan menggunakan FA pada permasalahan optimisasi terbang jelajah untuk menghasilkan jarak tempuh terjauh (Range). 𝑀𝑎𝑘𝑠𝑖𝑚𝑢𝑚𝑘𝑎𝑛 𝑅(𝑉𝐶𝑟 , 𝑊1 ) = 42.22 𝑉𝐶𝑟 ln
𝑊1 61
60 ≤ 𝑉𝐶𝑟 ≤ 110 61 ≤ 𝑊1 ≤ 77 c.
Melakukan percobaan menggunakan FA pada fungsi waktu tempuh untuk mendapatkan waktu tempuh terlama (Endurance).
𝑀𝑎𝑘𝑠𝑖𝑚𝑢𝑚𝑘𝑎𝑛 𝐸(𝑉𝑐𝑟 , 𝑊2 ) =
634557.53 𝑊1 [√ − 1] 61 𝑉𝐶𝑟
60 ≤ 𝑉𝐶𝑟 ≤ 110 61 ≤ 𝑊1 ≤ 77 3. Analisis Hasil Pengujian dan hasil analisis sistem yang dilakukan adalah sebagai berikut: a. Membandingkan solusi global minimum terhadap fungsi uji optimisasi Jamil,M and Yang, X.S menggunakan FA dan
dengan yang tidak
menggunakan FA.
26
b. Menganalisis parameter FA terhadap fungsi yang memaksimumkan jarak tempuh (range) LSU-05 pada saat terbang jelajah. c. Menganalisis parameter FA terhadap fungsi yang memaksimumkan waktu tempuh (endurance). Alur penelitian tugas akhir ini dapat dilihat pada diagram dibawah ini
Gambar 3.1 Diagram Alur Penyelesaian Masalah 27
BAB IV HASIL DAN PEMBAHASAN 4.1 Fungsi Uji Berdasarkan
Flowchart
algoritma
pada
gambar
2.7
maka
FA
dapat
diimplementasikan menggunakan bahasa pemrograman Matlab R2010a. Terdapat beberapa fungsi yang akan diuji coba dengan dua variabel keputusan yaitu 𝑥 dan 𝑦 . definisikan parameter FA diantaranya 𝑑 = 2, 𝛼 = 0.2, 𝛾 = 1, dan 𝛽0 = 1. Berikut penjelasan hasil uji fungsi tolak ukur dalam optimisasi yang terdapat pada tabel 4.1dimana tidak terdapat error antara hasil uji fungsi Jamil,M and Yang, X.S menggunakan FA dan dengan yang tidak . Fungsi Alpine 1 𝑓(𝑥, 𝑦) = |𝑥 sin(𝑥) + 0.1𝑥| + |𝑦 sin(𝑦) + 0.1𝑦| Fungsi Alpine 1 mempunyai solusi global minimum (𝑥, 𝑦) = 𝑓( 0, 0) = 0 . Sifat multimodal dengan beberapa lokal optima dapat ditunjukkan pada gambar 4.1 dan dalam algoritma ini melibatkan sebanyak 50 fireflies dengan 1000 iterasi (Max Generation). Lokasi awal fireflies ditunjukkan pada gambar 4.2 .Posisi akhir fireflies setelah 1000 iterasi ditunjukkan pada gambar 4.3.
28
Gambar 4.1 Grafik 2D Fungsi Alpine 1
Gambar 4.2 Posisi Awal dari 50 fireflies
Gambar 4.3 Posisi akhir setelah 1000 iterasi Fungsi De Jong 𝑓(𝑥, 𝑦) = 𝑥 2 + 𝑦 2 Hasil uji menggunakan FA menunjukkan De Jong mempunyai solusi global minimum 𝑥 ∗ = (−0.0025 × 10−6 , −0.0031 × 10−6 ) dan 𝑓(𝑥 ∗ ) = 0. Berdasarkan percobaan semakin banyak menentukan jumlah populasi fireflies dan iterasi maka
29
solusi minimum akan semakin mendekati nilai nol, meskipun masih terdapat eror yang sangat kecil. Sifatnya yang unimodal yaitu berpuncak satu dapat ditunjukkan pada gambar 4.4 dimana pada fungsi ini melibatkan sebanyak 50 fireflies dengan 500 iterasi. Lokasi awal fireflies ditunjukkan pada gambar 4.5. Posisi akhir fireflies setelah 500 iterasi ditunjukkan pada gambar 4.6.
Gambar 4.4 Grafik 2D fungsi De Jong
Gambar 4.5 Posisi Awal dari 50 fireflies
Gambar 4.6 Posisi akhir 50 fireflies setelah 500 iterasi
30
Fungsi Rastrigin 𝑓(𝑥, 𝑦) = 20 + 𝑥 2 + 𝑦 2 − 10(𝑐𝑜𝑠(2𝜋𝑥) + cos(2𝜋𝑦)) Permukaan fungsi ditentukan oleh variabel eksternal A dan 2𝜋(𝜔) , yang mengontrol amplitudo dan frekuensi modulasi masing-masing dengan nilai 𝐴 = 10 dan interval 𝑥𝑖 ∈ [−5.12,5.12]. Fungsi Rastrigin merupakan fungsi yang memiliki daerah berbentuk cembung ke atas jika maksimum dan cembung ke bawah jika minimum. Fungsi ini mempunyai solusi global minimum 𝑓(𝑥, 𝑦) = (0,0) = 0. Sifatnya yang multimodal dengan memiliki banyak lokal optima dapat ditunjukkan pada gambar 4.7 dimana algoritma ini melibatkan sebanyak 50 fireflies dengan 1000 iterasi.
Lokasi awal fireflies
ditunjukkan pada gambar 4.8 dan posisi akhir fireflies setelah 50 iterasi ditunjukkan pada gambar 4.9.
Gambar 4.7 Grafik 2D fungsi Rastrigin
Gambar 4.8 Posisi Awal dari 50 fireflies
31
Gambar 4.9 posisi akhir fireflies setelah 1000 iterasi Tabel 4.1 Hasil Percobaan Fungsi Uji Optimisasi Menggunakan FA Global Minimum Fungsi
Global Minimum
Error
Jml
Hasil FA (𝑓̂(𝑥 ∗ ))
|𝑓̂(𝑥 ∗) − 𝑓(𝑥 ∗)|
populasi
0
50
1000
0
50
500
0
50
1000
Berdasarkan
Max Gen
Referensi (𝑓(𝑥 ∗ )) 𝑥 ∗= (0, … ,0)
𝑥 ∗= (0, 0)
𝑓(𝑥 ∗ ) = 0
𝑓̂(𝑥 ∗ ) = 0
Alpine 1
𝑥∗ 𝑥 ∗= (0, … ,0)
= (−0.0025 × 10−6 , −0.0031
De Jong 𝑓(𝑥 ∗ ) = 0
× 10−6 ) 𝑓̂(𝑥 ∗ ) = 0
𝑥 ∗= (0, … ,0)
𝑥 ∗= (−0, 0)
𝑓(𝑥 ∗ ) = 0
𝑓̂(𝑥 ∗ ) = 0
Rastrigin
32
4.2 Maksimum Range dan Endurance Problem Terbang jelajah (Cruising Flight) atau terbang datar (Level Flight) adalah terbang dengan lintas terbang berupa garis lurus dimana sayap sejajar dengan bidang horisontal lokal dan sudut lintas terbang nol (𝛾 = 0). Sama halnya dengan analisis prestasi terbang yang lain, analisis terbang jelajah juga menganggap bahwa pesawat terbang stasioner. Pada kondisi terbang stasioner, persamaan kesetimbangan gaya pada pesawat diacukan pada tata acuan koordinat angin. Pada kondisi tersebut gaya angkat yang timbul disamakan dengan berat pesawat dan kondisi daya yang tersedia sama dengan daya yang diperlukan, sehingga secara ideal tidak ada kelebihan daya (excess power). 1
𝑊 − 𝐿 = 0 → 𝐿 = 𝑊 = 2 𝜌𝑉 2 𝑆𝐶𝐿 dan berlaku 1
𝑇 − 𝐷 = 0 → 𝑇 = 𝐷 = 2 𝜌𝑉 2 𝑆𝐶𝐷 Dalam melakukan analisis prestasi terbang jelajah pesawat LSU-05 ada dua parameter yang akan dihitung yaitu Range dan Endurance. Untuk menghitung parameter tersebut diasumsikan bahwa terbang jelajah dilakukan pada sudut serang 𝛼 yang konstan, mesin di atur pada power tertentu dan konstant serta efisiensi propeller juga dianggap konstan. Perubahan yang terjadi ada pada perubahan berat pesawat karena berkurangnya bahan bakar (fuel). Dengan anggapan tersebut maka faktor
33
sistem propulsi
𝜂𝑝 𝑐𝑝
𝐶𝐿
dan faktor efisiensi aerodinamika
bernilai konstan, sehingga
𝐶𝐷
diperoleh Persamaan Breguet (Breguet Formula) sebagai berikut : 𝑉
𝐶
𝑊
𝑀𝑎𝑥 𝑅𝑎𝑛𝑔𝑒(𝑉𝑐𝑟 , 𝑊2 ) = 𝑐𝑐𝑟 𝐶 𝐿 ln (𝑊1 ) 𝑝
𝐷
(4)
2
Sementara itu dalam menghitung parameter lama terbang jelajah (Endurance) digunakan persamaan-persamaan sebagai berikut : 𝑐𝑝 𝐶𝐷
𝑊 1
𝐸 = ∫𝑊 1 𝐹 𝑑𝑊 dimana
𝐹=𝜂
2
𝑝
𝐶𝐿
𝑐𝑝 𝐶𝐷
𝑊𝑉 = 𝜂
𝑝
𝑊2 1
𝑊√ 𝑆
𝐶𝐿
𝜌 𝐶𝐿
𝑐𝑝
2 𝑊 2 𝐶𝐷
𝑝
𝜌 𝐶𝐿3
= 𝜂 𝑊√ 𝑆
sehingga dengan menggunakan asumsi yang sama dengan perhitungan parameter jangkauan terbang (Range) diperoleh persamaan lama terbang (Endurance) sebagai berikut : 𝑊 𝜂𝑝 1 2 𝑐𝑝 𝑊
𝐸 = ∫𝑊 2
1 2 𝑊 2 𝐶𝐷 √ 𝑆 𝜌 𝐶3 𝐿
𝑑𝑊 =
𝜂𝑝 𝑐𝑝
√𝑆
𝜌 𝐶𝐿3 2
2 𝐶𝐷
𝑊2
∫𝑊
2
1
𝜂
𝜌 𝐶3
𝑝 𝑑𝑊 = 2 𝑐 √𝑆 2 𝐶𝐿2 [ 𝑊√𝑊 𝑝
𝐷
1 √𝑊2
−
1 √𝑊1
] (5)
Persamaan tersebut digunakan karena sistem propulsi pesawat LSU-05 menggunakan propeller, sementara itu untuk propulsi jet mempunyai persamaan yang sedikit berbeda dimana tidak ada efisiensi dari propeller. Efisiensi propeller yang digunakan dalam analisis ini menggunakan persamaan yang diambil dari daya yang tersedia atau digunakan untuk terbang jelajah. Persamaan yang digunakan adalah sebagai berikut :
34
𝑇 𝜌𝑆𝑉 2 𝑃 𝜌𝑆𝑉 3
= =
2(1−𝜂1 ) 𝜂12 2(1−𝜂1 ) 𝜂13
Nilai efisiensi yang diperoleh dari persamaan diatas merupakan nilai batas tertinggi efisiensi teoritik (theoritical upper limit of propeller efficiency). Selain perhitungan efisiensi propeller, dalam menghitung prestasi terbang jelajah pesawat diperlukan data daya yang digunakan, dalam hal ini daya yang digunakan adalah sebesar 11.5 HP [10]. Daya tersebut adalah yang paling memungkinkan optimum digunakan untuk fasa cruise. Dengan demikian fungsi objektif yang digunakan untuk mencari titik optimum global (global maksimum) Endurance menjadi : 𝜌 𝐶3
𝜂
𝑝 𝐸 = 2 𝑐 √𝑆 2 𝐶𝐿2 [ 𝑝
𝐷
1 √𝑊2
−
1 √𝑊1
]
(6)
Karena dalam persamaan diatas tidak terdapat variabel kecepetan. Oleh karena itu menurut Rujgok,(1990) kecepatan saat terbang jelajah adalah 𝑊 2 1
𝑉𝐶𝑟 = √ 𝑆1
(7)
𝜌 𝐶𝐿
Kemudian substitusikan persamaan [7] kedalam persamaan [6] menjadi 𝜂𝑝 𝐶𝐿 1
𝑀𝑎𝑥 𝐸𝑛𝑑𝑢𝑟𝑎𝑛𝑐𝑒(𝑉𝑐𝑟 , 𝑊2 ) = 2 𝑐
𝑝
𝐶𝐷 𝑉𝐶𝑟
𝑊
[√𝑊1 − 1] 2
(8)
35
Note : WEmpty : berat kerangka pesawat = 31 kgf WPayload : berat muatan yang dibawa dengan beban maksimum = 30 kgf W1 : WMTOW atau Berat Sebelum memasuki fasa terbang jelajah =77 kgf W2 : Berat Setelah selesai melewati fasa terbang jelajah bobot yang tersisa hanyalah empty weight dan payload maksimal W2 = WEmpty + Wmaksimum_payload = 31 kgf + 30 kgf = 61 kgf 𝑉𝑐𝑟 : kecepatan saat cruise 𝐶𝐿 : koefisien lift 𝐶𝐷 : koefisien drag
: efisiensi propeller Tabel 4.2 Karakteristik LSU-05 yang digunakan dalam perhitungan
: 0.85 atau 85%
Cp(Range) : 1,1765
CL
: 0,532
CD
: 0.038
W1
: 61 ≤ 𝑊1 ≤ 77 Kg
W2
: 61 kg
CP (Endurance)
VCr
: (60 ≤ 𝑉𝐶𝑟 ≤ 110 )
: 4,37 × 10−5
36
Sehingga W1 > W2 dimana W1 = W2 + Wused_fuel + Wpayload. Specific Fuel Consumption menjadi: W1 – (W2+WPayload) = Wused_fuel Data yang digunakan dalam percobaan ini adalah data spesifikasi LSU-05 yang telah dijelaskan dalam subab 2.3 dan diperjelas dalam tabel 4.2. Pada pengoperasian terbang jelajah terdapat dua hal yang berkaitan yakni seberapa jauh atau dekat jarak dan seberapa lama atau cepat waktu yang dihasilkan. Jarak maksimal merupakan jarak dimana pesawat dapat terbang Take Off dan Landing dengan bahan bakar yang terbatas. LSU-05 memiliki kendala saat terbang jelajah yakni kecepatan yang bekisar antara 60 km/h sampai 110 km/h (16.67 < 𝑣𝐶𝑟 < 110) m/s dan berat pesawat awal bekisar 61 kgf sampai 77 kgf dengan payload maksimum 30kg. 4.3 Optimisasi Jarak (Range) Saat Terbang Jelajah Menggunakan FA. Berdasarkan tabel 4.2 maka fungsi objektif yang digunakan untuk mencari titik global maksimum range menjadi : 𝑊
𝑀𝑎𝑘𝑠𝑖𝑚𝑢𝑚𝑘𝑎𝑛 𝑅(𝑉𝐶𝑟 , 𝑊1 ) = 42.22 𝑉𝐶𝑟 ln 611
(9)
60 ≤ 𝑉𝐶𝑟 ≤ 110 61 ≤ 𝑊1 ≤ 77
37
Untuk melihat bentuk dari fungsi objektif 2D pada persamaan dapat ditunjukkan pada Gambar 4.13 terlihat bahwa fungsi ini unimodal atau memiliki satu puncak. Definisikan parameter nilai 𝛼 = 0.6, 𝛾 = 1 dan 𝛽0 = 1. Setelah melakukann percobaan Range maksimum dapat diperoleh apabila memilih sebanyak 25 fireflies dengan 100 iterasi. Hal ini diamati berdasarkan tingkah laku dari fireflies yang mana apabila semakin banyak mengambil jumlah populasi kawanan fireflies dengan iterasi yang besar maka dapat dengan mudah fireflies akan menemukan kawanan lainnya menuju daerah hasil fungsi objektif. Gambar 4.14 menunjukkan posisi awal 25 fireflies berada, variabel 𝛾 = 1 merupakan nilai untuk tingkat penyerapan yang sempurna pada lingkungan sekitar fireflies yaitu udara yang bersih tanpa kabut atau asap. Variabel 𝛽0 = 1 variabel ini merupakan nilai keatraktifan awal pada fireflies, variabel 𝛼 menunjukkan adanya pergerakan yang semakin aktif terhadap fireflies sekitarnya dengan kisaran [0,1] dalam uji ini digunakan nilai 0.6. Gambar 4.15 menunjukkan posisi akhir dari pergerakan fireflies setelah 100 iterasi.
38
Gambar 4.10 Grafik 2D Fungsi Range
Gambar 4.11 Posisi awal 25 fireflies
Gambar 4.12 Posisi akhir 25 fireflies setelah 100 iterasi Dengan kata lain pesawat mampu terbang maksimum sejauh 300.44 km. dengan kecepatan konstan yaitu 110 km/h dan Maximum Take Off Weight (MTOW) sebesar 77 kgf dengan payload maksimum. 4.4 Optimisasi Waktu Tempuh (Endurance) Saat Terbang Jelajah Menggunakan FA Optimisasi ini tidak jauh berbeda dengan optimisasi Range, yang bertujuan menentukan kecepatan serta bahan bakar yang dikonsumsi saat terbang jelajah untuk memaksimumkan Endurance. Berdasarkan karakteristik pesawat dan aerodinamik 39
yang disubstitusikan pada persamaan [8], fungsi objektif yang digunakan untuk mencari titik global maksimum Endurance menjadi :
𝑀𝑎𝑥 𝐸𝑛𝑑𝑢𝑟𝑎𝑛𝑐𝑒(𝑉𝑐𝑟 , 𝑊2 ) =
634557.53 𝑉𝐶𝑟
𝑊
[√ 611 − 1]
(10)
60 ≤ 𝑉𝐶𝑟 ≤ 110 61 ≤ 𝑊1 ≤ 77 Gambar 4.16 menunjukkan bentuk 2D dari persamaan (10). Terlihat bahwa fungsi ini hanya memiliki satu titik lokal maksimum yang juga titik global optimum. Akan dilakukan pendekatan menggunakan FA. Definisikan nilai 𝛼 = 0.8, 𝛾 = 1 dan 𝛽0 = 1. Berdasarkan tingkah laku fireflies dalam mencari kawanan yang memiliki intensitas cahaya yang lebih terang dari dirinya maka maksimum Endurance dapat diperoleh dengan jumlah 25 fireflies dan 100 iterasi. Semakin banyak populasi fireflies yang disebar maka semakin dekat jarak antara fireflies menuju daerah fungsi objektif. Posisi awal 25 fireflies ditunjukkan dalam gambar 4.17 dan posisi akhir 25 fireflies setelah 100 iterasi ditunjukkan dalam gambar 4.18. dengan kata lain LSU-05 mampu
terbang jelajah maksimum selama 4701.9 detik atau 1.3 jam dengan
kecepatan jelajah 16.7 m/s atau 60.12 km/h dan bobot awal sebesar 77 kg.
40
Gambar 4.13 Grafik 2D Fungsi Endurance Gambar 4.14 Posisi awal 25 Fireflies
Gambar 4.15 Posisi akhir 25 fireflies setelah 100 iterasi
41
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan hasil percobaan yang telah dilakukan mengenai uji fungsi tolak ukur dan jarak maksimum saat terbang jelajah maka dapat disimpulkan: 1.
Berdasarkan tabel hasil uji 4.1 eror dari Fungsi Alpine 1 dan Rastrigin bernilai nol sedangkan Fungsi De Jong memiliki eror yang sangat kecil yaitu 𝑥 ∗ = (0.0025 × 10−6 , 0.0031 × 10−6 ) 𝑓(𝑥 ∗ ) = 0. Karena eror bernilai sangat kecil dan hasil yang diperoleh menggunakan FA mendekati global minimum yang tertera dalam referensi maka dapat dikatakan performa FA baik digunakan untuk fungsi yang memiliki sifat kontinu, convex, non convex, multidimensional, unimodal, multimodal, dan yang memiliki turunan maupun tidak dikarenakan penggunaan metode numerik melakukan turunan terhadap fungsi objektif.
2.
Setelah dilakukan percobaan FA dengan 25 fireflies dan 100 iterasi terhadap fungsi range solusi yang diperoleh yaitu LSU-05 mampu terbang maksimal sejauh 300.44 km dan kecepatan jelajah maksimal 30.55 m/s atau 110 km/h dengan bobot awal (W1) sebesar 77 kgf.
3.
Setelah dilakukan percobaan FA dengan 25 fireflies dan 100 iterasi terhadap fungsi Endurance solusi yang diperoleh yaitu LSU-05 mampu terbang selama
42
1.3 jam dan kecepatan jelajah maksimal 60.12 km/h dengan bobot awal (W1) sebesar 77 kgf. 5.2 Saran Berdasarkan analisis dan pembahasan saran yang dapat diberikan antara lain : 1.
Sebaiknya peneliti perlu memperhitungkan dan menganalisis terlebih dahulu dengan mencoba metode numerik atau mengimplementasikan metode kecerdasan buatan lainnya dalam mengoptimisasi pengoprasian UAV. Pada kasus ini untuk menghasilkan jarak tempuh maksimum digunakan kecepatan yang maksimum pula.
2.
Persamaan atau cara perhitungan yang digunakan perlu diklarifikasi atau dicoba dengan contoh kasus terlebih dahulu dan diambil dari referensi yang jelas dan tidak terbatas pada satu sumber, karena dimungkinkan ada perbedaan dalam kalkulasi
3.
Sebelum uji terbang perlu dibuat flight plan
dari contoh kasus LSU-05
menjalankan misi. Setelah flight plan diketahui, kemudian dapat melakukan optimisasi menggunakan FA, lalu diperoleh payload dan bahan bakar yang harus dibawa agar komposisinya sesuai untuk pernerbangan yang telah direncanakan. Jika flight plan telah disesuaikan dengan tujuan
maka algoritma dapat
dikembangkan untuk mencari jarak terpendek ke lokasi tujuan.
43
4.
Untuk penelitian selanjutnya FA juga dapat dibandingkan dengan performa algoritma metaheuristik lainnya untuk mendapatkan informasi algoritma mana yang lebih akurat (mendekati hasil dari uji terbang).
5.
Membuat GUI Matlab agar FA dapat digunakan dengan lebih mudah dan efisien untuk diaplikasikan.
44
DAFTAR PUSTAKA [1] Jamil,M and Yang, X.S. 2013. A literature survey of benchmark functions for global optimization problems, Int. Journal Of Mathematical Modelling and Numerical Optimization, Vol.4,No.2,pp.150-194 [2] Liebenlito, Muhaza. 2015. Optimisasi Multiobjektif Dengan Algoritma KunangKunang (Firefly Algorithm) Untuk Optimisasi Produksi Industri Penisilin V. Jurnal Matematika LOG!K@, Vol.5,No 2, pp.68. [3] Pinindriya, Sinung Tirtha. 2013. Karakteristik Aerodinamika Sayap PTA LSU05 Dengan Simulasi CFD. LAPAN Rumpin. Bogor. [4] Pratomo, Bangga, Hendrix Novianto & M Ardi Cahyono.2013.Perancangan dan Pembuatan Platform UAV Radio Control Kolibri-08v2 dengan Mesin Thunder Tiger 46 Pro. Sekolah Tinggi Teknologi Penerbangan. Yogyakarta. Volume V [5] Purcell,E.J dan D.Varberg.1982. Kalkulus dan Geometri Analisis. Terj. dari Calculus With Analysis Geometri,5th Edition, oleh I Nyoman Susila, B. Kartasasmita,
Rawuh
dan
Departemen
Matematika
ITB.
Penerbit
Erlangga,Jakarta : x + 591 hlm. [6] Michal Smith. 2008. Simple Fireflies Synchronization. PhD thesis, University of Daleware. [7] Rujgok, G.J.J. 1990. Elements Of Airplane Performance. Netherlands : Delft University Press.
45
[8] Soemaryanto, Arifin Rasyadi. 2015. Analisis Prestasi Terbang Pesawat LSU-05 B01 dengan metode Point Performance. Technical Report LAPAN [9] Yang, X.S. 2010. Firefly Algorithm for Multimodal Optimization. Cambrige [10]Yang,
X.S.
2010.
Engineering
Optimization.
An
Introduction
With
Metaheuristics Application. University Of Cambrige. United Kingdom [11]Yang, X.S. 2008. Introduction to Mathematical Optimization : From Linear Programming to Metaheuristics. University Cambrige. United Kingdom
46
LAMPIRAN 1. Source Code Fungsi Alpine 1 % % % % % % % % % % % % % % % % % % % % % % %
======================================================== % Files of the Matlab programs included in the book: % Xin-She Yang, Nature-Inspired Metaheuristic Algorithms, % Second Edition, Luniver Press, (2010). www.luniver.com % ======================================================== % =========================================================% Firefly Algorithm by X S Yang (Cambridge University) % Usage: fireflies_simple([number_of_fireflies,MaxGeneration]) eg: Alpine1([12,50]); % ======================================================== % This is a demo for 2D functions; for higher dimenions, % you should use fa_ndim.m or fa_mincon.m % Parameters choice: Gamma should be linked with scales. Otherwise, the FA % the efficiency will be significantly reduced because % the beta term may be too small. % Similarly, alpha should also be linked with scales, % the steps should not too large or too small, often % steps are about 1/10 to 1/100 of the domain size. % In addition, alpha should be reduced gradually % using alpha=alpha_0 delta^t during eteration t. % Typically, delta=0.9 to 0.99 will be a good choice. % ======================================================== %
function [best]=alpine1(instr) % n=number of fireflies % MaxGeneration=number of pseudo time steps if nargin<1, instr=[50 1000]; end n=instr(1); MaxGeneration=instr(2); % Show info help alpine1 rand('state',0); % Reset the random generator % ------ Alpine 1 functions --------------------str1='abs(x.*sin(x)+0.1.*x)'; str2='+abs(y.*sin(y)+0.1.*y)'; funstr=strcat(str1,str2); % Converting to an inline function f=vektorize(inline(funstr)); % range=[xmin xmax ymin ymax]; range=[-3 3 -3 3]; % -----------------------------------------------alpha=0.2; % Randomness 0--1 (highly random) gamma=1.0; % Absorption coefficient delta=0.97; % Randomness reduction (similar to % an annealing schedule) % ------------------------------------------------
47
% Grid values are used for display only Ngrid=100; dx=(range(2)-range(1))/Ngrid; dy=(range(4)-range(3))/Ngrid; [x,y]=meshgrid(range(1):dx:range(2),... range(3):dy:range(4)); z=f(x,y); % Display the shape of the objective function figure(1); surfc(x,y,z); % -----------------------------------------------% generating the initial locations of n fireflies [xn,yn,Lightn]=init_ffa(n,range); % Display the paths of fireflies in a figure with % contours of the function to be optimized figure(2); % Iterations or pseudo time marching for i=1:MaxGeneration, %%%%% start iterations % Show the contours of the function contour(x,y,z,15); hold on; % Evaluate new solutions zn=f(xn,yn); % Ranking the fireflies by their light intensity [Lightn,Index]=sort(zn); xn=xn(Index); yn=yn(Index); xo=xn; yo=yn; Lighto=Lightn; % Trace the paths of all roaming fireflies plot(xn,yn,'.','markersize',10,'markerfacecolor','g'); % Move all fireflies to the better locations [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,Lighto,alpha,gamma,range); drawnow; % Use "hold on" to show the paths of fireflies hold off; % Reduce randomness as iterations proceed alpha=newalpha(alpha,delta); end %%%%% end of iterations best(:,1)=xo'; best(:,2)=yo'; best(:,3)=Lighto'; % ----- All subfunctions are listed here --------% The initial locations of n fireflies function [xn,yn,Lightn]=init_ffa(n,range) xrange=range(2)-range(1); yrange=range(4)-range(3); xn=rand(1,n)*xrange+range(1); yn=rand(1,n)*yrange+range(3); Lightn=zeros(size(yn)); % Move all fireflies toward brighter ones
48
function [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,... Lighto,alpha,gamma,range) ni=size(yn,2); nj=size(yo,2); for i=1:ni, % The attractiveness parameter beta=exp(-gamma*r) for j=1:nj, r=sqrt((xn(i)-xo(j))^2+(yn(i)-yo(j))^2); if Lightn(i)>Lighto(j), % Brighter and more attractive beta0=1; beta=beta0*exp(-gamma*r.^2); xn(i)=xn(i).*(1-beta)+xo(j).*beta+alpha.*(rand-0.5); yn(i)=yn(i).*(1-beta)+yo(j).*beta+alpha.*(rand-0.5); end end % end for j end % end for i [xn,yn]=findrange(xn,yn,range); % Reduce the randomness during iterations function alpha=newalpha(alpha,delta) alpha=alpha*delta; % Make sure the fireflies are within the range function [xn,yn]=findrange(xn,yn,range) for i=1:length(yn), if xn(i)<=range(1), xn(i)=range(1); end if xn(i)>=range(2), xn(i)=range(2); end if yn(i)<=range(3), yn(i)=range(3); end if yn(i)>=range(4), yn(i)=range(4); end end % ============== end =====================================
2. Sorce Code Fungsi De Jong function [best]=deJong(instr) % n=number of fireflies % MaxGeneration=number of pseudo time steps if nargin<1, instr=[50 800]; end n=instr(1); MaxGeneration=instr(2); % Show info help fireflies_simple.m rand('state',0); % Reset the random generator % ------ De Jong functions --------------------str1='x^2'; str2='+y^2'; funstr=strcat(str1,str2); % Converting to an inline function f=vektorize(inline(funstr)); % range=[xmin xmax ymin ymax]; range=[-2 2 -2 2];
49
% -----------------------------------------------alpha=0.2; % Randomness 0--1 (highly random) gamma=1.0; % Absorption coefficient delta=0.97; % Randomness reduction (similar to % an annealing schedule) % -----------------------------------------------% Grid values are used for display only Ngrid=100; dx=(range(2)-range(1))/Ngrid; dy=(range(4)-range(3))/Ngrid; [x,y]=meshgrid(range(1):dx:range(2),... range(3):dy:range(4)); z=f(x,y); % Display the shape of the objective function figure(1); surfc(x,y,z); % -----------------------------------------------% generating the initial locations of n fireflies [xn,yn,Lightn]=init_ffa(n,range); % Display the paths of fireflies in a figure with % contours of the function to be optimized figure(2); % Iterations or pseudo time marching for i=1:MaxGeneration, %%%%% start iterations % Show the contours of the function contour(x,y,z,15); hold on; % Evaluate new solutions zn=f(xn,yn); % Ranking the fireflies by their light intensity [Lightn,Index]=sort(zn); xn=xn(Index); yn=yn(Index); xo=xn; yo=yn; Lighto=Lightn; % Trace the paths of all roaming fireflies plot(xn,yn,'.','markersize',10,'markerfacecolor','g'); % Move all fireflies to the better locations [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,Lighto,alpha,gamma,range); drawnow; % Use "hold on" to show the paths of fireflies hold off; % Reduce randomness as iterations proceed alpha=newalpha(alpha,delta); end %%%%% end of iterations best(:,1)=xo'; best(:,2)=yo'; best(:,3)=Lighto'; % ----- All subfunctions are listed here --------% The initial locations of n fireflies function [xn,yn,Lightn]=init_ffa(n,range) xrange=range(2)-range(1);
50
yrange=range(4)-range(3); xn=rand(1,n)*xrange+range(1); yn=rand(1,n)*yrange+range(3); Lightn=zeros(size(yn)); % Move all fireflies toward brighter ones function [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,... Lighto,alpha,gamma,range) ni=size(yn,2); nj=size(yo,2); for i=1:ni, % The attractiveness parameter beta=exp(-gamma*r) for j=1:nj, r=sqrt((xn(i)-xo(j))^2+(yn(i)-yo(j))^2); if Lightn(i)>Lighto(j), % Brighter and more attractive beta0=1; beta=beta0*exp(-gamma*r.^2); xn(i)=xn(i).*(1-beta)+xo(j).*beta+alpha.*(rand-0.5); yn(i)=yn(i).*(1-beta)+yo(j).*beta+alpha.*(rand-0.5); end end % end for j end % end for i [xn,yn]=findrange(xn,yn,range); % Reduce the randomness during iterations function alpha=newalpha(alpha,delta) alpha=alpha*delta; % Make sure the fireflies are within the range function [xn,yn]=findrange(xn,yn,range) for i=1:length(yn), if xn(i)<=range(1), xn(i)=range(1); end if xn(i)>=range(2), xn(i)=range(2); end if yn(i)<=range(3), yn(i)=range(3); end if yn(i)>=range(4), yn(i)=range(4); end end % ============== end =====================================
3. Source Code Fungsi Rastrigin function [best]=fireflies_simple(instr) % n=number of fireflies % MaxGeneration=number of pseudo time steps if nargin<1, instr=[50 1000]; end n=instr(1); MaxGeneration=instr(2); % Show info help fireflies_simple.m rand('state',0); % Reset the random generator % ------ Four peak functions --------------------str1='10+(x^2-10.*cos(2*pi*x))'; str2='+10+(y^2-10.*cos(2*pi*y))';
51
funstr=strcat(str1,str2); % Converting to an inline function f=vektorize(inline(funstr)); % range=[xmin xmax ymin ymax]; range=[-5.12 5.12 -5.12 5.12]; % -----------------------------------------------alpha=0.2; % Randomness 0--1 (highly random) gamma=1.0; % Absorption coefficient delta=0.97; % Randomness reduction (similar to % an annealing schedule) % -----------------------------------------------% Grid values are used for display only Ngrid=100; dx=(range(2)-range(1))/Ngrid; dy=(range(4)-range(3))/Ngrid; [x,y]=meshgrid(range(1):dx:range(2),... range(3):dy:range(4)); z=f(x,y); % Display the shape of the objective function figure(1); surfc(x,y,z); % -----------------------------------------------% generating the initial locations of n fireflies [xn,yn,Lightn]=init_ffa(n,range); % Display the paths of fireflies in a figure with % contours of the function to be optimized figure(2); % Iterations or pseudo time marching for i=1:MaxGeneration, %%%%% start iterations % Show the contours of the function contour(x,y,z,15); hold on; % Evaluate new solutions zn=f(xn,yn); % Ranking the fireflies by their light intensity [Lightn,Index]=sort(zn); xn=xn(Index); yn=yn(Index); xo=xn; yo=yn; Lighto=Lightn; % Trace the paths of all roaming fireflies plot(xn,yn,'.','markersize',10,'markerfacecolor','g'); % Move all fireflies to the better locations [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,Lighto,alpha,gamma,range); drawnow; % Use "hold on" to show the paths of fireflies hold off; % Reduce randomness as iterations proceed alpha=newalpha(alpha,delta); end
%%%%% end of iterations
52
best(:,1)=xo'; best(:,2)=yo'; best(:,3)=Lighto'; % ----- All subfunctions are listed here --------% The initial locations of n fireflies function [xn,yn,Lightn]=init_ffa(n,range) xrange=range(2)-range(1); yrange=range(4)-range(3); xn=rand(1,n)*xrange+range(1); yn=rand(1,n)*yrange+range(3); Lightn=zeros(size(yn)); % Move all fireflies toward brighter ones function [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,... Lighto,alpha,gamma,range) ni=size(yn,2); nj=size(yo,2); for i=1:ni, % The attractiveness parameter beta=exp(-gamma*r) for j=1:nj, r=sqrt((xn(i)-xo(j))^2+(yn(i)-yo(j))^2); if Lightn(i)>Lighto(j), % Brighter and more attractive beta0=1; beta=beta0*exp(-gamma*r.^2); xn(i)=xn(i).*(1-beta)+xo(j).*beta+alpha.*(rand-0.5); yn(i)=yn(i).*(1-beta)+yo(j).*beta+alpha.*(rand-0.5); end end % end for j end % end for i [xn,yn]=findrange(xn,yn,range); % Reduce the randomness during iterations function alpha=newalpha(alpha,delta) alpha=alpha*delta; % Make sure the fireflies are within the range function [xn,yn]=findrange(xn,yn,range) for i=1:length(yn), if xn(i)<=range(1), xn(i)=range(1); end if xn(i)>=range(2), xn(i)=range(2); end if yn(i)<=range(3), yn(i)=range(3); end if yn(i)>=range(4), yn(i)=range(4); end end % ============== end =====================================
53
4. Hasil Uji Fungsi Optimisasi Jumlah Fireflies = 50 Iterasi (Max Gen) = 1000 ALPINE 1 FUNCTION ans =
Jumlah Fireflies = 50 Iterasi (Max Gen) = 800 DE JONG FUNCTION 1.0e-006 *
-0.0000 0.0000 -0.0000 0.0000 -0.0000 -0.0000 -6.3834 -6.3834 -6.3834 -6.3834 -6.3834 9.5249 9.5249 -6.3834 9.5249 9.5249 6.1830 6.1830 6.1830 3.2418 3.2418 3.2418 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 -9.3246 -9.3246 -9.3246 6.1831 -0.1420 -0.1420 -0.1420 -0.1420 6.1833 -0.2090
-0.0025 0.0012 -0.0143 -0.0247 -0.0120 0.0311 -0.0415 0.0301 0.0585 -0.0437 -0.0364 -0.0498 0.0662 -0.0477 0.0678 -0.0031 -0.0696 -0.0633 0.0687 -0.0700 -0.1079 -0.1085 -0.0935 0.1045 -0.0659 -0.0769 -0.1308 -0.0765 -0.1451 0.0747 -0.1344 0.0723 0.0258 0.0364 -0.1466 0.0151 -0.0591 -0.0882 0.1114
0.0000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 3.2418 3.2418 3.2418 3.2418 3.2418 -3.0414 -3.0414 3.2418 -3.0414 -3.0414 -6.3834 -6.3834 -6.3834 3.2418 3.2418 3.2418 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 6.1830 -3.0432 -6.3834 -6.3834 -6.3834 -6.3834 -3.0433 -3.0413
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0057 0.0059 0.0059 0.0059 0.0059 0.0073 0.0228
-0.0031 -0.0114 -0.0108 -0.0014 -0.0264 -0.0133 -0.0192 0.0468 0.0069 0.0418 0.0484 -0.0347 -0.0144 -0.0489 -0.0084 0.0700 -0.0236 -0.0421 0.0456 -0.0736 0.0188 0.0155 0.0584 -0.0386 -0.0975 -0.0954 0.0110 0.1148 0.0251 -0.1294 0.0706 -0.1396 -0.1583 0.1633 -0.0834 0.1734 0.1688 -0.1617 0.1571
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Jumlah Fireflies = 50 Iterasi (Max Gen) = 1000 RASTRIGIN
-0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 -0.0000 1.9860 1.9884 1.9845 1.9818 1.9828 1.9835 1.9814 1.9833 1.9854 1.9844 1.9796 1.9743 -2.9848 -2.9848 -2.9848 -2.9847 -2.9848 -2.9848 -2.9848 -2.9849 -2.9848
0.0000 0 -0.0000 0 0.0000 0 0.0000 0 0.0000 0 -0.0000 0 -0.0000 0 -0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 0.0000 0 0.0000 0 0.0000 0 0.0000 0 1.9840 7.9696 1.9830 7.9696 1.9841 7.9721 1.9944 7.9766 1.9831 7.9787 1.9797 7.9884 1.9798 7.9942 1.9782 7.9955 1.9764 7.9997 1.9765 8.0012 1.9777 8.0100 1.9689 8.0949 1.9899 12.9344 1.9898 12.9344 1.9898 12.9344 1.9899 12.9344 1.9898 12.9344 1.9898 12.9344 1.9898 12.9344 1.9898 12.9344 1.9901 12.9344 54
-0.2083 -0.2088 -6.3867 -6.3887 0.1920 0.1928 -6.3883 -9.3748 -4.1706 -2.8106 -8.3929
-3.0411 -3.0398 6.1813 6.1809 3.2413 3.2408 6.1782 -2.8430 -5.9959 8.0948 -7.7909
0.0232 0.0273 0.0319 0.0468 0.0572 0.0592 0.0612 1.0213 6.2888 9.3029 13.3602
0.0332 0.1510 -0.2041 0.1777 -0.2181 -0.2276 0.0227 0.1766 -0.2631 -0.0880 0.2778
-0.1913 0.1403 0.0312 -0.1053 -0.0907 0.0730 0.2491 -0.1860 0.1025 0.2696 -0.0880
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-2.9848 -2.9847 -2.9847 -4.0465 -4.0465 3.9798 3.9798 3.9798 3.9798 3.9798 3.9798
1.9898 1.9898 1.9898 -1.9932 -1.9932 -2.9849 -2.9849 -2.9849 -2.9849 -2.9849 -2.9849
12.9344 12.9344 12.9344 20.7809 20.7809 24.8738 24.8738 24.8738 24.8738 24.8738 24.8738
5. Source Code Fungsi Max Range function [best]=fireflies_simple(instr) % n=number of fireflies % MaxGeneration=number of pseudo time steps if nargin<1, instr=[12 50]; end n=instr(1); MaxGeneration=instr(2); % Show info help fireflies_simple.m rand('state',0); % Reset the random generator % ------ Max Range functions --------------------str1='42.22*x'; str2='*log(y/36)'; funstr=strcat(str1,str2); % Converting to an inline function f=vektorize(inline(funstr)); % range=[xmin xmax ymin ymax]; range=[16.67 30.55 36 77]; % -----------------------------------------------alpha=0.6; % Randomness 0--1 (highly random) gamma=1.0; % Absorption coefficient delta=0.97; % Randomness reduction (similar to % an annealing schedule) % -----------------------------------------------% Grid values are used for display only Ngrid=100; dx=(range(2)-range(1))/Ngrid; dy=(range(4)-range(3))/Ngrid; [x,y]=meshgrid(range(1):dx:range(2),... range(3):dy:range(4)); z=f(x,y); % Display the shape of the objective function figure(1); surfc(x,y,z); % ------------------------------------------------
55
% generating the initial locations of n fireflies [xn,yn,Lightn]=init_ffa(n,range); % Display the paths of fireflies in a figure with % contours of the function to be optimized figure(2); % Iterations or pseudo time marching for i=1:MaxGeneration, %%%%% start iterations % Show the contours of the function contour(x,y,z,15); hold on; % Evaluate new solutions zn=f(xn,yn); % Ranking the fireflies by their light intensity [Lightn,Index]=sort(zn); xn=xn(Index); yn=yn(Index); xo=xn; yo=yn; Lighto=Lightn; % Trace the paths of all roaming fireflies plot(xn,yn,'.','markersize',10,'markerfacecolor','g'); % Move all fireflies to the better locations [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,Lighto,alpha,gamma,range); drawnow; % Use "hold on" to show the paths of fireflies hold off; % Reduce randomness as iterations proceed alpha=newalpha(alpha,delta); end %%%%% end of iterations best(:,1)=xo'; best(:,2)=yo'; best(:,3)=Lighto'; % ----- All subfunctions are listed here --------% The initial locations of n fireflies function [xn,yn,Lightn]=init_ffa(n,range) xrange=range(2)-range(1); yrange=range(4)-range(3); xn=rand(1,n)*xrange+range(1); yn=rand(1,n)*yrange+range(3); Lightn=zeros(size(yn)); % Move all fireflies toward brighter ones function [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,... Lighto,alpha,gamma,range) ni=size(yn,2); nj=size(yo,2); for i=1:ni, % The attractiveness parameter beta=exp(-gamma*r) for j=1:nj, r=sqrt((xn(i)-xo(j))^2+(yn(i)-yo(j))^2); if Lightn(i)
56
end end % end for j end % end for i [xn,yn]=findrange(xn,yn,range); % Reduce the randomness during iterations function alpha=newalpha(alpha,delta) alpha=alpha*delta; % Make sure the fireflies are within the range function [xn,yn]=findrange(xn,yn,range) for i=1:length(yn), if xn(i)<=range(1), xn(i)=range(1); end if xn(i)>=range(2), xn(i)=range(2); end if yn(i)<=range(3), yn(i)=range(3); end if yn(i)>=range(4), yn(i)=range(4); end end % ============== end =====================================
6. Hasil Perhitungan Range Menggunakan FA ans = 29.8019 26.8024 26.6881 20.0802 17.7423 23.6852 28.1249 28.1464 28.2119 27.0069 30.5500 30.5500
63.2548 65.6770 65.9125 72.9274 74.6869 73.9480 72.6741 72.7138 72.7426 75.1022 77.0000 77.0000
45.6700 83.5974 87.2734 151.4056 151.6376 192.4863 207.9323 208.7408 209.6990 237.1413 300.4400 300.4400
7. Source Code Fungsi Max Endurance function [best]=fireflies_simple(instr) % n=number of fireflies % MaxGeneration=number of pseudo time steps if nargin<1, instr=[25 100]; end n=instr(1); MaxGeneration=instr(2); % Show info
57
help fireflies_simple.m rand('state',0); % Reset the random generator % ------ Max Enndurance functions --------------------str1='(634557.53/x)'; str2='*(sqrt(y/61)-1)'; funstr=strcat(str1,str2); % Converting to an inline function f=vektorize(inline(funstr)); % range=[xmin xmax ymin ymax]; range=[16.67 30.55 61 77]; % -----------------------------------------------alpha=0.8; % Randomness 0--1 (highly random) gamma=1.0; % Absorption coefficient delta=0.97; % Randomness reduction (similar to % an annealing schedule) % -----------------------------------------------% Grid values are used for display only Ngrid=100; dx=(range(2)-range(1))/Ngrid; dy=(range(4)-range(3))/Ngrid; [x,y]=meshgrid(range(1):dx:range(2),... range(3):dy:range(4)); z=f(x,y); % Display the shape of the objective function figure(1); surfc(x,y,z); % -----------------------------------------------% generating the initial locations of n fireflies [xn,yn,Lightn]=init_ffa(n,range); % Display the paths of fireflies in a figure with % contours of the function to be optimized figure(2); % Iterations or pseudo time marching for i=1:MaxGeneration, %%%%% start iterations % Show the contours of the function contour(x,y,z,15); hold on; % Evaluate new solutions zn=f(xn,yn); % Ranking the fireflies by their light intensity [Lightn,Index]=sort(zn); xn=xn(Index); yn=yn(Index); xo=xn; yo=yn; Lighto=Lightn; % Trace the paths of all roaming fireflies plot(xn,yn,'.','markersize',10,'markerfacecolor','g'); % Move all fireflies to the better locations [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,Lighto,alpha,gamma,range); drawnow; % Use "hold on" to show the paths of fireflies hold off;
58
% Reduce randomness as iterations proceed alpha=newalpha(alpha,delta); end %%%%% end of iterations best(:,1)=xo'; best(:,2)=yo'; best(:,3)=Lighto'; % ----- All subfunctions are listed here --------% The initial locations of n fireflies function [xn,yn,Lightn]=init_ffa(n,range) xrange=range(2)-range(1); yrange=range(4)-range(3); xn=rand(1,n)*xrange+range(1); yn=rand(1,n)*yrange+range(3); Lightn=zeros(size(yn)); % Move all fireflies toward brighter ones function [xn,yn]=ffa_move(xn,yn,Lightn,xo,yo,... Lighto,alpha,gamma,range) ni=size(yn,2); nj=size(yo,2); for i=1:ni, % The attractiveness parameter beta=exp(-gamma*r) for j=1:nj, r=sqrt((xn(i)-xo(j))^2+(yn(i)-yo(j))^2); if Lightn(i)
=range(2), xn(i)=range(2); end if yn(i)<=range(3), yn(i)=range(3); end if yn(i)>=range(4), yn(i)=range(4); end end % ============== end =====================================
59
8. Hasil Perhitungan Endurance menggunakan FA ans = 1.0e+003 * 0.0229 0.0298 0.0298 0.0201 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167 0.0167
0.0618 0.0715 0.0716 0.0696 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770 0.0770
0.1821 1.7678 1.7709 2.1387 4.6961 4.6963 4.6968 4.7001 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019 4.7019
60