Các phương pháp tối ưu không dựa trên đạo hàm
Trang 1CÁC PHƯƠNG PHÁP TỐI ƯU KHÔNG DỰA TRÊN ĐẠO HÀM
GVHD: THẦY LÊ HOÀI BẮC
Trang 2NỘI DUNG CHÍNH
ĐỊNH NGHĨA TỐI ƯU KHÔNG ĐẠO HÀM
Tối ưu không đạo hàm (Derivative-free Optimization) là gì?
Ứng dụng của tối ưu không đạo hàm
Bốn phương pháp tối ưu không đạo hàm phổ biến
Các đặc điểm chung của 4 phương pháp này
CÁC PHƯƠNG PHÁP TỐI ƯU KHÔNG ĐẠO HÀM
Giải thuật di truyền (GA)
Phương pháp luyện thép (Simulated Annealing – SA)
Tìm kiếm ngẫu nhiên
Tìm kiếm xuống đồi đơn hình (Downhill simplex search)
Trang 31 ĐỊNH NGHĨA TỐI ƯU KHÔNG ĐẠO HÀM
Nội dung chính:
Tối ưu không đạo hàm (Derivative-free
Optimization) là gì?
Ứng dụng của tối ưu không đạo hàm
Bốn phương pháp tối ưu không đạo hàm phổ biến
Các đặc điểm chung của 4 phương pháp này
Trang 4Tối ưu không đạo hàm (Derivative-free Optimization) là gì?
Không có thông tin về đạo hàm của hàm mục tiêu:
Không thể tính đạo hàm của hàm mục tiêu.
Thời gian tính toán quá dài.
Trang 5Ứng dụng của tối ưu không đạo hàm
Trang 6Bốn phương pháp tối ưu không đạo hàm phổ biến
Giải thuật di truyền (Genetic Algorithm)
Phương pháp luyện thép (Simulated Annealing – SA)
Tìm kiếm ngẫu nhiên
Tìm kiếm xuống đồi đơn hình (Downhill
simplex search)
Trang 7Các đặc điểm chung của 4 phương pháp này
Không có đạo hàm (derivative freeness)
Tùy theo trực giác (intuitive guideline)
Trang 82 CÁC PHƯƠNG PHÁP TỐI ƯU KHÔNG ĐẠO HÀM
Nội dung chính:
Giải thuật di truyền (GA)
Phương pháp luyện thép (Simulated Annealing – SA)
Tìm kiếm ngẫu nhiên
Tìm kiếm xuống đồi đơn hình (Downhill
simplex search)
Trang 9Giải thuật di truyền (GA)
Được đề xuất bởi John Holland trường đại học Michigan vào năm 1975
Dựa trên học thuyết tiến hóa của Darwin
GA nhanh chóng vượt ra khỏi môi trường học thuật và có nhiều ứng dụng to lớn trong thực tế
Trang 11Thuật giải
Trang 12Phương pháp luyện thép (Simulated Annealing – SA)
Đề xuất bởi Scott Kirkpatrick, C Daniel
Gelatt and Mario P Vecchi in 1983
Dựa trên mô phỏng quá trình luyện kim
Trang 13Annealing schedule
Nhiệt độ giảm nhanh Nhiệt độ giảm chậm
Trang 14Hàm sinh-generating function
Hàm sinh g(.,.) là một hàm mật độ xác suất
về sự sai khác giữa điểm hiện tại và điềm kế tiếp Đặc biệt là, Δx(=xx(=xnew -x) là giá trị ngẫu nhiên với giá trị hàm xác suất g(Δx(=xx,T), trong
đó T là nhiệt độ g(.,.) thường là một hàm độc lập nhiệt độ T
Trang 16schedule là giảm nhiệt độ T bởi một lượng
phần trăm chắc chắn cho mỗi vòng lặp
Trang 17Thuật toán
Bước 1: Chọn 1 điểm bắt đầu và gắn nhiệt độ cao ban
đầu T Gắn biến đếm bằng k:=1
Bước 2: Ước lượng hàm mục tiêu: E:=f(x)
Bước 3: Chọn Δx(=xx với xác suất được quyết định bới
hàm sinh g(Δx(=xx,T)
x new :=x+ΔxΔx(=xx
Bước 4: Tính Enew: =f(xnew)
Bước 5: Gắn x:=xnew và E:=Enew với xác suất quyết
định bởi hàm chấp nhận h(Δx(=xE,T), trong đó Δx(=xE:=Enew-E
Bước 6: Giảm nhiệt độ T theo annealing schadule (để
đơn giản gắn T:=ηT, η la hằng thuộc khoảng (0,1))T, ηT, η la hằng thuộc khoảng (0,1)) la hằng thuộc khoảng (0,1))
Bước 7: Tăng biến đếm k lên 1, nếu k đạt được max,
dừng vòng lặp Ngược lại quay lại bước 3.
Trang 18Ví dụ
Tìm min của f(x)=x2
+Δx 2
Trang 19Tìm kiếm ngẫu nhiên (Ramdom search)
Tìm kiếm trên không gian đối số của hàm mục tiêu một cách ngẫu nhiên để tìm điểm tối ưu
Được Rastrigin giới thiệu năm 1963
Có nhiều biến thể
Trang 20Tìm kiếm ngẫu nhiên theo Matyas
Bước 1: Chọn điểm x là điểm hiện tại.
Bước 2: Cộng x với một vector ngẫu nhiên dx
và ước lượng hàm mục tiêu tai vị trí mới x+Δxdx
Bước 3: Nếu f(x+Δxdx)<f(x), gắn điểm hiện tai x
bằng x+Δxdx
Bước 4: Dừng nếu sự ước lượng đạt được nếu
chưa đạt quay lại bước 2 để tìm điểm mới
Trang 21Quan sát
Quan sát 1: Nếu một hướng tìm kiếm có kết
quả tốt thì hướng ngược lại thường dẫn đến kết quả xấu
Quan sát 2: Nếu có một hướng tin cậy thì lần
tìm kiếm kế tiếp nên theo hướng này Mặt
khác, những thất bại theo hướng này thi những lần search sau nên giảm theo hướng này nữa
Trang 22Tìm kiếm ngẫu nhiên cải tiến
Bước 1: Chọn điểm x là điểm hiện tại khởi tạo bias b
Bước 6: Dừng nếu sự ước lượng đạt được nếu chưa đạt
quay lại bước 2 để tìm điểm mới.
Trang 23Tìm kiếm ngẫu nhiên cải tiến
Trang 24Ví dụ
Tìm min của f(x)=x2
+Δx 2
Trang 25Tìm kiếm xuống đồi đơn hình (Downhill simplex search)
Được đề xuất bởi John Nelder & Roger Mead năm 1965
Áp dụng cho các hàm mục tiêu nhiều biến
Tư tưởng dựa trên hình học:
Kéo dài xuống mặt phẳng nghiêng.
Thay đổi hướng khi gặp thung lũng tại góc nào
đó
Rút lại ở những cực tiểu lận cận.
Trang 26Các phép toán
(a) reflection;
(b) reflection và expand;
(c) contraction;
(d) shrinkage
Trang 27Các phép toán
Trang 28Thuật toán
Trang 29Ví dụ
Tìm min của hàm f(x,y)= x2 +Δx y2 -2
Demo bằng C#
Trang 30CÁM ƠN