intTypePromotion=3

Nghiên cứu giải bài toán điều khiển tối ưu sử dụng phương pháp tựa theo dãy và giải thuật tính vi phân tự động AD cho hệ thống động học phi tuyến có ràng buộc

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:5

0
30
lượt xem
1
download

Nghiên cứu giải bài toán điều khiển tối ưu sử dụng phương pháp tựa theo dãy và giải thuật tính vi phân tự động AD cho hệ thống động học phi tuyến có ràng buộc

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài báo đề cập đến bài toán tối ưu động có ràng buộc ứng dụng phương pháp Tựa theo dãy (QuasiSequential Approach) và phương pháp Rời rạc hóa Collocation trực giao. ưu điểm chính của phương pháp này dựa trên việc làm giảm kích thước, hay chính là việc làm giảm số lượng biến trực tiếp của bài toán tối ƣu phi tuyến.

Chủ đề:
Lưu

Nội dung Text: Nghiên cứu giải bài toán điều khiển tối ưu sử dụng phương pháp tựa theo dãy và giải thuật tính vi phân tự động AD cho hệ thống động học phi tuyến có ràng buộc

Ngô Phương Thanh và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 87(1): 9 - 13<br /> <br /> NGHIÊN CỨU GIẢI BÀI TOÁN ĐIỀU KHIỂN TỐI ƢU<br /> SỬ DỤNG PHƢƠNG PHÁP TỰA THEO DÃY VÀ GIẢI THUẬT TÍNH VI PHÂN<br /> TỰ ĐỘNG AD CHO HỆ THỐNG ĐỘNG HỌC PHI TUYẾN CÓ RÀNG BUỘC<br /> Ngô Phƣơng Thanh1*, Vũ Quốc Đông2<br /> 1<br /> <br /> Trường ĐH Kỹ thuật Công nghiệp – ĐHTN, 2Đại học Kỹ thuật Tổng hợp Ilmenau<br /> <br /> TÓM TẮT<br /> Bài báo đề cập đến bài toán tối ƣu động có ràng buộc ứng dụng phƣơng pháp Tựa theo dãy (QuasiSequential Approach) và phƣơng pháp Rời rạc hóa Collocation trực giao. Ƣu điểm chính của<br /> phƣơng pháp này dựa trên việc làm giảm kích thƣớc, hay chính là việc làm giảm số lƣợng biến<br /> trực tiếp của bài toán tối ƣu phi tuyến. Điều này cho phép thuật toán đƣợc ứng dụng với những bài<br /> toán lớn, phức tạp, đòi hỏi khối lƣợng và thời gian tính toán lớn. Mục tiêu của nghiên cứu này là<br /> phát triển một gói phần mềm đƣợc viết trên môi trƣờng C và C++ ứng dụng trong bài toán tối ƣu<br /> động có sử dụng giải thuật tính vi phân tự động AD (Automatic Differentiation).<br /> Từ khóa: tối ưu động, phương trình vi phân-đại số, phương pháp Tựa theo dãy, tối ưu phi tuyến,<br /> collocation trực giao, vi phân tự động.<br /> <br /> <br /> ĐẶT VẤN ĐỀ<br /> Các bài toán tối ƣu động nói chung liên quan đến<br /> một hệ thống các phƣơng trình vi phân-đại số (DAEs)<br /> mô tả các hệ thống động học rất phổ biến trong các<br /> lĩnh vực cơ khí, cơ-điện tử, điện và điện tử cũng nhƣ<br /> công nghệ hóa học.<br /> Các mô hình đại diện cho các quá trình hóa học thƣờng<br /> bao gồm một hệ thống những phƣơng trình vi phân<br /> thƣờng (ODEs) mô tả những cân bằng khối lƣợng và<br /> năng lƣợng động của hệ thống, mà trong đó các phản<br /> ứng hóa học xảy ra, cùng với các phƣơng trình đại số<br /> (AEs) thể hiện các quan hệ cân bằng nhiệt động lực<br /> học, những giá trị ở chế độ làm việc xác lập, v.v... Các<br /> hệ thống mạch điện bao gồm những phần tử cơ bản<br /> nhƣ điện trở, tụ điện và điện cảm đƣợc mô tả bằng<br /> những hệ phƣơng trình vi phân mà đƣợc tổng hợp lại<br /> bằng các định luật Kirchhoff dƣới dạng các phƣơng<br /> trình đại số. Trong các hệ thống cơ khí, những hệ<br /> phƣơng trình vi phân thƣờng đƣợc dùng để mô tả các<br /> quá trình động học của những hệ thống con và các<br /> phƣơng trình đại số đƣợc dùng để tổng hợp các ràng<br /> buộc tại các khớp nối.<br /> Nhiệm vụ của bài toán tối ƣu động là thực hiện<br /> việc tìm kiếm một luật điều khiển cho một hệ<br /> thống cho trƣớc nhằm đạt đƣợc một tiêu chí tối<br /> ƣu nhất định. Bài toán nhƣ vậy bao gồm một hàm<br /> chi phí chứa các biến trạng thái (còn gọi là biến<br /> phụ thuộc) và các biến điều khiển (còn gọi là<br /> <br /> <br /> Tel: 0915660599<br /> <br /> Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br /> <br /> biến độc lập) cùng với một tập hợp các phƣơng<br /> trình vi phân-đại số mô tả hệ thống động học.<br /> Việc giải bài toán tối ƣu động nói trên chính là<br /> việc đi tìm quỹ đạo của các biến điều khiển nhằm<br /> giảm thiểu giá trị hàm chi phí nhƣ: tìm đƣờng đi<br /> ngắn nhất, tìm thời gian xảy ra quá trình ngắn<br /> nhất, cực tiểu hóa chi phí, cực tiểu hóa thời gian<br /> tác động, giảm giá thành sản phẩm, v.v...<br /> Một bài toán tối ƣu với hệ thống động học phi tuyến<br /> đƣợc mô tả bằng hệ phƣơng trình DAEs dƣới dạng<br /> tổng quát nhƣ sau:<br /> min<br /> z ,u<br /> <br /> s.t.<br /> <br />   z, u <br /> <br /> (1.a )<br /> <br /> F  z, z , u   0<br /> <br /> (1.b)<br /> <br /> z L  z  zU<br /> <br /> (1.c)<br /> <br /> uL  u  uU<br /> <br /> (1.d )<br /> <br /> z  0   z0<br /> <br /> (1.e)<br /> <br /> Trong đó z(t) và u(t) lần lƣợt là các biến trạng thái<br /> (phục thuộc) và biến điều khiển (độc lập). Hệ<br /> phƣơng trình (1.b) là một hệ phƣơng trình DAEs<br /> mô tả hệ thống cần xét, (1.c) và (1.d) là những<br /> ràng buộc trên quỹ đạo của biến điều khiển và<br /> biến trạng thái, và (1.e) là giá trị khởi tạo của các<br /> biến trạng thái tại thời điểm ban đầu.<br /> SƠ LƢỢC NHỮNG PHƢƠNG PHÁP GIẢI BÀI<br /> TOÁN ĐIỀU KHIỂN TỐI ƢU<br /> Những phương pháp gián tiếp<br /> Bài toán điều khiển tối ƣu có thể đƣợc thực hiện<br /> bằng cách sử dụng nguyên lý cực đại Pontryagin<br /> (điều kiện cần), hoặc bằng cách giải phƣơng trình<br /> Hamilton-Jacobi-Bellman (điều kiện đủ). Những<br /> 9<br /> <br /> http://www.lrc-tnu.edu.vn<br /> <br /> Ngô Phương Thanh và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> phƣơng pháp này đƣợc xếp vào nhóm phƣơng pháp<br /> gián tiếp. Phƣơng pháp này có thể đƣợc sử dụng để<br /> các bài toán biên trị (còn gọi là bài toán bờ) với<br /> những bƣớc nhảy và chuyển mạch trạng thái mà về<br /> mặt số học thƣờng rất khó giải do nó có bán kính hội<br /> tụ địa phƣơng rất nhỏ. Việc hình thành điều kiện tối<br /> ƣu cho bài toán thƣờng rất khó khăn và đòi hỏi<br /> những kiến thức nền tảng tốt về giải tích. Mặt khác,<br /> những phƣơng pháp giải kiểu này rất tốn thời gian.<br /> Hơn nữa, lời giải của rất nhiều bài toán tối ƣu động<br /> không thể tìm đƣợc theo cách giải tích, chẳng hạn<br /> khi tồn tại các ràng buộc về quỹ đạo với các biến<br /> điều khiển và/hoặc các biến trạng thái.<br /> Những phương pháp trực tiếp<br /> Ngƣợc lại, những phƣơng pháp trực tiếp, ví dụ nhƣ<br /> phƣơng pháp Collocation, trƣớc hết thực hiện việc<br /> tƣơng đối dễ tiến hành là rời rạc hóa bài toán tối ƣu<br /> động dựa trên phƣơng pháp phần tử hữu hạn, mà<br /> thƣờng tốn ít thời gian hơn và không yêu cầu ngƣời<br /> thực hiện phải có nền tảng tốt về giải tích; rồi sau đó<br /> thực hiện việc giải bài toán tối ƣu phi tuyến hữu hạn<br /> bằng các thuật toán quy hoạch phi tuyến sẵn có.<br /> Phƣơng pháp này thƣờng cho bán kính hội tụ địa<br /> phƣơng khá rộng.<br /> Với phƣơng pháp trực tiếp, bài toán tối ƣu động<br /> đƣợc rời rạc hóa và chuyển thành bài toán tối ƣu phi<br /> tuyến. Một số phƣơng pháp sử dụng các phƣơng án<br /> rời rạc hóa các phƣơng trình vi phân bằng những<br /> thuật toán nhƣ Euler, hình thang hay Runge-Kutta,<br /> bằng cách xác định một lƣới các điểm N trong<br /> khoảng thời gian [t0 , t f ] , t0  t1  t2 ...  t N  t f .<br /> Theo những phƣơng pháp này, các phƣơng trình vi<br /> phân (1.b) trở thành các ràng buộc cân bằng của bài<br /> toán tối ƣu phi tuyến hữu hạn. Các phƣơng pháp<br /> trực tiếp khác thì sử dụng phƣơng pháp xấp xỉ các<br /> biến điều khiển và biến trạng thái sử dụng các hàm<br /> cơ sở, nhƣ hàm Splines hoặc đa thức Lagrange.<br /> Các phƣơng pháp trực tiếp mà chủ yếu là các<br /> phƣơng pháp số lại đƣợc chia thành hai nhóm,<br /> phương pháp giải Theo dãy<br /> (Sequential) và<br /> phương pháp giải Đồng thời (Simultaneous). Trong<br /> phƣơng pháp giải Theo dãy, chỉ có các biến điều<br /> khiển đƣợc rời rạc hóa thành một tập hữu hạn các<br /> biến điều khiển, và bài toán tối ƣu đƣợc thực hiện<br /> trên không gian với tập biến điều khiển này. Do đó<br /> các phƣơng pháp này thƣờng đƣợc đề cập đến nhƣ là<br /> các phƣơng pháp rời rạc hóa các biến điều khiển.<br /> Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br /> <br /> 87(1): 9 - 13<br /> <br /> Trong phƣơng pháp giải Đồng thời [2], bài toán điều<br /> khiển tối ƣu đƣợc chuyển thành bài toán tối ƣu phi<br /> tuyến hữu hạn bằng cách rời rạc hóa toàn bộ các tín<br /> hiệu điều khiển cũng nhƣ các các tín hiệu trạng thái;<br /> do đó, phƣơng pháp này đƣợc coi nhƣ phƣơng pháp<br /> rời rạc hóa đầy đủ. Do những ƣu điểm của nhóm<br /> phƣơng pháp này so với các pháp trƣớc đó, nhóm<br /> phƣơng pháp tối ƣu đồng thời trực tiếp đã đƣợc sử<br /> dụng rộng rãi trong các bài toán điều khiển tối ƣu<br /> hiện đại.<br /> Ngƣời ta cũng đã áp dụng những phƣơng pháp số<br /> đƣợc coi là khá hiệu quả để giải quyết bài toán quy<br /> hoạch phi tuyến với các ràng buộc, chẳng hạn nhƣ<br /> Quy hoạch toàn phƣơng liên tiếp với Tập tích cực<br /> (Active-Set SQP), phƣơng pháp Điểm trong<br /> (Interior-Point). Các phƣơng pháp trực tiếp sử dụng<br /> quy hoạch phi tuyến đã giải quyết khá tốt các bài<br /> toán liên quan đến các ràng buộc về quỹ đạo. Những<br /> độc giả có quan tâm có thể tìm hiểu thêm nội dung<br /> chi tiết trong tài liệu [4].<br /> Phương pháp Tựa theo dãy - Quasi-Sequential<br /> Method (QSA)<br /> Phƣơng pháp Tựa theo dãy [3] kết hợp hai thuật toán<br /> đồng thời và tuần tự trong bài toán tối ƣu động nhằm<br /> kết hợp ƣu điểm của cả hai phƣơng pháp này bằng<br /> cách chia không gian các biến đƣợc rời rạc hóa<br /> thành hai không gian riêng rẽ: không gian các biến<br /> điều khiển và không gian các biến trạng thái.<br /> Phương pháp Collocation trực giao giải hệ phương<br /> trình vi phân-đại số DAEs<br /> Theo tài liệu [3], với việc áp dụng phƣơng pháp<br /> collocation trực giao, ở đây là phƣơng pháp Radau<br /> Collocation, một đa thức Lagrange trực giao với<br /> những điểm mút thời gian Radau, đƣợc sử dụng để<br /> xấp xỉ các biến trạng thái trong hệ phƣơng trình<br /> DAEs:<br />  NC<br /> NC<br /> NC<br /> t  tl , i<br /> zl (t )   l j (t ) zl , j    <br /> <br /> t<br /> j 0<br /> j  0  i  0 l , j  tl ,i<br />  i j<br /> <br /> <br />  z<br />  l, j<br /> <br /> <br /> <br /> (2.a)<br /> <br /> Trong đó: l = 1, 2, …, NL là số đoạn thời gian đƣợc<br /> chia trong khoảng thời gian cần tính toán,<br /> i,j = 1, 2, …, NC là số điểm collocation trong một<br /> đoạn thời gian. Các biến trạng thái và các thành<br /> <br /> 10<br /> <br /> http://www.lrc-tnu.edu.vn<br /> <br /> Ngô Phương Thanh và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> phần vi phân tại các điểm collocation của đoạn thời<br /> gian thứ l đƣợc tính nhƣ sau:<br /> <br /> Không làm mất tính tổng quát, ta có thể viết lại bài<br /> toán (5) dƣới dạng:<br /> <br /> NC<br /> <br /> zl (tl ,i )   l j (tl ,i ) zl , j<br /> <br /> dt<br /> <br /> NC<br /> <br /> <br /> <br /> dl j (tl ,i )<br /> dt<br /> <br /> j 0<br /> <br /> (2.b)<br /> <br /> f  z, u <br /> <br /> (3.a)<br /> <br /> s.t.<br /> <br /> c  z, u   0<br /> <br /> (3.b)<br /> <br /> z L  z  zU<br /> uL  u  uU<br /> <br /> (3.c)<br /> (3.d )<br /> <br /> Rời rạc hóa-Phương pháp Tựa theo dãy QSA<br /> Theo phƣơng pháp Tựa theo dãy, hệ thống các<br /> phƣơng trình (3.b) đƣợc loại bỏ, thay vào đó là một<br /> lớp bài toán con thực hiện việc mô phỏng, trong đó<br /> các biến trạng thái đƣợc tính toán dựa vào các biến<br /> điều khiển theo phƣơng trình mô tả hệ thống đã<br /> đƣợc rời rạc hóa thành hệ phƣơng trình đại số phi<br /> tuyến và giải theo phƣơng pháp Newton-Raphson,<br /> và bài toán (3) chuyển thành:<br /> f  z (u ) ,u <br /> <br /> s.t. z L  z (u )  zU<br /> uL  u  uU<br /> <br /> min<br /> <br /> f  z  u  ,u <br /> <br /> s.t.<br /> <br /> z  u   s  0<br /> <br /> s.t.<br /> <br /> h  x  0<br /> <br /> h : Rn  Rm<br /> <br /> (6.b)<br /> <br /> x R<br /> <br /> (6.c)<br /> <br /> n<br /> <br /> x  ( s u )T ,<br /> <br /> h( x)  z (u )  s<br /> <br /> (7)<br /> <br /> Nhằm áp dụng phƣơng pháp tối ƣu điểm trong,<br /> bằng cách sử dụng hàm chặn Lôgarit, ta có:<br /> minn φμ  x   f  x   μ  ln  x i <br /> n<br /> <br /> xR<br /> <br /> s.t.<br /> <br /> h  x  0<br /> <br /> (8.a )<br /> <br /> i 1<br /> <br /> (8.b)<br /> <br /> Bài toán (8) là dạng chuẩn tắc để sử dụng phƣơng<br /> pháp tối ƣu Điểm trong. Những mô tả chi tiết về<br /> phƣơng pháp giải bài toán tối ƣu phi tuyến này đƣợc<br /> thể hiện trong tài liệu [2].<br /> Phương pháp Newton-Raphson giải hệ phương<br /> trình đại số phi tuyến<br /> Trong phƣơng pháp Tựa theo dãy [3], hệ phƣơng<br /> trình DAEs mô tả hệ thống (1.b) sau khi áp dụng<br /> phƣơng pháp Collocation trực giao đƣợc chuyển<br /> thành hệ phƣơng trình đại số phi tuyến tại mỗi đoạn<br /> collocation nhƣ hệ phƣơng trình (3.b). Tại vị trí<br /> collocation thứ th phƣơng trình hệ thống với các<br /> điểm collocation đƣợc viết gọn nhƣ sau:<br /> <br /> f : Rn  R<br /> <br /> (4.a )<br /> <br /> c  z,0 , u , z   0<br /> <br /> z  u  : R n  m  R m<br /> <br /> (4.b)<br /> <br /> đó z ,0 là giá trị khởi tạo của phần tử z , NL là số<br /> <br /> (4.c)<br /> <br /> khoảng thời gian đƣợc chia. Áp dụng phƣơng pháp<br /> Newton-Raphson giải hệ phƣơng trình đại số phi<br /> tuyến (9) với các biến z và tham số u , ta cần tính<br /> <br /> u  R<br /> <br /> nm<br /> <br /> Những chi tiết về phƣơng pháp Tựa theo dãy QSA<br /> đƣợc trình bày trong tài liệu [3].<br /> Phương pháp tối ưu Điểm trong với bài toán quy<br /> hoạch phi tuyến<br /> Bài toán (4) chỉ chứa các biến điều khiển và các<br /> ràng buộc không cân bằng. Bằng cách thêm các biến<br /> phụ s để chuyển các ràng buộc không cân bằng (4.b)<br /> thành các ràng buộc cân bằng, ta có:<br /> uR nm<br /> <br /> (6.a)<br /> <br /> Trong đó:<br /> <br /> min<br /> <br /> min<br /> <br /> f : Rn  R<br /> <br /> 0x<br /> <br /> Rời rạc hóa-Phương pháp Đồng thời<br /> Các biến điều khiển đƣợc rời rạc hóa thành từng<br /> đoạn hằng số u trong từng đoạn thời gian cùng với<br /> các biến trạng thái [2]. Bài toán (1) sau đó đƣợc<br /> chuyển thành bài toán tối ƣu phi tuyến thông<br /> thƣờng:<br /> <br /> uR nm<br /> <br /> f  x<br /> <br /> zl , j<br /> <br /> i, j  0,1,..., NC<br /> <br /> zm ,unm<br /> <br /> minn<br /> xR<br /> <br /> j 0<br /> <br /> dzl (tl ,i )<br /> <br /> 87(1): 9 - 13<br /> <br /> f : Rn  R<br /> <br /> (5.a )<br /> (5.b)<br /> <br /> zL  s  zU<br /> <br /> s R<br /> <br /> uL  u  uU<br /> <br /> u  R n m<br /> <br /> m<br /> <br /> (5.c)<br /> (5.d )<br /> <br /> Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br /> <br />   1,..., NL<br /> <br /> các giá trị đạo hàm với biến z :<br /> <br /> (9) Trong<br /> <br />  c<br /> z<br /> <br /> (10)<br /> Tính toán độ nhạy (Sensitivities)<br /> Để có thể giải bài toán (5) đối với biến u theo<br /> phƣơng pháp Điểm trong, ta phải tính các giá trị đạo<br /> f<br /> hàm (gradients)<br /> và (jacobians) (Trong đó z(u )<br /> u<br /> thực chất là một hàm ẩn.) Ngoài ra, theo luật di<br /> z (u )<br /> truyền, ta còn cần tính thêm giá trị gradient<br /> .<br /> z ,0<br /> 11<br /> <br /> http://www.lrc-tnu.edu.vn<br /> <br /> Ngô Phương Thanh và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Theo định lý về hàm ẩn, ta có thể tính các giá trị đạo<br /> hàm trên nhƣ sau:<br /> T<br /> <br />  c   c <br />  c <br /> z<br /> z<br />  <br />  <br />    và<br /> <br /> u<br /> z ,0<br />  z   u <br />  z <br /> <br /> T<br /> <br />  c <br /> <br />  (11)<br />  z ,0 <br /> <br /> Cần nhắc lại (9) là một hệ phƣơng trình đại số phi<br /> tuyến nên việc tính giá trị các đạo hàm (10) và (11)<br /> theo phƣơng pháp giải tích hàm một cách chính xác<br /> là việc không đơn giản. Điều này đã làm nảy sinh<br /> yêu cầu tìm các giải thuật tính toán các giá trị đạo<br /> hàm gần đúng theo phƣơng pháp giải tích số dựa<br /> trên các phép vi phân số một cách tự động, ví dụ<br /> nhƣ phép sai phân tiến hoặc sai phân lùi [4].<br /> Phép tính vi phân tự động-Tổng quan các công cụ<br /> phần mềm<br /> Theo tài liệu [4] thì các phƣơng pháp tính vi phân<br /> phổ biến hiện nay là:<br /> 1) Vi phân ký hiệu; 2)Vi phân hữu hạn; 3) Vi phân<br /> tự động.<br /> Hai phƣơng pháp 1) và 2) đều tồn tại nhiều nhƣợc<br /> điểm, đặc biệt khi tính toán các đạo hàm bậc cao.<br /> Phƣơng pháp 1) có tốc độ tính toán tƣơng đối<br /> chậm và khó khăn trong lập trình khi chuyển đổi<br /> một chƣơng trình máy tính thành một biểu thức.<br /> Phƣơng án 2) thì có nhƣợc điểm cơ bản là tạo ra<br /> những sai số trong quá trình rời rạc hóa và ƣớc<br /> lƣợc. Phƣơng án 3) thì không gặp phải những<br /> nhƣợc điểm trên. Do đó việc lựa chọn phƣơng án<br /> 3) trong tính toán các đạo hàm (10) và (11) là điều<br /> tất yếu, việc còn lại là lựa chọn công cụ phần<br /> mềm sẵn có thích hợp cho việc phát triển. Dựa<br /> theo [1], phần mềm mã nguồn mở cppAD [6]<br /> đƣợc chọn do nó có một số ƣu điểm nhất định so<br /> với các phần mềm còn lại nhƣ không yêu cầu<br /> nhiều bộ nhớ, cho tốc độ tính toán nhanh, dễ tìm<br /> hiểu lập trình.<br /> PHÁT TRIỂN GÓI PHẦN MỀM<br /> Phần mô phỏng hệ DAEs<br /> Phần mô phỏng hệ DAEs mà thực chất là giải hệ<br /> DAEs bằng phƣơng pháp collocation trực giao để<br /> tìm các giá trị biến trạng thái từ các giá trị của biến<br /> điều khiển đƣợc cung cấp từ bài toán tối ƣu phi<br /> tuyến. Hệ phƣơng trình đại số phi tuyến đƣợc thành<br /> lập theo phƣơng pháp Collocation sau đó sẽ đƣợc giải<br /> bằng phƣơng pháp Newton-Raphson với thông tin về<br /> đạo hàm đƣợc cung cấp từ các chƣơng trình con trong<br /> phần mềm cppAD viết trên C++.<br /> Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br /> <br /> 87(1): 9 - 13<br /> <br /> Giải bài toán tối ưu phi tuyến<br /> Bài toán tối ƣu phi tuyến với tập hợp biến là các<br /> biến điều khiển đƣợc giải bằng phƣơng pháp Điểm<br /> trong sử dụng phần mềm IPOPT viết trên C và C++.<br /> Tài liệu [3] trình bày những chi tiết về phƣơng pháp<br /> Điểm trong và phần mềm IPOPT.<br /> VÍ DỤ<br /> Để đánh giá kết quả của nghiên cứu này, một bài<br /> toán trong điều khiển tối ƣu đƣợc lấy làm ví dụ minh<br /> họa. Đó là bài toán điều khiển hệ dao động Val der<br /> Pol đã đƣợc trình bày trong tài liệu [5]:<br /> min<br /> J  x3  5 <br /> (12.a)<br /> s.t.<br /> <br /> x1  1  x22  x1  x2  u<br /> <br /> (12.b)<br /> <br /> x2  x1<br /> <br /> (12.c)<br /> <br /> x3  x12  x22  u 2<br /> <br /> (12.d )<br /> <br /> 0.3  u (t )  1.0<br /> <br /> (12.e)<br /> <br /> 0.4  x1 (t )<br /> <br /> (12. f )<br /> <br /> x(0)  [0,1.0, 0]T<br /> t  [0, 5]<br /> <br /> (12. g )<br /> (12.h)<br /> <br /> Bài toán (12) đƣợc giải trong hai trƣờng hợp có và<br /> không có ràng buộc quỹ đạo (12.f). Với trƣờng hợp<br /> không có ràng buộc (12.f), kết quả J=2.867391 có<br /> tốt hơn so với giá trị 2.86875 đƣợc thể hiện trong<br /> [5]. Với trƣờng hợp có ràng buộc (12.f), giá trị<br /> J=2.95428 cũng tốt hơn so với kết quả 2.95436 đƣợc<br /> thông báo trong [5]. Các đồ thị tín hiệu u(t) và x(t)<br /> đƣợc thể hiện trong các Hình 1 và 2 mà ta có thể<br /> thấy rõ một số cung suy biến do sự xuất hiện các<br /> ràng buộc về quỹ đạo đối với tín hiệu điều khiển u(t)<br /> và trạng thái x(t).<br /> <br /> Hình 1. Đồ thị tín hiệu điều khiển u(t)<br /> <br /> 12<br /> <br /> http://www.lrc-tnu.edu.vn<br /> <br /> Ngô Phương Thanh và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 87(1): 9 - 13<br /> <br /> cần đƣợc tiến hành trong những nghiên cứu tiếp<br /> theo sâu hơn trong tƣơng lai cùng với những mở<br /> rộng về mặt lý thuyết, đặc biệt là với bài toán điều<br /> khiển tối ƣu với đối tƣợng có những quỹ đạo suy<br /> biến.<br /> TÀI LIỆU THAM KHẢO<br /> <br /> Hình 2. Đồ thị tín hiệu trạng thái x(t)<br /> <br /> [1] Andersson, Joel; Houska, Boris; and Diehl, Moritz<br /> (2010). Towards a Computer Algebra System with<br /> Automatic Differentiation for use with Object-Oriented<br /> modelling languages.<br /> http://www.ep.liu.se/ecp/047/011/.<br /> <br /> KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN<br /> [2] A. Wächter and L. T. Biegler (2006), On the<br /> Bài báo đã đề cập đến phƣơng pháp giải bài toán tối<br /> implementation of a primal-dual interior point filter line<br /> ƣu với các hệ thống động học có ràng buộc theo<br /> search algorithm for large-scale nonlinear programming.<br /> phƣơng pháp Tựa theo dãy có sử dụng các giải thuật<br /> Mathematical Programming, 106(1), 25-57.<br /> tính vi phân tự động AD. Một gói phần mềm cũng<br /> [3] Hong, W.; P. Li; G. Wozny; L. T. Biegler and S.<br /> đã đƣợc phát triển nhằm cung cấp cho ngƣời dùng<br /> Wang (January 2006), A Quasi-Sequential Approach to<br /> một môi trƣờng thân thiện dễ sử dụng nhờ việc tổng<br /> Large-Scale Dynamic Optimization Problems, AIChE<br /> quát hóa bài toán tối ƣu động nhằm giảm thiểu công<br /> Journal, Volume 52, No.1, , 255-268.<br /> [4] Jorge Nocedal and Stephen J. Wright (2006),<br /> tác chuẩn bị và thiết lập bài toán. Đƣợc kết hợp với<br /> Numerical Optimization, Second Edition, Springer,.<br /> một phần mềm giải bài toán tối ƣu phi tuyến theo<br /> [5] V. S. Vassiliadis; R. W. H. Sargent; and C. C.<br /> phƣơng pháp Điểm trong, gói phần mềm đƣợc viết<br /> Pantelides (1994). Solution of a Class of Multistage<br /> đã chứng minh đƣợc tính hiệu quả của nó thông qua<br /> Dynamic Optimization Problems. 2. Problems with Path<br /> các ví dụ đã đƣợc trình bày trong bài báo. Thừa kế<br /> Constraints. Ind, Eng. Chem. Res., 33, 2123-2133.<br /> đƣợc những ƣu điểm của phƣơng pháp Tựa theo<br /> [6] A Package for Differentiation of C++ Algorithms.<br /> http://www.coin-or.org/CppAD/.<br /> dãy, gói phần mềm này đƣợc trông đợi là có thể áp<br /> dụng đƣợc với những bài toán có cấu trúc phức tạp<br /> với khối lƣợng biến tƣơng đối lớn. Đây là vấn đề<br /> SUMMARY<br /> DYNAMIC OPTIMIZATION USING QUASI-SEQUENTIAL APPROACH AND<br /> AUTOMATIC DIFFERENTIATION ALGORITHM FOR CONSTRAINED NONLINEAR<br /> DYNAMICAL SYSTEMS<br /> <br /> <br /> Ngo Phuong Thanh1 , Vu Quoc Dong2<br /> 1<br /> <br /> College of Technology – TNU, 2Ilmenau University of Gerneral Technologgy<br /> <br /> This paper deals with dynamic optimization problems with path constraints based on Quasi-sequential Approach<br /> (QSA) and Automatic Differentiation algorithms embedded in orthogonal collocation for solving DifferentiationAlgebraic Equation (DAEs) systems. This method takes advantage of reducing the dimension or decreasing the<br /> number of variables of the Nonlinear Programming (NLP) problems. This makes it possible for the QSA<br /> approach to handle time-consuming large-scale problems. The goal of this research is to develop a software<br /> environment written in C and C++ to solve dynamic optimization problems by using Automatic Differentiation<br /> algorithms.<br /> Key words: dynamic optimization, differential-algebraic equations, orthogonal collocation, quasi-sequential<br /> approach, nonlinear optimization, automatic differentiation.<br /> <br /> <br /> <br /> Tel:0915660599<br /> <br /> Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br /> <br /> 13<br /> <br /> http://www.lrc-tnu.edu.vn<br /> <br />

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản