Hiện nay, trên thế giới có nhiều thuật toán giải ODEs IVP sử dụng lý thuyết phân tích khoảng như: AWA [5], COSY [14] [29], VNODE [23], VSPODE [12], VNODE-LP [22],... Trải qua thời gian, các thuật toán càng về sau càng cho kết quả
(miền bao của nghiệm) tốt hơn. Theo tác giả luận văn này, thuật toán VSPODE là tương đối dễ tiếp cận và có tính cập nhật so với các thuật toán khác đồng thời trong thuật toán này có kể đến ảnh hưởng của tham số khoảng mà các tài liệu khác chưa đề cập đến. Do đề tài này có xét ảnh hưởng của tham số đặc trưng là giá trị khoảng nên thuật toán này rất phù hợp với hướng nghiên cứu ban đầu. Vì vậy luận văn sử dụng thuật toán VSPODE làm cở sở và có tham khảo thêm các tài liệu liên quan để giải quyết vấn đề đặt ra.
Bảng 2: Lịch sử phát triển các thuật toán giải ODEs IVP [21]
Phần mềm Năm Tác giả Ngôn ngữ
lập trình
Có thể sử dụng
AWA 1988 R. Lohner Pascal-XSC
ADIODES 1997 O. Stauning C++
COSY 1997 M.Berz, K. Makino Fortran
C++ interface
VNODE 2001 N. Nedialkov C++
VODESIA 2003 S. Dietrich Fortran-XSC
VSPODE 2005 Y. Lin, M. Stadther C++
ValEncIA-IVP 2005 V. Rauh, E. Auer C++
VNODE-LP 2006 N. Nedialkov C++
Cơ sở của thuật toán VSPODE của Stadtherr gồm hai giai đoạn giốngnhư các thuật toán khác nhưng có xét đến ảnh hưởng phụ thuộc của các biến tham số trong quá trình tính toán [12].
Trong giai đoạn 2, nhằm giảm ước lượng quá mức do vấn đề phụ thuộc và hiệu ứng bao phủ gây ra, bên cạnh áp dụng mô hình Taylor, thuật toán còn áp dụng thêm định lý trung bình, phương pháp phân tách QR và sử dụng dạng trung tâm trong tính toán. Tuy vậy, theo quan điểm của tác giả luận văn, trong thuật toán có
một vài điểm chưa rõ ràng gây nhầm lẫn và một chỗ viết chưa đúng làm những người quan tâm mất khá nhiều thời gian hiểu đúng vấn đề và phương hướng đúng của thuật toán đã nêu. Trong luận văn này, tác giả cũng mạnh dạn làm sáng tỏ vấn đề theo cách hiểu của mình dựa trên cơ sở thuật toán của Stadtherr [12] đưa ra.
2.3.3.1 Giai đoạn 1: Tìm miền bao sơ bộ của bài toán
Miền bao sơ bộđược tìm bằng cách chọn thử ℎ và sao cho thỏa mãn điều kiện:
= + 0,ℎ [ ]( , ) + 0,ℎ [ ]( , )⊆ (2.50)
trong đó:
: miền bao của nghiệm ( ; , , )ở thời điểm . : miền bao sơ bộ của nghiệm ở thời điểm .
: miền bao chọn trước (priori enclosure) cho điểm . Theo tác giả, có thể hiểu là miền bao “giới hạn sai số” của nghiệm cần tìm vì tại một thời điểm thì luôn là miền bao lớn nhất < < .
Để tìm mối quan hệ giữa ℎ và tối ưu sao cho ⊆ ta có thể tham khảo chương 5 của Nedialkov [20]. Do thuật toán đó tương đối phức tạp nên tác giả lựa chọn giải pháp sử dụng ℎ và ban đầu cho trước; trong đó = (1 + ) với là nhân tử khoảng hay giá trị tương đối của (xem lại mục 2.1.3 Hàm số khoảng, Chương 2).
Các bước tiến hành tìm như sau:
Nếu biểu thức (2.50) thỏa mãn điều kiện thì chuyển sang giai đoạn 2. Nếu biểu thức (2.50) không thỏa mãn điều kiện, đầu tiên ta tiến hành giảm
ℎ để thỏa cho trước. Nếu giảm ℎ vẫn không thỏa mãn thì ta tiến hành tăng (tức là tăng ) đồng thời ta tiến hành giảm ℎ .
Điều kiện trên được Corliss và Rihm đề xuất ởđịnh lý 3 của [6], trong đó biểu thức (2.50) ứng với phương pháp bậc cao (high-order enclosure method, HOE) của
Jackson và Pryce. Phương pháp này được Corliss khai triển bằng chuỗi Taylor [6] thay cho cách dùng toán tử Picard-Linderlöf kết hợp với lý thuyết điểm cố định Banach trước đó (trang 9, 10 của [24], [30]). Biểu thức (2.50) cho phép tìm bước thời gian ℎ lớn hơn mà vẫn thỏa mãn điều kiện ⊆ .
Hình 14: Hình ảnh nghiệm sơ bộ của bài toán ODEs IVP
2.3.3.2 Giai đoạn 2: Tìm miền bao (nghiệm) chặt hơn của bài toán
Ở giai đoạn này, ta phải tìm miền bao sao cho ⊆ để nghiệm ( ; , , )⊆ . Sử dụng chuỗi Taylor khoảng biểu diễn theo mô hình Taylor gồm phần đa thức và phần dư. Kết hợp với dạng trung tâm, định lý giá trị trung bình và phân tách QR để giảm ảnh hưởng của sự mở rộng khoảng. Từđó, nghiệm cần tìm của bài toán là miền bao = ( ).
Mô hình tính toán trong giai đoạn 2 như sau:
=
â
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ế đổ á ọ =
â
+ (2.51)
Lưu ý rằng có hai cách hiểu về dạng trung tâm khi tham khảo tài liệu [12], trong đó dạng trung tâm 1 là điểm lấy tại chính giữa của khoảng nghiệm; còn dạng trung tâm 2 là một khoảng nằm đối xứng với đường trung tâm của khoảng nghiệm.
dạng trung tâm 1 với và biểu diễn như sau:
= ( ) , = 1, … , (2.52) = − ( ) + [0,0] = − ( ) , = 1, … , (2.53) Biểu diễn tương tự cho tham số . Khi đó ta có mô hình Taylor có dạng:
( , [0,0]) = ( , ), = 1, … , (2.54) ( , [0,0]) = ( , ), = 1, … ,
Bước 2: Từ chuỗi Taylor khoảng (ITS) tương ứng theo thời gian:
= + ℎ [ ]( , ) +ℎ [ ]( , , , ) (2.55)
Biểu diễn (2.55) theo mô hình Taylor như sau:
∈ = + ℎ [ ]+ (2.56)
trong đó:
[ ] = [ ]( , ) là hệ sốđạo hàm của chuỗi Taylor [ ]( , ).
=ℎ [ ]( , ) là phần dư đến bậc lũy thừa của chuỗi Taylor theo thời gian với biến là ∈ ( ởgiai đoạn 1) và tham số ∈ Θ.
Do ảnh hưởng phụ thuộc của biến khoảng giảm khi sử dụng mô hình Taylor vào (2.56) nên miền bao của các hệ số ITS nhỏhơn so với cách thay trực tiếp số học khoảng vào (2.55). Tuy vậy, cảhai phương pháp tiếp cận trên vẫn cho kết quảchưa tốt khi kích thước miền giới hạn ngày càng tăng do phần dư trong vẫn tiếp tục tăng bởi các số hạng của tổng ∑ ℎ [ ] và vẫn tiếp tục tăng; dẫn đến ( )≥ ( ). Sự phân kỳ của khoảng sau mỗi bước thời gian của quá
trình tích phân khi thay trực tiếp chính là do hiệu ứng bao phủ gây ra.
Để giải quyết vấn đề trên, ta tìm cách tách vấn đề phụ thuộc và hiệu ứng bao phủ thành thành 2 phần độc lập nhau bằng cách áp dụng định lý giá trị trung bình vào hệ sốđạo hàm [ ] của biểu thức (2.56). Với mỗi điểm ∈ , ta có:
[ ] , = [ ] , + [ ]; , , − (2.57)
Trong đó J [ ]; , ,θ là ma trận Jacobian của [ ] được định trị tại hàng thứ là + ,( − ) với , ∈ [0,1], ( = 1, … , ). Miền bao của nó là
[ ]; ,Θ .
Bước 3: Biểu diễn lại để phần dư của nó có = 0. Gọi phần đa thức “trung tâm hóa” sau khi đã điều chỉnh là . Đây chính là dạng “trung tâm 1” đã được trình bày ở phần đầu. Khi đó mô hình Taylor mới có dạng = ( , )
trong đó = − .
Thay vào biểu thức (2.57), ta được:
[ ] = [ ]+ [ ]; , , − (2.58) = [ ] + [ ]; , , trong đó: [ ] = [ ] , = [ ]( , ) là các đạo hàm bậc ( −1) trong mô hình Taylor của và . ( [ ]; , , ) là miền bao của ( [ ]; , ). Từ (2.57), (2.58) ta có miền bao của [ ]( , ) là: [ ] , ∈ [ ]( , ) + ( [ ]; , ) (2.59) Thay các kết quả trên vào (2.56) ta thu được là:
∈ = + ℎ [ ]+ + (2.60)
= + ℎ J( [ ]; ,Θ) , ∈ , ∈ Θ (2.61)
Chú ý:
sau khi được đưa về dạng trung tâm 1 ởbước 1 là một điểm. Các đạo hàm
[ ] lại được tiếp tục khai triển thành chuỗi Taylor theo các biến trạng thái và tham số . Sau khi thay giá trị khoảng của và vào [ ] thì [ ] là đại lượng khoảng.
Bước tiến lớn của (2.60) so với (2.55) ở chỗta đã xử lý tách riêng các nguyên nhân gây ra ước lượng quá mức thành từng phần để tiến hành xử lý độc lập ở các bước sau; trong đó +∑ ℎ [ ]+ là các số hạng ảnh hưởng đến sự phụ thuộc và là các số hạng ảnh hưởng của hiệu ứng bao phủ.
Tiếp theo tiến hành xử lý từng phần và biến đổi thành và (chính là ) bằng cách đưa về dạng trung tâm 2.
Hình 15: Hình ảnh minh họa giai đoạn 2 của thuật toán
Bước 4: Xử lý hiệu ứng bao phủ bằng một “ma trận chuyển”. Hai phương pháp được ứng dụng là phương pháp hình hộp phương pháp phân tách QR. Các
nghiên cứu [16], [17] cho thấy phương pháp phân tách QR giảm hiệu ứng miền bao phủổn định hơn.
Từ bước 3, ta có = + . Thay = = ∈ trong đó
∈ ℝ × là ma trận vuông số thực.
= + , ∈ , = , = ⁄ (2.62)
Kết quả bước thứ j được biểu diễn bởi , , , điều kiện ràng buộc là = = − . Thay vào (1.8) ta thu được:
∈ = + ℎ [ ] + + (2.63)
Bước 5: Biểu diễn kết quả về trung tâm một lần nữa.
Đ ặt : = + ℎ [ ]+ (2.64)
thì (2.60) bây giờđược đưa về trung tâm lần nữa bằng cách biểu diễn lại để nó có phần đa thức và phần dư mà = 0.
Tác giả gọi lần đưa về trung tâm này là dạng trung tâm 2 vì nó hoàn toàn không giống với lần đầu tiên ởbước 1. Trong luận văn này, tác giả đã chú ý và áp dụng kỹ thuật này trong quá trình viết chương trình theo ngôn ngữ MATLAB. Khi đó, và được biểu diễn lại như sau:
= + ℎ [ ] + ( ) (2.65)
= − ( ) (2.66)
∈ = + + = + + (2.67) = +
Ở đây, phần dư của bây giờ là = + và được đặt lại thành . chính là hiệu ứng bao phủ gây ra chỉ do ảnh hưởng của thời gian sau quá trình tích phân liên tiếp, không phải gây ra bởi các biến trạng thái và biến tham số. Vì vậy, cách đưa về dạng trung tâm 2 không chứa phần dư của các hệ sốđạo hàm [ ] sau khi khai triển chuỗi Taylor khoảng của nó.
Ta cũng thấy rằng, với cách đưa về dạng trung tâm 1 nêu trên thì = 0 trong tài liệu [12] là không đúng bởi = ⁄ với = − ( )≠0.
Qua phép đặt của dạng trung tâm 2, ta đã đưa bài toán về mô hình ban đầu (2.51) nhưng dạng và là hai dạng hoàn toàn khác nhau với là dạng số, còn là dạng khoảng. Từđó ta thấy rằng: = (2.68) = = = + (2.69) Chúng ta sẽ xử lý mối quan hệ giữa và , giữa và bằng phương pháp QR như sau:
Chọn = với là một ma trận trực giao thu được từ = . Do tính chất của phân tách QR (xem lại ở Chương II) nên lúc này là hình chữ nhật xoay, vẫn luôn có cạnh dài song song với trục tọa độ nên đảm bảo tính ổn định trong quá trình thực hiện tích phân theo thời gian.
= . = + (2.70) Cuối cùng miền bao của nghiệm cần tìm có dạng là:
= = + (2.71)
Giai đoạn 2 có thể tóm tắt bằng thuật giải như sau:
Ban đầu: = , = ⁄ , = ( ) + ( − ( )
Đầu vào: , , , ℎ (từgiai đoạn 1), (từgiai đoạn 1), ,
Tính toán: 1) =ℎ [ ]( , ) 2) = + ℎ [ ]+ 3) = + ℎ J( [ ]; ,Θ) 4) = ( ) (Phép phân tách QR có sự hoán vị cột do = ) 5) = 6) ( , )← với = 0 7) = 8) = + 9) = + , = ∈ 10) = Đầu ra: , , , , 2.4 KẾT LUẬN CHƯƠNG 2
Với các phần trình bày ởtrên, đây là các kiến thức cơ sở làm nền tàng để tác giả giải quyết vấn đề đặt ra ban đầu ởChương 3, đó là áp dụng lý thuyết phân tích khoảng xác định phản ứng động của hệ kết cấu có một bậc tự do.
CHƯƠNG 3: BÀI TOÁN GIẢI QUYẾT
3.1 QUY TRÌNH GIẢI BẰNG PHƯƠNG PHÁP MÔ HÌNH TAYLOR 3.1.1 Quy đổi phương trình động lực học về ODEs IVP 3.1.1 Quy đổi phương trình động lực học về ODEs IVP
Biến đổi phương trình (1.3) vềbài toán ODEs IVP như sau:
̇( ) = ( )
̇( ) = − ( ) – ( ) + ( ) (3.1) (0) = ; (0) = (3.2) Với ngoại lực ( ) = đưa hệphương trình (3.1) về dạng ma trận, ta được phương trình (2.42) của ODEs IVP:
trong đó: ̇ = + ; = (3.3) = 0 1 − − ; = 0 (3.4) ( ) = ( ) ( ) ; = (3.5)
3.1.2 Thuật toán VSPODE giải ODEs IVP
Trong mục này sẽ trình bày lời giải để tìm được miền giới hạn chặt của . Các sẽ được thực hiện tương tự bằng thuật toán lặp. Ta giải (3.3) theo thuật toán VSPODE ở mục 3.1.2 Thuật toán VSPODE giải ODEs IVP Chương 2 như sau:
Giai đoạn 1:
Khai triển theo chuỗi Taylor đến bậc đa thức = 5: = | + |( ) + 0.5 |( ) +1 6 | ( ) +⋯+ 1 24 | ( ) (3.6) trong đó:
: nghiệm sơ bộ (3.3) của giai đoạn 1 ứng với thời điểm = 0.
| , |( ), |( ), |( ), . . , |( ) : biểu thức lấy đạo hàm của chuỗi Taylor tại thời điểm = 0 (s) và = + ( − ) (s) với = [0,1].
= [0,ℎ ] là một khoảng với ℎ = − là bước thời gian chọn trước. Để ý ta thấy có thể tìm đạo hàm của ( ) = ( ) + ( ) theo quy tắc đệ quy như sau:
( ) = ( ) + ( ) ( ) = ( ) ( ) + ′( ) ( )( ) = ( ) + ′′( ) ... ( )( ) = ( )( ) + ( )( ) (3.7)
Sử dụng vòng lặp for trong MATLAB, các đạo hàm của biểu thức (3.7) có thể tìm một cách dễ dàng và tựđộng: | = (3.8) | = − − + (3.9) | = − − + − + + + − (3.10) ...
Nghiệm sơ bộ được tìm bằng cách thay trực tiếp giá trị khoảng , , , , , vào biểu thức (3.6). Sau đó, được kiểm tra với điều kiện (2.50). Nếu thỏa mãn, ta chuyển sang thực hiện tiếp giai đoạn 2. Nếu không thỏa mãn, ta tiến hành thực hiện như đã trình bày ở mục 2.3.3.1 của Chương 2.
Do đây là giai đoạn tìm nghiệm sơ bộ nên nếu chọn lớn thì ℎ dễ dàng thỏa mãn biểu thức (2.50). Tất nhiên bước chia thời gian ℎ càng lớn thì nghiệm cũng
sẽ không chặt bằng bước ℎ nhỏhơn do độ rộng cũng lớn theo tương ứng. Giá trị tìm được ởgiai đoạn 1 sẽ được thay vào biểu thức của biểu thức (2.56) trong giai đoạn 2.
Giai đoạn 2:
Trong giai đoạn này, ta dùng mô hình Taylor kết hợp với cách biểu diễn về dạng trung tâm, định lý trung bình để khắc phục những đặc trưng của lý thuyết phân tích khoảng.
Tác giả xây dựng mô hình Taylor theo cách 1 (mục 2.2.1 Chương 2) gồm 2 quá trình:
Khai triển chuỗi Taylor theo thời gian t đến = 5.
Tiếp đó, ta khai triển chuỗi Taylor theo vector gồm 5 biến thành phần ( ; ; ; ; ) của các số hạng , , , ( ), ( ) đến bậc đa thức = 2.
Bước 1:
Biểu diễn lại nghiệm theo mô hình Taylor gồm có = + với = 0. Đưa về dạng trung tâm 1 theo biểu thức (2.51): = (y ) ; = y − ( ). Khi đó luôn đảm bảo thỏa mãn điều kiện = 0.
Bước 2:
Tính biểu thức (2.64) gồm , [ ] và .
Chú ý rằng và [ ] khi khai triển Taylor theo biến được định trị giá trị khoảng với biến và giá trị số là biến lân cận trong biểu thức ( − ) với
= 1, 2, … , + 1. Nên chọn = ( ).
Tính giống như tính phần dư ( ) trong biểu thức (2.50) của giai đoạn 1 với được thay thế bằng .
Sau khi tính được , ta đưa về dạng trung tâm 2: = + =
+ trong đó:
= + ℎ [ ]+ ( ) (3.11)
= − ( ) (3.12)
biểu thức (2.67),(2.68),(2.71).
Bước 3: Tính biểu thức từ (2.61) với = + ℎ + 0.5 ℎ + 1/6 ℎ Ở đây là ma trận đơn vị 2 × 2 và số hạng thứ hai của trong bài toán này không đổi trong cả quá trình do ma trận Jacobian 2 × 2là các đạo hàm theo 2 biến trạng thái và , sau khi đạo hàm Jacobian chỉ chứa các biến tham số , , .
= = 0 1 − − (3.13) = = − − − (3.14) = ⎝ ⎜ ⎛ ( ) ( ) ( ) ( ) ⎠ ⎟ ⎞ = ⎝ ⎛ − −2 −3 + ⎠ ⎞ (3.15)
Bước 4: Tính hệ số theo phương pháp phân tách QR như sau:
= ( )
=
= ( ) +
= { | ∈ }
Sử dụng hàm phân tách QR trong MATLAB ta sẽ tìm được là ma trận 2 × 2 có dạng:
= − (3.16)
Từ biểu thức (3.16) và tính chất của phép phân tách QR = thì với ma trận 2 × 2 ta có: = trong đó là ma trận chuyển trí của .
Gán = và tính lại với = và = (0,0). Chú ý rằng là một vector có 2 hàng tương ứng với hai thành phần của biến trạng thái ởđây là , .
Tiếp đó tính tiếp = . ta thu được số hạng thứ hai của (2.67).
Bước 5:
Tính tổng và ở bước 2 và bước 4 ta thu được biểu thức (2.71) là miền giới hạn chặt cần tìm.
Lại tiếp tục dùng = làm điều kiện đầu thay cho để tìm = ... Ta sử dụng vòng lặp trong MATLAB và dùng phép gán các giá trịsau để lặp lại quá trình giải:
: = ; : = ; : = ; ≔ ; ≔ (3.17)
3.2 QUY TRÌNH GIẢI BẰNG PHƯƠNG PHÁP MONTE-CARLO 3.2.1 Nghiệm giải tích của phương trình vi phân 3.2.1 Nghiệm giải tích của phương trình vi phân
Nghiệm giải tích của phương trình vi phân (1.2) áp dụng phương pháp Monte- Carlo là biểu thức (1.4) và (1.12).
3.2.2 Các bước thực hiện
Bước 1: Chuyển các số liệu đầu vào , , , , về đại lượng ngẫu nhiên. Giả sửđại lượng khoảng là = [ , ] thì đại lượng ngẫu nhiên tương ứng là:
= { , , … , } = + ( − )∗ ( , 1) (3.18) trong đó: : cận dưới của khoảng . : cận dưới của khoảng . − : độ rộng của khoảng . : số lần thử ngẫu nhiên.
( , 1): vector hàng ngẫu nhiên trong khoảng (0,1).
Chú ý rằng x trong đại lượng ngẫu nhiên là một vector hàng tương ứng với R phép thử.
VD11: Biểu diễn đại lượng khoảng = [1.4,1.6]theo đại lượng ngẫu nhiên Monte- Carlo với số lần thử = 1000
= 1.4 + 0.2∗ (1000,1) (3.19) Khi này, ta nhận được 1000 giá trị có giá trị trong khoảng [1.4,1.6].