Anda di halaman 1dari 32

Diterjemahkan dari bahasa Inggris ke bahasa Indonesia - www.onlinedoctranslator.

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,

Di manaFDanGSayaadalah fungsi dariIRN→IR, DanEDanSAYAadalah kumpulan indeks


untuk batasan kesetaraan dan ketidaksetaraan. Masalah optimasi seperti ini sering
disebutmasalah pemrograman nonlinier, atauprogram nonlinier.
Ada banyak masalah yang memerlukan kerangka umum pemrograman
nonlinier. Berikut beberapa ilustrasinya:

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

di mana koefisiennyaB1DanB2didistribusikan secara mandiri danGSaya(kamu) mewakili


probabilitas bahwa variabel acakBSayasetidaknya sebesar y. Misalkan Anda ingin
memilih variabelX1, . . . ,XNsehingga probabilitas gabungan kedua kendala terpenuhi
adalah paling sedikitβ:

P[A11X1+· · · +A1NXN≤B1]×P[A21X1+· · · +A2NXN≤B2]≥β.

Maka kondisi ini dapat ditulis sebagai himpunan batasan berikut:

- kamu1 + A11X1+· · · +A1NXN=0


- kamu2+A21X1+· · · +A2NXN=0 G1(
kamu1)×G2(kamu2)≥,

dimana produk ini mengarah pada pembatasan nonlinierkamu1Dankamu2.


3.Nilai resiko:ItuNilai resiko(VaR) adalah ukuran risiko yang berfokus pada kejadian langka.
Misalnya untuk variabel acakXyang mewakili kerugian harian dari suatu portofolio investasi,
VaR merupakan kerugian terbesar yang terjadi dengan frekuensi tertentu, misalnya satu kali
dalam setahun. Mengingat tingkat probabilitasα, mengatakanα= 0.99, VaR Nilai Berisikoα(X)
dari variabel acakXdengan fungsi distribusi kontinu adalah nilainyaγseperti yang P(X≤γ) =α.
Dengan demikian, VaR berfokus pada ekor distribusi variabel acak X. Bergantung pada
asumsi distribusi pengembalian portofolio, masalah menemukan portofolio yang
meminimalkan VaR dapat menjadi masalah optimasi yang sangat nonlinier.
4.Pengoptimalan mean-varians:Model MVO Markowitz yang diperkenalkan pada Bagian 1.3.1
adalah program kuadrat: fungsi tujuan berbentuk kuadrat dan batasannya linier.
Pada Bab 7 kami akan menyajikan algoritma titik interior untuk kelas masalah
optimasi nonlinier ini.
5.Membangun dana indeks:Dalam aplikasi pemrograman bilangan bulat, seperti model yang
dibahas di Bagian 12.3 untuk menyusun dana indeks, “relaksasi” dapat ditulis sebagai fungsi
multivariat yang cembung tetapi tidak dapat dibedakan. Teknik subgradien dapat digunakan
untuk menyelesaikan masalah optimasi nonlinier kelas ini.

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:

1. metode penurunan paling curam untuk optimasi tidak dibatasi;


2. Metode Newton;
3. algoritma pengurangan gradien yang digeneralisasi;
4. pemrograman kuadrat sekuensial;
5. optimasi subgradien untuk fungsi yang tidak dapat dibedakan.
82 Pemrograman nonlinier: teori dan algoritma

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.

5.2 Perangkat Lunak

Beberapa paket perangkat lunak untuk menyelesaikan program nonlinier adalah:

1. CONOPT, GRG2, SOLVER Excel (ketiganya didasarkan pada algoritma pengurangan


gradien umum);
2. Kotak alat optimasi MATLAB, SNOPT, NLPQL (pemrograman kuadrat sekuensial);
3. MINOS, LANCELOT (pendekatan Lagrangian);
4. LOQO, MOSEK, IPOPT (Algoritma titik interior untuk kondisi KKT, lihat Bagian
5.5).
ItuServer Pengoptimalan yang Diaktifkan Jaringan (NEOS)situs web yang telah kami
sebutkan di Bab 2, tersedia di http:neos.mcs.anl.gov/neos/solvers, menyediakan akses ke
banyak pemecah optimasi nonlinier akademis dan komersial. Selain itu,Panduan
Perangkat Lunak Pengoptimalanberdasarkan buku karya Moré dan Wright [58], yang
tersedia di www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/, mencantumkan informasi
tentang lebih dari 30 paket pemrograman nonlinier.
Tentu saja, seperti halnya pemrograman linier, seseorang memerlukan bahasa pemodelan untuk
bekerja secara efisien dengan model nonlinier yang besar. Dua yang paling populer adalah GAMS dan
AMPL. Sebagian besar pengoptimal yang dijelaskan di atas menerima model yang ditulis dalam salah
satu bahasa pemrograman matematika berikut.

