Bài tốn tối ưu động 36 phỏng sẽ được sử dụng để giải hệ phương trình đại số phi tuyến với các biến
ˆ ( , )ˆ ˆ T
x z y được hình thành sau khi rời rạc hĩa hệ DAEs (1.114b-1.114c), nhờ đĩ bài tốn NLP (1.114) được rút gọn thành bài tốn nhỏ hơn chỉ cịn chứa các ràng buộc tại điểm cuối (1.114d) và các ràng buộc bất phương trình (1.114e). Phương pháp QS-SQA vẫn thực hiện việc giải hệ phương trình DAEs trong mỗi lần lặp nên nĩ được gọi là phương pháp tựa (giả) tuần tự. Ở đây cĩ một điều cần chú ý là việc giải hệ phương trình đại số phi tuyến sử dụng phương pháp Newton-Raphson đã được trình bày trong phần 1.3.3.1 chứ khơng sử dụng chương trình giải hệ DAEs thơng thường.
Để đơn giản trong việc trình bày, ta đặt g đại diện cho các phương trình hệ thống DAEs (1.22b-1.22c), bài tốn NLP (1.114) được viết lại như sau:
ˆ ˆ, , ˆ ˆ min ( , ) (1.116a) sao cho ˆ ˆ ( , ) 0 (1.116b) ˆ ( ) 0 (1.116c) ˆ ˆ ˆ , ˆ ˆ ˆ (1.116d) x u NL NC L U L U f x u g x u x x x x u u u
Như được chỉ ra trên hình 1.8, phương pháp QS-SQA sử dụng bài tốn tối ưu hai lớp. Tại lần lặp thứ k của lớp tối ưu, phương pháp Newton-Raphson được sử dụng để giải hệ (1.116b) với biến ˆx, cĩ nghĩa là:
ˆ ( )ˆ (1.117)
xx u
Thay thế (1.117) vào bài tốn NLP (1.116) ta được: ˆ , ˆ ˆ min ( ( ), ) (1.118a) sao cho ˆ ( ) 0 (1.118b) ˆ ( )ˆ ˆ (1.118c) ˆ ˆ ˆ (1.118d) u NL NC L U L U f x u u x x x u x u u u
Đối với phương pháp này, số lượng biến trong bài tốn NLP (1.118) đã được giảm đi một cách đáng kể so với bài tốn NLP trong phương pháp SMA.
Để đơn giản hĩa cách trình bày, ta đặt g là hàm đại diện cho các ràng buộc dạng phương trình (1.118b), h là hàm đại diện cho các ràng buộc dạng bất phương trình (1.118c), khi đĩ bài tốn (1.118) được viết lại thành:
Bài tốn tối ưu động 37 ˆ ˆ ˆ min ( ( ), ) (1.119a) sao cho ˆ ( ) 0 (1.119b) ˆ ( ) 0 (1.119c) ˆ ˆ ˆ (1.119d) u L U f x u u g u h u u u u
Bài tốn NLP (1.119) chỉ chứa các biến độc lập (hay biến điều khiển) ˆu, một số các ràng buộc dạng phương trình (ngoại trừ các ràng buộc xuất phát từ phương trình hệ thống) và các ràng buộc dạng bất phương trình phải thỏa mãn tại các điểm collocation.
Tài liệu [12] đã mơ tả rất chi tiết về phương pháp QS-SQA bao gồm các bước tính như sau:
(1) Đưa ra số một lượng cố định các đoạn thời gian collocation, rời rạc hĩa biến điều khiển bằng các giá trị hằng số, rời rạc hĩa biến trạng thái bằng phương pháp collocation.
(2) Cung cấp giá trị khởi tạo cho biến điều khiển và các giá trị biên cho tất cả các biến.
(3) Giải hệ phương trình đại số phi tuyến mơ tả hệ thống sau khi đã tiến hành collocation.
(4) Tính các giá trị độ nhạy ˆ ˆ
dx du
(5) Tính các giá trị hàm mục tiêu f x u u( ( ), )ˆ ˆ ˆ , g u( )ˆ , h u( )ˆ cũng như các giá trị Gradients và Jacobians của chúng với biến ˆu, uˆf x u u( ( ), )ˆ ˆ ˆ , uˆg u( )ˆ ,
ˆ ( )ˆ
uh u
; chúng được tính như sau: ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ (1.119) ˆ ˆ ˆ ˆ ˆ ˆ ˆ u u u f x f f x u u g x g g x u u h x h h x u u
(6) Gọi chương trình giải bài tốn NLP để tìm nghiệm uˆ*. (7) Nếu hội tụ thì dừng, ngược lại thì quay lại bước (3).
Bài tốn tối ưu động 38 Thuật tốn của phương pháp QS-SQA được thể hiện trên hình 1.8. Chúng ta cĩ thể thấy rằng trong phương pháp QS-SQA, bài tốn NLP cỡ lớn đã được phân ly bằng cách sử dụng bước tính mơ phỏng Simulation và giải bài tốn SQP rút gọn, trong khi với phương pháp SMA, bài tốn NLP cỡ lớn được giải trực tiếp.
Bài tốn điều khiển tối ưu 39
Chƣơng 2
PHƢƠNG PHÁP SỐ GIẢI BÀI TỐN ĐIỀU KHIỂN TỐI ƢU CHO HỆ CĨ PHƢƠNG TRÌNH TRẠNG THÁI SUY BIẾN
2.1 Bài tốn điều khiển tối ƣu 2.1.1 Khái niệm
Nhiệm vụ của bài tốn điều khiển tối ưu là thực hiện việc tìm kiếm một luật điều khiển cho một hệ thống cho trước nhằm đạt được một tiêu chí tối ưu nhất định. Một bài tốn như vậy bao gồm một hàm chi phí của các biến trạng thái và các biến điều khiển. Một bài tốn điều khiển tối ưu gồm một tập hợp các phương trình vi phân mơ tả quỹ đạo của các biến điều khiển nhằm làm giảm thiểu hàm chi phí. Việc điều khiển tối ưu cĩ thể được thực hiện bằng cách sử dụng phương pháp biến phân cổ điển, hoặc nguyên lý cực đại Pontryagin (điều kiện cần), hoặc bằng cách giải phương trình Hamilton-Jacobi-Bellman (điều kiện đủ).
Một bài tốn điều khiển tối ưu với thời gian cuối cố định và khơng cĩ ràng buộc về quỹ đạo thường cĩ dạng:
Tìm quỹ đạo của vectơ điều khiển u t t:[ , ]0 f RRmnhằm tối thiểu hĩa hàm
0 ( ) min ( ( ), ) ( ( ), ( ), ) f t f f u t t J x t t L x t u t t dt (2.1a) sao cho ( ) ( ( ), ( ), ) x t f x t u t t (2.1b) 0 0 ( ) x t x (2.1c) [ ( ),x tf tf] 0 (2.1d)
trong đĩ: [ , ]t t0 f là khoảng thời gian cần xét,
0
:[ , ]f n
x t t R là vectơ biến trạng thái,
0
:[ , ]f m
u t t R là vectơ biến điều khiển, :Rn R R
và L R: nRmRRlà các vơ hướng, :
T n n
R R
: ràng buộc tại thời điểm cuối với x(tf),
: n m n
f R R RR là một trường vectơ.
Chú ý rằng phương trình (2.1b-2.1c) đại diện cho tính động của hệ thống và trạng thái khởi tạo của nĩ.
Bài tốn điều khiển tối ưu 40 Bài tốn (2.1) như trên được gọi là bài tốn Bolza. Nếu L x t u t t( ( ), ( ), )0 thì nĩ được gọi là bài tốn Mayer, cịn nếu ( ( ), ) 0 x tf tf , nĩ được coi là bài tốn Lagrange.
Ngồi ra, trong bài tốn (2.1) cịn cĩ thể xuất hiện những ràng buộc về mặt quỹ đạo đối với các biến điều khiển cũng như biến trạng thái:
( ) ( ) L U L U x x t x u u t u (2.1e)
trong đĩ xL, uL và xU, uU lần lượt là các giới hạn dưới và giới hạn trên của biến trạng thái và biến điều khiển.
2.1.2 Phân loại
Dựa vào khoảng thời gian xảy ra quá trình tối ưu là tf , người ta cĩ thể phân loại: Bài tốn tối ưu cĩ tf cố định, ví dụ:
Điều khiển đồn tàu hỏa giữa 2 ga với lịch trình xác định sao cho năng lượng đồn tàu tiêu thụ là thấp nhất;
Điều khiển quá trình chuyển đổi hĩa học trong thời gian cho trước với chi phí thấp nhất.
Bài tốn tối ưu cĩ tf khơng cố định, ví dụ:
Điều khiển tên lửa lên độ cao xác định với thời gian nhanh nhất;
Điều khiển tàu biển đi được xa nhất với một nguồn năng lượng cố định cho trước.
Với các bài tốn điều khiển tối ưu động cĩ trạng thái đầu x0 cho trước, trạng thái cuối quá trình tối ưu là xf =x(tf), người ta cĩ thể phân loại bài tốn:
Điểm cuối tự do, ví dụ:
Điều khiển tên lửa lên độ cao lớn nhất;
Điều khiển tàu biển đi được xa nhất với một nguồn năng lượng cố định cho trước.
Điểm cuối bị ràng buộc, ví dụ:
Điều khiển tên lửa vào quỹ đạo với thời gian nhanh nhất. Điểm cuối cố định cho trước, ví dụ:
Bài tốn điều khiển tối ưu 41
Điều khiển ghép nối các con tàu.
Điều khiển hệ thống về trạng thái cân bằng.
2.1.3 Giải bài tốn điều khiển tối ƣu động liên tục
Như đã giới thiệu trong phần 1.1.1, để cĩ thể hình thành bài tốn tối ưu, trước hết chúng ta cần xác định hàm mục tiêu, hay là sự đánh giá chất lượng hoạt động của hệ thống, đồng thời với việc xác định các ràng buộc cho bài tốn tối ưu. Đây chính là q trình mơ hình hĩa. Bước tiếp theo là đi tìm một thuật giải phù hợp cho bài tốn tối ưu đã được hình thành và tiến hành giải bài tốn đĩ. Tính đúng đắn của kết quả nhận được cần phải được xem xét, kết luận trong bước cuối cùng của quá trình giải bài tốn tối ưu. Cụ thể các bước giải bài tốn điều khiển tối ưu như sau:
Bước 1: Mơ hình hĩa
Viết phương trình trạng thái mơ tả đối tượng (2.1b): ( ) ( ( ), ( ), )
x t f x t u t t
Xác định hàm mục tiêu (2.1a) và điều kiện biên (2.1c-2.1d) từ yêu cầu thiết kế:
Bài tốn điểm cuối tự do:
Hàm mục tiêu: 0 ( ) min ( ( ), ) ( ( ), ( ), ) f t f f u t t J x t t L x t u t t dt
Điều kiện đầu: x t( )0 x0
Các ràng buộc (nếu cĩ): ( ) ( ) L U L U x x t x u u t u
Bài tốn điểm cuối ràng buộc:
Hàm mục tiêu: 0 ( ) min ( ( ), ( ), ) f t u t t J L x t u t t dt
Điều kiện đầu: x t( )0 x0
và điều kiện cuối: [ ( ),x tf tf]0
Các ràng buộc (nếu cĩ): ( ) ( ) L U L U x x t x u u t u
Bài tốn điều khiển tối ưu suy biến 42
Bước 2: Giải bài tốn tối ưu: Chọn phương án, giải bài tốn tối ưu (2.1) đã
thành lập được theo các phương pháp đã được trình bày trong chương 1.
Bước 3: Nhận xét và kết luận nghiệm của bài tốn.
2.2 Bài tốn điều khiển tối ƣu suy biến 2.2.1 Khái niệm 2.2.1 Khái niệm
Trở lại bài tốn (2.1), với giả thiết ( ( ), ( ), )L x t u t t và [ ( ), x tf tf]là những hàm trơn, hàm Hamilton cho bài tốn này là:
( , , , ) ( , , ) T ( , , )
H x u t L x u t f x u t (2.2) Theo nguyên lý Pontryagin, các điều kiện cần của bài tốn tối ưu phải thỏa mãn với quỹ đạo tối ưu là:
( , , , ) x H x u t (2.3) ( )tf x[ ( ), ]x tf tf Tx (2.4) ( )f t[ ( ), ]f f tT H t x t t (2.5) trong đĩ: arg min ( , , , ) u u H x u t (2.6)
Với x u, lần lượt là nghiệm tiềm năng của các biến trạng thái và biến điều khiển, là vector hàm nhân tử Lagrange theo thời gian, là các vector nhân tử Lagrange liên hợp với .
Một cực trị của bài tốn điều khiển tối ưu được coi là suy biến nếu det(Huu)=0 tại mọi điểm trên quỹ đạo của nĩ, trong đĩ Huu là ma trận cấp (mm). Trong trường hợp ngược lại là trường hợp khơng suy biến. Trường hợp đặc biệt, khi hàm Hamilton là hàm tuyến tính với một hay nhiều biến điều khiển u(t) thì cực trị sẽ là cực trị suy biến [9].
2.2.2 Các đặc điểm
Định nghĩa 1.1: Gọi uk là phần tử tối ưu suy biến của vector biến điều khiển u
trong khoảng thời gian [t1, t2] mà giá trị của nĩ là tuyến tính trong hàm Hamilton. Gọi đạo hàm bậc 2q của Huklà đạo hàm tồn phần bậc thấp nhất mà trong đĩ uk
xuất hiện tường minh với một hệ số khác khơng trên đoạn [t1, t2]. Khi đĩ q được gọi là bậc của cung suy biến. Biến điều khiển u được gọi là biến điều khiển suy biến.
Lựa chọn phương pháp giải và các cơng cụ 43
Định nghĩa 1.2: Giả sử tất cả các phần tử u1, u2, ..., um của vector biến điều khiển u đồng thời suy biến, thì u được gọi là hàm điều khiển suy biến tồn phần khi:
( , , ) 0
u
H x t (2.6)
với mọi t[ , ]t t0 f .
Định nghĩa 1.3: Một hàm điều khiển được gọi là hàm điều khiển suy biến từng
phần khi biểu thức (2.6) đúng với các khoảng thời gian k cĩ độ dài Ti , i=1, 2, ..., k
và 0 1 k i f i T t t .
Lời giải của rất nhiều bài tốn điều khiển tối ưu khơng thể tìm được theo cách giải tích, đặc biệt với bài tốn điều khiển suy biến. Vì khi đĩ Gradient (2.6) của hàm Hamilton khơng cung cấp bất kỳ một thơng tin nào liên quan đến biến điều khiển khi nĩ bằng 0.
Trong khi đĩ, các phương pháp trực tiếp tìm nghiệm dạng số đã được giới thiệu trong chương 1 lại cĩ thể giải quyết được những bài tốn này bởi nĩ khơng sử dụng đến hàm Hamilton. Mặt khác, những hệ thống điều khiển hiện đại thường là những hệ thống điều khiển số nên việc tìm lời giải dạng số cho bài tốn điều khiển tối ưu động là phổ biến hiện nay. Do đĩ trong luận văn này, tác giả thực hiện việc tìm lời giải số cho bài tốn điều khiển tối ưu động, đặc biệt là với bài tốn điều khiển suy biến.
2.3 Lựa chọn phƣơng pháp giải và các cơng cụ 2.3.1 Lựa chọn phƣơng án IP-SQP
Như đã phân tích trong phần 1.3.3, bài tốn NLP được hình thành bằng cách sử dụng phương pháp QS-SQA cĩ những đặc điểm như sau:
1. Số lượng biến của bài tốn NLP, là các biến điều khiển đã được rời rạc hĩa dạng từng đoạn hằng số, thường nhỏ hơn số lượng biến trạng thái.
2. Số lượng các ràng buộc bất phương trình, mà chính là những ràng buộc đối với biến trạng thái, là khá lớn.
3. Số lượng các ràng buộc dạng phương trình là rất ít nhờ việc sử dụng lớp bài tốn mơ phỏng hệ thống giải hệ phương trình đại số phi tuyến sau collocation.
Trên thực tế khơng tồn tại một phương pháp giải dùng chung cho tất cả các bài tốn tối ưu phi tuyến tĩnh. Do đĩ tùy thuộc vào tính chất, đặc điểm của các bài tốn
Lựa chọn phương pháp giải và các cơng cụ 44 mà người ta chọn phương pháp giải phù hợp. Tuy nhiên ta cần lưu ý một số đặc điểm sau:
Phương pháp IP-SQP thường cho nghiệm nhanh hơn phương pháp AS-SQP nhưng phương pháp AS-SQP lại ổn định hơn phương pháp IP; phương pháp IP cĩ thể khơng giải được bài tốn khi tập hợp nghiệm khả thi là trống;
Phương pháp IP-SQP thích hợp với bài tốn cĩ số lượng biến lớn và bài tốn chứa nhiều ràng buộc bất phương trình tích cực.
Từ những phân tích trên, phương án giải được lựa chọn là phương án IP-SQP. Vấn đề cịn lại là lựa chọn phần mềm thực thi bài tốn. Trên thực tế theo [13] tồn tại khá nhiều phần mềm sử dụng phương pháp giải IP như: LOQO, IPOPT, KNITRO, BARNLP và MOSEK (cho bài tốn tối ưu lồi). Phần dưới đây trình bày một số đặc điểm của hai phần mềm phổ biến IPOPT và KNITRO.
Phần mềm IPOPT:
IPOPT [6] là một phần mềm dạng mã nguồn mở (open source) được viết bằng các ngơn ngữ Fortran, C và C++, sử dụng cho bài tốn tối ưu phi tuyến cỡ lớn. Nĩ sử dụng phương pháp IP đối ngẫu. Hướng tìm nghiệm dk được tính tốn trong khơng gian đầy đủ bằng cách giải hệ tuyến tính cỡ lớn (1.18). Nghiệm tối ưu tồn cục được đảm bảo bằng phương pháp tìm kiếm đường thẳng cĩ lọc (filter line search method).
IPOPT cĩ một số đặc điểm cần lưu ý sau:
Khác với những phần mềm khác như SNOPT và CFSQP, ta phải viết tất cả các chương trình con cung cấp hàm mục tiêu (objective function), các ràng buộc (constraints), các Gradient của hàm mục tiêu đối với các biến và Jacobians của các ràng buộc đối với các biến; cịn thơng tin về Hessian cĩ thể được chương trình tự tính gần đúng bằng phương pháp L-BFGS.
IPOPT khơng phân biệt các ràng buộc tuyến tính hay phi tuyến.
IPOPT cĩ thể được nhúng trong các mơi trường tính tốn khác như GAMS, MATLAB, AMPL và AIMMS.
Phần mềm KNITRO:
KNITRO [15] là một phần mềm được viết bằng Fortran77 dùng để giải các bài tốn tối ưu cỡ lớn. Nĩ kết hợp cả hai phương pháp tính IP và AS-SQP nhằm cung cấp những lựa chọn phong phú khi giải bài tốn tối ưu. Với đặc điểm này, KNITRO
Lựa chọn phương pháp giải và các cơng cụ 45 cĩ thể tự động thay đổi phương pháp tính nhằm tìm ra một kết quả tốt nhất cho bài tốn tối ưu.
KNITRO cĩ một số đặc điểm cần lưu ý sau:
Sử dụng cả hai phương pháp IP và AS-SQP;
Rất hiệu quả và ổn định với các bài tốn cỡ nhỏ cũng như cỡ lớn;
Cĩ thể lựa chọn khơng cần cung cấp đạo hàm, hoặc cung cấp đạo hàm bậc một và cấp hai;
Cĩ thể sử dụng nhiều giá trị khởi tạo khác nhau nhằm tìm ra nghiệm tối ưu nhất;
Cĩ thể viết mã nguồn trong C/C++, Fortran, Java và cả Microsoft Excel;
Được nhúng trong các mơi trường tính tốn khác như AMPL, GAMS, MATLAB, Mathematica.
KNITRO là một phần mềm thương mại, nhưng nĩ cũng được cung cấp dưới dạng phiên bản dùng thử với giới hạn về thời gian và kích thước bài tốn cĩ ít hơn 600 biến và 600 ràng buộc.
Qua những phân tích trên, trong luận văn này, tác giả lựa chọn phần mềm