TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA TOÁN
NGUYỄN HỮU HẢI
NGUYÊN LÝ CỰC ĐẠI PONTRYAGIN
CHO HỆ Ô-TÔ-NÔM
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên nghành: Giải tích
HÀ NỘI - 2017
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
KHOA TOÁN
NGUYỄN HỮU HẢI
NGUYÊN LÝ CỰC ĐẠI PONTRYAGIN
CHO HỆ Ô-TÔ-NÔM
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên nghành: Giải tích
Người hướng dẫn khoa học
TS. TRẦN VĂN BẰNG
HÀ NỘI - 2017
Mục lục
Lời cảm ơn
1
Lời cam đoan
3
Lời nói đầu
4
Một số kí hiệu
6
1 Kiến thức chuẩn bị
7
1.1
Bài toán điều khiển tối ưu . . . . . . . . . . . . . . . . . . . .
1.2
Tính điều khiển được của hệ ô-tô-nôm . . . . . . . . . . . . . 11
2 Nguyên lý cực đại Pontryagin cho hệ ô-tô-nôm
7
14
2.1
Nguyên lý cực đại Pontryagin cho hệ ô-tô-nôm
. . . . . . . . 14
2.2
Ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Kết luận
31
Tài liệu tham khảo
32
1
Lời cảm ơn
Trước khi trình bày nội dung chính của khóa luận, em xin bày tỏ lòng cảm
ơn tới các thầy cô giáo khoa Toán, trường Đại học Sư phạm Hà Nội 2, các
thầy cô giáo trong tổ bộ môn Giải tích cũng như các thầy cô tham gia giảng
dạy đã tận tình truyền đạt những tri thức quý báu và tạo điều kiện thuận
lợi cho em trong suốt quá trình học tập, nghiên cứu và rèn luyện ở trường
Đại học Sư phạm Hà Nội 2.
Đặc biệt em xin chân thành cảm ơn Thầy giáo hướng dẫn TS. Trần Văn
Bằng đã chỉ bảo tận tình, giúp đỡ em để em có thể hoàn thành tốt khóa luận
này.
Do thời gian, năng lực và điều kiện bản thân còn hạn chế nên bản khóa
luận không thể tránh khỏi những sai sót. Vì vậy, em rất mong nhận được
những ý kiến góp ý quý báu của các thầy cô và các bạn.
Em xin chân thành cảm ơn!
Hà Nội, tháng 5 năm 2017
Sinh viên
Nguyễn Hữu Hải
2
Lời cam đoan
Khóa luận này là kết quả nghiên cứu của bản thân em dưới sự hướng dẫn
tận tình của thầy giáo TS. Trần Văn Bằng.
Trong khi nghiên cứu hoàn thành đề tài nghiên cứu này em đã tham khảo
một số tài liệu đã ghi trong phần tại liệu tham khảo. Khóa luận "Nguyên
lý cực đại Pontryagin cho hệ ô-tô-nôm" không có sự trùng lặp với các
khóa luận khác.
Hà Nội, tháng 5 năm 2017
Sinh viên
Nguyễn Hữu Hải
3
Lời nói đầu
1. Lý do chọn đề tài
Lý thuyết điều khiển tối ưu là một trong những nguyên lý gắn liền với
hầu hết các lĩnh vực khoa học cũng như thực tiễn. Tuy nhiên các mô hình
điều khiển thường rất phức tạp. Có rất nhiều công trình nghiên cứu về điều
khiển tối ưu, tuy nhiên hầu hết chỉ là điều kiện cần hoặc điều kiện đủ.
Điều kiện đủ quan trọng nhất là phương trình Hamilton-Jacobi-Bellman,
trong khi đó một trong các điều kiện cần quan trọng nhất phải kể đến đó
là Nguyên lý cực đại Pontryagin. Nguyên lý này được Pontryagin và các học
trò của ông công bố vào năm 1965. Tuy nhiên đây là một trong những điều
kiện rất trừu tượng trong việc hiểu, vận dụng nó trong thực tế.
Với mong muốn nghiên cứu sâu hơn về nguyên lý cực đại này và dưới
sự hướng dẫn của thầy giáo TS. Trần Văn Bằng em mạnh dạn chọn đề tài
"Nguyên lý cực đại Pontryagin cho hệ ô-tô-nôm" để làm khóa luận
tốt nghiệp.
2. Mục đích nghiên cứu
Khóa luận nhằm mục đích: Giúp người đọc tìm hiểu sâu hơn về nguyên
lý cực đại Pontryagin cho hệ ô-tô-nôm trong lý thuyết điều khiển tối ưu.
4
3. Nhiệm vụ nghiên cứu
Nghiên cứu nguyên lý cực đại Pontryagin và ứng dụng của nguyên lý với
bài toán điều khiển tối ưu.
4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Nguyên lý cực đại cho hệ ô-tô-nôm.
Phạm vi nghiên cứu: Bài toán điều khiển tối ưu tất định đặc biệt là bài
toán điều khiển tối ưu cho hệ ô-tô-nôm.
5. Phương pháp nghiên cứu
Sử dụng một số phương pháp của Giải tích hàm, bài toán tối ưu, tính điều
khiển được của hệ ô-tô-nôm.
5
Bảng kí hiệu
C, C[u(·)]
Hàm chi phí.
C
Tập điều khiển được.
K(t, x0 )
Tập khả đạt tại thời điểm t.
T (t)
Tập mục tiêu.
f0
C[u(·)] =
t
f 0 (s, x[s], u(s))ds.
0
gradx H
ˆ x, u)
H, H(w,
∂H
gradient= ( ∂x
1,
∂H
∂x2 ,
∂H
· · · , ∂x
n ).
ˆ ˆf (x, u) .
w,
ˆ x)
M(w,
ˆ x, v) : v ∈ Ω}.
sup{H(w,
Ω
Hình lập phương đơn vị trong Rm .
Um
t1 >0 Um (0, t1 ).
Vm
t1 >0 Vm (0, t1 ).
xT
Chuyển vị của x.
< x, y >
Tích vô hướng thông thường của hai véc tơ x và y :
Rn
Không gian Euclid n-chiều.
∆
Lớp các điều khiển thành công.
6
ix
i i
y.
Chương 1
KIẾN THỨC CHUẨN BỊ
1.1
Bài toán điều khiển tối ưu
Lý thuyết điều khiển quan tâm đến quản lý trạng thái của một hệ bằng
cách sử dụng các điều khiển. Bản chất là chúng ta có một hệ biến đổi nào đó
và chúng ta cố gắng để tác động đến trạng thái của hệ thông qua các điều
khiển. Động lực học của hệ là cách thức mà trạng thái thay đổi dưới ảnh
hưởng của các điều khiển, nó có thể rất phức tạp trong thực tế. Ngoài ra
có hai khái niệm nữa là các ràng buộc đối với điều khiển và trạng thái mục
tiêu. Ví dụ sau sẽ cho chúng ta thấy cách điều khiển trạng thái của một hệ
và những ràng buộc đối với điều khiển và mục tiêu của hệ.
Ví dụ 1.1 (Mô hình động cơ xe lửa). Xét một chiếc xe lửa chạy trên đường
ray theo một hướng, có khối lượng một (đơn vị) và được trang bị hai động
cơ phản lực ở hai đầu (Hình 1.1).
Vấn đề đặt ra là ta phải điều khiển xe từ vị trí cho trước đến một địa
điểm định sẵn gọi là mục tiêu hay đích. Để đơn giản, chúng ta đặt đích ở
gốc tọa độ và kí hiệu vị trí của tâm xe là p(t). Nếu xe ở vị trí p0 tại thời
Hình 1.1: Mô hình động cơ xe lửa
7
Hình 1.2: (Di chuyển sang phải)Lực hướng sang trái khi u(t∗ ) < 0
điểm t = 0, với vận tốc v0 , chúng ta phải kích hoạt hai động cơ theo một số
phương thức (mô hình, chương trình) để đưa xe đến mục tiêu p = 0 và dừng
lại (tức là vận tốc bằng 0) tại một thời điểm t1 > 0. Trong mô hình này,
ta có thể xác định hệ gồm có chiếc xe và đường ray, trạng thái là vectơ hai
chiều x(t) = (p(t), p(t));
˙
trạng thái ban đầu (p0 , v0 ) được giả thiết đã cho. Lý
do ta sử dụng vectơ hai chiều cho trạng thái chỉ đơn giản là ta muốn biết vị
trí và tốc độ của xe như thế nào. Mục tiêu của hệ là trạng thái (0, 0). Điều
khiển u(t) là hàm giá trị thực, biểu diễn lực tác động của động cơ lên xe tại
thời điểm t. Tại một thời điểm t∗ , nếu chúng ta kích hoạt động cơ bên phải
chúng ta sẽ nói lực tác động là âm, nếu chúng ta kích hoạt động cơ bên trái
thì chúng ta nói lực tác động là dương.
Khi đó động lực của hệ được xác định bởi định luật Newton F = ma, cụ
thể là p¨(t) = u(t). Ở dạng vectơ ta có:
x(t) =
p(t)
p(t)
˙
,
˙
x(t)
=
0 1
0 0
x(t) + u(t)
0
1
.
Có những ràng buộc về độ lớn của u(t), dựa trên kích thước của các động
cơ phản lực và giới hạn chịu áp lực của xe.
Một giả thiết hợp lý về mặt toán học là u(t) đo được bị chặn, và để đơn
giản ta sẽ giả thiết |u(t)| ≤ 1. Có một lớp điều khiển tự nhiên hơn đó là lớp
điều khiển liên tục từng khúc.
Đã cho một điều khiển u(t) nghĩa là cho một phương thức kích hoạt động
cơ, chẳng hạn:
+1,
0≤t≤1
u(t) =
−1 , 1 < t ≤ 3
2
8
nghĩa là ta kích hoạt động cơ bên trái hoàn toàn trong một đơn vị thời gian,
sau đó kích hoạt động cơ bên phải bằng một nửa khả năng trong hai đơn vị
thời gian tiếp theo.
Nếu (p0 , v0 ) là vị trí của xe ở thời điểm t = 0 thì ta có thể tích phân hai
lần phương trình rồi sử dụng tích phân từng phần để được:
t
t
(t − r)u(r)dr;
p(t) = p0 + v0 t +
p(t)
˙ = v0 +
0
u(r)dr.
0
Do đó mỗi điều khiển u(·), tạo ra một phản hồi x[t] = x(t; x0 , u(·)) (bỏ qua
thời điểm ban đầu t0 , vì chúng ta luôn giả định t0 = 0. Với hệ không phụ
thuộc t một cách tường minh thì điều đó là hoàn toàn phù hợp). Chúng
ta dùng u(·) để nói về hàm u(t), trên miền xác định của nó. Nếu phản hồi
x(t; x0 , u(·)) đạt đến mục tiêu (0, 0) tại thời điểm t1 > 0, thì u(·) là một điều
khiển thành công.
Bây giờ chúng ta sẽ thiết lập mô hình toán học của bài toán điều khiển
đã nêu.
Cho m, n là các số tự nhiên. Nếu x, y là các vectơ cột trong Rn , ta kí hiệu
thành phần thứ i của các vectơ đó tương ứng là xi , y i . Gọi xT là chuyển vị
của x, và ta kí hiệu tích vô hướng và hai chuẩn thường dùng:
n
T
xi y i ,
< x, y >= x y =
i=1
n
1
|xi |,
|x| =
x =< x, x > 2 .
i=1
Ta viết bình phương của hàm vô hướng Φ(t), là [Φ(t)]2 , còn x2 (t) có nghĩa
là thành phần thứ hai của hàm giá trị vectơ x(t). Kí hiệu Ω là hình lập
phương đơn vị trong Rm , nghĩa là,
Ω = {c|c ∈ Rm , |ci | ≤ 1, i = 1, 2, ..., m}.
Với t1 ≥ 0, ta định nghĩa
9
Um [0, t1 ] = {u(·)|u(t) ∈ Ω và u(·) đo được trên [0, t1 ]},
Um =
Um [0, t1 ].
t1 >0
Trừ khi nói rõ ràng, nếu không ta luôn giả thiết điều khiển u(·) thuộc Um .
Định nghĩa này cho phép mỗi điều khiển chấp nhận được có một tập xác
định riêng [0, t1 (u)].
Giả sử với mỗi t ≥ 0 ta có một tập hợp các mục tiêu T (t) ⊂ Rn , trong đó
T (t) là một tập đóng. Để đơn giản ta thường xét T (t) ≡ 0 ∈ Rn .
Giả sử động lực của hệ, tức là sự tiến hóa của trạng thái x(t) dưới một
điều khiển u(t) đã cho được xác định bởi một phương trình vi phân thường
vectơ:
˙
x(t)
= f (t, x(t), u(t)),
i
x(t0 ) = x0 .
(1.1)
i
∂f ∂f
Ta sẽ luôn giả thiết f (t, x, u), ∂x
j , ∂uk liên tục (i, j = 1, ..., n, k = 1, ..., m)
trên [0, ∞) × Rn × Rm , mặc dù hầu hết các kết quả vẫn đúng dưới các điều
kiện yếu hơn. Giả thiết này đảm bảo sự tồn tại địa phương và tính duy nhất
nghiệm của (1.1) với mỗi u(·) ∈ Um đã cho. Vì u(·) chỉ giả định đo được và
bị chặn, nên vế phải của phương trình x˙ = f (t, x, u(t)) liên tục theo x, nhưng
chỉ đo được và bị chặn theo t đối với mỗi x. Do đó, nghiệm được hiểu là hàm
liên tục tuyệt đối và thỏa mãn (1.1) hầu khắp nơi. Mỗi nghiệm của (1.1) với
u(·) đã cho sẽ được gọi là một phản hồi đối với u(·); và ta kí hiệu nó bởi
x[t] = x(t; x0 , u(·)). Bài toán điều khiển là bài toán xác định x0 và u(·) ∈ Um
sao cho phản hồi tương ứng thỏa mãn x[t1 ] ∈ T (t1 ) với một t1 > 0. Khi đó
chúng ta nói rằng điều khiển u(·) hướng x0 đến mục tiêu.
Nếu điều khiển u(·) xác định trên [0, t1 ), (t1 ≤ +∞), thì điều đó không
có nghĩa là phản hồi tương ứng có thể thác triển lên [0, t1 ), có thể phản hồi
x(t; x0 , u(·)) chỉ xác định trên một khoảng con của [0, t1 ). Nhưng với phương
trình tuyến tính,
˙
x(t)
= A(t)x(t) + B(t)u(t),
10
(1.2)
với A(t) và B(t) liên tục trên [0, t1 ), thì nghiệm luôn thác triển được lên
[0, t1 ).
Do đó, bài toán điều khiển bao gồm một lớp điều khiển chấp nhận được
Um , một phương trình vi phân vectơ (1.1) mô tả động lực của hệ, và một họ
các tập mục tiêu T (t). Một bài toán cơ bản là mô tả các trạng thái ban đầu
x0 ∈ Rn mà có thể hướng đến mục tiêu, và gọi đó là các trạng thái điều khiển
được. Hơn nữa, nếu T (t) là tập đóng, bị chặn với phần trong khác rỗng thì
ta muốn phản hồi đi xuyên qua T (t) hơn là tiếp xúc với T (t). Bài toán này
dẫn tới xác định điều kiện cắt ngang, tức là điều kiện để quỹ đạo không phải
là tiếp tuyến (mà là cắt) biên của T (t).
1.2
Tính điều khiển được của hệ ô-tô-nôm
Trong mục này chúng ta phát biểu không chứng minh một số kết quả về
tính điều khiển được của hệ ô-tô-nôm - tức là hệ ứng với trường hợp hàm
f = f (x, u) chỉ phụ thuộc tường minh vào x và u chứ không phụ thuộc vào
t. Nghiên cứu tính điều khiển được là nghiên cứu các tính chất của tập hợp
C tất cả các trạng thái có thể điều khiển thành công về mục tiêu thông qua
hệ đang xét.
Trước hết các kết quả được xét với trường hợp f tuyến tính, sau đó sử
dụng phương pháp tuyến tính hóa ta có kết quả đối với một số lớp hệ phi
tuyến.
Cho bài toán ô-tô-nôm tuyến tính
x˙ = A(t)x + B(t)u,
A(t), B(t) là các ma trận liên tục,
(LA)
với mục tiêu T (t) ≡ 0. Để đơn giản, ta giả sử rằng f (0, 0) = 0 và f (x, u)
khả vi liên tục trên Rn × Rm .
Định lí 1.1. Giả sử C ⊂ Rn là một tập điều khiển được, tức là tập tất cả
các điểm ban đầu x0 bị điều khiển đến mục tiêu. Khi đó C là đối xứng và lồi.
11
Định lí 1.2. Cho K(t∗ , x0 ) là tập khả đạt tại thời điểm t∗ . Giả sử y ∈
K(t∗ , x0 ). Khi đó điều khiển x0 đến y tại thời điểm t∗ là duy nhất khi và chỉ
khi y là điểm cực biên của K(t∗ , x0 ).
Định lí 1.3. Giả sử {un (·)} ⊂ Um [0, t1 ] cho trước (n = 1, 2, ....), khi đó tồn
tại một dãy con {unk (·)} và u∗ ∈ Um [0, t1 ] sao cho với mọi ma trận Y(t) cấp
n × m mà các phần tử của nó thuộc L2 [0, t1 ] ta có:
t1
lim
t1
Y(t)unk (t)dt =
k→∞
0
Y(t)u∗ (t)dt.
0
Định lí 1.4. Cho (LA), K(t, x0 ) là tập khả đạt tại thời điểm t, K(t, x0 ) luôn
là tập lồi và compact, nếu x0 = 0 thì nó đối xứng. Ngoài ra, ánh xạ đa trị
t → K(t, x0 ),
0≤t<∞
là liên tục.
Định lí 1.5. Cho hệ (LA), cho lớp điều khiển Bang-Bang UBB [0, t1 ], CBB (t1 )
là tập điều khiển được ứng với UBB [0, t1 ] ta có CBB (t1 ) = C (t1 )∀t1 > 0; tập
này là tập compact, lồi và phụ thuộc liên tục vào t1 .
Tiếp theo ta xét hệ ô-tô-nôm phi tuyến
x˙ = f (x, u),
u(·) ∈ Um , T ≡ 0
(NLA)
với f (x, u) khả vi liên tục theo x, u và f (0, 0) = 0 ∈ Rn .
Giả thiết f (0, 0) = 0 là hợp lí vì khi ta đạt đến mục tiêu 0 ∈ Rn thì ta
có điều khiển u(t) ≡ 0 ∈ Rm . Với x(t) gần đến 0 ∈ Rn , ta có thể sử dụng
các điều khiển nhỏ để u(t) gần đến 0 ∈ Rm . Vì vậy, ta khai triển f (x, u) tại
x = 0, u = 0 :
f (x, u) = fx (0, 0)x + fu (0, 0)u + o(|x| + |u|),
∂f i
cấp n × n, và
trong đó fx (·, ·), fu (·, ·) lần lượt là các ma trận Jacobian
∂xj
∂f i
cấp n × m.
∂uj
12
Khi đó, tính điều khiển được của (NLA) gần 0 ∈ Rn được xác định bởi
tính điều khiển được của hệ tuyến tính hóa
x˙ = fx (0, 0)x + fu (0, 0)u = Af x + Bf u,
trong đó ma trận điều khiển đối với (1.3) là
Mf = {Bf , Af Bf , Af 2 Bf , . . . , Af n−1 Bf }
Định lí 1.6. Nếu rankMf = n thì 0 ∈ intC đối với (NLA).
13
(1.3)
Chương 2
NGUYÊN LÝ CỰC ĐẠI
PONTRYAGIN CHO HỆ
Ô-TÔ-NÔM
2.1
Nguyên lý cực đại Pontryagin cho hệ ô-tô-nôm
Ta xét bài ô-tô-nôm:
x˙ = f (x),
x[t] ∈ Rn ,
u(t) ∈ Rm
(2.1)
Với thời điểm đầu và trạng thái x[t0 ] = x0 cố định, mục tiêu là T (t) ≡ x1 ,
và phiếm hàm chi phí:
t1
f 0 (x[t], u(t))dt.
C[u(·)] =
t0
Ở đó t1 là thời điểm (chưa xác định) đến mục tiêu x[t1 ] = x1 , và f 0 là hàm
đã cho. Chúng ta sử dụng tập điều khiển
u(·) ∈ Vm ≡ {u(·)|u(·) đo được , u(t) ∈ ψ với t0 ≤ t ≤ t∗ }
trong đó ψ là một tập bị chặn đã cho trong Rm và t∗ phụ thuộc vào u(·). Ta
sẽ giả thiết rằng f và f 0 liên tục theo (x, u) và khả vi liên tục theo x. Chú ý
rằng tập hợp trong đó u(·) không nhất thiết phải lồi (không nhất thiết, cũng
14
không nhất thiết chứa 0). Chẳng hạn,
u1
ψ=
| u1 + u2 = 1 .
u2
Trước khi thiết lập PMP, chúng ta cần một vài kí hiệu và sự phân tích.
với một điều khiện u(·) đã cho phản hồi tương ứng x[·]. Ta xác định biến
"chi phí động":
t1
x0 [t] =
f 0 (x[s], u(s))ds.
t0
Nếu u(·) là thành công, thì x[t1 ] = x1 với t1 ≥ t0 và chi phí liên kết là x0 [t1 ].
Nếu u(·) là tối ưu thì x0 [t1 ] nhỏ nhất có thể.
Chúng ta tăng số chiều của bài toán này bằng cách định nghĩa (n + 1)
ˆ [t] = (x0 [t], xT [t])T . Nếu ta đặt ˆf (t, x
ˆ ) = (f 0 , f T )T thì bài toán gốc có
vecto x
thể phát biểu lại như sau:
Tìm một điều khiển u(·) chấp nhận được sao cho nghiệm (n + 1) chiều
của:
ˆ˙ [t] = ˆf (ˆ
x
x[t], u(t))
˙ =
hầu khắp nơi , x[t]
0
x0
,
(1)
kết thúc tại
x0 [t1 ]
x1
, (x1 là mục tiêu đã cho )
với x0 [t1 ] nhỏ nhất có thể. Hơn nữa chúng tôi nhấn mạnh tằng t1 chưa xác
định cụ thể.
ˆ [t] tiến đến
Nói cách khác, chúng tôi muốn vectơ trạng thái mở rộng x
đường:
Tˆ (t) = {(ξ, x1 )|ξ ∈ R, x1 là mục tiêu đã cho }
xa nhất có thể về phía dưới trục x0 . Hình 2.1 biểu diễn bài toán hai chiều
(n=2) được mở rộng thành ba chiều (n=3). Chúng ta chỉ có thể yêu cầu điều
kiên (1) thỏa mãn hầu khắp nơi. Vì ˆf (ˆ
x, u(t)) chỉ đo được theo t (xem trong
phụ lục Toán học) Hình 2.1: Nếu (u∗ (·), x∗ [·]) là tối ưu thì không phản hồi
15
Hình 2.1:
mở rộng nào có thể chạm đến đường Tˆ (t) ở phía dưới ξ ∗ .
Việc mở rộng số chiều của bài toán gốc, bây giờ đưa ta tới một bài toán
phức tạp, đó là bài toán liên hợp của bài toán tuyến tính hóa của (1) sau
đây.
Với một điều khiển u(·) chấp nhận được đã cho và phản hồi mở rộng tương
ˆ [·], xét hệ tuyến tính (n + 1) chiều:
ứng x
ˆ˙
ˆ
w(t)
= −ˆfxˆ (x[t], u(t))T w(t)
hầu khắp nơi .
(1’)
Các nghiệm của hệ này được mở rộng và gọi là các trạng thái bù mở rộng. Ở
ˆi
đây ˆfxˆ (x[t], u(t)) = ∂ f j , với i, j = 0, 1, 2...n là ma trận Jacobi của ˆf đối với
∂x
ˆ
ˆi
ˆ . Bởi không một f nào chứa x0 nên Jacobian có dạng
x
=
ˆi
ˆfxˆ (x[t], u(t)) = ∂ f
∂ xˆj
0
∂f 0
∂x1
∂f 1
∂x1
···
∂f n
∂x1
···
∂f 0
∂xn
∂f 1
∂xn
0
···
.. ..
..
. .
.
0
∂f n
∂xn
Trước hết, chúng tôi đề cập tới mô tả hình học của (2.3). Với một điều
ˆ [·] của x
ˆ˙ [t] = ˆf (x[t], u(t)) là một đường
khiển hằng u(·) đã cho, mỗi nghiệm x
ˆ 0 là một vecto tiếp xúc với x
ˆ [·] tại x
ˆ [t0 ], thì nghiệm
cong trong Rn+1 . Nếu b
ˆ
b(t)
của phương trình tuyến tính hóa:
ˆ˙
ˆ
ˆ 0) = b
ˆ 0 , u(t) là hằng số
b(t)
= ˆfxˆ (x[t], u(t))b(t),
b(t
(Lin)
ˆ [t] với mọi t. Do đó phương trình tuyến
sẽ tiếp xúc với đường cong này tại x
16
Hình 2.2:
tính mô tả sự phát triển của các vectơ tiếp xúc dọc theo các đường cong
nghiệm của phương trình ô-tô-nôm kết quả (Hình 2.2).
Ví dụ 2.1. Với u(t) ≡ 1, bài toán 3 chiều
0
ˆ [0] =
x˙ 0 = x1 , x˙ 1 = −ux0 , x˙ 2 = u − 1, x
1
0
có phản hồi
x0 [t] = sin t, x1 [t] = cos t, x2 (t) ≡ 0
Khi đó
1
x
ˆf (x, u) = −ux0 ,
u−1
0 1 0
0 1 0
ˆfxˆ (x[t], u(t)) = −u 0 0 = −1 0 0
0 0 0
0 0 0
Bởi vậy phương trình tuyến tính hóa là:
17
Hình 2.3:
0 1 0
ˆ˙
ˆ
b(t)
b(t)
=
−1
0
0
0 0 0
ˆ 0 = (1, 0, 0)T tiếp xúc với x
ˆ [·] tại x
ˆ [0] (Hình 2.3 ) và nghiệm
Rõ ràng, vectơ b
ˆ
ˆ
của phương trình tuyến tính hóa với b(0)
= b0 là b(t)
= (cos t, − sin t, 0)T .
ˆ
ˆ [t] là vectơ bán kính của đường tròn và b(t)
ˆ [t] với mọi t
Do x
trực giao với x
nên b(t) luôn tiếp xúc với đường tròn đó.
ˆ
ˆ
Bây giờ ý nghĩa của (2.3) là w(t),
b(t)
≡ hằng số với bất kì nghiệm của
ˆ
ˆ [·] tại x
ˆ [t] với mọi t, và nếu
(2.3) và (Lin). Do đó, nếu b(t)
là tiếp xúc với x
ˆ 0 ) vuông góc với b(t0 ) thì w(t)
ˆ
ˆ [·] tại x
ˆ [t] với mọi t.
w(t
sẽ vuông góc với x
Vậy (2.3) mô tả sự tiến hóa của các vectơ nằm trong siêu phẳng n chiều
ˆ [·] (Hình 2.4).
P(t) gắn với đường cong phản hồi mở rộng x
Trong trường hợp này, (Lin) nhìn chung không mô tả sự tiến hóa của một
ˆ (·). Thay vào đó, nó mô tả một xấp xỉ bậc nhất của sự
vectơ tiếp xúc với x
ˆ
ˆ [0] thành x
ˆ 0 + δ,
phát triển của các nhiễu trong trạng thái - nếu ta nhiễu x
ˆ
ˆ [t] đến x
ˆ [t] + b(t),
thì phản hồi tại thời điểm t sau đó biến đổi xấp xỉ từ x
ˆ là nghiệm của (Lin) với b(0)
ˆ
ˆ Khi đó (2.3) sẽ mô tả sự tiến
trong đó b(·)
= δ.
18
Hình 2.4:
ˆ [t] với pháp tuyến
hóa của các vecto trong siêu phẳng di chuyển dọc theo x
ˆ
b(t).
Trước khi ta phát biểu về PMP, ta cần một khái niệm nữa. Với một điều
khiển và phản hồi (mở rộng) đã cho (ˆ
x[·], u(·)). Ta lấy bất kì trạng thái bù
ˆ
w(·)
và lập hàm thực của thời gian:
n
ˆ x
ˆ , u) ≡ w,
ˆ ˆf =
H(w,
wj (t)f j (x[t], u(t))
(2.2)
j=0
Khi đó H là hàm hamiltonan đối với (1’) và (2.3), tức là ta có thể viết:
∂H T
∂H ∂H
ˆ˙ = gradwˆ H(w,
ˆ x
ˆ , u) = ( 0 ,
, ··· ,
) hầu khắp nơi
x
1
∂w ∂w
∂wn
(l”)
∂H ∂H
∂H T
ˆ˙ = −gradxˆ H(w,
ˆ x
ˆ , u) = −( 0 ,
w
,
·
·
·
,
) hầu khắp nơi (2.3)
∂x ∂x1
∂xn
Khái niệm Hamiltonian bắt nguồn từ trong Cơ học. Hàm H không phụ thuộc
ˆ x, u). Bây giờ ta xét
vào x0 (vì f j không phụ thuộc vào x0 ) nên ta viết H(w,
n
H=
ˆ x, và v ∈ ψ. Với các vecto cố định
wj f j (x, v) như một hàm vectơ w,
j=0
n
ˆ ∈ Rn+1 , ta định nghĩa:
x ∈ R và w
ˆ x) = sup H(w,
ˆ x, v).
M(w,
v∈ψ
19
Nói cách khác, M là giá trị lớn nhất của H và chúng ta có thể lấy khi vectơ
ˆ x) đã cho, bằng cách sử dụng những giá trị chấp nhận được của v. Và
(w,
bây giờ, ta phát triển PMP.
Định lí 2.1. (Nguyên lý cực đại Pontryagin) Chú ý đến bài toán điều khiển
mở rộng (1) với các điều khiển đo được u(·) lấy giá trị trong tập bị chặn, cố
ˆ [·]) là một cặp điều khiển-phản hồi tối ưu. Khi
định ψ ∈ Rm . Giả sử (u(·), x
ˆ
đó tồn tại một hàm liên tục tuyệt đối w(·)
là nghiệm của (2.3) hầu khắp nơi
trên [t0 , t1 ], với
ˆ
ˆ
(i) H(w(t),
x[t], u(t)) = M(w(t),
x[t]) hầu khắp nơi
ˆ
(ii) M(w(t),
x[t]) ≡ 0 trên [t0 , t1 ]
ˆ trên [t0 , t1 ].
ˆ
(iii) w0 (t) ≡ w0 (t0 ) ≤ 0 và w(t)
=0
Nguyên lý nói rằng nếu u(·) là tối ưu đối với (1), thì có một cặp phản
ˆ
ˆ
hồi-liên hợp, (ˆ
x[·], w(·)),
sao cho tại mỗi một thời điểm t, H(w(t),
x[t], v) ≤ 0
với bất kì v ∈ ψ, và đẳng thức đạt được khi v = u(t) (nó cũng có thể đạt
được tại các giá trị khác của v). Phần đạt cực trị này của định lý giúp ta
tách ra một lớp nhỏ các ứng cử viên cho các điều khiển tối ưu. Chúng ta nhấn
mạnh rằng có thể có một tập khác rỗng các ứng cử viên nhưng bài toán vẫn
có thể không có điều khiển tối ưu vì nguyên lý cực đại. Giả thiết bài toán có
điều khiển tối ưu. Đây là lý do chúng ta cần các điều kiện đủ (điều kiện đảm
bảo sự tồn tại của ít nhất một điều khiển tối ưu).
Chú ý 2.1. Chú ý rằng nguyên lý cực đại Pontryagin được áp dụng vào bài
toán cực tiểu hóa. Nếu ta muốn cực đại hóa chi phí:
t1
J[u(·)] =
g(x[s], u(s))ds
0
thì ta chỉ cần áp dụng PMP vào bài toán cực tiểu hóa với C[u(·)] = −J[u(·)]
vậy f 0 = −g.
20
Ví dụ 2.2. Để giúp người đọc làm quen với kí hiệu và khái niệm sử dụng
trong PMP, chúng ta sẽ nghiên cứu kĩ một ứng dụng của nó đối với bài toán
tối ưu-thời gian đối với xe lửa.
p
x=
q
0
x
ˆ=
, x
p , C[u(·)] =
q
t1
1dt = t1
0
1
x˙ 0 = 1, p˙ = q, q˙ = u, ˆf (x, u) =
q
u
0
000
w
1
ˆfxˆ = 0 0 1 , w
ˆ
=w
,
w2
000
w˙ 0 = w˙ 1 = 0, w˙ 2 = −w1
ˆ x, v) = ˆf , w
ˆ = w0 (0) + w1 (0)q + [w2 (0) − w1 (0)t]v.
H(w,
Theo PMP, nếu u(·) là điều khiển tối ưu-thời gian, thì có các số wi (0), i =
0, 1, 2, sao cho H ≤ 0 với mọi v ∈ ψ, và H = 0 hầu khắp nơi. Khi v = u(t).
Chẳng hạn nếu ψ = Ω ≡ [−1, 1], thì rõ ràng
M = max H = w0 (0) + w1 (0)q[t] + w2 (0) − w1 (0)t ,
v∈ψ
chỉ đạt được khi u(t) = sgn[w2 (0) − w1 (0)t]. Hàm tuyến tính w2 (0) − w1 (0)t
hoặc đồng nhất không, hoặc chỉ triệt tiêu tại đúng một điểm, do đó nếu tồn
tại một điều khiển tối ưu-thời gian thì nó hặc đồng nhất không hầu khắp
nơi hoặc bang-bang. Thật vậy nó không thể đồng nhất không được vì nếu
ˆ
w1 (0) = w2 (0) = 0 thì chúng ta sẽ có w0 (0) = 0(w(t)
không bao giờ triệt
tiêu), điều này suy ra H ≡ w0 (0) = 0 và vì vậy M = maxv∈ψ H = w0 (0) = 0
mâu thuẫn với giả thiết (ii) của PMP. Chú ý rằng tất cả các kết luận trên
ˆ
đã được suy ra mà không biết dạng chính xác của w(t).
21
Trước khi minh họa cách sử dụng của PMP, ta cần giảm mối lo ngại của
tính hầu khắp nơi trong phần (i).
ˆ
ˆ
Bổ đề 2.1. Đẳng thức (i) H(w(t),
x[t], u(t)) = M(w(t),
x[t]) (hầu khắp nơi)
trong PMP, thảo mãn tại mọi điểm t, tại đó có một dãy tk −→ t với H = M
tại mỗi điểm tk và u(tk ) −→ u(t). Nói riêng (i) đúng tại mọi điểm liên tục
trái hoặc liên tục phải của u(·).
Chứng minh. Chọn tk −→ t với u(tk ) −→ u(t) và H = M tại mỗi tk . Với bất
kì v ∈ ψ ta có
ˆ k ), x[tk ], u(tk )) ≥ H(w(t
ˆ k ), x[tk ], v).
H(w(t
ˆ
ˆ x, u) bởi vậy ta cho tk −→ t
w(·),
x[·] là liên tục, và H là hàm liên tục của (w,
ta thu được
ˆ
ˆ
H(w(t),
x[t], u(t)) ≥ H(w(t),
x[t], v).
Vì v ∈ ψ là tùy ý, nên ta có điều phải chứng minh.
Hệ quả: Xét bài toán tối ưu hóa được mô tả trong PMP, với u(·) bị hạn
ˆ [·])
chế trên lớp VP S các hàm trơn từng khúc với giá trị trong ψ. Nếu (u(·), x
ˆ có đạo
ˆ
là một cặp tối ưu thì tồn tại một trạng thái bù liên tục w(·),
khác 0,
hàm lên tục từng khúc, sao cho
ˆ˙ = −[ˆfxˆ ]T w
ˆ
w
tại ∀t, có thể trừ ra tại hữu hạn điểm (và tại các điểm đó, giới hạn một phía
ˆ˙ và −[ˆfxˆ ]T w
ˆ tồn tại bằng nhau). Thêm nữa (i), (ii), (iii) của PMP
của w
đúng khắp nơi. Kết luận này vẫn đúng nếu chúng ta thay thế VP S bởi VP CN
- lớp các điều khiển liên tục từng khúc với giá trị trong ψ.
ˆ˙ = −[ˆfxˆ ]T w
ˆ chỉ trừ
Chứng minh. Khẳng định duy nhất không hiển nhiên vì w
ra tại một số hữu hạn điểm. Điều này xuất phát trực tiếp từ phương pháp
giải phương trình có dạng y˙ = A(t)y với A(t) liên tục từng khúc. Đã cho
giá trị y(t0 ) = y0 với một t0 , phương trình vi phân này có thể được giải trên
mỗi đoạn [an , bn ] mà A(t) liên tục, bằng cách sử dụng giá trị y(bn ) làm giá
22
trị ban đầu cho đoạn tiếp theo. Nghiệm này rõ ràng là trơn từng khúc và
y˙ = A(t)y khắp nơi, ngoại trừ tại các điểm gián đoạn của A (tại đó các giới
hạn một phía là bằng nhau).
Để chứng minh A(t) ≡ −[ˆfxˆ (x[t], u(t))]T liên tục từng khúc ta chỉ cần chỉ
ra x[·] là liên tục từng khúc. Nhưng x[·] là nghiệm của x˙ = f (x, u(t)) hầu
khắp nơi, và vế phải liên tục từng khúc theo t (do f liên tục và u(·) liên tục
từng khúc ) nên nó có thể sinh ra một nghiệm liên tục từng khúc theo cách
vừa nêu.
2.2
Ứng dụng
Ví dụ 2.3. Chúng ta quay lại với bài toán điều khiển xe lửa, tiếp tục phần
thảo luận về bài toán động cơ xe lửa, để minh họa K(t; x0 ),RC(x0 ), và các
khái niệm tính điều khiển được, xây dựng điều khiển tối ưu và tính tối ưu.
Ta có:
p˙ = q, q˙ = u, x =
t1
với C[u(·)] =
p
q
[q[s]]2 ds (λ1 = λ3 = 0, λ2 = 1). Chúng ta cho phép u(·) là
t0
một hàm liên tục từng khúc bất kì thỏa mãn −1 ≤ u(t) ≤ 1 (u(·) ∈ VP CN )
và ta xác định vị trí 0, vận tốc không là mục tiêu cần đặt: T (t) ≡ (0, 0)T .
Ta sẽ chứng tỏ rằng tồn tại điều khiển tối ưu chỉ khi trạng thái ban đầu
x0 = (p0 , q0 )T nằm trên "đường cong chuyển điều khiển" (+) (−) được
phác họa trong (Hình 2.5). Nhớ lại rằng (+) là phản hồi đi qua mục tiêu khi
u(t) ≡ +1. (−) là phản hồi đi qua mục tiêu khi u(t) ≡ −1. Trong chương 1
ta đã đưa ra một cơ chế điều khiển (không có hạn chế về chi phí) của trạng
thái ban đầu về mục tiêu theo cách đơn giản nhất (Hình 2.6):
(a) Nếu x0 nằm phía trên (+) (−), thì sử dụng u(t) ≡ −1 cho đến khi nó
chạm (+), thì chuyển sang u(t) ≡ +1.
(b) Nếu x0 nằm phía dưới (+) (−), thì sử dụng u(t) ≡ +1 cho đến khi nó
23