You are on page 1of 13

12/14/2018

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động
Phương pháp quy học động do Bellman đề xuất năm 1957.
Là thuật toán xác định dãy giá trị điều khiển tối u(k) đề chỉ
tiêu chất lượng J đạt min.
Nguyên lý của phương pháp: Mỗi đoạn cuối của quỹ đạo trạng
thái tối ưu cũng là một quỹ đạo trạng thái tối ưu.
Ví dụ: Tìm đường ngắn nhất từ A đến Z:

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động
- Phân chia đường thành các 5 bước:

1
12/14/2018

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động
-Ký hiệu:
+ Nki là nút thứ i ở bước k

+
k
J∗(Nki) là khoảng cách ngắn nhất từ nút Nki đến nút đích Z
+ d(Nki, Nk+1,j) là khoảng cách từ nút Nki đến nút Nk+1,j
-Phương trình Bellman: J∗ k Nki = min d(Nki , Nk+1,j )+Jk∗+1 Nk+1,j
-Vậy ta phải tìm khoảng cách ngắn nhất từ nút đầu đến nút đích là: J∗1 N11

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động
- Giải: Làm từ vòng ngược:

- Đi từ bước 5: J∗(N51)
5
=0

- Đi từ bước 4: J∗(N41)
4
=min d(N41, N51)+J∗
5
N51 =2

J∗(N42)
4
=min d(N42, N51)+J∗
5
N51 =4
Bước 4 này thì tại mỗi nút ta vẫn chỉ có 1 lựa chọn

2
12/14/2018

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động

- Đi từ bước 3: J∗(N3i)
3
=min d(N3i, N4j)+J∗
4
N4j

Điểm đi d(N3i , N4j )+J


∗∗

N4j J ∗∗∗∗∗
(N3i ) Điểm đến
ĐĐĐĐN3i d(N
d(N3i
3i,, N
N4j
4j)+J4
)+J 44 JJJJ
3
3 ĐĐĐĐiiii
iiiiểểể tối ưu
ểểểểm
N41(2) N42(4)
NN NN
N31 5+2=7 2+4=6 6 N42
N 55+ 22+ 6 N
N32 7+2=9 3+4=7 7 N42
N 7+2 3+4 7 N
N33 6+2=8 4+4=8 8 N41 hoặc N42
N

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động

