Điều khiển tối ƣu hệ tuyến tính với chỉ tiêu chất lƣợng dạng

Một phần của tài liệu Ch­¬ng 1: tæng quan vò ®iòu khión tèi ­u, ®iòu khión LQR (Trang 38)

1.1.2 .Xây dụng bài toán tối ƣu

1.3 ĐIỀU KHIỂN TỐI ƢU CÁC HỆ TUYẾN TÍNH VỚI PHIẾM

1.3.2 Điều khiển tối ƣu hệ tuyến tính với chỉ tiêu chất lƣợng dạng

Xét hệ thống:

Bu Ax

x  (1.122) Chúng ta cần tìm ma trận K của vector điều khiển tối ƣu:

 t Kx t

u  (1.123) thỏa mãn chỉ tiêu chất lƣợng J đạt giá trị cực tiểu:

      0 dt Ru u Qx x J T T (1.124) Trong đó Q là ma trận xác định dƣơng ( hoặc bán xác định dƣơng ), R

là ma trận xác định dƣơng. Chú ý: thành phần thứ hai ở phần bên phải phƣơng trình (1.124) xác định lƣợng năng lƣợng tiêu tốn của tín hiệu điều khiển.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

34

Chúng ta sẽ chứng minh luật điều khiển tuyến tính cho bởi phƣơng trình (1.123) là luật điều khiển tối ƣu. Khi đó, nếu ma trận K đƣợc xác định để tối thiểu hố chỉ tiêu chất lƣợng J thì luật điều khiển u(t) sẽ tối ƣu với mọi trạng thái ban đầu x(0).

Từ (1.122) và (1.123) ta có:

A BKx

BKx Ax

x     (1.125) Thay u t Kx t vào phƣơng trình (1.124):

            0 0 xdt RK K Q x dt RKx K x Qx x J T T T T T (1.126)

Bây giờ ta chọn hàm năng lƣợng:

( ) T

V xx Sx V x( ) 0, x (1.127) với S là ma trận vuông xác định dƣơng.

V x( )x SxTx SxT  x SxT

xT(ABK)TSxx SxT  x S AT ( BK x)

xT (A BK )TS SS A BK(  )x (1.128) Do V(x) xác định dƣơng, nên để hệ thống ổn định thì V x( ) phải là xác định âm. Ta đặt:   ( ) d T T( T ) V x x Sx x Q K RK x dt      ( do Q và R là ma trận xác định dƣơng nên ma trận  TQK RK cũng là xác định dƣơng, từ đó V x( ) sẽ là xác định âm ).  TTT  T   x QK RK x xA BKSS A BK S x    T   T QK RKA BKSS A BK S (1.129)

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

35

Theo tiêu chuẩn ổn định thứ hai của Lyapunov, nếu ma trận (A-BK) ổn định thì sẽ tồn tại một ma trận xác định dƣơng S thoả mãn phƣơng trình (1.129).

Chỉ tiêu chất lƣợng bây giờ có thể đƣợc xác định nhƣ sau:

         0 0 0 0 Sx x Sx x Sx x dt Ru u Qx x J  TT  T    T   T Lƣu ý rằng x  0  Jx   0 TSx0 Đặt RTTT , phƣơng trình (1.129) trở thành: ATKTBTSSABKSQKTTTTK 0

Phƣơng trình trên có thể viết lại nhƣ sau:

    1    1  1   0      S Q S B SBR S B T TK S B T TK SA S A T T T T T T T  (1.130)

Chỉ tiêu chất lƣợng J đạt giá trị cực tiểu khi biểu thức:

  TK T B S TK  T B Sx x T T T T T T 1 1  

đạt giá trị cực tiểu. Khi đó:  T B S

TKT 1 T

KT1 TT 1BTSR1BTS (1.131) Phƣơng trình (1.131) cho ta ma trận tối ƣu K. Nhƣ vậy, luật điều khiển tối ƣu cho bài tốn điều khiển tối ƣu dạng tồn phƣơng với chỉ tiêu chất lƣợng cho bởi phƣơng trình (1.131) là tuyến tính và có dạng:

    1 T  

u t  Kx t  R B Sx t (1.132) Ma trận S khi đó phải thỏa mãn phƣơng trình (1.130) đƣợc viết lại nhƣ sau:

1

T T

A SSA SBR B S    Q S (1.133) Phƣơng trình (1.133) đƣợc gọi là phƣơng trình Riccati.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

36

Khi S không thay đổi theo thời gian S 0, ta có phƣơng trình đại số

Riccati ( ARE: Algebraic Riccati Equation ):

1

0

T T

A SSA SBR B S   Q (1.134)

1.3.3 Phƣơng trình Riccati đối với hệ rời rạc

Xét hệ rời rạc: 1 k k k k k x  A xB u (1.135) với n k xRm k uR .

Chỉ tiêu chất lƣợng J đƣợc định nghĩa trong khoảng [1,N] có dạng:

  1 N T T i k k k k k k k i J x Q x u R u     (1.136) Khi đó, luật điều khiển tối ƣu của tín hiệu điều khiển có dạng:

k k k u  K x (1.137) với Kk đƣợc xác định nhƣ sau: 1 1 1 ( T ) T k k k k k k k k KB SBRB SA (1.138) Trong đó Sk phải thoả mãn phƣơng trình:

  1 1 1 1 1 T T T k k k k k k k k k k k k k SAS  SB B SBRB S  AQ     (1.139)

Phƣơng trình (1.139) chính là phƣơng trình Riccati cho hệ rời rạc. Khi

0

k

S  với k, ta có thể dùng bổ đề ma trận nghịch đảo để viết lại phƣơng trình (1.139) nhƣ sau:  1 1  1 T T k k k k k k k k SA S B R BAQ (1.140)

1.3.4 Các bƣớc giải bài tốn tồn phƣơng tuyến tính

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 37 Thành lập hệ phƣơng trình trạng thái: x Ax Bu c Dx        Xác định các thông số A, B, D. Bước 2:

Xác định ma trận trọng lƣợng Q, R từ chỉ tiêu chất lƣợng J cho dƣới dạng tồn phƣơng tuyến tính.

Bước 3:

Tìm nghiệm S của phƣơng trình Riccati:

- Đối với hệ liên tục: T 1 T

S A S SA SBR B SQ

    

- Đối với hệ rời rạc:

  1 1 1 1 1 T T T k k k k k k k k k k k k k SAS  SB B SBRB S  AQ     Bước 4:

Chỉ tiêu chất lƣợng tối ƣu đối với hệ dừng:

   

min T 0 0

Jx Sx

Bước 5:

Luật điều khiển tối ƣu:

- Đối với hệ liên tục: 1 T u R B Sx

- Đối với hệ rời rạc:   1

1 1

T T

k k k k k k k k k

u   B SBRB SA x [1]

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

38

Phƣơng trình Riccati dùng để tổng hợp các hệ tuyến tính với chỉ tiêu chất lƣợng dạng toàn phƣơng. Với cách giải quyết này, ta vừa đảm bảo đƣợc tính ổn định của hệ thống ( do cách chọn hàm năng lƣợng V(x) theo tiêu

chuẩn ổn định thứ hai của Lyapunov ), vừa cực tiểu hoá đƣợc chỉ tiêu chất lƣợng J theo yêu cầu bài toán đặt ra.

Tuy nhiên, để giải đƣợc phƣơng trình Riccati thì các ma trận trong phƣơng trình này phải là tuyến tính và xác định. Trong trƣờng hợp các phần tử trong ma trận này là phi tuyến thì việc giải phƣơng trình tối ƣu Riccati khó thực hiện. Luận văn nghiên cứu và đề xuất giải pháp dùng thuật toán di truyền để giải quyết bài toán trên.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

39

CHƢƠNG 2

THUẬT TOÁN DI TRUYỀN (GA) VÀ ỨNG DỤNG TRONG VIỆC XÁC ĐỊNH THAM SỐ TỐI ƢU BỘ ĐIỀU KHIỂN LQR

2.1 KHÁI QUÁT

Thuật toán di truyền là thuật toán tối ƣu ngẫu nhiên dựa trên cơ chế chọn lọc tự nhiên và tiến hóa di truyền. Nguyên lý cơ bản của thuật toán di truyền đã đƣợc Holland giới thiệu vào năm 1962. Cơ sở toán học đã đƣợc phát triển từ cuối những năm 1960 và đã đƣợc giới thiệu trong quyển sách đầu tiên của Holland, Adaptive in Natural and Artificial Systems. Thuật toán di truyền đƣợc ứng dụng đầu tiên trong hai lĩnh vực chính: tối ƣu hóa và học tập của máy. Trong lĩnh vực tối ƣu hóa thuật tốn di truyền đƣợc phát triển nhanh chóng và ứng dụng trong nhiều lĩnh vực khác nhau nhƣ tối ƣu hàm, xử lý ảnh, bài tốn hành trình ngƣời bán hàng, nhận dạng hệ thống và điều khiển.

Thuật toán di truyền cũng nhƣ các thuật tốn tiến hóa nói chung, hình thành dựa trên quan niệm cho rằng, q trình tiến hóa tự nhiên là q trình hồn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ƣu. Quan niệm này có thể xem nhƣ một tiên đề đúng, không chứng minh đƣợc, nhƣng phù hợp với thực tế khách quan. Q trình tiến hóa thể hiện tính tối ƣu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trƣớc bởi tính kế thừa và đấu tranh sinh tồn.[6]

Thuật giải di truyền (GA) là kỹ thuật chung giúp giải quyết vấn đề-bài tốn bằng cách mơ phỏng sự tiến hóa của con ngƣời hay của sinh vật nói chung (dựa trên thuyết tiến hóa mn lồi của Darwin) trong điều kiện qui định sẵn của môi trƣờng. GA là một thuật giải, nghĩa là mục tiêu của GA khơng nhằm đƣa ra lời giải chính xác tối ƣu mà là đƣa ra lời giải tương đối tối ƣu.

Trong các tài liệu về GA, ngƣời ta thƣờng đề cập đến hai thuật ngữ là "thuật giải di truyền" và "lập trình di truyền". Theo các tài liệu này, "thuật giải di truyền" chỉ sử dụng cấu trúc dữ liệu là chuỗi số nhị phân cịn "lập trình di

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

40

truyền" nghĩa là sử dụng cấu trúc dữ liệu tổng quát. Sở dĩ có cách hiểu nhƣ thế vì ý niệm thuật giải di truyền xuất hiện trƣớc và ban đầu ngƣời ta chỉ áp dụng nó với cấu trúc dữ liệu là chuỗi nhị phân. Về sau, ngƣời ta mới đƣa ra cách áp dụng thuật giải này trên các cấu trúc dữ liệu tổng quát hơn nên gọi là lập trình di truyền.

Theo đề xuất ban đầu của giáo sƣ John Holland, một vấn đề-bài toán đặt ra sẽ đƣợc mã hóa thành các chuỗi bit với chiều dài cố định. Nói một cách chính xác là các thơng số của bài toán sẽ đƣợc chuyển đổi và biểu diễn lại dƣới dạng các chuỗi nhị phân. Các thơng số này có thể là các biến của một hàm hoặc hệ số của một biểu thức toán học. Ngƣời ta gọi các chuỗi bit này là mã genome ứng với mỗi cá thể, các genome đều có cùng chiều dài. Nói ngắn gọn, một lời giải sẽ đƣợc biểu diễn bằng một chuỗi bit, cũng giống nhƣ mỗi cá thể đều đƣợc quy định bằng gen của cá thể đó vậy. Nhƣ vậy, đối với thuật giải di truyền, một cá thể chỉ có một gen duy nhất và một gen cũng chỉ phục vụ cho một cá thể duy nhất. Do đó, gen chính là cá thể và cá thể chính là gen nên ta sẽ dùng lẫn lộn thuật ngữ gen và cá thể từ đây về sau.

