Kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêuu

56 292 0
Kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêuu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỞ ĐẦU Nhiều vấn đề cần giải đời sống hàng ngày dẫn đến toán tối ưu, chẳng hạn sản xuất cần giảm chi phí, tăng giá trị sử dụng, lập lịch sản xuất, Vì vậy, lớp toán tối ưu quan tâm nghiên cứu từ lâu đạt nhiều kết Tuy vậy, kết đạt chủ yếu lớp toán tối ưu mục tiêu; lớp toán tối ưu đa mục tiêu gặp nhiều khó khăn Các toán tối ưu đa mục tiêu toán có ứng dụng thực tiễn nhiều lĩnh vực sống Song nhiều mục tiêu cần đạt có hàm biểu diễn tương tự mà mục tiêu cần đạt lại ngược Một cách tổng quát nói lời giải tối ưu cho toán dạng này, cách đơn giản lời giải không so sánh với Có thể lời giải tốt mục tiêu lại mục tiêu Từ xuất khái niệm “trội” lời giải dẫn đến khái niệm “tối ưu Pareto” Đề tài hướng tới việc phát triển kỹ thuật tính toán, chủ yếu tính toán tiến hoá thuật toán lai tối ưu đa mục tiêu cố gắng gắn với mô hình toán cụ thể Được đồng ý Hội đồng Khoa học trường Đại học Công Nghệ Thông Tin Truyền Thông – Đại học Thái Nguyên, hướng dẫn TS Vũ Mạnh Xuân, em chọn đề tài khóa luận “Kết hợp số phương pháp Heuristic giải toán tối ưu đa mục tiêu” nhằm nghiên cứu phương pháp tiếp cận khác để giải toán tối ưu đa mục tiêu kết hợp số phương pháp giải thuật di truyền kết hợp với chiến lược tiến hoá giải thuật mô luyện Mục đích nghiên cứu: tìm hiểu toán, số phương pháp giải toán tối ưu đa mục tiêu, tìm hiểu giải thuật di truyền, chiến lược tiến hoá giải thuật mô luyện sở kết hợp phương pháp để giải toán tối ưu đa mục tiêu Nội dung đề tài: gồm chương 1) Chương Tổng quan toán tối ưu đa mục tiêu 2) Chương Tìm hiểu số phương pháp Heuristic 3) Chương Kết hợp phương pháp Heuristic giải toán tối ưu đa mục tiêu Để tiến hành nghiên cứu đề tài này, em sử dụng phối hợp số phương pháp như: phương pháp nghiên cứu tài liệu (nghiên cứu tài liệu giải thuật di truyền (GA), chiến lược tiến hoá (ES), giải thuật mô luyện (SA), toán tối ưu đa mục tiêu, ngôn ngữ lập trình matlab 7.0); phương pháp lấy ý kiến chuyên gia (giáo viên hướng dẫn, tham khảo mạng) Khi thực đề tài này, bước đầu em tìm hiểu số phương pháp giải toán tối ưu đa mục tiêu, số vấn đề giải thuật di truyền, chiến lược tiến hoá, giải thuật mô luyện Kết nghiên cứu kỹ thuật kết hợp giải thuật di truyền, chiến lược tiến hoá giải thuật mô phong luyện để giải toán tối ưu đa mục tiêu lập trình thử nghiệm số toán cụ thể CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU Chương trình bày nghiên cứu toán tối ưu đa mục tiêu; khái niệm cần thiết điểm qua số phương pháp giải biết làm sở cho chương sau 1.1 Bài toán tối ưu đa mục tiêu Trong nhiều ứng dụng thực tế gắn liền với việc thiết kế kế hoạch hóa ngành kinh tế - kĩ thuật, điều khiển hoạt động sản xuất, thường gặp toán liên quan đến việc phân tích, lựa chọn phương án tốt thoả mãn nhiều mục tiêu khác Đó toán tối ưu đa mục tiêu Có thể mô tả mô hình toán học toán đa mục tiêu là: Có k hàm mục tiêu ký hiệu Y 1, Y2, …, Yk với Yi : D  R hàm; X = (x 1, …, xn) ∈ D (D ⊂ Rn) gọi phương án; D gọi tập phương án chấp nhận được; Vấn đề đặt phải tìm X làm tối ưu hoá (cực đại cực tiểu) đồng thời giá trị hàm Y 1, Y2, …, Yk Nếu tìm X X gọi phương án tối ưu Song khả tồn X0 hàm mục tiêu Y i thường không hoàn toàn độc lập với Chính việc nghiên cứu lớp toán tối ưu đa mục tiêu kho khăn có ý nghĩa thực tiễn cao 1.2 Một số khái niệm Có thể phát biểu toán tối ưu đa mục tiêu tổng quát sau: Trong đó: Y( x ) → min(max) (1.1) x ∈ D ⊂ Rn (1.2) Y ( x) = (Y1 ( x ), , Yk ( x)) ∈ R k gọi vectơ mục tiêu x gọi phương án (vectơ định) D gọi tập phương án Y1 , , Yk gọi hàm mục tiêu Các toán tối ưu đa mục tiêu thường có nhiều hàm mục tiêu với ràng buộc khác lời giải khác Các lời giải thường không so sánh với Vì người ta đưa tập lời giải tối ưu Pareto Tập nghiệm tối ưu Pareto Các toán tối ưu đa mục tiêu hầu hết liên quan đến tập lời giải tối ưu Pareto, xuất phát từ việc toán đa mục tiêu có nhiều hàm mục tiêu với ràng buộc khác nhau, chí mục tiêu đối lập Nhiều lời giải so sánh với nhau, có lời giải tốt cho mục tiêu lại xấu cho mục tiêu khác Có thể minh hoạ điều toán cần cực tiểu tỷ lệ rủi ro giá hình 1.1 sau: Hình 1.1 Minh hoạ tập Pareto Trong hình trên, với điểm A B nói điểm tốt hơn, A có giá trị nhỏ song lại có tỷ lệ rủi ro cao B Các điểm tạo thành tập lời giải tối ưu Pareto Tuy nhiên có lời giải mà so sánh chọn lời giải tốt hơn, chẳng hạn điểm B tốt so với C hình Như tối ưu đa mục tiêu thường tồn nhiều lời giải không trường hợp mục tiêu Dễ dàng thấy toán tìm max chuyển tương ứng toán tìm Vì sau ta xét toán tìm Định nghĩa 1.1 (a) Cho hai phương án định x, y ∈ D Khi đó, phương án x gọi trội phương án y ( kí hiệu x p y ), ta có: Y( x ) ≤ Y( y ) Y( x ) ≠ Y( y ) , y gọi bị trội x Nếu ngược lại, y gọi không bị trội x (b) Một phương án x ∈ Rn gọi nghiệm Pareto tối ưu ( hay điểm Pareto) y ∈ Rn mà y trội x Tập tất nghiệm Pareto tối ưu gọi tập Pareto tối ưu (c) Một phương án x ∈ Rn nghiệm Pareto tối ưu yếu không tồn y ∈ Rn mà Y( y ) < Y( x ) Nếu toán tối ưu đa mục tiêu có nghiệm gọi tối ưu theo cách định nghĩa không phụ thuộc vào cách định nghĩa chọn, nghiệm tối ưu phải phương án Pareto tối ưu (tức là, nghiệm phải thuộc tập Pareto tối ưu) Trên thực tế, việc tìm tập lời giải Pareto toán tối ưu đa mục tiêu khó khăn thường thực Vì vậy, số chiến lược tìm kiếm ngẫu nhiên (như thuật toán tiến hóa, phương pháp vùng cấm, mô luyện kim,…) phát triển Măc dù chiến lược thường không đảm bảo xác định xác tập tối ưu Pareto, cố gắng tìm tập xấp xỉ tốt, tức tập phương án mà vectơ mục tiêu không xa mục tiêu tối ưu Pareto Định nghĩa 1.2 k Cho ε = ( ε1 , ,ε k ) ∈ R+ (a) Với x, y∈Rn x gọi ε − trội y ( kí hiệu x p ε y )nếu (i) Yi ( x ) − ε i ≤ Yi ( y ) Và (ii) Y j ( x ) − ε j < Y j ( y ) ∀ i =1, , k j ∈ { 1, ,k } (b) Một tập Fε ⊂ Rn gọi tập ε − xấp xỉ Pareto điểm x ∈ Rn ε − bị trội y ∈ Fε , tức là: ∀x ∈ Rn ,∃ y ∈ Fε : y p ε x (c) Một tập Fε* ⊂ Rn gọi tập ε − Pareto Fε* tập ε − xấp xỉ Pareto điểm thuộc Fε* điểm Pareto Nói chung việc giải toán tối ưu đa mục tiêu thường hướng đến hai điều sau: 1) Đưa nhiều phương án tối ưu Pareto 2) Các phương án đa dạng phủ tương đối khắc miền D tốt Sau ta trình bày số phương pháp giải toán tối ưu đa mục tiêu biết 1.3 Một số phương pháp giải Có nhiều phương pháp để giải toán tối ưu đa mục tiêu như: phương pháp nhượng dần, phương pháp tìm nghiệm có khoảng cách ngắn đến nghiệm lý tưởng, phương pháp giải theo dãy mục tiêu xếp, phương pháp trọng số, , phạm vi nghiên cứu đề tài trình bày số phương pháp giải sau: 1.3.1 Phương pháp nhượng dần Phương pháp dẫn đến việc tìm lời giải thỏa hiệp tốt tức tìm nghiệm x* mà theo ý thích người nhận lời giải ∀ x ⊂ D: x*  x x* ~ x Thuật toán giải: Bước 0: Giải k toán l mục tiêu riêng rẽ Sau lập bảng thưởng phạt (trong xi phương án tối ưu Yi giá trị tối ưu) Bảng 1.1: Bảng thưởng phạt Hàm mục tiêu Phương án X1 Y1 Y2 Y10 Y2(X1) X2 … Yk Yk(X1) Y20 … Xk Yk0 Bước 1: Căn vào bảng thưởng phạt Y10 , người nhận lời giải bắt Y1 phải nhượng lượng ∆Y1 giải toán: Max Y2(x) x∈D Y1(x) ≥ Y10 - ∆Y1 Giả sử Y2* giá trị tối ưu toán, chuyển sang bước Bước 2: Người nhận lời giải vào Y20 Y2* , bắt Y2 nhượng ∆Y2 giải toán: lượng Max Y3(x) x∈D Y1(x) ≥ Y10 - ∆Y1 Y2(x) ≥ Y2* - ∆Y2 Giả sử Y3* giá trị tối ưu toán, chuyển sang bước tiếp theo: Bước k: Căn vào Yk-10 Yk-1* , bắt Yk-1 nhượng lượng ∆Yk-1 giải: Max Yk(x) x∈ D Y1(x) ≥ Y10 - ∆Y1 Y2(x) ≥ Y2* - ∆Y2 … Yk-1(x)≥ Yk-1* - ∆Yk-1 Nghiệm cuối toán lấy làm nghiệm cho toán xuất phát 1.3.2 Phương pháp tìm nghiệm có khoảng cách ngắn đến nghiệm lý tưởng Ở giá trị hàm lợi ích tỉ lệ với khoảng cách từ phương án x ∈ D đến gọi nghiệm lý tưởng Phương án x1 x2 chi x1 gần nghiệm lý tưởng x2 Giả sử x1, x2 ∈ Rn Khoảng cách hai điểm x1, x2 số dα xác định α  n  dα = ∑ x i − x i   i =1  Với x1= (x11,…, x1n); x2 = (x21,…, x2n) α tham số (α >=1) Số dα có tính chất: d∞ ≤ dα ≤ d1 { } Với d∞ = lim d∞= max xi − x1 , i = 1, , n Bài toán tối ưu đa mục tiêu max Y( x ) x∈D x* nghiệm lý tưởng ta hiểu nghiệm (nói chung không thiết phương án chấp nhận được), mà giá trị hàm mục tiêu riêng rẽ đạt cực đại Giả sử Y* giá trị tối ưu mục riêng rẽ (Y*i = max Y( x )) Khi giá trị hàm mục tiêu Y x* : (Y*1,…,Y*k) khoảng cách từ phương án x đến nghiệm lý tưởng xác định bởi: k * α dα= ∑ Yi ( X ) − Yi   i =1  Bài toán cực tiểu khoảng cách đến nghiệm lý tưởng là: k *α minα ∑ Yi ( x) − Yi   i =1  (1.3) x∈D (1.4) Ở vấn đề xác định α nói chung phụ thuộc vào toán cụ thể kết mặt lý thuyết để tìm thuật toán giải toán quy hoạch (1.3) (1.4)  Với trường hợp α=1 việc cực tiểu hoá : k di = α ∑ Y1 ( x ) − Y x∈ D x∈ D α * i i =1 k max ∑Yi ( x ) x∈D Tương đương với tìm: Và x1 x ⇔  k k i =1 i =1 i =1 ∑ Yi ( x1 ) > ∑ Yi ( x ) Trường hợp α = ∞: d α = minα max { Yi* − Yi ( x )} Bài toán : x∈ D x ∈ D 1≤i ≤ k Còn viết dạng : W (1.5) Y*1-Yi(x) ≤ W x∈ D i= (1.6) Nếu x* nghiệm (1.5), (1.6) nghiệm thoả hiệp tốt theo nghĩa ∀ x ∈ D: x* x x* ~ x (trường hợp sau xảy x nghiệm tối ưu) Ở ∆ = Y* - W ta hiểu nhượng mục tiêu thứ 1, quan điểm nhượng dựa nhượng đồng theo tất tiêu, phương án X* trội nhượng “đều ” nhỏ Trong trường hợp chung, tập nghiệm (1.5), (1.6) tập nghiệm thoả hiệp tốt Người ta chứng minh tập nghiệm thỏa hiệp tốt tập tập nghiệm không cải tiến Zeleny (1974) chứng minh: Tập nghiệm thoả hiệp ứng với d α(1 ≤ α ≤ ∞) nằm khoảng nghiệm ứng với d1 dα Còn trường hợp α = ∞ Xalucvatde có nêu thuật toán thoả hiệp Ở quan hệ , ~ dựa metric dα: k k α α ⇔  Y * − Y ( x ) > x x ∑ i i  < ∑ Y *i −Yi ( x )   i =1   i =1  k k α α ⇔ Y * − Y ( x ) X ~x ∑ i i  < ∑ Y *i −Yi ( x )   i =1   i =1  1.3.3 Phương pháp giải theo dãy mục tiêu xếp Theo phương án hàm lợi ích thể dạng ẩn Còn việc xác định quan hệ , ~ dựa thứ tự dãy tiêu chuẩn Ở thứ tự dãy thể mức độ quan trọng dãy tiêu chuẩn, có ưu tiên tuyệt đối cho mục tiêu đứng trước Thuật toán: Bước 0: Sắp xếp thứ tự mục tiêu Y1,…,Yk Y1( x ) Bước 1: Giải toán: max x∈ D { } 1 maxY1( x ) Ký hiệu: D = x |Y1( x ) = max x∈D Ta có D1 ⊆ D Y2 ( x ) Bước 2: Giải toán : max x∈D { } 2 maxY2 ( x ) Ký hiệu: D = x |Y2 ( x ) = max x∈D … Yk ( x ) Bước k: Giải toán : max x∈D 10 Bước 7: Nếu thỏa mãn điều kiện dừng chuyển đến bước Bước 8: Nghiệm tốt tìm nghiệm toán k Trong giá trị thích nghi xác định sau W = ∑ϖ i * f i ( x) i =1 dùng để đánh giá độ thích nghi cá thể tương ứng 3.2 Thuật toán BEA (Blend Evolutionary Algorithm) Thuật toán BEA thuật toán kết hợp ba giải thuật di truyền, chiến lược tiến hoá giải thuật mô luyện, thuật toán tiến hành RCGA, trước tiên quần thể kích cỡ m khởi tạo Thực toán tử lai ghép m lần tạo quần thể có 2m cá thể gồm quần thể cũ vừa tạo Với quần thể này, thực đột biến có tác động yếu tố nhiệt độ tạo thành quần thể Sau chọn m cá thể cho lần tạo sinh sơ đồ chọn lọc Như thuật toán kết hợp RCGA với (1+1)ES yếu tố nhiệt độ SA, tạm gọi thuật toán BEA (Blend Evolutionary Algorithm) Thuật toán mô tả sau: Input: Quần thể có m cá thể khởi tạo ngẫu nhiên Output: Cá thể có độ thích nghi (theo hàm mục tiêu F) cao Algorithm BEA * Chọn trọng số dựa theo độ quan trọng Thuật toán trường hợp mô tả sau Bước 1: Khởi tạo quần thể QT gồm M(=Size) cá thể môt cách ngẫu nhiên Tính giá trị hàm mục tiêu fi(x), (i = 1, ,k), với x ∈ QT Bước 2: Trong cá thể quần thể QT, ta thực hiện: Bước 2.1: Chọn ngẫu nhiên cá thể cha mẹ P P2 Bước 2.2: Lai ghép tạo cá thể C C2 Bước 3: Với cá thể vừa sinh phép lai ghép trên, ta thực đột biến (với xác suất đột biến pm) đột biến hai cá thể 42 tùy thuộc vào giá trị ngẫu nhiên tạo Tại vị trí thứ i (được chọn đột biến), thành phần x i thay bởi: x i + z*(x i - left) u =0.5 u số ngẫu nhiên thuộc [0,1]; left righ cận cận x i ; việc tính z sơ đồ luyện thực giải thuật SA nêu Nếu cá thể tạo tốt cá thể cũ thay cho cá thể cũ ; Cập nhật tham số nhiệt độ theo sơ đồ luyện; Bước 4: Tính giá trị hàm mục tiêu cá thể sau đột biến, từ tính giá trị thích nghi chúng So sánh chúng với cha mẹ để chọn cá thể đưa vào quần thể sau (Cá thể có giá trị thích nghi nhỏ chọn) Bước 5: Nếu chưa thỏa mãn điều kiện dừng chuyển bước Bước 6: Nếu thỏa mãn điều kiện số lần lặp đủ lớn T k < Tdong dừng chuyển đến bước Bước 7: Nghiệm tốt tìm nghiệm toán k Trong giá trị thích nghi xác định W = ∑ϖ i * f i ( x) dùng để i =1 đánh giá độ thích nghi cá thể tương ứng * Trọng số chọn cách ngẫu nhiên (theo xác suất) Thuật toán mô tả sau: Bước 1: Khởi tạo quần thể QT gồm M(=Size) cá thể cách ngẫu nhiên Tính giá trị hàm mục tiêu fi(x), (i = 1, ,k), với x ∈ QT Bước 2: Trong cá thể quần thể QT, ta thực hiện: Bước 2.1: Chọn ngẫu nhiên cá thể cha mẹ P P2 Bước 2.2: Lai ghép tạo cá thể C C2 43 Bước 3: Với cá thể vừa sinh phép lai ghép trên, ta thực đột biến (với xác suất đột biến pm) đột biến hai cá thể tùy thuộc vào giá trị ngẫu nhiên tạo Tại vị trí thứ i (được chọn đột biến), thành phần xi thay bởi: x i + z*(x i - left) u =0.5 u sổ ngẫu nhiên thuộc [0,1]; left righ cận cận x i ; việc tính z sơ đồ luyện thực giải thuật SA nêu Nếu cá thể tạo tốt cá thể cũ thay cho cá thể cũ ; Cập nhật tham số nhiệt độ theo sơ đồ luyện; Bước 4: Khởi tạo vectơ trọng số  = (1, , k ) cách ngẫu nhiên Bước 5: Tính giá trị hàm mục tiêu cá thể sau đột biến, từ tính giá trị thích nghi chúng So sánh chúng với cha mẹ để chọn cá thể đưa vào quần thể sau (Cá thể có giá trị thích nghi nhỏ chọn) Bước 6: Nếu số lần lặp đủ lớn T k < Tdong kết thúc, Nếu chưa thỏa mãn điều kiện dừng chuyển bước Bước 7: Nếu thỏa mãn điều kiện dừng chuyển đến bước Bước 8: Nghiệm tốt tìm nghiệm toán k Trong giá trị thích nghi xác định W = ∑ϖ i * f i ( x) dùng i =1 để đánh giá độ thích nghi cá thể tương ứng Giải thuật có số đặc điểm sau: Thuật toán BEA (Blend Evolutionary Algorithm) RCGA, sau sinh cá thể sử dụng (1+1)ES Trong trình đột biến ES ta sử dụng kĩ thuật giảm nhiệt độ theo sơ đồ luyện SA Tại bước vòng lặp , toán tử lai ghép thực với số 44 lần sinh bổ sung vào quần thể trung gian Điều giúp làm tăng tính đa dạng quần thể sinh kế thừa cha mẹ chúng Toán tử đột biến thực tất cá thể quần thể trung gian, toán tử sử dụng cách thức đột biến theo giải thuật mô luyện Tham số nhiệt độ có vai trò điều chỉnh khoảng cách cá thể sinh cha mẹ 3.3 Lập trình thử nghiệm Trong toán thử nghiệm sử dụng số cá thể quần thể cố định m=30 Toán từ lai ghép thực toán tử lai ghép SBX, nhiệt độ khời tạo T0 = 1000; nhiệt độ đông Tdong = 0.01 Chiến lược tiến hoá sử dụng (1 + )ES 3.3.1 Bài toán [7]  ) ) → Min  F1(x) = - exp(- ∑ (x i i =1   ) ) → Min F2(x) = - exp(-∑ (x i +  xi ∈ [ − 4,4], i = 1,2,3   n=3  a Mã hóa Bài toán gồm có hàm mục tiêu tiến đến Min, hàm bao gồm biến Vì vậy, cá thể (lời giải toán) mã hóa véctơ thực chiều Trong thành phần đầu biểu diễn giá trị biến x i (i=1,…,3); thành phần thứ 4, thứ để ghi giá trị hàm mục tiêu f 1, f2 ứng với cá thể Thành phần thứ để ghi giá trị hàm tổ hợp mục tiêu cá thể sử dụng giải thuật kết hợp BEA, để ghi giá trị độ thích nghi cá thể sử dụng GA nhằm đánh giá việc chọn cá thể đưa vào quần thể b Các toán tử lai, đột biến: 45 Toán tử lai: Toán tử SBX (Simulated Binary Crossover) Giả sử x = (x1, x2 , xn) y = (y1, y2 , , yn) hai cá thể cha mẹ chọn để tạo sinh Khi hai cá thể c = (c11, , c1n) c2 = (c21, , c2n) sinh theo công thức: c1i = 0.5*((1 + β) * xi + (1 - β) * yi) (3.3) c2i = 0.5*((1 - β) * xi + (1 + β) * yi) (3.4) β tính công thức:  η +1   (2 * u ) β = η +1 ( )   * (1 − u ) if u ≤ 0.5 otherwise (3.5) với u số ngẫu nhiên [0, 1]; η tham số điều khiển Trong sinh chọn tốt đem so sánh với cha mẹ ❖ Toán tử lai ghép SBX Thủ tục lai sau: for v2=1:n; lamda=2; u=rand; beta=lamda*exp(-lamda*u); yy1=0.5*((1+beta)*y(1,v2) + (1- beta)*y(2,v2)); yy2=0.5*((1+beta)*y(2,v2)+(1- beta)*y(1,v2)); if (yy1>=left)&(yy1=left)&(yy2

Ngày đăng: 16/04/2017, 17:23

Từ khóa liên quan

Mục lục

  • Chương 3: KẾT HỢP CÁC PHƯƠNG PHÁP HẺURISTIC GIẢI BÀI TOÁN TỐI ƯU ĐA MỤC TIÊU

Tài liệu cùng người dùng

Tài liệu liên quan