Làm thế nào để tôi giải quyết một vấn đề kiểm soát tối ưu trong đó quy luật chuyển động phụ thuộc vào một số chức năng của vectơ trạng thái?


11

Một vấn đề điều khiển tối ưu điển hình với vectơ trạng thái x (t) và vectơ điều khiển y (t) có thể được biểu diễn dưới dạng:

maxx(t),y(t)0t1f(t,x(t),y(t))dt

chủ đề của x(t)=g(t,x(t),y(t)) và điều kiện biên cho x .

Tôi muốn giải quyết một vấn đề có vẻ rất giống nhau, nhưng quy luật chuyển động của điều khiển là:

x(t)=g(t,x(t),y(t),z(x(t)))

Ở đây, z(.) Cần được chọn. Nhưng đối số của nó là nhà nước.

Tôi thậm chí không biết bắt đầu tìm giải pháp ở đâu. Làm thế nào tôi có thể tiếp cận vấn đề này?


1
Tôi đoán cách viết đúng là . Tôi sẽ sửa câu hỏi ban đầu.
x(t)=g(t,x(t),y(t),z(x(t))
Daniel Wills

Chào mừng bạn đến Engineering.SE, +1 cho câu hỏi đầu tiên xuất sắc.
Chris Mueller

Bạn đang tìm kiếm một giải pháp đóng hoặc chính thức, hoặc bạn đang hỏi về tối ưu hóa thực tế? Trong trường hợp trước, bạn nên hỏi điều này trên một trang web như math.stackexchange.com . Trong trường hợp sau, có một loạt các quy tắc dành cho tối ưu hóa thực tế. Trong cả hai trường hợp, bạn cần cung cấp thêm chi tiết để có câu trả lời thực sự.
fetwet

Tôi đang tìm kiếm tối ưu hóa thực tế. Thêm chi tiết: Một tập hợp con của biến điều khiển phụ thuộc vào (mà tôi đang gọi ) và một tập hợp con của các biến điều khiển phụ thuộc vào (mà tôi đang gọi ). Ngoài ra, tôi cần chọn hàm . Tối đa hóa phải tuân theo một hạn chế Vì vậy, một cách trực quan để giải quyết nó là: - đoán - giải quyết vấn đề kiểm soát tối ưu (hiện nay là tiêu chuẩn) ( đã cho ) - kiểm tra xem , nếu không, hãy đoán nhưng bạn thấy không có lý do nào cho thuật toán sẽ hội tụ. Làm thế nào để mọi người giải quyết điều này?y x z x ( t ) h ( z ( x ( t ) ) , y ( t ) ) = 0 x ( t ) x ( t ) h ( z ( x ( t ) ) , y ( t ) ) = 0 x ( t )tyxzx(t)
h(z(x(t)),y(t))=0
x(t)x(t)h(z(x(t)),y(t))=0x(t)
Daniel Wills

Câu trả lời:


3

Tại sao cần phải là bên ngoài để ?zg

g(t,x(t),y(t))=g(t,x(t),y(t),z(x(t)))

bây giờ sử dụng làgg

g có thể là bất kỳ hàm tùy ý nào, vì vậy bất kỳ hàm nào cũng có thể được tích hợp vào .zg

Về hạn chế của bạn được đề cập trong phần bình luận. Bất kỳ hạn chế nào đối với đầu vào điều khiển có thể được thi hành thông qua hàm chi phí:h

fnew(t,x(t),y(t))=fold(t,x(t),y(t))Ch(x(t),y(t))2

Trong đó đủ lớn để đảm bảo các giá trị của đủ gần bằng 0 nhưng không lớn đến mức các lỗi số trong sẽ chi phối gốc .Chhf


1

Bạn có thể sử dụng sự phân tách vấn đề thành điểm, sao cho bạn chỉ phải xác định số lượng tham số hữu hạn (giả sử và là các hàm hơi liên tục). Đối với đạo hàm và tích hợp, bạn có thể sử dụng phương thức Euler, có thể sử dụng các phương pháp bậc cao hơn, nhưng làm cho vấn đề khó giải quyết hơn.Nfg

Việc cải cách mang lại:

h=t1N1,x=[x1,x2,,xN],y=[y1,y2,,yN],

maxx,yn=1N1f(h(n1),xn,yn)hs.t.xn+1=xn+g(h(n1),xn,yn)h,n=1,2,,N1

Bạn cũng phải thêm các ràng buộc biên cho các ràng buộc đẳng thức của bài toán tối ưu hóa. Bạn có thể sử dụng nhiều phương pháp khác nhau để giải quyết vấn đề này, ví dụ: nếu bạn có quyền truy cập vào Matlab, bạn có thể sử dụng fmincon , giúp giảm thiểu hàm chi phí có thể được khắc phục bằng cách thêm dấu trừ vào trước tổng. Thường thì bạn cũng phải cung cấp một dự đoán ban đầu, điều này cũng có thể ảnh hưởng đến giải pháp, vì các dự đoán khác nhau có thể hội tụ đến các cực đại cục bộ khác nhau. Bằng cách tăng bạn sẽ có được một giải pháp ngày càng chính xác hơn, nhưng có lẽ sẽ mất nhiều thời gian hơn để giải quyết. Nó có thể hội tụ nhanh hơn nếu bạn sử dụng giải pháp cho một vấn đề có ít điểm hơn và nội suy chúng và sau đó sử dụng như một phỏng đoán ban đầu cho vấn đề về số lượng điểm lớn hơn.N

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.