Ban đầu, ta sẽ phát sinh một số lƣợng lớn, giới hạn các cá thể có gen ngẫu nhiên - nghĩa là phát sinh một tập hợp các chuỗi bit ngẫu nhiên. Tập các cá thể này đƣợc gọi là quần thể ban đầu (initial population). Sau đó, dựa trên một hàm nào đó, ta sẽ xác định đƣợc một giá trị gọi là độ thích nghi - Fitness. Giá trị này, để đơn giản cho bạn đọc lúc đầu, có thể tạm hiểu chính là độ "tốt" của lời giải hay độ cao trong tìm kiếm theo kiểu leo đồi. Vì phát sinh ngẫu nhiên nên độ "tốt" của lời giải hay tính thích nghi của các cá thể trong quần thể ban đầu là không xác định.

Để cải thiện tính thích nghi của quần thể, ngƣời ta tìm cách tạo ra quần thể mới. Có hai thao tác thực hiện trên thế hệ hiện tại để tạo ra một thế hệ khác với độ thích nghi tốt hơn.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

41

Thao tác đầu tiên là sao chép nguyên mẫu một nhóm các cá thể tốt từ thế hệ trƣớc rồi đƣa sang thế hệ sau (selection). Thao tác này đảm bảo độ thích nghi của thế hệ sau luôn đƣợc giữ ở một mức độ hợp lý. Các cá thể đƣợc chọn thông thƣờng là các cá thể có độ thích nghi cao nhất.

Thao tác thứ hai là tạo các cá thể mới bằng cách thực hiện các thao tác

sinh sản trên một số cá thể đƣợc chọn từ thế hệ trƣớc – thông thƣờng cũng là những cá thể có độ thích nghi cao. Có hai loại thao tác sinh sản: một là lai tạo tác lai tạo (crossover), hai là đột biến (mutation). Trong thao tác lai tạo, từ gen của hai cá thể đƣợc chọn trong thế hệ trƣớc sẽ đƣợc phối hợp với nhau (theo một số quy tắc nào đó) để tạo thành hai gen mới.

Thao tác chọn lọc và lai tạo giúp tạo ra thế hệ sau. Tuy nhiên, nhiều khi do thế hệ khởi tạo ban đầu có đặc tính chƣa phong phú và chƣa phù hợp nên các cá thể không rải đều đƣợc hết không gian của bài toán (tƣơng tự nhƣ trƣờng hợp leo đồi, các ngƣời leo đồi tập trung dồn vào một góc trên vùng đất). Từ đó, khó có thể tìm ra lời giải tối ƣu cho bài tốn. Thao tác đột biến sẽ giúp giải quyết đƣợc vấn đề này. Đó là sự biến đổi ngẫu nhiên một hoặc nhiều thành phần gen của một cá thể ở thế hệ trƣớc tạo ra một cá thể hoàn toàn mới ở thế thệ sau. Nhƣng thao tác này chỉ đƣợc phép xảy ra với tần suất rất thấp (thƣờng dƣới 0.01), vì thao tác này có thể gây xáo trộn và làm mất đi những cá thể đã chọn lọc và lai tạo có tính thích nghi cao, dẫn đến thuật tốn khơng còn hiệu quả.

Thế hệ mới đƣợc tạo ra lại đƣợc xử lý nhƣ thế hệ trƣớc (xác định độ thích nghi và tạo thế hệ mới) cho đến khi có một cá thể đạt đƣợc giải pháp mong muốn hoặc đạt đến thời gian giới hạn.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

42

2.1 SƠ ĐỒ TỔNG QUÁT CỦA THUẬT GIẢI DI TRUYỀN

2.2 CÁC NGUYÊN LÝ TRONG THUẬT GIẢI DI TRUYỀN

