20
Tối ưu hóa (6) TS. Đỗ Đức Đông [email protected] 1

Tối ưu hóa

Embed Size (px)

Citation preview

Tối ưu hóa (6)

TS. Đỗ Đức Đông

[email protected]

1

Các cách tiếp cậnTối ưu liên tục

• Quy hoạch tuyến tính

• Quy hoạch phi tuyến

+ Tìm kiếm địa phương

- Phương pháp gradient ….

+ Tối ưu toàn cục

- Quy hoạch lồi, hiệu lồi

- Tìm kiếm ngẫu nhiên (Monter-Carlo)

- GA (Genetic Algorithms)

…2

Tối ưu tổ hợp

• Các phương pháp truyền thống

Chứng minh hội tụ hoặc tỷ lệ tối ưu

• Các phương pháp dựa trên thực nghiệm

+ Heuristic kiến trúc (constructive heuristic )

+ Tìm kiếm địa phương (local search)

+ Metaheurisics:

- GA (Genetic Algorithms)

- ACO (Ant Colony Optimization)

- Memetic algorithm

Bài toán tối ưu phi tuyến tổng quát dạng chính tắc (1)

Hàm mục tiêu f(x) hoặc ít nhất một trong các hàm ràng buộc gj(x), j=1,2,…,m là phi tuyến

Ký hiệu D thuộc Rn là miền ràng buộc (miền phương án khả thi) xác địnhbởi ràng buộc (i) và (ii), viết gọn lại: f(x)Max(Min), với x thuộc D. NếuD=Rn thì bài là BTQHPT không ràng buộc.

3

Bài toán tối ưu phi tuyến tổng quát dạng chính tắc (2)

Xét bài toán Max f(x)

• Điểm x* ∈ Rn được gọi là điểm tối ưu toàn cục (hay phương án tối ưu toàn cục) nếu x* ∈ D và f(x*) ≥ f(x), ∀x ∈ D.

• Điểm x* ∈ Rn được gọi là điểm tối ưu địa phương(hay phương án tối ưuđịa phương) nếu x* ∈ D và f(x*) ≥ f(x), ∀x ∈ Nε ∩ D với Nε là một lân cậnđủ nhỏ của điểm x .

• Có nhiều phương pháp giải các lớp BTQHPT, nhưng chưa có phương pháp nào tỏ ra hữu hiệu cho mọi BTQHPT, phân ra thành hai lớp: phương pháp tất định và phương pháp Heuristic

• Phương pháp tất định sử dụng các tính chất giải tích của hàm mục tiêu và các hàm ràng buộc.

• Phương pháp Heuristic có thể áp dụng để giải các bài toán tối ưu toàn cục dạng bất kỳ, không đòi hỏi các tính chất đặc biệt của hàm mục tiêu hay các hàm ràng buộc phương án “gần” tối ưu. 4

Cực trị không điều kiệnCực trị hàm 2 biến z=f(x,y)

Xét hàm f(x,y) xác định trong miền D và điểm M0(x0, y0) thuộc D

• Ta nói M0(x0, y0) là cực tiểu (hoặc cực đại) nếu tồn tại lân cận B(M0, 휀) của M0 sao cho: 𝑓(𝑥0, 𝑦0) ≤ 𝑓(𝑥, 𝑦) ∀ 𝑥, 𝑦 ∈ B(M0, 휀)

( Cực đại 𝑓 𝑥0, 𝑦0 ≥ 𝑓(𝑥, 𝑦) ∀ 𝑥, 𝑦 ∈ B(M0, 휀) )

• Hàm số z=f(x,y) đạt cực tiểu (cực đại) tại M0(x0, y0) nếu:Δ𝑓 𝑥0, 𝑦0 = 𝑓 𝑥0 + Δ𝑥, 𝑦0 + Δ𝑦 − 𝑓 𝑥0, 𝑦0 ≥ 0 ≤ 0 ∀Δ𝑥, Δ𝑦

• Nếu Δ𝑓 𝑥0, 𝑦0 đổi dấu khi Δ𝑥, Δ𝑦 thay đổi thì hàm số không đạt cựctrị tại M0(x0, y0).

5

Cực trị không điều kiệnCực trị hàm 2 biến z=f(x,y)

Ví dụ, xét hàm số z=x3 + y3 có đạt cực trị tại M(0,0) hay không?

Xét N(0 + Δ𝑥, 0 + Δ𝑦) là một điểm trong lân cận M(0,0), ta có:Δ𝑓 0,0 = 𝑓 Δ𝑥, Δ𝑦 − 𝑓 0,0 = Δ𝑥 3 + Δ𝑦 3

Với Δ𝑥 > 0, Δ𝑦 > 0 thì Δ𝑓 0,0 > 0

Với Δ𝑥 < 0, Δ𝑦 < 0 thì Δ𝑓 0,0 < 0

Vậy Δ𝑓 0,0 thay đổi dấu nên hàm f không đạt cực trị tại điểm M(0,0).

6

Cực trị không điều kiệnCực trị hàm 2 biến z=f(x,y)

Điều kiện cần

Nếu hàm f(x,y) đạt cực trị địa phương tại M0(x0, y0) và nếu f có đạo hàm riêng tại M0 thì:𝜕𝑓

𝜕𝑥𝑥0, 𝑦0 =

𝜕𝑓

𝜕𝑦𝑥0, 𝑦0 = 0

Điều kiện đủ

Giả sử z=f(x,y) có đạo hàm riêng cấp hai liên tục trong lân cận điểm dừng M0(x0, y0), đặt

𝐴 =𝜕2𝑓

𝜕𝑥2 𝑥0, 𝑦0 ; 𝐵 =𝜕2𝑓

𝜕𝑥𝜕𝑦𝑥0, 𝑦0 ; 𝐶 =

𝜕2𝑓

𝜕𝑦2 𝑥0, 𝑦0 ;

• Nếu 𝐴𝐶 − 𝐵2 > 0 và A>0 (hay C>0) thì f đạt cực tiểu tại M0

• Nếu 𝐴𝐶 − 𝐵2 > 0 và A<0 (hay C<0) thì f đạt cực đại tại M0

• Nếu 𝐴𝐶 − 𝐵2 < 0 thì f không đạt cực trị tại M0

7

Cực trị không điều kiện

• Xét bài toán cực trị hàm nhiều biến: Max(min) {f(x)/x=(x1, x2,…, xn) ∈ Rn} vớigiả thiết f có các đạo hàm riêng cấp một và cấp hai liên tục.

• Ký hiệu 𝐻𝑘 𝑥 = |𝜕2𝑓(𝑥)

𝜕𝑥𝑖𝜕𝑥𝑗| với 𝑖 ≤ 𝑘; 𝑗 ≤ 𝑘 là định thức của ma trận các đạo

hàm riêng cấp hai của f tại x theo k biến đầu tiên.

• Nếu x là cực trị của bài toán thì𝜕𝑓 𝑥

𝜕𝑥𝑖= 0 ∀𝑖 ≤ 𝑛 (các điểm thỏa mãn điều

kiện này gọi là điểm dừng). Điều kiện đủ để một điểm dừng là điểm cực trịđịa phương như sau: Giả sử 𝑥∗ là điểm dừng của f và 𝐻𝑘 𝑥∗ ≠ 0 với mọi 𝑘 ≤𝑛 thì:

1) 𝑥∗ là điểm cực tiểu của 𝑓 nếu 𝐻𝑘 𝑥∗ > 0 với mọi 𝑘 ≤ 𝑛2) 𝑥∗ là điểm cực đại của 𝑓 nếu 𝑠𝑖𝑔𝑛(𝐻𝑘 𝑥∗) = −1 𝑘 với mọi 𝑘 ≤ 𝑛3) Nếu không thỏa mãn 1) và 2) thì 𝑥∗ không phải là điểm cực trị (điểm yên ngựa)

8

Cực trị không điều kiệnVí dụ 1

9

Cực trị không điều kiệnVí dụ 2

10

Tìm cực trị của hàm số𝑧 = 𝑥3 + 𝑦3 − 3𝑥𝑦

Cực trị có điều kiện (1)

Xét bài toán tìm cực trị hàm nhiều biến:

