Chương 1 PHƯƠNG PHÁP NELDER – MEAD CỰC TIỂU HÀM NHIỀU BIẾN Trong chương này trình bày thuật toán Nelder – Mead trong không gian hai chiều và thuật toán Nelder – Mead trong không gian nhiều chiều, thuật toán Nelder – Mead với các biến bị chặn. Nội dung của chương dựa chủ yếu trên tài liệu [1], [2], [3],[4] và [7]. Vào năm 1965 hai nhà thống kê người Anh làm việc tại Trung tâm Nghiên cứu Thực vật Quốc gia đã phát minh ra phương pháp tìm kiếm trực tiếp theo đơn hình Nelder – Mead. Phương pháp này càng nổi bật lên khi người ta đặc biệt quan tâm tới lời giải số của các bài toán tối ưu phi tuyến phức tạp trong thực tế.
Vì việc nhận được đạo hàm bậc nhất của ( ) cần tối ưu thường là không làm được, nên ưa thích nhất của đa số những người làm thực tế là phương pháp tìm trực tiếp mà chỉ cần giá trị của hàm ( ). Phương pháp mới Nelder – Mead đã đáp ứng điều đó. Từ đó phương pháp Nelder – Mead được xem như là một trong những phương pháp được trích dẫn và được dùng nhiều nhất để cực tiểu hàm phi tuyến không ràng buộc. Để hiểu rõ tư tưởng của thuật toán ta hãy mô tả thuật toán trong không gian và sau đó trình bày thuật toán trong không gian.
Mô tả thuật toán Nelder – Mead trong không gian Khởi tạo tam giác BGW Giả sử ( , ) là hàm số lồi chặt cần cực tiểu. Khởi đầu cho ba đỉnh của tam giác. Sau đó tính giá trị của hàm tại ba đỉnh 6 Một số phương pháp Tối ưu không dùng Đạo hàm này là: = ( , ) với = 1, 2, 3. Sắp xếp giá trị hàm theo thứ tự tăng dần: ≤ ≤.
Tính điểm giữa của cạnh tốt Quá trình tính toán dùng điểm giữa của đoạn thẳng nối B và G : + + + = = , (2) 2 2 2 Phép phản xạ dùng điểm R Hàm ( , ) giảm khi ta đi dọc theo cạnh của tam giác từ W tới B và cũng giảm khi đi dọc theo cạnh từ W tới G. Do đó hàm ( , ) sẽ nhận giá trị nhỏ hơn về phía đoạn BG khi xuất phát từ W. Để xác định R trước tiên tìm điểm giữa M của cạnh BG. Vẽ đoạn thẳng từ W tới M , gọi độ dài của nó là d.
Kéo dài đoạn thẳng này một đoạn bằng d nữa qua M ta được điểm R. Công thức véc tơ của điểm R là: = +( − )=2 −. Tam giác ∆ BGW, trung điểm M và điểm phản xạ R. Phép dãn dùng điểm E 7 Một số phương pháp Tối ưu không dùng Đạo hàm Nếu giá trị của hàm tại điểm R nhỏ hơn giá trị của hàm tại điểm W thì ta đã chuyển theo hướng tốt để cực tiểu hàm.
Tất nhiên điểm cực tiểu của chưa chắc là điểm R. Ta sẽ đi tiếp theo đoạn thẳng MR tới một điểm E. Điều đó tạo nên tam giác BGE. Điểm E được tìm bằng cách đi tiếp một khoảng d bổ sung dọc theo đường nối M và R.
Tam giác ∆ BGW, điểm R và điểm dãn E. Nếu giá trị của hàm tại E nhỏ hơn giá trị của hàm tại R thì ta đã tìm được một đỉnh tốt hơn R. Công thức véc tơ tính điểm E là: = + – =2 −. (4) Phép co dùng điểm C Nếu giá trị của hàm tại điểm R và W là như nhau, ta cần kiểm tra điểm khác.
Xét hai điểm giữa và của và tương ứng. Gọi C là điểm có giá trị hàm nhỏ hơn trong hai điểm và , tam giác mới sẽ chọn là BGC. 8 Một số phương pháp Tối ưu không dùng Đạo hàm B C 2 R C 1 W M G Hình 3. Điểm co hoặc của phương pháp Nelder – Mead.
Thu hẹp đơn hình lại về B Nếu giá trị hàm tại C không nhỏ hơn giá trị hàm tại W thì các điểm G và W cần phải co lại về B. Điểm G thay bởi M, W thay bởi điểm S là điểm giữa của. Thu hẹp tam giác ∆ BGW về điểm B. Mô tả logic của mỗi bước lặp Thuật toán tính toán hữu hiệu sẽ chỉ tính giá trị của hàm tại các điểm cần thiết.
Tại mỗi bước lặp một điểm mới được tìm để thay thế cho W. Khi W được thay thế thì nó không cần xét tiếp, bước lặp cũng kết thúc. Mô tả logic cuả thuật toán trong trường hợp 2 chiều [4], cho trong đoạn giả trình sau: 9 Một số phương pháp Tối ưu không dùng Đạo hàm IF ( ) < ( ) THEN BEGIN {Trường hợp 1 : Phản xạ hoặc giãn} IF ( ) < ( ) THEN ← ELSE Tính E và ( ) IF ( ) < ( ) THEN ← ELSE ← ENDIF ENDIF END ELSE BEGIN {Trường hợp 2: Co hoặc thu hẹp} IF ( ) < ( ) THEN ← Tính = hay = và ( ) IF ( ) < ( ) THEN ← ELSE Tính và ( ) ← ← ENDIF END Ví dụ. Tìm cực tiểu hàm, [4] : ( , )= −4 + − −.
Xuất phát từ ba đỉnh = (0, 0), = (1. Giá trị hàm tại 3 đỉnh tương ứng là : (0, 0) = 0. Với các kí hiệu dùng trong thuật toán thì = (1. Điểm W sẽ bị thay.
Tọa độ điểm M và R là : + = = (0.8) Giá trị của hàm ( ) = (1.48 là nhỏ hơn ( ) , trường hợp 1 xảy ra. Vì ( ) ≤ ( ) nên chúng ta di chuyển theo hướng đúng và véc tơ E được xây dựng theo công thức: =2 − = 2(1. 10 Một số phương pháp Tối ưu không dùng Đạo hàm Giá trị của hàm ( ) = (1.88 là nhỏ hơn ( ) và tam giác mới có các đỉnh: = (1. Quá trình tiếp tục và sinh ra một dãy các tam giác hội tụ tới điểm lời giải (3, 2).
Dãy các tam giác { }, = 1,2,3 … hội tụ tới điểm (3,2) theo phương pháp Nelder – Mead. 11 Một số phương pháp Tối ưu không dùng Đạo hàm Bảng 1 cho các giá trị của hàm tại các đỉnh của tam giác đối với một số bước lặp đầu tiên của quá trình lặp. Đến bước lặp thứ 33 thì được đỉnh tốt nhất là = (2. Các giá trị này là xấp xỉ với (3,2) = − 7.
Giá trị hàm tại các đỉnh của tam giác trong bài toán. K Điểm tốt nhất Điểm tốt Điểm xấu nhất 1 f 1. Mô tả thuật toán Nelder – Mead trong không gian Thuật toán Nelder – Mead dùng để cực tiểu hàm số thực ( ) với ∈. Trình bày của thuật toán dựa trên tài liệu [2].
Có 4 tham số cần xác định trong thuật toán Nelder – Mead: hệ số phản xạ , hệ số dãn , hệ số co và hệ số thu hẹp. Theo bài báo gốc của Nelder – Mead [1] các tham số này cần thỏa mãn: > 0, > 1, > , 0< < 1 và 0 < < 1. (5) 12 Một số phương pháp Tối ưu không dùng Đạo hàm Cách chọn phổ biến nhất được dùng trong thuật toán Nelder – Mead chuẩn là: = 1, = 2, = và = (6) Các giá trị tham số này làm cho phương pháp trở nên hiệu quả, ngay cả khi làm việc trong những tình huống phức tạp. Phát biểu chung của thuật toán Lúc bắt đầu bước lặp thứ ( ≥ 0) ta có đơn hình không suy biến ∆ với + 1 đỉnh, mỗi một đỉnh là một điểm trong không gian.
Ta luôn luôn có thể giả thiết rằng bước lặp thứ bắt đầu bằng việc sắp xếp và đánh nhãn các đỉnh này là , ,…, sao cho: ( ) ( ) ( ) ≤ ≤⋯≤ (7) ( ) trong đó kí hiệu cho ( ). Bước lặp thứ sinh ra một tập + 1 đỉnh xác định một đơn hình mới ∆ ≠ ∆. Vì ta cần tính cực tiểu của hàm nên ta coi là điểm tốt nhất, là đỉnh xấu nhất, là điểm gần xấu nhất. ( ) Tương tự ta coi là giá trị hàm xấu nhất.
Kết quả của mỗi bước lặp là hoặc (1) tìm được một đỉnh mới thay thế trong tập hợp các đỉnh trong bước lặp tiếp, hoặc (2) nếu thực hiện việc thu hẹp thì một tập U đỉnh mới cùng với tạo nên đơn hình mới cho bước lặp tiếp theo. Mô tả một bước lặp của thuật toán Nelder – Mead Bước 1. Sắp xếp Sắp xếp n+1 đỉnh thỏa mãn: ( )≤ ( )≤⋯≤ ( ). Phép phản xạ Dịch chuyển đơn hình từ điểm.
Tính điểm phản xạ theo công thức: 13 Một số phương pháp Tối ưu không dùng Đạo hàm = ̅+ ( ̅− ) = (1 + ) ̅ − (8) ∑ trong đó: ̅= là trọng tâm của n điểm tốt nhất (tất cả các đỉnh trừ đỉnh ). Tính giá trị = ( ). Điểm là điểm đối xứng với qua ̅. Nếu ≤ < thì chấp nhận điểm phản xạ và kết thúc bước lặp.
Phép dãn Trường hợp < , tức là là điểm tốt hơn n đỉnh của đơn hình. Khi đó hướng đi từ ̅ tới là hướng thuận tiện nhất để di chuyển. Vì vậy ta tiến hành dãn theo hướng từ ̅ tới để được điểm : = + ( − ) = + ( − ) = (1 + ) − , và tính giá trị = ( ). Nếu < thì ta chấp nhận và kết thúc bước lặp, trái lại (nếu ≥ ) thì ta chấp nhận và kết thúc bước lặp.
Phép co Nếu ≥ thì ta tiến hành phép co. a) Co bên ngoài Nếu ≤ < ( tức là tốt hơn thực sự ) ta thực hiện phép co ở ngoài đơn hình bằng cách tính: = + ( − ) = + ( − ) = (1 + ) − , 14 Một số phương pháp Tối ưu không dùng Đạo hàm và tính giá trị = ( ). Nếu ≤ ta chấp nhận và kết thúc bước lặp, trái lại chuyển sang bước 5 (thực hiện phép thu hẹp đơn hình). b) Co bên trong đơn hình Nếu ≥ ta tiến hành co vào bên trong đơn hình bằng cách tính: = − ( ̅− ) = (1 − ) + , và tính = ( ).
Nếu < thì chấp nhận và kết thúc bước lặp, trái lại sang bước 5. Thực hiện thu hẹp đơn hình Tính hàm tại n điểm = + − , = 2, … , + 1. Các đỉnh chưa được sắp xếp của đơn hình trong bước lặp tiếp theo bao gồm , , ,…,. Phép phản xạ.
15 Một số phương pháp Tối ưu không dùng Đạo hàm Hình 6b. Phép co ngoài.Phép co trong. 16 Một số phương pháp Tối ưu không dùng Đạo hàm Hình 6e.