com
5
Pemrograman nonlinier: teori dan algoritma
5.1 Pendahuluan
Sejauh ini, kita fokus pada masalah optimasi dengan batasan linier dan fungsi tujuan
linier. Fungsi linier itu “bagus” – mulus dan dapat diprediksi. Akibatnya, kami dapat
menggunakan teknik khusus dan sangat efisien untuk solusinya. Namun, banyak
rumusan masalah optimasi yang realistis tidak sesuai dengan struktur yang bagus ini
dan memerlukan metode yang lebih umum. Pada bab ini kita mempelajari masalah
optimasi umum bentuk
menitXF(X)
GSaya(X) = 0, Saya∈E, (5.1)
GSaya(X)≥0, Saya∈SAYA,
1.Skala ekonomi:Dalam banyak penerapan, biaya atau keuntungan tidak tumbuh secara linier seiring dengan
aktivitas yang bersangkutan. Dalam konstruksi portofolio, investor individu dapat memperoleh manfaat dari skala
ekonomi karena biaya tetap perdagangan dapat diabaikan untuk perdagangan yang lebih besar. Sebaliknya,
investor institusional mungkin mengalami diseconomies of scale jika perdagangan dalam jumlah besar
mempunyai dampak pasar yang tidak menguntungkan terhadap sekuritas yang diperdagangkan. Model
perdagangan yang realistis harus melibatkan fungsi tujuan atau kendala nonlinier.
2.Elemen probabilistik:Nonlinier sering kali muncul ketika beberapa koefisien dalam
model merupakan variabel acak. Misalnya, perhatikan program linier yang ruas
kanannya acak. Sebagai ilustrasi, misalkan LP mempunyai dua batasan:
maksimalkanC1X1+· · · +CNXN
A11X1+· · · +A1NXN≤B1
A21X1+· · · +A2NXN≤B2,
80
5.1 Pendahuluan 81
Berbeda dengan pemrograman linier, di mana metode simpleks dapat menangani sebagian
besar kasus dan implementasi yang andal tersedia secara luas, tidak ada satu pun algoritma
yang disukai untuk menyelesaikan program nonlinier umum. Tanpa kesulitan, kita dapat
menemukan sepuluh atau lima belas metode dalam literatur dan teori yang mendasari
pemrograman nonlinier masih terus berkembang. Perbandingan sistematis antara metode dan
paket yang berbeda menjadi rumit karena fakta bahwa metode nonlinier bisa sangat efektif
untuk satu jenis masalah namun gagal total untuk jenis masalah lainnya. Dalam bab ini, kami
mengambil contoh beberapa gagasan:
Kami membahas solusi dari dua kelas khusus masalah optimasi nonlinier, yaitu
masalah optimasi kuadrat dan kerucut pada Bab 7 dan 9. Untuk kelas masalah
ini, metode titik interior (IPM) sangat efektif. Meskipun IPM juga banyak
digunakan untuk program nonlinier umum, kami menunda pembahasannya
hingga Bab 7.
Pencarian biner adalah ide yang sangat sederhana untuk menyelesaikan persamaan nonlinier secara
numerik F(X) = 0, dimanaFadalah fungsi dari satu variabel.
Misalnya kita ingin mencari nilai maksimalG(X) = 2X3− eX.Untuk tujuan ini kita perlu
mengidentifikasipoin kritisfungsi, yaitu titik-titik yang memenuhi persamaanG'(X) = 6
X2− eX=0. Namun tidak ada solusi bentuk tertutup untuk persamaan ini. Jadi kita
menyelesaikan persamaan tersebut secara numerik, melalui biner
5.3 Optimasi univariat 83
mencari. MembiarkanF(X) :=G'(X) = 6X2− eX,pertama-tama kita mencari dua poin, katakanlaha, b,
seperti itulah tanda-tandanyaF(A) DanF(B) berlawanan. Di SiniA=0 danB=Aku akan
melakukannya sejak saat ituF(0) = −1 danF(1)≈3.3. SejakFkontinu, kita tahu bahwa adaXdengan 0
<x <1 seperti ituF(X) = 0. Kita katakan interval kepercayaan kita adalah [0,1]. Sekarang mari kita
coba titik tengahnyaX=0.5. SejakF(0.5)≈ -0.15<0 kita tahu bahwa ada solusi antara 0,5 dan 1 dan
kita mendapatkan interval kepercayaan baru [0,5, 1,0]. Kami melanjutkan denganX=0.75 dan
sejak ituF(0.75)>0 kita mendapatkan interval kepercayaan [0,5, 0,75]. Mengulangi hal ini, kita
bertemu dengan sangat cepat pada nilaiXDi mana F(X) = 0. Di sini, setelah sepuluh iterasi, kita
berada dalam 0,001 dari nilai sebenarnya.
Secara umum, jika kita mempunyai interval kepercayaan [a, b], kami mengevaluasiF(A+B)untuk memotong interval
2
kepercayaan menjadi setengahnya.
Pencarian biner cepat. Ini mengurangi interval kepercayaan sebanyak 2 kali untuk setiap iterasi,
jadi setelahnyakiterasi interval aslinya dikurangi menjadi (B-A)×2-k.Kelemahannya adalah pencarian
biner hanya menemukan satu solusi. Jadi jikaGmemiliki ekstrem lokal pada contoh di atas,
penelusuran biner dapat menyatu ke salah satu ekstrem tersebut. Faktanya, sebagian besar algoritma
untuk pemrograman nonlinier mengalami kegagalan karena alasan ini.
F1 F2 F3 FN
+ + +···+ - C=0,
1+R (1+R)2 (1+R)3 (1+R)N
Di mana
Untuk sebagian besar investasi, persamaan di atas memiliki solusi unik dan oleh karena itu IRR
didefinisikan secara unik, namun perlu diingat bahwa hal ini tidak selalu terjadi. IRR suatu obligasi
disebut IRR-nyamenghasilkan. Sebagai contoh, pertimbangkan obligasi non-callable berdurasi 4
tahun dengan tingkat kupon 10% yang dibayarkan setiap tahun dan nilai nominal sebesar$1000.
Obligasi tersebut memiliki arus kas sebagai berikut:
Pada tahun. T FT
1 $100
2 100
3 100
4 1100
Misalkan obligasi ini sekarang dijual$900. Hitunglah imbal hasil obligasi ini.
84 Pemrograman nonlinier: teori dan algoritma
Tabel 5.1Pencarian biner untuk menemukan IRR dari obligasi yang tidak dapat ditarik kembali
Latihan 5.2Hitung imbal hasil obligasi enam tahun yang tidak dapat ditarik kembali yang melakukan
pembayaran kupon 5% pada tahun 1, 3, dan 5, pembayaran kupon 10% pada tahun 2 dan 4, dan
membayar nilai pari pada tahun 6.
Di mana
catatan(S0/K) + (R+σ2/2)T
D1= √ ,
σ T
√
D2=D1-σ T,
Dan (·)adalah fungsi distribusi kumulatif untuk distribusi normal standar. Rdalam rumus
tersebut mewakili tingkat bunga majemuk yang terus menerus bebas risiko dan konstan
danσadalah volatilitas sekuritas yang mendasarinya yang diasumsikan konstan.S0
menunjukkan harga awal sekuritas,KDanTadalah harga kesepakatan dan jatuh tempo
opsi. Mengingat harga pasar dari opsi tertentu dan perkiraan tingkat suku bungaR,nilai
unik dari parameter volatilitasσyang memenuhi persamaan harga di atas disebut
volatilitas tersiratdari keamanan yang mendasarinya. Hitung volatilitas tersirat dari suatu
saham yang saat ini bernilai $20 jika opsi panggilan Eropa pada saham ini dengan harga
kesepakatan $18 dan jangka waktu tiga bulan bernilai $2,20. Asumsikan tingkat bunga nol
dan gunakan pencarian biner.
1.Fberkelanjutan;
2.Fmemiliki maksimum lokal yang unik dalam interval [a, b].
Metode pencarian emas terdiri dari komputasiF(C) dan f(d) untuksebuah <d <c<b.
- JikaF(C)>F(D), prosedur ini diulangi dengan interval (a, b) digantikan oleh (d, b).
- JikaF(C)<F(D), prosedur ini diulangi dengan interval (a, b) digantikan oleh (a, c).
Catatan 5.1Nama “golden section” berasal dari pilihan c dan d tertentu yang
menghasilkans √konvergensi cepat yaitu c=A+R(B-A)dan d=B+R(A-B),
dimana r= (5 − 1)/2 = 0.618034. . ..Ini adalah rasio emas yang sudah diketahui orang
Yunani kuno.
Dalam hal ini, kita mulai denganA=0 danB=1. Menggunakan pencarian bagian
emas, itu memberiD=0.382 danC=0.618. Nilai fungsinya adalahF(A) = 0,F(D) = −0.687,
F(C) = −2.493, danF(B) = −7. SejakF(C)<F(D), jangkauan baru kami adalahA=0,B=
86 Pemrograman nonlinier: teori dan algoritma
0.618. Menghitung ulang dari kisaran baru menghasilkanD=0.236,C=0.382 (perhatikan bahwa saat iniCadalah
kami sebelumnyaD: penggunaan kembali nilai terhitung inilah yang memberikan kecepatan penelusuran
bagian emas). Kami ulangi proses ini untuk mendapatkan Tabel 5.2.
Latihan 5.4Salah satu teknik analisis statistik yang paling mendasar adalah metode
estimasi kemungkinan maksimum. Mengingat sekumpulan sampel pengamatan yang
diambil secara independen dari suatu distribusi parametrik, masalah estimasinya adalah
menentukan nilai parameter distribusi yang memaksimalkan kemungkinan bahwa
kumpulan sampel yang diamati berasal dari distribusi ini. Lihat Nocedal dan Wright [61],
halaman 255, misalnya.
Misalnya saja observasiX1= −0.24,X2= 0.31,X3= 2.3, dan X4= −1.1 sampel
dari distribusi normal. Jika rata-rata distribusi diketahui 0, berapa estimasi
kemungkinan maksimum simpangan baku tersebut, σ?Bangun fungsi log-
likelihood dan maksimalkan menggunakan pencarian bagian emas.
diskusikan versi multivariat metode Newton nanti. Kami fokus pada kasus univariat
terlebih dahulu. Untuk fungsi nonlinier tertentuFkami ingin mencariXseperti yang
F(X) = 0.
Ini setara dengan mengatakan bahwa kita dapat memperkirakan fungsinyaFoleh garisF(δ)
yang bersinggungan dengan itu diXk.Jika perkiraan orde pertamaF(δ) sangat bagus, dan
jikaF'(Xk) =0, nilaiδitu memuaskan
akan memberi kami pembaruan tentang iterasi saat iniXkdiperlukan untuk mencapai solusinya.
Nilai iniδdihitung dengan mudah:
F(Xk)
δ= − .
F'(Xk)
Ekspresi di atas disebut pembaruan Newton dan metode Newton menentukan
perkiraan solusi selanjutnya sebagai
F(Xk)
Xk+1=Xk+δ=Xk- .
F'(Xk)
SejakF(δ) hanyalah perkiraanF(Xk+δ), kami tidak memiliki jaminan bahwa F(Xk+1) adalah nol, atau
bahkan kecil. Namun, seperti yang kita bahas di bawah ini, kapanXkcukup dekat dengan solusi
persamaan tersebutF(X) = 0,Xk+1bahkan lebih dekat. Kami kemudian dapat mengulangi prosedur ini
sampai kami menemukanXkseperti yangF(Xk) =0, atau dalam banyak kasus, hingga F(Xk)menjadi cukup
kecil, katakanlah, kurang dari jumlah yang telah ditentukan sebelumnya>0.
Terdapat penjelasan geometri intuitif mengenai prosedur yang baru saja kita jelaskan:
pertama-tama kita cari garis yang bersinggungan dengan fungsi pada iterasi saat ini, lalu kita
hitung titik perpotongan garis tersebut dengan fungsi tersebut.X-axis dan atur iterasi
berikutnya ke nilai ini dan ulangi prosesnya. Lihat Gambar 5.1 untuk ilustrasinya.
Contoh 5.3Mari kita ingat Contoh 5.1 di mana kita menghitung IRR suatu investasi. Di sini kita
memecahkan masalah tersebut menggunakan metode Newton. Ingatlah bahwa hasil r harus
memenuhi persamaan tersebut
F(R)
1000 garis singgung
800
600
F(0) =500
F(R) F'(0) = −5000
400
200
0
X0=0 X1=0,1
Kita perlu memulai metode Newton dengan tebakan awal, mari kita pilih x0= 0.
Kemudian
F(0)
X1=X0-
F'(0)
500
=0 - =0.1.
− 5000
Telah disebutkan di atas bahwa iterasi berikutnya dari metode Newton ditemukan dengan
menghitung titik di mana garis singgung f pada iterasi saat ini memotong sumbu. Pengamatan
ini diilustrasikan pada Gambar 5.1.
Sejak f(X1) =F(0.1) = 100jauh dari nol kita lanjutkan dengan mensubstitusi x1
ke dalam rumus pembaruan Newton untuk mendapatkan x2= 0.131547080371dan seterusnya.
Urutan iterasi lengkap diberikan pada Tabel 5.3.
Beberapa komentar mengenai kecepatan dan keandalan metode Newton ada di sini.
Dalam kondisi yang menguntungkan, metode Newton konvergen dengan sangat cepat ke
solusi persamaan nonlinier. Memang benar jikaXkcukup dekat dengan solusiX∗dan jika F'(X
∗) = 0, maka relasi berikut berlaku:
F“(X∗)
Xk+1-X∗≈C(Xk-X∗)2denganC= . (5.2)
2F'(X∗)
5.3 Optimasi univariat 89
k Xk F(Xk)
0 0,000000000000 500.000000000000
1 0,100000000000 100.000000000000
2 0,131547080371 6.464948211497
3 0,133880156946 0,031529863053
4 0,133891647326 0,000000758643
5 0,133891647602 0,000000000000
Persamaan (5.2) menunjukkan bahwa kesalahan dalam perkiraan kita (Xk-X∗) kira-kira
dikuadratkan pada setiap iterasi. Perilaku ini disebutkonvergensi kuadrat dari metode Newton.
Perhatikan bahwa jumlah digit yang benar menjadi dua kali lipat pada setiap iterasi dari contoh
di atas dan metode ini memerlukan iterasi yang jauh lebih sedikit dibandingkan pendekatan
pencarian biner.
Namun, ketika “kondisi yang menguntungkan” yang kami sebutkan di atas tidak terpenuhi,
metode Newton mungkin gagal mencapai solusi. Misalnya, pertimbangkan F(X) =X3− 2X+2.
Mulai dari 0, seseorang akan mendapatkan perulangan yang berputar antara 1 dan 0. Dimulai
dari titik yang dekat dengan 1 atau 0, seseorang juga akan mendapatkan perulangan yang
bergantian di lingkungan dekat 1 dan 0, tanpa pernah mencapai akar di sekitar −1,76. Oleh
karena itu, sering kali harus dimodifikasi sebelum diterapkan pada permasalahan umum.
Modifikasi umum metode Newton meliputipencarian garisDanwilayah kepercayaanpendekatan.
Kami membahas secara singkat pendekatan pencarian garis di Bagian 5.3.3. Informasi lebih
lanjut mengenai metode ini dapat ditemukan dalam teks optimasi numerik standar seperti [61].
Selanjutnya, kita memperoleh varian metode Newton yang dapat diterapkan pada masalah
optimasi univariat. Jika fungsi yang akan diminimalkan/dimaksimalkan mempunyai
minimalisasi/maksimalisasi yang unik dan terdiferensiasi dua kali, kita dapat melakukan hal
berikut. Diferensiasi dan keunikan pengoptimal menunjukkan hal ituX∗memaksimalkan (atau
meminimalkan)G(X) jika dan hanya jikaG'(X∗) = 0. MendefinisikanF(X) =G'(X) dan dengan
menerapkan metode Newton pada fungsi ini, kita memperoleh iterasi dalam bentuk berikut:
F(Xk) G'(Xk)
Xk+1=Xk- =Xk- .
F'(Xk) G“(Xk)
Contoh 5.4Mari kita terapkan versi optimasi metode Newton pada Contoh 5.2.
Mengingat itu f(X) =X5− 10X2+ 2x, kita punya f'(X) = 5X4− 20X+2 dan f“(X) = 20(X3−
1). Jadi, rumus pembaruan Newton diberikan sebagai
5(Xk)4− 20Xk+2
Xk+1=Xk- .
20[(Xk)3− 1]
Mulai dari 0 dan iterasi kita memperoleh urutan yang diberikan pada Tabel 5.4.
90 Pemrograman nonlinier: teori dan algoritma
k Xk F(Xk) F'(Xk)
Sekali lagi, amati bahwa metode Newton menyatu dengan sangat cepat ke dalam solusi dan
menghasilkan akurasi beberapa digit lebih banyak daripada pencarian bagian emas. Namun
perlu diperhatikan bahwa metode ini akan gagal jika kita memilihnyaX0= 1 sebagai titik awal
kita.
Latihan 5.5 Ulangi Latihan 5.2, 5.3, dan 5.4 menggunakan metode Newton.
Latihan 5.6 Kami memperoleh metode Newton dengan memperkirakan fungsi tertentuF
menggunakan dua suku pertama deret Taylor pada titik saat iniXk.Saat kita menggunakan
pendekatan deret Taylor pada suatu fungsi, tidak ada alasan apriori yang memerintahkan kita
untuk berhenti pada dua suku. Kita dapat mempertimbangkan, misalnya, menggunakan tiga
suku pertama dari perluasan fungsi deret Taylor untuk mendapatkan pendekatan kuadrat.
Turunkan varian metode Newton yang menggunakan perkiraan ini untuk menentukan akar-
akar fungsiF.Dapatkah Anda menentukan tingkat konvergensi untuk metode baru ini, dengan
asumsi bahwa metode tersebut konvergen?
Saat kita mengoptimalkan fungsi univariat, terkadang kita tidak perlu mencari
fungsiminimizer/maximizer dengan sangat akurat. Hal ini terutama berlaku ketika
optimasi univariat hanyalah salah satu langkah dalam prosedur berulang untuk
mengoptimalkan fungsi yang lebih rumit. Hal ini terjadi, misalnya, ketika fungsi yang
dipertimbangkan sesuai dengan nilai fungsi multivariat sepanjang arah yang tetap. Dalam
kasus seperti ini, sering kali seseorang merasa puas dengan suatu poin baru yang
memberikan cukup banyak perbaikan dibandingkan poin sebelumnya. Biasanya, suatu
titik dengan peningkatan yang memadai dapat ditentukan jauh lebih cepat daripada
fungsi perkecil yang tepat sehingga menghasilkan waktu komputasi yang lebih singkat
untuk keseluruhan algoritma.
Gagasan mengenai “perbaikan yang memadai” harus diformalkan untuk memastikan bahwa pendekatan
tersebut akan menghasilkan pengulangan yang konvergen. Katakanlah kita ingin meminimalkan fungsi
nonlinier dan terdiferensiasiF(X) dan kami memiliki perkiraan saat iniXkdari minimernya. Asumsikan bahwaF'(
Xk)<0, yang menunjukkan bahwa fungsi tersebut akan berkurang seiring bertambahnya
5.3 Optimasi univariat 91
F(Xk)
F(Xk+D )
F(Xk) +mdF'(Xk)
D
Nilai yang dapat diterima dariD
Turunan dari fungsi tersebutF'(Xk)memberikan prediksi penurunan nilai fungsi seiring dengan
perkembangannyaXk.JikaFmemiliki peminimal, kita tidak bisa berharap bahwa itu akan
berkurang selamanya seiring dengan peningkatan kitaXkseperti perkiraan liniernya di atas.
Namun, kita dapat meminta kita menemukan titik baru sehingga peningkatan nilai fungsi
setidaknya merupakan sebagian kecil dari peningkatan yang diprediksi oleh pendekatan linier.
Secara matematis, kita bisa meminta hal itu
Di manaμ∈ (0,1) adalah pecahan yang diinginkan. Persyaratan penurunan yang cukup ini
sering disebutArmijo–Goldsteinkondisi. Lihat Gambar 5.2 untuk ilustrasinya.
Di antara semua ukuran langkah yang memenuhi kondisi penurunan yang cukup, seseorang biasanya
akan memilih ukuran langkah sebesar mungkin. Namun, mencoba menemukan ukuran langkah maksimum
secara akurat sering kali akan memakan waktu terlalu lama dan akan menggagalkan tujuan pendekatan
perkiraan ini. Strategi khas yang digunakan dalam pencarian baris adalah mundur. Kami memulai dengan
perkiraan awal yang cukup besar. Kami memeriksa apakah ukuran langkah ini memenuhi kondisi (5.3). Jika
ya, kami menerima ukuran langkah ini, mengubah perkiraan kami dan melanjutkan. Jika tidak, kita mundur
dengan menggunakan ukuran langkah yang merupakan sebagian kecil dari ukuran langkah sebelumnya
yang kita coba. Kami terus melakukan kemunduran hingga kami memperoleh ukuran langkah yang
memenuhi kondisi penurunan yang memadai. Misalnya, jika ukuran langkah awal adalah 5 dan kita
menggunakan pecahan 0,8, iterasi backtracking pertama akan menggunakan ukuran langkah 4, lalu 3,2, dan
seterusnya.
92 Pemrograman nonlinier: teori dan algoritma
Latihan 5.8Selesaikan Latihan 5.4 menggunakan versi optimasi metode Newton dengan
pencarian garis dan penelusuran mundur. Menggunakanμ= 0.1 dan rasio kemunduran
0,8.
Latihan 5.9Seperti yang diilustrasikan pada Gambar 5.2, kondisi Armijo–Goldstein tidak
memperbolehkan ukuran langkah yang terlalu besar dan di luar itu kekuatan prediksi gradien fungsi
menjadi lemah. Strategi backtracking menyeimbangkan hal ini dengan mencoba memilih sebesar
mungkin nilai ukuran langkah yang dapat diterima, memastikan bahwa ukuran langkah tidak terlalu
kecil. Kondisi lain, yang disebut kondisi Wolfe, mengesampingkan ukuran langkah yang terlalu kecil
dengan mengharuskan hal tersebut
‖F'(Xk+δ)‖ ≤η‖F'(Xk)‖
untuk beberapaη∈ [0,1]. Motivasi kondisi ini adalah untuk fungsi terdiferensiasiF
,peminimal (atau pemaksimal) akan terjadi pada titik di mana turunan fungsinya
adalah nol. Kondisi Wolfe mencari titik-titik yang turunannya mendekati nol
dibandingkan titik saat ini. Interpretasikan kondisi Wolfe secara geometris pada
Gambar 5.2. Untuk fungsiF(X) = (1/4)X4-X2+ 2X-1 dengan iterasi saat ini Xk=0.1
tentukan pembaruan Newton dan hitung nilai ukuran langkah mana yang
memenuhi kondisi Wolfeη= 1/4 dan juga untukη= 3/4.
Kami sekarang beralih ke masalah optimasi nonlinier dengan banyak variabel. Pertama, kita
akan fokus pada masalah yang tidak memiliki kendala. Contoh umum dari masalah optimasi
nonlinier tak terbatas muncul dalam penyesuaian model dan regresi. Studi tentang masalah
yang tidak dibatasi juga penting untuk optimasi yang dibatasi karena sering kali kita
memecahkan serangkaian masalah yang tidak dibatasi sebagai submasalah dalam berbagai
algoritma untuk solusi masalah yang dibatasi.
Kami menggunakan format umum berikut untuk program nonlinier tak terbatas yang kami
pertimbangkan di bagian ini:
Selanjutnya, kita perlu memilih titik awal. Kami secara sewenang-wenang memilih intinyaX0= (0,3).
Sekarang kita siap menghitung arah penurunan paling curam pada suatu titikX0. Ini adalah
arah yang berlawanan dengan vektor gradien yang dihitung padaX0, yaitu
[ ]
44+e−2
D0= −∇F(X0) = .
− 24
Jika kita berpindah dariX0ke arahD0, menggunakan ukuran langkahα, kita mendapat poin
baru X0+αD0(α=0 sesuai dengan menginap diX0). Karena tujuan kami adalah
meminimalkanF, kami akan mencoba untuk pindah ke suatu titikX1=X0+αD0, Di manaα
dipilih untuk meminimalkan fungsi sepanjang arah ini. Untuk tujuan ini, kami
mengevaluasi nilai fungsinyaFsepanjang arah penurunan paling curam sebagai fungsi
dari ukuran langkahα:
φ(α)≤φ(0) +μαφ'(0),
Di manaμ∈ (0,1) adalah pecahan yang diinginkan untuk kondisi penurunan yang cukup. Kami
mengamati bahwa turunan dari fungsi tersebutφpada 0 dapat dinyatakan sebagai
φ'(0) =∇F(X0)TD0.
Ini adalahturunan terarahdari fungsinyaFpada titikX0dan arahD0. Dengan
menggunakan identitas ini kondisi penurunan fungsi cukupφdapat dituliskan
berdasarkan fungsi aslinyaFsebagai berikut:
Sebagaimana dibahas dalam Bagian 5.3.3, kondisi penurunan yang cukup (5.5) dapat
dikombinasikan dengan strategi kemunduran. Untuk contoh ini, kami menggunakanμ= 0.3
untuk kondisi penurunan yang cukup dan menerapkan backtracking dengan ukuran langkah
percobaan awal 1 dan faktor backtracking sebesarβ= 0.8. Yaitu kita coba ukuran langkah 1, 0,8,
0,64, 0,512, dan seterusnya, hingga kita menemukan ukuran langkah berbentuk 0.8kyang
memenuhi kondisi Armijo – Goldstein. Lima iterasi pertama dari pendekatan ini dan juga iterasi
ke-20 diberikan pada Tabel 5.5. Untuk kelengkapan, kita juga harus menentukan kriteria
penghentian pendekatan tersebut. Karena gradien fungsi harus berupa vektor nol pada
minimisasi tak terbatas, sebagian besar implementasi akan menggunakan kriteria terminasi
dalam bentuk‖∇F(X)‖ ≤ε, Di mana>0 adalah parameter toleransi yang dipilih dengan tepat. Atau,
seseorang mungkin berhenti ketika iterasi yang berurutan menjadi sangat dekat satu sama
lain, yaitu saat itulah‖Xk+1-Xk‖ ≤εuntuk beberapa>0. Kondisi terakhir ini menunjukkan kemajuan
terhenti. Meskipun hal ini mungkin disebabkan oleh fakta bahwa iterasi telah mendekati
pengoptimal dan tidak dapat melanjutkan lagi, ada beberapa contoh di mana penghentian
tersebut disebabkan oleh tingginya tingkat nonlinier dalamF.
Pemeriksaan singkat pada Tabel 5.5 mengungkapkan bahwa tanda-tanda koordinat
kedua dari arah penurunan paling curam berubah dari satu iterasi ke iterasi berikutnya
dalam banyak kasus. Yang kami amati adalahzig-zagfenomena, ciri khas pendekatan
penurunan paling curam yang menjelaskan perilaku konvergensi lambat untuk sebagian
besar masalah. Ketika kita mengejar algoritma penurunan paling curam untuk iterasi
yang lebih banyak, fenomena zigzag menjadi lebih jelas dan metode ini lambat untuk
mencapai solusi optimal.X∗≈ (1.472,0.736). Gambar 5.3 menunjukkan iterasi penurunan
paling curam untuk contoh kita yang ditumpangkan pada garis kontur fungsi tujuan. Arah
penurunan paling curam adalah tegak lurus terhadap garis kontur dan zigzag antara
kedua sisi garis kontur, terutama bila garis tersebut membentuk koridor yang panjang
dan sempit. Dibutuhkan lebih dari 30 iterasi penurunan paling curam dalam hal ini
5.4 Pengoptimalan tanpa batasan 95
( ) ( )
k X1k,Xk2 Dk1,Dk2 αk ‖∇F(Xk +
1)‖
1.6
1.4
1.2
0,8
0,6
0,4
contoh kecil untuk dicapai‖∇F(X)‖ ≤10−5. Singkatnya, meskipun pendekatan penurunan paling
curam mudah diterapkan dan intuitif, serta memiliki iterasi yang relatif murah, pendekatan ini
juga bisa sangat lambat untuk mencapai solusi.
Latihan 5.10Pertimbangkan fungsi multivariat yang dapat dibedakanF(X) yang ingin kita
minimalkan. MembiarkanXkjadilah perkiraan solusi tertentu, dan pertimbangkan
perluasan fungsi deret Taylor orde pertamaXk:
Tunjukkan bahwa solusinya adalahδ∗=α∇F(X) dengan beberapa<0, yaitu arah yang berlawanan
dengan gradien adalah arah penurunan paling curam.
Latihan 5.11Ingat kembali masalah estimasi kemungkinan maksimum yang kita bahas pada
Latihan 5.4. Meskipun kami mempertahankan asumsi bahwa sampel yang diamati berasal dari
distribusi normal, kami tidak lagi berasumsi bahwa kami mengetahui rata-rata distribusi
tersebut adalah nol. Dalam hal ini, kita mempunyai dua parameter (meanμdan deviasi standarσ
) masalah estimasi kemungkinan maksimum. Selesaikan masalah ini dengan menggunakan
metode penurunan paling curam.
F1(X1,X2, . . . ,XN) = 0
F2(X1,X2, . . . ,XN) = 0
(5.6)
.. .. ..
FN(X1,X2, . . . ,XN) = 0.
F(X) = 0,
Di manaXadalah vektor dariNvariabel danF(X) adalahIRN-fungsi bernilai dengan
komponenF1(X), . . . ,FN(X). Kita ulangi prosedur di Bagian 5.3.2: pertama, kita tuliskan
pendekatan deret Taylor orde pertama terhadap fungsi tersebutFsekitar perkiraan
saat iniXk:
F(Xk) +∇F(Xk)δ=0.
Perhatikan bahwa yang ada di sisi kanan adalah vektor nol dan persamaan di atas
mewakili sistem persamaan linier. Jika∇F(Xk)adalah nonsingular, persamaan di atas
mempunyai solusi unik yang diberikan oleh
δ= −∇F(Xk)−1F(Xk),
dan rumus pembaruan Newton dalam hal ini adalah:
Xk+1=Xk+δ=Xk-∇F(Xk)−1F(Xk).
Contoh 5.5Pertimbangkan masalah berikut:
( )
F1(X1,X2)
F(X) =F(X1,X2) =
F2(X1,X2)
( )
X1X2− 2X1+X2− 2 (X1)2+
= =0.
2X1+ (X2)2− 7X2+ 7
Pertama kita menghitung Jacobian:
( )
X2− 2 X1+ 1
∇F(X1,X2) = .
2X1+ 2 2X2− 7
Jika perkiraan awal penyelesaiannya adalah x0= (0,0), maka poin selanjutnya yang dihasilkan
oleh metode Newton adalah:
( ) −( 1 )
( )( ) X02- 2 X10+ 1 X10X02− 2X01+X0 2− 2
X11,X12 = X10,X02 - ( ) ( )
2X10+ 2 2X20− 7 X10 2+ 2X01+X 20 2− 7X02+ 7
( ) − 1( )
−2 1 −2
= (0,0) −
2 −7 7
( )( )
7 5 7 5
= (0,0) − ,- =− , .
12 6 12 6
98 Pemrograman nonlinier: teori dan algoritma
Versi optimasi
Saat kita menggunakan metode Newton untuk optimasi tak terbatas dari fungsi yang
dapat didiferensiasi dua kaliF(X), sistem persamaan nonlinier yang ingin kita selesaikan
adalah kondisi optimalitas perlu orde pertama∇F(X) = 0. Dalam hal ini, fungsinya FSaya(X)
pada (5.6) adalah turunan parsial dari fungsi tersebutF.Itu adalah,
∂F
FSaya(X) = (X1, X2, . . . , XN) .
∂XSaya
Menulis
⎡ ⎤
F1(X1,X2, . . . ,XN)
⎢F2(X1,X2, . . . ,XN)⎥ ⎢
⎥
F(X1,X2, . . . ,XN) =⎢ ⎥
⎣ ... ⎦
FN(X1,X2, . . . ,XN)
⎡ ∂F(X1,X , . . . , XN)
⎤
2
⎢∂X1 ⎥
⎢ ⎥
⎢∂F (X1,2X. .X
, .N,⎥)
=⎢∂XSaya ⎥ =∇F(X),
⎢ ⎥
⎣ ... ⎦
∂F(X
1,X2, . . . ,XN)
∂XN
δ= −∇2F(Xk)−1∇F(Xk) (5.8)
Xk+1=Xk+δ=Xk-∇F2(Xk)−1∇F(Xk).
Untuk tujuan ilustrasi dan perbandingan, kami menerapkan teknik ini pada contoh soal di
Bagian 5.4.1. Ingatlah bahwa masalahnya adalah menemukan
Gradien dariFdiberikan pada (5.4) dan matriks Hessian diberikan di bawah ini:
[ ]
12(X1− 2)2+ pengalaman(X1− 2) + 2 −4
∇2F(X) = . (5.9)
−4 8
Jadi, kita menghitung arah Newton diX0= (0,3) sebagai berikut:
([ ])
([ ]) −1
00
δ= −∇2F ∇F
33
[ ] ] [ ]
50+e−2 − 4−1[ − 44 + e−2 0.662
=− = .
−4 8 24 − 2.669
Kami mencantumkan lima iterasi pertama pada Tabel 5.6 dan mengilustrasikan kemajuan
pesat algoritma menuju solusi optimal pada Gambar 5.4. Perhatikan bahwa ukuran langkah
ideal untuk metode Newton hampir selalu 1. Dalam contoh kita, ukuran langkah ini selalu
memenuhi kondisi penurunan yang cukup dan dipilih pada setiap iterasi. metode Newton
mengidentifikasi suatu titik dengan‖∇F(X)‖ ≤10−5setelah tujuh iterasi.
Meskipun perilaku konvergensinya sangat baik dan mendekati solusi, metode Newton
tidak selalu merupakan pilihan terbaik, terutama untuk pengoptimalan skala besar.
Seringkali matriks Hessian mahal untuk dihitung pada setiap iterasi. Dalam kasus seperti
ini, mungkin lebih baik menggunakan perkiraan matriks Hessian. Perkiraan ini biasanya
dipilih sedemikian rupa sehingga solusi sistem linier pada (5.8) jauh lebih murah
dibandingkan dengan solusi Hessian eksak. Pendekatan seperti ini dikenal sebagai
metode quasi-Newton. Varian metode kuasi-Newton yang paling populer adalah metode
BFGS dan DFP. Akronim ini mewakili pengembang algoritma ini pada akhir tahun 1960an
dan awal tahun 1970an. Informasi rinci tentang pendekatan kuasi-Newton dapat
ditemukan, misalnya, [61].
Latihan 5.12Ulangi Latihan 5.11, kali ini menggunakan versi optimasi metode
Newton. Gunakan pencarian baris denganμ= 1/2 dalam kondisi Armijo –
Goldstein dan rasio kemunduranβ= 1/2.
100 Pemrograman nonlinier: teori dan algoritma
1.6
1.4
1.2
0,8
0,6
0,4
menitXF(X)
GSaya(X) = 0, Saya∈E, (5.10)
GSaya(X)≥0, Saya∈SAYA.
Di sisa bagian ini kami berasumsi demikianFDanGSaya, Saya∈E∪SAYA, semuanya merupakan fungsi yang
dapat terdiferensiasi secara kontinyu.
Alat penting dalam mempelajari masalah optimasi terbatas adalah fungsi Lagrangian.
Untuk mendefinisikan fungsi ini, seseorang mengasosiasikan pengaliλSaya–yang disebut
pengali Lagrange – dengan masing-masing batasannya. Untuk soal (5.10) Lagrangian
didefinisikan sebagai berikut:
∑
L(x, λ) :=F(X) − λSayaGSaya(X). (5.11)
Saya∈E∪SAYA
Pada dasarnya, kami sedang mempertimbangkan fungsi objektif yang dikenakan sanksi
atas pelanggaran batasan kelayakan. Untuk nilai yang dipilih dengan benarλSaya,
meminimalkan fungsi yang tidak dibatasiL(x, λ) setara dengan menyelesaikan masalah
optimasi terbatas (5.10). Kesetaraan ini adalah alasan utama ketertarikan kami pada
fungsi Lagrangian.
5.5 Pengoptimalan terbatas 101
Salah satu isu teoritis terpenting yang berkaitan dengan masalah ini adalah
identifikasi kondisi perlu dan cukup untuk optimalitas. Secara kolektif, kondisi ini
disebutkondisi optimaldan merupakan subjek dari bagian ini.
Sebelum menyajikan kondisi optimalitas untuk (5.10) terlebih dahulu kita membahas
kondisi teknis yang disebutketeraturanyang ditemui dalam teorema berikut:
Teorema 5.1 (Kondisi perlu orde pertama) Biarkan x∗menjadi minimalisasi lokal
dari masalah (5.10) dan asumsikan bahwa x∗adalah titik reguler untuk batasan
masalah ini. Lalu, ada λSaya, Saya∈E∪SAYAseperti yang
∑
∇F(X∗) − λSaya∇GSaya(X∗) = 0, (5.12)
Saya∈E∪SAYA
λSaya≥0,Saya∈SAYA, λ (5.13)
SayaGSaya(X∗) = 0,Saya∈SAYA. (5.14)
Perhatikan bahwa ekspresi di sisi kiri (5.12) adalah gradien fungsi LagrangianL(x, λ
) sehubungan dengan variabelX. Kondisi orde pertama dipenuhi pada minimalisasi
lokal serta maksimalisasi lokal dan titik pelana. Jika fungsi tujuan dan fungsi kendala
dapat terdiferensiasi dua kali secara terus menerus, maka pemaksimal dan titik
pelana dapat dihilangkan dengan menggunakan informasi kelengkungan pada
fungsi tersebut. Seperti pada Teorema 5.1, kita mempertimbangkan fungsi
LagrangianL(x, λ) dan gunakan fungsi Hessian ini sehubungan denganXvariabel
untuk menentukan kelengkungan kolektif dalam fungsi tujuan serta fungsi kendala
pada titik saat ini.
102 Pemrograman nonlinier: teori dan algoritma
Teorema 5.2 (Kondisi perlu orde kedua) Asumsikan bahwa f dan gSaya, Saya∈
adalah semidefinite positif pada subruang singgung dari batasan aktif di x∗.
Bagian terakhir dari teorema di atas dapat dinyatakan kembali dalam batasan aktif
Jacobian. MembiarkanA(X∗) menunjukkan Jacobian dari kendala aktif diX∗dan biarkanN(X∗)
menjadi basis spasi nol untukA(X∗). Kemudian, kondisi terakhir dari teorema
di atas setara dengan kondisi berikut:
( )
∑
∗
NT(X∗)∇2F(X∗) − λSaya∇2GSaya(X) N(X∗) (5.16)
Saya∈E∪SAYA
Teorema 5.3 (Kondisi cukup orde kedua) Asumsikan bahwa f dan gSaya, Saya∈
E∪SAYAsemuanya merupakan fungsi terdiferensiasi dua kali secara kontinyu. Biarkan x∗menjadi
titik yang layak dan teratur untuk kendala masalah (5.10). Biarkan A(X∗)menunjukkan Jacobian
dari kendala aktif di x∗dan biarkan N(X∗)menjadi basis spasi nol untuk A(X∗). Jika ada λSaya, Saya∈
E∪SAYAmemuaskan (5.12)–(5.14) serta
Dan
( )
∑
∗
NT(X∗)∇2F(X∗) − λSaya∇2GSaya(X) N(X∗)adalah pasti positif, (5.18)
Saya∈E∪SAYA
Kondisi yang tercantum dalam Teorema 5.1, 5.2, dan 5.3 sering disebut kondisi
Karush–Kuhn–Tucker (KKT), sesuai nama penemunya.
Beberapa metode untuk memecahkan masalah optimasi terbatas merumuskan
serangkaian masalah optimasi sederhana yang solusinya digunakan untuk
menghasilkan iterasi yang maju menuju solusi masalah awal. Ini “lebih sederhana”
5.5 Pengoptimalan terbatas 103
permasalahan dapat tidak dibatasi, dalam hal ini permasalahan dapat diselesaikan dengan menggunakan
teknik yang telah kita lihat pada bagian sebelumnya. Kami membahas strategi seperti itu di Bagian 5.5.1.
Dalam kasus lain, masalah yang lebih sederhana untuk diselesaikan adalah masalah pemrograman kuadratik
dan dapat diselesaikan dengan menggunakan teknik pada Bab 7. Contoh utama dari strategi ini adalah
metode pemrograman kuadratik sekuensial yang kita bahas di Bagian 5.5.2.
Latihan 5.13Ingat kembali definisi masalah pemrograman kuadratik yang diberikan pada
Bab 1:
XX12TQx+CTX
menit
Kapak=B (5.19)
X≥0,
Di manaA∈IRM×N,B∈IRM,C∈IRN,Q∈IRN×Ndiberikan, danX∈IRN.Asumsikan bahwaQ
adalah simetris dan pasti positif. Turunkan kondisi KKT untuk masalah ini.
Tunjukkan bahwa kondisi perlu orde pertama juga mencukupi berdasarkan
asumsi kita.
stX1+X2 2≤3
Dan (X1,X2)≥0.
Buat daftar kondisi optimalitas Karush–Kuhn–Tucker untuk masalah ini. Verifikasi itu
X∗= (2,1) adalah solusi optimal lokal untuk masalah ini dengan mencari pengali
LagrangeλSayamemenuhi syarat KKT yang dipadukan denganX∗. AdalahX∗= (2,1) solusi
optimal global?
Pada bagian ini, kami memperkenalkan pendekatan untuk menyelesaikan program nonlinier terbatas.
Ini dibangun berdasarkan metode penurunan paling curam yang telah kita diskusikan dalam konteks
optimasi tak terbatas. Idenya adalah untuk mengurangi jumlah variabel menggunakan batasan dan
kemudian menyelesaikan masalah yang dikurangi dan tidak dibatasi ini menggunakan metode
penurunan paling curam.
Contoh 5.6
menitF(X) = X12+X2+X2 3+X4
G1(X) = X1+X2+ 4X3+ 4X4− 4 = 0
G2(X) = −X1+X2+ 2X3− 2X4+ 2 = 0.
104 Pemrograman nonlinier: teori dan algoritma
Sangat mudah untuk menyelesaikan persamaan kendala untuk dua variabel dalam kaitannya dengan
variabel lainnya. Memecahkan untuk x2dan x3dalam hal x1dan x4memberi
Masalah ini tidak dibatasi dan oleh karena itu dapat diselesaikan dengan menggunakan salah satu
metode yang disajikan pada Bagian 5.4.
Contoh 5.7
menitF(X) = X12+X2+X2 3+X4
G1(X) = X12+X2+ 4X3+ 4X4− 4 = 0
G2(X) = −X1+X2+ 2X3− 2X2 4+ 2 = 0 .
Kami menggunakan pendekatan deret Taylor untuk fungsi kendala pada titik saat ini
x̄ :
G(X)≈G(X) +∇G(X)(X-X)T.
Ini memberi
⎞ ⎛
X1-X1
( ) ⎜X2-X⎟
G1(X)≈X2 1+X2+ 4X3+ 4X4− 4 + (2X1,1,4,4)⎜ ⎝X3-X⎠ 2⎟
3
( ) X4-X4
≈2X1X1+X2+ 4X3+ 4X4- X12+ 4 =0
Dan
( )
G2(X)≈ -X1+X2+ 2X3− 4X4X4+ X42+ 2 =0.
Ide darialgoritma gradien tereduksi umum (GRG)adalah menyelesaikan
serangkaian submasalah, yang masing-masing menggunakan perkiraan batasan
linier. Pada setiap iterasi algoritma, linearisasi kendala dihitung ulang pada titik yang
ditemukan dari iterasi sebelumnya. Biasanya, meskipun batasan-batasannya hanya
merupakan perkiraan, sub-masalah menghasilkan poin-poin yang semakin dekat
5.5 Pengoptimalan terbatas 105
ke titik optimal. Sifat linierisasi adalah, pada titik optimal, permasalahan yang
dilinearisasi mempunyai solusi yang sama dengan permasalahan awal.
Langkah pertama dalam menerapkan GRG adalah memilih titik awal. Misalkan kita mulai
denganX0= (0,-8,3,0), yang memenuhi batasan awal. Dimungkinkan untuk memulai dari titik
yang tidak mungkin seperti yang akan kita bahas nanti. Dengan menggunakan rumus
aproksimasi yang diperoleh sebelumnya, kita membentuk masalah aproksimasi pertama
sebagai berikut:
Selanjutnya kita memecahkan batasan persamaan dari masalah perkiraan untuk menyatakan dua
variabel dalam bentuk variabel lainnya. Memilih secara sewenang-wenangX2DanX3, kita mendapatkan
1
X2= 2X1+ 4X4− 8 danX3= −X1− 2X4+ 3.
2
Mengganti ekspresi ini dalam fungsi tujuan akan menghasilkan pengurangan masalah
( )
menitF(X1,X4) =X2 1+ (2X1+ 4X2− 8) + −1X 2
1− 2X4 + 32 + X4.
X∗= (−0.500,-4.825,1.534,0.610)
dan memiliki nilai obyektif −1.612. Perhatikan bahwa, pada Tabel 5.7, nilai fungsiF(Xk)
terkadang lebih kecil dari nilai minimumk=1,dan 2. Bagaimana hal ini mungkin?
Alasannya adalah poinnyaXkyang dihitung oleh GRG biasanya tidak layak untuk
batasan tersebut. Mereka hanya layak untuk perkiraan linear dari kendala-kendala
ini.
Sekarang kita membahas metode yang digunakan GRG untuk memulai solusi yang tidak mungkin
dilakukan: amasalah fase 1dipecahkan untuk membangun yang layak. Fungsi tujuan untuk soal tahap
1 adalah jumlah nilai absolut dari batasan yang dilanggar. Kendala-kendala pada permasalahan tahap
1 adalah kendala-kendala yang tidak dapat dilanggar. Misalkan kita punya
106 Pemrograman nonlinier: teori dan algoritma
dimulai pada titik tersebutX0= (1,1,0,1) dalam contoh kita. Poin ini melanggar poin pertama
kendala tetapi memenuhi yang kedua, sehingga masalah fase 1 akan menjadi
∣ ∣
menit∣X21+X2+ 4X3+ 4X4− 4∣
- X1+X2+ 2X3− 2X2 4+ 2 = 0.
Setelah solusi layak ditemukan dengan menyelesaikan masalah fase 1, metode yang
diilustrasikan di atas digunakan untuk menemukan solusi optimal.
X2≤2
2
X1 ≥0
X2=(1.5, 1.5)
X2
X1-X 2
≥0
X0=(1, 0)
0 X2 ≥0
0 1 2 3
X1
padaX0:
( )
∇F(X0) = 2X10− 1,2X0 2− 5 = (1,-5).
Hal ini menunjukkan bahwa kita akan mendapatkan penurunan terbesarFjika kita
bergerak ke arah tersebut D0= −∇F(X0) = (−1,5), yaitu jika kita menurunkanX1dan
meningkatX2. Karena arah ini mengarah ke bagian dalam wilayah yang layak, kami
memutuskan untuk melepaskannyaX2dari ikatannya. Poin barunya adalahX1=X0+α0D0,
untuk beberapaα0>0. Batasan masalah menyebabkan batas atasα0, yaituα0≤0.8333.
Sekarang kita melakukan pencarian garis untuk menentukan nilai terbaikα0dalam rentang
ini. Ternyata begitu α0= 0.8333, jadiX1= (0.8333,0.8333); lihat Gambar 5.5.
Sekarang, kita ulangi prosesnya: batasannyaX1-X2≥0 telah menjadi aktif sedangkan
yang lain tidak aktif. Karena batasan aktif bukanlah batasan sederhana atas atau bawah,
kita memperkenalkan variabel surplus, misalnyaX3, dan selesaikan salah satu variabel
dalam kaitannya dengan variabel lainnya. MenggantiX1=X2+X3, kami memperoleh masalah
optimasi yang dikurangi:
( )( )
5 2
menitF(X2,X3) =X2+X3-1 2
2+ X2 - 2
0≤X2≤2
X3≥0.
Gradien yang dikurangi adalah
Oleh karena itu, penurunan terbesar terjadi padaFterjadi pada arah (2.667, −0.667), saat
itulah kita bertambahX2dan berkurangX3. TetapiX3sudah berada pada batas bawahnya, jadi kita
tidak bisa menurunkannya. Oleh karena itu, kami tetap mempertahankannyaX3pada batasnya,
yakni kita bergerak ke arah tersebutD1= (2.667,0) ke titik baru (X2,X3)2= (X2,X3)1+α1D1. Pencarian
garis ke arah ini menghasilkanα1= 0.25 dan (X2,X3)2= (1.5,0). Batasan yang sama masih aktif
sehingga kita mungkin tetap berada dalam ruang variabelX2DanX3. Sejak
tegak lurus terhadap garis batas pada solusi saat iniX2dan mengarah ke luar wilayah
yang layak, tidak ada penurunan lebih lanjutFadalah mungkin. Oleh karena itu, kami
telah menemukan solusi optimal. Dalam ruang variabel asal, solusi optimal ini adalah
X1= 1.5 danX2= 1.5.
Beginilah cara beberapa pemecah pemrograman nonlinier yang paling banyak
didistribusikan, seperti SOLVER Excel, GINO, CONOPT, GRG2, dan beberapa lainnya,
menyelesaikan program nonlinier, hanya dengan beberapa detail tambahan seperti arah
Newton-Raphson untuk pencarian garis. Dibandingkan dengan program linier,
permasalahan yang dapat diselesaikan dalam jangka waktu komputasi yang wajar
biasanya lebih kecil dan solusi yang dihasilkan mungkin tidak terlalu akurat. Selain itu,
potensi nonkonveksitas pada himpunan layak atau fungsi tujuan dapat menghasilkan
solusi optimal lokal yang jauh dari solusi global. Oleh karena itu, penafsiran keluaran
program nonlinier memerlukan kehati-hatian lebih.
stX1+X2 2≤3
X12-X2= 3
(X1,X2)≥0.
Temukan solusi untuk masalah ini menggunakan pendekatan gradien tereduksi yang digeneralisasi.
menitXF(X)
GSaya(X) = 0, Saya∈E, (5.20)
GSaya(X)≥0, Saya∈SAYA.
Untuk mengatasi masalah ini, seseorang dapat mencoba memanfaatkan algoritma bagus
yang tersedia untuk menyelesaikan program kuadrat yang lebih terstruktur dan mudah
(lihat Bab 7). Inilah ide di baliknyapemrograman kuadrat sekuensial(SQP). Saat ini
5.5 Pengoptimalan terbatas 109
Di mana
2.5
1.5
F(X) =|X− 1|
F(X) 1
0,5
S=0
0
− 0,5
S= −2/3
−1 S=1/2
− 1.5
−2
−1 − 0,5 0 0,5 1 1.5 2 2.5 3
X
Buatlah perkiraan pemrograman kuadrat (5.21) untuk masalah ini pada poin ini
X0= (0,-8,3,0) dan turunkan kondisi KKT untuk masalah pemrograman kuadratik
ini.
menitF(X),
Di manaX= (X1, . . . ,XN) DanFadalah fungsi cembung yang tidak dapat dibedakan. Kondisi
optimal berdasarkan gradien tidak tersedia karena gradien tidak selalu ditentukan dalam
kasus ini. Namun pengertian gradien dapat digeneralisasikan sebagai berikut.
AsubgradiendariFpada titikX∗adalah vektorS∗= (S∗ 1, . . . ,S∗N)seperti yang
oleh mereka ditunjukkan pada Gambar 5.6. Perhatikan bahwa setiap subgradien fungsi pada
suatu titik mendefinisikan “garis singgung” linier terhadap fungsi tersebut dan selalu berada di
bawah plot fungsi – ini adalah properti penentu subgradien.
Pertimbangkan fungsi cembung yang tidak dapat dibedakanF.Inti nyaX∗adalah minimumF
jika dan hanya jikaFmemiliki subgradien nol diX∗. Dalam contoh di atas, 0 adalah subgradien
dariFpada titikX∗=1 dan oleh karena itu di sinilah minimumnyaFtercapai.
Metode penurunan paling curam dapat diperluas ke fungsi cembung yang tidak dapat
dibedakan dengan komputasisetiaparah subgradien dan menggunakan arah yang berlawanan
untuk membuat langkah berikutnya. Meskipun arah subgradien tidak selalu merupakan arah
pendakian, namun kita dapat menjamin konvergensi ke titik optimal dengan memilih ukuran
langkah yang tepat.
Sebuah generikmetode subgradiendapat dikemukakan sebagai berikut: