Bài giảng Tính toán tiến hóa - Bài 9: Multi-objective optimization. Bài này cung cấp cho học viên những nội dung về: tối ưu đa mục tiêu; bài toán đa mục tiêu; một thuật toán tiến hóa đa mục tiêu dựa trên sự phá hoại;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
MULTI-OBJECTIVE OPTIMIZATION PGS.TS Huỳnh Thị Thanh Bình Email: binhht@soict.hust.edu.vn Nội dung TỐI ƯU ĐA MỤC TIÊU Bài toán đa mục tiêu Hướng tiếp cận 1: Quy đơn mục tiêu Hướng tiếp cận 2: Pareto optimal A MULTI-OBJECTIVE EVOLUTIONARY ALGORITHM BASED ON DECOMPOSITION Một số khái niệm Cấu trúc thuật toán Đánh giá TỐI ƯU ĐA MỤC TIÊU Bài toán đa mục tiêu Bài toán tối ưu đa mục tiêu (Multi-objective optimization problem): Bài toán yêu cầu tối ưu hay nhiều hàm mục tiêu lúc Mô hình hóa: minimize 𝑓 𝑥 = 𝑓1 𝑥 , 𝑓2 𝑥 , … , 𝑓𝑘 𝑥 s t 𝑥 ∈ 𝑋 (Giả sử mục tiêu cực tiểu hóa) 𝑋 tập nghiệm chấp nhận toán 𝑘 hàm mục tiêu khác nhau: 𝑓𝑖 𝑥 : 𝑋 ⟼ ℝ Bài toán đa mục tiêu Ví dụ: Xây dựng hệ thống mạng: Tối đa phạm vi phủ sóng Tối thiểu chi phí triển khai Lập kế hoạch đầu tư: Tối đa lợi nhuận Tối thiểu rủi ro… Trong toán tối ưu đa mục tiêu, hàm mục tiêu thường xung đột lẫn nhau, có lời giải tối ưu với tất mục tiêu lúc Bài toán đa mục tiêu Hướng tiếp cận giải toán đa mục tiêu: Quy đơn mục tiêu: Đưa công thức ánh xạ nhiều mục tiêu mục tiêu, giải toán đơn mục tiêu Pareto optimal: Dựa khái niệm tính trội biên Pareto, tìm số lời giải tốt với hàm mục tiêu khác nhau, để decision maker (ở người) tự lựa chọn lời giải thích hợp Hướng tiếp cận 1: Quy đơn mục tiêu Một số phương pháp quy đơn mục tiêu: Vector trọng số Tchebycheff Penalty-based boundary intersection (PBI) (không giới thiệu) Hướng tiếp cận 1: Quy đơn mục tiêu Vector trọng số Quy 𝑑 mục tiêu mục tiêu Định nghĩa vector trọng số 𝜆 = (𝜆1 , 𝜆2 , … , 𝜆𝑑 ), cho σ𝑑𝑖=1 𝜆𝑖 = Trọng số mục tiêu lớn mục tiêu ưu tiên Mục tiêu mới: 𝑑 𝑔𝑤𝑠 𝑋 𝜆 = 𝜆𝑖 𝑓𝑗 (𝑋) 𝑖=1 Ví dụ: Hai mục tiêu: 𝑓 = 𝑓1 , 𝑓2 ⇒ 𝑓 ′ = 0.3 × 𝑓1 + 0.7 × 𝑓2 Hướng tiếp cận 1: Quy đơn mục tiêu Vector trọng số 𝜆 = (𝜆1 , 𝜆2 , … , 𝜆𝑑 ) Điểm tham chiếu 𝑍 ∗ = (𝑍1∗ , 𝑍2∗ , … , 𝑍𝑑∗ ) Biên tốt tìm theo mục tiêu Giả sử mục tiêu minimize, với lời giải 𝑋 tìm được: 𝑍𝑖∗ = min{𝑓𝑖 (𝑋)} Mục tiêu mới: Cực tiểu hóa: 𝑔𝑡𝑒 𝑋 𝜆, 𝑍 ∗ = max {𝜆𝑖 (𝑓𝑖 𝑋 − 𝑍𝑖∗ )} 1≤𝑖≤𝑑 Hướng tiếp cận 2: Pareto optimal 10 Tính trội (Pareto dominance): Phương pháp so sánh lời giải toán đa mục tiêu Lời giải 𝑥1 gọi trội 𝑥2 nếu: 𝑥1 không tệ 𝑥2 mục tiêu tương ứng 𝑥1 tốt 𝑥2 mục tiêu Ví dụ tốn cực tiểu hóa: ∀𝑖, 𝑓𝑖 (𝑥1 ) ≤ 𝑓𝑖 (𝑥2 ) 𝑥1 𝑑𝑜𝑚𝑖𝑛𝑎𝑡𝑒 𝑥2 ⟺ ൝ ∃𝑗, 𝑓𝑗 𝑥1 < 𝑓𝑗 (𝑥2 ) Một số khái niệm 16 Phân hoạch (Decomposition): Ví dụ phân hoạch tốn mục tiêu: Bài toán gốc: 𝑓 = (𝑓1 , 𝑓2 ) 𝑔1𝑤𝑠 Bài tốn 1: = 0.1 × 𝑓1 + 0.9 × 𝑓2 𝑔2𝑤𝑠 Bài tốn 2: … = 0.2 × 𝑓1 + 0.8 × 𝑓2 𝑔9𝑤𝑠 Bài tốn 9: = 0.9 × 𝑓1 + 0.1 × 𝑓2 Một số khái niệm 17 Hàng xóm: Trong phân hoạch trên, số tốn có hàm mục tiêu (hay vector 𝜆) gần toán khác Ví dụ: Bài tốn gốc có mục tiêu, tốn xét có 𝜆1 = (0.3, 0.7) Có tốn khác: 𝜆2 = (0.4, 0.6) 𝜆3 = (0.7, 0.3) Dễ thấy toán 𝜆1 gần với 𝜆2 Định nghĩa: “Hàng xóm” toán 𝑇 toán gần với 𝑁 tốn (bao gồm nó) 𝑇 số cho trước (1 ≤ 𝑇 ≤ 𝑁) Khoảng cách toán khoảng cách Euclid vector trọng số tương ứng 𝑖 Ký hiệu: Hàng xóm tốn 𝑖: 𝐵 = {𝑏1 , 𝑏2 , … , 𝑏𝑇 } Một số khái niệm 18 Hàng xóm: Ví dụ xây dựng tập hàng xóm cho toán 2: 𝑇 = 3: Mỗi toán có hàng xóm tốn gần 1, 2, (bao gồm nó) Hàng xóm 2: 𝐵 = {1, 2, 3} Hàng xóm? 𝑔1𝑤𝑠 Bài tốn 1: = 0.1 × 𝑓1 + 0.9 × 𝑓2 𝑔2𝑤𝑠 Bài toán 2: = 0.2 × 𝑓1 + 0.8 × 𝑓2 𝑔3𝑤𝑠 Bài tốn 3: = 0.3 × 𝑓1 + 0.7 × 𝑓2 Một số khái niệm 19 A multi-objective evolutionary algorithm based on decomposition (MOEA/D) Giải thuật tiến hóa đa mục tiêu dựa phân hoạch Ý tưởng: Phân hoạch toán đa mục tiêu thành 𝑁 toán đơn mục tiêu 𝑃1 , … , 𝑃𝑁 Tạo 𝑁 vector trọng số khác Duy trì lời giải tốt cho toán Tối ưu lời giải toán cách kết hợp lời giải “hàng xóm” (các tốn gần thường có lời giải tốt gần nhau) Đánh giá lời giải: phương pháp quy đơn mục tiêu nêu Trong slide dùng phương pháp Tchebycheff Cấu trúc thuật toán 20 Thuật toán MOEA/D gồm bước chính: Bước 1: Khởi tạo Bước 2: Tiến hóa theo hệ Lặp lại nhiều lần tới thỏa mãn điều kiện dừng Bước 3: Điều kiện dừng Cấu trúc thuật toán 21 Đầu vào: Các tham số: 𝑁 vector trọng số 𝑇: Số hàng xóm tốn Các đối tượng trì cập nhật qua hệ: Quần thể: 𝑁 lời giải 𝑁 toán ∗ Điểm tham chiếu 𝑍 : Dùng cho phương pháp đánh giá Tchebycheff Không cần thiết khơng dùng Tchebycheff Quần thể ngồi EP: Biên Pareto tất lời giải tìm tính đến hệ Không cần thiết trực tiếp dùng quần thể làm đầu Cấu trúc thuật toán 22 Bước 1: Khởi tạo Bước 1.1: Đặt quần thể 𝐸𝑃 = ∅ Bước 1.2: Xây dựng tập hàng xóm: 𝐵𝑖 = {𝑏1 , 𝑏2 , … , 𝑏𝑇 }: Tập hàng xóm toán thứ 𝑖 𝑏 𝑏 𝑏 𝑖 𝜆 , 𝜆 , … , 𝜆 𝑇 - 𝑇 vector trọng số gần với vector 𝜆 Bước 1.3: Khởi tạo ngẫu nhiên quần thể: {𝑥 , … , 𝑥 𝑁 } Bước 1.4: Khởi tạo điểm tham chiếu 𝑍 ∗ = (𝑍1∗ , 𝑍2∗ , … , 𝑍𝑑∗ ): 𝑍𝑘∗ = {𝑓𝑘 (𝑥 𝑖 )} 1≤𝑖≤𝑁 Cấu trúc thuật toán 23 𝑓 = (𝑓1 , 𝑓2 , … , 𝑓𝑑 ) Bài toán Bài toán 𝒙𝟏 𝒙𝟐 … Bài toán N 𝒙𝟗 Bước 1.1 EP Cấu trúc thuật toán 24 Bước 2: Tiến hóa theo hệ (1) Với toán 𝑃𝑖 : Bước 2.1: Tạo lời giải Chọn ngẫu nhiên lời giải hàng xóm 𝑥 𝑘 , 𝑥 𝑙 𝑃𝑖 (𝑘, 𝑙 ∈ 𝐵𝑖 ) 𝑘 𝑙 Lai ghép: 𝑥 ⊕ 𝑥 lời giải 𝑦 Đột biến 𝑦 lời giải 𝑦′ Bước 2.2: Sửa chữa/Cải thiện lời giải Nếu 𝑦′ không lời giải hợp lệ, cần sửa chữa loại bỏ Cải thiện 𝑦′ (tùy tốn) Cấu trúc thuật toán 25 Bước 2.1: Tạo lời giải Xét toán Bài toán Bài toán Chọn 𝑥𝑙 … Bài toán N Chọn 𝑥𝑘 𝒙𝟏 𝒙𝟗 𝒙𝟐 Lai ghép + Đột biến 𝒚 Bước 2.2: Sửa chữa / Cải thiện EP 𝒚′ Cấu trúc thuật toán 26 Bước 2: Tiến hóa theo hệ (2) Với toán 𝑃𝑖 : ∗ Bước 2.3: Cập nhật 𝑍 : 𝑍𝑘∗ = 𝑍𝑘∗ , 𝑓𝑘 𝑦 ′ ∀𝑘 = 1, 𝑑 Bước 2.4: Cập nhật hàng xóm: Với 𝑏 ∈ 𝐵𝑖 : 𝑡𝑒 ′ 𝑏 ∗ 𝑡𝑒 𝑏 𝑏 ∗ 𝑔 (𝑦 |𝜆 , 𝑍 ) ≤ 𝑔 (𝑥 |𝜆 , 𝑍 ) (theo Tchebycheff) 𝑏 thay 𝑥 𝑦′ Bước 2.5: Cập nhật EP: Loại lời giải bị trội 𝑦′ Thêm 𝑦′ vào EP khơng bị trội lời giải Cấu trúc thuật toán 27 Bài toán Bài toán 𝒙𝟏 𝒙𝟐 … Bài toán N 𝒙𝟗 Bước 2.4: So sánh + Thay 𝒚′ Bước 2.5: Cập nhật EP EP Cấu trúc thuật toán 28 Bước 3: Điều kiện dừng Điều kiện dừng: Tương tự thuật tốn GA thơng thường Số hệ tối đa Số hệ tối đa mà EP không cập nhật … Đầu ra: EP (Biên Pareto) Đánh giá 29 Ưu điểm: Nhanh, độ phức tạp tương đương GA thông thường Biên Pareto Khả trì cân hàm mục tiêu (ví dụ: tránh hội tụ sớm áp dụng tìm kiếm cục mạnh lên mục tiêu) Nhược điểm: Hiệu phụ thuộc lớn vào tham số người dùng tự đặt (đặc biệt cách chia vector trọng số) Không hiệu thuật tốn NSGA-II nhiều tốn thơng thường (khả tối ưu mục tiêu tương đối đồng đều) 30 Thanks for your attention ... thuật toán Đánh giá TỐI ƯU ĐA MỤC TIÊU Bài toán đa mục tiêu Bài toán tối ưu đa mục tiêu (Multi-objective optimization problem): Bài toán yêu cầu tối ưu hay nhiều hàm mục tiêu lúc Mơ hình hóa: ...