5.3 Optimasi univariat


Sebelum membahas metode optimasi untuk masalah multivariat dan/atau kendala,
kita mulai dengan penjelasan metode penyelesaian persamaan univariat dan
optimasi fungsi univariat. Cara-cara ini, sering disebutpencarian garismetode adalah
komponen penting bagi banyak algoritma pemrograman nonlinier.

5.3.1 Pencarian biner

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.

Contoh 5.1Pencarian biner dapat digunakan untuk menghitungtingkat pengembalian internal


(IRR) r suatu investasi. Secara matematis, r adalah tingkat bunga yang memenuhi persamaan
tersebut

F1 F2 F3 FN
+ + +···+ - C=0,
1+R (1+R)2 (1+R)3 (1+R)N
Di mana

FT=arus kas pada tahun


t, N=jumlah tahun,C=
biaya investasi.

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

Iter. A C B F(A) F(C) F(B)


1 0 0,5 1 500 − 541.975 − 743,75
2 0 0,25 0,5 500 − 254,24 − 541.975
3 0 0,125 0,25 500 24.85902 − 254,24
4 0,125 0,1875 0,25 24.85902 − 131.989 − 254,24
5 0,125 0,15625 0,1875 24.85902 - 58.5833 - 131.989
6 0,125 0,140625 0,15625 24.85902 - 18.2181 - 58.5833
7 0,125 0,132813 0,140625 24.85902 2.967767 - 18.2181
8 0,132813 0,136719 0,140625 2.967767 - 7.71156 - 18.2181
9 0,132813 0,134766 0,136719 2.967767 - 2.39372 - 7.71156
10 0,132813 0,133789 0,134766 2,967767 0,281543 - 2.39372
11 0,133789 0,134277 0,134766 0,281543 - 1.05745 - 2.39372
12 0,133789 0,134033 0,134277 0,281543 - 0,3883 - 1.05745

HasilRikatan diberikan oleh persamaan


100 100 100 1100
+ + + - 900 = 0.
1+R (1+R)2 (1+R)3 (1+R)4
Mari kita nyatakan denganF(R)sisi kiri persamaan ini. Kami menemukanRseperti yang F(R) =0
menggunakan pencarian biner.
Kita mulai dengan mencari nilai (a, b) seperti yangF(A)>0 danF(B)<0. Dalam hal ini,
kami berharapRmenjadi antara 0 dan 1. SejakF(0) = 500 danF(1) = −743.75, kami
memiliki nilai awal kami.
Selanjutnya kita biarkanC=0.5 (titik tengah) dan hitungF(C). SejakF(0.5) =
− 541.975, kami mengganti jangkauan kami denganA=0 danB=0.5 dan ulangi. Ketika kita melanjutkan,
kita mendapatkan tabel nilai yang ditunjukkan pada Tabel 5.1.
Menurut perhitungan ini, imbal hasil obligasi tersebut kira-kiraR=13,4%. Tentu
saja perhitungan rutin ini dapat dengan mudah diterapkan di komputer.

Latihan 5.1Temukan akar polinomialF(X) = 5X4− 20X+2 dalam interval [0,1]


menggunakan pencarian biner.

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.

Latihan 5.3Rumus penetapan harga opsi Black–Scholes–Merton yang terkenal memiliki


bentuk harga opsi panggilan Eropa sebagai berikut:

C(K, T) =S0(D1) −Ke-RT(D2),


5.3 Optimasi univariat 85

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.

Pencarian bagian emas


Pencarian bagian emas memiliki semangat yang mirip dengan pencarian biner. Ini dapat
digunakan untuk menyelesaikan persamaan univariat seperti di atas, atau untuk menghitung
maksimum suatu fungsiF(X) didefinisikan pada interval [a, b]. Pembahasan disini adalah untuk
versi optimasi. Perbedaan utama antara pencarian bagian emas dan pencarian biner terletak
pada cara menghasilkan interval kepercayaan baru dari yang lama.
Kami berasumsi bahwa:

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.

Contoh 5.2Temukan maksimum fungsi x5− 10X2+ 2x dalam interval [0,1].

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

Tabel 5.2Pencarian bagian emas pada Contoh 5.2

Iter. A D C B F(A) F(D) F(C) F(B)


1 0 0,382 0,618 1 0 −0,6869 −2,4934 −7
2 0 0,2361 0,382 0,618 0 −0,0844 −0,6869 −2,4934 0
3 0 0,1459 0,2361 0,382 0,079 − 0,0844 −0,6869
4 0 0,0902 0,1459 0,2361 0 0,0557 0 0,099 0,079 −0,0844
5 0,0902 0,1459 0,0557 0,0902 0,1115 0 0,0804 0,099 0,079
6 0,1459 0,0804 0,0557 0,077 0,0902 0,1115 0,099 0,0987 0,079
7 0,0804 0,0947 0,099 0,0987
8 0,077 0,0902 0,0983 0,1115 0,0947 0,099 0,1 0,0987
9 0,0902 0,0983 0,1033 0,1115 0,0902 0,099 0,1 0,0999 0,0987
10 0,0952 0,0983 0,1033 0,0952 0,0983 0,099 0,0998 0,1 0,0999
11 0,1002 0,1033 0,0 998 0,0983 0,1002 0,1 0,1 0,0999
12 0,1014 0,1033 0,1 0,1 0,1 0,0999
13 0,0983 0,0995 0,1002 0,1014 0,1 0,1 0,1 0,1
14 0,0995 0,1002 0,1007 0,1014 0,1 0,1 0,1 0,1
15 0,0995 0,0999 0,1002 0,1007 0,1 0,1 0,1 0,1
16 0,0995 0,0998 0,0999 0,1002 0,1 0,1 0,1 0,1
17 0,0998 0,0999 0,1 0,1002 0,1 0,1 0,1 0,1
18 0,0999 0,1 0,1001 0,1002 0,1 0,1 0,1 0,1
19 0,0999 0,1 0,1 0,1001 0,1 0,1 0,1 0,1
20 0,0999 0,1 0,1 0,1 0,1 0,1 0,1 0,1
21 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1

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.

5.3.2 Metode Newton


Pekerja keras utama dari banyak algoritme optimasi adalah teknik penyelesaian persamaan
nonlinier berusia berabad-abad yang dikembangkan oleh Sir Isaac Newton. Kami akan
5.3 Optimasi univariat 87

diskusikan versi multivariat metode Newton nanti. Kami fokus pada kasus univariat
terlebih dahulu. Untuk fungsi nonlinier tertentuFkami ingin mencariXseperti yang

F(X) = 0.

Asumsikan bahwaFterus terdiferensiasi dan saat ini kami memiliki perkiraannya Xk


solusinya (kita akan menggunakan superskrip untuk indeks iterasi pada pembahasan
berikut). Perkiraan deret Taylor orde pertama (yaitu linier) terhadap fungsi tersebut F
sekitarXkdapat ditulis sebagai berikut:

F(Xk+δ)≈F(δ) :=F(Xk) +f'(Xk).

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

F(δ) =F(Xk) +f'(Xk) =0

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

100 100 100 1100


F(R) = + + + - 900 = 0.
1+R (1+R)2 (1+R)3 (1+R)4
88 Pemrograman nonlinier: teori dan algoritma

F(R)
1000 garis singgung

800

600
F(0) =500
F(R) F'(0) = −5000

400

200

0
X0=0 X1=0,1

− 0,05 0 0,05 0,1 0,15 0,2


R

Gambar 5.1 Langkah pertama metode Newton pada Contoh 5.3

Turunan dari f(R)mudah dihitung:


100 200 300 4400
F'(R) = − - - - .
(1+R)2 (1+R)3 (1+R)4 (1+R)5

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

Tabel 5.3Metode Newton Contoh 5.3

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

Tabel 5.4Iterasi metode Newton pada Contoh 5.4

k Xk F(Xk) F'(Xk)

0 0,000000000000 0,000000000000 2.000000000000


1 0,100000000000 0,100010000000 0,000500000000
2 0,100025025025 0,100010006256 0,000000000188
3 0,100025025034 0,100010006256 0,000000000000

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?

5.3.3 Perkiraan pencarian garis

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

Gambar 5.2 Kondisi penurunan cukup Armijo–Goldstein

Xk.Ingat pendekatan deret Taylor linier terhadap fungsi tersebut:

F(Xk+δ)≈F(δ) :=F(Xk) +f'(Xk).

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

F(Xk+δ)≤F(Xk) +μδ f'(Xk), (5.3)

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.7 Pertimbangkan fungsinyaF(X) = (1/4)X4-X2+ 2X-1. Kami ingin


minimalkan fungsi ini menggunakan metode Newton. Verifikasi bahwa dimulai dari titik
yang dekat dengan 0 atau 1 dan menggunakan metode Newton, seseorang akan
memperoleh iterasi bergantian antara lingkungan dekat 0 dan 1 dan tidak pernah
konvergen. Terapkan metode Newton pada soal ini dengan kondisi Armijo–Goldstein dan
lacak mundur mulai dari titik 0. Gunakanμ= 0.5 dan rasio kemunduran 0,9.
Bereksperimenlah dengan nilai lain dariμ∈ (0,1) dan rasio kemunduran.

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.

