Tải bản đầy đủ (.doc) (26 trang)

Điều khiển tối ưu

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 (815.59 KB, 26 trang )

Lý thuyết điều khiển nâng cao
28 November 2016

`Phụ lục
Nội dung
Phụ lục
Bài 1Giới thiệu chung
1 Định nghĩa
2 Điều kiện hạn chế
3 Bài toán điều khiển tối u
3.1 Điều khiển tối u tĩnh
3.2 Điều khiển tối u động
Bài 2 Điều khiển tối u tĩnh
1 Mô tả toán học.
2 Biểu diễn hình học.
3 Giả thiết cho lời giải.
3.1 Bài toán tối u không có giới hạn.
3.2 Bài toán tối u có giới hạn.
Bài 3 Phơng pháp không dùng đạo hàm riêng
1. Đặt vấn đề.
2. Phơng pháp Gauss/Seidel.
3. Các phơng pháp khác.
3.1 Phơng pháp Rosenbrock.
3.2 Phơng pháp đơn hình.
3.3 Phơng pháp hớng tìm ngẫu nhiên.
Bài 4 Phơng pháp đạo hàm riêng
1. Đặt vấn đề
2. Đạo hàm riêng theo nghĩa hẹp.
3. Phơng pháp hạ nhanh nhất.
Bài 5 Phơng pháp hớng liên hợp
1. Đặt vấn đề.


2. Thuật toán hớng liên hợp.
Bài 6 Phơng pháp Newton/Raphson
1. Nội dung của phơng pháp.
2. Thuật toán Newton-Raphson.
Bài 7 Cực tiểu hoá hàm một biến
1. Đặt vấn đề.
2. Phơng pháp nhát cắt vàng.
3. Phơng pháp Fibonaci.
Bài 8 Bài toán tối u có giới hạn
1. Bài toán tối u có giới hạn
2. Phơng pháp đổi biến độc lập
3. Phơng pháp sử dụng hàm phạt và hàm chặn.
3.1 Hàm phạt.
3.2 Hàm chặn.
Tài liệu tham khảo

Nguyễn Hoài Nam

Trang
1
3
3
3
4
4
5
6
6
6
7

7
8
10
10
10
13
13
13
14
15
15
16
16
17
17
19
21
21
21
24
24
25
26
28
28
28
29
29
29
31


1


Lý thuyết điều khiển nâng cao
28 November 2016

Bài 1 Giới thiệu chung
1. Định nghĩa.
Điều khiển tối u là một chuyên ngành cơ bản trong điều khiển tự động, nó có
vai trò xác định và tạo lập những luật điều khiển cho hệ thống để hệ thống đạt đợc chỉ tiêu về tính hiệu quả đã đợc định trớc dới dạng hàm mục tiêu Q.
Trong thực tế tồn tại các bài toán điều khiển tối u nh sau:
- Bài toán tối u cực tiểu:
+ Xác định tham số của mô hình sao cho bình phơng sai lệch trung bình giữa
mô hình và đối tợng đạt giá trị nhỏ nhất, ví dụ nh huấn luyện mạng nơ-ron, nhận
dạng đối tợng, ...
+ Điều khiển một quá trình đạt chỉ tiêu chất lợng, kỹ thuật cho trớc sao cho
tổn hao năng lợng là nhỏ nhất.
+ Tạo ra một sản phẩm đạt chỉ tiêu chất lợng cho trớc nhng chi phí là nhỏ
nhất.
+ Bài toán tìm đờng đi ngắn nhất giữa hai điểm bất kỳ, ví dụ nh xác định quĩ
đạo chuyển động của cánh tay rô bốt, đờng đi thu rác, thu tiền điện, thu tiền nớc,
đi chào hàng ...
- Bài toán tối u cực đại.
+ Tạo ra sản phẩm với chi phí cho trớc, nhng có chất lợng cao nhất.
+ Bài toán tìm đờng căng.
- Bài toán tối u tác động nhanh: Thời gian xảy ra quá trình là ngắn nhất, ví dụ
nh điều khiển tên lửa.
2. Điều kiện hạn chế.
Cho hệ thống nhiều đầu vào và nhiều đầu ra, đợc mô tả bởi hệ các phơng trình

nh sau:
y = f(x,u)
đợc gọi là mô hình toán học
T
u = (u1 u2 . . . ur)
là các đầu vào
x = (x1 x2 . . . xn)T
là các trạng thái
y = (y1 y2 . . . ym)T
là các đầu ra

Nguyễn Hoài Nam

2


Lý thuyết điều khiển nâng cao

28 November 2016
Do bài toán tối u đợc thực hiện trên mô hình hệ thống, cho nên lời giải của bài
toán tối u phụ thuộc vào độ chính xác của mô hình hệ thống.
Những tín hiệu không thể mô tả đợc trong các phơng trình trên sẽ đợc coi là
nhiễu tác động.
3. Bài toán điều khiển tối u.
Bài toán tối u đợc xây dựng dựa trên các giả thiết sau:
+ Có một mô hình toán học.
+ Không có nhiễu tác động.
+ Biết các điều kiện biên của mô hình nh điểm làm việc, thời gian làm việc
của hệ thống.
+ Biết miền giá trị cho phép của các đầu vào u.

+ Biết hàm mục tiêu Q mô tả tính hiệu quả mà hệ thống cần đạt đợc.
Mục đích của điều khiển tối u là tìm tín hiệu tối u u* để hàm mục tiêu Q đạt
giá trị cực đại hoặc cực tiểu.
Với những giả thiết này có rất nhiều phơng pháp giải bài toán điều khiển tối u
khác nhau. Trong chơng trình của môn học này, chúng ta sẽ nghiên cứu các phơng pháp cơ bản nhất của lĩnh vực điều khiển tối u, đợc chia thành hai nhóm
chính nh sau:
+ Điều khiển tối u tĩnh.
+ Điều khiển tối u động.
3.1. Điều khiển tối u tĩnh.
Bài toán điều khiển tối u tĩnh là bài toán trong đó quan hệ vào, ra và biến trạng
thái của mô hình không phụ thuộc vào thời gian. Giá trị đầu ra tại một thời điểm
chỉ phụ thuộc vào các đầu đầu vào và trạng thái tại thời điểm đó.
Mô hình hệ thống đợc cho nh sau:
yk = fk(u1, u2, . . .ur), với k = 1, 2, . . ., m, viết gọn lại thành y = f(u). Hàm mục
tiêu nh sau: Q = Q(u,y).
Thay y = f(u) vào hàm mục tiêu đợc: Q = Q(u,y) = Q(u,f(u)) = Q(u), nh vậy
Q chỉ phụ thuộc vào các đầu vào và đầu ra.
3.2. Điều khiển tối u động.
Bài toán điều khiển tối u động là bài toán trong đó mô hình toán học có ít nhất
một phơng trình vi phân.
dxi
= f i ( x, u )
dt

Nguyễn Hoài Nam

3


Lý thuyết điều khiển nâng cao


28 November 2016
Cho mô hình hệ thống nh sau: x i = f i ( x1 , x 2 ..., x n , u1 , u 2 ..., u r ) với i = 1 ữ n , viết
gọn lại thành: x = f ( x, u ) .
Các đầu ra của hệ thống là y = g ( x, u ) với y = ( y1 , y 2 ,..., y m ) .
T

Hàm mục tiêu đợc định nghĩa nh sau: Q = f 0 ( x, u )dt , trontg đó T là thời gian
0

xảy ra quá trình tối u.
Với bài toán điều khiển tối u tĩnh, đây chính là bài toán cực trị với những điều
kiện ràng buộc. Có nhiều phơng pháp giải bài toán cực trị, ở đây chúng ta chỉ
nghiên cứu các phơng pháp phi tuyến:
+ Các phơng pháp không dùng đạo hàm riêng.
+ Các phơng pháp đạo hàm riêng.
+ Phơng pháp hớng liên hợp.
+ Phơng pháp Newton-Raphson.
Với bài toán điều khiển tối u động, chỉ nghiên cứu các phơng pháp sau:
+ Phơng pháp biến phân kinh điển.
+ Phơng pháp cực đại của Pontrjagin
+ Phơng pháp qui hoạch động của Bellman

Bài 2 Điều khiển tối u tĩnh
1. Mô tả toán học.
Mô hình hệ thống có dạng nh sau: y = f(u) với u U
u = (u1 u2 . . . ur)T
các đầu vào
y = (y1 y2 . . . ym)T
các đầu ra

U là miền thích hợp của các biến đầu vào, đợc định nghĩa nh sau:

{

U = u = (u1 , u 2 ..., u ủ ) T u k min u k u k max ; k = 1 ữ r

}

Hàm mục tiêu có dạng nh sau: Q = Q(u,y) = Q(u,f(u)) = Q(u)
Không mất tính tổng quát nếu giả thiết tiêu chuẩn tối u là: Q(u) min
Bài toán điều khiển tối u tĩnh đợc phát biểu nh sau: Tìm tín hiệu tối u u* U ,
sao cho Q(u*) đạt giá trị nhỏ nhất. Khi đó, ta có Q(u * ) Q(u )
Nguyễn Hoài Nam

u U

(1)

4


Lý thuyết điều khiển nâng cao

28 November 2016
Nếu u* thoả mãn (1) với mọi u thuộc U, thì u* đợc gọi là véc tơ tối u toàn cục.
Nếu u* thoả mãn (1) với mọi u thuộc lân cận u*, thì u* đợc gọi là véc tơ tối u
cục bộ.
2. Biểu diễn hình học.
Xét hệ thống có hai tín hiệu đầu vào u 1 và u2. Hàm mục tiêu Q chỉ phụ thuộc
vào u1 và u2, Q = Q(u1,u2).

Giả thiết hàm mục tiêu Q có đồ thị nh hình 1.
u *
u 2

Vậy điểm tối u u* = 1* là điểm thuộc mặt phẳng (u1,u2), tại đó mặt cong Q ở
điểm thấp nhất.
Điểm A là điểm tối u cục bộ, điểm B là điểm yên ngựa và điểm C là điểm tối u
toàn cục.
Tập hợp các điểm nằm trong mặt phẳng (u 1,u2), tại các điểm đó hàm mục tiêu
Q có cùng giá trị đợc gọi là đờng đồng mức.

Q
B

A

C

O

u1
đờng đồng mức

u2

Hình 1

3. Giả thiết cho lời giải.
3.1. Bài toán tối u không có giới hạn.
- Nghiệm u* của bài toán tối u không có giới hạn là một điểm cực trị. Các

điểm cực trị thoả mãn hệ phơng trình vi phân

Nguyễn Hoài Nam

Q
=0
u k

k = 1,2..., r

hay

5


Lý thuyết điều khiển nâng cao
28 November 2016

Q
Q Q
Q T
=(
,
,...,
) =0
u
u1 u 2
u r

- Tại mỗi điểm u của mặt cong Q tồn tại véc tơ đạo hàm riêng

gradQ =

Q
, ký hiệu là
u

Q
, véc tơ đạo hàm riêng gradQ có các tính chất sau:
u

+ Có phơng vuông góc với mặt cong Q.
+ Có hớng chỉ chiều tăng giá trị của các đờng đồng mức.
+ Có độ lớn thể hiện tốc độ tăng hay giảm giá trị của Q. Do đó tại điểm cực trị
của mặt cong Q phải có gradQ = 0 (*). Hệ phơng trình này chỉ là điều kiện cần
để tìm nghiệm tối u u*.
Để giải hệ phơng trình (*) sẽ gặp những vấn đề sau:
+ Hệ phơng trình (*) là hệ phi tuyến, dẫn đến việc giải trực tiếp khó thực hiện
đợc.
+ Có nhiều điểm u* thoả mãn hệ phơng trình (*) nhng không phải là nghiệm
tối u.
Thực tế, các phơng pháp gần đúng đợc sử dụng nhiều hơn, theo thuật toán tìm
nghiệm từng bớc.
Thuật toán tìm nghiệm từng bớc.
+ Bớc 1:
Cho > 0 bé tuỳ ý, chọn u0 bất kỳ.
Thực hiện các bớc sau với k = 1, 2 ...
+ Bớc 2:
Xác định hớng tìm và khoảng cách bớc tìm.
+ Bớc 3:
Tìm uk theo hớng tìm và khoảng cách bớc tìm.

+ Bớc 4:
Kiểm tra điều kiện.
Nếu || uk - uk-1 || chuyển sang bớc 5.
Nếu || uk - uk-1 || > quay về bớc 2.
+ Bớc 5:
Nghiệm tối u gần đúng là u* = uk với độ chính xác là .
3.2. Bài toán tối u có giới hạn.

Nguyễn Hoài Nam

6


Lý thuyết điều khiển nâng cao

28 November 2016
Bản chất là tìm nghiệm tối u u* gần đúng cho bài toán mà u bị giới hạn bởi
miền thích hợp U. Thuật toán tìm nghiệm từng bớc về cơ bản cũng giống nh trên,
nhng cần phải chú ý các trờng hợp sau:
+ Nếu nghiệm tối u u* không nằm trên biên của U thì gradQ = 0 vẫn là điều
kiện cần để tìm u*.
+ Nếu trong miền thích hợp U không tồn tại nghiệm u* thoả mãn điều kiện
gradQ = 0, khi đó nghiệm tối u u* nằm trên biên của U và tại điểm u* véc tơ đạo
hàm riêng gradQ phải có hớng vào trong miền U.
Thuật toán tìm nghiệm tối u u* cho bài toán tối u có giới hạn.
+ Bớc 1:
Cho > 0 bé tuỳ ý, chọn u0 bất kỳ.
Thực hiện các bớc sau với k = 1, 2 ...
+ Bớc 2:
Xác định hớng tìm và khoảng cách bớc tìm thích hợp để cho u k U .

+ Bớc 3:
Tìm uk theo hớng tìm và khoảng cách bớc tìm.
+ Bớc 4:
Kiểm tra điều kiện.
Nếu || uk - uk-1 || chuyển sang bớc 5.
Nếu || uk - uk-1 || > quay về bớc 2.
+ Bớc 5:
Nghiệm tối u gần đúng là u* = uk với độ chính xác là .

Nguyễn Hoài Nam

7


Lý thuyết điều khiển nâng cao
28 November 2016

Bài 3 Phơng pháp không dùng đạo hàm riêng
1. Đặt vấn đề.
Việc tìm u* thông qua hệ phơng trình vi phân gradQ = 0 (*) không phải là tốt
nhất cho mọi trờng hợp vì những lý do sau:
+ Hệ phơng trình (*) có thể rất phức tạp.
+ Hàm mục tiêu Q có thể tồn tại nhiều điểm cực trị tại điểm đó luôn thoả mãn
hệ phơng trình (*).
+ Không phải hàm mục tiêu nào cũng khả vi.
Chính vì những lý do này, mà cần phải có các phơng pháp tìm nghiệm tối u u*
mà không dùng véc tơ đạo hàm riêng (gradient).
2. Phơng pháp Gauss/ Seidel.
Cho mô hình hệ thống y = f(u).
Hàm mục tiêu đợc định nghĩa là Q = Q(u).

Tìm u* để cho Q đạt giá trị nhỏ nhất, tức là Q min .
Giả sử u* nghiệm tối u thoả mãn Q min , ký hiệu u* = argminQ.
Nội dung của phơng pháp Gauss/Seidel.
+ Hớng tìm đợc chọn song song với các trục toạ độ ui với i = 1, 2, ..., r. Kí hiệu
hớng tìm ở bớc thứ k là hk.
+ Khoảng cách bớc tìm ở bớc thứ k đợc ký hiệu là sk. sk đợc xác định nh sau:
s k* = arg min Q(u k + s k h k )

Thuật toán tìm nghiệm của Gauss/Seidel.
+ Bớc 1:
Cho > 0 bé tuỳ ý, chọn u0 bất kỳ.
Thực hiện các bớc sau với k = 0, 1, 2 ...
+ Bớc 2:
0
0
.
- Xác định hớng tìm hk: h k = 1 , hk là véc tơ có r hàng, chỉ có hàng thứ k + 1

.
0


có giá trị bằng 1, các hàng khác đều bằng không.

Nguyễn Hoài Nam

8


Lý thuyết điều khiển nâng cao


28 November 2016
- Xác định khoảng cách bớc tìm sk: sk đợc xác định sao cho hàm mục tiêu đạt
giá trị nhỏ nhất trên hớng tìm hk. sk* = argminQ(uk + skhk)
+ Bớc 3:
uk+1 = uk + sk*hk
+ Bớc 4: Kiểm tra điều kiện.
Nếu || uk+1 - uk || chuyển sang bớc 5.
Nếu || uk+1 - uk || > quay về bớc 2.
+ Bớc 5:
Nghiệm tối u gần đúng là u* = uk+1
Ví dụ: Cho hàm mục tiêu Q = u12 + 2u 22 3 , tìm u* để cho Q min
1
1

Bớc 1: Cho = 10 3 , chọn u 0 =
k = 0.
1

Bớc 2: Chọn h 0 =
0
1
1 1 + s 0
u 1 = u 0 + s0 h 0 = + s0 =

1
0 1

Q(u1) = (1 + s 0 ) 2 + 2 3 , ta có


Q(u 1 )
= 2(1 + s 0 ) = 0 , suy ra s0 = -1
s 0

Vậy s0* = argminQ(u1) = -1
Bớc 3:
1
1 1 + s 0 0
u 1 = u 0 + s0 h 0 = + s0 =
=
1
0 1 1

Bớc 4:
||u1 - u0|| = 1 > quay về bớc 2
k =1.
0

Bớc 2: Chọn h 0 =
1


0
0 0
u 2 = u 1 + s1 h1 = + s1 =

1
1 1 + s1

Q(u2) = 0 + 2(1 + s1 ) 2 3 , ta có


Q(u 2 )
= 4(1 + s1 ) = 0 , suy ra s1 = -1
s1

Vậy s1* = argminQ(u2) = -1
Bớc 3:

Nguyễn Hoài Nam

9


Lý thuyết điều khiển nâng cao
28 November 2016
0 0
u2 =
=
*
1 + s1 0

Bớc 4:
||u2 - u1|| = 1 > quay về bớc 2
k = 2.
Bớc 2:
1

Chọn h 2 =
0
0

1 s
u 3 = u 2 + s2 h 2 = + s2 = 2
1
0 1

Q(u3) = s 22 + 2.0 3 , ta có

Q(u 3 )
= 2 s 2 = 0 , suy ra s2 = 0
s 2

Vậy s2* = argminQ(u3) = 0
Bớc 3:
s * 0
u2 = 2 =
0 0

Bớc 4:
||u3 - u2|| = 0 < chuyển sang bớc 5
Bớc 5:
0

u* = u3 =
0
Sau hai vòng tính ta đã tìm đợc nghiệm tối u u* = u2.
u điểm của phơng pháp là: nếu hệ thống có r đầu vào, hàm mục tiêu có dạng
chính phơng thì nghiệm tối u u* sẽ đợc tìm thấy sau đúng r vòng.
3. Các phơng pháp khác.
3.1 Phơng pháp Rosenbrock.
Hệ trục toạ độ đợc xoay sau mỗi lần tìm đợc nghiệm uk từ uk-1 sao cho một

trục toạ độ của hệ mới trùng với hớng của véc tơ uk - uk-1.
Ưu điểm của phơng pháp là tốc độ hội tụ cao hơn phơng pháp Gauss/Seidel
khi hàm mục tiêu phức tạp (các đờng đồng mức không đối xứng, hàm mục tiêu
không có dạng chính phơng).
3.2 Phơng pháp đơn hình.

Nguyễn Hoài Nam

10


Lý thuyết điều khiển nâng cao

28 November 2016
Tính giá trị hàm mục tiêu tại r +1 đỉnh của một hình đa diện . Trong đó r là
số biến đầu vào của hệ thống.
Sau đó đa diện đợc lấy đối xứng với một cạnh (hoặc mặt) của nó, sao cho
đa diện mới ' thu đợc có giá trị hàm mục tiêu tại các đỉnh không lớn hơn các
giá trị của hàm mục tiêu tại các đỉnh của tơng ứng.
Phép lấy đối xứng và tính giá trị hàm mục tiêu Q sẽ đợc tiếp tục nếu đa diện
mới ' vẫn nằm trong miền thích hợp U và giá trị hàm mục tiêu Q tại các đỉnh
của ' không lớn hơn so với giá trị hàm mục tiêu Q tại các đỉnh của .
Ví dụ:
Với hệ thống có hai đầu vào r = 2, đa
u2
diện là một tam giác. Quá trình tìm
nghiệm tối u đợc minh hoạ nh hình 2.
ở đây để đơn giản ta chọn tam giác
là một tam giá vuông cân. Chiều mũi tên
là chiều tìm nghiệm tối u.

các đờng đồng mức
u1

3.3 Phơng pháp hớng tìm ngẫu nhiên. O
Hình 2
Hớng tìm ngẫu nhiên đợc lấy từ tập ngẫu nhiên có phân bố chuẩn, đều các hớng trong không gian.
uk đợc tìm theo hớng đã đợc chọn ngẫu nhiên ở bớc k.
Nếu Q(uk) < Q(uk-1) thì hớng tìm đó vẫn đợc dùng để tìm uk+1 tiếp theo, nếu
không thì chọn theo hớng ngợc lại.

Nguyễn Hoài Nam

11


Lý thuyết điều khiển nâng cao
28 November 2016

Bài 4 Phơng pháp đạo hàm riêng
1. Đặt vấn đề.
Theo phơng pháp này, hớng tìm đợc xác định theo véc tơ đạo hàm riêng của
hàm mục tiêu Q theo các biến đầu vào gradQ.
Vấn đề đặt ra là tính véc tơ đạo hàm riêng gradQ nh thế nào? Tuỳ thuộc vào
hàm mục tiêu Q đợc cho dới dạng công thức, bảng tra hay thuật toán mà ta có
phơng pháp tính gradQ khác nhau.
Khi hàm gradQ cho dới dạng công thức, tính gradQ theo phơng pháp giải tích.
Q
u
1
Q

gradQ (u k ) = u 2
:
Q


u r

lấy đạo hàm riêng theo từng biến đầu vào u i, sau đó

u = uk

thay giá trị u = uk vào.
Nếu hàm mục tiêu Q cho dới dạng bảng tra hoặc thuật toán thì có các phơng
pháp tính gradQ nh sau:
+ Phơng pháp thứ nhất:
Q
u i

=
u = uk

[

1
Q( k u1 , k u 2 ,..., k u i + u i ,..., k u r ) Q( k u1 , k u 2 ,..., k u i ,..., k u r )
u i

]

với i = 1, 2, ..., r.

+ Phơng pháp thứ hai:

Nguyễn Hoài Nam

12


Lý thuyết điều khiển nâng cao
28 November 2016
Q
u i

=
u = uk

[

1
Q( k u1 , k u 2 ,..., k u i + u i ,..., k u r ) Q( k u1 , k u 2 ,..., k u i u i ,..., k u r )
2u i

]

với i = 1, 2, ..., r.

2. Phơng pháp đạo hàm riêng theo nghĩa hẹp.
Hớng tìm có hớng ngợc lại so với hớng của véc tơ đạo hàm riêng gradQ hk = gradQ(uk).
Khoảng cách bớc tìm tỉ lệ với độ lớn của gradQ(uk). Giá trị uk+1 đợc tính theo
công thức sau: uk+1 = uk - s.gradQ(uk)
Khoảng cách bớc tìm s có ảnh hởng rất lớn đến tốc độ hội tụ của phơng pháp.

+ Nếu s nhỏ, số bớc tính lớn, số lần tính gradQ nhiều.
+ Nếu s lớn, chuỗi giá trị {uk} phân kỳ.
Vì tại điểm cực trị gradQ(u) = 0 nên phơng pháp sẽ cho một dãy {uk} hội tụ
đến một điểm cực trị. Khi Q không có điểm yên ngựa, điểm cực trị đó có thể là
cục bộ hoặc toàn cục.
Muốn tìm nghiệm tối u u* toàn cục, nên áp dụng phơng pháp cho nhiều điểm
ban đầu u0 khác nhau.
3. Phơng pháp hạ nhanh nhất.
Bản chất của phơng pháp là phơng pháp dùng véc tơ đạo hàm riêng có hớng
tìm không cố định theo gradQ từ đầu đến cuối. Hớng tìm đợc xác định nh sau: h0
= -gradQ(u0).
Khoảng cách bớc tìm đợc xác định nh sau: s 0* = arg min Q(u 0 + s 0 h 0 )
suy ra u1 = u0 + s0*h0.
Với k = 1, 2, ...
Chọn hk sao cho hkThk-1 = 0.
Chuỗi giá trị {uk*} có tốc độ hội tụ lớn khi cách xa u*, càng gần u* thì độ hội
tụ càng giảm.
Thuật toán hạ nhanh nhất.
Bớc 1:
Cho > 0 đủ bé, chọn u0 bất kỳ.
h0 = -gradQ(u0)
s 0* = arg min Q(u 0 + s 0 h 0 )

Nguyễn Hoài Nam

13


Lý thuyết điều khiển nâng cao


28 November 2016
u1 = u0 + s0*h0
Thực hiện các bớc sau với k = 1, 2, 3, ...
Bớc 2:
Tìm hớng hk sao cho: hkThk-1 = 0
Tìm sk* nh sau: sk* = argminQ(uk + skhk)
Bớc 3:
Tính uk+1 = uk + sk*hk.
Bớc 4: Kiểm tra điều kiện.
Nếu || uk+1 - uk || chuyển sang bớc 5.
Nếu || uk+1 - uk || > quay về bớc 2.
Bớc 5: Kết thúc
Nghiệm tối u gần đúng u* = uk+1 với độ chính xác là .
.

Bài 5 Phơng pháp hớng liên hợp
1. Đặt vấn đề.
1
2

Xét hàm mục tiêu có dạng chính phơng: Q = u T Au + b T u
A là ma trận đơn vị.
u = (u1 u2 . . . ur)T
b = (b1 b2 . . . br)T

Nguyễn Hoài Nam

14



Lý thuyết điều khiển nâng cao

28 November 2016
Theo phơng pháp Gauss/Seidel, u* đợc tìm thấy sau đúng r bớc. u* thoả mãn
điều kiện

Q
= 0 Au + b = 0 u * = Ab .
u

Theo phơng pháp Gauss/Seidel, các hớng tìm song song với các trục toạ độ,
xuất phát từ đây để đi tới phơng pháp hớng liên hợp.
ý tởng của phơng pháp là: hớng tìm ở vòng thứ k đợc tìm theo hớng tìm ở
vòng thứ k - 1, sao cho: hk-1Thk = 0.
Xét hàm mục tiêu bấy kỳ, trong đó ma trận A không phải là ma trận đơn vị.
Nh vậy ta phải chuyển hệ trục toạ độ để đa A về dạng ma trận đơn vị. Khi đó hớng tìm hk sẽ chuyển thành pk. Coi A là một toán tử tuyến tính biến đổi hệ trục
toạ độ, qua phép biến đổi này hk chuyển thành pk. Khi đó pk phải có tính chất
sau:
pk-1Apk = 0
Các hớng tìm pk với k = 1, 2, ...,r đợc xác định nhờ công thức sau:
T

k 1

p i Av k

i =1

pi A pi


pk = vk

T

pi

vi với i = 1, 2, ...,r là một cơ sở của không gian R r, có nghĩa là các véc tơ v1, v2,
... vr độc lập tuyến tính với nhau.
Hớng tìm ban đầu p0 có thể đợc xác định nhờ véc tơ gradQ hoặc đợc xác định
ngẫu nhiên. Dọc theo hớng tìm pk, uk đợc tìm sao cho Q(uk) đạt giá trị nhỏ nhất.
sk* = argminQ(uk-1 + skpk)
uk = uk-1 + sk*pk
2. Thuật toán hớng liên hợp.
Chọn các véc tơ cơ sở vi nh sau: vk = -gk-1 với k = 1, 2, ..., r. Trong đó gk =
gradQ(uk) = Auk + b.
pk+1 = -gk + ekpk với k = 0, 1, ..., r-1. Trong đó p0 = -g0, hệ số đổi hớng
T

ek =

p k Ag k
T

pk A pk

.

Dọc theo hớng tìm pk+1, uk+1 đợc tìm theo từ uk theo nguyên tắc hàm Q đạt giá
trị nhỏ nhất.
sk+1* = argminQ(uk + sk+1pk+1)

uk+1 = uk + sk+1*pk+1
Thuật toán.
Bớc 1:
Nguyễn Hoài Nam

15


Lý thuyết điều khiển nâng cao
28 November 2016
Chọn u0, e0 = 0.
p0 = -g0 = -(Au0 + b)
Thực hiện các bớc sau với k = 1, 2, ..., r-1.
Bớc 2:
gk = gradQ(uk) = Auk + b
T

ek =

p k Ag k
T

pk A pk

pk+1 = -gk + ekpk
sk+1* = argminQ(uk + sk+1pk+1)
Bớc 3:
uk+1 = uk + sk+1*pk+1
Bớc 4:
u* = ur

Phơng pháp hớng liên hợp có những tính chất sau:
+ giTgj = 0 với i j
+ piTgk = 0 với i k
+ Nghiệm tối u u* thoả mãn hệ phơng trình Au* + b = 0.
1
2

Phơng pháp này thích hợp cho hàm mục tiêu có dạng: Q = u T Au + b T u với A
là ma trận xác định dơng.
Khi hàm mục tiêu có dạng bất kỳ, không giống với dạng ở trên ta có thể dung
phơng pháp này để tìm u*, tuy nhiên cần phải thay đổi.
Hệ số đổi hởng đợc tính từ Q có dạng tổng quát: ek =

gk
g k 1

2
2

Nghiệm tối u tìm đợc không phải là nghiệm đúng.

Nguyễn Hoài Nam

16


Lý thuyết điều khiển nâng cao
28 November 2016

Bài 6 Phơng pháp Newton-Raphson

1. Nội dung của phơng pháp.
Phơng pháp tìm nghiệm tối u sử dụng đạo hàm bậc nhất và bậc hai của hàm
mục tiêu nên phải giả thiết hàm mục tiêu Q(u) khả vi hai lần. Để giải hệ phơng
trình

Q(u )
= 0 (*) bằng phơng pháp giải tích, trớc tiên hệ (*) đợc khai triển
u

thành chuỗi Taylor tại uk thuộc lân cận nghiệm tối u u* và là nghiệm của (*) nh
sau:
Q(u )
Q(u )
2 Q(u ) *
=
+
(u u k ) + ...+ = 0
2
uk
u u *
u u k
u

tiếp theo, bỏ qua các đạo hàm bậc cao. Khi đó u* sẽ không phải là nghiệm
đúng nữa mà chỉ là nghiệm gần đúng. Gọi nghiệm gần đúng này là là uk+1 u* ,
thay vào hệ phơng trình trên ta có:
Q(u )
2 Q( u )
+ (u k +1 u k )
=0

2
uk
u u k
u
2Q
2Q
...


2
u 1 u r
u 1
Đặt H(u) = . . .
. . . , g k = gradQ(u k ) .
2

2Q
Q
...
2
u r u 1
u r

Suy ra uk+1 = uk - H-1(uk)gk
2. Thuật toán Newton-Raphson.
Bớc 1:
Nguyễn Hoài Nam

17



Lý thuyết điều khiển nâng cao
28 November 2016
Cho > 0 đủ bé, chọn u0 bất kỳ.
Thực hiện các bớc sau với k = 0, 1, 2, ...
Bớc 2:
Tính g k = gradQ(u k ) .
Tính H(uk)
Bớc 3:
Tính uk+1 = uk - H-1(uk)gk
Bớc 4: Kiểm tra điều kiện.
Nếu || uk+1 - uk || chuyển sang bớc 5.
Nếu || uk+1 - uk || > quay về bớc 2.
Bớc 5: Kết thúc
Nghiệm tối u gần đúng u* = uk+1.
Ưu điểm:
1
2

Nếu hàm mục tiêu có dạng Q = u T Au + b T u , phơng pháp này sẽ cho đúng giá
trị u* chỉ sau đúng một vòng tính.
Ví dụ:
Cho hàm mục tiêu Q = 3u12 + 4u22 + u1u2 với = 10 3
Q
u 6u + u 2
g = gradQ(u ) = 1 = 1

Q 8u 2 + u1
u 2
2Q


u 2
H (u ) = 2 1
Q
u u
2 1
H 1 (u ) =

2Q

u1 u 2 6 1
=
2 Q 1 8
u 22

1 8 1
47 1 6

Bớc 1:
0
u0 =
1

Bớc 2:
6u + u 2
1
g0 = 1
= , H 1 (u ) = H 1 (u ) = 1 8 1

0

8u 2 + u1 0 8
47 1 6
1

Bớc 3:
Nguyễn Hoài Nam

18


Lý thuyÕt ®iÒu khiÓn n©ng cao
28 November 2016

0 1  8 − 1 1 0
u 1 = u 0 − H −1 (u 0 ) g 0 =   −
− 1 6  8 = 0
1
47
 

   

Bíc 4:
||u1 - u0|| = 1 > ε quay vÒ bíc 2
k = 1.
Bíc 2:
6u + u 2 
0
g1 =  1
=   , H −1 (u ) = H −1 (u ) = 1  8 − 1


1
8u 2 + u1   0  0
47 − 1 6 
0
 

Bíc 3:
0 1  8 − 1 0 0
u 2 = u 1 − H −1 (u 1 ) g 1 =   −

  =  
0 47 − 1 6  0 0

Bíc 4:
||u2 - u1|| = 0 < ε chuyÓn sang bíc 5
Bíc 5:
0 

NghiÖm tèi u lµ u* = u 2 =  
0 

Bµi 7 Cùc tiÓu ho¸ hµm mét biÕn
1. §Æt vÊn ®Ò.
NguyÔn Hoµi Nam

19


Lý thuyết điều khiển nâng cao


28 November 2016
Trong các phơng pháp đã học, để tìm u* ta phải tìm sk* bằng cách giải bài toán
tối u hàm mục tiêu theo một hớng đã chọn.
sk* = argminQ(uk + skhk)
Đi tìm sk*, ta đã sử dụng phơng pháp đạo hàm, tức là phải giải phơng trình:
Q
= 0.
s k

Để có thể cài đặt thành thuật toán, chúng ta sẽ sử dụng một số phơng pháp cơ
bản để tìm sk* mà không dùng đạo hàm.
Ta đã biết Q(uk + skhk) là hàm số một biến, chỉ phục thuộc vào s k, cho nên ta
chỉ xét bài toán cực tiểu hoá hàm một biến.
- Xét hàm số một biến Q(s), giả thiết hàm số Q(s) thoả mãn các điều kiện sau:
+ Q(s) đơn điệu giảm khi 0 < s < s*
+ Q(s) đơn điệu tăng khi s* < s
+ s* là nghiệm tối u.
+ Biết một điểm s = s1.
Đồ thị của hàm mục tiêu Q(s) có dạng nh hình 1.
Q(s)

O

s*

f(x)

Hình 1


s
s1

O

Chuẩn hoá hàm Q(s) với s = xs1, suy ra x =

x*

Hình 2

x
1

s
, nh vậy 0 x 1 . Khi đó hàm
s1

Q(s) = Q(xs1) = f(x), f(x) có độ thị nh hình 2.
f(x) có một điểm cực tiểu duy nhất x* trong khoảng (0 1), f(1) > f(0). [0 1] đợc
gọi là khoảng nghiệm.
Nguyên tắc tìm nghiệm x* là thu nhỏ khoảng nghiệm qua từng bớc.
Trong khoảng [0 1] chọn 2 giá trị bất kỳ x1 và x2 sao cho: 0 < x1 < x2 < 1. Xét
các trờng hợp sau:
+ Nếu f(x1) < f(x2), khoảng nghiệm mới đợc chọn là [0 x2].
+ Nếu f(x1) f(x2), khoảng nghiệm mới đợc chọn là [x1 1].

Nguyễn Hoài Nam

20



Lý thuyết điều khiển nâng cao

28 November 2016
Vấn đề còn lại là chọn x1 và x2 nh thế nào để tốc độ hội tụ là cao nhất, tức là
tốc độ tìm thấy x* nhanh nhất.
2. Phơng pháp nhát cắt vàng.
Xác định x1, x2 sao cho sau mỗi lần chia cả hai phía đều có tỉ lệ giữa khoảng
lớn và toàn bộ khoảng nghiệm bằng tỉ lệ khoảng nhỏ chia cho khoảng lớn.
Xét khoảng nghiệm bất kỳ [xmin xmax]. Gọi d là độ dài là khoảng nghiệm d =
xmax - xmin. Lấy hai điểm x1 < x2 đối xứng nhau qua điểm giữa của khoảng nghiệm
[xmin xmax].
Độ dài khoảng lớn là: x2 - xmin và xmax - x1
Độ dài khoảng nhỏ là: xmax - x2 và x1 - xmin
Ta có biểu thức sau:

x 2 x min x max x 2
=
, suy ra ( x 2 x min ) 2 = d ( x max x2 )
d
x 2 x min

Giải phơng trình trên đợc: x 2 x min = d 5 1 , đặt a = 5 1 = 0,618
2

2

Sau mỗi lần chia, khoảng nghiệm mới sẽ là [xmin x2] hoặc [x1 xmax], vì x1 và x2
đợc lấy đối xứng cho nên: x2 - xmin = xmax- x1, do đó khoảng nghiệm mới thu đợc

bao giờ cũng là ad = 0,618d. Sau n lần thu nhỏ khoảng nghiệm mới sẽ có độ
rộng là and = (0,618)nd.
Thuật toán tìm x* gần đúng theo phơng pháp nhát cắt vàng.
Bớc 1:
Gán xmin = 0; xmax = 1; > 0 đủ bé. Tính f(xmin) và f(xmax).
Chọn x2 = 0,618, tính f(x2).
Bớc 2:
Xác định x1 sao cho x1 đối xứng qua trung điểm của đoạn [xmin xmax].
Bớc 3:
Tính f(x1), f(x2)
+ Nếu f(x1) < f(x2), gán xmax = x2
+ Nếu f(x1) f(x2), gán xmin = x1
Bớc 4: Kiểm tra
Nếu |xmax -xminh| < chuyển sang bớc 5
Nếu |xmax -xminh| > quay về bớc 2
Bớc 5:
Nghiệm tối u gần đúng x* có thể đợc chọn là một điểm bất kỳ thuộc khoảng
[xmin xmax]

Nguyễn Hoài Nam

21


Lý thuyết điều khiển nâng cao

28 November 2016
3. Phơng pháp Fibonaci.
Xét dãy Fibonaci {1, 1, 2, 3, 5, 8, ..., }.
Gọi Fi là phần tử thứ i của dãy Fibonaci. Fi đợc xác định theo công thức sau:

Fi = Fi-1 + Fi-2. Trong đó, hai phần tử đầu tiên của dãy F1 và F2 đợc xác định nh
sau: F1 = F2 = 1.
Nội dung của phơng pháp Fibonaci.
ở bớc thu nhỏ khoảng nghiệm thứ k, tỉ lệ giữa khoảng nhỏ với khoảng lớn là
k =

Fn k + 2
, với n là số bớc thu nhỏ khoảng nghiệm đợc chọn từ trớc.
Fn k +3

Ta có:
Hệ số thu nhỏ khoảng nghiệm thứ nhất là: 1 =
Hệ số thu nhỏ khoảng nghiệm thứ hai là: 2 =

Fn +1
Fn + 2

Fn
Fn +1

Hệ số thu nhỏ khoảng nghiệm thứ k là: k =

Fn k + 2
Fn k +3

Hệ số thu nhỏ khoảng nghiệm thứ n là: n =

F2
F3


Sau n lần thu nhỏ khoảng nghiệm, khoảng nghiệm mới có hệ số thu nhỏ
khoảng nghiệm so khoảng nghiệm ban đầu là: = 1 2 ... n =

1
.
Fn + 2

Thuật toán tìm nghiệm x* gần đúng theo phơng pháp Fibonaci.
Bớc 1:
Gán xmin = 0; xmax = 1; > 0 đủ bé. Tính f(xmin) và f(xmax).
Tìm n thoả mãn điều kiện:

1
<
Fn +2

Thực hiện các bớc sau với k = 1, 2, 3, ..., n.
Bớc 2:
Tính k =

Fn k + 2
Fn k +3

Xác định x1, x2 thoả mãn điều kiện:
+ x1 < x2 đối xứng qua trung điểm của đoạn [xmin xmax].
+

x1 x min
= k
x max x1


Nguyễn Hoài Nam

22


Lý thuyết điều khiển nâng cao

28 November 2016
Bớc 3:
Tính f(x1), f(x2).
+ Nếu f(x1) < f(x2), gán xmax = x2
+ Nếu f(x1) f(x2), gán xmin = x1
Gán k = k + 1
Kiểm tra: k > n chuyển sang bớc 4, ngợc lại quay về bớc 2.
Bớc 4:
Nghiệm tối u gần đúng x* có thể đợc chọn là một điểm bất kỳ thuộc khoảng
[xmin xmax]

Bài 8 Bài toán tối u có giới hạn
1. Bài toán tối u có giới hạn.
Cho mô hình hệ thống có dạng nh sau: y = f(u) với u U
u = (u1 u2 . . . ur)T
các đầu vào
y = (y1 y2 . . . ym)T
các đầu ra
U là miền thích hợp của các biến đầu vào, đợc định nghĩa nh sau:

{


U = u = (u1 , u 2 ..., u ủ ) T u k min u k u k max ; k = 1 ữ r

}

Thực chất của bài toán tối u có giới hạn là tìm nghiệm tối u u* trong điều kiện
u bị giới hạn bởi miền thích hợp U.
2. Phơng pháp đổi biến độc lập.
Sử dụng các phơng pháp tìm nghiệm tối u u* của bài toán không có giới hạn U
bằng cách dùng phép chuyển vị u = (v). Phép chuyển vị có thể là phi tuyến,
thoả mãn điều kiện: v R r thì u U
Khi đó bài toán tìm:
*

u = arg min Q(u ) min
u U

thành bài toán tìm:
*

v = arg min Q(v ) min
v R r

Nguyễn Hoài Nam

23


Lý thuyết điều khiển nâng cao
28 November 2016
Sau khi tìm đợc v*, ta sẽ tìm đợc u* = (v*).


Tuỳ theo miền giới hạn U mà ta có thể chọn một trong các phơng pháp chuyển
vị sau:
+ u k 0 : Thay u k = vk2
+ u k a : Thay u k =

2v k
a
1 + v k2
1
2

+ u k min u k u k max : Thay u k = (u k max + u k min ) +
+ u k min < u k < u k max : Thay v k = ln

vk
(u k max u k min )
1 + v k2

u k u k min
u k max u k

3. Phơng pháp sử dụng hàm phạt và hàm chặn.
3.1 Hàm phạt.
Trong quá trình tìm từng bớc nghiệm tối u, hàm phạt có đợc sử dụng để thông
báo rằng tại thời điểm hiện tại, giá trị uk đã ra ngoài miền U.
Việc thông báo của hàm phạt thờng là bằng những giá trị rất lớn (một cách
không bình thờng) tại những điểm gần biên, bên trong hoặc bên ngoài.
Cho hàm mục tiêu Q(u). Tìm


*

u = arg min Q(u ) min
.
u U

Thay Q(u) = Q(u) + S(u), với điều kiện:
S(u) = 0 nếu u U
S(u) > 0 nếu u U
là một số dơng đủ lớn.

áp dụng các phơng pháp giải bài toán tối u không ràng buộc để tìm nghiệm
*
u ( ) = arg min Q(u , ) min , nghiệm tối u u* đợc tìm theo công thức sau:

u = lim u ( )
*

*



3.2 Hàm chặn.
Trong quá trình tìm từng bớc nghiệm tối u, hàm chặn đợc sử dụng để ngăn cản
việc giá trị uk hiện tại có thể sẽ vợt ra ngoài miền U. Việc ngăn cản của hàm

Nguyễn Hoài Nam

24



Lý thuyết điều khiển nâng cao

28 November 2016
chặn thờng là bằng những giá trị rất lớn (một cách không bình thờng) tại những
điểm gần biên, bên trong hoặc bên ngoài
Thay Q(u) = Q(u) + S(u), với điều kiện:
S(u) = 0 nếu u cách xa biên.
S(u) = + nếu u ở gần biên.
là một số dơng đủ lớn.
áp dụng các phơng pháp giải bài toán tối u không ràng buộc để tìm nghiệm
*
u ( ) = arg min Q(u , ) min , nghiệm tối u u* đợc tìm theo công thức sau:

u = lim u ( )
*

*



Tài liệu tham khảo
Nguyễn Hoài Nam

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×