Phương pháp ODE tối ưu cho số lượng đánh giá RHS cố định


14

Trong thực tế, thời gian chạy giải số bằng IVP

x˙(t)= =f(t,x(t)) cho t[t0,t1]
x(t0)= =x0
thường bị chi phối bởi thời lượng đánh giá phía bên tay phải (RHS)f . Do đó, chúng ta hãy giả định rằng tất cả các hoạt động khác là tức thời (tức là không có chi phí tính toán). Nếu thời gian chạy tổng thể để giải quyết IVP được giới hạn thì đây là tương đương với việc hạn chế số lượng đánh giá củaf đối với một sốNN .

Chúng tôi chỉ quan tâm đến giá trị cuối cùng x(t1) .

Tôi đang tìm kiếm các kết quả lý thuyết và thực tế giúp tôi chọn phương pháp ODE tốt nhất trong một cài đặt như vậy.

Ví dụ: nếu thì chúng ta có thể giải IVP bằng hai bước Euler rõ ràng về chiều rộng hoặc một bước chiều rộng bằng phương pháp điểm giữa. Nó không phải là ngay lập tức rõ ràng cho tôi cái nào là thích hợp hơn. Đối với lớn hơn , tất nhiên người ta cũng có thể nghĩ về các phương pháp nhiều bước, các sơ đồ Runge-Kutta lặp, v.v.N= =2t 1 - t 0 N(t1-t0)/2t1-t0N

Những gì tôi đang tìm kiếm là các kết quả tương tự với các kết quả tồn tại, ví dụ, đối với quy tắc bậc hai: Chúng ta có thể chọn trọng số và các điểm liên quan sao cho quy tắc bậc hai n i = 1 w i g ( x i ) là chính xác cho tất cả các đa thức gd e g ( g ) 2 n - 1 .{ w i } { x i }n{wTôi}{xTôi}ΣTôi= =1nwTôig(xTôi)gdeg(g)2n-1

Do đó, tôi đang tìm kiếm giới hạn trên hoặc dưới về độ chính xác toàn cầu của các phương pháp ODE, với một số lượng hạn chế các đánh giá được phép của RHS . Sẽ ổn nếu giới hạn chỉ giữ cho một số lớp RHS hoặc đặt ra các ràng buộc bổ sung cho giải pháp x (giống như kết quả cho quy tắc bậc hai chỉ giữ cho đa thức ở một mức độ nhất định).fx

EDIT: Một số thông tin cơ bản: Đây là dành cho các ứng dụng thời gian thực cứng, tức là kết quả phải có sẵn trước thời hạn đã biết. Do đó, giới hạn về số lượng đánh giá RHS N là yếu tố chi phí chi phối. Thông thường các vấn đề của chúng tôi là cứng và tương đối nhỏ.x(t1)N

EDIT2: Thật không may, tôi không có các yêu cầu về thời gian chính xác, nhưng sẽ an toàn khi cho rằng sẽ khá nhỏ (chắc chắn <100, có thể tiến gần đến 10). Do yêu cầu thời gian thực, chúng ta phải tìm ra sự đánh đổi giữa độ chính xác của các mô hình (với các mô hình tốt hơn dẫn đến thời gian thực hiện của RHS lâu hơn và do đó N thấp hơn ) và độ chính xác của phương pháp ODE (với các phương pháp tốt hơn đòi hỏi cao hơn giá trị của N ).NNN


Sự tương ứng thông thường của các phương pháp Runge-Kutta bước cố định với các phương pháp Newton-Cotes áp dụng cho trường hợp phương pháp RK được áp dụng cho IVP ; ví dụ: áp dụng phương pháp bậc bốn cổ điển cho IVP đó tương đương với việc thực hiện quy tắc của Simpson trên f ( x ) . y'= =f(x)f(x)
JM

@JM: Tôi biết điều đó. Tôi chỉ có ý định sử dụng các quy tắc bậc hai như một ví dụ mô tả tính chính xác của phương pháp số cho một tập hợp đầu vào nhất định khi số lượng đánh giá hàm bị giới hạn. Ngoài ra, tôi quan tâm đến ODE "thực sự", tức là những ODE không làm giảm sự tích hợp tiêu chuẩn.
Florian Brucker

1
Điều này đang trở nên thú vị hơn. Bây giờ số tự nó không có nghĩa gì cả. Những gì có thể hữu ích là biết λ N / T , nơi T là độ dài của khoảng thời gian hội nhập và λ là hằng số Lipschitz của f đối với với x . Điều này sẽ cho chúng ta biết vấn đề thực sự khó khăn như thế nào. Giả sử nó cứng, một ứng cử viên có khả năng là phương pháp BDF bậc 2. NλN/TTλfx
David Ketcheson

@DavidKetcheson: Tôi quan tâm hơn đến cách tiếp cận chung để chọn một phương pháp phù hợp cho một vấn đề nhất định thay vì phương pháp tối ưu cho một vấn đề cụ thể. Chúng tôi có một số lượng lớn hơn các mô hình khác nhau rất nhiều về độ cứng và yêu cầu thời gian.
Florian Brucker

Bạn nói rằng rất tốn kém để đánh giá. Bạn có thể tính toán một Jacobian không? Điều gì về một số xấp xỉ có thể sửa chữa độ cứng nguyên tắc? Bạn không ở trong tình trạng tốt nếu vấn đề của bạn rất khó khăn và bạn không có cách nào để khắc phục nó. f
Jed Brown

Câu trả lời:


7

Tôi nghĩ rằng một tài liệu tham khảo chính để trả lời câu hỏi của bạn là bài viết này của Ô-sê và Shampine . Bây giờ tôi sẽ đưa ra một số nền tảng.

Nói chung, kích thước bước mà bạn có thể sử dụng khi tích hợp IVP bằng số có thể bị hạn chế bởi tính ổn định hoặc độ chính xác. Nếu bạn muốn chọn người giải quyết tốt nhất về độ ổn định, bạn cần xem xét vùng ổn định tuyệt đối . Đối với phương pháp một bước, đây là

S= ={zC:|P(z)|1}.

Ở đây là hàm ổn định của phương thức; xem ví dụ văn bản của Hairer et. al. Một điều kiện cần thiết cho sự ổn định là λ h S nơi λ chạy trên các giá trị riêng của Jacobian của fh là kích thước bước. Điều này không phải luôn luôn là một điều kiện đủ cho các vấn đề phi tuyến nhưng nó thường là một quy tắc tốt và được sử dụng trong thực tế.P(z)λhSλfh

Để biết cách xử lý rộng rãi cho vấn đề tìm phương pháp (rõ ràng) cho phép kích thước bước ổn định lớn, hãy xem bài viết này của tôi về đa thức ổn địnhbài này về tối ưu hóa phương pháp Runge-Kutta cho mô phỏng chất lỏng nén .

Tính ổn định là mối quan tâm có liên quan nếu bạn thấy rằng kích thước bước ổn định lớn nhất đã cung cấp cho bạn đủ độ chính xác. Mặt khác, kích thước bước thay vào đó có thể bị hạn chế bởi các yêu cầu chính xác của bạn. Những gì thường được thực hiện là kiểm soát lỗi cục bộ. Giải pháp được tính toán bằng hai phương pháp và sự khác biệt của chúng được sử dụng làm ước tính sai số theo phương pháp ít chính xác hơn. Kích thước bước được chọn một cách thích ứng để đạt được càng chặt chẽ càng tốt dung sai quy định.

Hai biện pháp lý thuyết là chìa khóa để dự đoán hiệu quả chính xác. Đầu tiên là thứ tự độ chính xác của phương pháp, mô tả tốc độ lỗi tiến đến 0 khi kích thước bước giảm. Thứ hai là chỉ số hiệu quả chính xác (xem bài viết của Ô-sê và Shampine được liên kết trong câu đầu tiên ở trên) có tính đến các hằng số xuất hiện trong các thuật ngữ lỗi và cho phép so sánh giữa các phương pháp của cùng một thứ tự.

Độ chính xác và hiệu quả ổn định của một loạt các phương pháp có thể được tính toán một cách đơn giản và tự động bằng cách sử dụng NodePy (từ chối trách nhiệm: NodePy được phát triển bởi tôi).


Cảm ơn bạn. Bài báo của Ô-sê và Shampine thực sự rất thú vị. Bạn có biết kết quả tương tự cho các vấn đề cứng? Tôi biết rằng người ta thường sử dụng các phương pháp ngầm cho những phương pháp đó, nhưng chúng không có ưu tiên ràng buộc về số lượng đánh giá RHS, vì vậy chúng ít được sử dụng trong trường hợp của tôi.
Florian Brucker

Tôi không biết bất cứ điều gì như thế này cho các vấn đề cứng nhắc, nhưng tôi nghi ngờ điều gì đó tồn tại. Giống như bạn nói, câu hỏi tinh tế hơn khi sử dụng các phương thức ngầm. Một cách tiếp cận có thể là sử dụng các phương pháp Rosenbrock, xử lý tốt các vấn đề cứng nhưng có một số lượng đánh giá RHS cố định.
David Ketcheson

6

Không có nhiều kết quả theo hướng này vì khó khăn hơn là chỉ sửa chữa độ chính xác, vì các cân nhắc về độ ổn định thường có thể yêu cầu bạn chọn các bước thời gian nhỏ hơn mức bạn cần cho độ chính xác bạn muốn. Vì vậy, kết quả được phân chia giữa các trường hợp cứng và không cứng. Trường hợp trước, các yêu cầu đánh giá các bước thời gian và RHS thường không bị chi phối bởi độ chính xác, và trong trường hợp sau chúng là.

Tôi sẽ tập trung vào các phương pháp rõ ràng, vì trường hợp ngầm ít rõ ràng hơn bao nhiêu đánh giá RHS bạn sẽ cần sử dụng .. điều đó hoàn toàn phụ thuộc vào cách bạn quyết định giải quyết hệ thống kết quả.

Đối với hệ thống không cứng:

Có những hạn chế về giai đoạn đối với các phương pháp Runge-Kutta rõ ràng trong đó cho biết cần bao nhiêu giai đoạn (đánh giá RHS) để đạt được một thứ tự chính xác nhất định. Sau lệnh thứ tư, số lượng các giai đoạn vượt quá thứ tự chính xác, và sự chênh lệch tiếp tục tăng lên. Cuốn sách ODE lớn của Butcher: http://books.google.com.vn/books/about/Numerical_Methods_for_Ordinary_Different.html?id=opd2NkBmMxsC

thực hiện tốt công việc giải thích một số bằng chứng 'không tồn tại' này.

Ví dụ quy tắc bậc hai của bạn dẫn đến một phương thức loại nhiều bước, chẳng hạn như Adams-bashforth, hoặc đến cái được gọi là phương pháp hiệu chỉnh quang phổ. Đối với adams-bashforth, bạn chỉ cần một đánh giá RHS mỗi bước, nhưng vì các vùng ổn định nói chung quá nhỏ đối với các phương pháp này, bạn thường kết thúc cùng một công việc theo các đánh giá RHS như một phương pháp Runge-Kutta với cùng một phương pháp đặt hàng.

Đây là một bài báo về hiệu chỉnh quang phổ hoãn lại:

https://www.google.com.vn/search?q=spectral+deferred+correction&aq=f&oq=spectral+deferred+correction&aqs=chrome.0.57j0l2j62.3336j0&sourceid=chrom&ie=UTF-8

Tôi không chắc làm thế nào các phương thức tích hợp này hoạt động so với các phương thức rõ ràng tiêu chuẩn, chúng thường đòi hỏi nhiều bộ nhớ hơn để lưu trạng thái giải pháp tại các nút cầu phương và vì vậy tôi chưa bao giờ sử dụng chúng.

Đối với hệ thống cứng:

có những bước thời gian 'tối ưu hóa', nhưng kết quả lý thuyết chính xác liên quan đến mức độ tốt của những thứ này có thể không may bị giới hạn trong một số trường hợp đơn giản (và ngay cả những trường hợp đó không phải là một công việc tầm thường). Ba kết quả tiêu chuẩn nói rằng đối với các phương pháp Runge-Kutta với các giai đoạn : Trục thực âm nhất có thể bao gồm trong vùng ổn định của nó là một khoảng có độ dài 2 S 2 , trục tưởng tượng nhất mà nó có thể chứa là một khoảng có độ dài S - 1 , và vòng tròn lớn nhất tiếp tuyến với trục tưởng tượng mà nó có thể chứa có bán kính S (tất cả chúng đều loại trừ lẫn nhau).S2S2S-1S


2
Nó có thể xảy ra rằng sử dụng một phương pháp bước biến (hoặc thậm chí là thứ tự biến) có thể hiệu quả hơn so với việc kiên trì bám vào một phương pháp bước cố định. Chẳng hạn, người ta có thể cân nhắc sử dụng một phương pháp ngoại suy như Bulirsch-Stoer: thực hiện một vài đánh giá ở một số bước, sau đó xây dựng (ước tính) chính xác hơn từ kết quả của các bước đó.
JM

Thật. Vì thực tế, nhiều phương pháp tối ưu tương đương với một phiên bản bước thay đổi của một bước thời gian khác. Ví dụ, Runge-Kutta-Chebshev có thể được xem là Euler chuyển tiếp được áp dụng với các bước thời gian thay đổi là các điểm Ch Quashev.
Reid.Atcheson

@JM: Chính xác. Nhưng có cách nào để đánh giá tính chính xác của các phương pháp này trong số các đánh giá RHS, ngoài các thí nghiệm bằng số (sẽ rất liên quan, với số lượng phương pháp khả thi cao)?
Florian Brucker

@Florian, không nói chung. Bạn đã nghe nói về phương trình Lorenz, tôi đoán?
JM

1
@JM: Có :) Đó là lý do tại sao tôi đã đề cập đến ví dụ cầu phương, trong đó độ chính xác được đo là một tập hợp con (đa thức) của không gian vấn đề ban đầu. Tôi hài lòng với kết quả chỉ hoạt động đối với một tập hợp con vấn đề nhất định.
Florian Brucker

3

Reid và David đã trả lời các câu hỏi kỹ thuật, nhưng dù sao tôi cũng muốn cung cấp một số bối cảnh cho nó. Ngày nay, đối với hầu hết các ODE mà bạn có thể nghĩ đến, bạn có thể đạt được độ chính xác hoàn hảo về cơ bản (giả sử, ) với hầu hết các gói giải ODE tốt về cơ bản không có thời gian nếu đánh giá f ( x ) là miễn phí.10-14f(x)

Tất nhiên có những trường hợp ngoại lệ (hệ thống rất lớn, hệ thống rất cứng) nhưng một tâm lý phổ biến trong cộng đồng là câu hỏi về việc thiết kế bộ giải ODE cho hệ thống "tiêu chuẩn" là một câu hỏi. Do đó, tôi nghĩ rằng câu hỏi bạn đặt ra không phải là một câu hỏi rất thú vị - nó giải quyết một thành phần của thiết kế bộ giải ODE không còn quan trọng nữa. Điều này cũng có thể giải thích sự thiếu văn học về chủ đề này.


+1. Bất cứ khi nào ai đó hỏi về người giải quyết ODE hiệu quả, tôi chỉ cho rằng họ quan tâm đến các hệ thống ODE khổng lồ đến từ sự bán rời PDE hoặc các vấn đề cơ thể lớn.
David Ketcheson

Bạn có thể vui lòng giải thích làm thế nào điều này liên quan đến câu hỏi của tôi? Tôi không thấy kết nối, vì tôi quan tâm đến trường hợp đánh giá f(x)không miễn phí mà lại tốn kém đến mức số lượng đánh giá bị hạn chế.
Florian Brucker

@DavidKetcheson: Đây không phải là trường hợp ở đây. Thay vào đó, chúng tôi có các yêu cầu về thời gian rất nghiêm ngặt (thời gian thực cứng) trên phần cứng yếu (thiết bị nhúng). Các hệ thống ODE tương đối nhỏ.
Florian Brucker

NNNN

NNN<1000

1

Ôi(dTôim3)Ôi(dTôim2)

Vì vậy, điểm đầu tiên là đảm bảo nếu RHS của bạn thực sự đắt hơn đại số tuyến tính cơ bản.

Điểm thứ hai: được biết đến từ tài liệu rằng người giải quyết dựa trên các phương thức "đắt tiền" (tức là phương pháp RK rõ ràng) đôi khi thực hiện nhanh hơn phương pháp "rẻ hơn" (phương pháp nhiều bước rõ ràng).

Tóm tắt, tôi nghĩ rằng bạn không nên chỉ xem xét các đánh giá RHS.


N
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.