Tải bản đầy đủ (.pdf) (11 trang)

Một giải pháp cài đặt đơn giản cho thuật toán điều khiển tối ưu thích nghi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 11 trang )

Nghiên cứu khoa học công nghệ

MỘT GIẢI PHÁP CÀI ĐẶT ĐƠN GIẢN CHO THUẬT TOÁN
ĐIỀU KHIỂN TỐI ƯU THÍCH NGHI
Nguyễn Doãn Phước*, Trịnh Hoàng Minh, Nguyễn Hoài Nam
Tóm tắt: Bài báo giới thiệu một giải pháp đơn giản để cài đặt thuật toán điều
khiển tối ưu thích nghi cho bài toán LQ. Giải pháp này giúp giảm được phần lớn số
biến vi phân cần cài đặt, kéo theo là giảm được nhiều phép tính phải thực hiện
trong thuật toán. Giải pháp của bài báo được triển khai cho cả học thích nghi trực
tuyến và học thích nghi ngoại tuyến. Các kết quả mô phỏng sau đó đã xác nhận tính
áp dụng được của giải pháp này.
Từ khóa: Điều khiển thông minh; Điều khiển học tăng cường; Phương pháp biến phân; Quy hoạch động.

1. ĐẶT VẤN ĐỀ
Trong những năm gần đây, khái niệm “Điều khiển thông minh” được nói đến rất nhiều
và gần như trở thành một xu thế, thành “mốt” của thời đại 4.0. Dưới tên gọi điều khiển
thông minh là một nhóm các phương pháp, như điều khiển mờ, điều khiển bằng mạng
neural, điều khiển học lặp, điều khiển học tăng cường [1],... Điểm chung của các phương
pháp điều khiển thông minh này là ở đó, các thông tin động học cần thiết cho việc phân
tích và thiết kế bộ điều khiển, sẽ không cần phải lấy từ mô hình toán của đối tượng, thay
vào đó là từ các dữ liệu quá khứ đo được của hệ thống.
Chẳng hạn như ở bài toán thiết kế bộ điều khiển tối ưu phản hồi trạng thái cho hệ tuyến
tính, mô tả bởi mô hình gồm hai ma trận ( A, B) :
x  Ax  Bu

(1)

bị ràng buộc bởi hàm mục tiêu dạng toàn phương:







J   x Qx  u Ru dt  min
T

T

(2)

0

có Q  QT bán xác định dương, R  RT xác định dương, còn gọi là bộ điều khiển LQR,
thì việc thiết kế bộ điều khiển này sẽ không còn cần sử dụng đến cả hai ma trận ( A, B) của
mô hình (1), thay vào đó là từ các dữ liệu vào u và trạng thái x đo được của hệ. Phương
pháp thiết kế “thông minh” đó có tên gọi là “xấp xỉ tối ưu” hay “tối ưu thích nghi” [2, 3].
“Tối ưu thích nghi” là công cụ chính của điều khiển học tăng cường. Vai trò “là công
cụ chính” của tối ưu thích nghi còn lấn át các công cụ khác trong điều khiển tăng cường
đến mức mà nhiều tài liệu đã gọi luôn nó là điều khiển học tăng cường, ví dụ như [3, 4].
Do việc có được tính chất động học của hệ thống từ dữ liệu đo được trong quá khứ, thay vì
từ mô hình toán, nên phương pháp tối ưu thích nghi có hình thái giống như một thuật toán
“học để điều khiển”. Vì vậy, nhiều tài liệu đã gọi nó là thuật toán học tối ưu thích nghi,
hay quy hoạch động thích nghi [5-7].
Có khá nhiều dạng cài đặt khác nhau cho thuật toán học tối ưu thích nghi. Theo chúng
tôi, nếu phân chia theo cách rời rạc hóa để thực thi trên thiết bị điều khiển số thì sẽ có ba
dạng cơ bản gồm (i) rời rạc hóa ngay từ bài toán tối ưu ban đầu với tập các biến trạng thái
được giả thiết là hữu hạn [5-7], (ii) rời rạc hóa bài toán tối ưu với tập trạng thái là vô hạn,
đếm được [2, 5, 6] và (iii) rời rạc hóa kết quả liên tục cuối cùng thu được [2-6]. Tất nhiên,
việc rời rạc hóa kết quả liên tục thu được cuối cùng của bài toán tối ưu sẽ sát với đối tượng
hơn, nên chứa đựng sai lệch trong nó là ít nhất. Tuy nhiên, số các bước thực hiện lại nhiều

và phức tạp hơn, kéo theo là nguy cơ tích lũy sai số trong tính toán cũng cao hơn.

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Hội thảo Quốc gia FEE, 10 - 2020

19


Kỹ thuật Điều khiển – Tự động hóa

Ở bài báo này, chúng tôi tập trung giới thiệu một giải pháp cài đặt thuật toán học tối ưu
thích nghi đơn giản cho bài toán LQ (1)-(2), trên cơ sở rời rạc hóa kết quả liên tục cuối
cùng thu được của bài toán tối ưu đó, với một “mẹo” nhỏ là xác định giá trị tích phân trong
một khoảng thời gian vô cùng bé thông qua xấp xỉ (loại một và loại hai) của nó, tức là xấp
xỉ tích phân bằng tích của giá trị trung bình hàm dưới dấu tích phân tại thời điểm đầu, cuối
và khoảng thời gian lấy tích phân. Nó sẽ được gọi trong bài báo là “thuật toán cải biên”.
Nhân đây, cũng cần có vài lời bàn thêm về tên gọi “quy hoạch động thích nghi” hay
“học tối ưu thích nghi”. Trong hầu hết các tài liệu tham khảo [2-7], người ta đều gọi chung
“học tối ưu thích nghi” là “quy hoạch động thích nghi”, ngay cả cho trường hợp bài toán
điều khiển tối ưu LQ (1)-(2) hệ tuyến tính. Điều này là không đúng, vì như phần nền tảng
cơ sở trình bày sau đây trong mục 2 cho thấy, lời giải của bài toán LQ (1)-(2) hoàn toàn
không sử dụng đến nguyên lý tối ưu của Bellman, tác giả của quy hoạch động, rằng “đoạn
cuối của quỹ đạo tối ưu cũng tối ưu”. Nó sử dụng công cụ chính là phương pháp biến phân
(variation) trong cơ học cổ điển. Theo dòng lịch sử thì khi áp dụng phương pháp biến phân
cho hệ rời rạc, người ta đã phát hiện ra rằng, để có được dãy giá trị tín hiệu điều khiển tối
ưu, cần phải xác định ngược biến đồng trạng thái từ điểm cuối đến điểm đầu [8]. Theo
chúng tôi, có lẽ đây là phát hiện mấu chốt gợi ý cho Bellman đến được nguyên lý tối ưu
của mình và từ đó xây dựng được thành công phương pháp quy hoạch động cũng như mở
rộng nó cho bài toán tối ưu hệ liên tục phi tuyến thông qua phương trình Hamilton-JacobiBellman (HJB). Vì vậy, để tôn trọng dòng lịch sử này, nhất là tôn trọng đóng góp của
phương pháp biến phân trong cơ học cổ điển, thì riêng đối với bài toán tối ưu LQ (1)-(2),
ta hãy gọi nó bằng tên “tối ưu thích nghi”, thay vì “quy hoạch động thích nghi”.

2. NỘI DUNG CHÍNH
2.1. Lời giải từ phương pháp biến phân
Xét lại bài toán tối ưu LQ (1)-(2). Từ lý thuyết biến phân đã biết của cơ học cổ điển thì
nghiệm của bài toán đó sẽ là [8]:
u   K x với K  R1BT L

(3)

trong đó, L là nghiệm xác định dương của phương trình đại số Riccati:
LBR1BT L  LA  AT L  Q .

(4)

Để tìm nghiệm K của bài toán tối ưu LQ (1)-(2) theo hai công thức (3) và (4), người ta
thường dựa vào thuật toán lặp của Newton-Kleinman, có bản chất là chuyển (3) và phương
trình Riccati (4) thành phương trình Lyapunov:

 A  BK 

T

L  L  A  BK   AT L  LA  LBK  K T B T L
 AT L  LA  LBR 1BT L  K T RR 1BT L
 Q  K T RK .

(5)

Phương trình Lyapunov trên luôn có nghiệm L xác định dương với mọi ma trận xác
định dương Q  K T RK nếu A  BK là Hurwitz (xem chứng minh trong [8]).
Thuật toán lặp Newton-Kleinman có nhiệm vụ là ở bước lặp thứ k , khi đã có K k ta

cần phải xác định Lk và K k 1 cho vòng lặp tiếp theo, được suy ra từ (5) như sau:

 A  BKk 

T

Lk  Lk  A  BKk    Ek , trong đó, Ek  Q  KkT RKk

Kk 1  R 1BT Lk .


Cứ như vậy, lần lượt với k  0,1,

20

(6)
(7)

cho tới khi có được một trong hai điều sau:

N. D. Phước, T. H. Minh, N. H. Nam, “Một giải pháp cài đặt … tối ưu thích nghi.”


Nghiên cứu khoa học công nghệ

Lk  Lk 1  1 hoặc Kk 1  Kk   2 vì luôn có lim Lk  L và lim K k  K ,
k 

(8)


k 

trong đó, 1 ,  2 là hai hằng số dương đủ nhỏ cho trước.
Algorithm 1: Thuật toán Newton-Kleinman
1 Khởi tạo với việc chọn K 0 để A  BK0 là Hurwitz. Gán k  0 và chọn 1 ,  2 .
2 while điều kiện (8) chưa thỏa mãn do
3

Tính A  BK k và Ek từ K k . Tính Lk theo (6).

4

Tính K k 1 từ Lk theo (7).

5

Gán k  k  1 .

6 end while
7 Đáp số K  Kk 1 và L  Lk .

2.2. Cải biên thuật toán on-policy-learning
Thuật toán trên (Algorithm 1) chưa mang tính “thích nghi” vì nó còn cần đến hai ma
trận A, B, tức là còn cần đến mô hình toán (1) của đối tượng điều khiển. Để loại bỏ A, B ra
khỏi thuật toán, các tài liệu [2- 4] đã giới thiệu xu hướng sử dụng các kết quả đo được
online từ hệ như mô tả ở hình 1 dưới đây, để thay cho A, B. Nếu ký hiệu thời điểm đầu
vòng lặp k trong thuật toán Newton-Kleinman ở trên là tk và thời điểm cuối vòng lặp đó
là tk 1 thì vai trò của hai ma trận A, B trong vòng lặp đó sẽ được thay thế bới lk các dữ
liệu trạng thái đo được online trong vòng lặp đó, ký hiệu lần lượt là:
xk ,i  x(tk  i ), 0   0  1   2 


  lk , i  0,1,  , lk và tk   lk  tk 1 ,

(9)

khi hệ được kích thích bới đầu vào là tín hiệu thử “tăng cường”:
u(t )   Kk x  ek (t ) với tk  t  tk 1 .
K k , Lk 1

Các phép đo dữ liệu và tính toán trong
một vòng lặp

x k ,1
tk

tk  1

(10)
K k 1 , Lk

x k ,2
tk   2

t
tk 1  tk   lk

Hình 1. Tác động thử được “tăng cường” để xác định Lk , K k 1 trong một vòng lặp.
Trong công thức (10) thì K k là kết quả của vòng lặp trước (vòng lặp thứ k  1 ) và
ek (t ) là tín hiệu bổ sung để với nó có thể thu được đầy đủ thông tin động học của hệ trong
vòng lặp. Nó được gọi là “nhiễu nhân tạo”. Cũng theo các tài liệu [2- 4] này thì nhiễu nhân

tạo ek (t ) cần được chọn có biên độ nhỏ, nhằm không làm sai lệch nhiều giữa u cho trong
công thức (10), với tín hiệu điều khiển tối ưu  K k x có từ vòng lặp trước. Ngoài ra, để các
giá trị trạng thái x k ,i đo được theo (9) chứa đựng được nhiều nhất có thể đặc tính động học
của hệ, nó cần phải biến đổi nhanh. Tuy nhiên, cụ thể phải chọn ek (t ) như thế nào là tốt
nhất thì hiện trong [2-4] vẫn chưa có câu trả lời đầy đủ.
Việc thay thế vai trò của hai ma trận A, B bới x k ,i được thực hiện nhờ các quan hệ (10),
(6) và (7) như sau:

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Hội thảo Quốc gia FEE, 10 - 2020

21


Kỹ thuật Điều khiển – Tự động hóa

 d xT 
d T
T
dx
T
T
x Lk x  
 Lk x  x Lk 
   Ax  Bu  Lk x  x Lk  Ax  Bu 
dt
 dt 
 dt 
T
T
T

 x  A  BK k  Lk  Lk  A  BK k   x  2e k BT Lk







  x Ek x  2e k RR 1 BT Lk   x Ek x  2e k RK k 1 x.
