Phương pháp phân rã song song giải bài toán biên cho phương trình

Một phần của tài liệu Giải hệ phương trình kích thước lớn và điều kiện xấu trên bó máy tính (Trang 80 - 89)

phương trình elliptic và parabolic

Phương pháp song song với bước phân (Parallel fractional step - PFS), được đề xuất trong [64] và phát triển trong [44] sẽ được sử dụng để giải bài toán biên giá trị ban đầu (2.54)-(2.56). Với mục đích này, trước tiên rời rạc theo biến không gian x= (x1, ...,xd)với bước lưới h>0 và xấp xỉ bài toán trong miền rời rạcΩh bằng cách sử dụng lược đồ sai phân trung tâm, ta nhận được phương trình vi phân sau

dvh

dt =Hvh+F1h, (2.59)

vh(0) =v0h. (2.60)

Do tính đối xứng và xác định dương của D, trong nhiều trường hợp, ma trậnH cũng là ma trận đối xứng, xác định dương. Ví dụ, sử dụng ma trậnP vàQ được định nghĩa bởi (2.50) ta nhận đượcH = 1

h2P⊗D trong trường hợp số chiều là 1

(d=1)vàH = 1

h2L⊗D đối với trường hợp số chiều là 2(d=2), trong đó

L=             Q −I −I Q −I . .. ... ... −I Q −I −I Q            

Hơn nữa, giả sử H được phân rã thành tổng của các ma trận Hk đối xứng, xác định dương, đôi một giao hoán

H =

d

k=1

Hk, HkT =Hk ≥0, HkHl =HlHk, k,l =1, . . .d. (2.61) Chúng ta rời rạc hóa theo biến thời gian trên đoạn [0,1] với bước thời gianτ>0

và áp dụng phương pháp song song với bước phân (PFS) [44] i. Khởi tạov0:=v0h.

ii. Giả sử vớim≥0ta đã biếtvm (một xấp xỉ của vh(mτ)). iii. Tìm vm+1

• Tìm vm+1,k (I+τd 2 Hk)v m+1,k= (I−τd 2 d ∑ j=1,j6=k Hj)vm+τd 2 F k 1h, (2.62) trong đó F1kh:=F1h((k+1/2)τ). • Tính vm+1 = 2 d d ∑ k=1 vm+1,k+ (1−2 d)v m. (2.63)

Chú ý rằng các hệ tuyến tính (2.62) có thể được giải bởi bất kỳ một phương pháp lặp song song nào [33, 42, 84, 85].

Tiếp theo, chúng tôi sử dụng phương pháp phân rã song song (Parallel split- ting up - PSU) được đề xuất bởi T. Lu, P. Neittaanm¨aki, and X. C. Tai [64] để giải hệ đại số nhận được khi sai phân bài toán biên BVP (2.57)-(2.58).

Rời rạc hóa bài toán biên (2.57)-(2.58) ta nhận được một hệ các phương trình tuyến tính kích thước lớn

Lw=g, (2.64)

trong đóLlà ma trận đối xứng, xác định dương cấp p, ở đây p= p(h)phụ thuộc vào bước rời rạc theo không gianh. Giả sửLcó thể được phân rã thành tổng của mcác ma trận đối xứng, xác định dương, giao hoán từng đôi một

L=

m

i=1

Li, LTi =Li>0, LiLj =LjLi, i,j=1, . . . ,m. (2.65) Phương pháp phân rã song song (PSU) gồm các bước sau:

i. Chọn một véctơ ban đầu w0.

ii. Giả sử tại bước lặp thứ j ta đã biếtwj. iii. Tính wj+1 • Tính Liwj+2im = f − m ∑ k=2,k6=i Lkwj,i=1, ...,m. (2.66) • Chọnωj >0, đặt wj+1 = ωj m m ∑ i=1 wj+2im + (1−ωj)wj. (2.67)

Chú ý rằng các hệ (2.66) có thể được giải đồng thời bằng cách sử dụng các bộ xử lý.

Định lý 2.5. Các phương pháp phân rã song song PFS (2.62)-(2.63) và PSU (2.66)-

(2.67)giải bài toán biên giá trị ban đầu(2.47)-(2.49), với cặp ma trận không âm{A,B}

và điều kiện giá trị ban đầu tương thích(2.48),(2.53), hội tụ tới nghiệm của các hệ đại

số tuyến tính nhận được khi sai phân hóa bài toán (2.54)-(2.56) và bài toán (2.57)-

(2.58).

Chứng minh. Nhờ tính chất không âm của cặp ma trận {A,B}, ta có thể phân tách bài toán biên giá trị ban đầu (IBVP) (2.47)-(2.49) thành bài toán biên-giá trị ban đầu cho phương trình parabolic (2.54)-(2.56) và bài toán giá trị biên cho phương trình elliptic. Định lý 4.11 và 5.2 [44] bảo đảm rằng phương pháp PFS trong trường hợp các ma trận đối xứng, xác định dương và giao hoán thì ổn định với điều kiệnτ≤2{d max

1≤k≤dkHkk}−1. Hơn nữa, phương pháp hội tụ với sai số toàn cụcO(h2+τ2). Hơn nữa, theo [64] phương pháp PSU hội tụ. Nếu các giá trị riêng của ma trận S:= m1

m

i=1

L−i 1L thuộc khoảng [a,b], trong đó a≥0, thì tốc độ tiệm cận của phương pháp PSU vớiωj= a+2b là 2p, trong đó p:=cond(S)≤(b/a).

Chúng ta kết thúc phần này bằng cách xét bài toán giá trị biên ban đầu (2.47) - (2.49) trong không gian một chiều (d=1), và ma trậnE trong (2.48) là ma trận đơn vị. Rời rạc bài toán biên giá trị ban đầu IBVP theo biến không gian, ta nhận được hệ phương trình vi phân.

A∂u ∂t (xk,t) + 1 h2B[u(xk+1,t)−2u(xk,t) +u(xk−1,t)] = f(xk,t), vớik=1,M−1,M =M(h). Đặt U := (uT1, ...,uTM)T,F := (f1T, ...,fMT−1)T,

trong đóuk:=u(xk,t), fk := f(xk,t), ta có thể viết lại hệ phương trinh trên như sau

(IM−1⊗A)dU

dt +

1

h2(P⊗B)U =F, (2.68)

trong đó ma trậnP được xác định bởi (2.50). Theo 2.4.2 ta có thể tìm được cặp ma trận không suy biếnK vàH chuyển cặp ma trậnIM−1⊗A, 1

h2P⊗Bthành dạng Kronecker-Weierstrass (2.51).

Nhân cả hai vế của (2.68) vớiK và đặt

vớiV,Fe1∈R(M−1)r vàW,Fe2∈R(M−1)(n−r), ta có hệ dV dt + 1 h2DV¯ =Fe1, (2.69) W =Fe2. (2.70)

Theo mệnh đề 2.4.2, D¯ là một ma trận đối xứng, xác định dương. Chú ý rằng điều kiện biên (2.49) thỏa mãn phương trình (2.68). Với cách đặt

H−1(uT0(x1), ...,uT0(xM−1))T = (V0T,W0T)T,

vớiV0∈R(M−1)r vàW0∈R(M−1)(n−r), điều kiện ban đầu (2.48), vớiE≡I trở thành

V(0) =V0. (2.71)

Ngoài ra, điều kiện ban đầu (2.48) phải thỏa mãn một ràng buộc ẩnW0=Fe2(0). Để giải bài toán giá trị ban đầu (2.68)-(2.71) ta sử dụng phương pháp PSU và phương pháp PFS áp dụng cho bài toán (2.59)-(2.60).

2.4.3 Thử nghiệm số

Xét bài toán biên (2.47)-(2.49) với dữ liệu như sau

(n=3,d=2), A=       1 0 0 0 1 0 0 0 0       , B=       2 −0.5 1 −0.5 1 0 1 0 1       , E=I. (2.72)

Hàm f(x,t)được lựa chọn sao cho nghiệm của bài toán biên BVP (2.47)-(2.49) là

u=103(tx1(1−x1)x22(1−x2),tx21(1−x1)x2(1−x2),x1x2(1−x1)(1−x2))T. Sử dụng cặp ma trận không suy biến

M=       1 0 −1 0 1 0 0 0 1       , N=       1 0 0 0 1 0 −1 0 1       , (2.73)

chúng ta có thể phân rã bài toán biên giá trị ban đầu IBVP (2.47)-(2.49) thành một bài toán biên giá trị ban đầu cho phương trình parabolic

               vt−W(vxx+vyy) =F1(x,y,t), v(x,0) =0, x∈Ω, v(x,t) =0, với x∈∂Ω và t ∈(0,1). (2.74)

và một bài toán biên cho phương trình elliptic        −(wxx+wyy) =F2(x,y,t), w(x,t) =0. (2.75)

Bảng sau chỉ ra sự phụ thuộc sai số của nghiệm xấp xỉ so với nghiệm chính xác vào bước lưới theo không gianh=1.0/(N+1), trong đó tỷ số τ

h2 là không đổi. Bảng 2.8: Kết quả với tỷ lệ τ h2 không đổi N hr2 24 30 40 50 60 Sai số 0.5 8e−5 3.8e−5 1.4e−5 6.1e−6 3.1e−6 Sai số 0.2 1.6e−5 7e−6 2e−6 1e−6 5e−7

Tiếp theo, ta xét mối liên hệ giữa thời gian thực hiện chương trình, hệ số tăng tốc và hiệu suất của phương pháp song song. Hệ số tăng tốc được định nghĩa là S=Ts/Tp, trong đó Ts,Tp lần lượt là thời gian thực hiện phương pháp tuần tự và song song. Hiệu suất thực hiện được tính bằng công thức E =S/P, trong đó P là số bộ xử lý. Kết quả thực nghiệm với phương pháp song song với bước phân (PFS) cho bài toán (2.74) được thể hiện trong bảng sau:

Bảng 2.9: Hệ số tăng tốc và hiệu suất của phương pháp PFS

Số bộ xử lý 1 2 4 6 8 10

Thời gian thực hiện 252 126 63 43 37 32

Hệ số tăng tốc 2 4 5.8 6.8 7.8

Hiệu suất 1 1 0.97 0.85 0.78

Sử dụng hai bộ xử lý của bó máy tính 1350 và áp dụng phương pháp PSU cho bài toán biên (2.75) ta nhận thấy thời gian thực thi tỷ lệ thuận với số điểm chiaN = 1h.

Bảng 2.10: Thời gian thực thi phương pháp PSUN 24 30 40 N 24 30 40

Thời gian thực hiện (giây) 120 180 300

Để tăng tốc độ hội tụ, ta sử dụng một số phương pháp song song như phương pháp song song Jacobi, phương pháp song song Red/Black SOR (RB_SOR) [42, 71, 85]. Phương pháp song song Jacobi và phương pháp song song Red/Black SOR được thử nghiệm bằng ngôn ngữ C và MPI trên bó máy tính 1600 với 5 node tính toán.

Dưới đây là một số kết quả thử nghiệm cho phương pháp song song Jacobi với bước không gianh=1/240 và phương pháp song song Red/Black SOR với bước không gianh=1/1200.

Bảng 2.11: Tốc độ và hiệu suất trên một node tính toán

Phương pháp song song Jacobi

Số bộ xử lý 1 2 4 6 8

Thời gian thực hiện (giây) 937 484 232 191 155

Hệ số tăng tốc 1.94 4.0 4.9 6.05

Hiệu suất 0.97 1 0.81 0.75

Để cùng đạt một sai số cho trước, phương pháp song song Jacobi sử dụng ít thời gian hơn so với phương pháp phân rã song song.

Bảng 2.12: Tốc độ và hiệu suất trên một node tính toán

Phương pháp song song Red/Black SOR

Số bộ xử lý 1 2 4 6 8

Thời gian thực hiện (giây) 275 154 83 64 54

Hệ số tăng tốc 1.79 3.31 4.3 5.1

Hiệu suất 0.9 0.83 0.72 0.64

Số phép lặp tối thiểu, thời gian tính toán của phương pháp Red/Black SOR (RB_SOR) và Jacobi để đạt cùng một sai số được cho bởi các bảng sau:

Bảng 2.13: Số các phép lặp

N 60 120 180 240 300

RB_SOR 284 565 836 1101 1351

Bảng 2.14: Thời gian thực hiện

N 60 120 180 240 300

RB_SOR (giây) 1 2 7 12 19

Jacobi (giây) 4 45 200 720

Phương pháp Red/Black SOR rõ ràng là phương pháp tốt nhất trong số các phương pháp trên về thời gian thực hiện cũng như số lượng phép lặp.

Bảng dữ liệu 2.9, 2.11, 2.12 chỉ ra rằng hệ số tăng tốc tỷ lệ thuận với số bộ xử lý. Hệ số tăng tốc thực nhỏ hơn so với hệ số lý tưởng do có chi phí truyền thông giữa các bộ xử lý trên các bó máy tính Linux Cluster 1350 và AIX Cluster 1600. Bên cạnh đó các Bảng dữ liệu này cũng chỉ ra rằng số lượng bộ xử lý cũng tỷ lệ thuận với chi phí truyền thông và tỷ lệ nghịch với hiệu suất tăng tốc.

KẾT LUẬN CHƯƠNG

Trong chương này chúng tôi áp dụng một số phương pháp chỉnh lặp song song giải hệ tuyến tính quá xác định trong trường hợp dữ liệu có nhiễu và áp dụng phương pháp chỉnh lặp hiện song song một bước cho bài toán khôi phục ảnh. Chúng tôi đề xuất phương pháp cải tiến bằng cách kết hợp phương pháp chỉnh lặp song song với phép biến đổi nhanh Fourier. Thực nghiệm chỉ ra rằng trong một số trường hợp phương pháp chỉnh lặp ẩn song song cho kết quả tốt hơn phương pháp chỉnh lặp hiện song song, tuy nhiên, nó cũng đòi hỏi nhiều thời gian hơn. Kết quả lý thuyết và thực nghiệm cũng chỉ ra hiệu quả của phương pháp cải tiến so với phương pháp chỉnh lặp một bước khi áp dụng cho bài toán khôi phục ảnh.

Cuối chương, chúng tôi đề xuất một phương pháp song song toàn phần giải hệ đại số thu được khi rời rạc hóa một lớp phương trình đạo hàm riêng đại số. Một thử nghiệm số được thực hiện để minh họa kết quả lý thuyết.

Trong chương tiếp theo, ta nghiên cứu phương pháp chỉnh lặp Gauss-Newton song song giải hệ phương trình toán tử phi tuyến và ứng dụng. Phương pháp song song được trình bày trong chương tiếp theo có thể được sử dụng để giải quyết các bài toán tuyến tính trong chương 2 và mối liên hệ giữa phương pháp này với phương pháp chỉnh lặp ẩn song song sẽ được trình bày cuối chương 3.

Chương 3

Phương pháp chỉnh lặp

Gauss-Newton song song giải hệ phương trình toán tử phi tuyến và ứng dụng

Trong chương này, chúng tôi đề xuất một phiên bản song song cho phương pháp chỉnh lặp Gauss-Newton để giải một hệ phương trình toán tử đặt không chỉnh

Fi(x) =yi, 1≤i≤N, (3.1)

trong đóFi :X →Yi, 1≤i≤N, là các toán tử phi tuyến từ không gian Hilbert X vào không gian HilbertYi.

Ý tưởng chính của phương pháp là sự kết hợp giữa các kỹ thuật chỉnh hóa, phân rã song song và lặp Gauss-Newton.

Trong toàn bộ chương này, chúng tôi giả thiết hệ (3.1) có nghiệm, tức là S:={z∈X :Fi(z) =0,i=1,N} 6= /0.

Với một số giả thiết nhất định, chúng tôi sẽ đánh giá được tốc độ hội tụ của phương pháp. Ngoài ra, các thử nghiệm số chỉ ra hiệu quả của phương pháp chỉnh hóa Gauss-Newton song song trong việc giải hệ phương trình phi tuyến

dưới xác định.

Chương này được chia thành ba phần chính. Phần một nhắc lại một số kết quả đã biết về phương pháp Gauss-Newton và trình bày phương pháp chỉnh lặp Gauss-Newton song song giải hệ phương trình. Phần hai dành cho chứng minh sự hội tụ của phương pháp. Phần cuối là một số kết quả tính toán thử nghiệm và

Một phần của tài liệu Giải hệ phương trình kích thước lớn và điều kiện xấu trên bó máy tính (Trang 80 - 89)

Tải bản đầy đủ (PDF)

(121 trang)