You are on page 1of 4

Nguyên lý cực ñại Pontryagin trong Bài Toán ðiều Khiển

Tối Ưu

Ta xét bài toán sau:

1 1
u s x2 s x1
 dx1
 dt = x2 dx 0 1  0  x 
Hệ thống có phương trình:  hay =  x +   u; x =  1 
 dx2 = u dt 0 0  1   x2 
 dt
T
Tìm ñiều khiển u sao cho năng lượng tổn hao là nhỏ nhất: J = ∫ u 2 (t )dt → min với các
0
T
các ñiều kiện x2 (0) = x2 (T ) = 0; ∫ x2 (t )dt = θ ; u ≤ a
0
ðể bài toán ñơn giản trong tính toán ta gán giá trị cụ thể cho các tham số
π
T = 1, a = 1, θ = .
16
Giải:
Ta lập hàm Hamilton
0 1   x1  0 
H ( x, u , p ) = p T     + pT   u − u 2 = p1 x2 + p2u − u 2
0 0   x2  1 
T T
dp  δ H  dx  δ H 
Từ hệ phương trình liên hợp: = −  ; =  ta có:
dt  δ x  dt  δ p 
 dp1
 dt = 0
 nên p1 (t ) = const ; p2 (t ) = − p1t + C
 dp2 = − p
 dt 1

Theo nguyên lý cực ñại Pontryagin nếu u (t ) là tín hiệu ñiều khiển tối ưu thì

H ( x, u, p) = max|u|≤1 H ( x, u, p) = max|u|≤1 { p1 x2 + p2u − u 2 }


Xét H là hàm bậc 2 với u trên ñoạn [-1;1] ta có nhận xét sau:

C+2 C −2 p
• Nếu −2 ≤ p2 ≤ 2 hay −2 ≤ − p1t + C ≤ 2 ⇒ ≥t ≥ thì u = 2
p1 p1 2

Lưu Như Hòa – ðKTð – KSTN – K50


C −2
• Nếu p2 > 2 hay − p1t + C > 2 ⇒ > t ≥ 0 thì u = 1
p1
C+2
• Nếu p2 < −2 hay − p1t + C < −2 ⇒ T = 1 ≥ t > thì u = −1
p1
Dựa vào các ñiều kiện ban ñầu ta xác ñịnh các tham số p1 , C
C −2 dx
• Khi > t ≥ 0 thì 2 = u = 1 ⇒ x2 (t ) = t + x2 (0) = t
p1 dt
C+2 dx
• Khi 1 ≥ t > thì 2 = u = −1 ⇒ x2 (t ) = 1 + x2 (1) − t = 1 − t
p1 dt
C+2 C −2 dx p −p t +C t2 t
• Khi ≥t ≥ thì 2 = u = 2 = 1 ⇒ x2 (t ) = − p1 + C + D
p1 p1 dt 2 2 4 2
C −2  C − 2  C2 1 C+2 C+2
Ta có = x2  = − + D = x2   = 1−
p1  p1  4 p1 p1  p1  p1
C 1 1 C 1
Do ñó = ;và D = − − +
p1 2 2C 8 2
1
Lại có ∫ x2 (t ) dt = θ = 2π nên
0
C −2 C +2
2C 2C
t2 t 1 C 1 π 1
θ= ∫0 tdt + ∫ (−C + C −
C −2 2
− + )dt + ∫ (1 − t )dt =
2 2C 8 2 C +2 16
2C 2C
Do tính chất ñối xứng nên
C −2 1
θ 2C 2
t2 t 1 C 1 π
2
= ∫0 tdt + ∫ (−C + C −
C −2 2
− + )dt =
2 2C 8 2 32
2C
>> syms C t
>> p1=2*C;
>> x2=-p1/4*t^2+C*t/2+D;
>> int1=((C-2)/2/C)^2/2;
>> D=-1/2/C-C/8+1/2;
>> t=1/2;
>> int212=-C/6*t^3+C/4*t^2+D*t;
>> t=(C-2)/2/C;
>> int211=-C/6*t^3+C/4*t^2+D*t;
>> int2=int212-int211;
>> sum=int1+int2; expand(sum)
ans =

1/8-1/6/C^2

Lưu Như Hòa – ðKTð – KSTN – K50


>> C=sqrt(1/6/(1/8- 1 1 π
pi/32)); − 2 =
Hay do ñó
8 6C 32
C = 1
C= = 2.4926
 1 π 
2.4926 6 − 
 8 32 
1 C 1
p1 (t ) = 2C = 4.9852 ; D = − − + = -0.0122
2C 8 2
p2 (t ) = − p1t + C = −4.9852 t + 2.4926
Tín hiệu ñiều khiển tối ưu:
 1;0 ≤ t < 0.0988

u (t ) = − 2.4926 t + 1.2463 ;0.0988 ≤ t ≤ 0.9012
 −1; 0.9012<t ≤ 1

>> t1=0:1e-5:(C-2)/2/C;
>> t2=(C-2)/2/C+1e-5:1e-5:(C+2)/2/C-1e-5;
>> t3=(C+2)/2/C:1e-5:1;
>> u1=ones(1,length(t1));
>> u2=-C*t2+C/2;
>> u3=-ones(1,length(t3));
>> plot(t1,u1,'o',t2,u2,t3,u3,'o');grid
Tin hieu dieu khien toi uu
1
u=1
0.8 u = -2.4926t + 1.2463
u = -1
0.6

0.4

0.2
u(t)

-0.2

-0.4

-0.6

-0.8

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
>> x21=t1;
>> x22=-(p1/4).*(t2).^2+(C/2).*t2 + D;
>> x23=1-t3;
>> plot(t1,x21,t2,x22,'o',t3,x23);grid

Lưu Như Hòa – ðKTð – KSTN – K50


Tin hieu x 2 khi u la tin hieu toi uu
0.35

0.3

0.25

0.2
x 2(t)

0.15

x2 = t
0.1
x 2 = -1.2463t 2 +1.2463t - 0.0122
x 2 = 1-t
0.05

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t

Năng lượng tiêu thụ trong trường hợp này là:


T
J = ∫ u 2 (t ) dt
0

>> syms t
>> J = (C-2)/C+double(int((-C*t+C/2)^2,t,(C-2)/2/C,(C+2)/2/C))

J =

0.4651

 1
 1;0 ≤ t ≤ 2
Ta so sánh với 1 trường hợp khác khi u (t ) = 
−1; 1 < t ≤ 1
 2
1 1
J = ∫ u 2 (t ) dt = ∫ dt = 1 > 0.4651
0 0

Lưu Như Hòa – ðKTð – KSTN – K50

You might also like