T

T

T

T

Suy ra, sau khi tích phân hai vế trong khoảng thời gian từ tk   i đến tk   i 1 sẽ được:



T

x Lk x



tk  i 1




tk  i

tk  i 1

 

tk 



tk  i 1

x Ek x dt  2
T

i

  e

T
k

tk 



RK k 1 x dt

(11)


i

Rõ ràng trong (11) bây giờ không còn chứa A, B. Công thức này sẽ được sử dụng để
tính “thích nghi” đồng thời K k 1 và Lk từ Ek  Q  KkT RKk ở vòng lặp k .
Để làm được điều này, các tác giả của [2-4] đã tách riêng nghiệm Kk 1 , Lk cần tìm ra
khỏi các thành phần còn lại trong (11) nhờ toán tử vector hóa ma trận và tích Kronecker
như sau (xem thêm về các phép tính này trong [8]):



 



 xk , j Lk x k , j  vec x k , j Lk x k , j  x k , j  x k , j vec  Lk 
T



tk  i 1

 

tk  i

T

T


T

tk  i
 tk i1 T

T
T
e RK k 1 x dt  vec   ek RK k 1 x dt    x  ek R dt  vec( K k 1 )
 t 
 t  (i 1)
 k i
 k



T
k





 

T

T

vì x k ,i Lk x k ,i và ek RKk 1 x đều là vô hướng. Khi đó, (11) viết lại được thành:




x x
T

T



tk  i 1
tk   i

tk  i 1

vec( Lk )  2



tk 

 

x  ek R dt  vec( K k 1 )  
T

T

i

tk  i 1




tk 

x Ek x  dt
T

i

hay
 T
T
 x x







tk  i 1
tk   i

tk  i 1

, 2




tk  i

tk  i 1
  vec( Lk ) 
T
x  e R dt  
   x Ek x  dt .
  vec( K k 1 ) 
tk   i

T

 
T
k

(12)

Viết lại (12) chung cho tất cả các chỉ số i  0,1,  , lk  1 ta sẽ có đẳng thức đã được
giới thiệu ở tài liệu [3] như sau:
 vec( Lk ) 
k 
 k
 vec( K k 1 ) 

(13)

trong đó:
tk 1



T
T
T
T
T
T
, 2  x  e k R dt 
 x k ,1  x k ,1  x k ,0  x k ,0


tk


tk   2
T
T
 xT  xT  xT  xT
, 2  x  e k R dt 
k ,2
k ,2
k ,1
k ,1

k 
tk 1







tk  lk
 T

T
T
T
T
T
 x k ,lk  x k ,lk  x k ,lk 1  x k ,lk 1 , 2  x  e k R dt 
tk  lk 1



 

 

 

22

N. D. Phước, T. H. Minh, N. H. Nam, “Một giải pháp cài đặt … tối ưu thích nghi.”


Nghiên cứu khoa học công nghệ




 tk 1 T

 tk 1 T

T
   x Ek xdt 
  x  x dt 
 tk

 tk

 tk   2

 tk   2

T
T
T
 


x Ek xdt 
x  x dt 




k 
  tk 1
vec( Ek ) .

 tk 1







 tk   l

 tk  l

k
k




T
T
T
   x Ek xdt 
  x  x dt 
 tk lk 1

 tk  lk 1


Nhìn vào hai công thức tính  k , k ở trên sẽ thấy ngay được là để cài đặt thuật toán,
với x lấy từ đối tượng, ta cần tạo ra các biến vi phân sau (bằng khâu tích phân):


 

d z1
d z2
T
T
T
T
 x  ek R và
 x  x có các đầu vào là x(t ), ek (t )
dt
dt
như mô tả ở hình 2.
ek

Bộ điều
khiển tối ưu
thích nghi

e

z1

u

(14)

x


Đối tượng
điều khiển
Xác định biến vi
phân thứ hai
Xác định biến vi
phân thứ nhất

ek

Hình 2. Cài đặt các biến vi phân (14).
Có thể thấy, việc tạo thêm ra các biến vi phân (14) đã làm tăng đáng kể bậc mô hình
phải cài đặt. Để tránh được điều này, ta sẽ “cải biên” nó bằng những “động tác” nhỏ sau:
 Thay lk cho từng vòng lặp k bằng một hằng số l đủ lớn, chung cho tất cả các vòng
