Điều khiển tối ưu

26 6 0
  • Loading ...
1/26 trang

Thông tin tài liệu

Ngày đăng: 28/11/2016, 22:06

Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Điều khiển tối ưu Lý thuyết điều khiển nâng cao 28 November 2016 `Phụ lục Nội dung Phụ lục Bài 1Giới thiệu chung Định nghĩa Điều kiện hạn chế Bài toán điều khiển tối u 3.1 Điều khiển tối u tĩnh 3.2 Điều khiển tối u động Bài Điều khiển tối u tĩnh Mô tả toán học Biểu diễn hình học Giả thiết cho lời giải 3.1 Bài toán tối u giới hạn 3.2 Bài toán tối u có giới hạn Bài Phơng pháp không dùng đạo hàm riêng Đặt vấn đề Phơng pháp Gauss/Seidel Các phơng pháp khác 3.1 Phơng pháp Rosenbrock 3.2 Phơng pháp đơn hình 3.3 Phơng pháp hớng tìm ngẫu nhiên Bài Phơng pháp đạo hàm riêng Đặt vấn đề Đạo hàm riêng theo nghĩa hẹp Phơng pháp hạ nhanh Bài Phơng pháp hớng liên hợp Đặt vấn đề Thuật toán hớng liên hợp Bài Phơng pháp Newton/Raphson Nội dung phơng pháp Thuật toán Newton-Raphson Bài Cực tiểu hoá hàm biến Đặt vấn đề Phơng pháp nhát cắt vàng Phơng pháp Fibonaci Bài Bài toán tối u có giới hạn Bài toán tối u có giới hạn Phơng pháp đổi biến độc lập Phơng pháp sử dụng hàm phạt hàm chặn 3.1 Hàm phạt 3.2 Hàm chặn Tài liệu tham khảo Nguyễn Hoài Nam Trang 3 4 6 7 10 10 10 13 13 13 14 15 15 16 16 17 17 19 21 21 21 24 24 25 26 28 28 28 29 29 29 31 Lý thuyết điều khiển nâng cao 28 November 2016 Bài Giới thiệu chung Định nghĩa Điều khiển tối u chuyên ngành điều khiển tự động, có vai trò xác định tạo lập luật điều khiển cho hệ thống để hệ thống đạt đợc tiêu tính hiệu đợc định trớc dới dạng hàm mục tiêu Q Trong thực tế tồn toán điều khiển tối u nh sau: - Bài toán tối u cực tiểu: + Xác định tham số mô hình cho bình phơng sai lệch trung bình mô hình đối tợng đạt giá trị nhỏ nhất, ví dụ nh huấn luyện mạng nơ-ron, nhận dạng đối tợng, + Điều khiển trình đạt tiêu chất lợng, kỹ thuật cho trớc cho tổn hao lợng nhỏ + Tạo sản phẩm đạt tiêu chất lợng cho trớc nhng chi phí nhỏ + Bài toán tìm đờng ngắn hai điểm bất kỳ, ví dụ nh xác định quĩ đạo chuyển động cánh tay rô bốt, đờng thu rác, thu tiền điện, thu tiền nớc, chào hàng - Bài toán tối u cực đại + Tạo sản phẩm với chi phí cho trớc, nhng có chất lợng cao + Bài toán tìm đờng căng - Bài toán tối u tác động nhanh: Thời gian xảy trình ngắn nhất, ví dụ nh điều khiển tên lửa Điều kiện hạn chế Cho hệ thống nhiều đầu vào nhiều đầu ra, đợc mô tả hệ phơng trình nh sau: y = f(x,u) đợc gọi mô hình toán học T u = (u1 u2 ur) đầu vào x = (x1 x2 xn)T trạng thái y = (y1 y2 ym)T đầu Nguyễn Hoài Nam Lý thuyết điều khiển nâng cao 28 November 2016 Do toán tối u đợc thực mô hình hệ thống, lời giải toán tối u phụ thuộc vào độ xác mô hình hệ thống Những tín hiệu mô tả đợc phơng trình đợc coi nhiễu tác động Bài toán điều khiển tối u Bài toán tối u đợc xây dựng dựa giả thiết sau: + Có mô hình toán học + Không có nhiễu tác động + Biết điều kiện biên mô hình nh điểm làm việc, thời gian làm việc hệ thống + Biết miền giá trị cho phép đầu vào u + Biết hàm mục tiêu Q mô tả tính hiệu mà hệ thống cần đạt đợc Mục đích điều khiển tối u tìm tín hiệu tối u u* để hàm mục tiêu Q đạt giá trị cực đại cực tiểu Với giả thiết có nhiều phơng pháp giải toán điều khiển tối u khác Trong chơng trình môn học này, nghiên cứu phơng pháp lĩnh vực điều khiển tối u, đợc chia thành hai nhóm nh sau: + Điều khiển tối u tĩnh + Điều khiển tối u động 3.1 Điều khiển tối u tĩnh Bài toán điều khiển tối u tĩnh toán quan hệ vào, biến trạng thái mô hình không phụ thuộc vào thời gian Giá trị đầu thời điểm phụ thuộc vào đầu đầu vào trạng thái thời điểm Mô hình hệ thống đợc cho nh sau: yk = fk(u1, u2, ur), với k = 1, 2, , m, viết gọn lại thành y = f(u) Hàm mục tiêu nh sau: Q = Q(u,y) Thay y = f(u) vào hàm mục tiêu đợc: Q = Q(u,y) = Q(u,f(u)) = Q(u), nh Q phụ thuộc vào đầu vào đầu 3.2 Điều khiển tối u động Bài toán điều khiển tối u động toán mô hình toán học có phơng trình vi phân dxi = f i ( x, u ) dt Nguyễn Hoài Nam Lý thuyết điều khiển nâng cao 28 November 2016 Cho mô hình hệ thống nh sau: x i = f i ( x1 , x , x n , u1 , u , u r ) với i = ữ n , viết gọn lại thành: x = f ( x, u ) Các đầu hệ thống y = g ( x, u ) với y = ( y1 , y , , y m ) T Hàm mục tiêu đợc định nghĩa nh sau: Q = f ( x, u )dt , trontg T thời gian xảy trình tối u Với toán điều khiển tối u tĩnh, toán cực trị với điều kiện ràng buộc Có nhiều phơng pháp giải toán cực trị, nghiên cứu phơng pháp phi tuyến: + Các phơng pháp không dùng đạo hàm riêng + Các phơng pháp đạo hàm riêng + Phơng pháp hớng liên hợp + Phơng pháp Newton-Raphson Với toán điều khiển tối u động, nghiên cứu phơng pháp sau: + Phơng pháp biến phân kinh điển + Phơng pháp cực đại Pontrjagin + Phơng pháp qui hoạch động Bellman Bài Điều khiển tối u tĩnh Mô tả toán học Mô hình hệ thống có dạng nh sau: y = f(u) với u U u = (u1 u2 ur)T đầu vào y = (y1 y2 ym)T đầu U miền thích hợp biến đầu vào, đợc định nghĩa nh sau: { U = u = (u1 , u , u ủ ) T u k u k u k max ; k = ữ r } Hàm mục tiêu có dạng nh sau: Q = Q(u,y) = Q(u,f(u)) = Q(u) Không tính tổng quát giả thiết tiêu chuẩn tối u là: Q(u) Bài toán điều khiển tối u tĩnh đợc phát biểu nh sau: Tìm tín hiệu tối u u* U , cho Q(u*) đạt giá trị nhỏ Khi đó, ta có Q(u * ) Q(u ) Nguyễn Hoài Nam u U (1) Lý thuyết điều khiển nâng cao 28 November 2016 Nếu u* thoả mãn (1) với u thuộc U, u* đợc gọi véc tơ tối u toàn cục Nếu u* thoả mãn (1) với u thuộc lân cận u*, u* đợc gọi véc tơ tối u cục Biểu diễn hình học Xét hệ thống có hai tín hiệu đầu vào u u2 Hàm mục tiêu Q phụ thuộc vào u1 u2, Q = Q(u1,u2) Giả thiết hàm mục tiêu Q có đồ thị nh hình u * u Vậy điểm tối u u* = 1* điểm thuộc mặt phẳng (u1,u2), mặt cong Q điểm thấp Điểm A điểm tối u cục bộ, điểm B điểm yên ngựa điểm C điểm tối u toàn cục Tập hợp điểm nằm mặt phẳng (u 1,u2), điểm hàm mục tiêu Q có giá trị đợc gọi đờng đồng mức Q B A C O u1 đờng đồng mức u2 Hình Giả thiết cho lời giải 3.1 Bài toán tối u giới hạn - Nghiệm u* toán tối u giới hạn điểm cực trị Các điểm cực trị thoả mãn hệ phơng trình vi phân Nguyễn Hoài Nam Q =0 u k k = 1,2 , r hay Lý thuyết điều khiển nâng cao 28 November 2016 Q Q Q Q T =( , , , ) =0 u u1 u u r - Tại điểm u mặt cong Q tồn véc tơ đạo hàm riêng gradQ = Q , ký hiệu u Q , véc tơ đạo hàm riêng gradQ có tính chất sau: u + Có phơng vuông góc với mặt cong Q + Có hớng chiều tăng giá trị đờng đồng mức + Có độ lớn thể tốc độ tăng hay giảm giá trị Q Do điểm cực trị mặt cong Q phải có gradQ = (*) Hệ phơng trình điều kiện cần để tìm nghiệm tối u u* Để giải hệ phơng trình (*) gặp vấn đề sau: + Hệ phơng trình (*) hệ phi tuyến, dẫn đến việc giải trực tiếp khó thực đợc + Có nhiều điểm u* thoả mãn hệ phơng trình (*) nhng nghiệm tối u Thực tế, phơng pháp gần đợc sử dụng nhiều hơn, theo thuật toán tìm nghiệm bớc Thuật toán tìm nghiệm bớc + Bớc 1: Cho > bé tuỳ ý, chọn u0 Thực bớc sau với k = 1, + Bớc 2: Xác định hớng tìm khoảng cách bớc tìm + Bớc 3: Tìm uk theo hớng tìm khoảng cách bớc tìm + Bớc 4: Kiểm tra điều kiện Nếu || uk - uk-1 || chuyển sang bớc Nếu || uk - uk-1 || > quay bớc + Bớc 5: Nghiệm tối u gần u* = uk với độ xác 3.2 Bài toán tối u có giới hạn Nguyễn Hoài Nam Lý thuyết điều khiển nâng cao 28 November 2016 Bản chất tìm nghiệm tối u u* gần cho toán mà u bị giới hạn miền thích hợp U Thuật toán tìm nghiệm bớc giống nh trên, nhng cần phải ý trờng hợp sau: + Nếu nghiệm tối u u* không nằm biên U gradQ = điều kiện cần để tìm u* + Nếu miền thích hợp U không tồn nghiệm u* thoả mãn điều kiện gradQ = 0, nghiệm tối u u* nằm biên U điểm u* véc tơ đạo hàm riêng gradQ phải có hớng vào miền U Thuật toán tìm nghiệm tối u u* cho toán tối u có giới hạn + Bớc 1: Cho > bé tuỳ ý, chọn u0 Thực bớc sau với k = 1, + Bớc 2: Xác định hớng tìm khoảng cách bớc tìm thích hợp u k U + Bớc 3: Tìm uk theo hớng tìm khoảng cách bớc tìm + Bớc 4: Kiểm tra điều kiện Nếu || uk - uk-1 || chuyển sang bớc Nếu || uk - uk-1 || > quay bớc + Bớc 5: Nghiệm tối u gần u* = uk với độ xác Nguyễn Hoài Nam Lý thuyết điều khiển nâng cao 28 November 2016 Bài Phơng pháp không dùng đạo hàm riêng Đặt vấn đề Việc tìm u* thông qua hệ phơng trình vi phân gradQ = (*) tốt cho trờng hợp lý sau: + Hệ phơng trình (*) phức tạp + Hàm mục tiêu Q tồn nhiều điểm cực trị điểm thoả mãn hệ phơng trình (*) + Không phải hàm mục tiêu khả vi Chính lý này, mà cần phải có phơng pháp tìm nghiệm tối u u* mà không dùng véc tơ đạo hàm riêng (gradient) Phơng pháp Gauss/ Seidel Cho mô hình hệ thống y = f(u) Hàm mục tiêu đợc định nghĩa Q = Q(u) Tìm u* Q đạt giá trị nhỏ nhất, tức Q Giả sử u* nghiệm tối u thoả mãn Q , ký hiệu u* = argminQ Nội dung phơng pháp Gauss/Seidel + Hớng tìm đợc chọn song song với trục toạ độ ui với i = 1, 2, , r Kí hiệu hớng tìm bớc thứ k hk + Khoảng cách bớc tìm bớc thứ k đợc ký hiệu sk sk đợc xác định nh sau: s k* = arg Q(u k + s k h k ) Thuật toán tìm nghiệm Gauss/Seidel + Bớc 1: Cho > bé tuỳ ý, chọn u0 Thực bớc sau với k = 0, 1, + Bớc 2: - Xác định hớng tìm hk: h k = , hk véc tơ có r hàng, có hàng thứ k + có giá trị 1, hàng khác không Nguyễn Hoài Nam Lý thuyết điều khiển nâng cao 28 November 2016 - Xác định khoảng cách bớc tìm sk: sk đợc xác định cho hàm mục tiêu đạt giá trị nhỏ hớng tìm hk sk* = argminQ(uk + skhk) + Bớc 3: uk+1 = uk + sk*hk + Bớc 4: Kiểm tra điều kiện Nếu || uk+1 - uk || chuyển sang bớc Nếu || uk+1 - uk || > quay bớc + Bớc 5: Nghiệm tối u gần u* = uk+1 Ví dụ: Cho hàm mục tiêu Q = u12 + 2u 22 , tìm u* Q 1 Bớc 1: Cho = 10 , chọn u = k = Bớc 2: Chọn h = 1 + s u = u + s0 h = + s0 = Q(u1) = (1 + s ) + , ta có Q(u ) = 2(1 + s ) = , suy s0 = -1 s Vậy s0* = argminQ(u1) = -1 Bớc 3: 1 + s u = u + s0 h = + s0 = = Bớc 4: ||u1 - u0|| = > quay bớc k =1 Bớc 2: Chọn h = 0 u = u + s1 h1 = + s1 = 1 + s1 Q(u2) = + 2(1 + s1 ) , ta có Q(u ) = 4(1 + s1 ) = , suy s1 = -1 s1 Vậy s1* = argminQ(u2) = -1 Bớc 3: Nguyễn Hoài Nam Lý thuyết điều khiển nâng cao 28 November 2016 u2 = = * + s1 Bớc 4: ||u2 - u1|| = > quay bớc k = Bớc 2: Chọn h = s u = u + s2 h = + s2 = Q(u3) = s 22 + 2.0 , ta có Q(u ) = s = , suy s2 = s Vậy s2* = argminQ(u3) = Bớc 3: s * u2 = = Bớc 4: ||u3 - u2|| = < chuyển sang bớc Bớc 5: u* = u3 = Sau hai vòng tính ta tìm đợc nghiệm tối u u* = u2 u điểm phơng pháp là: hệ thống có r đầu vào, hàm mục tiêu có dạng phơng nghiệm tối u u* đợc tìm thấy sau r vòng Các phơng pháp khác 3.1 Phơng pháp Rosenbrock Hệ trục toạ độ đợc xoay sau lần tìm đợc nghiệm uk từ uk-1 cho trục toạ độ hệ trùng với hớng véc tơ uk - uk-1 Ưu điểm phơng pháp tốc độ hội tụ cao phơng pháp Gauss/Seidel hàm mục tiêu phức tạp (các đờng đồng mức không đối xứng, hàm mục tiêu dạng phơng) 3.2 Phơng pháp đơn hình Nguyễn Hoài Nam 10 Lý thuyết điều khiển nâng cao 28 November 2016 Bài Phơng pháp đạo hàm riêng Đặt vấn đề Theo phơng pháp này, hớng tìm đợc xác định theo véc tơ đạo hàm riêng hàm mục tiêu Q theo biến đầu vào gradQ Vấn đề đặt tính véc tơ đạo hàm riêng gradQ nh nào? Tuỳ thuộc vào hàm mục tiêu Q đợc cho dới dạng công thức, bảng tra hay thuật toán mà ta có phơng pháp tính gradQ khác Khi hàm gradQ cho dới dạng công thức, tính gradQ theo phơng pháp giải tích Q u Q gradQ (u k ) = u : Q u r lấy đạo hàm riêng theo biến đầu vào u i, sau u = uk thay giá trị u = uk vào Nếu hàm mục tiêu Q cho dới dạng bảng tra thuật toán có phơng pháp tính gradQ nh sau: + Phơng pháp thứ nhất: Q u i = u = uk [ Q( k u1 , k u , , k u i + u i , , k u r ) Q( k u1 , k u , , k u i , , k u r ) u i ] với i = 1, 2, , r + Phơng pháp thứ hai: Nguyễn Hoài Nam 12 Lý thuyết điều khiển nâng cao 28 November 2016 Q u i = u = uk [ Q( k u1 , k u , , k u i + u i , , k u r ) Q( k u1 , k u , , k u i u i , , k u r ) 2u i ] với i = 1, 2, , r Phơng pháp đạo hàm riêng theo nghĩa hẹp Hớng tìm có hớng ngợc lại so với hớng véc tơ đạo hàm riêng gradQ hk = gradQ(uk) Khoảng cách bớc tìm tỉ lệ với độ lớn gradQ(uk) Giá trị uk+1 đợc tính theo công thức sau: uk+1 = uk - s.gradQ(uk) Khoảng cách bớc tìm s có ảnh hởng lớn đến tốc độ hội tụ phơng pháp + Nếu s nhỏ, số bớc tính lớn, số lần tính gradQ nhiều + Nếu s lớn, chuỗi giá trị {uk} phân kỳ Vì điểm cực trị gradQ(u) = nên phơng pháp cho dãy {uk} hội tụ đến điểm cực trị Khi Q điểm yên ngựa, điểm cực trị cục toàn cục Muốn tìm nghiệm tối u u* toàn cục, nên áp dụng phơng pháp cho nhiều điểm ban đầu u0 khác Phơng pháp hạ nhanh Bản chất phơng pháp phơng pháp dùng véc tơ đạo hàm riêng có hớng tìm không cố định theo gradQ từ đầu đến cuối Hớng tìm đợc xác định nh sau: h0 = -gradQ(u0) Khoảng cách bớc tìm đợc xác định nh sau: s 0* = arg Q(u + s h ) suy u1 = u0 + s0*h0 Với k = 1, 2, Chọn hk cho hkThk-1 = Chuỗi giá trị {uk*} có tốc độ hội tụ lớn cách xa u*, gần u* độ hội tụ giảm Thuật toán hạ nhanh Bớc 1: Cho > đủ bé, chọn u0 h0 = -gradQ(u0) s 0* = arg Q(u + s h ) Nguyễn Hoài Nam 13 Lý thuyết điều khiển nâng cao 28 November 2016 u1 = u0 + s0*h0 Thực bớc sau với k = 1, 2, 3, Bớc 2: Tìm hớng hk cho: hkThk-1 = Tìm sk* nh sau: sk* = argminQ(uk + skhk) Bớc 3: Tính uk+1 = uk + sk*hk Bớc 4: Kiểm tra điều kiện Nếu || uk+1 - uk || chuyển sang bớc Nếu || uk+1 - uk || > quay bớc Bớc 5: Kết thúc Nghiệm tối u gần u* = uk+1 với độ xác Bài Phơng pháp hớng liên hợp Đặt vấn đề Xét hàm mục tiêu có dạng phơng: Q = u T Au + b T u A ma trận đơn vị u = (u1 u2 ur)T b = (b1 b2 br)T Nguyễn Hoài Nam 14 Lý thuyết điều khiển nâng cao 28 November 2016 Theo phơng pháp Gauss/Seidel, u* đợc tìm thấy sau r bớc u* thoả mãn điều kiện Q = Au + b = u * = Ab u Theo phơng pháp Gauss/Seidel, hớng tìm song song với trục toạ độ, xuất phát từ để tới phơng pháp hớng liên hợp ý tởng phơng pháp là: hớng tìm vòng thứ k đợc tìm theo hớng tìm vòng thứ k - 1, cho: hk-1Thk = Xét hàm mục tiêu kỳ, ma trận A ma trận đơn vị Nh ta phải chuyển hệ trục toạ độ để đa A dạng ma trận đơn vị Khi hớng tìm hk chuyển thành pk Coi A toán tử tuyến tính biến đổi hệ trục toạ độ, qua phép biến đổi hk chuyển thành pk Khi pk phải có tính chất sau: pk-1Apk = Các hớng tìm pk với k = 1, 2, ,r đợc xác định nhờ công thức sau: T k p i Av k i =1 pi A pi pk = vk T pi vi với i = 1, 2, ,r sở không gian R r, có nghĩa véc tơ v1, v2, vr độc lập tuyến tính với Hớng tìm ban đầu p0 đợc xác định nhờ véc tơ gradQ đợc xác định ngẫu nhiên Dọc theo hớng tìm pk, uk đợc tìm cho Q(uk) đạt giá trị nhỏ sk* = argminQ(uk-1 + skpk) uk = uk-1 + sk*pk Thuật toán hớng liên hợp Chọn véc tơ sở vi nh sau: vk = -gk-1 với k = 1, 2, , r Trong gk = gradQ(uk) = Auk + b pk+1 = -gk + ekpk với k = 0, 1, , r-1 Trong p0 = -g0, hệ số đổi hớng T ek = p k Ag k T pk A pk Dọc theo hớng tìm pk+1, uk+1 đợc tìm theo từ uk theo nguyên tắc hàm Q đạt giá trị nhỏ sk+1* = argminQ(uk + sk+1pk+1) uk+1 = uk + sk+1*pk+1 Thuật toán Bớc 1: Nguyễn Hoài Nam 15 Lý thuyết điều khiển nâng cao 28 November 2016 Chọn u0, e0 = p0 = -g0 = -(Au0 + b) Thực bớc sau với k = 1, 2, , r-1 Bớc 2: gk = gradQ(uk) = Auk + b T ek = p k Ag k T pk A pk pk+1 = -gk + ekpk sk+1* = argminQ(uk + sk+1pk+1) Bớc 3: uk+1 = uk + sk+1*pk+1 Bớc 4: u* = ur Phơng pháp hớng liên hợp có tính chất sau: + giTgj = với i j + piTgk = với i k + Nghiệm tối u u* thoả mãn hệ phơng trình Au* + b = Phơng pháp thích hợp cho hàm mục tiêu có dạng: Q = u T Au + b T u với A ma trận xác định dơng Khi hàm mục tiêu có dạng bất kỳ, không giống với dạng ta dung phơng pháp để tìm u*, nhiên cần phải thay đổi Hệ số đổi hởng đợc tính từ Q có dạng tổng quát: ek = gk g k 2 Nghiệm tối u tìm đợc nghiệm Nguyễn Hoài Nam 16 Lý thuyết điều khiển nâng cao 28 November 2016 Bài Phơng pháp Newton-Raphson Nội dung phơng pháp Phơng pháp tìm nghiệm tối u sử dụng đạo hàm bậc bậc hai hàm mục tiêu nên phải giả thiết hàm mục tiêu Q(u) khả vi hai lần Để giải hệ phơng trình Q(u ) = (*) phơng pháp giải tích, trớc tiên hệ (*) đợc khai triển u thành chuỗi Taylor uk thuộc lân cận nghiệm tối u u* nghiệm (*) nh sau: Q(u ) Q(u ) Q(u ) * = + (u u k ) + + = uk u u * u u k u tiếp theo, bỏ qua đạo hàm bậc cao Khi u* nghiệm mà nghiệm gần Gọi nghiệm gần là uk+1 u* , thay vào hệ phơng trình ta có: Q(u ) Q( u ) + (u k +1 u k ) =0 uk u u k u 2Q 2Q u u r u Đặt H(u) = , g k = gradQ(u k ) 2Q Q u r u u r Suy uk+1 = uk - H-1(uk)gk Thuật toán Newton-Raphson Bớc 1: Nguyễn Hoài Nam 17 Lý thuyết điều khiển nâng cao 28 November 2016 Cho > đủ bé, chọn u0 Thực bớc sau với k = 0, 1, 2, Bớc 2: Tính g k = gradQ(u k ) Tính H(uk) Bớc 3: Tính uk+1 = uk - H-1(uk)gk Bớc 4: Kiểm tra điều kiện Nếu || uk+1 - uk || chuyển sang bớc Nếu || uk+1 - uk || > quay bớc Bớc 5: Kết thúc Nghiệm tối u gần u* = uk+1 Ưu điểm: Nếu hàm mục tiêu có dạng Q = u T Au + b T u , phơng pháp cho giá trị u* sau vòng tính Ví dụ: Cho hàm mục tiêu Q = 3u12 + 4u22 + u1u2 với = 10 Q u 6u + u g = gradQ(u ) = = Q 8u + u1 u 2Q u H (u ) = Q u u H (u ) = 2Q u1 u = Q u 22 47 Bớc 1: u0 = Bớc 2: 6u + u g0 = = , H (u ) = H (u ) = 8u + u1 47 Bớc 3: Nguyễn Hoài Nam 18 Lý thuyết điều khiển nâng cao 28 November 2016 1 u = u H (u ) g = = 47 Bớc 4: ||u1 - u0|| = > quay bớc k = Bớc 2: 6u + u g1 = = , H (u ) = H (u ) = 8u + u1 47 Bớc 3: 0 u = u H (u ) g = = 47 0 Bớc 4: ||u2 - u1|| = < chuyển sang bớc Bớc 5: Nghiệm tối u u* = u = Bài Cực tiểu hoá hàm biến Đặt vấn đề Nguyễn Hoài Nam 19 Lý thuyết điều khiển nâng cao 28 November 2016 Trong phơng pháp học, để tìm u* ta phải tìm sk* cách giải toán tối u hàm mục tiêu theo hớng chọn sk* = argminQ(uk + skhk) Đi tìm sk*, ta sử dụng phơng pháp đạo hàm, tức phải giải phơng trình: Q = s k Để cài đặt thành thuật toán, sử dụng số phơng pháp để tìm sk* mà không dùng đạo hàm Ta biết Q(uk + skhk) hàm số biến, phục thuộc vào s k, ta xét toán cực tiểu hoá hàm biến - Xét hàm số biến Q(s), giả thiết hàm số Q(s) thoả mãn điều kiện sau: + Q(s) đơn điệu giảm < s < s* + Q(s) đơn điệu tăng s* < s + s* nghiệm tối u + Biết điểm s = s1 Đồ thị hàm mục tiêu Q(s) có dạng nh hình Q(s) O s* f(x) Hình s s1 O Chuẩn hoá hàm Q(s) với s = xs1, suy x = x* Hình x s , nh x Khi hàm s1 Q(s) = Q(xs1) = f(x), f(x) có độ thị nh hình f(x) có điểm cực tiểu x* khoảng (0 1), f(1) > f(0) [0 1] đợc gọi khoảng nghiệm Nguyên tắc tìm nghiệm x* thu nhỏ khoảng nghiệm qua bớc Trong khoảng [0 1] chọn giá trị x1 x2 cho: < x1 < x2 < Xét trờng hợp sau: + Nếu f(x1) < f(x2), khoảng nghiệm đợc chọn [0 x2] + Nếu f(x1) f(x2), khoảng nghiệm đợc chọn [x1 1] Nguyễn Hoài Nam 20 Lý thuyết điều khiển nâng cao 28 November 2016 Vấn đề lại chọn x1 x2 nh để tốc độ hội tụ cao nhất, độ tìm thấy x* nhanh Phơng pháp nhát cắt vàng Xác định x1, x2 cho sau lần chia hai phía có tỉ lệ khoảng lớn toàn khoảng nghiệm tỉ lệ khoảng nhỏ chia cho khoảng lớn Xét khoảng nghiệm [xmin xmax] Gọi d độ dài khoảng nghiệm d = xmax - xmin Lấy hai điểm x1 < x2 đối xứng qua điểm khoảng nghiệm [xmin xmax] Độ dài khoảng lớn là: x2 - xmin xmax - x1 Độ dài khoảng nhỏ là: xmax - x2 x1 - xmin Ta có biểu thức sau: x x x max x = , suy ( x x ) = d ( x max x2 ) d x x Giải phơng trình đợc: x x = d , đặt a = = 0,618 2 Sau lần chia, khoảng nghiệm [xmin x2] [x1 xmax], x1 x2 đợc lấy đối xứng cho nên: x2 - xmin = xmax- x1, khoảng nghiệm thu đợc ad = 0,618d Sau n lần thu nhỏ khoảng nghiệm có độ rộng and = (0,618)nd Thuật toán tìm x* gần theo phơng pháp nhát cắt vàng Bớc 1: Gán xmin = 0; xmax = 1; > đủ bé Tính f(xmin) f(xmax) Chọn x2 = 0,618, tính f(x2) Bớc 2: Xác định x1 cho x1 đối xứng qua trung điểm đoạn [xmin xmax] Bớc 3: Tính f(x1), f(x2) + Nếu f(x1) < f(x2), gán xmax = x2 + Nếu f(x1) f(x2), gán xmin = x1 Bớc 4: Kiểm tra Nếu |xmax -xminh| < chuyển sang bớc Nếu |xmax -xminh| > quay bớc Bớc 5: Nghiệm tối u gần x* đợc chọn điểm thuộc khoảng [xmin xmax] Nguyễn Hoài Nam 21 Lý thuyết điều khiển nâng cao 28 November 2016 Phơng pháp Fibonaci Xét dãy Fibonaci {1, 1, 2, 3, 5, 8, , } Gọi Fi phần tử thứ i dãy Fibonaci Fi đợc xác định theo công thức sau: Fi = Fi-1 + Fi-2 Trong đó, hai phần tử dãy F1 F2 đợc xác định nh sau: F1 = F2 = Nội dung phơng pháp Fibonaci bớc thu nhỏ khoảng nghiệm thứ k, tỉ lệ khoảng nhỏ với khoảng lớn k = Fn k + , với n số bớc thu nhỏ khoảng nghiệm đợc chọn từ trớc Fn k +3 Ta có: Hệ số thu nhỏ khoảng nghiệm thứ là: = Hệ số thu nhỏ khoảng nghiệm thứ hai là: = Fn +1 Fn + Fn Fn +1 Hệ số thu nhỏ khoảng nghiệm thứ k là: k = Fn k + Fn k +3 Hệ số thu nhỏ khoảng nghiệm thứ n là: n = F2 F3 Sau n lần thu nhỏ khoảng nghiệm, khoảng nghiệm có hệ số thu nhỏ khoảng nghiệm so khoảng nghiệm ban đầu là: = n = Fn + Thuật toán tìm nghiệm x* gần theo phơng pháp Fibonaci Bớc 1: Gán xmin = 0; xmax = 1; > đủ bé Tính f(xmin) f(xmax) Tìm n thoả mãn điều kiện: < Fn +2 Thực bớc sau với k = 1, 2, 3, , n Bớc 2: Tính k = Fn k + Fn k +3 Xác định x1, x2 thoả mãn điều kiện: + x1 < x2 đối xứng qua trung điểm đoạn [xmin xmax] + x1 x = k x max x1 Nguyễn Hoài Nam 22 Lý thuyết điều khiển nâng cao 28 November 2016 Bớc 3: Tính f(x1), f(x2) + Nếu f(x1) < f(x2), gán xmax = x2 + Nếu f(x1) f(x2), gán xmin = x1 Gán k = k + Kiểm tra: k > n chuyển sang bớc 4, ngợc lại quay bớc Bớc 4: Nghiệm tối u gần x* đợc chọn điểm thuộc khoảng [xmin xmax] Bài Bài toán tối u có giới hạn Bài toán tối u có giới hạn Cho mô hình hệ thống có dạng nh sau: y = f(u) với u U u = (u1 u2 ur)T đầu vào y = (y1 y2 ym)T đầu U miền thích hợp biến đầu vào, đợc định nghĩa nh sau: { U = u = (u1 , u , u ủ ) T u k u k u k max ; k = ữ r } Thực chất toán tối u có giới hạn tìm nghiệm tối u u* điều kiện u bị giới hạn miền thích hợp U Phơng pháp đổi biến độc lập Sử dụng phơng pháp tìm nghiệm tối u u* toán giới hạn U cách dùng phép chuyển vị u = (v) Phép chuyển vị phi tuyến, thoả mãn điều kiện: v R r u U Khi toán tìm: * u = arg Q(u ) u U thành toán tìm: * v = arg Q(v ) v R r Nguyễn Hoài Nam 23 Lý thuyết điều khiển nâng cao 28 November 2016 Sau tìm đợc v*, ta tìm đợc u* = (v*) Tuỳ theo miền giới hạn U mà ta chọn phơng pháp chuyển vị sau: + u k : Thay u k = vk2 + u k a : Thay u k = 2v k a + v k2 + u k u k u k max : Thay u k = (u k max + u k ) + + u k < u k < u k max : Thay v k = ln vk (u k max u k ) + v k2 u k u k u k max u k Phơng pháp sử dụng hàm phạt hàm chặn 3.1 Hàm phạt Trong trình tìm bớc nghiệm tối u, hàm phạt có đợc sử dụng để thông báo thời điểm tại, giá trị uk miền U Việc thông báo hàm phạt thờng giá trị lớn (một cách không bình thờng) điểm gần biên, bên bên Cho hàm mục tiêu Q(u) Tìm * u = arg Q(u ) u U Thay Q(u) = Q(u) + S(u), với điều kiện: S(u) = u U S(u) > u U số dơng đủ lớn áp dụng phơng pháp giải toán tối u không ràng buộc để tìm nghiệm * u ( ) = arg Q(u , ) , nghiệm tối u u* đợc tìm theo công thức sau: u = lim u ( ) * * 3.2 Hàm chặn Trong trình tìm bớc nghiệm tối u, hàm chặn đợc sử dụng để ngăn cản việc giá trị uk vợt miền U Việc ngăn cản hàm Nguyễn Hoài Nam 24 Lý thuyết điều khiển nâng cao 28 November 2016 chặn thờng giá trị lớn (một cách không bình thờng) điểm gần biên, bên bên Thay Q(u) = Q(u) + S(u), với điều kiện: S(u) = u cách xa biên S(u) = + u gần biên số dơng đủ lớn áp dụng phơng pháp giải toán tối u không ràng buộc để tìm nghiệm * u ( ) = arg Q(u , ) , nghiệm tối u u* đợc tìm theo công thức sau: u = lim u ( ) * * Tài liệu tham khảo Nguyễn Hoài Nam 25 Lý thuyết điều khiển nâng cao 28 November 2016 Điều khiển tối u bền vững, Nguyễn Doãn Phớc, Phan Xuân Minh, KH&KT, 2000 Lý thuyết điều khiển tự động đại, Nguyễn Thơng Ngô, KH&KT, 1999 Hệ mờ- Mạng nơron v ứng dụng, Bùi Công Cờng, Nguyễn Doãn Phớc, KH&KT, 2001 Lý thuyết điều khiển mờ, Phan Xuân Minh, Nguyễn Doãn Phớc, KH&KT, 1999 Nhận dạng hệ thống điều khiển, Nguyễn Doãn Phớc, Phan Xuân Minh, KH&KT, 2001 Qui hoạch toán học, Bùi Minh Trí, KH&KT, 1999 Nguyễn Hoài Nam 26
- Xem thêm -

Xem thêm: Điều khiển tối ưu, Điều khiển tối ưu, Điều khiển tối ưu

Gợi ý tài liệu liên quan cho bạn

Từ khóa liên quan

Nạp tiền Tải lên
Đăng ký
Đăng nhập