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

BÁO CÁO ĐỒ ÁN II Đề tài: Điều khiển tối ưu chuyển động của tên lửa

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 (718.88 KB, 22 trang )

ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG & TIN HỌC

BÁO CÁO ĐỒ ÁN II

Đề tài: Điều khiển tối ưu chuyển động của tên lửa

Giảng viên Hướng dẫn: TS.Đỗ Đức Thuận
Sinh viên thực hiện: Tạ Gia Khiêm – 20185371

Hà Nội, Tháng 7/2022


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
1. Mục đích của đồ án:

2. Kết quả đạt được:

3. Ý thức làm việc của sinh viên:

Hà Nội, ngày 09 tháng 04 năm 2022
Giảng viên hướng dẫn

Trang 1/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học



LỜI CẢM ƠN
Với lòng biết ơn sâu sắc nhất, em xin gửi đến TS.Đỗ Đức Thuận đã
truyền đạt vốn kiến thức quý báu cho em trong suốt thời gian hồn thành
đồ án. Nhờ có những lời hướng dẫn, dạy bảo của thầy nên đề tài nghiên cứu
của em mới có thể hồn thiện tốt đẹp.

Bài báo cáo thực hiện trong khoảng thời gian gần 2 tháng. Bước đầu đi
vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên khơng tránh khỏi
những thiếu sót , đã rất mong nhận được những ý kiến đóng góp quý báu
của Thầy để kiến thức của bọn em trong lĩnh vực này được hồn thiện hơn
đồng thời có điều kiện bổ sung, nâng cao ý thức của mình.

Em xin chân thành cảm ơn!

Trang 2/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Mục lục
1 Giới thiệu

4

2 Mơ hình hóa bài toán và vấn đề tối ưu thời gian

5


3 Giải bài toán vận tốc tối đa của tên lửa
3.1 Nghiệm giải tích . . . . . . . . . . . . . . .
3.2 Giải số học bằng phương pháp bắn . . . . .
3.3 Giải bằng phương pháp rời rạc hóa Cauchy
3.4 Giải bằng phương pháp rời rạc hóa Euler .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

9
11
15
16

18

Trang 3/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

1

Giới thiệu