lặp. Đồng thời, thay  i bởi i với một hằng số dương  đủ nhỏ chọn trước.
 Khi  đủ nhỏ thì có thể thay các công thức tích phân để tính  k , k bằng giá trị
xấp xỉ loại một của nó. Khi đó sẽ được:







T
T
 xTk ,1  xTk ,1  xTk ,0  xTk ,0
, 2 x k ,0  (e k ,0 R )

T
T

 xT  xT  xT  xT
,
2 x k ,1  (ek ,1 R)
k ,2
k ,2
k ,1
k ,1

k 


 xTk ,l  xTk ,l  xTk ,l 1  xTk ,l 1 , 2 xTk ,l 1  (eTk ,l 1 R )




trong đó, ek ,i  e(tk  i ), i  0,1,












(15)


, l và

 xTk ,0  xTk ,0 
 T

T
 x k ,1  x k ,1 
 k   
 vec( Ek ) .


 xT  xT 
k ,l 1 
 k ,l 1

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Hội thảo Quốc gia FEE, 10 - 2020

(16)

23


Kỹ thuật Điều khiển – Tự động hóa

Từ đây, ta đi đến thuật toán học thích nghi trực tuyến dạng cải biên như sau:
Algorithm 2: Thuật toán học thích nghi trực tuyến “dạng cải biên”
1 Khởi tạo với việc chọn K 0 để A  BK0 là Hurwitz. Gán k  0 và chọn
1 ,  2 ,  đủ nhỏ, l đủ lớn. Gán tk  0 .
2 while điều kiện (8) chưa thỏa mãn do

Chọn tín hiệu nhiễu nhân tạo ek (t ), tk  t  tk  l .
3
4

Tính Ek từ K k theo (6). Kích thích hệ bởi u cho ở (10).

5

Đo xk ,i  x(tk  i ), i  0,1,

, l và xây dựng  k ,k theo (15), (16).

Tính Lk , K k 1 từ (13). Gán k  k  1 và tk  tk  l .
6
7 end while
8 Đáp số K  Kk 1 và L  Lk .

Về thuật toán trên ta có vài điều bàn thêm dưới đây:
 Thời gian thực hiện một vòng lặp luôn đều nhau và đúng bằng l .
 Để phương trình (13) có nghiệm K k 1 và Lk thì  k phải có đủ hạng. Cụ thể là, nếu
đối tượng điều khiển (1) có bậc n và m đầu vào thì hệ phương trình (13) sẽ có tổng
cộng nm  n(n  1) 2 biến cần tìm, gồm nm phần tử của ma trận K k 1 và
n(n  1) 2 phần tử của ma trận đối xứng Lk . Vậy ma trận  k phải có hạng bằng
nm  n(n  1) 2 và ta cũng phải chọn l đủ lớn để có được điều này.
 Nhìn một cách tổng thể thì tính thích nghi của thuật toán chưa được thể hiện đầy đủ
vì bước khởi tạo vẫn cần đến A, B của hệ cho việc chọn K 0 . Nếu như có thêm giả
thiết là hệ ban đầu đã ổn định thì với việc chọn K0  0 , tất cả các phép tính của
thuật toán lúc này sẽ hoàn toàn không cần đến A, B nữa. Lúc đó, tính thích nghi của
thuật toán mới thực sự trở nên đầy đủ.
2.3. Cải biên thuật toán off-policy-learning

Thuật toán thích nghi ngoại tuyến cho bài toán LQ (1)-(2) đã được các tác giả của [2-4]
xây dựng dựa vào thuật toán trực tuyến gốc ban đầu với một thay đổi cơ bản là những giá
trị trạng thái (9) lấy từ hệ thống sẽ chỉ cần đo một lần duy nhất, sau đó, chúng được sử
dụng chung cho tất cả các vòng lặp k . Như vậy, ta cũng sẽ không cần ký hiệu chúng
giống như đã làm ở (9) vì các dữ liệu này không còn phụ thuộc theo k . Hơn nữa, do được
sử dụng chung cho các vòng lặp nên ở tất cả các vòng lặp cũng đều phải có chung  i  i
với một hằng số  đủ nhỏ được chọn trước, đồng thời cũng phải có lk  l , k . Bởi vậy,
thay vì ký hiệu như ở (9), ta sẽ ký hiệu lại tập dữ liệu trạng thái đo được đó là:
xi  x(i ), i  0,1,  , l .