𝑀𝑎𝑥(min) {𝑓 𝑥 𝑥 = 𝑥1, 𝑥2, … , 𝑥𝑛 ∈ 𝑅𝑛 với điều kiện 𝑔𝑖 𝑥 = 0.

Trong đó 𝑓, 𝑔𝑖 là các hàm có đạo hàm riêng cấp một và cấp hai liên tục, ta thiết lậphàm Lagrange của bài toán:

𝐿 𝑥1, 𝑥2, … , 𝑥𝑛, 𝜆1, 𝜆2, … , 𝜆𝑛 = 𝑓 𝑥 + 𝑖=1𝑛 𝜆𝑖𝑔𝑖(𝑥)

Các thừa số 𝜆1, 𝜆2, … , 𝜆𝑛 được gọi là nhân tử Lagrange.

Điều kiện cần với điểm cực trị địa phương:

Nếu 𝑥∗ là điểm cực trị địa phương của hàm f thì tồn tại 𝜆 = (𝜆1, 𝜆2, … , 𝜆𝑛) để(𝑥∗, 𝜆) là điểm dừng của hàm Lagrange.

Chú ý rằng: 𝜕𝐿 𝑥,𝜆

𝜕𝜆𝑖= 𝑔𝑖 𝑥 nên để (𝑥∗, 𝜆) là điểm dừng của hàm Lagrange là tồn tại

𝜆 sao cho 𝑥∗ thỏa mãn 𝑔𝑖 𝑥 = 0 và 𝜕𝐿 𝑥,𝜆

𝜕𝑥𝑖= 0.

11

Cực trị có điều kiện (2)

Khi f là hàm lồi hay lõm và gi là các hàm tuyến tính thi ta có các cực trịtoàn cục. Giả sử (x,) là điểm dừng của hàm Lagrange và gi là các hàmtuyến tính với mọi i= 1,..,m thì các kết luận sau đúng:

• x là điểm cực tiểu toàn cục nếu f là hàm lồi.

• x là điểm cực đại toàn cục nếu f là hàm lõm.

12

Phương pháp Gradient (đường dốc nhất)

Phương pháp Gradient là phương pháp phổ thông, đơn giản và dễ ứng dụnggiải bài toán phi tuyến tính không ràng buộc.Xét bài toán cực trị không điều kiện: min 𝑓 𝑥 𝑥 ∈ 𝑅𝑛

𝑑 là vector hướng giảm của hàm 𝑓 tại 𝑥 nếu ∃𝛿 > 0 sao cho 𝑓 𝑥 + 𝜆𝑑 <𝑓 𝑥 , ∀𝜆 ∈ (0, 𝛿)Bước 1: Chon trước 𝛼 > 0 và 휀 (0 < 휀 < 1), lấy xấp xỉ ban đầu 𝑥0 ∈ 𝑅𝑛 tùy ýBước 2: Xây dựng dãy 𝑥𝑘 ∈ 𝑅𝑛; 𝑘 = 1,2, … ,

𝑥𝑘+1 = 𝑥𝑘 − 𝛼𝑘𝑓′ 𝑥𝑘 với 𝛼𝑘 > 0

Trong đó 𝛼𝑘 được chọn như sau: Nếu 𝑓 𝑥𝑘 − 𝛼𝑓′ 𝑥 < 𝑓 𝑥𝑘 − 휀 𝑓′ 𝑥𝑘2

thì 𝑎𝑘 = 𝑎, ngược lại giảm 𝛼 (chẳng hạn nhân 𝛼 với 𝜆 ∈ (0,1)), lặp cho tới khithỏa mãn.Thuật toán kết thúc khi 𝑓′ 𝑥𝑘

2 đủ bé.

13

Phương pháp Gradient (đường dốc nhất)

14

min f x = x12 + 25x2

2

Chọn 𝑥0 =0.50.5

, 𝛼 = 0.01

𝑓′ 𝑥 =2𝑥150𝑥2

; 𝑓′ 𝑥0 =125

𝑥1 = 𝑥0 − 𝛼𝑓′ 𝑥0 =0.50.5

− 0.01125

=0.490.25

;

Phương pháp Gradient (đường dốc nhất)

15

Nhận xét: Phương pháp phụ thuộcvào tốc độ học 𝛼. Nếu chọn 𝛼 nhỏ𝑓′(𝑥) gần như trực giao với đườngmức 𝑓(𝑥), thuật toán hội tụ chậmnhưng khi đến gần điểm cực tiểu thìkhông dao động.

Phương pháp monte-carlo (1)

Bài toán quy hoạch mà hàm mục tiêu phức tạp, không cho được dưới dạnghiển trên một miền giới nội D nào đó thì các phương pháp đã nêu khôngdùng được. Khi đó phương pháp monte-carlo là một phương pháp có hiệuquả.

max 𝑓 𝑥 𝑥 ∈ 𝐷 ; 𝐷 ∈ 𝑅𝑛

Trong đó 𝑓 là hàm liên tục, 𝐷 là miền giới nội trong 𝑅𝑛: 𝐷 ⊂ 𝑖=1𝑛 [𝑎𝑖 , 𝑏𝑖]

16

Phương pháp monte-carlo (2)

Tạo một tập đủ lớn 𝑁 véc tơ ngẫu nhiên có phân bố đều trên 𝐷 và chọn véc tơ cóhàm mục tiêu lớn nhất để làm lời giải gần đúng. Với số bước lặp 𝑁 cho trước, thuật toán thực hiện như sau.

• Bước 1. Khởi tạo 𝑗 = 0 ; 𝑓 = 𝑚 đủ nhỏ.

• Bước 2. Với mỗi 𝑖 = 1, . . , 𝑛 tạo số ngẫu nhiên 𝑟𝑖[0,1], tính 𝑦𝑖 = 𝑎𝑖 +𝑟𝑖 𝑏𝑖 − 𝑎𝑖

và xác định 𝑦 = (𝑦1, … , 𝑦𝑛).

• Bước 3. Kiểm tra nếu 𝑦 thuộc 𝐷 thì tăng j:=j+1 và sang bước 4, nếu khôngthuộc 𝐷 thì trở lại bước 2.

• Bước 4. Tính 𝑓(𝑦), nếu 𝑓(𝑦) > 𝑓 thì gán 𝑥 = 𝑦 và 𝑓 = 𝑓(𝑦)

• Bước 5. Kiểm tra điều kiện kết thúc 𝑗 = 𝑁, nếu đúng thi in kết quả 𝑥 và 𝑓 tươngứng, chưa đúng thì trở lại bước 2.

17

Phương pháp monte-carlo (3)

• Nếu ta chạy lại thuật toán thì giá tri khởi tạo của f có thể lấy kết quả củalần chạy trước .

• Điều kiện kết thúc có thể thay việc đếm số lần lặp bởi điều kiện khác.

• Kết quả của mỗi lần chạy không giống nhau.

• Sự hội tụ. Người ta chứng minh được khi N dần ra vô hạn thì f hội tụ theoxác suất tới giá trị tối ưu nhưng không co đánh giá sai số cụ thể.

18

Tối ưu đa mục tiêu (1)

Bài toán tối ưu đa mục tiêu tổng quát có thể xét dưới dạng sau

Cực đại hoá các hàm 𝑓𝑖 → max(𝑖 = 1,2, … , 𝑘) với 𝑥 ∈ 𝑋 ⊂ 𝑅𝑛

Nói chung không có lời giải đồng thời đạt cực đại của cả 𝑘 hàm 𝑓𝑖. Lờigiải của nó được tìm theo nghĩa tối ưu pareto như sau: Điểm x* X gọilà tối ưu pareto của bài toán đa mục tiêu trên tập X nếu không tồn tạiđiểm y X sao cho có ít nhất i k mà

𝑓𝑖 𝑦 > 𝑓𝑖(𝑥∗)

và 𝑓𝑖 𝑦 ≥ 𝑓𝑖(𝑥∗) với ∀𝑗 ≠ 𝑖

19

Tối ưu đa mục tiêu (2)

Cách 1: Đưa các mục tiêu thứ yếu vào điều kiện buộc

Theo cách này, ta chọn hàm mục tiêu fj mà ta cho là quan trọng nhất vàxét bài toán 𝑓𝑗 𝑥 → 𝑚𝑎𝑥

với các điều kiện 𝑓𝑖 𝑥 ≥ 𝑐, ∀𝑖 ≠ 𝑗

𝑥 ∈ 𝑋Cách 2: Chọn trọng số ưu tiên

Chọn 𝑝1, 𝑝2, … , 𝑝𝑘 tương ứng với 𝑘 hàm mục tiêu sao cho 𝑝𝑖 > 0 và 𝑝1 + 𝑝2 +⋯+ 𝑝𝑘 = 1 (độ lớn của i phụ thuộc vào mức độ quantrọng của hàm mục tiêu fi )

Đi giải bài toán

20

Xxxfk

i

ii

1

max