3.1 CÁC PHƯƠNG PHÁP GI ẢI BÀI TOÁN TỐI ƯU MPC
3.1.3 Phương pháp Giới hạn và rẽ nhánh (Branch and Bound)
Rẽ nhánh và giới hạn- B&B là một thuật toán tìm lời giải tối ưu rời rạc cho bài toán tối ưu phiếm hàm mục tiêu, đặc biệt là trong bài toán Điều khiển dự báo hệ phi tuyến. T ư tưởng chính của thuật toán này là: chia không gian tìm kiếm thành những không gian nhỏ, sử dụng cấu trúc cây (tree structure) và dựa trên nguyên lý : chỉ một số nhỏ các không gian con là có khả năng chứa nghiệm tối ưu, trong khi các mi ền khác có thể loại bỏ khỏi quá trình tìm kiếm nhờ các giá trị chặn, ví dụ các giá trị giới hạn trên (upper bounds) và các giá trị giới hạn dưới (lower bounds) của hàm chi phí. Từ đó sẽ quyết định nhánh nào của cây sẽ được phép tiếp tục tìm kiếm.
Hình 3.9 minh họa nguyên lý của thuật toán Branch and Bound.
MAI VĂN SỸ, NGUYỄN NGỌC LINH – ĐKTĐ – KSTN– K48 57 Hình 3.9: Sơ đồ minh họa Branch and Bound
k uk
y , lần lượt là đầu ra và đầu vào tại thời điểm thứ k . Đầu vào u k lấy giá trị trong tập rời rạc B,
1 ,min,... ,max
...
i i
i
ni
u u
U
U U
B
(3.8) Ni là số phần tử của tập Ui. Thông thường thì Ni giá trị này trải đều trong miền
ui,min,ui,max. Hp
i1,2,..., để ký hiệu cho tầng thứ icủa cây.( i0 là tầng 0, tức gốc của cây) và N
j1,..., là nhánh thứ j, tương ứng với tín hiệu điều khiển Bj.
Tại tầng i của cây, có Nni phương án của giá trị tín hiệu điều khiển, t ương ứng với Nni nhỏnh của cõy cú thể được mọc thờm. Rừ ràng, nếu chỉ đơn thuần sử dụng phương pháp rẽ nhánh để tìm kiếm toàn bộ cây thì có Nni Hc khả năng phải xét đến. Điều đó đồng nghĩa với việc khối lượng tính toán có thể là rất lớn, và mất nhiều thời gian (trừ trường hợp bài toán nhỏ). Trong khi một phần của không gian tìm kiếm có thể được loại bỏ nhờ sủ dụng các giá trị chặn tr ên và dưới của phiếm hàm mục tiêu.
Một nhánh j tại tầng thứ i sẽ được tìm kiếm tiếp nếu chi phí J j tích lũy khi đi từ gốc tới tần hiện tại:
2
1 2
1
1
m Qm
i
P m i
m
m k u m
k y m k r i
J
, (3.9)
cộng với chi phí đi từ tầng iđến tầng cuối cùng Hpcủa cây nhỏ hơn giá trị chặn trên (upper bound) Jucủa hàm chi phí. Nói chung, chi phí đi t ừ nốt iđến Hp là khó xác định, nhưng có thể diễn đạt thành hai thành phần. Thành phần thứ nhất là Jj i , do việc chuyển trạng thái xk 1 fx k ,Bj,. Thành phần còn lại là giá trị chặn dưới
i1
JL , ước lượng chi phí tối thiểu để đi nốt các tầng còn lại i1,...,HP. Do đó, điều kiện để một nhánh được phép tìm kiếm tiếp là:
i Jj i JLi JU
J 1 (3.10)
Chú ý rằng sẽ không có sự phân nhánh kể từ nốt iHc 1 (ngoài phạm vi điều khiển), tức là tín hiệu điều khiển không thay đổi cho đến tầng cuối cùng.
Hiệu quả của thuật toán phụ thuộc vào việc ước lượng các giá trị chặn trên và chặn dưới này. Giá trị chặn trên càng nhỏ càng tốt, giá trị chặn dưới càng lớn càng tốt, để giảm số lượng nhánh mới được sinh ra.
Tuy nhiên, trong trư ờng hợp nếu không có cách xác định giá trị chặn trên thì ta có thể khởi tạo bằng giá trị rất lớn (). Khi tín hiệu đặt là hằng số hoặc thay đổi chậm, J HP trong nhiều trường hợp là giá trị tối ưu hoặc gần với giá trị chặn trên của nó. JU được đặt bằng chính giá trị này, tức là JU J HP . Nếu sau này, trong quá trình tìm kiếm mà
P U
J H J thì giá trị JU được thay bằng J H P . Nếu không thể ước lượng giá trị chặn dưới thì ta có thể bỏ qua giá trị này, tức là JL i 0 với i1,2,...,Hc 1. Kinh nghiệm cho thấy thậm chí ngay cả trong tr ường hợp đó thì thuật toán cũng có thể tránh được việc tìm kiếm trong cả không gian rộng lớn.
3.1.3.2 Xây dựng bộ điều khiển
Thuật toán Branch and Bound đư ợc xây dựng và mô phỏng trên công cụ Matlab dưới dạng một hàm (Hàm này mới chỉ áp dụng được cho đối tượng SISO):
function out=mpc03(myfis,lamda,plant,Ts,range,Hp)
Trong đó:
Out : chuỗi tín hiệu điều khiển.
Myfis: mô hình mờ thu được sau khi nhận dạng.
Lamda: trọng số trong phiếm hàm mục tiêu:
p Hc
k H
k
k t u k
t y k t r u
J
0
2 1
2
Plant: đối tượng chọn mô phỏng
Ts : chu kỳ trích mẫu
MAI VĂN SỸ, NGUYỄN NGỌC LINH – ĐKTĐ – KSTN– K48 59 Range: phạm vi tín hiệu điều khiển ( đầu vào bị chặn)
Hp : phạm vi dự báo đầu ra (Hc : mặc định bằng 2) Ví dụ minh họa:
Cho thiết bị trao đổi nhiệt với hàm truyền đạt từ tín hiệu điều khiển van dòng mang nhiệt và tín hiệu đo nhiệt độ ra của dòng quá trình là:
30 15 12 1
75 .
0 1.21
s s
s s e
G
s
(3.11) Giả thiết là tín hiệu điều khiển bị chặn trong khoảng [0,2].
Trướchết ta sẽ điều khiển đối t ượng này bằng bộ PID kinh điển.
Ở đây ta chọn thông số bộ PID theo ph ương pháp Ziegler-Nichols 1 và 2:
Để sử dụng phương pháp ZN-I, ta buộc phải dùng “luật chia đôi” của Skogestad để đưa về mô hình quán tính bậc nhất có trễ:
32,5 1 75 .
0 5.71
~
s s e
G
s
(3.12) Phương pháp ZN-II đòi hỏi sử dụng thực nghiệm để tìm rađiểm giao động tới hạn.
Thông số bộ điều khiển được liệt kê trong bảng sau:
PID Phương pháp
kc i d
Ziegler-Nichols I (ZN-I) 9.10 11.42 2.85
Ziegler-Nichols II (ZN-II) 11.46 12.45 3.11
Để giảm độ quá điều chỉnh khi thay đổi tín hiệu đặt thì ta bổ sung một khâu lọc trước:
1 10
1
WLoc s . Kết quả:
Ziegler-Nichols I: y(t): u(t):
Hình 3.10: Bộ đk PID theo Z-N I
Ziegler-Nichols II: y(t): u(t):
Hình 3.11: Bộ đk PID theo Z-N II
Phương pháp B&B: y(t): u(t):
Hình 3.12: Bộ đk MPC theo B&B
MAI VĂN SỸ, NGUYỄN NGỌC LINH – ĐKTĐ – KSTN– K48 61 Nhận xét:
Rừ ràng chất lượng của hệ thống được cải thiện một cỏch đỏng kể khi sử dụng bộ điều khiển dự báo:
Thời gian xác lập ngắn.
Không cònđộ quá điều chỉnh.
Khi tăng phạm vi dự báo (H ,c Hp) thì chất lượng càng được cải thiện.
Tín hiệu điều khiển thay đổi trong phạm vi không lớn. So sánh với bộ PID, trong trường hợp này do tín hiệu điều khiển bị chặn nên xảy ra hiện tượngwindup .
Thời gian của bước tính lớn nhất là khoảng 1.5s (< Ts=2s)
Qua lý thuyết cũng như mô phỏng kiểm chứng cho thấy ph ương pháp tối ưu B&B áp dụng cho điều khiển dự báo mang lại những ưu điểm so với các phương pháp tối ưu phi tuyến khác:
1. Lời giải tối ưu luôn tìm được (bản chất của phương pháp B&B). Đây là ưu đi ểm quan trọng của thuật toán, nó đảm bảo cho bộ điều khiển luôn tìmđược lời giải tối ưu trong không gian r ời rạc của tín hiệu điều khiển mà không phải giả thiết về dạng của phiếmhàm mục tiêu.
2. Thuật toán không cần dự đoán các giá trị khởi tạo, do đó phép lặp không bị ảnh hưởng bởi sơ kiện “xấu”.
3. Vấn đề giới hạn- ràng buộc (constrains) làm cho một số phương pháp giải tối ưu thêm phức tạp, nhất là đối với bài toán tối ưu phi tuyến không lồi (nonconvex, nonlinear optimization). Tuy nhiên, sự có mặt của giới hạn lại làm cho thuật toán Branch and Bound hiệu quả hơn, thể hiênở chỗ: không gian tìm kiếm là hữu hạn.
Các điều kiện ràng buộc càng chặt làm cho không gian tìm kiếm càng thu hẹp, càng dễ thu được lời giải tối ưu.
Tuy nhiên, thuật toán này cũng thể hiện một số nh ược điểm:
1. Khối lượng tính toán là rất lớn. Nó tăng theo quan hệ hàm mũ với phạm vi dự báo điều khiển và số điểm rời rạc trong không gian tìm kiếm. Ví dụ đối với hệ 2x2 MIMO, Hc 5, rời rạc giải tín hiệu vào là n10 mức, số các khả năng phải xét là 10 5 2 1010 trường hợp. Điều này có nghĩa là phương pháp B&B thư ờng không thích hợp đối với hệ lớn (nhiều tín hiệu vào, dải đầu vào lớn…) kết hợp với phạm vi dự báo điều khiển lớn.
2. Các khả năng của tín hiệu điều khiển bị hạn chế bởi tập giá trị rời rạc của nó. Nếu chia không gian tìm kiếm thành nhiều mức thì việc xấp xỉ là tốt, tuy nhiên việc tìm
kiếm là rất chậm, nếu chia ít mức thì độ chính xác của lời giải bị giảm đi. Hiện tượng thường xảy ra đó là hệ thống tồn tại dao động nhỏ khi tiến gần đến giá trị đặt do tín hiệu điều khiển dao động xung quanh hai mức rời rạc liên tiếp của nó.
Có nhiều cách để khắc phục những nh ược điểm trên của thuật toán này:
1. Lọc kích thước lưới lặp.( Iterative grid size refinement) l à phương pháp giảm khối lượng tính toán khi cần kích th ước lưới nhỏ, có nghĩa là khi lưới “mịn” thì tín hiệu điều khiển sẽ “trơn” hơn và giá trị tìm được sẽ càng gần giá trị tối ưu. Như vậy, kích thước lưới chia được giảm qua mỗi b ước lặp nhờ hệ số % . Ví dụ
0,2,4,6,8,10, 5
ni
B , 50. Kích thước lưới ban đầu là 2, kích thước lưới cuối cùng là 20.55 0.03, tức là nhỏ hơn 67 lần so với ban đầu. Điều này làm cho tín hiệu điều khiển trơn hơn và hệ thống tránh được dao động giữa hai mức của tín hiệu điều khiển. Tuy nhiên lại nảy sinh vấn đề là nếu kích thước lưới giảm nhanh thì lời giải có thể không đủ chính xác, nếu giảm chậm thi khối lượng tinh toán vẫn sẽ lớn.
2. Kích thước lưới động (Dynamic grid size) đ ược đề xuất bởi Sousa để khắc phục nhược điểm trên.
3. Greedy search- tìm kiếm ưu tiên: sau mỗi nhánh, hàm mục tiêu J i được tính cho tất cả các khả năng của tín hiệu điều khiển. Các giá trị n ày được xếp loại. Khả năng có giá trị J i thấp hơn thì có mức ưu tiên cao hơn trong quá trình tìm kiếm tiếp theo.
4. Khi quỹ đạo tín hiệu đặt thay đổi chậm thì chuỗi tín hiệu cuối uk,...,kHP 1
tại thời điểm k 1 là một ước lượng khá tốt cho chuỗi tín hiệu tại thời điểm k. 5. Cấu trúc luật của mô hình Takagi-Sugeno thể hiện ảnh hưởng của các đầu vào tới
các đầu ra. Thông thường, trong một số trạng thái thì một số đầu vào không có mặt trong luật. Sự thay đổi của những đầu vào này không ảnh hưởng đến đầu ra nên chỉ cần tính toán một lần cho các trạng thái nh ư vậy.
Trong các biện pháp nêu trên thi biện pháp sử dụng lưới chia kích thước động được nghiên cứu nhiều hơn cả và thực tế đã cho thấy đây là một giải pháp rất hiệu quả.
3.1.3.3 Phương pháp lư ới chia động. (Dynamic grid size)
Phương pháp lưới chia động được Joao Migel Costa de Sousa đề xuất dựa trên phương pháp lọc kích thước lưới lặp. Tư tưởng chính của phương pháp này là: Thu hẹp không gian tìm kiếm khi hệ thống tiến dần tới giá trị đặt tr ước,tức là khi hệ thống tiến dần đến trạng thái xác lập thì tín hiệu điều khiển không cần thay đổi mạnh, do đó không cần thiết phải tìm kiếm trong cả không gian rời rạc của tín hiệu điều khiển.
MAI VĂN SỸ, NGUYỄN NGỌC LINH – ĐKTĐ – KSTN– K48 63 Nội dung của phương pháp gồm hai phần là tập giá trị thích nghi của tín hiệu điều khiển và hệ số tỉ lệ .
a) Tập giá trị thích nghi của tín hiệu điều khiển.
Tại thời điểm thứ k1: u k 1 U umin,umax. Tại thời điểmk: u k u k 1 u k
Giá trị chặn trên và dưới của biến thiên tín hiệu điều khiển sẽ là:
max 1 , min 1
k k
uu u k uu u k (3.13)
Tập giá trị thích nghi của biến thiên tín hiệu điều khiển ulà:
*k 0,l ku,l ku|l 1,2,...N
, (3.14)
lcó thể thay đổi chứ không cố định (thông th ường là tuyến tính hoặc theo quy luật hàm mũ). Như vậy, thay vì chọn u trong tập giá trị cố định như trên thì ở đây, tập * luôn thay đổi theo giá trị của tín hiệu điều khiển ở chu kỳ tr ước. Tham số l xác định số khả năng thay đổi của tín hiệu điều khiển. Với các đối t ượng nhanh thì chọn l nhỏ, thậm chí trong một số trường hợp có thể chọn đ ơn giản l=1, tức là tín hiệu điều khiển chỉ có thể tăng, giữ nguyên, hoặc là giảm
b) Hệ số tỉ lệ
Để thu hẹp miền tìm kiếm, tập giá trị thích nghi của biến thiên tín hiệu điều khiển ( u ) một lần nữa được chỉnh định để có thể “nén ” không gian tìm kiếm, tăng khả năng làm “trơn” tín hiệu điều khiển cũng nh ư khả năng phản ứng của hệ thống:
k k * k
(3.15)
Có nhiều cách để chỉnh định hệ số . Đơn giản là suy giảm theo hàm mũ. Hoặc
k
được xác định tại mỗi thời điểm k dựa vào sai lệch dự báo e kˆ Hp và biến thiên của sai lệch e k e k e k1 theo nguyên tắc:
- khi e k nhỏ và e kˆ Hp cũng nhỏ, tức là hệ gần tới trạng thái xác lập, do đó tín hiệu điều khiển cần thay đổi chậm, tức là k 0.
- khi e k lớn và e kˆ Hp cũng lớn - hệ chưa tới trạng thái xác lập, do đó tín hiệu điều khiển cần thay đổi mạnh, tức là k 1.
Đây chính là cơ sở để chỉnh định . Trong đồ án này, chúng em nghiên cứu sử dụng logic mờ để chỉnh định tham số này, và kết quả thu được là khá tốt.
Ví dụ minh họa:
Vẫn lấy đối tượng như đã minh họa ở trên.
30 15 12 1
75 .
0 1.21
s s
s s e
G
s
Giả thiết là tín hiệu điều khiển bị chặn trong khoảng [0, 2].
Hơn thế, biến thiên tín hiệu điều khiển cũng bị chặn: [-1, 1]
* Tập mờ chỉnh định hệ số :
Hình 3.13: Tập mờ chỉnh định .
p/
e tH y t
/
de t y t
Neg Zero Pos
Neg 1.0 0.2 0.7
Zero 1.0 0.0 1.0
Pos 0.7 0.2 1.0
Đáp ứng của đối tượng:
- Vì sử dụng chia lưới động nên tập biến thiên tín hiệu điều khiển được rời rạc hóa bằng ít điểm hơn.
MAI VĂN SỸ, NGUYỄN NGỌC LINH – ĐKTĐ – KSTN– K48 65 - Bước tính lớn nhất Tmax ~ 156 ms khi có xung step. Khi hệ thống đã bám tín hiệu đặt thì thời gian mỗi bước tính chỉ còn ~ 50ms
0 50 100 150 200 250 300
0 0.5 1
1.5 Hc = 1, Hp = 10, Ts = 2
time (s)
ref r
0 50 100 150 200 250 300
0 0.5 1 1.5 2
time (s)
u(t)
Hình 3.14: Bộ đk MPC theo B&B có sử dụng l ưới chia động Nhận xét:
- Chất lượng điều khiển được cải thiện đáng kể.
- Phương pháp cải tiến đã khắc phục được nhược điểm: giảm khối lượng, thời gian tính toán, không còn hiện tượng dao động nhỏ xung quanh giá trị xác lập; tín hiệu điều khiển “trơn”.