Điều khiển tối ưu là một lĩnh vực rất quan trọng trong toán ứng dụng. Thật
vậy, nhiều bài tốn thực tế có thể được mơ hình hóa như một bài toán điều
khiển tối ưu. Lý thuyết điều khiển tối ưu đã được ứng dụng thành công ở
rất nhiều lĩnh vực, ví dụ như cơ khí, kỹ thuật điện, hóa học, sinh học, hàng
khơng và vũ trụ, người máy, nông nghiệp, v.v.[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
Cách tiếp cận truyền thống để giải bài toán điều khiển tối ưu là Nguyên
lý cực đại Pontryagin. Nguyên lý này được đưa ra bởi L.S.Pontryagin vào
năm 1956[12], tổng qt hóa hệ phương trình Euler-Lagrange của phép giải
tích các biến và đưa ra một số điều kiện tối ưu cần thiết. Lý thuyết điều
khiển cũng đã được áp dụng trong các ngành toán học khác nhau: điều khiển
tối ưu các phương trình vi phân riêng, lý thuyết điều khiển ngẫu nhiên, lý
thuyết trị chơi, v.v. Bài tốn điều khiển ngẫu nhiên có thể được giải bằng
Nguyên lý cực đại Pontryagin, tuy nhiên khi bài tốn q khó, chúng ta phải
sử dụng phương pháp số học để tìm một giải pháp gần đúng.
Tồn tại các phương pháp số học chung để giải các bài toán điều khiển tối
ưu[13]: các phương pháp trực tiếp dựa trên các phép giải tích các biến và
các phương pháp trực tiếp dựa trên phương pháp rời rạc hóa và tối ưu hóa.
Phương pháp bắn gián tiếp[14] được biết đến với tính hiệu quả và chính xác;

và nó đã được ứng dụng thành cơng để giải các bài toán thực tế[4, 6]. Tuy
nhiên, khi gặp bài tốn khó, các phương pháp rời rạc hóa trực tiếp có thể
được sử dụng để tìm một lời giải xấp xỉ. Trong [15], công thức Cauchy để giải
hệ phương trình vi phân tuyến tính được sử dụng để biến đổi bài tốn điều
khiển tối ưu tuyến tính thành một bài tốn tương đương, sau đó kỹ thuật
rời rạc hóa được thực hiện để có một bài tốn lập trình tuyến tính có thể
giải được bằng cách sử dụng phương pháp tương ứng. Gần đây trong [16],
công thức Cauchy đã được sử dụng với phương pháp rời rạc hóa để chuyển
bài tốn điều khiển tối ưu tuyến tính truyền thống thành một bài tốn tối
ưu hóa tuyến tính mà có thể giải được bằng thuật tốn hướng kết hợp được
trình bày trong [17]. Trong [18], phương pháp rời rạc hóa Euler được áp dụng
lần đầu cho bài tốn điều khiển tối ưu tuyến tính ban đầu, thì bài tốn tối
ưu hóa thu được có thể giải bằng hàm ’fmicon’ trong Matlab. Trong [19],
công thức Euler được sử dụng cho sự rời rạc hóa của một bài tốn điều khiển
tối ưu tương ứng với một mơ hình tiếp thị lan truyền và bài tốn tối ưu hóa
thu được sẽ được giải bằng các cách khác nhau.
Trong đồ án này, tôi sẽ trình bày một mơ hình điều khiển tối ưu tuyến
tính với thời gian kết thúc khơng bị giới hạn đối với tối đa hóa vận tốc của
chuyển động của một tên lửa với một quỹ đạo đường thẳng từ vị trí ban đầu
đến vị trí kết thúc. Để tìm ra được mơ hình thích hợp, tơi đã áp dụng cả
Trang 4/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

phương pháp giải tích và phương pháp số học. Phương pháp giải tích là tính
tốn sử dụng Ngun lý cực đại Pontryagin trong khi giải pháp gần đúng
của bài tốn được tìm bằng cách sử dụng phương pháp bắn cũng như hai
phương pháp rời rạc hóa: phương pháp sử dụng công thức Cauchy và phương

pháp sử dụng công thức Euler. Các bài tốn lập trình tuyến tính thu được sẽ
được giải một cách hiệu quả bởi phương pháp nội suy được thực hiện trong
Matlab.
Đồ án này được viết dựa trên [20]. Trong phần 2, tôi xây dựng mô hình
điều khiển tối ưu tốn học tương ứng với bài tốn tối đa hóa vận tốc của tên
lửa chuyển động thẳng.Sau đó, tơi điều chỉnh giá trị của thời điểm kết thúc
bằng cách giải một bài toán khác được gọi là bài tốn điều khiển tối ưu tối
thiểu hóa thời gian. Trong phần 3, tơi giải bài tốn tối đa hóa vận tốc của
tên lửa với bốn phương pháp: phương pháp giải tích, phương pháp bắn và
hai phương pháp rời rạc hóa: kĩ thuật sử dụng cơng thức Cauchy và kĩ thuật
sử dụng cơng thức Euler.

2

Mơ hình hóa bài tốn và vấn đề tối ưu thời
gian

Cho một tên lửa với khối lượng m và vận tốc v(t) tại thời điểm t ∈ [0, T ],
chuyển động từ độ cao ban đầu h(0) tới độ cao h(T ) với quỹ đạo là một đường
thẳng. Sử dụng các kiến thức vật lý cho tên lửa với chuyển động thẳng, ta
thu được phương trình sau:

d2 h
Tp (t)
(t)
=
− g, t ∈ [0, T ],
dt2
m
trong đó h(t) và Tp (t) lần lượt là quảng đường đi được và lực đẩy của tên

Tp (t)
lửa tại thời điểm t ∈ [0, T ], g là gia tốc trọng trường. Đặt w(t) =

m
dh
(t) = v(t). Từ đó, ta thu được:
dt

dh


(t) = v(t),

 dt
(1)



 dv (t) = w(t) − g, t ∈ [0, T ].
dt
Nếu phi công không tác động gì đến tên lửa, thì lực đẩy w(t) thỏa mãn
phương trình sau:
w′ (t) = αw(t), t ∈ [0, T ].

(2)
Trang 5/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học


trong đó α > 0 là nghịch đảo của thời gian phản ứng của tên lửa đối với tác
động từ phi công. Để điều khiển chuyển động của tên lửa, phi công tác dụng
một lực u(t), t ∈ [0, T ]. Phương trình vi phân thường (2) trở thành:

w′ (t) = α[w(t) − u(t)], t ∈ [0, T ].

(3)

Do đó mục tiêu là để vận tốc của tên lửa chuyển động từ điểm ban đầu là
h(0) = h0 , đến độ cao h1 cho trước là cực đại. Điều này dẫn chúng ta đến
việc giải bài toán điều khiển tối ưu sau:

M aximize J(u, T ) = v(T ),





h′ (t) = v(t),



v ′ (t) = w(t) − g,
(4)


w
(t)
=

α[w(t)

u(t)],





h(0) = h0 , v(0) = 0, w(0) = g,



h(T ) = h1 , |u(t)| ≤ 1, t ∈ [0, T ]
Bài toán này được viết dưới dạng ma trận như sau:



M aximize J(u, T ) = c x(T ),
x′ (t) = Ax(t) + Bu(t) + r,


x(0) = x0 , Q′ x(T ) = h1 , |u(t)| ≤ 1, t ∈ [0, T ]

(5)

trong đó:



 



 
 
h(t)
0
0 1 0
0
0









0 , r = −g ,
x(t) = v(t) , x(0) = 0 , A = 0 0 1 , B =
w(t)
g
0 0 α
−α
0
T
T
Q = (1, 0, 0) và c = (0, 1, 0).

Ma trận Kalman được cho bởi công thức:



0
0
−α
K = (B, AB, A2 B) =  0 −α −α2 , det(K) = α3 ̸= 0
−α −α2 α3
Hạng của ma trận K là rank(K) = 3, nên hệ (5) có thể điều khiển được.
Chúng ta tính giá trị của thời gian cuối T , kết quả tính được sẽ được sử dụng

Trang 6/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

trong bài toán (4), bằng cách giải bài toán tối thiểu thời gian sau:

RT


M inimize J(u, T ) = dx,




0






h (t) = v(t),
v ′ (t) = w(t) − g,



w′ (t) = α[w(t) − u(t)],





h(0) = h0 , v(0) = 0, w(0) = g,



|u(t)| ≤ 1, h(T ) = h1 , t ∈ [0, T ].

(6)

Để giải bài toán (6), chúng ta sử dụng Nguyên lý cực đại Pontryagin. Kí hiệu
p(t) = (ph (t), pv (t), pw (t)) là véc tơ phụ liên quan đến bài toán (6), toán tử
Hamilton của chúng được cho như sau:

H(t, x(t), p(t), p0 , u(t)) =ph (t)v(t) + pv (t)[w(t) − g]
+ αpw (t)[w(t) − u(t)] + p0 .

(7)


Để cực đại hóa tốn tử Hamilton, ta đặt p0 = −1.
Véc tơ phụ là nghiệm của bài tốn tương ứng với hệ phương trình EulerLagrange sau:



ph (t) = 0,
(8)
p′v (t) = −ph (t),

 ′
pw (t) = −pv (t) − αpw (t), t ∈ [0, T ].
Từ hệ (8) ta suy ra được:


ph (t) = λ1 ,




pv (t) = −λ1 t + λ2 ,
1 2 −αt

p
(t)
=
(α λ3 e + αλ1 t − λ1 − αλ2 ),

w

α2



λ ∈ R, i = 1, 2, 3,
i

(9)

Trong đó:

1
(−λ1 − αλ2 + α2 λ3 ),
2
α
H(0, x(0), p(0), u(0)) = αpw (0)[g − u(0) − 1].

ph (0) = λ1 , pv (0) = λ2 , pw (0) =

(10)
(11)

Hệ thống động lực là tự động, nên toán tử Hamilton là cố định với tất cả
t ∈ [0, T ]. Do đó, ta có:

H(0, x(0), p(0), u(0)) = H(T, x(T ), p(T ), u(T )).

(12)
Trang 7/21


Trường Đại Học Bách Khoa Hà Nội

Viện Toán Ứng dụng & Tin học

Do thời gian cuối cùng T là tự do, theo điều kiện của tính ngang, ta thu
được:

H(T, x(T ), p(T ), u(T )) = 0

(13)

Từ mối quan hệ (12) và (13), ta có:

H(0, x(0), p(0), u(0)) = αpw (0)[g − u(0)] − 1 = 0.
Nên:

pw (0) =

1
> 0.
α[g − u(0)]

(14)

Toán tử Hamilton cực đại là:

H(t, x∗ (t), p∗ (t), u∗ (t)) =

max

−1≤u(t)≤1


H(t, x(t), p(t), u(t))

= ph (t)v(t) + pv (t)[w(t) − g]
+ αpw (t)w(t) − 1
+ α max [−pw (t)u(t)].
−1≤u(t)≤1

Do đó, điều khiển hóa tối đa Hamilton là:

u∗ (t) = −sign(pw (t)).

(15)

Theo (14) và (15), ta sẽ có u∗ (t) = −1.
Nếu chúng ta cố định thời gian phản hồi của động cơ là 0.7 s, ta tìm
được α = 1.42 và ta sẽ dùng dữ liệu sau để giải bài toán của chúng ta:
h0 = 0 m, h1 = 600 m và g = 9.80665 m.s−2 . Do đó, mục tiêu là xác định
thời gian tối thiểu, tối ưu của bài toán (6). Sử dụng phương pháp bắn, ta
thu được kết quả được trình bày trong hình 1.
Phương pháp bắn dựa trên Nguyên lý cực đại Pontryagin. Nó bao gồm
việc tìm ra điểm 0 của hàm bắn với bài tốn tối thiểu hóa thời gian. Đây là
một phương pháp nhanh, độ chính xác cao, khơng u cầu giả định về cấu
trúc điều khiển. Phương pháp bắn bao gồm ba bước chính:

• Bước 1: Hình thành một bài tốn giá trị biên bằng cách sử dụng phương
trình mơ hình và phương trình véc tơ phụ cũng như các điều kiện ngang.
• Bước 2: Xác định hàm bắn.
• Bước 3: Giải một hệ phương trình phi tuyến.
Từ đồ thị ở hình (1), ta thấy rằng Tmin = 3, 43 s. Biết giá trị thời gian tối
thiểu này, thời gian kết thúc của ta luôn nên chọn lớn hơn một chút so với

Tmin . Do đó, ta chọn T = 3, 5 s.
Trang 8/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Hình 1: Kết quả của bài tốn tối ưu thời gian

3

Giải bài toán vận tốc tối đa của tên lửa

Trong phần này, coi như thời gian cuối cùng, thời gian T đã tìm được ở phần
trước, T = 3, 5 s. Đầu tiên chúng ta giải bài toán (4) bằng giải tích; sau
đó chúng ta giải lại bài toán bằng phương pháp số học với ba phương pháp:
phương pháp bắn, phương pháp rời rạc hóa Cauchy và phương pháp rời rạc
hóa Euler.
Để giải bài tốn (4), đầu tiên ta áp dụng Nguyên lý cực đại Pontryagin.
Hàm Hamilton của bài tốn (4) với t ∈ [0, T ] có dạng:

H(t, x(t), p(t), u(t)) =ph (t)v(t) + pv (t)[w(t) − g]
+ αpw (t)[w(t) − u(t)].
Các véc tơ phụ là nghiệm của hệ phương trình sau:



ph (t) = 0,
p′v (t) = −ph (t),


 ′
pw (t) = −pv (t) − αpw (t), t ∈ [0, T ].
Từ hệ phương trình (17), ta suy ra:


ph (t) = λ1 ,




pv (t) = −λ1 t + λ2 ,
1 2 −αt

p
(t)
=
(α λ3 e + αλ1 t −1 −α2 ),

w

α2


 ∈ R, i = 1, 2, 3,
i

(16)

(17)


(18)

Trang 9/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Trong đó:

ph (0) =1 , pv (0) =2 , pw (0) =

α2 (−1

1
− α2 + α32 )

(19)

Giá trị cực đại của hàm Hamilton là:

H(t, x∗ (t), p∗ (t), u∗ (t)) =

max

−1≤u(t)≤1

H(t, x(t), p(t), u(t))

= ph (t)v(t) + pv (t)[w(t) − g]

+ αpw (t)w(t)
+ α max [−pw (t)u(t)].
−1≤u(t)≤1

Hàm điều khiển để tối đa hóa hàm Hamilton là:

u∗ (t) = −sign(pw (t))

(20)

Véc tơ x(T ) cần thỏa mãn điều kiện sau:

h1 − QT x(T ) = 0.
Do thời điểm cuối cùng T đã được tìm trong bài tốn (4), ta thu được các
phương trình chuyển động sau:

∂g(x(T )) ∂(h1 − QT x(T ))
+
b = 0,
−ph (T ) −
∂h(T )
∂h(T )
∂g(x(T )) ∂(h1 − QT x(T ))
−pv (T ) −
+
b = 0,
∂v(T )
∂v(T )
∂g(x(T )) ∂(h1 − QT x(T ))
−pw (T ) −

+
b = 0,
∂w(T )
∂w(T )

(21)
(22)
(23)

Trong đó, g(x(T )) = −v(T ) và b ∈ R.
Từ điều này, ta thu được các điều kiện biên sau:

ph (T ) = −b, pv (T = 1, pw (T ) = 0.

(24)

Bằng cách sử dụng các điều kiện biên (24) và các mối quan hệ (18), ta thu
được:


ph (t) = −b,




pv (t) = b(t − T ) + 1,
(25)
1
−α(t−T )


p
(t)
=
((α

b)(e

1)

αb(t

T
)),

w

α2


t ∈ [0, T ].
Trang 10/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

3.1

Nghiệm giải tích


Do hàm điều khiển tối ưu bằng đối dấu của véc tơ phụ pw (t), nên thời gian
trễ là nghiệm của phương trình pw (t) = 0. Do A là ma trận bậc 3 và mọi giá
trị riêng là số thực, bài tốn có ít nhất một thời gian trễ tc < T .
Để chọn được phương án tối ưu, hãy xem xét các phương án có thể xảy ra
sau:

• Phương án 1: u(t) = 1, ∀t ∈ [0, T ];
• Phương án 2: u(t) = −1, ∀t ∈ [0, T ];
• Phương án 3: u(t) = 1 với t ∈ [0, tc ],u(t) = −1 với t ∈ [tc , T ];
• Phương án 4: u(t) = −1 với t ∈ [0, tc ],u(t) = 1 với t ∈ [tc , T ].
Phương án 1:
Ta có w′ (t) = α[w(t) − 1], có nghĩa là:


w(t) = c1 eαt + 1,



c1
v(t) = eαt + (1 − g)t + c2 ,
α


1−g 2
c

h(t) = 1 eαt +
t + c2 t + c3 , c1 , c2 , c3 ∈ R.
α2
2

Sử dụng điều kiện ban đầu, ta được:

1.42t
w(t) = (g − 1)e
+ 1,






1
1 1.42t

e
−t−
,
v(t) = (g − 1)
1.42
1.42




1
1
1
1



h(t) = (g − 1)
− t2 −
t−
.
1.422 2
1.42
1.422

(26)

(27)

Với t = T , ta thu được h(T ) = 549.0243 < 600. Do đó Phương án 1 khơng
khả thi.
Phương án 2:
Ta có w′ (t) = α[w(t) + 1], có nghĩa là:

w(t) = d1 eαt − 1,




d1
v(t) = eαt − (1 + g)t + d2 ,
(28)
α



h(t) = d1 eαt − 1 + g t2 + d2 t + d3 , d1 , d2 , d3 ∈ R.

α2
2
Trang 11/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Sử dụng điều kiện ban đầu, ta được:

1.42t
w(t) = (g + 1)e
+ 1,






1 1.42t
1

v(t) = (g + 1)
e
−t−
,
1.42
1.42





1 2
1
1
1


h(t) = (g + 1)
− t −
t−
.
1.422 2
1.42
1.422

(29)

Với t = T , ta thu được h(T ) = 673.7083 >< 600. Do đó Phương án 2 khơng
khả thi.
Phương án 3:
Phương trình quỹ đạo đầu tiên, với u(t) = 1, t ∈ [0, tc ], là:

1.42t
w(t) = (g − 1)e
+ 1,







1 1.42t
1

v(t) = (g − 1)
e
−t−
,
(30)
1.42
1.42




1
1 2
1
1


h(t) = (g − 1)

t

t

.
1.422 2

1.42
1.422
Phương trình quỹ đạo đầu tiên, với u(t) = −1, t ∈ [tc , T ], là:

w(t) = β1 eαt + 1,




β1
v(t) = eαt − (1 + g)t + d2 ,
α



h(t) = β1 eαt − 1 + g t2 + β2 t + β3 , β1 , β2 , β3 ∈ R.
α2
2

(31)

Tại giao điểm của hai tập hợp, ta thu được:

β1 = (g − 1) + 2e−1.42tc , β2 = 2tc −

g+1
2
g+1
, β3 = −t2c +
tc −

.
1.42
1.42
1.42

Tính tc với h(T ) = 600.
Điều kiện tại thời điểm cuối này cho ta phương trình:

142.86e−1.42tc − t2c + 8.41tc − 69.15 = 0.

(32)

Nghiệm của phương trình cuối cùng này là: tc = 0.557 s. Từ đó suy ra được
các giá trị của β1 , β2 , thay vào phương trình thứ hai của hệ (31) ta được:

J(u, T ) = v(T ) = 940.8949 m.s−1 .

Trang 12/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Phương án 4:
Phương trình quỹ đạo đầu tiên, với u(t) = −1, t ∈ [0, tc ], là:

1.42t
w(t) = (g + 1)e
− 1,







1 1.42t
1

e
−t−
,
v(t) = (g + 1)
1.42
1.42




1
1
1
1


h(t) = (g + 1)
− t2 −
t−
.
2
1.42

2
1.42
1.422
Phương trình quỹ đạo đầu tiên, với u(t) = 1, t ∈ [tc , T ], là:


w(t) = γ1 eαt + 1,



γ1
v(t) = eαt + (1 − g)t + γ2 ,
α


γ1 αt 1 − g 2

h(t) = e +
t + γ2 t + γ3 , γ1 , γ2 , γ3 ∈ R.
α2
2

(33)

(34)

Tại giao điểm của hai tập hợp, ta thu được:

γ1 = (g + 1) − 2e−1.42tc , γ2 = −2tc −


2
g+1
g−1
, γ3 = t2c −
tc −
.
1.42
1.42
1.42

Tính tc với h(T ) = 600.
Điều kiện tại thời điểm cuối này cho ta phương trình:

142.8555e−1.42tc + t2c + 8.4085tc + 91.8798 = 0.

(35)

Nghiệm của phương trình cuối cùng này là: tc = 0.331 s. Từ đó suy ra được
các giá trị của β1 , β2 , thay vào phương trình thứ hai của hệ (34) ta được:

J(u, T ) = v(T ) = 931.6531 m.s−1 .
Ta có thể thấy giá trị mục tiêu của bài toán ở Phương án 3 cao hơn ở Phương
án 4. Kết quả lý thuyết được biểu thị trong hai hình (2) và (3).
Do đó ta đã có thể xác định được quỹ đạo tối ưu để vận tốc v(T ) đạt tối
đa và thỏa mãn điều kiện biên h(T ) = 600 m là:
(
1,
t ∈ [0, 0.55];
u∗ (t) =
(36)

−1, t ∈ [0.55, 3.5];


J ( u∗ , T ) = v ∗ (T ) = 940.8949 m.s−1 .
Trang 13/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Hình 2: t 7→ u(t) và t 7→ pw (t)

Hình 3: Tối ưu quỹ đạo t 7→ h(t), t 7→ v(t) và t 7→ w(t)

Trang 14/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

3.2

Giải số học bằng phương pháp bắn

Nguyên lý cực đại Pontryagin dẫn ta tới bài toán biên sau:


x′1 (t) = x2 (t),






x′2 (t) = x3 (t) − g,




x′3 (t) = α[x3 (t) + sign(p3 (t))],





p′1 (t) = 0,




p′2 (t) = −p1 (t),
p′3 (t) = −p2 (t) − αp3 (t),





x1 (0) = 0, x2 (0) = 0, x3 (t) = g,




1



p1 (0) =1 , p2 (0) =2 , p3 (0) = 2 (α32 − α2 −1 ),


α



x
(T
)
=
600,
x
(T
)
:
f
ree,
x

1
2
3 (T ) : f ree,


p (T ) = −b, p (T ) = 1, p (T ) = 0,

1
2
3

(37)

trong đó:

x(t) = (xi (t), i = 1, 2, 3) = (h(t), v(t), w(t))


p(t) = (pj (t), j = 1, 2, 3) = (ph (t), pv (t), pw (t)).
Ta xây dựng hàm bắn sau:

G : R6 −→ R6
(p(0), p(T )) 7−→ G(p(0), p(T )),

(38)

với

p1 (0)−1


p2 (0)−2


1 2



p3 (0) − 2 (α3 − α2 −1 )
G(p(0), p(T )) = 
.
α


p1 (T ) + b




p2 (T ) − 1
p3 (T ) − 0


Trang 15/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Hình 4: Kết quả của phương pháp bắn

Khi đó bài tốn (37) tương đương với bài tốn sau:


x′1 (t) = x2 (t),






x′2 (t) = x3 (t) − g,





x′3 (t) = α[x3 (t) + sign(p3 (t))],






p1 (t) = 0,
p′2 (t) = −p1 (t),



p′3 (t) = −p2 (t) − αp3 (t),





x1 (0) = 0, x2 (0) = 0, x3 (t) = g,






x1 (T ) = 600, x2 (T ) : f ree, x3 (T ) : f ree,



G(p(0), p(T )) = 0.

(39)

Ta xác định nghiệm của hệ phi tuyến G(p(0), p(T ) = 0 bằng phương pháp
Newton. Bằng việc sử dụng phương pháp này với Matlab, ta tính được kết
quả được trình bày như hình (4).
Các kết quả này cho thấy thời gian truyền tín hiệu là tc = 0.557, vận tốc tối
đa là v ∗ (T ) = 940.8949 m.s−1 . Thời gian thực hiện của phương pháp bắn là
t = 1.9781 s. Chúng ta có thể nhận xét rằng phương pháp bắn giải ra kết
quả giống với nghiệm giải tích với thời gian ngắn. Điều này chứng tỏ phương
pháp bắn nhanh và cho kết quả chính xác đối với vấn đề được nghiên cứu.

3.3

Giải bằng phương pháp rời rạc hóa Cauchy

Đối với một khoảng thời gian con tùy chỉnh N được chọn trước, bước tùy
T
chỉnh là θ = .
N
Trang 16/21



Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

Nghiệm của hệ động lực học của bài toán (4) được cho bởi:
Z t
x(t) = F (t)x0 +
F (t)(F (s))−1 [Bu(s) + r(s)]ds, t ∈ [0, T ],

(40)

0

Trong đó F(t) là độ phân giải, là nghiệm của hệ sau:

F (t) = AF (t), F (0) = I3 , t ∈ [0, T ].
Sử dụng nghiệm này, bài toán ban đầu (4) sẽ có dạng:

Z T
Z T



max J(u(t)) = cT F (T )x0 +
ψ(t)dt +
C(t)u(t)dt,


Zu(t)
0
0

T

(41)


φ(t)u(t)dt = g¯,


0


−1 ≤ u(t) ≤ 1, t ∈ [0, T ].
trong đó:

C(t) = cT F (T )F (t)−1 B, φ(t) = QT F (T )F (t)−1 B, ψ(t) = cT F (T )F (t)−1 r,
T

g¯ = h1 − Q F (T )x0 −

Z

T

F (T )F (t)−1 rdt.

0

Ký hiệu τ j = τj+1 = τj + θ, ta có:
N −1
[0, T ] = ∪j=1

[τj , τ j ] ∪ [τN , τ N ].

Ta tính các số Cj và Xj như sau:
Z
Cj =

τj

C(t)dt,

τj

Z

τj

Xj =

Z

φ(t)dt, ψj =
τj

T

τj

g¯j = h1 − Q F (T )x0 −

ψ(t)dt,

τj

Z

τj

QT F (T )F (t)−1 rdt, j = 1, ..., N.

τj

Từ đó, ta thu được bài tốn lập trình tuyến tính sau:

N
X



max J(u) =
Cj uj ,


u


j=1

N
X

Xj uj = g¯,





j=1



−1 ≤ uj ≤ 1, j = 1, ..., N.

(42)

Trang 17/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

tơi đã giải bài tốn tuyến tính này với các giá trị khác nhau của N với phương
pháp nội suy trong Matlab. Thời gian thực hiện của thuật tốn rời rạc hóa
Cauchy T1 , số lần lặp N it và thời gian thực hiện T2 của giải nội suy, tổng
thời gian thực hiện T = T1 + T2 , cũng như tốc độ tối đa tại thời điểm cuối
cùng v() cho các giá trị khác nhau của N, được trình bày trong Bảng (1).
Chúng ta có nhận xét rằng phương pháp rời rạc hóa Cauchy đã tính tốn
N
10
50
100
150
200

500
800
900
1000
2000

v(T )
N it
T1 (s)
940.7414 6
5.9679
940.8939 8
21.1047
940.8944 8
41.5202
940.8946 8
61.7943
940.8947 8
78.0943
940.8948 8
228.3542
940.8948 9
421.2051
940.8949 9
505.9931
940.8949 9
544.6023
940.8949 10 1584.1246

T2 (s)

T(s)
0.2645
6.2342
0.2657 21.3604
0.2635 41.7788
0.2684 62.0527
0.2656 78.3599
0.2671 228.6218
0.2825 421.4875
0.3897 506.3828
0.4181 545.0209
0.2918 1584.4317

Bảng 1: Kết quả mô phỏng cho phương pháp rời rạc hóa Cauchy

giải tích ra được kết quả tối ưu với 2 chữ số thập phân chính xác trong 21,36
giây và với 4 chữ số thập phân chính xác trong 506,38 giây. Điều này cho
thấy phương pháp này có thể cho kết quả chính xác nhưng mất nhiều thời
gian.

3.4

Giải bằng phương pháp rời rạc hóa Euler

Đối với một khoảng thời gian con tùy chỉnh N được chọn trước, bước tùy
T
và các thời điểm sau:
chỉnh là θ =
N


0 = t0 < t1 < ... < tN −1 < tN = T.
Việc áp dụng sơ đồ rời rạc hóa Euler để giải các
chúng ta một bài tốn lập trình tuyến tính sau:


M aximize J(u, T ) = v(T ),





h(ti+1 ) = h(ti ) + θv(ti ),
v(ti+1 ) = v(ti ) + θ[w(ti ) − g],



w(ti+1 ) = w(ti ) + αθ[w(ti ) − u(ti )],



h(0) = 0, v(0) = 0, w(0) = g, h(t ) = 600.
N

bài toán giá trị biên cho

i = 0, 1, ..., N,
i = 0, 1, ..., N,
i = 0, 1, ..., N,

(43)


Trang 18/21


Trường Đại Học Bách Khoa Hà Nội
Viện Toán Ứng dụng & Tin học

tơi cũng giải bài tốn lập trình (43) với Matlab nội suy. Kết quả thu được
(thời gian thực hiện của phương pháp nội suy T , số lần lặp N và tốc độ tối
đa v(T )) được trình bày trong Bảng (2).
N
10
50
100
150
200
500
800
900
1000
2000

v(T )
N it
T (s)
940.7414 6
6.2342
940.8939 8
21.3604
940.8944 8

41.7788
940.8946 8
62.0527
940.8947 8
78.3599
940.8948 8
228.6218
940.8948 9
421.4875
940.8949 9
506.3828
940.8949 9
545.0209
940.8949 10 1584.4317

Bảng 2: Kết quả mơ phỏng cho phương pháp rời rạc hóa Euler

Từ Bảng (2), chúng ta có thể nhận xét rằng phương pháp rời rạc hóa Euler
rất nhanh, tuy nhiên ngay cả với bước rời rạc hóa lớn, nó vẫn khơng thể đạt
được độ chính xác mong muốn.

Tài liệu
[1] J. Awerjcewicz, Modeling, Simulation and Control of Nonlinear Engineering Dynamical Systems, State-of-the-Art, Presperctives and Applications, Heidelberg, Germany: Springer, 2008.
[2] L.D. Duncan, Basic considerations in the development of an unguided
rocket trajectory simulation model, Technical report N 0 5076, Atmospheric Sciences Laboratory, United States Army Electronics Command,
1966.
[3] K. Louadj, P. Spiteri, F. Demim, M. Aidene, A. Nemra, and F. Messine,
Application Optimal Control for a Problem Aircraft Flight, SIAM Journal
on Imaging Sciences, vol. 11, no. 1, pp. 156–164, 2018.
[4] N. Moussouni, and M. Aidene, An Algorithm for Optimization of Cereal

Output, Acta Applicandae Mathematicae, vol. 11, no. 9, pp. 113–127,
2011.

Trang 19/21



×