- Đi từ bước 2: J∗(N2i)
2
=min d(N2i, N3j)+J∗
3
N3j
Điểm đi d(N2i , N3j )+J∗ ∗ N3j J ∗ (N ) Điểm đến tối
3 2 ∗ 2i
Điểm
N2i d(N2i, N3j)+J3 J2(N Điểm
ưuđến
đi N31(6) N32(7) N33(8) tối
N21 N31( N32( N33(
6+6=12 4+7=11 3+8=11 11 N32Hoặc N33
NN
22 2+6=8 3+7=10 4+8=12 8 N31
NN23 2+6=8 1+7=8 5+8=13 8 N31 hoặc N32
N

3
12/14/2018

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động

- Đi từ bước 1: J∗(N11)
1
=min d(N11, N2j)+J∗
2
N2j

Điểm đi d(N11, N2j )+J∗ N2j J ∗ (N11 ) Điểm đến tối


2 1
N11 ưu
N21(11) N22(8) N23(8)
N11 1+11=12 2+8=10 3+8=11 10 N22

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động
- Vậy đường đi tối ưu là: N11→ N22→ N31→ N42→ N51 Với J*=10.

4
12/14/2018

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động
Bài tập: Tìm đường đi tối ưu

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động

- Đi từ bước 6: J∗(N61)
6
=0;6 J∗(N62) =0

- Đi từ bước 5: J∗(N5i)
5
=min d(N5i, N6j)+J∗
6
N6j

Điểm đi d(N5i , N6j )+J∗ N6j J ∗ (N3i ) Điểm đến


6 3
N5i tối ưu
N61(0) N62(0)
N51 5 3 3 N62
N52 4 6 4 N61
N53 1 2 1 N61

5
12/14/2018

2.4 ĐKhiển T/Ưu Liên Tục Bằng Phương Pháp Phương Pháp Quy Hoạch động

- Đi từ bước 4: J∗(N4i)
4
=min d(N4i, N5j)+J∗
5
N5j

Điểm đi d(N4i , N5j )+J∗ N5j J ∗ (N2i ) Điểm đến tối


5 2
N2i ưu
N51(3) N52(4) N53(1)
N41 3+3=6 2+4=6 1+1=2 2 N53
N42 4+3=7 5+4=9 7+1=8 7 N51

2.5 ĐKhiển T/Ưu Động Rời Rạc

Cho đối tượng rời rạc:


x k + 1 = ƒ(x k , u k )
Với x(k) = [x1(k), x2(k), … , xn k ]T là véc tơ trạng thái
u(k) = [u1(k), u2(k), … , un k ]T là véc tơ tín hiệu điều khiển Với trạng thái đầu và cuối: x 0 = x
Bài toán đặt ra: xác định tín hiệu điều khiển u(k) sao cho:
N–1
J = $ N, xN + Σ L x k , u k→ nin
k=O
Khi điểm cuối tự do thì $ N, xN ≠0
Khi điểm cuối cố định thì $ N, xN =0

6
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc

Cách giải: Áp dụng nguyên lý tối ưu của Bellman, tìm quỹ đạo tối ưu từng đoàn từ điểm cuối xN ngượ
Hàm mục tiêu tối ưu cho đoạn từ điểm x k đến điểm cuối:

J∗(x k ) = nin $ N, xN+ ∑N–1


k i=k
L x i , u ivới k=0->N-1
Biến đổi ta có:
N–1
J∗(x
k
k ) = nin L x k , u k + $ N, xN + Σ L x i , u i
i=k+1

Vậy: J∗(x
k
k )= nin L x k , uk+ J∗(x k + 1 )(Phương
k+1
trình Bellman)
Ta có: min J = J∗(
O x 0 ), Vậy giải PT Bellman theo vòng ngược
k=N-1→0 sẽ tìm được nghiệm tối ưu.

2.5 ĐKhiển T/Ưu Động Rời Rạc

Tóm tắt cách giải:


- Lập phương trình Bellman:

J∗(x
k k )= nin L x k , u k + J∗
k+1(x k + 1 )
- Giải phương trình Bellman:
Theo vòng ngược ta tìm được u∗(k) phụ thuộc x k
Theo vòng xuôi, kết hợp với điều kiện đầu x 0 ta sẽ tìm
được cụ thể u∗(k) và x k

7
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc

Ví dụ: Xét đối tượng


x k + 1 = x k +u k
Xác định tín hiệu điều khiển tối ưu u∗(k) để hệ thống đi từ trạng
thái x 0 = 21 đến x 4 = 0 để:

J = ∑3k=O x2 k + u2 kđạt min


Giải:
Phương trình Bellman là:
J∗(x
k k )= nin L x k , uk+ J∗ k+1(x k + 1 ) 
J∗(x
k k )= nin x2 k + u2 k +k+1 J∗(x k + 1 )
với k=0->3 và J∗(x
4 4 )=0

2.5 ĐKhiển T/Ưu Động Rời Rạc

Ví dụ: Xét đối tượng


x k + 1 = x k +u k
Thực hiện vòng ngược:
k=3 ta có:
J∗(x 3 )= nin x2 3 + u2 3 + J∗(x 4 )=
34
min x2 3 + u2 3
Với điều kiện ràng buộc: x 4 = x 3 +u 3 =0
=>u∗3 = −x 3

3 x 3 = 2. x2 3
=>J∗

8
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc

Ví dụ: Xét đối tượng


x k + 1 = x k +u k
Thực hiện vòng ngược:
k=2 ta có:
J∗(x 2 )= nin x2 2 + u2 2 + J∗(x 3 )=
2 3
2
min x2 + u2 2 + 2. x3 2
Với điều kiện ràng buộc: x 3 = x 2 +u 2
=>J∗(x
2
2 )= nin x2 2 + u2 2 + 2. (x 2 +u 2 )2
J∗(x
2 2 )= nin 3. x2 2 + 3. u2 2 + 4. x 2 .u 2
&J2(x 2 ) = 4. x 2
+ 6. u 2
&u(2)
=>u∗ 2 = −(2). x 2
3
=> J∗(x 2 )= (5). x2(2)
2 3

2.5 ĐKhiển T/Ưu Động Rời Rạc

Ví dụ: Xét đối tượng


x k + 1 = x k +u k
Thực hiện vòng ngược:
k=1 ta có:
J∗(x
1 1 )= nin x2 1 + u2 1 2+ J∗(x 2 )=
min x2 1 + u2 1 + (5). x2(2)
3
Với điều kiện ràng buộc: x 2 = x 1 +u 1
=>J∗(x 1 )= nin x2 1 + u2 1 + (5). (x 1 +u 1 )2
1 3
8 u2 1 + (1O). x 1 .u 1
J∗(x 1 )= nin (8). x2 1 +.
1 3 3 3
&J1(x 1 ) = (16). u 1 10
&u(1) 3 + ().3 x 1
=>u∗ 1 = −(5). x 1
8
=> J∗(x 1 )= (13). x2( 1)
1 8

9
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc

Ví dụ: Xét đối tượng


x k + 1 = x k +u k
Thực hiện vòng ngược:
k=0 ta có:
J∗(x 0 )= nin x2 0 + u2 0 + J∗(x 1 )=
O 1
min x2 0 + u2 0 + (13). x2(1)
8
Với điều kiện ràng buộc: x 1 = x 0 +u 0
=>J∗(x 0 )= nin x2 0 + u2 0 + (13). (x 0 +u 0 )2
O 8
J∗(x 1 )= nin (21). x2 0 + 21 . u2 0 + (26). x 0 .u 0
1 888
&J1(x 0 ) = (42). u 0 26
&u(0) 8 + ().8 x 0
=>u∗ 0 = −(13). x 0
21
=> J∗(x 0 )= (34). x2( 0)
O 21

2.5 ĐKhiển T/Ưu Động Rời Rạc

Ví dụ: Xét đối tượng


Kết
x k + 1 = x k +u k Thực hiện vòng xuôi: (x luận:
0 =21) k=0:
Chuỗi tín hiệu điều khiển tối ưu:
u∗ = −13; −5; −2; −1
u∗ 0 = −(13). x 0 =-13 Trạng thái tối ưu
21
x∗ = 21; 8; 3; 1; 0
=> x 1 = x 0 +u 0 =21-13=8
Hàm chỉ tiêu đạt giá trị tối ưu:
k=1:
u∗ 1 = −(5). x 1 =-5
8
=> x 2 = x 1 +u 1 =8-5=3
k=2:
minJ∗(x
J= O 34 0 )=
u∗ 2 = −(2). x 2 =-2
3 . x2 0 = 34.21 = 714
=> x 3 = x 2 +u 2 =3-2=1 21
k=3:
u∗ 3 = −x 3 =-1
=> x 4 = x 3 +u 3 =1-1=0

1
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc


Bài 1:
Xét đối tượng
x1 k + 1 = x1 k +2. x2 k x2 k + 1 = x2 k +u k /2
Xác định tín hiệu điều khiển tối ưu u∗( k) để hệ thống đi từ trạng thái x 0 = [1 2] đến
x 4 = [0 0] để:

J = ∑3x12
k=O k + x22 k đạt min
Bài 2:
Tìm đường đi tối ưu

2.5 ĐKhiển T/Ưu Động Rời Rạc

Bài 1:
Xét đối tượng
x1 k + 1 = x1 k +2. x2 k x2 k + 1 = x2 k +u k /2
Xác định tín hiệu điều khiển tối ưu u∗(k) để hệ thống đi từ trạng
thái x 0 = [1 2] đến x 4 = [0 0]để:

J = ∑3k=O x12 k + x22 kđạt min


Giải:
Phương trình Bellman là:
J∗(x
k k )= nin L x k , u k+ J∗k+1(x k + 1 ) 
J∗(x
k k )= nin x12 k + x22 k k+1
+ J∗(x k + 1 )
với k=0->3 và J∗(x
4
4 )=0

1
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc

x1 k + 1 = x1 k +2. x2 k x2 k + 1 = x2 k +u k /2
x 0 = [1 2] đến x 4 = [0 0] , J = ∑3
Thực hiện vòng ngược:
k=O x12 k + x22 k
k=3 ta có:

J∗(x
3 3 )= nin x12 3 + x22 3 4+ J∗(x 4 )=
min x12 3 + x22 3
Với điều kiện ràng buộc:
x1 4 = x1 3 +2. x2 3 =0
x2 4 = x2 3 +u 3 /2=0

3 = −2. x2 3
=>u∗
=>J∗
3 x 3= 5. x22(3)

2.5 ĐKhiển T/Ưu Động Rời Rạc

x1 k + 1 = x1 k +2. x2 k x2 k + 1 = x2 k +u k /2
x 0 = [1 2] đến x 4 = [0 0] , J = ∑3
Thực hiện vòng ngược:
k=O x12 k + x22 k
k=2 ta có:

J∗(x
2 2 )= nin x12 2 + x22 2 3+ J∗(x 3 )=
min x12 2 + x22 2 + 5. x22(3) =
Với điều kiện ràng buộc:
x1 3 = x1 2 +2. x2 2
x2 3 = x2 2 +u 2 /2
=>J∗(x
2 2 )=min x12 2 + x22 2 + 5. x2 2 +u 22 /2
2 = −2. x2 2
=>u∗
=>J∗
2 x 2= x12 2 + x22 2

1
12/14/2018

2.5 ĐKhiển T/Ưu Động Rời Rạc

x1 k + 1 = x1 k +2. x2 k x2 k + 1 = x2 k +u k /2

x 0 = [1 2] đến x 4 = [0 0] , J = ∑3 k=O x12 k + x22 kThực


hiện vòng ngược:
k=1 ta có:
J∗(x
1 1 )= nin x12 1 + x22 1 22+ J∗(x 2 )=
2
min x11 + x212 + x12 2+ x22=
Với điều kiện ràng buộc:
x1 2 = x1 1 +2. x2 1
x2 2 = x2 1 +u 1 /2
=>J∗(x 1 )=
1
min x12 1 + x22 1 + x1 1 +2. x2 1 2 + x2 1 +u 1 /2 2
=>u∗1 = −2. x2 1
=>J∗1
x 1= x12 1 + x22 1 + x1 1 +2. x2 1 2=2. x12 1 +
5. x22 1 +4. x1 1 . x2 1

2.5 ĐKhiển T/Ưu Động Rời Rạc

x1 k + 1 = x1 k +2. x2 k x2 k + 1 = x2 k +u k /2
x 0 = [1 2] đến x 4 = [0 0] , J = ∑3
k=O x12 k + x22 kThực
hiện vòng ngược:
k=0 ta có:
J∗(x
O 0 )= nin x12 0 + x22 0 1 + J∗(x 1 )=
min x12 0 + x22 0 + 2. x12 1 + 5. x22 1 +4. x1 1 . x2 1=
Với điều kiện ràng buộc:
x1 1 = x1 0 +2. x2 0
x2 1 = x2 0 +u 0 /2
=>J∗(x
O 0 )=min … …
O = −2. x2 0
=>u∗

O x 0 =⋯ ….
=>J∗

You might also like