(17)

Tương ứng, nhiễu nhân tạo, tác nhân để thu thập thông tin, cũng sẽ không còn phụ
thuộc k . Do đó, ta sẽ ký hiệu lại nó một cách đơn giản là e(t ) và nó cũng sẽ chỉ được sử
dụng một lần duy nhất để thu thập tập dữ liệu trạng thái (17).
Với sự thay đổi trên, và cũng từ kết quả đã có của phương pháp biến phân, rằng dọc
theo quỹ đạo tối ưu của bài toán LQ (1)-(2) luôn có cho mọi vòng lặp k :






x Lk x  min  x Qx  u Ru dt hay
T

u

24


tk

T

T





d T
T
T
x Lk x   x Qx  u Ru ,
dt

(18)

N. D. Phước, T. H. Minh, N. H. Nam, “Một giải pháp cài đặt … tối ưu thích nghi.”


Nghiên cứu khoa học công nghệ

thì qua một thay đổi nhỏ trong (18) là ở đó thay hai thành phần u bởi:
u(t )   Kk x  e(t ) và u(t )   Kk 1 x ,

sẽ được:






d T
T
T
x Lk x   x Qx    K k x  e  R   K k 1 x 
dt
.
  x Qx   K k x  e  RK k 1 x
T

T

Từ đây, tương tự như đã làm ở thuật toán học trực tuyến, ta cũng đi đến được kết quả
đã có trong các tài liệu [[3], [4]], là:
 T
T
 x  x






t  ( i 1)

t  ( i 1)
t  i

,




t i

  vec( Lk ) 
T
x   ( K k x  e)T R  dt  

 vec( K k 1 ) 



t  ( i 1)





T

x Qxdt

t i

hay
 vec( Lk ) 
k 
v
 vec( K k 1 ) 


(19)

trong đó:
 T
T
T
T
,
 x1  x1  x 0  x 0

k  

 T
T
T
T
 xl  xl  xl 1  xl 1 ,



T
T
x

(
K
x

e

)
R
dt



k
t



t  l

T
T
x

(
K
x

e
)
R
dt



k


t  ( l 1)

t 

(20)

 t  T

  x Qxdt 
 t


v  

(21)


 t  l T

  x Qxdt 
 t  ( l 1)

Vậy khi sử dụng lại các “mẹo” cải biên đã được áp dụng ở thuật toán trực tuyến trước
đây, nhằm đơn giản hóa việc cài đặt bằng việc giảm bớt các biến vi phân:
dz
d z1
T
T
(22)
 x   ( K k x  e)T R  và 2  x Qx

dt
dt

trong (20) và (21) ta cũng đến được các công thức xấp xỉ loại 2 của  k , v như sau:


 T

T
T
T
 x1  x1  x 0  x 0 , 2 ( 1   2 ) 


T
T
k  
 với  i  xi   ( Kk xi  ei ) R 
 T


 xl  xTl  xTl 1  xTl 1 ,
( l   l 1 ) 
2



Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Hội thảo Quốc gia FEE, 10 - 2020

(23)


25


Kỹ thuật Điều khiển – Tự động hóa


 1  0 
T

v  
 với i  xi Qxi .
2

 l  l 1 



(24)

Suy ra, thuật toán học thích nghi ngoại tuyến dạng cải biên gồm các bước như sau:
Algorithm 3: Thuật toán học thích nghi ngoại tuyến “dạng cải biên”
1 Khởi tạo với việc chọn K 0 để A  BK0 là Hurwitz. Gán k  0 và chọn
1 ,  2 ,  đủ nhỏ, l đủ lớn. Chọn tín hiệu nhiễu nhân tạo e(t ) rồi đưa tín hiệu
thử u   K0 x  e vào đối tượng. Thu thập tập gồm l các giá trị trạng thái
xi  x(i ), i  0,1,  , l từ hệ thống và tính  theo (24).
2 while điều kiện (8) chưa thỏa mãn do
3
Tính  k theo (23) và xác định nghiệm Lk , K k 1 của (19).
4

Gán k  k  1 .
5 end while
6 Đáp số K  Kk 1 và L  Lk .

Lưu ý là vector v không phụ thuộc k nên ta đã chuyển nó vào bước khởi tạo.
3. KIỂM CHỨNG NHỜ MÔ PHỎNG
Để kiểm chứng tính khả thi của thuật toán “cải biên”, sau đây, ta sẽ áp dụng chúng cho
bài toán LQ (1)-(2) với các tham số:
x 
 0 3
