Thuật toán bầy đàn pso giải thuật di truyền và ứng dụng giải các bài toán tối ưu đa mục tiêu

82 12 0
Thuật toán bầy đàn pso giải thuật di truyền và ứng dụng giải các bài toán tối ưu đa mục tiêu

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG NGUYỄN QUANG LẬP THUẬT TỐN BẦY ĐÀN PSO, GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG GIẢI CÁC BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: TS VŨ VINH QUANG Thái Nguyên - 2013 i LỜI CẢM ƠN Em xin chân thành cảm ơn Trường Đại Học Công Nghệ Thông Tin truyền thông tạo điều kiện cho em thực luận văn Em xin chân thành cảm ơn tới tồn thể thầy giáo Viện cơng nghệ thơng tin trường Đại học công nghệ thông tin truyền thơng tận tình giảng dạy hướng dẫn, trang bị cho em kiến thức cần thiết q trình thực luận văn thành cơng Dựa bảo tận tình TS Vũ Vinh Quang dựa kiến thức học tìm hiểu được, em hoàn thành luận văn theo thời gian quy định Tuy nhiên trình thiết kế thực luận văn không tránh khỏi sai sót, thời gian có hạn khả cịn hạn chế Em mong quý thầy cô bạn thơng cảm có ý kiến q báu nhằm hoàn thiện cho sản phẩm Em xin chân thành cảm ơn! Thái nguyên, ngày 15 tháng năm 2013 Học viên Nguyễn Quang Lập Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ ii LỜI CAM ĐOAN Em xin cam đoan luận văn tốt nghiệp: “Thuật toán bầy đàn PSO, giải thuật di truyền ứng dụng giải toán tối ưu đa mục tiêu” em tự thực hướng dẫn thầy giáo Vũ Vinh Quang Các kết số liệu hoàn toàn trung thực Ngoài tài liệu tham khảo dẫn cuối luận văn em đảm bảo không chép cơng trình hay luận văn tốt nghiệp người khác Nếu phát có sai phạm với điều cam đoan trên, em xin hoàn toàn chịu trách nhiệm Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ iii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC BẢNG v DANH MỤC CÁC HÌNH VẼ vi MỞ ĐẦU CHƢƠNG 1: MƠ HÌNH BÀI TOÁN TỐI ƢU 1.1 Mơ hình tốn tối ưu hóa 1.1.1 Mơ hình tổng qt 1.1.2 Phân loại toán tối ưu 1.2 Bài tốn quy hoạch tuyến tính 1.3 Bài toán tối ưu đa mục tiêu 1.3.1 Phương pháp ràng buộc 1.3.2 Phương pháp tổng trọng số 1.3.3 Phương pháp nhượng dần 1.3.4 Phương pháp thoả hiệp 1.3.5 Phương pháp tìm nghiệm có khoảng cách nhỏ đến nghiệm lý tưởng 1.3.6 Phương pháp giải theo dãy mục tiêu 1.3.7 Phương pháp bước Benayoun 10 1.3.8 Phương pháp trọng số 11 CHƢƠNG 2: CƠ SỞ THUẬT TOÁN DI TRUYỀN 13 2.1 Các khái niệm 14 2.1.1 Cá thể, nhiễm sắc thể 14 2.1.2 Quần thể 14 2.1.3 Chọn lọc (Selection) 14 2.1.4 Lai ghép (Cross-over) 15 2.1.5 Đột biến (Mutation) 15 2.1.6 Mô hình GA 15 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ iv 2.1.7 Các tham số GA 16 2.2 Cơ chế thực GA 17 2.2.1 Mã hóa 17 2.2.2 Khởi tạo quần thể ban đầu 18 2.2.3 Xác định hàm thích nghi 19 2.2.4 Cơ chế lựa chọn 19 2.2.5 Các toán tử di truyền 20 2.3 Thuật toán di truyền kinh điển 22 2.3.1 Mã hóa 22 2.3.2 Toán tử chọn lọc 23 2.3.3 Toán tử lai ghép 24 2.3.4 Toán tử đột biến 25 2.3.5 Thuật tốn di truyền mã hóa số thực (RCGA) 27 2.4 Thuật toán tối ưu bầy đàn PSO 33 2.4.1 Giới thiệu 33 2.4.2 Khái niệm bầy đàn thông minh 34 2.4.3 Thuật toán PSO truyền thống 35 2.5 Một số kết cải tiến PSO 43 CHƢƠNG 3: ỨNG DỤNG THUẬT TOÁN GA VÀ PSO CHO CÁC BÀI TOÁN THỰC TẾ 56 3.1 Đặt vấn đề 56 3.2 Mơ hình tốn thức ăn gia súc 58 3.2.1 Yêu cầu toán 58 3.2.2 Dữ liệu đầu vào toán 58 3.3 Bài toán thực tế 61 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO 69 PHỤ LỤC 70 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ v DANH MỤC CÁC BẢNG Bảng 2.1: Phân tích kết vài tốn tối ưu thơng dụng 53 Bảng 2.2: Kích thước quần thể miền giá trị khởi tạo cho toán tối ưu 53 Bảng 3.1 Giá trị tham số toán 57 Bảng 3.2 Tiêu chuẩn dinh dưỡng 61 Bảng 3.3 Tỉ lệ chất dinh dưỡng loại nguyên liệu 61 Bảng 3.4: Nghiệm toán với số liệu 63 Bảng 3.5: Nghiệm toán với số liệu 66 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ vi DANH MỤC CÁC HÌNH VẼ Hình 2.1: Sơ đồ mơ tả GA 15 Hình 2.2: Lai ghép CMX 30 Hình 2.3: Phân bố x cij 31 Hình 2.4: Tốn tử lai ghép SX 32 Hình 2.5: Mơ tả cách thức tìm kiếm thức ăn bầy kiến 34 Hình 2.6: Mơ tả cách thức tìm đường đàn chim 35 Hình 2.7: Bầy đàn với 10 cá thể không gian tìm kiếm chiều 36 Hình 2.8: Quan hệ vị trí – vận tốc khơng gian chiều 37 Hình 2.9: Một bầy đàn toàn cục lân cận cục .38 Hình 2.10: Các topology lân cận đơn giản 38 Hình 2.11:Chuyển động cá thể .42 Hình 2.12: Áp dụng kỹ thuật làm lệch cho hàm (2.13) điểm x* 4.60095589 , với λ=1 46 Hình 2.13 Áp dụng kỹ thuật làm lệch cho hàm (2.13) điểm x* 4.60095589 ,với λ=10 46 Hình 2.14:Áp dụng kỹ thuật làm lệch cho hàm (2.13) điểm x* 4.60095589 ,với λ=0.1 47 Hình 2.15: Áp dụng kỹ thuật làm lệch cho hàm (2.14) điểm x* ( ) , với λ=1 .47 Hình 2.16: Áp dụng kỹ thuật làm lệch cho hàm (2.14) điểm x* Hình 2.17: Áp dụng kỹ thuật làm lệch cho hàm (2.14) điểm x* 2 ,với λ=10 48 , với λ=0.1 48 Hình 2.18: Đồ thị hàm Levy No.5 khối [-2,2]2 .50 Hình 2.19: Giai đoạn đầu G(x) kỹ thuật kéo giãn cho hàm Levy No.5 khối [-2,2]2 50 Hình 2.20: Hàm Levy No.5 khối [-2,2]2 sau giai đoạn hai H(x) kỹ thuật kéo giãn 51 Hình 3.1: Kết toán sử dụng thuật toán GA – Test 64 Hình 3.2 Kết giải tốn sử dụng thuật toán PSO – Test 66 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ MỞ ĐẦU Trong thực tế, nhiều ngành khoa học phải giải toán tối ưu đa mục tiêu đặc biệt ngành kinh tế Chẳng hạn, người chế tạo sản phẩm thường phải đưa phương án cho vừa tiết kiệm vật liệu, chi phí sản xuất thấp lại muốn giá trị sản phẩm cao Nghiên cứu giải toán tối ưu đa mục tiêu vấn đề không đơn giản chưa có lời giải thỏa mãn đồng thời mục tiêu đặt (thường mục tiêu đối nghịch ví dụ trên) mà khơng vi phạm ràng buộc Đã có nhiều phương pháp giải toán tối ưu đa mục tiêu đề xuất, việc nghiên cứu phát triển phương pháp ứng dụng chúng để giải toán thực tế vấn đề quan tâm Trong nhiều toán tối ưu thực tế, việc trọng tâm tìm vị trí cực tiểu tồn cục hàm mục tiêu giá trị thực f: E R, nghĩa tìm điểm x* E cho f ( x* ) với tập đóng E f ( x), x E R d , d số chiều Đã có nhiều phương pháp tối ưu tồn cục (Global Optimization - GO) phát triển để giải vấn đề như: Mô việc luyện thép (Simulated Annealing), Tabu search, Tính tốn tiến hóa (Evolutionary computation) Về mặt lý thuyết tổng qt, phương pháp GO có tính hội tụ mạnh, hay nguyên tắc dễ hiểu việc thực ứng dụng Tính tốn tiến hóa (Evolutionary computation) kỹ thuật đặc biệt số phương pháp GO Phương pháp làm việc tập hợp lời giải tiềm năng, gọi quần thể (population) tìm lời giải tối ưu thông qua việc cộng tác cạnh tranh lời giải tiềm Thường sử dụng thuật toán di truyền (Genetic Algorithms – GA) Artificial Life, dựa tiến hóa tự nhiên cư xử xã hội Các phương pháp thường tìm tốt tốn tối ưu phức tạp với phương pháp tối ưu truyền thống Thuật toán tối ưu Particle Swarm Optimization (PSO) R.C.Eberhat J.Kennedy đề nghị năm 1995 Từ lúc đời đến PSO nhiều nhà khoa Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ học tham gia nghiên cứu, cải tiến ứng dụng để giải nhiều toán lý thuyết thực tế Đề tài “Thuật toán bầy đàn PSO, giải thuật di truyền ứng dụng giải toán tối ưu đa mục tiêu” nhằm tìm hiểu khả ứng dụng thuật toán PSO, GA việc giải toán tối ưu đa mục tiêu thực tế Với mục đích đó, đề tài tập trung trình bày việc giải toán tối ưu giải thuật PSO, GA thực nghiệm khả ứng dụng thực tế hai thuật toán Nội dung đề tài gồm chƣơng: Chương 1: Mơ hình tốn tối ưu đa mục tiêu Chương 2: Cơ sở thuật toán di truyền Chương 3: Ứng dụng thuật toán GA, PSO cho toán thực tế Trong luận văn, kết thực nghiệm thực chương trình viết Matlab version 7.0 Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ CHƢƠNG MƠ HÌNH BÀI TỐN TỐI ƢU Trong chương này, luận văn trình bày số kiến thức mơ hình tổng qt tốn tối ưu hóa, việc phân loại tốn tối ưu số phương pháp giải toán tối ưu đa mục tiêu, kiến thức chương tham khảo từ tài liệu [1,2] 1.1 Mơ hình tốn tối ƣu hóa 1.1.1 Mơ hình tổng qt Tối ưu hóa lĩnh vực quan trọng tốn học có ảnh hưởng đến hầu hết lĩnh vực khoa học, công nghệ kinh tế xã hội Việc tìm giải pháp tối ưu cho tốn thực tế chiếm vai trị quan trọng việc tiến hành lập kế hoạch sản xuất hay thiết kế hệ thống điều khiển trình … Nếu sử dụng kiến thức tảng toán học để giải toán cực trị, người ta đạt hiệu kinh tế cao Điều phù hợp với mục đích vấn đề đặt thực tế Bài toán tối ưu tổng quát phát biểu sau: Cực đại hóa (cực tiểu hóa) hàm: f (X ) max(min) Với điều kiện: gi ( X ) bi , i J1 (1.1) g j ( X ) bj , j J2 (1.2) g k ( X ) bk , k J3 (1.3) x1 , x2 , , xn (1.4) Trong f ( X ) gọi hàm mục tiêu, Các điều kiện (1.1) gọi ràng buộc đẳng thức Các điều kiện (1.2), (1.3) gọi ràng buộc bất đẳng thức Các điều kiện (1.4) gọi ràng buộc dấu X ( x1 , x2 , , xn ) véc tơ thuộc không gian R n Tập véc tơ X thỏa mãn hệ ràng buộc lập nên miền D Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 61 3.3 Bài toán thực tế Ứng dụng mơ hình tốn việc sản xuất thức ăn cho lợn theo tiêu chuẩn Việt Nam – TCVN 1547-1994 1kg thức ăn sản xuất cần đạt tiêu chuẩn dinh dưỡng sau (số liệu theo tiêu chuẩn kiểm định Bộ Nông nghiệp cung cấp): Bảng 3.2 Tiêu chuẩn dinh dƣỡng Protein Xơ thô Ca P Lipit thô 19 0.8 0.6 1.1 Nguyên liệu để sản xuất thức ăn gồm có: Ngô tẻ đỏ miền bắc, cám gạo xát máy loại I, đậu tương V74, khô dầu, bột cá nhạt 60% Trong tỉ lệ chất dinh dưỡng nguyên liệu thể bảng sau: Bảng 3.3 Tỉ lệ chất dinh dƣỡng loại nguyên liệu Protein Xơ thô Ca P Lipit thô Ngô 10.20 1.20 0.08 0.05 2.60 Cám gạo 11.90 8.10 0.20 1.17 12.35 Đậu tương 39.00 5.90 0.19 0.15 15.00 Khô dầu 45.34 6.12 0.35 6.51 6.03 Bột cá 61.49 0.74 5.39 2.05 4.05 Mục tiêu đặt cho toán phải sản xuất thức ăn cho gia cầm tiêu chuẩn chất lượng (tiêu chuẩn Việt Nam – TCVN 1547 – 1994) với giá thấp số lượng nhiều Đây tốn hai mục tiêu Ta có mơ hình tốn học toán sau: f = a1x1 + a2x + + a5x ® Min , ỉb b b ữ g = ỗỗỗ , , , ữ đ m ax ữ ữ ỗốx x x5 ø Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 62 3.3.1 Thuật toán di truyền Để thực thuật toán di truyền GA toán này, sử dụng việc mã hóa cách zen mô tả vecto X ( x1 , x2 , x3 , x4 , x5 ) đó: x1 tỉ lệ phần trăm lượng ngô đơn vị thức ăn x2 tỉ lệ phần trăm lượng cám gạo đơn vị thức ăn x3 tỉ lệ phần trăm lượng đậu tương đơn vị thức ăn x4 tỉ lệ phần trăm lượng khô dầu đơn vị thức ăn x5 tỉ lệ phần trăm lượng bột cá đơn vị thức ăn Điều kiện cần thỏa mãn trình sinh sản lai ghép là: x1 x2 x3 x4 x5 Hiển nhiên sử dụng phương pháp lai ghép số học Zen_con= r Zen_bố + (1 r ) Zen_mẹ, r tốn tử lai ghép hồn tồn hợp lệ Trong thuật tốn, ta sử dụng phương pháp trọng số để xác định hàm mục tiêu chung cho hàm mục tiêu F ( X ) xác định X để f ( X ) a f ( X ) b g ( X ), a 0, b Khi cần Thuật tốn GA thực sau: Bƣớc 1: Đọc liệu đầu vào - Giá thị trường loại nguyên liệu (a1, a2 , a3 , a4 , a5 ) - Số lượng loại nguyên liệu có kho (b1, b2 , b3 , b4 , b5 ) - Tiêu chuẩn dinh dưỡng 1kg thức ăn (Bảng 3.2) - Tỉ lệ chất dinh dưỡng nguyên liệu (Bảng 3.3) Bƣớc 2: - Khởi tạo số lượng cá thể - Khởi tạo quần thể Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 63 Bƣớc (Bước lặp) Lai ghép: sử dụng phương pháp lai ghép u = r ´ x + (1 - r ) ´ y Trong x, y hai cá thể bố mẹ, u cá thể sinh ra, tham số < r < Được lựa chọn ngẫu nhiên theo bước lặp Bƣớc 4: Chọn lọc Sử dụng chọn cá thể đảm bảo hàm mục tiêu đạt giá trị nhỏ theo nguyên tắc: + Với cá thể xác định giá trị hàm mục tiêu + Sắp xếp hàm mục tiêu theo thứ tự tăng dần + Chọn n cá thể theo thứ tự xếp Bƣớc 5: Đột biến Chọn số thể cho đột biến theo xác suất đột biến pc = 0.05 Bƣớc 6: Kiểm tra điều kiện dừng Thuật tốn mơ ngôn ngữ Matlab (Xem phụ lục 1) Kết chạy thuật toán GA với số liệu sau: Bảng 3.4: Nghiệm toán với số liệu Test Nguyên liệu Giá (1000đ) Trữ lượng (tấn) Tỉ lệ % Ngô 18.5 500 0.2619 Cám gạo 20.5 200 0.7294 Đậu tương 42.0 50 0.0047 Khô dầu 25.6 75 0.0047 Bột cá 65.0 20 0.0037 GT hàm mục tiêu -255.6384 Test Nguyên liệu Giá (1000đ) Trữ lượng (tấn) Tỉ lệ % Ngô 18.5 100 0.2862 Cám gạo 20.5 400 0.6408 Đậu tương 42.0 70 0.0042 Khô dầu 25.6 20.5 0.0515 Bột cá 65.0 200 0.0174 Số hóa trung tâm học liệu GT hàm mục tiêu -125.4865 http://www.lrc.tnu.edu.vn/ 64 Hình 3.1: Kết toán sử dụng thuật toán GA – Test Nhận xét: + Thuật toán GA thu nghiệm gần tối ưu toán sản xuất thức ăn sau khoảng 800 lần lặp + Số cá thể sinh sau lần sinh sản nhiều nên trình chọn lọc tốt ngược lại thời gian tính tốn nhiều 3.3.2 Thuật tốn PSO Hoàn toàn tương tự GA, để thực thuật toán PSO toán này, sử dụng việc mã hóa cách zen mô tả vecto X ( x1 , x2 , x3 , x4 , x5 ) đó: + x1 tỉ lệ phần trăm lượng ngô đơn vị thức ăn + x2 tỉ lệ phần trăm lượng cám gạo đơn vị thức ăn + x3 tỉ lệ phần trăm lượng đậu tương đơn vị thức ăn + x4 tỉ lệ phần trăm lượng khô dầu đơn vị thức ăn + x5 tỉ lệ phần trăm lượng bột cá đơn vị thức ăn Vận tốc cá thể mô tả vecto ( 1, , , , ) Trong thuật toán, ta sử dụng phương pháp trọng số để xác định hàm mục tiêu chung cho hàm mục tiêu F ( X ) cần xác định X để f ( X ) Số hóa trung tâm học liệu a f ( X ) b g ( X ), a 0, b Khi http://www.lrc.tnu.edu.vn/ 65 Thuật tốn PSO thực sau Bƣớc 1: Đọc liệu đầu vào - Giá thị trường loại nguyên liệu - Số lượng loại nguyên liệu có kho - Tiêu chuẩn dinh dưỡng 1kg thức ăn - Tỉ lệ chất dinh dưỡng nguyên liệu Bƣớc 2: Khởi tạo giá trị thuật toán tối ưu bầy đàn PSO: - Khởi tạo số lượng cá thể - Khởi tạo cá thể - Với cá thể, khởi tạo vectơ vị trí X, vectơ vận tốc V, vị trí tốt qua cá thể - Khởi tạo số g – số cá thể tốt bầy đàn Bƣớc (Bước lặp) Với cá thể tính giá trị hàm mục tiêu, cập nhật lại giá trị vận tốc, giá trị vị trí, giá trị tốt qua Với bầy đàn, tìm kiếm số tốt Bƣớc 4: Đưa phương án tối ưu Thuật tốn PSO mơ tả chi tiết sau Bƣớc 1: Nhập liệu Input ( a i, bi , di ), Input (C ij ) Bƣớc 2: Khởi tạo N cá thể ( ) ( ) X i = x i1, x i2, , x in ,(i = N ) - Vị trí V i = vi1, vi2, , vin ,(i = N ) - Vận tốc Bƣớc (Lặp) Count=1; While count(1-x(i,2)) x(i,1)=rand; end; Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 71 x(i,5)=rand; while x(i,5)>(1-x(i,1)-x(i,2)) x(i,5)=rand; end; x(i,4)=rand; while x(i,4)>(1-x(i,1)-x(i,2)-x(i,5)) x(i,4)=rand; end; x(i,3)=1-x(i,1)-x(i,2)-x(i,5)-x(i,4); f1(i)=a1*x(i,1)+a2*x(i,2)+a3*x(i,3)+a4*x(i,4)+a5*x(i,5); t=[b1/x(i,1), b2/x(i,2),b3/x(i,3),b4/x(i,4),b5/x(i,5)]; tg=t(1); for k=2:5 if tg>t(k); tg=t(k); end; end; f2(i)=tg; f3(i)=abs(f1(i))-abs(f2(i)); end; % Qua trinh sinh san va chon loc tu nhien demmax=100; dem=0; c=[10.20 11.90 39.00 45.34 61.49; 1.20 8.10 5.90 6.12 0.74; 0.08 0.20 0.19 0.35 5.39; 0.05 1.17 0.15 6.51 2.05; 2.60 12.35 15.00 6.03 4.05]; while demt(i); tg=t(i); end; end; f2(k)=tg; f3(k)=abs(f1(k))-abs(f2(k)); end; % sap xep ham muc tieu tang dan for k=1:m-1 for l=k+1:m if f3(k)>f3(l) tg=f3(k);f3(k)=f3(l);f3(l)=tg; tgy=y(k,:);y(k,:)=y(l,:);y(l,:)=tgy; end; end; end; % Lay lai n zen tot nhat for k=1:n; x(k,:)=y(k,:); end; % xac dinh zen tot nhat vt=1;tg=f3(1); for i=2:n; if tg>f3(i) tg=f3(i); vt=i; end; end; g=x(vt,:); dem g f3(vt) end; %Ket thuc vong while bar(g) xlabel('Cac nguyen lieu') set(gca,'Xticklabel',{'Ngo','Cam gao','Dau tuong','Kho dau','Bot ca'}) Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 73 Phụ lục 2: Chƣơng trình giải toán thức ăn gia súc PSO clear; close; % nhap cac gia tri ban dau cua bai toan n=30;%So ca the % Gia cac nguyen lieu (don vi ngan dong) a1=15; a2=11.5; a3=60; a4=20.6; a5=30; % Luong kho ca nguyen lieu (don vi tan) b1=500; b2=200; b3=50; b4=75.5; b5=2; d1=19; d2=5; d3=0.8; d4=0.6; d5=1.1; MT1=0;MT2=0; x=zeros(n,5); f1=zeros(n,1); f2=zeros(n,1); f3=zeros(n,1); f=zeros(n,1); % Tao quan the ngau nhien ban dau for i=1:n % Dieu kien rang buoc: x(i,1)+x(i,2)+x(i,3)+x(i,4)+x(i,5)=1 x(i,2)=rand; x(i,1)=rand; while x(i,1)>(1-x(i,2)) x(i,1)=rand; end; x(i,5)=rand; while x(i,5)>(1-x(i,1)-x(i,2)) x(i,5)=rand; end; x(i,4)=rand; while x(i,4)>(1-x(i,1)-x(i,2)-x(i,5)) x(i,4)=rand; Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 74 end; x(i,3)=1-x(i,1)-x(i,2)-x(i,5)-x(i,4); f1(i)=a1*x(i,1)+a2*x(i,2)+a3*x(i,3)+a4*x(i,4)+a5*x(i,5); t=[b1/x(i,1), b2/x(i,2),b3/x(i,3),b4/x(i,4),b5/x(i,5)]; tg=t(1); for k=2:5 if tg>t(k); tg=t(k); end; end; f2(i)=tg; f3(i)=abs(f1(i)-MT1)-abs(f2(i)-MT2); end; % cac tham so cua bai toan da muc tieu c=[10.20 11.90 39.00 45.34 61.49; 1.20 8.10 5.90 6.12 0.74; 0.08 0.20 0.19 0.35 5.39; 0.05 1.17 0.15 6.51 2.05; 2.60 12.35 15.00 6.03 4.05]; %bien cua thuat toan PSO c1=0.5+log(2); c2=c1; v=zeros(n,5); %vi tri tot nhat cua ca the da di qua p_x =x; %tinh gia tri ham muc tieu cho moi ca the for k=1:n f3(k)=f1(k)+f2(k); end; % khoi tao vecto van toc cho moi ca the for i=1:1:n v(i,:)=0;%0.01*rand(); end count=0;MIN=inf; while countt(k); tg=t(k); end; Số hóa trung tâm học liệu http://www.lrc.tnu.edu.vn/ 75 end; f2(i)=tg; f3(i)=abs(f1(i)-MT1)-abs(f2(i)-MT2); end; f=f3; p_f =f; % tim thong tin tot nhat quan the for s=1:n if (p_f(s) < MIN)&(p_f(s)>0) MIN=p_f(s); g_best=s; end; end; for i=1:n if f(i)

Ngày đăng: 23/03/2021, 22:14

Từ khóa liên quan

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

Tài liệu liên quan