METODE MULTIGRID UNTUK MENYELESAIKAN PERSAMAAN POISSON DUA DIMENSI DENGAN
METODE BEDA HINGGA
M. Taufik1∗, Syamsudhuha2, Zulkarnain2 1 Mahasiswa Program Studi S1 Matematika
2 Dosen Jurusan Matematika
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Riau Kampus Binawidya Pekanbaru (28293), Indonesia
ABSTRACT
This article discusses the application of multigrid method to solve systems of linear equations obtained from two-dimensional Poisson equation in the discretization by finite difference method. This multigrid method is used another iteration method, that is the method of Gauss-Seidel iteration which acts as a smoothing operator. Keywords: System of linear equation, finite difference method, Gauss-Seidel method,
multigrid method
ABSTRAK
Artikel ini membahas penerapan metode multigrid untuk menyelesaikan sistem persamaan linear yang diperoleh dari persamaan Poisson dua dimensi yang didiskri-tisasi dengan metode beda hingga (finite difference). Dalam metode multigrid ini digunakan metode iterasi lainnya yaitu metode iterasi Gauss-Seidel yang berperan sebagai operator penghalusan.
Kata kunci: Sistem persamaan linear, metode beda hingga, metode Gauss-Seidel,
metode multigrid
1. PENDAHULUAN
Metode multigrid adalah salah satu metode iterasi yang digunakan untuk menyele-saikan sistem persamaan linear. Braess [3] menuliskan tentang sejarah metode ini, bahwa multigrid ditemukan pertama kali oleh Fedorenko yang merumuskan metode dua grid pada tahun 1961, kemudian berikutnya adalah metode multigrid pada tahun 1964. Bachvalov [2] kemudian mempelajarinya untuk persamaan diferensial. Brandt [4] menyatakan bahwa metode multigrid sangat baik sekali dibandingakan dengan metode iterasi lainnya, seperti metode Jacobi, metode Gauss-Saidel, metode
Kriteria sebuah metode iterasi dikatakan baik yaitu jika kekonvergenan dapat dengan cepat diperoleh dan error yang dihasilkan cukup kecil. Menurut Jespersen [7], metode multigrid dapat memenuhi itu semua, disamping masih terdapat satu lagi kelebihannya, yaitu mampu menyelesaikan sistem persamaan linear yang ukurannya besar.
Dalam artikel ini, sistem persamaan linear yang akan diselesaikan berasal dari persamaan Poisson dua dimensi,
∂2u ∂x2(x, y) + ∂2u ∂y2(x, y) =−2 [ (1− 6x2)y2(1− y2) + (1− 6y2)x2(1− x2) ] , (1)
dalam domain segiempat R = [(x, y)|0 < x < 1, 0 < y < 1] dengan syarat batas
u(0, yj) = u(1, yj) = u(xi, 0) = u(xi, 1) = 0, i, j = 0, 1, 2,· · · , N.
Solusi eksak dari persamaan (1) adalah
u(x, y) = (x2− x4)(y4− y2). (2)
Persamaan Poisson tersebut didiskritisasi dengan metode beda hingga (finite
difference) yang menghasilkan sistem persamaan linear
Au = f. (3)
Matriks koefisien pada sistem persamaan linear tersebut memiliki struktur yang khas berupa matriks tridiagonal yang akan mempermudah pengerjaan metode multi-grid ini. Ini yang menjadi alasan sistem persamaan linear yang diambil berasal dari diskritisasi persamaan Poisson dua dimensi.
Salah satu yang mempunyai peranan dalam memperoleh solusi pendekatan yang baik adalah metode iterasi yang digunakan sebagai operator penghalusan. Kualitas dari operator tersebut menentukan kualitas solusi pendekatan dari metode multigrid secara keseluruhan. Pada artikel ini, metode iterasi yang digunakan sebagai operator penghalusan adalah metode iterasi Gauss-Saidel.
2. ALJABAR LINEAR DAN METODE BEDA HINGGA
Definisi 1 (Sistem Persamaan Linear) [1, h. 1] Bentuk persamaan ∑nj=1ajuj = f
disebut persamaan linear dimana aj dan f adalah konstanta dan uj variabel yang
tidak diketahui nilainya.
Sekumpulan nilai dari uj disebut solusi dari persamaan linear apabila nilai-nilai
dari uj memenuhi
∑n
j=1ajuj = f .
Selanjutnya perhatikan susunan m buah persamaan linear dengan n buah variabel yang tidak diketahui berikut:
a11u1 +a12u2 +· · · +a1nun = f1 a21u1 +a22u2 +· · · +a2nun = f2 .. . = ... am1u1 +am2u2 +· · · +amnun= fm,          (4)
sistem persamaan linear (4) dapat ditulis: m ∑ i=1 n ∑ j=1 ai,juj = fi,
atau jika ditulis dalam bentuk matriks Au = f menjadi:
A =      a11 a12 · · · a1n a21 a22 · · · a2n .. . ... . .. ... am1 am2 · · · amn     , u =      u1 u2 .. . un      dan f =      f1 f2 .. . fm     .
Matriks A disebut matriks koefisien berukuran m×n, u dan f merupakan vektor-vektor kolom n× 1 dan m × 1.
Teorema 2 (Teorema Taylor Dua Variabel)[9, h. 577] Misalkan f (x, y)
terdiferen-sialkan secara kontinu hingga orde n + 1 untuk semua (x, y) di lingkungan
D = {(x0, y0)}. Maka untuk setiap (x, y) ∈ D terdapat titik (r, s) pada segmen
garis yang menghubungkan titik (x, y) dan (x0, y0) dengan
f (x, y) =f (x0, y0) + [ (x− x0) ∂f (x0, y0) ∂x + (y− y0) ∂f (x0, y0) ∂y ] + [ (x− x0)2 2 ∂2f (x 0, y0) ∂x2 + (x− x0)(y− y0) ∂f (x0, y0) ∂x∂y +(y− y0) 2 2 ∂2f (x0, y0) ∂y2 ] +· · · + [ 1 n! n ∑ i=0 ( n i ) (x− x0)n−i(y− y0)i ∂nf (x 0, y0) ∂xn−z∂yz ] + 1 (n + 1)! [∑n+1 i=0 ( n + 1 i ) (x− x0)n+1−i(y− y0)i ∂n+1f (r, s) ∂xn+1−i∂yi ] r=x0+τ(x−x0) s=y0+τ(y−y0) untuk semua 0≤ τ(x, y) ≤ 1.
Bukti: Dapat dilihat pada [9, h. 577].
Pencarian solusi persamaan diferensial melalui pendekatan numerik dilakukan dengan memanfaatkan polinomial Taylor sehingga taksiran central difference turunan kedua berordo O(h2) pada langkah ke i dalam x dan y konstan untuk
u(xi+ h, yj) disekitar u(xi, yj) diperoleh sebagai berikut:
∂2u
∂x2(xi, yj)≈
u(xi− h, yj)− 2u(xi, yj) + u(xi+ h, yj)
h2 . (5)
Selanjutnya pada langkah ke j dalam y dengan x konstan maka untuk u(xi, yj+h)
disekitar u(xi, yj) diperoleh sebagai berikut:
∂2u
∂y2(xi, yj)≈
u(xi, yj − h) − 2u(xi, yj) + u(xi, yj+ h)
Untuk menyelesaikan persamaan Poisson dengan metode beda hingga (finite
difference) seperti persamaan (1), subtitusikan persamaan (5) dan (6) ke persamaan
(1) sehingga diperoleh ( vi−1,j − 2vi,j+ vi+1,j h2 ) + (
vi,j−1− 2vi,j+ vi,j+1
h2
)
=−fi,j,
atau
4vi,j− (vi+1,j + vi−1,j)− (vi,j+1+ vi,j−1)
h2 = fi,j, (7)
dengan vi,j = u(xi, yj), fi,j = f (xi, yj), vi,0 = vi,N = v0,j = vN,j = 0, dan
0 ≤ i, j ≤ N. Persamaan (7) merupakan persamaan metode beda hingga (finite
difference) untuk menyelesaikan persamaan Poisson.
Pandanglah sistem persamaan linear Av = f dengan matriks A adalah matriks tak singular dan semua elemen diagonalnya tidak ada yang nol. Matriks A dipisahkan menjadi
A = D− L − U,
dengan D adalah matriks diagonal, L adalah matriks segitiga bawah dan U adalah matriks segitiga atas sehingga sistem persamaan linear Av = f dapat ditulis
(D− L − U)v = f atau (D − L)v − Uv = f, (8)
proses iterasi untuk persamaan (8) dinyatakan dengan
(D− L)v(k)= U v(k−1)+ f atau v(k)= (D− L)−1U v(k−1)+ (D− L)−1f, (9) (D− L)−1U dinamakan matriks Gauss-Seidel.
Persamaan (9) dijabarkan dengan seluruh elemen matriksnya, sehingga diperoleh bentuk umum metode Gauss-Seidel sebagai berikut:
vi(k)= 1 aii [ − i−1 ∑ j=1 aijv (k) j − n ∑ j=i+1 aijv (k−1) j + fi ] , i = 1, 2,· · · , n.
Adapun algoritma metode Gauss-Seidel adalah sebagai berikut:
Algoritma 1 Algoritma Metode Gauss-Seidel
INPUT : Elemen matriks A, Elemen vektor f, nilai awal v0, dan jumlah iterasi k
OUTPUT : Nilai vektor v sebagai solusi hampiran dari persamaan Av = f Hitung D = diag(diag(A)); U = -(triu(A)− D); dan L = -(tril(A)− D)
for i = 0 to k do
v(k) = (D− L)−1U v(k−1)+ (D− L)−1f end for
3. METODE MULTIGRID UNTUK MENYELESAIKAN PERSAMAAN POISSON DUA DIMENSI DENGAN
METODE BEDA HINGGA
Definisi 3 (Grid Halus)[8, h. 8] Perhitungan grid dinyatakan sebagai berikut:
Ωh = { (xi, yj)∈ R : xi = ih; yj = jh; i, j = 0, 1, 2,· · · , N; h = 1 N } ,
grid ini juga dinamakan grid halus dan v(xi, yj) dinamakan titik grid.
Definisi 4 (Grid Kasar)[8, h. 8] Perhitungan grid kasar dinyatakan sebagai berikut: Ω2h= { (xi, yj)∈ R : xi = 2ih; yj = 2ih; i, j = 0, 1, 2,· · · , N 2; h = 1 N } .
Definisi 5 (Restriksi)[5, h. 36] Operator restriksi Ih2h : Ωh → Ω2h dinyatakan sebagai berikut: v2h= Ih2hvh, dengan v2h ij = 1 16 [ vh 2i−1,2j−1+ v2ih−1,2j+1+ vh2i+1,2j−1+ v2i+1,2j+1h
+2(v2i,2jh −1+ v2i,2j+1h + v2ih−1,2j + vh2i+1,2j) +4vh
2i,2j
]
, 1≤ i, j ≤ N 2 − 1.
Definisi 6 (Prolongasi)[5, h. 35] Operator prolongasi I2hh : Ω2h → Ωh dinyatakan sebagai berikut: vh = I2hh v2h, dengan vh 2i,2j = vij2h vh 2i+1,2j = 1 2(v 2h ij + v2hi+1,j) vh 2i,2j+1 = 1 2(v 2h ij + v2hi,j+1) vh2i+1,2j+1 = 1 4(v 2h
ij + v2hi+1,j+ vi,j+12h + vi+1,j+12h ), 0≤ i, j ≤
N
2 − 1.
Algoritma untuk metode dua grid dan metode multigrid disajikan pada Algoritma 2 dan 3 berikut:
Algoritma 2 Algoritma Dua Grid: vh ← T W OGRID(Ah, vh, fh)
INPUT : Elemen matriks A, Elemen vektor f, nilai awal v0, dan jumlah iterasi k
OUTPUT : Nilai vektor v sebagai solusi pendekatan dari persamaan Av = f 1. Selesaikan Ahuh = fh
pada Ωh menggunakan iterasi Gauss-Seidel sebanyak
k iterasi dengan tebakan awal vh0 sembarang sehingga diperoleh vh. 2. Hitung residu rh = fh− Ahvh.
3. Hitung r2h = I2h
h rh. (restriksi rh)
4. Selesaikan A2he2h = r2h pada Ω2h menggunakan iterasi Gauss-Seidel se-banyak n iterasi dengan tebakan awal e2h
0 = 0 diperoleh solusi e2h.
5. Hitung eh = I2hh e2h. (prolongasi e2h) 6. Update vh ← vh+ eh.
7. Selesaikan Ahuh = fh
pada Ωh menggunakan iterasi Gauss-Seidel sebanyak
k iterasi dengan tebakan awal vh sembarang sehingga diperoleh vh.
Algoritma 3 Algoritma Multigrid V-cycle: vh ← MGV (Ah, vh, fh)
INPUT : Elemen matriks A, Elemen vektor f, nilai awal v0, dan jumlah iterasi k
OUTPUT : Nilai vektor v sebagai solusi pendekatan dari persamaan Au = f 1. Selesaikan Ahuh = fh pada Ωh menggunakan iterasi Gauss-Seidel sebanyak
k iterasi dengan tebakan awal vh.
2. if Ωh grid terkasar then lanjut ke langkah (4). else f2h ← Ih2h(fh− Ahvh), v2h← 0, v2h← MGV (A2h, v2h, f2h ). endif 3. Update vh = vh+ I2 2hv2h. 4. Selesaikan Ahuh = fh
pada Ωh menggunakan iterasi Gauss-Seidel sebanyak
4. UJI KOMPUTASI
Pada bagian ini akan ditentukan solusi pendekatan dari sistem persamaan linear seperti persamaan (3) yang diperoleh dari diskritisasi persamaan Poisson dua dimensi seperti persamaan (1) dengan solusi eksak seperti persamaan (2) menggu-nakan metode beda hingga (finite difference) untuk N = 4, 8, 16 dan 32, tebakan awal v0 = 0 dan nilai toleransi 1e−6.
Solusi hampiran sistem persamaan linear tersebut diselesaikan dengan 3 metode iterasi, yaitu metode Gauss-Seidel dengan Algoritma 1, metode dua grid dengan Algoritma 2 dan metode multigrid dengan Algoritma 3 menggunakan Notebook dengan Intel Core i3 Processor dan RAM 2048 MB dengan program Matlab 8.1 R2013a. Hasil perhitungan dari ketiga metode tersebut disajikan pada Tabel 1.
Tabel 1: Hasil Komputasi Metode Gauss-Seidel, Dua Grid dan Multigrid
N Ukuran Gauss-Seidel Dua Grid Multigrid
Matriks A k ∥e∥∞ t (s) k ∥e∥∞ t (s) k ∥e∥∞ t (s)
4 9× 9 17 5.656e-07 0.077 6 2.705e-07 0.138 6 2.705e-07 0.094
8 49× 49 58 9.634e-07 0.069 16 7.507e-07 0.094 10 5.920e-07 0.123
16 225× 225 195 9.656e-07 0.716 50 8.535e-07 0.468 14 8.805e-07 0.224
32 961× 961 628 9.917e-07 76.582 162 9.577e-07 40.902 20 6.452e-07 5.530
Pada Tabel 1 dapat dilihat bahwa metode multigrid lebih cepat memperoleh solusi dibandingkan dengan metode dua grid dan metode Gauss-Seidel baik untuk
N = 4, 8, 16 maupun 32. Hal ini dapat terlihat jelas untuk N = 32 pada iterasi ke-20
metode multigrid telah memperoleh solusi, sedangkan metode dua grid memperoleh solusi pada iterasi ke-162 dan metode Gauss-Seidel pada iterasi ke-628. Dengan kata lain, untuk N = 32 jumlah iterasi pada metode multigrid 31 kali lebih cepat dari-pada metode Gauss-Seidel dan 8 kali lebih cepat daridari-pada metode dua grid. Hal ini terjadi karena kriteria pemberhentian telah terpenuhi yaitu ∥e∥∞= vk− v(k−1) ∞
dengan k adalah jumlah iterasi sudah lebih kecil dari toleransi yang diberikan yaitu 1e−6. Kemudian jika dilihat dari pengaruh besarnya ukuran matriks A terhadap jumlah iterasi, maka terlihat bahwa jumlah iterasi pada metode Gauss-Seidel sangat dipengaruhi oleh ukuran matriks A dan pengaruhnya sangat signifikan, kemudian jumlah iterasi pada metode dua grid masih dipengaruhi oleh ukuran matriks A walaupun tidak begitu signifikan lagi, sedangkan jumlah iterasi pada metode multi-grid tidak begitu dipengaruhi oleh ukuran matriks A. Hal ini terlihat untuk N = 2L
dan ukuran matriks A = (N − 1)2× (N − 1)2, pada metode Gauss-Seidel jumlah
iterasi untuk N = 2L lebih dari 3 kali lipat jumlah iterasi untuk N = 2(L−1), begitu juga pada metode dua grid kecuali untuk N = 8, sedangkan pada metode multigrid jumlah iterasi untuk N = 2L tidak sampai 2 kali lipat dari jumlah iterasi untuk
N = 2(L−1).
Kemudian untuk N = 32, lakukan iterasi Gauss-Seidel, dua grid dan multigrid sebanyak 20 iterasi untuk melihat nilai error dari masing-masing metode iterasi.
Pada Gambar 1 disajikan grafik solusi pendekatan dari masing-masing metode iterasi serta solusi eksak.
0 0.2 0.4 0.6 0.8 1 −0.07 −0.06 −0.05 −0.04 −0.03 −0.02 −0.01 0 0.01 y Nilai Solusi (v) (a) 0 0.2 0.4 0.6 0.8 1 −0.07 −0.06 −0.05 −0.04 −0.03 −0.02 −0.01 0 0.01 y Nilai Solusi (v) (b) 0 0.2 0.4 0.6 0.8 1 −0.07 −0.06 −0.05 −0.04 −0.03 −0.02 −0.01 0 0.01 y Nilai Solusi (v) (c) 0 0.2 0.4 0.6 0.8 1 −0.07 −0.06 −0.05 −0.04 −0.03 −0.02 −0.01 0 0.01 y
Nilai Solusi (u)
(d)
Gambar 1: Grafik Solusi Pendekatan (a) Gauss-Seidel, (b) Dua Grid (c) Multigrid dan (d) Solusi Eksak
Untuk lebih jelas, disajikan grafik perbandingan solusi untuk masing-masing iterasi dengan solusi eksak untuk x = 0.5 sebagai berikut:
0 0.2 0.4 0.6 0.8 1 −0.05 −0.04 −0.03 −0.02 −0.01 0 0.01 y
Nilai Solusi Pendekatan dan Solusi Eksak
Gauss−Seidel Dua Grid Multigrid Solusi Eksak
Gambar 2: Perbandingan Nilai Solusi Metode Gauss-Seidel, Dua Grid dan Multigrid dengan Solusi Eksak
0 5 10 15 20 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 Jumlah Iterasi Nilai Error Gauss−Seidel Dua Grid Multigrid
Pada Gambar 3 terlihat bahwa nilai error pada metode multigrid lebih kecil dibandingkan dengan nilai error pada metode Gauss-Seidel dan dua Grid. Sehingga dapat dikatakan bahwa jika dilihat dari nilai error yang dihasilkan untuk menyele-saikan persamaan Poisson seperti persamaan (1), maka metode multigrid lebih baik daripada metode Gauss-Seidel dan dua grid karena nilai errornya lebih kecil.
Ucapan Terimakasih Penulis mengucapkan terimakasih dan penghargaan kepada Dr. M.D.H. Gamal, M.Sc. yang telah memberikan arahan dan bimbingan dalam penulisan artikel ini.
DAFTAR PUSTAKA
[1] Anton, H. 1981. Elementary Linear Algebra. John Wiley & Sons, Inc., New York. [2] Bachvalov, N. S. 1966. On the Convergence of a Relaxation Method with Natural Constraints on the Elliptic Operator. USSR Computational Mathematics and
Mathematical Physics, 6: 101-135
[3] Braess, D. 1997. Finite Elements: Theory, Fast Solver and Application in Solid
Mechanics. Cambridge University Press, New York.
[4] Brandt, A. 1977. Multi-level Adaptive Solutions to Boundary-Value Problems.
Mathematics of Computation, 31: 333-390
[5] Briggs, W. L. 2000. A Multigrid Tutorial, Second Edition. SIAM, Philadelphia. [6] Burden, R. L. & J. D. Faires. 2010. Numerical Analysis, Ninth Edition. Brooks
Cole, Boston.
[7] Jespersen, T. J. 1984. Multigrid Methods for Partial Differential Equations.
Studies in Numerical Analysis, 24: 270-318.
[8] Oosterlee, C. W. Trottenberg, U. & A. Schuller. 2001. Multigrid. Academic Press, San Diego.
[9] Patel V. A. 1994. Numerical Analysis. Harcourt Brace College Publishers, Florida.