Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS OPTIMASI FUNGSI MULTI VARIABEL DENGAN METODE UNIVARIATE Dwi Suraningsih (M0110021), Marifatun (M0110053), Nisa Karunia (M0110061) I. Pendahuluan Latar Belakang. Dalam kehidupan sehari-hari disadari maupun tidak, sebenarnya manusia selalu melakukan opimasi untuk memenuhi kebutuhan hidupnya. Akan tetapi, optimasi yang dilakukan oleh masyarakat awam lebih banyak didasar oleh intuisi daripada teori optimasi yang kita pelajari di bangku sekolah. Optimasi merupakan masalah yang berhubungan dengan keputusan terbaik, maksimum, minimum dan memberikan cara penentuan solusi yang memuaskan. Fungsi multivariabel yaitu fungsi yang mengandung lebih dari satu macam variabel bebas. Nilai-nilai ekstrim (maksimum/minimum) dari sebuah fungsi multivariabel dapat diperoleh dengan menggunakan konsep diferensial parsial. Pada umumnya pemodelan nonlinear tanpa kendala berbentuk: minimumkan: = ( , , … , ). Atau Pada masalah optimasi untuk fungsi lebih dari satu variabel, masalah minimisasi mempunyai bentuk: minimumkan = ( ) dengan = ⋮ ∈ . Masalah maksimisasi dapat ditinjau lewat metode minimisasi karena: maksimum ( ) = −minimum(− ( )). dimana ( , , … , ) adalah fungsi objektif. Pada permasalahan program nonlinear tanpa kendala, kondisi penting untuk x* agar menjadi lokal minimum dari ( , , … , ). a. ( , , … , ). dapat diturunkan (differensiable) pada x*. b. ∇ ( ) = 0 sebuah titik stationer (stationery point) pada x*. c. ∇ definit positif (kondisi untuk maksimum adalah sama, kecuali matriks Hessian (∇ ) dari f(x*) harus definit negatif). Pada beberapa kasus tertentu, kondisi di atas dulit dipenuhi meskipun ( ) tetap mempunyai titik optimum. Dalam hal ini dapat digunakan metode unconstrained optimization technique. Metode unconstrained optimization technique dibagi menjadi dua yaitu metode penyelidikan langsung dan metode gradien. Dalam hal ini hanya akan dibahas mengenai metode penyelidikan langsung (metode Univariata/One At A Time). Perumusan Masalah. Berdasarkan latar belakang yang telah disampaikan dapat dirumuskan masalah sebagai berikut : 1. bagaimana algoritma atau langkah-langkah dalam metode Univariate dan 2. bagaimana menerapkan metode Univariate dalam suatu kasus. Tujuan. Tujuan dari penulisan makalah ini adalah 1. menjelaskan algoritma atau langkah-langkah dalam metode Univariate dan 2. menerapkan metode Univariate dalam suatu kasus. Nughthoh Arfawi Kurdhi, M.Sc 2. Department of mathematics FMIPA UNS Pembahasan Metode Univariate. Dalam metode Univariate, perubahan dilakukan pada satu variabel tahap bertahap dengan menganggap variabel lainnya tetap. Mula – mula variabel pertama dirubah pada titik awal untuk mendapat titik . Kemudian sebagai titik awal dipakai untuk merubah variabel kedua untuk mendapatkan dengan menganggap variabel pertama, ketiga, dan seterusnya tetap. Proses ini dilanjutkan sampai didapat dalam perubahan variabel ke . Dan satu siklus proses iterasi telah selesai. Prosedur ini dilanjutkan sampai tidak ada lagi perubahan fungsiobjektif untuk arah dari satu siklus. {Skema iterasi dari unconstrained minimization methods terlampir} Algoritma Algoritma atau langkah – langkah dari metode ini dapat dinyatakan sebagai : 1. Menentukan titik awal dengan = 0 2. Menentukan arah pencarian (descent direction) (1, 0, 0, … , 0) = 0, , 2 , … (0, 1, 0, … , 0) = 1, + 1, 2 + 1, … = ⋮ (0, 0, 0, … , 1) = − 1, 2 − 1, 3 − 1, … dengan adalah banyaknya variabel dari fungsi ( , , … , ). Misal: jika diketahui suatu fungsi ( , , ), maka diperoleh = 3. Berarti 1 0 0 = 0, = 1, = 0, = , = 0 0 1 dan seterusnya berulang sampai iterasi berhenti. 3. Menentukan apakah berkurang dalam arah atau − . Dalam langkah ini, perlu diambil panjang dan menghitung : = ( ) = ( + ) = ( − ) Jika < , maka adalah arah yang tepat untuk meminimumkan dari . Jika < , maka − adalah arah yang tepat untuk meminimumkan dari . 4. Menentukan optimum panjang langkah ∗ dengan meminimumkan fungsi ( ± ). Di mana nilai ∗ adalah nilai minimum dari fungsi tersebut. Catatan : Pemakaian tanda + atau – pada fungsi ( ± ) bergantung pada atau − yang merupakan arah penurunan nilai fungsi obyektif . Minimum ∗ diperoleh dengan menggunakan konsep minimum lokal ∗ yaitu ′ ( ) = 0 dan ′′ ( ) > 0 yang berarti merupakan titik minimum. 5. Mencari = ± ∗ dan = ( ) 6. Mengambil nilai baru untuk = + 1 dan kembali ke langkah 2. Hal ini dilanjutkan sampai tak ada perubahan yang berarti dari nilai fungsi objektif atau dengan kata lain iterasi STOP ketika nilai dari > dan > . Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS Contoh Kasus Minimumkan ( , ) = − + 2 +2 = 0.1 menggunakan metode univariate. + dengan titik awal (0,0) dan Penyelesaian: {Gambar Plot dan Contour Plot terlampir} Iterasi k = 0 Step 1 : titik awal = (0,0) 1 Step 2 : arah pencarian = 0 Step 3 : = ( ) = 0 ) = ( , 0) = 0.102 > = ( + ) = (− , 0) = −0.9996 < = ( − Jadi, − adalah arah yang tepat untuk meminimumkan dari Step 4 : menentukan optimum panjang ∗ dengan meminimumkan ( − ) = (− , 0) = − + 2 min − + → − +2 =0 −1 + 4 Karena Step 5 : ambil =0 = ′′ ( = Iterasi k = 1 Step 1 : titik awal )= − ) > 0, maka = adalah titik minimum. −0.25 = dan = ( ) = − . 0 (−1 + 4 = (−0.25,0) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = − = −0.125 = ( + = ( − . )= − , )= − ,− = −0.1399 < = −0.1099 > Jadi, adalah arah yang tepat untuk meminimumkan dari . Step 4 : menentukan optimum panjang ∗ dengan meminimumkan ( + ) = (−0.25, ) = − 1.5 − 0.125 min − 1.5 − 0.125 → ′ ( ) = − 1.5 − 0.125 = 0 2 − 1.5 = 0 = 0.75 karena ′′ ( ) = Step 5 : ambil = Iterasi k = 2 Step 1 : titik awal + 0.75 (2 − 1.5) = 2 > 0, maka = 0.75 titik minimum. −0.25 = dan = ( ) = −0.6875. 0.75 = (−0.25, 0.75) 1 Step 2 : arah pencarian = 0 Step 3 : = ( ) = −0.6875 ) = −0.6723 > = ( + ) = −0.7023 < = ( − Jadi, − adalah arah yang tepat untuk meminimumkan dari Step 4 : menentukan optimum panjang ∗ dengan meminimumkan . Nughthoh Arfawi Kurdhi, M.Sc ( − min 2 4 ) = (−0.25, ) = 2 − 1.5 − 0.6875 → − 1.5 = 0 = 0.375 Step 5 : ambil Department of mathematics FMIPA UNS = Iterasi k = 3 Step 1 : titik awal + 0.375 = − 1.5 − 0.6875 2 − 1.5 − 0.6875 = 0 −0.25 dan 0.75 = ( ) = 0.6875. = (−0.625, 0.75) 0 = 1 Step 3 : = ( ) = −0.96875 = ( + ) = (−0.625,0.76) = −0.97615 < ) = (−0.625,0.74) = −0.96115 > = ( − Jadi, adalah arah yang tepat untuk meminimumkan dari (penyelesain arah positif) Step 4 : menentukan optimum panjang ∗ dengan meminimumkan ( + )= − 0.75 − 0.96875 sehingga diperoleh ∗ = 0.375 −0.625 Step 5 : menghitung = + 0.375 = . 1.125 Step 2 : arah pencarian Iterasi k = 4 Step 1 : titik awal = (−0.625, 1.125) 1 = 0 Step 3 : = ( ) = −1.10938 ) = (−0.615,1.125) = −1.10168 > = ( + ) = (−0.635,1.125) = −1.10168 < = ( − Jadi, − adalah arah yang tepat untuk meminimumkan dari (penyelesaian arah negatif) Step 4 : menentukan optimum panjang ∗ dengan meminimumkan ( − )=2 − 0.75 − 1.10938 sehingga diperoleh ∗ = 0.1875 Step 5 : hitung = − ∗ = (−0.8125, 1.125). Step 2 : arah pencarian Iterasi k = 5 Step 1 : titik awal =( -0.8125,1.125) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = −1.17969 ) = (−0.8125, 1.135) = −1.18334 < = ( + ) = (−0.8125, 1.115) = −1.17584 > = ( − Jadi, adalah arah yang tepat untuk meminimumkan (penyelesaian arah positif). )= Step 4 : ( + − 0.375 − 1.17969 diperoleh ∗ = 0.1875 Step 5 : hitung = + ∗ = (−0.8125, 1.3125) Iterasi k = 6 Step 1 : titik awal = (−0.8125, 1.3125) 1 = 0 = ( ) = −1.21484 Step 2 : arah pencarian Step 3 : dari Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS ) = (−0.8025, 1.3125) = −1.21089 > = ( + ) = (−0.8225, 1.3125) = −1.21839 < = ( − Jadi, − adalah arah yang tepat untuk meminimumkan (penyelesaian arah negatif) )=2 Step 4 : ( − − 0.375 − 1.21484 diperoleh ∗ = −0.09375 Step 5 : hitung = − ∗ = (−0.90625, 1.3125) dari Iterasi k = 7 Step 1 : titik awal = ( −0.90625,1.3125) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = −1.23242 ) = (−0.90625,1.3225) = −1.2342 < = ( + ) = (−0.90625, 1.3025) = −1.23045 > = ( − Jadi, adalah arah yang tepat untuk meminimumkan (penyelesaian arah positif). )= Step 4 : ( + − 0.1875 − 1.23242 diperoleh ∗ = 0.09375 Step 5 : hitung = + ∗ = (−0.90625, 1.40625) dari Iterasi k = 8 Step 1 : titik awal = ( −0.90625,1.40625) 1 Step 2 : arah pencarian = 0 Step 3 : = ( ) = −1.24121 ) = (−0.89625,1.40625) = −1.23914 > = ( + ) = (−0.91625,1.40625) = −1.24289 < = ( − Jadi, − adalah arah yang tepat untuk meminimumkan (penyelesaian arah negatif). )=2 Step 4 : ( − − 0.1875 − 1.24121 diperoleh ∗ = 0.046875 Step 5 : hitung = − ∗ = ( −0.953125, 1.40625) Iterasi k = 9 Step 1 : titik awal = (−0.953125,1.40625) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = −1.24561 ) = (−0.953125,1.41625)) = −1.24644 < = ( + ) = (−0.953125,1.39625) = −1.24457 > = ( − Jadi, adalah arah yang tepat untuk meminimumkan dari (penyelesaian arah positif). )= Step 4 : ( + − 0.09375 − 1.24561 diperoleh ∗ = 0.046875 Step 5 : hitung = + ∗ = ( −0.953125, 1.45313) Iterasi k = 10 Step 1 : titik awal x10=( -0.953125,1.45313) 1 Step 2 : arah pencarian U10= 0 Step 3 : = ( ) = −1.2478 ) = (−0.943125,1.45313) = −1.24667 > = ( + ) = (−0.963125,1.45313) − 1.24854 < = ( − dari Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS Jadi, − adalah arah yang tepat untuk menurunkan dari (penyelesaian arah negatif). )=2 Step 4 : ( − − 0.09376 − 1.2478 ∗ diperoleh = 0.02344 ∗ Step 5 : hitung = − = (− 0.976565, 1.45313) Iterasi k = 11 Step 1 : titik awal = (−0.976565, 1.45313) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = −1.2489 ) = (−0.976565,1.46313) = −1.24927 < = ( + ) = (−0.963125,1.45313) − 1.24833 > = ( − Jadi, adalah arah yang tepat untuk menurunkan dari (penyelesaian arah positif). )= Step 4 : ( + − 0.04687 − 1.2489 ∗ diperoleh =0.023435 ∗ Step 5 : hitung = − = (− 0.976565, 1.47657) Iterasi k = 12 Step 1 : titik awal = (− 0.976565, 1.47657) 1 = 0 Step 3 : = ( ) = −1.24945 ) = (−0.966565,1.47657) = −1.24878 > = ( + ) = (−0.986565,1.47657) − 1.24972 < = ( − Jadi, − adalah arah yang tepat untuk menurunkan dari (penyelesaian arah negatif). )=2 Step 4 : ( − − 0.04688 − 1.24945 ∗ diperoleh = 0.01172 ∗ Step 5 : hitung = − = (−0.988285, 1.47657) Step 2 : arah pencarian Iterasi k = 13 Step 1 : titik awal = (− 0.976565, 1.47657) 0 = 1 Step 3 : = ( ) = −1.24973 ) = (−0.988285,1.48657) = −1.24986 < = ( + ) = (−0.988285,1.46657) = −1.24939 > = ( − Jadi, adalah arah yang tepat untuk menurunkan dari (penyelesaian arah positif). )= Step 4 : ( + − 0.02343 − 1.24973 ∗ diperoleh = 0.011715 ∗ Step 5 : hitung = + = (−0.988285, 1.48828). Step 2 : arah pencarian Iterasi k = 14 Step 1 : titik awal = (− 0.976565, 1.47657) 1 = 0 Step 3 : = ( ) = −1.24986 ) = (−0.978285,1.48828) = −1.24943 > = ( + ) = (−0.998285, 1.48828) = −1.2499 < = ( − Jadi, − adalah arah yang tepat untuk menurunkan dari (penyelesaian arah negatif). Step 2 : arah pencarian Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS )=2 Step 4 : ( − − 0.02342 − 1.24986 ∗ diperoleh = 0.005855 ∗ Step 5 : hitung = − = (−0.99414, 1.48828). Iterasi k = 15 Step 1 : titik awal = (−0.99414,1.48828) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = −1.24993 ) = (−0.99414,1.49828) = −1.24995 < = ( + ) = (−0.99414,1.47828) = −1.24971 > = ( − Jadi, adalah arah yang tepat untuk menurunkan dari (penyelesaian arah positif). )= Step 4 : ( + − 0.01172 − 1.24993 ∗ diperoleh = 0.00586 ∗ Step 5 : hitung = + = (−0.99414, 1.49414). Iterasi k = 16 Step 1 : titik awal = (−0.99414, 1.49414) 1 Step 2 : arah pencarian = 0 Step 3 : = ( ) = −1.2499 ) = (−0.98414,1.49414) = −1.2496 > = ( + ) = (−1.00414,1.49414) = −1.2499 < = ( − Jadi, − adalah arah yang tepat untuk menurunkan dari (penyelesaian arah negatif). )=2 Step 4 : ( − − 0.01172 − 1.24997 ∗ diperoleh = 0.00586 ∗ Step 5 : hitung = − = (−1. , 1.49414). Iterasi k = 17 Step 1 : titik awal = (−1. , 1.49414) 0 Step 2 : arah pencarian = 1 Step 3 : = ( ) = −1.24997 ) = (−1. ,1.50414) = −1.24998 < = ( + ) = (−1. ,1.48414) = −1.24975 > = ( − Jadi, adalah arah yang tepat untuk menurunkan dari (penyelesaian arah positif). )=2 Step 4 : ( + − 0.01172 − 1.24997 ∗ diperoleh = 0.00586 ∗ Step 5 : hitung = + = (−1. , 1.5). Iterasi k = 18 Step 1 : titik awal = (−1. , 1.5) 1 Step 2 : arah pencarian = 0 Step 3 : = ( ) = −1.25 ) = (−1. ,1.50414) = 0.4062 > = ( + ) = (−1. ,1.48414) = −1.2498 > = ( − Iterasi STOP. Sehingga diperoleh ∗ = (−1. , 1.5) dan ( ∗ ) = −1.25 Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS ) + (1 − Minimumkan ( , ) = ( − = 0.1 menggunakan metode univariate. Penyelesaian: {Gambar Plot terlampir} Iterasi k = 0 Step 1 : menentukan titik awal = (0,0) Step 2 : menentukan arah pencarian Step 3 : = 1 0 ) dengan titik awal (0,0) dan = ( )=0 ) = (0.1, 0) = 0.81 > = ( + ) = (−0.1, 0) = 1.21 > = ( − Iterasi STOP, sehingga diperoleh ∗ = (0,0) dan ( ∗ ) = 0 Nughthoh Arfawi Kurdhi, M.Sc 3. Department of mathematics FMIPA UNS Penutup Kesimpulan. Kesimpulan yang dapat diambil dari pembahasan adalah: Algoritma metode Univariate dapat dinyatakan sebagai: 1. Menentukan titik awal dengan = 0 2. Menentukan arah pencarian (descent direction) (1, 0, 0, … , 0) = 0, , 2 , … (0, 1, 0, … , 0) = 1, + 1, 2 + 1, … = ⋮ (0, 0, 0, … , 1) = − 1, 2 − 1, 3 − 1, … dengan adalah banyaknya variabel dari fungsi ( , , … , ). Misal : jika diketahui suatu fungsi ( , , ), maka diperoleh = 3. 1 0 0 Berarti = 0, = 1 , = 0, = , = dan seterusnya berulang 0 0 1 sampai iterasi berhenti. 3. Menentukan apakah berkurang dalam arah atau − . Dalam langkah ini, perlu diambil panjang dan menghitung : = ( ) = ( + ) = ( − ) Jika < , maka adalah arah yang tepat untuk meminimumkan dari . Jika < , maka − adalah arah yang tepat untuk meminimumkan dari . 4. Menentukan optimum panjang langkah ∗ dengan meminimumkan fungsi ( ± ). Di mana nilai ∗ adalah nilai minimum dari fungsi tersebut. Catatan : Pemakaian tanda + atau – pada fungsi ( ± ) bergantung pada atau − yang merupakan arah penurunan nilai fungsi obyektif . Minimum ∗ diperoleh dengan menggunakan konsep minimum lokal ∗ ( ) = 0 dan ( ) > 0 yang berarti yaitu merupakan titik minimum. 5. Mencari = ± ∗ dan = ( ) 6. Mengambil nilai baru untuk = + 1 dan kembali ke langkah 2. Hal ini dilanjutkan sampai tak ada perubahan yang berarti dari nilai fungsi objektif atau dengan kata lain iterasi STOP ketika nilai dari > dan > . Dari contoh kasus 1, diperoleh minimum dengan ∗ = (−1. ,1.5) dan ( ∗ ) = −1.25. Sedangkan dari contoh kasus 2, diperoleh minimum dengan ∗ = (0,0) dan ( ∗ ) = 0. Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS LAMPIRAN – LAMPIRAN Ambil k=0 Tentukan ( ) Tentukan vektor baru Ambil = dan STOP ya Tentukan ( Ambil k=k+1 ) Kekonvergenan dipenuhi? tidak Skema 1. Iterasi dari unconstrained minimization methods Gambar 1. Plot fungsi ( , )= − +2 +2 + sebelum iterasi. Nughthoh Arfawi Kurdhi, M.Sc Department of mathematics FMIPA UNS Gambar 2. Contour plot fungsi ( , ) = iterasi. Gambar 3. Contour plot fungsi ( , Gambar 4. Plot fungsi ( , )= )=( − − − +2 +2 +2 +2 ) + (1 − + + sebelum setelah iterasi. ) sebelum iterasi.