Ứng dụng thuật toán di truyền giải bài toán đóng thùng

123 28 0
Ứng dụng thuật toán di truyền giải bài toán đóng thùng

Đ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

NGUYN NGC DNG giáo dục đào tạo trường đại học bách khoa hà nội - NGUYỄN NGỌC DƯƠNG ngµnh CNTT ỨNG DỤNG THUẬT TỐN DI TRUYỀN GIẢI BÀI TON ểNG THNG luận văn thạc sĩ NGàNH CÔNG NGHệ THÔNG TIN khoá 2007-2009 Hà nội 2009 giáo dục đào tạo trường đại học bách khoa hà néi - NGUYỄN NGỌC DƯƠNG ỨNG DỤNG THUẬT TOÁN DI TRUYỀN GII BI TON ểNG THNG luận văn thạc sĩ CÔNG NGHệ THÔNG TIN Người hướng dẫn khoa học : PGS.TS NGUYễN ĐứC NGHĩA Hà Nội 2009 Li cm n Đầu tiên xin bày tỏ biết ơn sâu sắc PGS TS Nguyễn Đức Nghĩa, thầy tận tình giảng dạy môn học chuyên ngành nhiệt tình hướng dẫn, giúp đỡ tơi hồn thành luận văn Tơi muốn bày tỏ lịng biết ơn thầy cô khoa Công nghệ Thông tin trường Đại học Bách khoa Hà Nội giảng dạy cho chúng tơi mơn học chun đề khóa học Cuối gia đình, đặc biệt người bạn đời tơi, người quan trọng lòng động viên tạo điều kiện giúp tơi tập trung hồn thành luận văn Mặc dù có nhiều cố gắng, kiến thức thời gian hạn chế nên chắn luận văn cịn nhiều thiếu sót Tôi xin chân thành cảm ơn mong nhận ý kiến đóng góp từ thầy bạn Những góp ý xin gửi địa chỉ: Nguyễn Ngọc Dương Bộ mơn Khoa học máy tính, khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội Email: duongnn@it-hut.edu.vn nguyenngocduong@gmail.com Hà Nội, ngày 21 tháng năm 2009 Nguyễn Ngọc Dương Học viên cao học Lớp Công nghệ thông tin 2007 – 2009 Trường Đại học Bách Khoa Hà Nội MỤC LỤC Danh mục hình vẽ iv Danh mục bảng vi Danh mục thuật ngữ tiếng Anh vii Chương MỞ ĐẦU 1.1 Lời mở đầu .1 1.2 Các khái niệm thuật ngữ sở 1.2.1 Bài tốn tính tốn, thuật tốn độ phức tạp tính tốn thuật tốn 1.2.2 Các kí hiệu tiệm cận .6 1.2.3 Độ phức tạp tính toán toán 1.2.4 NP- đầy đủ (NP – completeness) 11 1.3 Một số cách tiếp cận giải tốn NP-khó 18 1.3.1 Phương pháp xấp xỉ .18 1.3.2 Phương pháp xác xuất 19 1.3.3 Phương pháp heuristic 20 1.4 Bài tốn đóng thùng .21 1.4.1 Phát biểu toán 21 1.4.2 Các biến thể tốn đóng thùng 23 1.4.3 Ứng dụng tốn đóng thùng 25 Chương MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TOÁN ĐÓNG THÙNG .27 2.1 Tổng quan phương pháp giải tốn đóng thùng 27 2.2 Các phương pháp heuristic đơn giản .27 2.2.1 Các thuật toán trực tiếp 27 2.2.2 Các phương pháp không trực tiếp 34 2.3 Phương pháp xấp xỉ .37 Chương THUẬT TOÁN DI TRUYỀN .43 3.1 Sơ lược tính tốn tiến hóa thuật tốn di truyền 43 3.1.1 Lịch sử phát triển 43 3.1.2 Đặc điểm khả ứng dụng tính tốn tiến hóa 45 3.2 Sơ đồ hoạt động thuật toán di truyền 46 3.2.1 Giới thiệu số khái niệm 46 3.2.2 Sơ đồ chung thuật toán di truyền 50 3.3 Các thành phần thuật toán di truyền .53 3.3.1 Mã hóa lời giải .53 3.3.2 Toán tử chọn lọc 56 3.3.3 Toán tử lai ghép 59 3.3.4 Toán tử đột biến 63 3.3.5 Một số tham số quan trọng khác 65 3.4 Một số sở toán học thuật toán di truyền .67 3.4.1 Định lý schemata .67 3.4.2 Giả thuyết building block chế song song ngầm 69 3.5 Đặc điểm khả ứng dụng thuật toán di truyền 70 3.5.1 Đặc điểm thuật toán di truyền .70 3.5.2 Ứng dụng thuật toán di truyền .70 Chương THUẬT TOÁN DI TRUYỀN GIẢI BÀI TỐN ĐĨNG THÙNG 72 4.1 Mơ tả cách tiếp cận tốn đóng thùng theo thuật toán di truyền .72 4.1.1 Biểu diễn lời giải 72 4.1.2 Mô tả sơ đồ thực thuật toán 74 4.1.3 Xác định thơng số cho thuật tốn 75 4.2 Kết thực nghiệm 98 4.2.1 Bộ liệu thực nghiệm sử dụng 98 4.2.2 Kết chạy thực nghiệm 99 4.2.3 Nhận xét đánh giá 103 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 109 Tài liệu tham khảo 111 Danh mục hình vẽ Hình 1 Giải thích kí hiệu tiệm cận O, Ω, Θ Hình Mối quan hệ lớp toán P, NP Co-NP 14 Hình Sơ đồ phép quy dẫn 15 Hình Minh họa mối quan hệ lớp toán 17 Hình Danh sách số tốn NP-khó sơ đồ quy dẫn chúng 18 Hình Ví dụ liệu thuật toán NF hoạt động tồi 29 Hình 2 Ví dụ liệu FF hoạt động tồi .32 Hình Ví dụ liệu FFD BFD hoạt động tồi 35 Hình Minh họa nhóm đồ vật toán RBP 40 Hình Ví dụ mã hóa .56 Hình Minh họa lai ghép điểm cắt 59 Hình 3 Minh họa lai ghép điểm cắt 60 Hình Minh họa lai ghép đồng .60 Hình Minh họa phép lai ghép theo thứ tự 62 Hình Minh họa phép lai ghép đồng bồ theo thứ tự 62 Hình Khảo sát phụ thuộc thuật tốn di truyền vào tham số kích thước quần thể .82 Hình Khảo sát phụ thuộc giải thuật vào tham số xác suất lai ghép .86 Hình Khảo sát phụ thuộc giải thuật vào xác suất đột biến 91 Hình 4 Khảo sát phụ thuộc giải thuật vào số vòng lặp định mức rút gọn 96 Hình So sánh chung thuật tốn toàn 60 test 103 Hình So sánh thuật tốn số lượng test giải tối ưu 104 Hình So sánh test có 60 đồ vật 104 Hình So sánh test có 120 đồ vật 105 Hình So sánh test có 200 đồ vật 105 Hình 10 So sánh test có khoảng 250 đồ vật .106 Hình 11 So sánh test có khoảng 500 đồ vật 106 Hình 12 So sánh hiệu việc cài đặt thêm thủ tục leo đồi 107 Hình 13 So sánh chi phí thời gian việc cài đặt thêm thủ tục leo đồi 108 Danh mục bảng Bảng Kết thực nghiệm kích thước quần thể thay đổi 79 Bảng Tổng hợp đánh giá ảnh hưởng kích thước quẩn thể 81 Bảng Kết thực nghiệm xác suất lai ghép thay đổi .83 Bảng 4 Tổng hợp đánh giá ảnh hưởng xác suất lai ghép 86 Bảng Kết thực nghiệm xác suất đột biến thay đổi .87 Bảng Tổng hợp đánh giá ảnh hưởng xác suất đột biến 90 Bảng Kết thực nghiệm thay đổi số vòng lặp định mức rút gọn 93 Bảng Tổng hợp đánh giá ảnh hưởng số vòng lặp định mức rút gọn 95 Bảng Kết thực nghiệm giải thuật GA test 100 Bảng 10 Kết thực nghiệm giải thuật GA + R test .101 Bảng 11 Kết thực nghiệm giải thuật GA + R + H số test .102 Danh mục thuật ngữ tiếng Anh STT Thuật ngữ Approximation scheme Viết tắt Probabilistic method Phương pháp xác xuất Evolutionary computation Tính tốn tiến hóa Local search Tìm kiếm cục Genetic algorithm GA Đề nghị dịch tiếng Việt Thuật toán xấp xỉ, sơ đồ xấp xỉ Thuật toán di truyền Thuật toán di truyền lai Hybrid GA BPP Bài tốn đóng thùng Bin packing problem Relative performance ration Đảm bảo tỷ số chênh lệch tương đối Absolute performance guarantee Đảm bảo sai số tuyệt đối Polynomial time approximation schemes PTAS Sơ đồ xấp xỉ thời gian đa thức 10 Asymptotic worst-case performance ratio R A∞ Chỉ số hiệu tiệm cận tồi 11 Absolute worst-case performance ratio RA Chỉ số hiệu tuyệt đối tồi 12 Dynamic bin packing Bài tốn đóng thùng động 13 Bin covering problem Bài tốn phủ thùng 14 Variable-sized bin packing Bài tốn đóng thùng với dung lượng thùng chứa thay đổi 15 Multi-dimensional bin packing Bài tốn đóng thùng đa chiều 16 Restricted Bin Packing - RBP Bài tốn đóng thùng có ràng buộc 17 Online algorithms Thuật tốn tức thì, thuật tốn trực tiếp 18 Off-line algorithms Thuật tốn khơng trực tiếp, khơng tức 19 Next fit NF Thuật tốn khớp 20 First fit FF Thuật toán khớp 21 Best fit BF Thuật toán khớp nhiều 22 Worst fit WF Thuật tốn khớp 23 First fit decreasing FFD Thuật toán khớp giảm dần 24 Best fit decreasing BFD Thuật toán khớp nhiều giảm dần STT 25 Thuật ngữ Next fit decreasing Viết tắt NFD 26 Population Quần thể 27 Chromosomes Nhiễm sắc thể 28 Individual Cá thể 29 Genetic-inspired operators Toán tử di truyền 30 Selection Chọn lọc tự nhiên 31 Crossover, Recombination Lai ghép – hay gọi ghép chéo 32 Mutation Hiện tượng đột biến 33 Inversion Đảo đoạn 34 Fitness Độ thích nghi 35 Evaluation function Object function Hàm mục tiêu 36 Fitness landscape Khơng gian thích nghi 37 Generation Thế hệ 38 Roulette wheel selection Cơ chế lựa chọn theo bánh xe Roulette 39 Stochastic universal sampling Cơ chế lấy mẫu ngẫu nhiên toàn phần 40 Rank selection Chọn lọc xếp hạng 41 Tournament selection Chọn lọc theo giao đấu 42 K-point crossover Lai ghép theo điểm cắt 43 Uniform crossover Lai ghép đồng 44 Order-based crossover Lai ghép theo thứ tự 45 Uniform order-based crossover Lai ghép đồng theo thứ tự 46 Partially Matched Crossover 47 Hill climbing Kỹ thuật leo đồi 48 Reduction Size Kỹ thuật rút gọn kích thước lời giải 49 Building blocks Đơn vị cấu tạo lời giải Bộ phận lời giải hữu ích 50 Elitism Cơ chế bảo tồn số cá thể ưu tú 51 Triplet Phân bố theo PMC Đề nghị dịch tiếng Việt Thuật toán khớp giảm dần Lai ghép tương hợp phận Tổng số có 60 liệu: 35 liệu lấy từ OR-library (15 nhóm U, 20 nhóm T), 10 liệu lấy từ trang web Armin Scholl & Robert Klein 15 liệu sinh ngẫu nhiên 4.2.2 Kết chạy thực nghiệm Chương trình cài đặt thuật tốn di truyền GABP mơ tả mục để giải tốn đóng thùng viết ngơn ngữ C++, chạy máy PC Pentium IV 2.26 GHz, 256 MB RAM Với liệu, thuật toán thực lần, kết ghi nhận bao gồm lời giải (kí hiệu s bảng – đơn vị thùng chứa) thời gian tính (kí hiệu t – đơn vị giây) Dưới bảng thống kê kết thực nghiệm chương trình cài đặt giải thuật di truyền (GA), giải thuật di truyền có sử dụng kỹ thuật rút gọn lời giải (GA + R) giải thuật di truyền có sử dụng kỹ thuật rút gọn lời giải với kỹ thuật leo đồi (GA + R + H) Trong giải thuật này, thông số xác suất lai ghép, xác suất đột biến, kích thước quần thể, định mức rút gọn số vòng lặp giải thuật di truyền đặt giá trị đề xuất xác định phần khảo sát phụ lục I  Pc = 0.8  Pm = 0.1  PopSize = 35  ε = 0.02  GenNum = 500 Trong bảng thống kê kết thực nghiệm có sử dụng kí hiệu sau:  Opt kết tối ưu test Có lưu ý test loại D sinh ngẫu nhiên nên xác giá trị tối ưu bao nhiêu, Opt test tính  ∑  OPT =    B  Trong ∑a i tổng kích thước đồ vật test, cịn B kích thước  thùng chứa Nếu tìm lời giải giá trị Opt Opt lời giải tối ưu test, ngược lại ta không kết luận Opt có lời giải tối ưu hay không FFD kết giải thuật First Fit Decreasing test  Si Ti kết thời gian thực chương trình lần chạy thứ i  S T kết trung bình thời gian thực trung bình chương trình qua lần chạy  S* kết tốt chương trình lần chạy Bảng Kết thực nghiệm giải thuật GA test Test U120_00 U120_01 U120_02 U120_03 U120_04 U250_00 U250_01 U250_02 U250_03 U250_04 U500_00 U500_01 U500_02 U500_03 U500_04 T60_00 T60_01 T60_02 T60_03 T60_04 T120_00 T120_01 T120_02 T120_03 T120_04 T249_00 T249_01 T249_02 T249_03 T249_04 T501_00 T501_01 T501_02 T501_03 T501_04 D120_0 D120_1 D120_2 D120_3 D120_4 D200_0 D200_1 D200_2 D200_3 D200_4 D300_0 D300_1 D300_2 D300_3 D300_4 Hard0 Hard1 Opt 48 49 46 49 50 99 100 102 100 101 198 201 202 204 206 20 20 20 20 20 40 40 40 40 40 83 83 83 83 83 167 167 167 167 167 53 56 54 52 53 89 89 88 89 87 134 129 130 129 133 56 57 GA FFD 49 49 47 50 50 100 101 104 101 102 201 204 205 207 209 23 23 23 23 24 45 45 45 46 46 94 95 94 95 95 190 191 190 191 191 54 58 55 54 55 92 91 91 91 88 137 132 132 132 136 59 60 S1 T1 S2 T2 S3 T3 S4 T4 S5 T5 S T 49 49 46 50 50 100 101 103 101 102 201 203 204 207 209 21 21 21 21 21 42 42 43 42 43 90 89 88 90 89 182 181 181 179 181 54 58 55 53 55 91 90 90 91 88 136 132 132 131 135 57 58 12 12 11 11 12 52 48 51 48 51 201 181 180 183 190 3 3 11 10 11 11 11 46 42 43 43 43 176 173 183 170 171 12 12 11 12 12 31 31 32 31 31 68 67 68 67 68 26 25 48 49 46 50 50 100 101 104 101 102 200 203 204 207 208 21 21 21 21 21 43 42 42 42 42 89 89 87 89 89 183 179 180 180 179 54 58 55 53 54 91 90 90 91 88 136 132 132 131 135 58 58 11 13 12 13 12 55 47 49 49 51 211 181 181 184 183 3 10 11 11 11 11 44 44 44 43 43 172 175 178 168 168 12 12 12 11 11 32 31 33 31 31 68 68 67 68 68 25 26 48 49 46 49 50 100 101 103 101 102 201 203 204 206 208 21 21 21 21 21 42 42 43 42 42 89 89 88 89 89 180 180 180 181 182 54 58 55 53 54 91 91 90 90 88 136 132 132 132 136 57 58 12 13 12 13 12 48 48 49 49 50 180 181 181 183 184 3 3 11 11 11 11 10 44 45 47 43 44 174 177 176 171 170 11 12 12 12 12 31 32 31 31 30 68 68 68 67 68 26 26 49 49 46 49 50 100 101 103 101 102 200 203 204 207 209 21 21 21 21 21 42 42 42 43 42 89 90 88 90 89 180 181 179 181 180 54 58 55 53 54 91 91 90 91 88 136 131 132 131 136 58 59 11 12 12 13 12 52 47 50 51 48 179 181 181 181 183 3 3 11 11 10 11 11 43 43 46 42 44 172 178 178 168 169 12 12 12 12 12 31 31 30 31 31 69 67 68 68 68 25 26 49 49 46 50 50 100 101 103 101 102 200 203 204 206 208 21 21 21 21 21 43 42 42 42 43 89 89 88 89 89 183 181 180 181 180 53 58 55 53 54 91 91 90 91 88 136 132 132 132 136 57 59 12 12 12 14 12 48 48 49 50 51 180 181 180 189 186 3 11 11 11 11 11 44 44 44 44 44 178 174 174 172 169 12 12 12 12 12 32 31 31 31 31 68 68 68 68 68 26 25 48.6 49.0 46.0 49.6 50.0 100.0 101.0 103.2 101.0 102.0 200.4 203.0 204.0 206.6 208.4 21.0 21.0 21.0 21.0 21.0 42.4 42.0 42.4 42.2 42.4 89.2 89.2 87.8 89.4 89.0 181.6 180.4 180.0 180.4 180.4 53.8 58.0 55.0 53.0 54.2 91.0 90.6 90.0 90.8 88.0 136.0 131.8 132.0 131.4 135.6 57.4 58.4 11.6 12.4 11.8 12.8 12.0 51.0 47.6 49.6 49.4 50.2 190.2 181.0 180.6 184.0 185.2 3.0 3.2 3.2 3.2 3.0 10.8 10.8 10.8 11.0 10.8 44.2 43.6 44.8 43.0 43.6 174.4 175.4 177.8 169.8 169.4 11.8 12.0 11.8 11.8 11.8 31.4 31.2 31.4 31.0 30.8 68.2 67.6 67.8 67.6 68.0 25.6 25.6 S* 48 49 46 49 50 100 101 103 101 102 200 203 204 206 208 21 21 21 21 21 42 42 42 42 42 89 89 87 89 89 180 179 179 179 179 53 58 55 53 54 91 90 90 90 88 136 131 132 131 135 57 58 Test Opt GA FFD S1 Hard2 Hard3 Hard4 Hard5 Hard6 Hard7 Hard8 Hard9 56 55 57 56 57 55 57 56 60 59 60 59 60 59 60 60 58 57 59 58 58 57 58 58 T1 S2 26 25 26 25 26 26 26 27 59 57 59 58 58 57 58 58 T2 S3 26 26 25 26 26 25 26 27 58 57 58 58 59 57 58 58 T3 S4 26 26 26 25 26 26 26 28 58 58 59 57 58 57 58 57 T4 S5 25 25 26 26 25 25 25 27 58 57 59 58 58 56 58 58 T5 26 26 26 25 26 25 26 29 S* S T 58.2 57.2 58.8 57.8 58.2 56.8 58.0 57.8 25.8 25.6 25.8 25.4 25.8 25.4 25.8 27.6 58 57 58 57 58 56 58 57 Bảng 10 Kết thực nghiệm giải thuật GA + R test Test Opt FFD 48 49 46 49 50 99 100 102 100 101 198 201 202 204 206 20 20 20 20 20 40 40 40 40 40 83 83 83 83 83 167 167 167 167 167 53 56 54 52 49 49 47 50 50 100 101 104 101 102 201 204 205 207 209 23 23 23 23 24 45 45 45 46 46 94 95 94 95 95 190 191 190 191 191 54 58 55 54 GA + Reduction S1 U120_00 U120_01 U120_02 U120_03 U120_04 U250_00 U250_01 U250_02 U250_03 U250_04 U500_00 U500_01 U500_02 U500_03 U500_04 T60_00 T60_01 T60_02 T60_03 T60_04 T120_00 T120_01 T120_02 T120_03 T120_04 T249_00 T249_01 T249_02 T249_03 T249_04 T501_00 T501_01 T501_02 T501_03 T501_04 D120_0 D120_1 D120_2 D120_3 48 49 46 49 50 100 100 102 100 102 199 202 203 205 206 21 21 21 21 21 41 41 41 41 41 85 85 84 85 85 171 170 170 171 170 53 58 55 53 T1 1 1 4 10 13 33 1 1 1 1 2 2 6 2 S2 48 49 46 50 50 100 100 103 100 102 199 202 203 205 207 21 21 21 21 21 42 41 41 41 43 85 85 85 84 85 172 171 170 170 171 53 58 55 53 T2 1 9 12 16 26 0 0 1 1 1 2 7 S3 48 49 46 49 50 100 100 103 100 102 199 202 203 205 207 21 21 22 21 21 41 41 41 41 41 85 84 84 85 85 172 172 171 170 169 53 58 55 53 T3 1 1 4 12 15 1 0 1 2 2 5 2 S4 48 49 46 50 50 99 100 103 100 102 199 202 203 205 206 21 21 21 21 21 41 42 41 42 41 85 85 85 85 85 171 171 172 170 172 53 58 55 53 T4 1 1 10 13 9 0 1 1 0 2 5 S5 48 49 46 49 50 99 100 103 100 102 199 202 203 205 206 21 21 21 21 21 41 41 42 41 41 85 85 84 87 85 172 170 170 170 171 53 58 55 53 T5 1 1 2 10 4 23 13 0 0 1 1 2 S 48.0 49.0 46.0 49.4 50.0 99.6 100.0 102.8 100.0 102.0 199.0 202.0 203.0 205.0 206.4 21.0 21.0 21.2 21.0 21.0 41.2 41.2 41.2 41.2 41.4 85.0 84.8 84.4 85.2 85.0 171.6 170.8 170.6 170.2 170.6 53.0 58.0 55.0 53.0 T S* 1.4 1.0 1.0 1.0 1.8 6.2 3.4 7.0 3.8 4.2 8.4 11.0 9.8 19.8 8.2 0.2 0.4 0.4 0.4 0.4 0.8 0.6 0.8 0.8 0.8 1.8 1.8 1.8 2.0 2.0 6.6 6.6 5.4 5.6 5.2 1.2 4.2 3.2 1.2 48 49 46 49 50 99 100 102 100 102 199 202 203 205 206 21 21 21 21 21 41 41 41 41 41 85 84 84 84 85 171 170 170 170 169 53 58 55 53 Test Opt GA + Reduction FFD S1 D120_4 D200_0 D200_1 D200_2 D200_3 D200_4 D300_0 D300_1 D300_2 D300_3 D300_4 Hard0 Hard1 Hard2 Hard3 Hard4 Hard5 Hard6 Hard7 Hard8 Hard9 53 89 89 88 89 87 134 129 130 129 133 56 57 56 55 57 56 57 55 57 56 55 92 91 91 91 88 137 132 132 132 136 59 60 60 59 60 59 60 59 60 60 T1 54 91 91 89 90 87 137 130 131 130 135 56 58 57 56 58 57 57 56 58 57 36 2 3 2 S2 54 91 90 89 90 87 136 130 131 130 134 56 57 57 56 58 57 57 56 57 57 T2 28 2 2 2 2 S3 54 90 90 89 91 88 137 131 131 130 135 56 57 57 56 58 57 57 55 58 57 T3 3 14 5 2 3 2 S4 54 90 90 89 90 87 137 130 131 130 135 56 57 57 56 58 57 57 56 57 57 T4 3 15 3 2 3 2 2 S5 54 90 90 89 90 88 135 130 131 130 135 56 57 58 57 58 57 57 55 57 57 T5 3 10 2 2 2 S 54.0 90.4 90.2 89.0 90.2 87.4 136.4 130.2 131.0 130.0 134.8 56.0 57.2 57.2 56.2 58.0 57.0 57.0 55.6 57.4 57.0 T S* 0.8 3.0 3.2 2.8 4.4 2.4 8.2 3.4 18.2 4.0 4.8 2.2 2.2 2.0 2.2 2.8 2.4 2.2 1.8 2.4 2.0 54 90 90 89 90 87 135 130 131 130 134 56 57 57 56 58 57 57 55 57 57 Bảng 11 Kết thực nghiệm giải thuật GA + R + H số test Test GA Opt GA + Reduction S T S T S* GA + Reduction + Hill Climbing (5 step) S1 T1 S2 T2 S3 T3 S T S* T60_00 20 21.0 3.0 21.0 0.2 21 22 21 21 21.3 1.3 21 T60_01 20 21.0 3.2 21.0 0.4 21 21 21 21 21.0 1.3 21 T60_02 20 21.0 3.2 21.2 0.4 21 21 21 21 21.0 1.7 21 T60_03 20 21.0 3.2 21.0 0.4 21 22 21 21 21.3 1.7 21 T60_04 20 21.0 3.0 21.0 0.4 21 22 22 21 21.7 1.3 21 T120_00 40 42.4 10.8 41.2 0.8 41 42 41 41 41.3 3.7 41 T120_01 40 42.0 10.8 41.2 0.6 41 41 41 42 41.3 2.7 41 T120_02 40 42.4 10.8 41.2 0.8 41 42 41 41 41.3 5.7 41 T120_03 40 42.2 11.0 41.2 0.8 41 41 42 41 41.3 3.0 41 T120_04 40 42.4 10.8 41.4 0.8 41 42 41 41 41.3 3.0 41 T249_00 83 89.2 44.2 85.0 1.8 85 86 11 87 46 85 21 86.0 26.0 85 T249_01 83 89.2 43.6 84.8 1.8 84 85 14 85 18 84 15 84.7 15.7 84 T249_02 83 87.8 44.8 84.4 1.8 84 85 14 85 17 85 21 85.0 17.3 85 T249_03 83 89.4 43.0 85.2 2.0 84 85 25 85 15 85 41 85.0 27.0 85 T249_04 83 89.0 43.6 85.0 2.0 85 84 12 85 10 86 85.0 10.3 84 T501_00 167 181.6 174.4 171.6 6.6 171 171 35 170 32 171 44 170.7 37.0 170 T501_01 167 180.4 175.4 170.8 6.6 170 172 58 170 39 170 41 170.7 46.0 170 T501_02 167 180.0 177.8 170.6 5.4 170 169 30 171 22 170 58 170.0 36.7 169 Test GA Opt GA + Reduction GA + Reduction + Hill Climbing (5 step) S T S T S* S1 T1 S2 T2 S3 T3 S T S* T501_03 167 180.4 169.8 170.2 5.6 170 172 39 171 52 170 45 171.0 45.3 170 T501_04 167 180.4 169.4 170.6 5.2 169 171 59 172 33 171 28 171.3 40.0 171 4.2.3 Nhận xét đánh giá Trên 60 test, tổng giá trị OPT 5232, tổng số lượng thùng FFD sử dụng 5542 (bằng 105,93% tổng OPT) thùng GA tính trung bình lần thực dùng tất 5406.4 thùng (bằng 103,33% tổng OPT 97,55 % FFD) GA có cài đặt kỹ thuật rút gọn kích thước tốn tính trung bình lần thực sử dụng hết 5303 thùng (bằng 101,36 % OPT, 98,09 % GA không cài đặt kỹ thuật rút gọn kích thước tốn) Trong tổng số 60 test, FFD tìm lời giải tối ưu, GA tìm GA có cài đặt kỹ thuật rút gọn kích thước tốn (GA + R) tìm 17 Hai liệu mà FFD tìm lời giải tối ưu liệu U120, GA tìm lời giải tối ưu cho liệu U120 liệu D120 Cịn thuật tốn GA + R tìm thêm lời giải tối ưu số test loại khác 5600 108.00% 5542 5500 105.00% 5406 5400 105.93% 5303 5300 103.33% 5200 5232 102.00% 101.36% 100% 99.00% 5100 5000 96.00% FFD GA GA + R OPT Hình So sánh chung thuật tốn tồn 60 test 60 60 50 Test 40 30 17 20 10 GA FFD GA + R OPT Thùng Hình So sánh thuật tốn số lượng test giải tối ưu 24 24 23 23 22 21.2 21 21 23 23 21 21 21 20 20 20 20 20 T60_01 T60_02 20 18 T60_00 OPT FFD GA T60_03 T60_04 GA + R Hình So sánh test có 60 đồ vật Thùng 52 50 48 46 44 42 40 OPT GA 0_ 04 0_ 03 T1 0_ 02 T1 0_ 01 T1 FFD T1 0_ 00 T1 _0 U 12 _0 U 12 _0 _0 12 U 12 U U 12 _0 38 GA + R 61 60 59 58 57 56 55 54 OPT FFD GA ar d9 H ar d8 H ar d7 H ar d6 H ar d5 H ar d4 H ar d3 H ar d2 H ar d1 H ar d0 53 H Thùng Hình So sánh test có 120 đồ vật GA + R Hình So sánh test có 200 đồ vật Thùng 110 105 100 95 90 85 80 T2 49 _0 T2 49 _0 T2 49 _0 T2 49 _0 T2 49 _0 U 25 0_ U 25 0_ 25 0_ U 25 0_ U U 25 0_ 0 75 GA FFD OPT GA + R Thùng Hình 10 So sánh test có khoảng 250 đồ vật 213 208 203 198 193 188 183 178 173 168 T5 01 _0 T5 01 _0 T5 01 _0 T5 01 _0 T5 01 _0 50 0_ U 50 0_ OPT U 50 0_ U 50 0_ U U 50 0_ 0 163 FFD GA GA+R Hình 11 So sánh test có khoảng 500 đồ vật Mặc dù có chi phí thời gian lẫn nhớ lớn hẳn, GA không tỏ thực vượt trội so với FFD Lý trình tìm kiếm GA thiếu thủ tục Heuristic để dẫn đường hiệu bên cạnh toán tử di truyền, thiếu chế để bảo vệ kết tìm kiếm hữu ích tránh khỏi bị mát trình tiến hố Việc cài đặt thêm kỹ thuật rút gọn kích thước tốn cho phép cải thiện lời giải GA lên rõ rệt, đặc biệt liệu khó giúp tránh tình trạng phận lời giải hữu ích (building block) bị phá hủy trình thực thuật toán di truyền Tuy nhiên lời giải GA + R khơng phải lúc ổn định rút gọn kích thước tốn dễ làm ta rơi vào cực trị địa phương Không cải thiện chất lượng lời giải, việc sử dụng kỹ thuật rút gọn kích thước tốn cho phép giảm đáng kể thời gian tính GA Cuối cùng, ta phân tích trường hợp thuật tốn di truyền có cài đặt thủ tục leo đồi để hỗ trợ tìm kiếm lời giải Các kết so sánh hình 4.12 4.13 cho thấy: So với thuật toán di truyền cài đặt kỹ thuật rút gọn kích thước tốn, ta thấy hiệu hoạt động (trung bình) thuật tốn di truyền có cài đặt kỹ thuật rút gọn kích thước tốn kỹ thuật leo đồi nhìn chung khơng có thay đổi rõ ràng Xét chi tiết ta thấy bị giảm test có kích thước nhỏ (T60, T120, T249) tăng liệu kích thước lớn (T501) 200 Thùng  160 120 80 40 Test GA + R GA + R + H Hình 12 So sánh hiệu việc cài đặt thêm thủ tục leo đồi Seconds 50 45 40 35 30 25 20 15 10 Test GA + R's time GA + R + H's time Hình 13 So sánh chi phí thời gian việc cài đặt thêm thủ tục leo đồi  Trong cải thiện lời giải chưa rõ nét gia tăng chi phí thời gian rõ ràng Chi phí thời gian tăng nhanh với test kích thước lớn, chủ yếu chi phí thao tác leo núi tăng nhanh  Sự hạn chế việc nâng cao hiệu hoạt động cài đặt thêm kỹ thuật leo đồi nêu xuất phát từ việc kỹ thuật rút gọn kích thước tốn đưa lời giải rơi vào cực trị địa phương, thủ tục leo đồi tìm cực trị địa phương Những phân tích cho thấy: Với việc cho lời giải tốt với chi phí chấp nhận test, thuật toán di truyền áp dụng để giải liệu tổng qt tốn đóng thùng Mặc dù thuật tốn di truyền giải tốn đóng thùng cho lời giải tối ưu với liệu Vì vần cần phải có nghiên cứu tiếp tục để nâng cao hiệu thuật toán di truyền KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Đánh giá chung Mục đích luận văn tìm hiểu thuật tốn di truyền từ xây dựng thuật tốn di truyền giải tốn đóng thùng Những nhiệm vụ hoàn thành Luận văn khảo sát vấn đề sau:  Khảo sát chi tiết toán đóng thùng, tổng quan phương pháp giải  Tìm hiểu sơ đồ làm việc thuật toán di truyền, phương pháp tiến hành toán tử di truyền số lý thuyết sở thuật toán di truyền  Xây dựng cài đặt thuật toán di truyền để giải tốn đóng thùng với kết thực nghiệm khả quan Kết thực chương trình cho thấy thuật tốn đề xuất luận văn cho lời giải tốt so với lời giải đưa phương pháp thơng thường để giải tốn đóng thùng Best Fit, First Fit, First Fit Decreasing Thuật toán đề xuất cho kết ổn định Hướng phát triển Mặc dù luận văn nhiều nhiều điểm cần giải quyết, bật 1) Số lượng liệu mà chương trình tìm lời giải tối ưu hạn chế thấp so sánh với cài đặt khác thuật toán di truyền Trong [8], tác giả E Falkenauer đề xuất thuật toán di truyền nhóm lai (Hybrid grouping genetic algorithm HGGA) kết chạy thực nghiệm thuật toán HGGA tốt trả kết kết tối ưu kết tốt biết phần lớn test (75/80 test nhóm U, 78/80 test nhóm T, [8]) Để cải thiện chất lượng lời giải tốt hơn, hướng cần làm đưa vào thuật toán thủ tục hỗ trợ tìm kiếm hiệu hơn, đặc biệt thuật tốn leo đồi, để tận dụng kết cận cực trị tìm 2) Vì thuật tốn di truyền tìm kiếm đồng thời nhiều điểm khơng gian tìm kiếm cách độc lập với ta song song hóa thuật tốn di truyền để giảm thời gian tính 3) Bài tốn đóng thùng xem xét tốn đóng thùng chiều, ngồi cịn có nhiều biến thể khác tốn đóng thùng có nhiều ứng dụng rộng rãi, ví dụ tốn đóng thùng chiều, chiều, tốn đóng thùng động Với kết thu được, thuật tốn mở rộng để giải biến thể tốn đóng thùng Thay cho lời kết, hy vọng kết đạt được, luận văn đóng góp phần định cho hướng nghiên cứu sử dụng giải thuật di truyền để giải toán tối ưu NP – khó quan tâm nhiều Bên cạnh tạo tảng ban đầu cho việc tiếp tục mở rộng, phát triển đề tài sau Tài liệu tham khảo [1] Nguyễn Đức Nghĩa (2004), Bài giảng chun đề phân tích thiết kế thuật tốn, ĐHBK Hà nội [2] Nguyễn Đức Nghĩa, Nguyễn Ngọc Dương (2006), “Về thuật toán di truyền lai giải toán đóng thùng”, Kỷ yếu hội nghị khoa học lần thứ 20 trường Đại học Bách Khoa Hà Nội, phân ban Công nghệ thông tin, Hà Nội, trang 16 – 23 [3] Beastley J.E (1990), “OR-Library: distributing test problems by electronic mail”, Journal of the Operational Research Society, 41(11), pp.1069-1072 [4] Coffman E.G Jr, M.R Garey, D.S Johnson (1996), “Approximation for bin packing: a survey”, in Approximation Algorithms for NP-hard Problems, D Hochbaum Ed., PWS Publishing, Boston, pp 46-93 [5] Davis L (1985), “Bin-packing and graph-colouring problem via GA”, Proc of an International Conf on Genetic Algorithms, London [6] Falkenauer, E., & Delchambre, A (1992) “A genetic algorithm for bin packing and line balancing”, In Proc of the IEEE 1992 International Conference on Robotics and Automation, pp 1186 1192 Nice, France [7] Falkenauer E (1994), Setting new limits in bin packing with a grouping GA using reduction, Technical report, CRIF - Research Centre for Belgian Metalworking Industry, Brussels [8] Falkenauer E (1996), “A hybrid grouping genetic algorithm for bin packing”, Journal of Heuristics, pp 25 30, [9] Garey M.R and Johnson D.S (1979), Computers and Intractability – A Guide to the Theory of NP-Completeness, W.H Freeman Co., San Francisco, USA [10] Goldberg D.E (1989), Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Readding, Mass [11] Gonzalez T.F (2007), Handbook of approximation algorithms and metaheuristics, 1st Edition, chapter 32, 33, 34, 35, Chapman & Hall/CRC Computer and Information Science Series, Florida [12] Holland J.H (1975), Addaptation in Natural and Artificial Systems, Univ of Michigan Press, Ann Arbor, 1975 [13] Lewis J E., Rammohan K R., and Kumar A A (2003), “A Multiple Copy Distributed Genetic Algorithm for Bin-Packing”, The 2003 International Conference on Parallel and Distributed Processing Techniques and Applications, Monte Carlo Resort, Las Vegas, Nevada, USA, June 23 - 26, 2003 (PDPTA '03) [14] Lewis J.E., Ragade R.K., Kumar A and Biles W E (2003), “A Distributed Chromosome Genetic Algorithm For Bin-Packing”, Flexible Automation & Intelligent Manufacturing 2003 (FAIM 2003) [15] Mitchell M (1999), An introduction to genetic algorithms MIT Press [16] Reeves C.R (1993), “Hybrid genetic algorithms for bin-packing and related problems”, Annals of OR, 63, pp 371 396 [17] Sastry K., Goldberg D and Kendall G (2005), “Genetic Algorithms”, Chapter of Introductory Tutorials in Optimisation, Decision Support and Search Methodology, (eds E Burke and G Kendall), pp.97-125, Kluwer [18] Smith D (1985), “Bin packing with adaptive search”, In Proc of an International Conf on Genetic Algorithms and their applications, Grefenstette J.J Ed Lawrence Erlbaum Associates, Hillsdale, NJ ... building block chế song song ngầm 69 3.5 Đặc điểm khả ứng dụng thuật toán di truyền 70 3.5.1 Đặc điểm thuật toán di truyền .70 3.5.2 Ứng dụng thuật toán di truyền .70 Chương THUẬT... 3: Thuật toán di truyền Chương nhắc lại chút lịch sử thuật tốn di truyền, mơ tả sơ đồ hoạt động chung số tảng lý thuyết khác thuật toán di truyền Chương 4: Thuật toán di truyền giải tốn đóng thùng. .. THUẬT TỐN DI TRUYỀN GIẢI BÀI TỐN ĐĨNG THÙNG 72 4.1 Mơ tả cách tiếp cận tốn đóng thùng theo thuật toán di truyền .72 4.1.1 Biểu di? ??n lời giải 72 4.1.2 Mô tả sơ đồ thực thuật toán

Ngày đăng: 28/02/2021, 00:22

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan