Thuật toán từng bước (có độ dốc) tốt hơn cho việc giải hệ phương trình phi tuyến

8 21 0
Thuật toán từng bước (có độ dốc) tốt hơn cho việc giải hệ phương trình phi tuyến

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết trình bày phương pháp có tên “từng bước tốt hơn”: Biến việc giải hệ phương trình phi tuyến thành bài toán tìm cực tiểu của một hàm có dạng tổng bình phương.

TẠP CHÍ ĐẠI HỌC SÀI GÒN Số - Tháng 6/2011 THUẬT TỐN TỪNG BƯỚC (CĨ ĐỘ DỐC) TỐT HƠN CHO VIỆC GIẢI HỆ PHƯƠNG TRÌNH PHI TUYẾN NGUYỄN PHÚ VINH (*) TĨM TẮT Trong báo chúng tơi trình bày phương pháp có tên “từng bước tốt hơn”: biến việc giải hệ phương trình phi tuyến thành tốn tìm cực tiểu hàm có dạng tổng bình phương Phương pháp dựa vào hướng gradient giảm dần giá trị hàm để dần xấp xỉ đến giá trị cực tiểu hàm giá trị nghiệm địa phương hệ phương trình ban đầu Quá trình lập trình Matlab để thử nghiệm, so sánh nghiệm tốc độ hội tụ phương pháp với với phương pháp Newton ABSTRACT In this article, we study the steepest - descent algorithmwhich is a transformation of the solving nonlinear equations system into finding the minimum of a multivariable function belonging to the form of sum of squares This method is on the decent of gradient of the function This function value is approached by the minimum of the function which is the local solution of the above nonlinear equations system This process is programmed by Matlab in order to test the solution of this problem It is used to compare the solution and the rate of convergence of this method and Newton method ĐẶT VẤN ĐỀ (*) Việc giải xấp xỉ gần hệ phương trình phi tuyến việc mà nhiều tác giả nước từ lâu quan tâm Nhưng chưa có phương pháp tổng quát để giải hệ phương trình Hiện phương pháp Newton xem phương pháp tốt nhất, tốc độ hội tụ nhanh để giải hệ phi tuyến, phương pháp vạn cho hệ phương trình Trong báo chúng tơi trình bày phương pháp có tên “từng bước tốt hơn”: biến việc giải hệ phương trình phi tuyến thành tốn tìm cực tiểu hàm có dạng tổng bình phương Phương pháp dựa vào hướng gradient giảm dần hàm để dần xấp xỉ đến cực tiểu hàm nghiệm địa phương hệ phương trình ban đầu PHƯƠNG PHÁP VÀ KẾT QUẢ NGHIÊN CỨU 2.1 Phương pháp luận thuật tốn bước tốt (steepest) Đặt toán: giải hệ phi tuyến đa biến sau: (*) TS, Khoa Cơ bản, Đại học Công nghiệp Tp Hồ Chí Minh 91  f1  x1, x , , x n  =  f1  x1, x , , x n      f  x1, x , , x n    f  x1, x , , x n  =   F = , F =        f x , x , , x = f n  x1, x , , x n       n  n ta biến tốn thành tốn tìm cực tiểu hàm có dạng tổng bình phương sau: n g  x1 , x , , x n  =  fi2 = f12  x1, x , , x n  + f 22  x1, x , , x n  + + f n2  x1, x , , x n  i=1 tốn đưa tốn tìm p địa phương: g  p  = g  x  =0 xR n Để làm giảm bước hàm g(x) dần đến cực tiểu hàm, tiến hành với thuật toán sau: bắt đầu với x (0) , sau tìm điểm dần tốt x (1) cho:   x (1) = x (0) - α g x (0) với  >0, (chú ý g hướng có khả làm giảm hàm g(x)),     ta điều chỉnh  để: g x (1)  g x (0)    Để xác định  , cần tìm cực tiểu hàm biến h    g x (0)   g x (0) Nhưng việc khảo sát lấy đạo hàm trực tiếp h   cách thật khó, thay vào làm theo phương pháp steepest sau: Chọn ba số 1     hi vọng chúng gần vị trí cực tiểu hàm h   , cách ta xây dựng tam thức bậc hai P(x) đa thức nội suy Newton tiến   h   ba điểm mốc nội suy 1 ,   Sau ta tìm   1 ,   để P    để xấp xỉ cực tiểu cực tiểu đoạn 1 ,   dùng P  h   Rồi dùng    làm giá trị xấp xỉ cho hàm g, tức là: x (1)  x (0)   g x (0) Tổng qt ta có cơng thức truy hồi để tìm nghiệm xấp xỉ:   x( i 1)  x( i )   g x( i ) Tính cơng thức gradient hàm g: 92 n n i=1 i=1     g  x  =  2fi fi =  2fi fi,1,fi,2 ,fi,3 , ,fi,n = 2f1 f1,1, f1,2 , , f1,n +       2f f 2,1, f 2,2 , , f 2,n + 2f3 f3,1, f3,2 , , f3,n + + 2f n f n,1, f n,2 , , f n,n =  f1,1 f 2,1   f1,2 f 2,2 =2 M  M f  1,n f 2,n f n,1   f   f1,1 f1,2  1  M f n,2  f f f   =  2,1 2,2  M M M   M  M    f M f n,n   f n   n,1 f n,2 M f1,n   M f 2,n  M M  M f n,n  M T  f1  f   2 M   fn  = 2JT F  x1, x , , x n  Trong J Jacobi hàm F  x1 , x2 , , xn  Sau thuật toán steepest 2.2 Thuật toán bước tốt (steepest) Nhập giá trị ban đầu: x   x1 , x2 , , xn  , số bước N cần tính, sai số chịu đựng tính T tốn TOL (tolerant) while k  N Set g1  g  x1 , x2 , , xn  z  g  x1 , x2 , , xn   2J T F  x1 , x2 , , xn  z0  z If z0  then OUTPUT(“Zero gradient, may have a minimum”) , STOP z  While  g3  g1  steps and    / , g3  g  x   z  z , 1  , z0 3  , g3  g  x   z  If   TOL / then OUTPUT(“Improvement, may have a minimum”) , STOP    / , g2  g  x   z  g  g2 h2  , 3  2 g  g1 h1  ,   1  h h h3    1 h1  , h3  10 g0  g  x  0 z   Tìm  từ  ,  3 để g  g  x   z   min g0 , g3 11 x  x  z 12 If g  g1  TOL then OUTPUT(“successful”) , STOP   0.5    93 13 End k=k+1 2.3 Các ví dụ so sánh kết    f  x  2cos x x      f2  x2  x1  sin x3  1.06  0.9  ,    x1 x2  10    f3  60 x3  3e   Ví dụ 1: giải hệ: lấy nghiệm ban đầu x (0)   1,1,1 Với hàm g  T n  fi2  f12  f22  f32 , i 1 Tính Jacobi:       x1 J=   x  sin x  1.06   x x   x2 e  f   1 F   f     f3     k=1, 2sin x2 x3 x3   3 x1 e     2cos  x3  , x1  sin  x3   1.06    2sin x x x  x1 x 60     -136.9376876467  , Thế x để tính g1  g x  8163.7523; z= 2J F =  24.4584536238    10759.2205558461  -0.01272640925754  g x (0)   0.00227306518733  tính chuẩn z0  z =10760.1197537; z    z0  0.99991643234926    (0) (0) T   Vậy     Với 1   g1  g x (0)  1z  g x (0)  8163.7523  Với    F x (0)  3.07635846249709    z =  11.32373711890548   29.51313389084277   94   ==> g3  g x (0)   z  1008.71607578 Vì g3 < g1 nên ta chấp nhận   gán   0.5 , tính  3.28250948349129  (0) F x   z =  11.48734095680031  ==>    59.51632652171600      g2  g x (0)   z  3684.9269934065 Bây dựa vào bảng mốc nội suy: P  1   g1 g2 g3 , để nội suy hàm bậc hai theo  :   g1  h1   1   h3   1      g1  h1  h3     1  g1  8163.7523 phương pháp Newton tiến nhờ bảng liệu sau:   0.5 g2  3684.9269 ;   g3  1008.7160 g  g1 ta có: h1  =-8957.6507317,   1 g  g2 h2  = -5352.42183523, 3  2 h h h3  =3605.228896495   1 Thế h1 , h3 vào P  P /   , sau ta lấy đạo hàm P    để tìm cực tiểu nó, tức giải h    để tìm nghiệm:   0  0.5    h1  =1.4923137322, 3  3.34977423120232  11.14453481099873 ==> g0  g x(0)   z =135.4224723  -0.02878932588947   ==> F x   z =    ta thấy g0 nhỏ g1 g3   (0) Vậy ta lấy x (1) x (0)      1.01899179529672    z   0.99660787360675   -0.49218902305463  tính g x (1)  135.4224723  58.072382205939  k=2, tính lại z= 2J F =  203.772128736778     -2.042514338131  T   T x(2)  x(1)  0 z   0.695645, -0.137993, -0.480816 g x (2)  10.107836 95   Và thuật toán lặp lại với công thức truy hồi: x( i 1)  x( i )   g x( i ) đạt nghiệm gần với nghiệm xác là: (0.498145, -0.199606, -0.528826)T ta lấy tiêu chuẩn dừng thuật toán là: x( k )  x( k 1)   105 , khoảng 28 bước (xem bảng sau) đạt điều k 1 1 x1( k ) x2( k ) x3( k ) g(x) 1.018992 0.695645 0.693185 0.583604 0.582668 0.555173 0.554550 0.535784 0.535372 0.996608 -0.137993 -0.137886 -0.226612 -0.225863 -0.209607 -0.209322 -0.204358 -0.204218 -0.492189 -0.480816 -0.528789 -0.523367 -0.530753 -0.525621 -0.529834 -0.526724 -0.529429 135.422472 10.107836 1.814149 0.494123 0.295721 0.182806 0.118411 0.077100 0.050569 0.522932 -0.202299 -0.527436 0.033205 0.522660 -0.202218 -0.529208 0.021829 0.514463 -0.201270 -0.527910 0.014356 0.514284 -0.201220 -0.529074 0.009448 0.508890 -0.200672 -0.528222 0.006219 0.508772 -0.200640 -0.528988 0.004094 0.505221 -0.200300 -0.528428 0.002696 0.505144 -0.200279 -0.528932 0.001775 0.502806 -0.200060 -0.528564 0.001169 0.502755 -0.200046 -0.528896 0.000770 0.501215 -0.199904 -0.528653 0.000507 96 2 2 0.501181 -0.199895 -0.528872 0.000334 0.500167 -0.199802 -0.528712 0.000220 0.500145 -0.199796 -0.528856 0.000145 0.499477 -0.199735 -0.528751 0.000096 0.499463 -0.199731 -0.528846 0.000063 0.499023 -0.199691 -0.528777 0.000041 0.499013 -0.199688 -0.528839 0.000027 0.498723 -0.199662 -0.528793 0.000018 Vậy sau 28 bước ta có nghiệm xấp xỉ là: (498145, -0.199606, -0.528826)T So với phương pháp Newton thống với ví dụ bảng sau: x1( k ) x2( k ) x3( k ) 1.127638 0.498513 0.498150 0.498145 -0.270927 -0.192263 -0.199606 -0.199606 -0.513022 -0.523877 -0.528826 -0.528826 Ta thấy phương pháp Newton thống có tốc độ hội tụ nhanh nhiều so với phương pháp steepest Ta xét thêm ví dụ sau:    f  x  cos x x x   1   T Ví dụ 2: Giải hệ  f   x1  x2  0.05 x32  0.15 x3   , lấy x(0)   0, 0,  ;  2  f   x1  0.1 x2  0.01 x2  x3    Kết chương trình in bảng sau: cần năm bước hội tụ k x1( k ) x2( k ) x3( k ) g(x) 0.000000 -0.020018 -0.000128 0.009944 0.090056 0.094959 0.994385 0.995265 1.000282 0.008090 0.000449 0.000025 97 -0.001133 -0.000003 0.099438 0.099718 0.999764 0.999995 Nghiệm hệ là: x1=0, x2=0.1, KẾT LUẬN Phương pháp steepest có tốc độ hội tụ chậm nhiều so với phương pháp thống Newton, phương pháp steepest ln chọn hướng (gradient tốt dần) hội tụ toán, chí có tốn mà phương pháp Newton khơng cho ta kết quả, phương pháp steepest lại cho ta kết quả, tất nhiên tốc độ hội tụ phương pháp chậm Trên nhiều phương pháp mà giới nghiên 0.000001 0.000000 x3=1 cứu Ở dựa vào phương pháp tối ưu để tìm cực trị hàm phi tuyến đa biến cho trường hợp riêng hàm phi tuyến đa biến lại dạng tổng bình phương hàm phi tuyến đa biến Các kết bước đầu việc tìm nghiệm địa phương, chưa đề cập đến việc đánh giá sai số nghiệm xấp xỉ nghiệm xác, chưa xác định vùng cận để chọn giá trị ban đầu x (0) cho toán hội tụ đến nghiệm địa phương cần tìm, chúng tơi hẹn báo sau 98 ... cực trị hàm phi tuyến đa biến cho trường hợp riêng hàm phi tuyến đa biến lại dạng tổng bình phương hàm phi tuyến đa biến Các kết bước đầu việc tìm nghiệm địa phương, chưa đề cập đến việc đánh giá... Nghiệm hệ là: x1=0, x2=0.1, KẾT LUẬN Phương pháp steepest có tốc độ hội tụ chậm nhiều so với phương pháp thống Newton, phương pháp steepest chọn hướng (gradient tốt dần) hội tụ tốn, chí có tốn mà phương. .. Newton không cho ta kết quả, phương pháp steepest lại cho ta kết quả, tất nhiên tốc độ hội tụ phương pháp chậm Trên nhiều phương pháp mà giới nghiên 0.000001 0.000000 x3=1 cứu Ở dựa vào phương pháp

Ngày đăng: 27/10/2020, 09:27

Hình ảnh liên quan

Bây giờ dựa vào bảng mốc nội suy: 123 - Thuật toán từng bước (có độ dốc) tốt hơn cho việc giải hệ phương trình phi tuyến

y.

giờ dựa vào bảng mốc nội suy: 123 Xem tại trang 5 của tài liệu.
So với phương pháp Newton chính thống với ví dụ trên như bảng sau: - Thuật toán từng bước (có độ dốc) tốt hơn cho việc giải hệ phương trình phi tuyến

o.

với phương pháp Newton chính thống với ví dụ trên như bảng sau: Xem tại trang 7 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan