PERBANDINGAN WAKTU EKSEKUSI METODE
STEEPEST
DESCENT
DAN METODE BARZILAI
-
BORWEIN
MENGGUNAKAN PERANGKAT LUNAK
MATLAB
KIKI SEPTIANI
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Perbandingan Waktu Eksekusi Metode Steepest Descent dan Metode Barzilai-Borwein Menggunakan Perangkat Lunak MATLAB adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
ABSTRAK
KIKI SEPTIANI. Perbandingan Waktu Eksekusi Metode Steepest Descent dan Metode Barzilai-Borwein Menggunakan Perangkat Lunak MATLAB. Dibimbing oleh BIB PARUHUM SILALAHI dan MUHAMMAD ILYAS.
Pengoptimuman adalah ilmu yang berhubungan dengan mencari nilai maksimum dan minimum. Suatu masalah pengoptimuman terdiri dari masalah pengoptimuman tak berkendala dan pengoptimuman berkendala. Selama lebih dari empat puluh tahun telah banyak algoritme pencarian langsung untuk masalah pengoptimuman tanpa kendala yang dikembangkan, antara lain adalah metode steepest descent dan metode Barzilai-Borwein. Untuk beberapa kasus, kekonvergenan dari metode steepest descent ke solusi optimal membutuhkan waktu panjang. Hal ini terjadi karena jalur zig-zag dalam menuju solusi optimal. Barzilai dan Borwein memperkenalkan dua stepsize yang menjamin konvergensi yang lebih cepat. Penelitian ini mengonstruksi metode steepest descent dan metode Barzilai-Borwein kemudian melakukan perbandingan waktu eksekusi antara kedua metode tersebut dengan menggunakan perangkat lunak MATLAB. Dalam penelitian ini diperoleh kesimpulan bahwa waktu eksekusi metode Barzilai-Borwein lebih cepat dibandingkan dengan metode steepest descent. Kata kunci: MATLAB, Metode Barzilai-Borwein, Metode Steepest Descent,
Pengoptimuman
ABSTRACT
KIKI SEPTIANI. Execution Time Comparison between the Steepest Descent and Barzilai-Borwein Methods by Using MATLAB. Supervised by BIB PARUHUM SILALAHI and MUHAMMAD ILYAS.
Optimization is a knowledge associated with problems of the maximum and minimum determination. The optimization problems consist of the problems without constraint and with constraint. In the last forty years time, many direct search algorithms for optimization problems without constraint have been developed, including the steepest descent method and the Barzilai-Borwein method. In some cases, the convergence of the steepest descent method requires a longer time to reach the optimal solution. This is due to the zig-zag path undertaken. Barzilai and Borwein introduce two stepsize that guarantees to obtain a convergent solution. This research reconstructs the steepest descent and the Barzilai-Borwein methods and then the execution time required between the both methods were compared using MATLAB. Based on the experiments obtained, the Barzilai-Borwein method reached its convergence value faster than the steepest descent method.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains
pada
Departemen Matematika
KIKI SEPTIANI
PERBANDINGAN WAKTU EKSEKUSI METODE
STEEPEST
DESCENT
DAN METODE BARZILAI-BORWEIN
MENGGUNAKAN PERANGKAT LUNAK
MATLAB
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
PRAKATA
Puji dan syukur saya panjatkan kepada Allah subhanahu wa ta’ala atas segala nikmat, rahmat, karunia dan pertolongan yang telah diberikan sehingga karya ilmiah ini berhasil diselesaikan. Judul karya ilmiah ini adalah Perbandingan Waktu Eksekusi Metode Steepest Descent dan Metode Barzilai-Borwein Menggunakan Perangkat Lunak MATLAB.
Terima kasih saya ucapkan kepada keluarga tercinta Ayahanda Rusdi, Ibunda Dini, dan ketiga adik saya Yonanda, Elsa, dan Didi atas segala doa dan dukungan selama menulis karya ilmiah ini. Ungkapan terima kasih juga saya sampaikan kepada Bapak Dr Ir Bib Paruhum Silalahi, MKom dan Bapak Muhammad Ilyas, MSi, MSc selaku dosen pembimbing yang telah banyak memberi saran, kesabaran dan ilmu, serta Ibu Dra Farida Hanum, MSi selaku dosen penguji. Tidak lupa penulis mengucapkan terima kasih untuk para sahabat Mira Aisyah Romliyah, Leny Yustie Widiasari, Aisatul Mustaqimah, Erjodi Cahyo, Fachriadi Fadhillah, Lola Oktasari, Novia Yuliani, Ervina Marviana, teman-teman seperjuangan Matematika 47, dan kakak- kakak Matematika 46 atas bantuan dan dukungannya serta teman-teman sekalian di luar Departemen Matematika IPB.
Semoga karya ilmiah ini bermanfaat.
DAFTAR ISI
Ilustrasi Metode Steepest Descent dan Metode Barzilai-Borwein 8 Hasil Komputasi Metode Steepest Descent dan Metode Barzilai-Borwein 11
DAFTAR TABEL
1 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi dua
variabel dengan lima kali pengulangan 11
2 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi tiga
variabel dengan tiga kali pengulangan 11
3 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi
empat variabel dengan tiga kali pengulangan 12
4 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi
lima variabel dengan tiga kali pengulangan 12
5 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi
sepuluh variabel dengan lima kali pengulangan 12
6 Perbedaan iterasi rata-rata metode steepest descent dan metode
Barzilai-Borwein 13
7 Perbedaan waktu eksekusi (dalam second) rata-rata metode steepest
descent dan metode Barzilai-Borwein 13
DAFTAR GAMBAR
1 Hasil metode steepest descent 9
2 Hasil metode steepset descent yang diperbesar 9
3 Hasil metode Barzilai-Borwein 1 10
4 Hasil metode Barzilai-Borwein 2 10
5 Iterasi rata-rata metode steepest descent dan metode Barzilai-Borwein 14 6 Waktu eksekusi rata-rata metode steepest descent dan metode
Barzilai-Borwein 14
fungsi dengan dua variabel 19
PENDAHULUAN
Latar Belakang
Pengoptimuman bertujuan mencari nilai minimum atau maksimum dari suatu fungsi bernilai real. Secara umum, ada dua jenis pengoptimuman yang sering dihadapi, yaitu pengoptimuman linear dan pengoptimuman taklinear. Masalah pengoptimuman terdiri dari fungsi tujuan dan kendala, jika kendalanya tidak ada maka masalah pengoptimuman tersebut dinamakan masalah pengoptimuman tak berkendala sebaliknya jika kendalanya ada maka masalah pengoptimuman tersebut dinamakan pengoptimuman berkendala. Masalah pengoptimuman tak berkendala satu variabel dapat diselesaikan dengan menggunakan kalkulus. Selama lebih dari empat puluh tahun telah banyak algoritme pencarian langsung (direct search) untuk masalah pengoptimuman tak berkendala yang dikembangkan. Algoritme-algoritme ini memerlukan titik awal (dinyatakan dengan ) untuk memulai proses pencarian solusi optimal langsung dari titik menuju dan seterusnya. Proses akan berhenti jika tidak diperoleh titik yang lebih baik (lebih kecil nilai fungsinya, untuk masalah peminimuman) atau jika diperoleh titik sehingga , atau dengan kriteria pemberhentian lainnya. Beberapa metode pencarian langsung untuk meminimumkan fungsi banyak variabel, yaitu metode golden section, metode Newton, dan algoritme interpolasi kuadratik Powell.
Metode steepest descent merupakan salah satu metode klasik untuk menyelesaikan masalah pengoptimuman tak berkendala fungsi banyak variabel. Untuk beberapa kasus kekonvergenan dari metode steepest descent menuju ke solusi optimal lambat, hal ini terjadi karena jalur zig-zag dalam menuju solusi optimal (Sun dan Yuan 2006).
Barzilai dan Borwein memperkenalkan dua stepsize yang menjamin konvergensi yang lebih baik. Metode Barzilai-Borwein bertujuan mempercepat konvergensi metode steepest descent (Barzilai dan Borwein 1988). Dalam karya ilmiah ini dibahas perbandingan waktu eksekusi dan banyaknya iterasi antara metode steepest descent dan metode Barzilai-Borwein dengan menggunakan perangkat lunak MATLAB.
Tujuan Penelitian
2
TINJAUAN PUSTAKA
Fungsi Kuadratik
Suatu fungsi dinamakan fungsi kuadratik dalam variabel jika dapat dituliskan sebagai:
Metode Interpolasi Kuadrat dengan Dua Titik
Metode interpolasi kuadrat dengan dua titik adalah metode untuk menentukan hampiran titik minimum suatu fungsi kuadrat dengan menggunakan dua titik. Misalkan diberikan dua titik dan nilai fungsinya (atau ), dan dua nilai turunan dan . Polinomial yang digunakan untuk proses interpolasi adalah . Dengan memasukkan dua titik tersebut ke dalam fungsi diperoleh sistem persamaan linear:
3
(Sun dan Yuan 2006).
Metode Newton
Metode Newton adalah salah satu prosedur iteratif untuk menyelesaikan masalah taklinear. Misalkan persamaan adalah persamaan taklinear dengan merupakan penyelesaian dari persamaan tersebut. Fungsi adalah fungsi yang kontinu dan terturunkan. Pada solusi eksak , nilai fungsi dapat diperlukan untuk mengubah nilai fungsi menuju nol. Selanjutnya, metode Newton dapat diturunkan dari ekspansi deret Taylor orde pertama dari di
4
Hasil Kali Skalar di dalam
Vektor-vektor di dalam dapat digambarkan dengan segmen-segmen garis berarah. Jika diberikan sebuah vektor di , maka panjang Euclidenya dapat didefinisikan dalam bentuk hasil kali skalar:
jika (Leon 2001).
HASIL DAN PEMBAHASAN
Metode Steepest Descent
Metode line search descent yang menggunakan vektor gradien (turunan parsial orde pertama dari fungsi ) untuk menentukan arah pencarian di setiap iterasi, dinamakan metode line search descent orde pertama. Metode terkenal yang banyak digunakan adalah metode steepest descent yang pertama kali diperkenalkan oleh Cauchy pada tahun 1847.
Metode steepest descent adalah salah satu metode yang tertua dan paling banyak dikenal untuk meminimalkan fungsi dari beberapa variabel. Metode steepest descent sangat penting karena metode ini merupakan salah satu dari yang paling sederhana dan metode peminimuman yang paling mendasar untuk pengoptimuman tanpa kendala (sering disebut sebagai metode gradien). Metode steepest descent merupakan metode iteratif untuk memperoleh solusi pendekatan dari masalah awal. Algoritme yang lebih maju sering termotivasi oleh upaya untuk memodifikasi teknik dasar steepest descent sehingga algoritme baru akan memiliki sifat konvergensi yang unggul. Teknik ini tidak hanya paling sering digunakan dalam penyelesaian masalah baru, tetapi juga standar acuan terhadap teknik lain yang diukur. Metode steepest descent selalu konvergen. Artinya, secara teori metode ini tidak akan berhenti atau akan terus melakukan iterasi sampai kriteria penghentian terpenuhi (Luenberger dan Ye 2008). Pencarian arah adalah hal yang penting dalam metode steepest descent, dan pencarian ini yang membedakan antara algoritme yang satu dengan yang lainnya. Begitu pencarian arah telah ditentukan maka tahap selanjutnya adalah pencarian stepsize (line search, step search).
Masalah model kuadrat dinyatakan sebagai berikut:
(1)
dengan adalah symmetric positive definite (SPD) dan . Masalah ini setara dengan memecahkan sistem linear:
5 Karena diandaikan adalah definit positif, masalah (1) memiliki solusi yang unik yang diberikan oleh . Metode steepest descent yang dikenal juga dengan metode gradien adalah metode yang mencari penurunan tercepat dari:
,
yang terjadi pada:
dan
Berikut bentuk iterasi gradien:
(2)
Untuk beberapa kasus, kekonvergenan dari metode steepest descent ke solusi optimal lambat, hal ini karena jalur zig-zag dalam menuju solusi optimal. Secara intuitif arah adalah arah dengan penurunan tercepat, tetapi secara global tidak berarti menuju titik minimum lokal yang tercepat.
Untuk mencari minimum dari , diperoleh:
.
Ini berarti gradien dari titik awal menuju titik selanjutnya saling tegak lurus (ortogonal) pada metode steepest descent. Dari persamaan (2) didapat pilihan stepsize optimal sebagai berikut:
6
Berikut ini diberikan algoritme metode steepest descent:
Langkah 1 Batas toleransi . Diberikan titik awal dengan
Barzilai dan Borwein memperkenalkan metode gradien two-point stepsize yang biasanya disebut metode gradien Barzilai-Borwein (atau BB) untuk memecahkan masalah peminimuman fungsi tak berkendala (Barzilai dan Borwein 1988).
Berikut bentuk iterasi gradien:
(3)
Pada awalnya digunakan metode Newton untuk memecahkan suatu persamaan nonlinear , dengan pendekatan yang berasal dari
(juga dikenal sebagai metode sekan) dengan iterasi sebagai berikut:
Untuk menentukan stepsize metode Barzilai-Borwein 1, perhatikan persamaan berikut:
7 Selanjutnya persamaan (6) diselesaikan dengan metode least-square, dengan , sehingga diperoleh:
Dengan menggunakan syarat perlu minimum bahwa turunan pertama sama dengan nol, sehingga diperoleh:
Untuk menentukan stepsize metode Barzilai-Borwein 2, perhatikan persamaan berikut:
(7)
8
.
Dengan menggunakan syarat perlu minimum bahwa turunan pertama sama dengan nol, sehingga diperoleh:
Berikut ini diberikan algoritme metode gradien Barzilai-Borwein:
Langkah 1 Diberikan titik awal , batas toleransi , dengan
Ilustrasi Metode Steepest Descent dan Metode Barzilai-Borwein
Ilustrasi 1 Dengan menggunakan metode steepest descent, min dengan titik awal .
9
Gambar 1 Hasil metode steepest descent
Gambar 2 Hasil metode steepest descent yang diperbesar
Gambar 1 dan Gambar 2 menunjukkan bahwa dalam menuju solusi optimal, metode steepest descent mengambil arah zig-zag dan tegak lurus (ortogonal) seperti yang telah dijelaskan pada subbab metode steepest descent.
Ilustrasi 2 Dengan menggunakan metode Barzilai-Borwein 1, dengan titik awal dan arah:
10
Berikut adalah solusi dari metode Barzilai-Borwein 1 untuk ilustrasi 2:
Gambar 3 Hasil metode Barzilai-Borwein 1
Ilustrasi 3 Dengan menggunakan metode Barzilai-Borwein 2, min dengan titik awal dan arah:
Berikut adalah solusi dari metode Barzilai-Borwein 2 untuk ilustrasi 3:
Gambar 4 Hasil metode Barzilai-Borwein 2
11 Hasil Komputasi Metode Steepest Descent dan Metode Barzilai-Borwein
Fungsi yang digunakan dibangkitkan secara acak dengan ketentuan sebagai berikut:
Perbedaan waktu eksekusi antara metode steepest descent dan metode Barzilai-Borwein dapat dilihat pada Tabel 1 untuk fungsi dengan dua variabel, Tabel 2 untuk fungsi dengan tiga variabel, Tabel 3 untuk fungsi dengan empat variabel, Tabel 4 untuk fungsi dengan lima variabel, dan Tabel 5 untuk fungsi dengan sepuluh variabel.
12
Tabel 3 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi empat variabel dengan lima kali pengulangan
Percobaan metode steepest descent dan metode Barzilai-Borwein untuk fungsi lima variabel dengan lima kali pengulangan
Rata-rata 709.4 570.444200 74.2 23.814913 121.8 38.774121
Tabel 5 Analisis perbedaan banyak iterasi dan waktu eksekusi (dalam second) metode steepest descent dan metode Barzilai-Borwein untuk fungsi sepuluh variabel dengan lima kali pengulangan
13 perbedaan hasil eksekusi tersebut, selanjutnya dilakukan penghitungan nilai rata-rata waktu eksekusi untuk mempermudah menganalisis perbedaan waktu eksekusi antara metode steepest descent dan metode Barzilai-Borwein. Perbedaan rata-rata banyak iterasi dan waktu eksekusi antara metode steepest descent dan metode Barzilai-Borwein dengan menggunakan perangkat lunak MATLAB, dapat dilihat pada Tabel 6 dan Tabel 7.
Tabel 6 Perbedaan iterasi rata-rata metode steepest descent dan metode Barzilai-Borwein
Tabel 7 Perbedaan waktu eksekusi (dalam second) rata-rata metode steepest descent dan metode Barzilai-Borwein
14
Gambar 5 Iterasi rata-rata metode steepest descent dan metode Barzilai-Borwein
Gambar 6 Waktu eksekusi rata-rata metode steepest descent dan metode Barzilai-Borwein
Pada Gambar 5 menunjukkan perbedaan iterasi rata-rata metode steepest descent dan metode Barzilai-Borwein. Iterasi metode steepest descent lebih besar
15 dibandingkan dengan metode Barzilai-Borwein. Untuk data berukuran , metode steepest descent tidak diplot pada grafik. Hal ini disebabkan iterasi yang masih berlanjut selama lebih dari 24 jam.
Pada Gambar 6 jelas terlihat perbedaan waktu eksekusi rata-rata metode steepest descent dan metode Barzilai-Borwein. Pada data berukuran perbedaan waktu eksekusi rata-rata metode steepest descent dan metode Barzilai-Borwein tidak terlihat menonjol. Pada data berukuran dan data berukuran
sudah mulai terlihat waktu eksekusi metode steepest descent semakin naik.
Sebaliknya, metode Barzilai-Borwein juga sudah mengalami kenaikan akan tetapi sangat kecil. Pada data berukuran terlihat sangat menonjol perbedaan waktu eksekusi rata-rata antara metode steepest descent dan metode Barzilai-Borwein. Untuk metode Barzilai-Borwein dengan kasus stepsize yang berbeda, perbedaan waktu eksekusi rata-rata sangat kecil. Pada data berukuran , data berukuran
, dan data berukuran metode Barzilai-Borwein 1 waktu eksekusi
rata-rata lebih besar dibandingkan dengan waktu eksekusi rata-rata metode Barzilai-Borwein 2. Sebaliknya, pada data berukuran dan data berukuran
waktu eksekusi rata-rata metode Barzilai-Borwein 1 lebih kecil
dibandingkan dengan metode Barzilai-Borwein 2. Untuk data berukuran , waktu eksekusi rata-rata metode steepest descent tidak diplot pada grafik sedangkan metode Barzilai-Borwein 1 dan metode Barzilai-Borwein 2 sebesar 581.7364732 second dan 409.311843 second. Hal ini disebabkan waktu eksekusi yang sangat lama yaitu lebih dari 24 jam dan prosesnya masih berlanjut.
SIMPULAN DAN SARAN
Simpulan
Metode steepest descent merupakan salah satu metode klasik untuk menyelesaikan pengoptimuman tak berkendala fungsi banyak variabel dan paling sering digunakan. Metode steepest descent sangat lambat ke solusi optimal, hal ini terjadi karena jalur zig-zag dalam menuju solusi optimal. Metode steepest descent berkinerja buruk dan iterasi yang dihasilkan lebih banyak untuk dimensi yang lebih tinggi. Barzilai dan Borwein memperkenalkan dua stepsize yang menjamin konvergensi yang lebih baik. Metode Barzilai-Borwein bertujuan mempercepat konvergensi metode steepest descent. Berdasarkan analisis pada studi kasus yang dilakukan dengan menggunakan perangkat lunak MATLAB, hasil perbandingan waktu eksekusi metode Barzilai-Borwein lebih cepat dibandingkan dengan metode steepest descent baik untuk dimensi rendah maupun untuk dimensi tinggi.
Saran
16
DAFTAR PUSTAKA
Barzilai J, Borwein JM. 1988. Two-point stepsize gradient methods. IMA Journal of Numerical Analysis. 8(1):141-148.doi: 10.1093/imanum/8.1.141.
Draper N, Smith H. 1992. Analisis Regresi Terapan. Ed ke-2. Sumantri B, penerjemah. Jakarta (ID): Gramedia Pustaka Utama. Terjemahan dari: Applied Regression Analysis.
Jensen PA, Bard JF. 2003. Operations Research Models and Methods. New York (US): John Wiley and Sons.
Leon SJ. 2001. Aljabar Linear dan Aplikasinya. Ed ke-5. Bondan A, penerjemah; Hardani HW, editor. Jakarta (ID): Penerbit Erlangga. Terjemahan dari: Linear Algebra with Applications.
Luenberger DG, Ye Y. 2008. Linear and Nonlinear Programming. Ed ke-3. New York (US): Springer.
17 Lampiran 1 Sintaks metode steepest descent percobaan ke-1 Tabel 1 untuk fungsi
18
Lampiran 2 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 1 untuk fungsi dengan dua variabel
19 Lampiran 3 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 1 untuk
20
21 Lampiran 5 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 2 untuk
22
23 Lampiran 7 Sintaks metode steepest descent percobaan ke-1 Tabel 3 untuk fungsi
24
25 Lampiran 9 Sintaks metode Barzilai-Borwein 2 percobaan ke-1 Tabel 3 untuk
26
27 Lampiran 11 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 4 untuk
28
29 Lampiran 13 Sintaks metode steepest descent percobaan ke-1 Tabel 5 untuk
30
31 Lampiran 15 Sintaks metode Barzilai-Borwein 1 percobaan ke-1 Tabel 5 untuk
32
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 14 September 1992 sebagai anak pertama dari empat bersaudara, dari pasangan Rusdi dan Dini. Pada tahun 1998, penulis lulus dari TK Islam Raudatul Amanah Bekasi. Pada tahun 2001, penulis lulus dari SD Negeri Kaliabang Tengah V Bekasi. Pada tahun 2007, penulis lulus dari SMP Negeri 234 Jakarta. Pada tahun 2010, penulis lulus dari SMA Negeri 89 Jakarta dan pada tahun yang sama penulis diterima di Departemen Matematika IPB melalui jalur Undangan Seleksi Masuk IPB (USMI).