2.2.1. Nguyên lý về xác định cấu trúc dữ liệu. Để có thể giải bài tốn bằng thuật giải di truyền, cần "gen hóa" cấu trúc dữ liệu của bài toán bằng thuật giải di truyền, cần "gen hóa" cấu trúc dữ liệu của bài tốn

Để có thể thực hiện đƣợc các bƣớc trong thuật giải di truyền nhƣ đã nêu trong số trƣớc, thao tác quan trọng nhất – không chỉ riêng với vấn đề-bài toán đƣợc giải bằng thuật giải di truyền - là phải biết chọn một cấu trúc dữ liệu (CTDL) phù hợp. Để giải vấn đề-bài toán bằng thuật giải di truyền, ta thƣờng chọn sử dụng một trong 3 loại CTDL sau: chuỗi nhị phân, chuỗi số thực và cấu trúc cây. Trong đó, cấu trúc chuỗi nhị phân và chuỗi số thực thƣờng đƣợc sử dụng hơn.

Biễu diễn gen bằng chuỗi nhị phân

Về nguyên tắc, mọi cấu trúc dữ liệu trên máy tính, về máy tính, cuối cùng cũng đƣợc chuyển về các chuỗi nhị phân (từ số nguyên, số thực, âm thành và thậm chí cả hình ảnh cũng chỉ là các chuỗi nhị phân). Tuy nhiên, quá

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

43

trình chuyển đổi sang chuỗi nhị phân đƣợc thực hiện "ngầm" bởi trình biên dịch của máy tính. Ở đây, chúng ta sử dụng chuỗi nhị phân một cách tƣờng minh để thể hiện cấu trúc "gen" của một cá thể và để có thể thực hiện các thao tác lai ghép, đột biến trên cấu trúc này.

Quy tắc biểu diễn gen qua chuỗi nhị phân: Chọn chuỗi nhị phân ngắn nhất nhƣng đủ thể hiện đƣợc tất cả kiểu gen.

Để biểu diễn chuỗi nhị phân, ta thƣờng dùng các cách sau: mảng byte, mảng bit biểu diễn bằng mảng byte, mảng bit biểu diễn bằng mảng INTEGER.#

2.2.1.1. Mảng byte

Đối với mảng byte, mỗi byte chính là một bit và chỉ nhận hai giá trị 0 và 1. Nếu byte trong mảng có giá trị khác, chƣơng trình sẽ xem đó là lỗi trầm trọng. Cách biểu diễn này có lợi điểm là truy xuất nhanh hơn phƣơng pháp, nhƣng lƣợng bộ nhớ sẽ tốn gấp 8 lần so với phƣơng pháp khơng nén (vì một byte gồm 8 bit, nhƣng ta chỉ dùng 1 bit nên 7 bit cịn lại sẽ bị phí).

P TYPE TGen = ARRAY[0..N-1] OF BYTE

C

typedef unsigned char CGen[N] với, N là chiều dài gen của cá thể.

2.2.1.2 Mảng byte nén

Đối với kiểu biểu diễn này, một byte trong mảng sẽ biểu diễn cho 8 bit của chuỗi nhị phân. Bit 0 đến bit thứ 7 sẽ nằm trong byte thứ 0, bit 8 đến 15 sẽ nằm trong byte thứ 1,... và cứ thế. Một cách tổng quát, bit thứ n sẽ nằm trong byte thứ (n DIV 8). Trong đó, (DIV là tốn tử chia lấy phần nguyên).

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn

44

Kiểu biểu diễn này là kiểu biểu diễn ít tốn kém bộ nhớ nhất nhƣng ngƣợc lại, thao tác truy xuất lại chậm hơn rất nhiều so với phƣơng pháp mảng byte. Để lấy đƣợc một bit thứ n, ta phải thực hiện hai thao tác: đầu tiên là là

Một phần của tài liệu Ch­¬ng 1: tæng quan vò ®iòu khión tèi ­u, ®iòu khión LQR (Trang 38)

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

(74 trang)