Upload
vuhanh
View
245
Download
0
Embed Size (px)
Citation preview
ANALISIS ALGORITMA METODE CONJUGATE GRADIENT DAN - STEEPEST DESCENT
Sunjana
Jurusan Sistem Infonnasi Fakultas Teknik Universitas Widyatama Jalan Cikutra 204 A kp40125
sunjana(a)widyatamaacid
Abstrak
-Eada paper ini dibahas mengenai algoritma COnjugate Gradient Mehod dan Steepest Descent-Method Kedua algoritma ini merupakan algoritma iteratif unuk menyelesaikan permasalahan sistem persamaan linier Dari hasil uji coba terhadap beberapa kasus data terlihat bahwa algoritma Conjugate Gradient Method jauh lebih ejisien dibanding dengan algoritma Steepest Descent Method
Kata kunci Conjugate Gradient Method Steepest Descent Method
1 Pendahuluan
Metode gradient konyugasi (Conjugate Gradient (CG) ) adalah metode iteratif yang sangat popular Wltuk memecahkan permasalahan sistem linier berskala besar Pada umumnya CG dapat dinyatakan sebagai metode langsWlg (direct method) atau metode iteratif (iteratif method) Akan tetapi biasanya CG digWlakan sebagai metode iteratif supaya dapat diaplikasikan pada sistem jarang (sparse sistem) yang terlalu besar jika dipecahkan dengan metode langsWlg
Dalam artikel ini say a akan membahas efesiensi dan kemampuan CG dan membandingkannya dengan Steepest Descent Method Saya akan mengimplementasikan dan menganalis CG dengan menggunakan programshycomputer
Pada bagian-bagian selanjufuya akan dibahas ide utama dan algontma CG akan dibahas pada bagian 2 implementasinya akan dijelaskan pada bagian 3 anal-isa algoritma akan dibahas pada bagian 4 dan kesimpulan akan dibahas dibagian 5
2 MetodeGradien Konyugasi(Conjugate Gradient)
Misalkan kita ingin menyelesaikan sistem persamaan linier beikut
Ax = b (I)
A adalah matrik n x n simetrik (A = AT)
positive-definite (yT Ay gt 0-) untuk vektor-vektor
Rntidak nol y dalam dan matrik nil x adalah
vektor yang tidak diketahui dalam Rn dan b adalah
vektor yang diketahu dalam Rn
Dengan menggWlakan metode iteratif CG kita akan
menggunakan nilai terlcaan awal Xo untuk mencari
solusi sistem persamaan linier x Sebagai nilai
awal kita gunakan Xo = O Kemudian kita
melakukan pengukuran seberapa dekat solusi
xmiddot yang kita dapatkan Berdasarkan kepada penjelasan Shewchuk[ I] diberikan sebuah fungsi kuadrat
1 Tf(x)=-x Ax-bx (2)
2 dimana A adalah sebuah matrik x dan b adalah vektor jika A adalah simetrik dan positive-defmite
f(x) diminimasi dengan solusi dari Ax = b Misalkan gradien dan persamaan (2) pada titik
Xo adalah do
Vf(x) = Ax-b (3)
Sekarang kita definisikan sebagai residual pada r k
langkah ke-k
rk =b-Axk (4)
Dikarenakan sarna dengan gradien negatif dari f rk
pada xk CG akan bergerak dalam arah rk Tetapi
sebagai ganti dari arah rk yang juga dinamakan
metode Steepest Descent (SD) CG juga menuntut
225
babwa arab dk adalah
lainnya sehingga arab konyugalti dan
dekat dengan residual rk+J
Persarnaan lengkap metode (Conjugate Gradient) adalah
do ro b Axo
Xi+l Xi + aidi
ri+l == r i aiAdi
T ri ri
d i+l + f3i+l d j
3 Implementasi
akan
pseudocodes yang dijelaskan oleh Shewchuk [1] pada bagian ini saya akan bahas implemenasi dua algoritma berikut
a) Metode Steepest Descent Metode Conjugate Gradient
31 Metode Steepest Descent
Berikut koding dalam bahasa Matlab
function [xi]
i max epsilon
Descent(Ab) 107
10-5 x ~ zeros(size(b)) i Or b Ax delta = r r delta 0 delta while (i lt i max) ampamp (delta epsilon2 0)
i i + 1 q Ari
delta I xold x x = x + r if mod(i50)
r b Ax else
r = r end deLta rr
(r
o
if size(AI) == 2 ([xold(l) x (1)] [xold(2) IX
(2)1-bo nevhdth(2)
end end
end
32 Metode Conjugate Gradient
Benkut adalah CG
dalam bahasa Matlab untuk
function [xi eGradients(Ab)
i max 10 7 epsilon 10-5 x = zeros(size(b)) i Or b - Axd r delta = rr delta 0 delta while Ii lt i max) ampamp (delta gt
q i + 1 Ad
0)
delta I (d xold x x = x + if mod(i50)
r b else
= r end
o Ax
delta delta
r r beta delta I d = r + betakd if size(Al) 2
q
( (l)x(l)] [xold(2)x( 2)] bull-r+ I Linevhdth 2)
end end
end
4 Analisa Numerik
Untuk analisa numerik saya akan contoh kasus yang ada dalam paper Schewchuk
berikut
~lb [~8] Dengan menggunakan kedua koding dan cfiatas sebagai inputan saya dapatkan
data
seperti pada abel dibawah ini Tabel 1 Hasi 1m lementasl kedua
---~-=--~
Steepest Descent 39
2000 ] 2000
Terlihat pada tabel 1 efisiensi antara SD dan eG Untuk uji lanjutan saya mencoba
ukuran matrik yang lebih besar dan hasilnya diperlihatkan pada tabel 2
Tabel 2 Hasil perbandingan antara algoritma SD shydan CG
Okura n A (n)
J umlah Iterasi Steepest Descent Conjugate Gradient Baik Buruk Ratashy
rata Bai k
Buru k
Rata -rata
2x2 5 465 93 2 2 2 4x4 96 17666 4373 4 4 4 6x6 595 -2306344 395070 6 6 6
1
8X8 2359 0
10000000( )
50975 07
8 9 88
IOxlO 3635 0
10000000( )
75204 __ 34
_11 12 116
5 Kesimpulao Dao Saran
Metode Conjugate Gradient merupakan algoritma yang cukup luas digunakan untuk menyelesai)ltan sistem persamaan linier Terlihat dari percobaanmiddot bahwa hasil yang diperoleh dengan algoritma Conjugate Gradient jauh lebih efisien dibanding dengan algoritma Steepest Decent
Conjugate -Gradient hanya dapat digunakan untuk masalah yang sirnetrik dan matrik positiveshydefinite
Perlu pengembangan lebm lanjut dari algoritrna ini untuk mengatasi keterbatasan diatas
Daftar Pustaka
[I] Jonathan Richard SchewchukAn Introduction to the Conjugate Gradient Method Without the Agonizing Pain August 4 1994
[2] Magnis R Hestenes Eduard StiefelMethods of Conjugate Gradients for Solving Linier Sistem Journal of Research of the National Bureau of Standards Vol 49 No6 December 1952
[3] John K ReidOn the Method of Conjugate Gradient for the Solution of Large Sparse Sistem ofLinier Equations Large Sparse Sets
of Linear Equations (London and New York) Academic Press London anP New York 1971pp23 1-254
[4] RFletcherConjugate gradient methods for indefinite sistem Numerical Analysis Lecture Note in Mathematics Springer BeriinlHeidelberg VoL506p73-891976
227
babwa arab dk adalah
lainnya sehingga arab konyugalti dan
dekat dengan residual rk+J
Persarnaan lengkap metode (Conjugate Gradient) adalah
do ro b Axo
Xi+l Xi + aidi
ri+l == r i aiAdi
T ri ri
d i+l + f3i+l d j
3 Implementasi
akan
pseudocodes yang dijelaskan oleh Shewchuk [1] pada bagian ini saya akan bahas implemenasi dua algoritma berikut
a) Metode Steepest Descent Metode Conjugate Gradient
31 Metode Steepest Descent
Berikut koding dalam bahasa Matlab
function [xi]
i max epsilon
Descent(Ab) 107
10-5 x ~ zeros(size(b)) i Or b Ax delta = r r delta 0 delta while (i lt i max) ampamp (delta epsilon2 0)
i i + 1 q Ari
delta I xold x x = x + r if mod(i50)
r b Ax else
r = r end deLta rr
(r
o
if size(AI) == 2 ([xold(l) x (1)] [xold(2) IX
(2)1-bo nevhdth(2)
end end
end
32 Metode Conjugate Gradient
Benkut adalah CG
dalam bahasa Matlab untuk
function [xi eGradients(Ab)
i max 10 7 epsilon 10-5 x = zeros(size(b)) i Or b - Axd r delta = rr delta 0 delta while Ii lt i max) ampamp (delta gt
q i + 1 Ad
0)
delta I (d xold x x = x + if mod(i50)
r b else
= r end
o Ax
delta delta
r r beta delta I d = r + betakd if size(Al) 2
q
( (l)x(l)] [xold(2)x( 2)] bull-r+ I Linevhdth 2)
end end
end
4 Analisa Numerik
Untuk analisa numerik saya akan contoh kasus yang ada dalam paper Schewchuk
berikut
~lb [~8] Dengan menggunakan kedua koding dan cfiatas sebagai inputan saya dapatkan
data
seperti pada abel dibawah ini Tabel 1 Hasi 1m lementasl kedua
---~-=--~
Steepest Descent 39
2000 ] 2000
Terlihat pada tabel 1 efisiensi antara SD dan eG Untuk uji lanjutan saya mencoba
ukuran matrik yang lebih besar dan hasilnya diperlihatkan pada tabel 2
Tabel 2 Hasil perbandingan antara algoritma SD shydan CG
Okura n A (n)
J umlah Iterasi Steepest Descent Conjugate Gradient Baik Buruk Ratashy
rata Bai k
Buru k
Rata -rata
2x2 5 465 93 2 2 2 4x4 96 17666 4373 4 4 4 6x6 595 -2306344 395070 6 6 6
1
8X8 2359 0
10000000( )
50975 07
8 9 88
IOxlO 3635 0
10000000( )
75204 __ 34
_11 12 116
5 Kesimpulao Dao Saran
Metode Conjugate Gradient merupakan algoritma yang cukup luas digunakan untuk menyelesai)ltan sistem persamaan linier Terlihat dari percobaanmiddot bahwa hasil yang diperoleh dengan algoritma Conjugate Gradient jauh lebih efisien dibanding dengan algoritma Steepest Decent
Conjugate -Gradient hanya dapat digunakan untuk masalah yang sirnetrik dan matrik positiveshydefinite
Perlu pengembangan lebm lanjut dari algoritrna ini untuk mengatasi keterbatasan diatas
Daftar Pustaka
[I] Jonathan Richard SchewchukAn Introduction to the Conjugate Gradient Method Without the Agonizing Pain August 4 1994
[2] Magnis R Hestenes Eduard StiefelMethods of Conjugate Gradients for Solving Linier Sistem Journal of Research of the National Bureau of Standards Vol 49 No6 December 1952
[3] John K ReidOn the Method of Conjugate Gradient for the Solution of Large Sparse Sistem ofLinier Equations Large Sparse Sets
of Linear Equations (London and New York) Academic Press London anP New York 1971pp23 1-254
[4] RFletcherConjugate gradient methods for indefinite sistem Numerical Analysis Lecture Note in Mathematics Springer BeriinlHeidelberg VoL506p73-891976
227
Tabel 2 Hasil perbandingan antara algoritma SD shydan CG
Okura n A (n)
J umlah Iterasi Steepest Descent Conjugate Gradient Baik Buruk Ratashy
rata Bai k
Buru k
Rata -rata
2x2 5 465 93 2 2 2 4x4 96 17666 4373 4 4 4 6x6 595 -2306344 395070 6 6 6
1
8X8 2359 0
10000000( )
50975 07
8 9 88
IOxlO 3635 0
10000000( )
75204 __ 34
_11 12 116
5 Kesimpulao Dao Saran
Metode Conjugate Gradient merupakan algoritma yang cukup luas digunakan untuk menyelesai)ltan sistem persamaan linier Terlihat dari percobaanmiddot bahwa hasil yang diperoleh dengan algoritma Conjugate Gradient jauh lebih efisien dibanding dengan algoritma Steepest Decent
Conjugate -Gradient hanya dapat digunakan untuk masalah yang sirnetrik dan matrik positiveshydefinite
Perlu pengembangan lebm lanjut dari algoritrna ini untuk mengatasi keterbatasan diatas
Daftar Pustaka
[I] Jonathan Richard SchewchukAn Introduction to the Conjugate Gradient Method Without the Agonizing Pain August 4 1994
[2] Magnis R Hestenes Eduard StiefelMethods of Conjugate Gradients for Solving Linier Sistem Journal of Research of the National Bureau of Standards Vol 49 No6 December 1952
[3] John K ReidOn the Method of Conjugate Gradient for the Solution of Large Sparse Sistem ofLinier Equations Large Sparse Sets
of Linear Equations (London and New York) Academic Press London anP New York 1971pp23 1-254
[4] RFletcherConjugate gradient methods for indefinite sistem Numerical Analysis Lecture Note in Mathematics Springer BeriinlHeidelberg VoL506p73-891976
227