5.4 Pengoptimalan tanpa batasan

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:

menitF(X),Di manaX= (X1, . . . ,XN).


Untuk mempermudah, kami akan membatasi diskusi kami pada masalah minimalisasi. Ide-ide ini
dapat dengan mudah diadaptasi untuk masalah maksimalisasi.
5.4 Pengoptimalan tanpa batasan 93

5.4.1 Penurunan paling curam

Metode numerik paling sederhana untuk mencari solusi minimalisasi didasarkan


pada gagasan penurunan grafik fungsiF.Ketika fungsinyaFdapat terdiferensiasi,
gradiennya selalu menunjuk ke arah kenaikan awal tercepat dan gradien negatif
adalah arah penurunan tercepat. Hal ini menunjukkan bahwa, jika perkiraan titik
minimalisasi kita saat ini adalahX∗, bergerak ke arah
− ∇F(X∗) diinginkan. Setelah kita memilih suatu arah, penentuan seberapa jauh kita harus bergerak
sepanjang arah tersebut ditentukan dengan menggunakan pencarian garis. Masalah pencarian garis
adalah masalah univariat yang dapat diselesaikan, mungkin dengan cara perkiraan, dengan
menggunakan metode pada bagian sebelumnya. Hal ini akan memberikan perkiraan baru mengenai
titik minimalisasi dan prosedur dapat diulangi.
Kami mengilustrasikan pendekatan ini dengan contoh berikut:

menitF(X) = (X1− 2)4+ pengalaman(X1− 2) + (X1− 2X2)2.

Langkah pertama adalah menghitung gradien fungsi, yaitu vektor dari


turunan parsial dari fungsi terhadap setiap variabel:
[ ]
4(X1− 2)3+ pengalaman(X1− 2) + 2(X1− 2X2)
∇F(X) = . (5.4)
− 4(X1− 2X2)

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α:

φ(α) :=F(X0+αD0) = {[0 + (44 + e−2)α] − 2}4+ pengalaman{[0 + (44 + e−2)α] − 2}


+ {[0 + (44 + e−2)α] − 2[3 − 24α]}2.

Sekarang, nilai optimal dariαdapat ditemukan dengan menyelesaikan masalah


minimalisasi satu dimensi minφ(α).
Minimalkan ini dapat dilakukan melalui salah satu prosedur pencarian garis numerik pada
bagian sebelumnya. Di sini kita menggunakan pendekatan pencarian garis perkiraan dengan
kondisi penurunan yang memadai seperti yang kita bahas di Bagian 5.3.3. Kami ingin
94 Pemrograman nonlinier: teori dan algoritma

untuk memilih ukuran langkah alpha yang memuaskan

φ(α)≤φ(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:

F(X0+αD0)≤F(X0) +μα∇F(X0)TD0. (5.5)

Kondisi (5.5) adalah versi multivariat dari kondisi Armijo–Goldstein (5.3).

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

Tabel 5.5Iterasi penurunan paling curam

( ) ( )
k X1k,Xk2 Dk1,Dk2 αk ‖∇F(Xk +
1)‖

0 (0,000, 3.000) (43.864, −24.000) 0,055 3.800


1 (2.412, 1.681) (0,112, −3,799) 0,168 2.891
2 (2.430, 1.043) (−2.544, 1.375) 0,134 1.511
3 (2.089, 1.228) (−0,362, −1,467) 0,210 1.523
4 (2.013, 0.920) (−1.358, 0.690) 0,168 1.163
5 (1.785, 1.036) (−0,193, −1,148) 0,210 1.188

... ... ... ... ...


20 (1.472, 0.736) (−0,001, 0,000) 0,134 0,001

1.6

1.4

1.2

0,8

0,6

0,4

0 0,5 1 1.5 2 2.5

Gambar 5.3 Perilaku zigzag pada pendekatan turunan paling curam

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:

F(δ) =F(Xk) +∇F(X)δ.


Penurunan tercepatFmulai dariXkdiperoleh ke arah penyelesaiannya
menitF(δ)
‖δ‖ ≤1.
96 Pemrograman nonlinier: teori dan algoritma

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.

5.4.2 Metode Newton


Ada beberapa teknik numerik untuk memodifikasi metode penurunan paling curam yang
mengurangi kecenderungan pendekatan zigzag, dan dengan demikian mempercepat
konvergensi. Metode penurunan paling curam menggunakan gradien fungsi tujuan, hanya
informasi orde pertama pada fungsi tersebut. Perbaikan dapat diharapkan dengan
menggunakan informasi orde kedua pada fungsi tersebut, yaitu dengan mempertimbangkan
kelengkungannya. Metode yang menggunakan informasi kelengkungan termasuk metode
Newton yang telah kita bahas pada pengaturan univariat. Di sini, kami menjelaskan generalisasi
metode ini untuk masalah multivariat.
Sekali lagi, kita mulai dengan versi metode penyelesaian persamaan. Kita akan melihat
kasus dimana terdapat beberapa persamaan yang melibatkan beberapa variabel:

F1(X1,X2, . . . ,XN) = 0
F2(X1,X2, . . . ,XN) = 0
(5.6)
.. .. ..
FN(X1,X2, . . . ,XN) = 0.

Mari kita nyatakan sistem ini sebagai

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(δ) :=F(Xk) +∇F(Xk)δ. (5.7)

Di atas,∇F(X) menunjukkanMatriks Jacobiandari fungsinyaF, yaitu,∇F(X) memiliki baris


(∇F1(X)) ,. . . ,(∇FN(X)) , gradien fungsi yang dialihkanF1melalui FN.Kami menunjukkan
komponen dariNvektor -dimensiXmenggunakan subskrip, yaitu,
5.4 Pengoptimalan tanpa batasan 97

X= (X1, . . . ,XN). Mari kita buat pernyataan ini lebih tepat:


⎡∂F1 ∂F1 ⎤
∂X1 ··· ∂XN
⎢ . . . . .. .. . ⎥⎦.
∇F(X1, . . . ,XN) =⎣
∂FN ∂FN
∂X1 ··· ∂XN

Seperti sebelumnya,F(δ) adalah pendekatan linier terhadap fungsi tersebutFoleh hyperplane


yang bersinggungan dengannya pada titik saat iniXk.Langkah selanjutnya adalah mencari nilaiδ
itu akan membuat perkiraannya sama dengan nol, yaitu nilai yang memenuhi:

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

kami mengamati bahwa matriks Jacobian∇F(X1,X2, . . . ,XN) tidak lain adalahGoni


matriks fungsiF:
⎡ ⎤
∂2F ∂2F
⎢∂X1∂X 1 ···
. ⎥⎥
∂X1∂XN

∇F(X1,X2, . . . ,XN) =⎢ ⎣ ...


... . . ⎦ =∇2F(X).
∂2F ∂2F
∂XN∂X1
··· ∂XN∂XN

Oleh karena itu, arah Newton di iterasiXkdiberikan oleh

δ= −∇2F(Xk)−1∇F(Xk) (5.8)

dan rumus pembaruan Newton adalah

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

menitF(X) = (X1− 2)4+ pengalaman(X1− 2) + (X1− 2X2)2

mulai dariX0= (0,3).


5.4 Pengoptimalan tanpa batasan 99

Tabel 5.6Iterasi Newton


( ) ( )
k X1k,Xk2 Dk1,Dk2 αk ‖∇F(Xk +
1)‖

0 (0,000, 3.000) (0,662, −2,669) 1.000 9.319


1 (0,662, 0,331) (0,429, 0,214) 1.000 2.606
2 (1,091, 0,545) (0,252, 0,126) 1.000 0,617
3 (1.343, 0.671) (0,108, 0,054) 1.000 0,084
4 (1.451, 0.726) (0,020, 0,010) 1.000 0,002
5 (1.471, 0.735) (0,001, 0,000) 1.000 0,000

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

0 0,5 1 1.5 2 2.5

Gambar 5.4 Konvergensi cepat metode Newton

5.5 Pengoptimalan terbatas


Sekarang kita beralih ke kasus yang lebih umum yaitu masalah optimasi nonlinier dengan batasan.
Secara khusus, kami mempertimbangkan masalah optimasi yang diberikan oleh fungsi tujuan
nonlinier dan/atau batasan nonlinier. Kita dapat merepresentasikan permasalahan tersebut dalam
bentuk umum berikut:

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:

Definisi 5.1Misalkan x adalah vektor yang memuaskan gSaya(X) = 0,Saya∈Edan gSaya(X)≥0,


Saya∈SAYA. MembiarkanJ⊂SAYAmenjadi himpunan indeks yang gSaya(X)≥0puas dengan
kesetaraan. Maka x adalah atitik regulerdari batasan (5.10) jika vektor gradien∇GSaya(X)
untuk saya∈E∪Jindependen linier.

Batasan yang sesuai dengan himpunanE∪Jdalam definisi di atas, yaitu


batasan yang kita milikiGSaya(X) = 0, disebutaktifkendala diX.
Kami membahas dua gagasan optimalitas di Bab 1,lokalDanglobal. Ingatlah bahwa solusi
optimal global untuk (5.10) adalah sebuah vektorX∗yang layak dan memuaskanF(X∗)≤ F(X) untuk
semua kemungkinanX. Sebaliknya, solusi optimal lokalX∗layak dan memuaskan F(X∗)≤F(X) untuk
semua kemungkinanXdi himpunan {X:‖X-X∗‖ ≤ε}untuk beberapa>0. Jadi, solusi lokal harus lebih
baik dari semua titik yang mungkin ada di lingkungan sekitar. Kondisi optimalitas yang kami
pertimbangkan di bawah ini hanya mengidentifikasi solusi lokal, yang mungkin merupakan
solusi global terhadap masalah tersebut. Untungnya, ada kelompok permasalahan penting
yang solusi lokal dan globalnya bertepatan, yaitu permasalahan optimasi cembung. Lihat
Lampiran A untuk pembahasan masalah konveksitas dan optimasi konveks.

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∈

E∪SAYAsemuanya merupakan fungsi terdiferensiasi dua kali secara kontinyu. Biarkan x∗


jadilah perkecil lokal dari masalah (5.10) dan asumsikan bahwa x∗adalah titik reguler
untuk kendala masalah ini. Lalu, ada λSaya, Saya∈E∪SAYAmemuaskan (5.12)–(5.14) serta
kondisi berikut:

∇2F(X∗) − λS2aya∇GSaya(X )∗ (5.15)
Saya∈E∪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

adalah semidefinit positif.


Kepuasan kondisi orde kedua yang diperlukan tidak selalu menjamin
optimalitas lokal dari vektor solusi tertentu. Kondisi yang cukup untuk
optimalitas lokal sedikit lebih ketat dan sedikit lebih rumit karena perlu
mempertimbangkan kemungkinannyadegenerasi.

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

GSaya(X∗) = 0,Saya∈SAYAmenyiratkan λSaya>0, (5.17)

Dan
( )


NT(X∗)∇2F(X∗) − λSaya∇2GSaya(X) N(X∗)adalah pasti positif, (5.18)
Saya∈E∪SAYA

lalu x∗adalah perkecil masalah secara lokal (5.10).

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.

Latihan 5.14Perhatikan masalah optimasi berikut:


menitF(X1,X2) = −X1-X2-X1X2+1X2 2
1+X2 2

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?

5.5.1 Metode gradien tereduksi yang digeneralisasi

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.

Batasan kesetaraan linier


Pertama kita perhatikan contoh dimana kendalanya adalah persamaan linear.

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

X2= 3X1+ 8X4− 8dan x3= −X1− 3X4+ 3.


Mengganti ekspresi ini ke dalam fungsi tujuan akan menghasilkan pengurangan
masalah berikut:

menitF(X1,X4) =X2 1+ (3X1+ 8X4− 8) + (−X1− 3X4+ 3)2+X4.

Masalah ini tidak dibatasi dan oleh karena itu dapat diselesaikan dengan menggunakan salah satu
metode yang disajikan pada Bagian 5.4.

Batasan kesetaraan nonlinier


Sekarang pertimbangkan kemungkinan untuk memperkirakan permasalahan yang kendalanya
berupa persamaan nonlinier dengan permasalahan yang memiliki persamaan linier. Untuk
melihat cara kerjanya, perhatikan contoh berikut, yang mirip dengan contoh sebelumnya tetapi
memiliki batasan nonlinier.

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:

menitF(X) =X2 1+X2+X2 3+X4


G1(X) =X2+ 4X3+ 4X4− 4 = 0 G2(X)
= −X1+X2+ 2X3+ 2 = 0.

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.

Memecahkan masalah minimalisasi yang tidak dibatasi ini membuahkan hasilX1=


−0.375,X4= 0.96875. Mengganti persamaan untukX2DanX3memberiX2= −4.875 dan X3=
1.25. Dengan demikian, iterasi pertama GRG telah menghasilkan poin baruX1= (−0.
375,-4.875,1.25,0.968 75).
Untuk melanjutkan proses penyelesaian, kita akan linierisasi ulang fungsi kendala pada titik yang
baru, gunakan sistem persamaan linear yang dihasilkan untuk menyatakan dua variabel dalam
bentuk variabel lainnya, substitusikan ke dalam tujuan untuk mendapatkan permasalahan baru yang
tereduksi, selesaikan pengurangan masalah untukX2, Dan seterusnya. Menggunakan kriteria berhenti
‖Xk+1-Xk‖<TDi manaT=0.0025, kita mendapatkan hasil yang dirangkum dalam Tabel 5.7.
Hal ini harus dibandingkan dengan solusi optimal, yaitu

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

Tabel 5.7Hasil yang diringkas


( )
k X1k,Xk2,Xk3,Xk4 F(Xk) ‖Xk+1-Xk‖

0 (0,000, −8,000, 3,000, 0,000) (− 1.000 3.729


1 0,375, −4,875, 1,250, 0,969) (− − 2.203 0,572
2 0,423, −5,134, 1,619, 0,620) (− − 1.714 0,353
3 0,458, −4,792, 1,537, 0,609) (− − 1.610 0,022
4 0,478, −4,802, 1,534, 0,610) (− − 1.611 0,015
5 0,488, −4,813, 1,534, 0,610) (− − 1.612 0,008
6 0,494, −4,818, 1,534, 0,610) (− − 1.612 0,004
7 0,497, −4,821, 1,534, 0,610) (− − 1.612 0,002
8 0,498, −4,823, 1,534, 0,610) − 1.612

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.

Batasan ketimpangan linier


Terakhir, kami membahas bagaimana GRG memecahkan permasalahan yang memiliki batasan
ketimpangan dan kesetaraan. Pada setiap iterasi, hanya batasan ketimpangan ketat yang masuk ke
dalam sistem persamaan linier yang digunakan untuk menghilangkan variabel (kendala ketimpangan
ini dikatakan sebagaiaktif). Proses ini diperumit oleh kenyataan bahwa kendala-kendala ketimpangan
yang aktif pada saat ini mungkin perlu dihilangkan agar dapat beralih ke solusi yang lebih baik. Kami
mengilustrasikan gagasan tersebut dengan contoh berikut:
( )2 ( )
5 2
menitF(X1,X2) =X 1-1
2
+ X2- 2
X1-X2≥0
X1≥0
X2≥0
X2≤2.
Himpunan masalah yang layak ditunjukkan pada Gambar 5.5. Panah pada gambar
menunjukkan setengah ruang layak yang ditentukan oleh setiap batasan. Misalkan
kita mulai dariX0= (1,0). Poin ini memenuhi semua batasan. Seperti dapat dilihat dari
Gambar 5.5,X1-X2≥0,X1≥0,DanX2≤2, tidak aktif, sedangkan kendala X2≥0 aktif. Kita
harus memutuskan apakahX2harus tetap pada batas bawahnya atau dibiarkan
meninggalkan batasnya. Pertama-tama kita mengevaluasi gradien fungsi tujuan
5.5 Pengoptimalan terbatas 107
GRGiterates
3

X2≤2
2
X1 ≥0

X2=(1.5, 1.5)
X2

1 Wilayah yang layak


X1=(0,833, 0,833)

X1-X 2
≥0

X0=(1, 0)
0 X2 ≥0
0 1 2 3
X1

Gambar 5.5 Kemajuan algoritma gradien tereduksi yang digeneralisasi

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

∇F(X2,X3) = (2X2+ 2X3− 1 + 2X2− 5,2X2+ 2X3− 1)


= (−2.667,0.667) di titik (X2,X3)1= (0.8333,0).
108 Pemrograman nonlinier: teori dan algoritma

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

∇F(X2,X3) = (0,2) di titik (X2,X3)2= (1.5,0)

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.

Latihan 5.15Perhatikan masalah optimasi berikut:


menitF(X1,X2) = −X1-X2-X1X2+1X2 2
1+X2 2

stX1+X2 2≤3

X12-X2= 3
(X1,X2)≥0.
Temukan solusi untuk masalah ini menggunakan pendekatan gradien tereduksi yang digeneralisasi.

5.5.2 Pemrograman kuadrat berurutan

Pertimbangkan masalah optimasi nonlinier umum:

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

titik yang layakXk,masalah (5.20) didekati dengan program kuadrat:


perkiraan kuadrat dari fungsi Lagrangian dihitung serta perkiraan linier
dari batasannya. Program kuadrat yang dihasilkan berbentuk

menit∇F(Xk)T(X-Xk) +1(X-2Xk)TB k(X-Xk)

∇GSaya(Xk)T(X-Xk) +GSaya(Xk) =0 ∇G untuk semuaSaya∈E, (5.21)


Saya(Xk)T(X-Xk) +GSaya(Xk)≥0 untuk semuaSaya∈SAYA,

Di mana

Bk=∇2 xxL(Xk, λk)

adalah Hessian dari fungsi Lagrangian (5.11) terhadapXvariabel dan λk


adalah perkiraan pengganda Lagrange saat ini.
Masalah ini dapat diselesaikan dengan salah satu algoritma khusus untuk masalah
pemrograman kuadrat seperti metode titik interior yang kita bahas di Bab 7. Solusi
optimal dari program kuadrat digunakan untuk menentukan arah pencarian. Kemudian
prosedur pencarian garis atau wilayah kepercayaan dilakukan untuk menentukan iterasi
berikutnya.
Mungkin cara terbaik untuk memikirkan pemrograman kuadrat sekuensial adalah
sebagai perpanjangan dari versi optimasi metode Newton untuk masalah-masalah yang
dibatasi. Ingatlah bahwa versi optimasi metode Newton menggunakan pendekatan
kuadrat terhadap fungsi tujuan dan mendefinisikan minimalisasi pendekatan ini sebagai
iterasi berikutnya, seperti yang kami jelaskan untuk metode SQP. Memang benar, untuk
permasalahan yang tidak dibatasi, SQP identik dengan metode Newton. Untuk masalah
yang dibatasi, kondisi optimalitas untuk masalah kuadrat yang kita selesaikan di SQP
sesuai dengan arah Newton untuk kondisi optimal dari masalah awal pada iterasi saat ini.

Pemrograman kuadrat sekuensial melakukan iterasi hingga solusinya konvergen.


Sama seperti metode Newton, pendekatan SQP sangat ampuh, terutama jika dilengkapi
dengan metodologi pencarian garis atau wilayah kepercayaan untuk menavigasi nonlinier
dan nonkonveksitas. Kami merujuk pembaca ke survei Boggs dan Tolle [16] dan teks oleh
Nocedal dan Wright [61] untuk rincian lebih lanjut tentang pendekatan pemrograman
kuadratik sekuensial.

Latihan 5.16Pertimbangkan masalah optimasi nonlinier berikut dengan batasan


kesetaraan:

menitF(X) = X12+X2+X2 3+X4


G1(X) = X12+X2+ 4X3+ 4X4− 4 = 0
G2(X) = −X1+X2+ 2X3− 2X2 4+ 2 = 0.
110 Pemrograman nonlinier: teori dan algoritma

Fungsi dan subgradien tidak mulus sederhana


3

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

Gambar 5.6 Subgradien memberikan perkiraan fungsi yang terlalu rendah

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.

5.6 Optimasi tidak mulus: metode subgradien


Pada bagian ini, kami mempertimbangkan bentuk program nonlinier tak terbatas

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

S∗(X-X∗)≤F(X) −F(X∗) untuk setiapX.


Ketika fungsinyaFdapat terdiferensiasi, subgradiennya identik dengan gradien. KapanF
tidak dapat dibedakan pada suatu titikX, biasanya terdapat banyak subgradien diX.
Misalnya, perhatikan fungsi cembung dari satu variabel

F(X) = maks{1 −x, x-1} = |X-1|.


Seperti terlihat pada Gambar 5.6, fungsi ini tidak dapat dibedakan pada titiknyaX=1 dan mudah
untuk memverifikasi vektor apa punSsedemikian rupa sehingga −1≤S≤1 adalah subgradien dari
F pada titikX=1. Beberapa subgradien ini dan perkiraan liniernya ditentukan
5.6 Optimasi tidak lancar 111

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:

1.Inisialisasi:Mulai dari titik mana punX0. MengaturSaya=0.


2.PengulanganSaya:Hitung subgradienSSayadariFpada titikXSaya.JikaSSayaadalah 0 atau mendekati 0, berhenti. Kalau
tidak, biarkan sajaXSaya+1=XSaya-αSayaSSaya,Di manaαSaya>0 menunjukkan ukuran langkah, dan melakukan iterasi
berikutnya.

Beberapa pilihan ukuran langkahαSayatelah diusulkan dalam literatur. Ke


menjamin konvergensi ke optimal, ukuran langkahαSayaperlu dikurangi

sangat lambat (misalnya,αSaya→0 seperti itu SayaαSaya= +∞akan melakukan). Tapi lambat
penurunanαSayamenghasilkan konvergensi yang lambatXSayasecara optimal. Dalam praktiknya, untuk
mendapatkan konvergensi yang cepat, pilihan berikut ini populer: mulai dariα0= 2 dan kemudian
kurangi separuh ukuran langkah jika tidak ada peningkatan pada nilai objektifF(XSaya)diamati untukk
iterasi berturut-turut (k=7 atau 8 sering digunakan). Pilihan ini sangat cocok ketika seseorang ingin
mendekati titik optimum dengan cepat dan ketika menemukan titik optimal yang tepat tidaklah
penting (ini adalah kasus dalam aplikasi pemrograman bilangan bulat di mana optimasi subgradien
digunakan untuk mendapatkan batas cepat dalam algoritma cabang-dan-terikat) . Dengan mengingat
hal ini, kriteria penghentian yang sering digunakan dalam praktik adalah jumlah maksimum iterasi
(katakanlah 200) dan bukan “SSayaadalah 0 atau mendekati 0.”
Kita akan melihat di Bab 12 bagaimana optimasi subgradien digunakan dalam model untuk
membangun dana indeks.

Anda mungkin juga menyukai