1
0 0 
x   1 , A  
, B   , Q  
 và R  1 .
1 0
 0
 0 16 
 x2 
Bài toán LQ này có nghiệm chính xác, thu được thông qua giải trực tiếp phương trình
đại số Riccati (4) và sau đó thay vào bộ điều khiển (3), là:

4 8 
L
 và K   4 , 8 .
 8 20 
Trước tiên, ta sử dụng thuật toán học thích nghi trực tuyến gốc ban đầu để xác định
nghiệm L, K trên. Với các tham số khởi tạo:

  0.1s, l  10, 1   2  5.104 , x0  (5 , 8)T , t0  0, K0  (1.5 , 3.5)


(25)

và nhiễu nhân tạo ek (t )  e(t ) thỏa mãn:
de(t )
 200cos 100t 
(26)
dt
ta thu được kết quả như thể hiện ở hình 3. Sự phụ thuộc chỉ số vòng lặp k của nhiễu nhân
tạo ek (t ) ở đây chỉ còn là thời điểm tk bắt đầu vòng lặp. Nói cách khác, ở vòng lặp k thì
các giá trị ek ,i của nhiễu nhân tạo sẽ là:

ek ,i  e(tk  i ) với i  0,1,  , l .

Trục hoành ở hình 1 biểu thị thời gian t , đồng thời cũng là số bước lặp k . Thời gian
cần thiết để hoàn thành một vòng lặp sẽ là l  1s. Do chỉ sau 7 vòng lặp, tức là sau 7s ,
điều kiện (8) đã được thỏa mãn với kết quả:

26

N. D. Phước, T. H. Minh, N. H. Nam, “Một giải pháp cài đặt … tối ưu thích nghi.”


Nghiên cứu khoa học công nghệ

 4.0 8.0 
L7  
 và K8   4.0 , 8.0 
 8.0 20.0 
nên cũng kể từ thời điểm đó ta không còn cần đến tín hiệu nhiễu nhân tạo.

Trong trường hợp sử dụng thuật toán học thích nghi trực tuyến cải biên (Algorithm 2)
với các giá trị khởi tạo:

  5 103 s, l  200, 1   2  5.103 , x0  (5 , 8)T , t0  0, K0  (1 ,  0.5)

(27)

và nhiễu nhân tạo e(t ) thỏa mãn:
de(t )
 e0.35t 15cos(10t )  5cos(3t  0.2)  5cos(7t  0.1)
dt
ta kết quả như ở hình 4. Thời gian cần thiết để thực hiện một vòng lặp lúc này cũng là
l  1s .
So sánh hai kết quả mô phỏng trên cho thấy, thuật toán cải biên Algorithm 2, mặc dù
không sử dụng các biến vi phân (14) song vẫn đảm bảo được tính hội tụ thích nghi tới
nghiệm của bài toán tối ưu LQ (1)-(2).

Hình 3. Học thích nghi trực tuyến (gốc).

Hình 4. Kết quả với Algoritm 2 (cải biên).
Tiếp theo, hình 5 và hình 6 là kết quả tương ứng thu được khi sử dụng thuật toán học
ngoại tuyến cho hai trường hợp khác nhau, có và không có biến vi phân (22). Ở đây, ta sử
dụng lại các điều kiện đầu gần giống như phần mô phỏng trước là:

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Hội thảo Quốc gia FEE, 10 - 2020

27


Kỹ thuật Điều khiển – Tự động hóa


  103 s, l  1000, 1   2  5.104 , x0  (5 , 8)T , t0  0, K0  (1.5 , 3.5) .
Nhiễu nhân tạo được sử dụng chung cho cả hai trường hợp là (26) đã cho trước đây, tức là:
de(t )
 200cos 100t  .
dt

Hình 5. Học thích nghi ngoại tuyến (gốc).

Hình 6. Kết quả với Algoritm 3 (cải biên).
Vì ở đây là học ngoại tuyến, nên tín hiệu nhiễu nhân tạo chỉ tồn tại ở bước khởi tạo
k  0 , như thấy được ở hình 5 và hình 6. Với các dữ liệu như trên thì thời gian cần thiết để
thực hiện một vòng lặp lúc này cũng là l  1s .
Qua so sánh trực quan có thể thấy được rằng, chất lượng học thích nghi ngoại tuyến
cho cả hai trường hợp, là hoàn toàn tương đương nhau, trong khi với Algorithm 3, thuật
toán học ngoại tuyến cải biên, số lượng các phép tính cần thực hiện được giảm đáng kể do
đã bỏ đi việc cài đặt các biến vi phân (xem lại minh họa ở hình 2).
4. KẾT LUẬN
Thông qua xấp xỉ loại 1 và loại 2 các công thức tích phân, bài báo đã đơn giản hóa
được việc cài đặt thuật toán học tối ưu thích nghi cho bài toán tối ưu LQ (1)-(2) với hai kết
quả là thuật toán học thích nghi trực tuyến cải biên (Algorithm 2) và thuật toán học thích
nghi ngoại tuyến cải biên (Algorithm 3). Kết quả mô phỏng ứng dụng của hai thuật toán

28

N. D. Phước, T. H. Minh, N. H. Nam, “Một giải pháp cài đặt … tối ưu thích nghi.”


Nghiên cứu khoa học công nghệ


cải biên này cho thấy, chúng đã mang lại chất lượng tương đương như khi cài đặt trực tiếp
thuật toán học trực tuyến hay ngoại tuyến gốc ban đầu, tức là với việc cài đặt thêm các
biến vi phân (14) và (22). Vấn đề còn lại cần nghiên cứu tiếp là xác định một điều kiện đủ
cho việc chọn nhiễu nhân tạo e(t ). Nó sẽ là nhiệm vụ của chúng tôi trong tương lai.
Mã nguồn của những chương trình mô phỏng sử dụng trong bài báo này, kể cả các mã
nguồn chương trình cài đặt trực tiếp với các biến vi phân để so sánh, độc giả có thể tìm
thấy trên trang cá nhân của tác giả: />TÀI LIỆU THAM KHẢO
[1]. Zilouchian, A., and Jamshidi, M. (eds.), “Intelligent Control Systems Using Soft
Computing Methodologies”, CRC Press, 2001.
[2]. Bertsekas, D.P., “Dynamic programming and optimal control. Volume 2:
Approximate dynamic programming”, Athena Scientific, Belmont MA, 2012.
[3]. Jiang,Y. and Jiang, Z.P., “Robust adaptive dynamic programming”, John Wiley and
Sons Inc. New Jersey, 2017.
[4]. Lewis, F.L , and Liu, D. (eds.), “Reinforcement learning and approximate dynamic
programming for feedback control”, John Wieley and Sons, 2013.
[5]. Bertsekas, D.P., “Approximate policy iteration: A survey and some new methods”,
Report LIDS-P-2833, MIT, Journal of control theory and applications, Vol.9, pp.
310-315, 2010.
[6]. Busoniu, L., Bruin, T., Tolic, D., Kober, J., and Paluco, I., “Reinforcement learning
for control: Performance, stability, and deep approximators”, Annual Reviews in
Control, ScienDirect, Elsevier, Volume 46, Pages 8-28, 2018.
[7]. Sutton, R.S. and Barto, A.G, “Reinforcement Learning: An Introduction”, The MIT
Press, Cambridge, Massachusetts, London, England, 2017.
[8]. Phước,N.D. “Tối ưu hóa trong điêu khiển và điều khiển tối ưu”, NXB Bách khoa, 2016
ABSTRACT
A SIMPLE APPROACH TO
IMPLEMENT OPTIMAL ADAPTIVE CONTROL ALGORITHM
The paper introduces a simple approach to implement optimal adaptive control
algorithms for LQ optimal problems. This approach helps to reduce a huge number
of differential variables to implement, which implies consequently the reduction of

many operations to carry out. In this paper the approach has been also realized for
both on-policy-learning algorithm and off-policy-learning algorithm. Simulation
results afterward have confirmed the applicability of introduced approach.
Keywords: Intelligent control; Reinforcement learning control; Variation technique; Dynamic programming.

Nhận bài ngày 16 tháng 7 năm 2020
Hoàn thiện ngày 05 tháng 10 năm 2020
Chấp nhận đăng ngày 05 tháng 10 năm 2020
Địa chỉ: Bộ môn ĐKTĐ, Viện Điện, Đại học Bách khoa Hà Nội.
*
Email:

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Hội thảo Quốc gia FEE, 10 - 2020

29



×