Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 123 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
123
Dung lượng
17,76 MB
Nội dung
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 lu an n va g CNTT ngµnh tn to ep hi ỨNG DỤNG THUẬT TỐN DI TRUYỀN GIẢI BÀI TỐN ĐĨNG THÙNG d oa nl w an lu nf va luận văn thạc sĩ NGàNH CÔNG NGHệ THÔNG TIN z at nh oi lm ul z gm @ kho¸ 2007-2009 m co l Hµ néi – 2009 an Lu n va ac th si 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 GIẢI BÀI TOÁN ĐÓNG THÙNG lu an n va gh tn to p ie luận văn thạc sĩ CÔNG NGHệ THÔNG TIN d oa nl w nf va an lu z at nh oi lm ul Ngêi híng dÉn khoa häc : PGS.TS NGUN §øC NGHÜA z m co l gm @ Hµ Néi – 2009 an Lu n va ac th si Lời cảm ơ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 chúng tơi mơn học chun 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 khoa Cơng nghệ Thông tin trường Đại học Bách khoa Hà Nội giảng dạy cho môn học chuyên đề khóa học Cuối gia đình, đặc biệt người bạn đời tôi, người quan trọng lu 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 an n va Mặc dù có nhiều cố gắng, kiến thức thời gian hạn chế nên chắ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 p ie gh tn to 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 d oa nl w an lu Hà Nội, ngày 21 tháng năm 2009 Nguyễn Ngọc Dương nf va Học viên cao học z at nh oi lm ul Lớp Công nghệ thông tin 2007 – 2009 Trường Đại học Bách Khoa Hà Nội z m co l gm @ an Lu n va ac th si 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 lu an n va p ie gh tn to 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 d oa nl w nf va an lu z at nh oi lm ul Chương MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TỐ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 z m co l gm @ 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 an Lu n va ac th si 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 lu an n va p ie gh tn to Chươ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 74 4.1.3 Xác định thông số cho thuật toá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 oa nl w KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 109 d lu nf va an Tài liệu tham khảo 111 z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 lu Hình Danh sách số tốn NP-khó sơ đồ quy dẫn chúng 18 an va n Hình Ví dụ liệu thuật toán NF hoạt động tồi 29 gh tn to Hình 2 Ví dụ liệu FF hoạt động tồi .32 ie Hình Ví dụ liệu FFD BFD hoạt động tồi 35 p Hình Minh họa nhóm đồ vật tốn RBP 40 nl w oa Hình Ví dụ mã hóa .56 d Hình Minh họa lai ghép điểm cắt 59 lu nf va an Hình 3 Minh họa lai ghép điểm cắt 60 Hình Minh họa lai ghép đồng .60 lm ul Hình Minh họa phép lai ghép theo thứ tự 62 z at nh oi 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 z gm @ 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 l m co Hình Khảo sát phụ thuộc giải thuật vào xác suất đột biến 91 an Lu n va ac th si 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 tồn 60 test 103 Hình So sánh thuật toá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 lu an Hình 12 So sánh hiệu việc cài đặt thêm thủ tục leo đồi 107 n va Hình 13 So sánh chi phí thời gian việc cài đặt thêm thủ tục leo đồi 108 p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 lu an Bảng Tổng hợp đánh giá ảnh hưởng xác suất đột biến 90 va Bảng Kết thực nghiệm thay đổi số vòng lặp định mức rút gọn 93 n tn to Bảng Tổng hợp đánh giá ảnh hưởng số vòng lặp định mức rút gọn 95 ie gh Bảng Kết thực nghiệm giải thuật GA test 100 p Bảng 10 Kết thực nghiệm giải thuật GA + R test .101 d oa nl w Bảng 11 Kết thực nghiệm giải thuật GA + R + H số test 102 nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si Danh mục thuật ngữ tiếng Anh STT Thuật ngữ Approximation scheme Probabilistic method Phương pháp xác xuất Evolutionary computation Tính tốn tiến hóa Local search Genetic algorithm Tìm kiếm cục lu Viết tắt GA an Hybrid 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 n va 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 to gh tn BPP Bài tốn đóng thùng 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 13 Bin covering problem 14 Variable-sized bin packing 15 Multi-dimensional bin packing Bài toá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 18 Off-line algorithms 19 Next fit NF Thuật toá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 Best fit decreasing FFD Thuật toán khớp giảm dần BFD Thuật toán khớp nhiều giảm dần p ie Polynomial time approximation schemes d oa nl w an lu Bài toán phủ thùng nf va Bài tốn đóng thùng với dung lượng thùng chứa thay đổi z at nh oi lm ul Thuật tốn tức thì, thuật tốn trực tiếp Thuật tốn khơng trực tiếp, khơng tức z m co l gm @ an Lu 24 Bài tốn đóng thùng động n va ac th si lu an n va Thuật ngữ Next fit decreasing 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 Chọn lọc tự nhiên 31 Selection 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 Rank selection Chọn lọc xếp hạng 41 42 Tournament selection K-point crossover Chọn lọc theo giao đấu 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 48 Reduction Size 49 Building blocks 50 51 Elitism Triplet p ie 40 Viết tắt NFD gh tn to STT 25 d oa nl w nf va an lu 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 Kỹ thuật rút gọn kích thước lời giải Đơn vị cấu tạo lời giải Bộ phận lời giải hữu ích z at nh oi lm ul Kỹ thuật leo đồi z Cơ chế bảo toàn số cá thể ưu tú Phân bố theo m co l gm @ an Lu n va ac th si 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) lu an n va p ie gh tn to 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 GenNum = 500 oa nl w ε = 0.02 d 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 an lu ngẫu nhiên nên khơng biết xác giá trị tối ưu bao nhiêu, Opt nf va test tính z at nh oi lm ul ∑ a OPT = i B Trong ∑ a i tổng kích thước đồ vật test, cịn B kích thước 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 z 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 m co l gm @ an Lu qua lần chạy n va ac th si 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 Opt GA FFD T1 S1 lu an n va gh tn to p d oa T4 T5 S5 S S* T 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 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 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 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 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 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 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 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 91 91 90 90 88 136 132 132 132 136 57 58 31 32 31 31 30 68 68 68 67 68 26 26 91 91 90 91 88 136 131 132 131 136 58 59 31 31 30 31 31 69 67 68 68 68 25 26 91 91 90 91 88 136 132 132 132 136 57 59 32 31 31 31 31 68 68 68 68 68 26 25 91 90.6 90.0 90.8 88.0 136.0 131.8 132.0 131.4 135.6 57.4 58.4 31 31.2 31.4 31.0 30.8 68.2 67.6 67.8 67.6 68.0 25.6 25.6 91 90 90 90 88 136 131 132 131 135 57 58 m co l gm @ an Lu 32 31 33 31 31 68 68 67 68 68 25 26 S4 z 91 90 90 91 88 136 132 132 131 135 58 58 T3 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 lm ul 31 31 32 31 31 68 67 68 67 68 26 25 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 S3 z at nh oi 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 T2 nf va 91 90 90 91 88 136 132 132 131 135 57 58 lu 92 91 91 91 88 137 132 132 132 136 59 60 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 an 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 nl w 89 89 88 89 87 134 129 130 129 133 56 57 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 D200 D200 D200_2 D200_3 D200_4 D300_0 D300_1 D300_2 D300_3 D300_4 Hard0 Hard1 ie 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 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 S2 n va ac th si Test Opt GA FFD T1 S1 56 55 57 56 57 55 57 56 Hard2 Hard3 Hard4 Hard5 Hard6 Hard7 Hard8 Hard9 60 59 60 59 60 59 60 60 58 57 59 58 58 57 58 58 T2 S2 26 25 26 25 26 26 26 27 59 57 59 58 58 57 58 58 T3 S3 26 26 25 26 26 25 26 27 58 57 58 58 59 57 58 58 T4 S4 26 26 26 25 26 26 26 28 58 58 59 57 58 57 58 57 T5 S5 25 25 26 26 25 25 25 27 58 57 59 58 58 56 58 58 26 26 26 25 26 25 26 29 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 S* 58 57 58 57 58 56 58 57 Bảng 10 Kết thực nghiệm giải thuật GA + R test lu an Test Opt va n ie gh tn to nl w T1 S2 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 1 1 4 10 13 33 1 1 1 1 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 1 9 12 16 26 0 0 1 1 1 d an lu nf va T2 S3 T3 S4 T4 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 1 1 4 12 15 1 0 1 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 1 1 10 13 9 0 1 1 0 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 1 1 2 10 4 23 13 0 0 1 1 z at nh oi lm ul 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 S1 oa 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 p 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 GA + Reduction FFD S5 T5 T 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 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 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 S 83 94 84 85 84 85 84 84.4 1.8 84 T249 03 T249 04 T501_00 T501_01 T501_02 T501_03 T501_04 D120_0 D120_1 D120_2 D120_3 83 83 167 167 167 167 167 53 56 54 52 95 95 190 191 190 191 191 54 58 55 54 85 85 171 170 170 171 170 53 58 55 53 2 6 2 84 85 172 171 170 170 171 53 58 55 53 7 85 85 172 172 171 170 169 53 58 55 53 2 5 2 85 85 171 171 172 170 172 53 58 55 53 2 5 87 85 172 170 170 170 171 53 58 55 53 85 85.0 171.6 170.8 170.6 170.2 170.6 53.0 58.0 55.0 53.0 20 2.0 6.6 6.6 5.4 5.6 5.2 1.2 4.2 3.2 1.2 84 85 171 170 170 170 169 53 58 55 53 z T249_02 m co l gm @ an Lu n va ac th si Test Opt lu an 53 89 89 88 89 87 134 129 130 129 133 56 57 56 55 57 56 57 55 57 56 n va 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 GA + Reduction FFD 55 92 91 91 91 88 137 132 132 132 136 59 60 60 59 60 59 60 59 60 60 S1 T1 S2 T2 S3 T3 S4 T4 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 54 91 90 89 90 87 136 130 131 130 134 56 57 57 56 58 57 57 56 57 57 28 2 2 2 2 54 90 90 89 91 88 137 131 131 130 135 56 57 57 56 58 57 57 55 58 57 3 14 5 2 3 2 54 90 90 89 90 87 137 130 131 130 135 56 57 57 56 58 57 57 56 57 57 3 15 3 2 3 2 2 S5 T5 54 90 90 89 90 88 135 130 131 130 135 56 57 58 57 58 57 57 55 57 57 S 3 10 2 2 2 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 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 tn to p ie gh Bảng 11 Kết thực nghiệm giải thuật GA + R + H số test GA T 21.0 3.2 20 21.0 3.2 T60_03 T120_00 T120_02 T120_03 T120_04 40 40 40 40 40 83 21.0 21.0 42.4 42.0 42.4 42.2 42.4 89.2 3.2 3.0 10.8 10.8 10.8 11.0 10.8 44.2 S 21.3 S* T 1.3 21 21 21 21 21 21.0 1.3 21 0.4 21 21 21 21 21.0 1.7 21 21.0 21.0 41.2 41.2 41.2 41.2 41.4 85.0 0.4 0.4 0.8 0.6 0.8 0.8 0.8 1.8 21 21 22 41 41 41 41 41 85 22 42 41 42 41 42 86 11 1.8 84 85 14 84.4 1.8 84 85 14 85.2 T501_00 167 181.6 174.4 171.6 2.0 2.0 6.6 84 85 85 84 171 171 25 12 35 46 41 85 41.3 86.0 41 2.7 41 5.7 41 3.0 41.3 21 21 3.7 41.3 21 1.3 41.3 41 3.0 41 26.0 85 85 18 84 15 84.7 15.7 84 85 17 85 21 85.0 17.3 85 85 85 170 15 10 32 85 41 86 171 85.0 27.0 85.0 44 170.7 85 10.3 37.0 84 170 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 an Lu T501_01 m co 85.0 41 41.3 41 41 1.7 21.7 42 21.3 l 43.6 41 41 21 gm 84.8 44.8 89.0 41 87 21 @ 43.6 87.8 83 22 42 89.2 T249_04 21 41 83 43.0 21 T3 0.4 83 89.4 S3 21.2 T249_02 83 21 T2 21.0 T249_01 T249_03 S2 z T249_00 20 22 T1 z at nh oi T120_01 20 21 S1 lm ul T60_04 0.2 nf va 20 T60_02 S* T an T60_01 21.0 lu 3.0 S d 21.0 oa 20 GA + Reduction + Hill Climbing (5 step) nl Opt S T60_00 GA + Reduction w Test n va ac th si Test GA Opt S GA + Reduction T S GA + Reduction + Hill Climbing (5 step) S* T S1 T1 S2 T2 S3 T3 S S* T 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á lu an n va tn to 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% gh 5542 ie 5500 105.00% p 5406 5400 105.93% 103.33% oa nl w 5303 5300 5200 102.00% 5232 d 101.36% 99.00% lu 100% 5100 nf va an 5000 FFD 96.00% GA GA + R OPT lm ul z at nh oi Hình So sánh chung thuật tốn tồn 60 test z m co l gm @ an Lu n va ac th si 60 60 50 Test 40 30 17 20 10 FFD GA GA + R OPT Hình So sánh thuật toán số lượng test giải tối ưu lu an n Thùng va 24 24 23 23 gh tn to 23 23 22 ie 21.2 21 21 21 21 p 21 20 20 20 20 20 d oa nl w 20 lu 18 T60_01 OPT nf va an T60_00 T60_02 FFD T60_03 GA T60_04 GA + R lm ul Hình So sánh test có 60 đồ vật z at nh oi z m co l gm @ an Lu n va ac th si Thùng 52 50 48 46 44 42 40 n tn to OPT FFD GA _0 T1 20 _0 T1 20 _0 20 _0 T1 20 T1 T1 20 _0 04 0_ 03 U 12 0_ 02 U 12 0_ 01 12 0_ 12 U U 12 va 0_ 00 an U lu 38 GA + R 61 60 oa nl d 59 nf va an lu 57 lm ul 56 z at nh oi 55 54 z d9 H ar d8 H ar d7 ar d6 ar d5 ar d4 H H ar d3 H ar d2 ar d1 H ar ar d0 H H GA GA + R m co FFD l OPT gm @ 53 H 58 H w Thùng p ie gh Hình So sánh test có 120 đồ vật an Lu Hình So sánh test có 200 đồ vật n va ac th si Thùng 110 105 100 95 90 85 80 T2 49 _0 T2 49 _0 T2 49 _0 T2 49 _0 U 25 0_ 00 U 25 0_ 01 U 25 0_ 02 U 25 0_ 03 U 25 0_ 04 T2 49 _0 75 lu an OPT FFD GA GA + R va n Hình 10 So sánh test có khoảng 250 đồ vật gh tn to p Thùng ie 213 203 198 d oa nl w 208 188 nf va 183 an lu 193 lm ul 178 z at nh oi 173 168 z U 50 0_ 00 U 50 0_ 01 U 50 0_ 02 U 50 0_ 03 U 50 0_ 04 T5 01 _0 T5 01 _0 T5 01 _0 T5 01 _0 T5 01 _0 163 FFD GA gm @ OPT GA+R co l m Hình 11 So sánh test có khoảng 500 đồ vật an Lu n va ac th si 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 cịn 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 q 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 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 lu 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 an kích thước tốn kỹ thuật leo đồi nhìn chung khơng có thay đổi rõ ràng va n Xét chi tiết ta thấy bị giảm test có kích thước nhỏ (T60, T120, gh tn to T249) tăng liệu kích thước lớn (T501) p ie Thùng 200 160 nl w 120 d oa 80 an lu 40 nf va Test GA + R + H lm ul GA + R z at nh oi Hình 12 So sánh hiệu việc cài đặt thêm thủ tục leo đồi z m co l gm @ an Lu n va ac th si 50 Seconds 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 lu an Trong cải thiện lời giải chưa rõ nét gia tăng chi phí thời gian va n rõ ràng Chi phí thời gian tăng nhanh với test kích thước lớn, chủ yếu tn to 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 ie gh p nêu xuất phát từ việc kỹ thuật rút gọn kích thước tốn đưa w 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 oa nl phương d 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 tốn di truyền áp dụng để giải liệu tổng quát 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 nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Đánh giá chung lu 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: an n va 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 p ie gh tn to Xây dựng cài đặt thuật tốn di truyền để giải tốn đóng thùng với kết w d oa nl thực nghiệm khả quan an lu Kết thực chương trình cho thấy thuật toán đề xuất luận văn cho lời nf va 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 z at nh oi Hướng phát triển lm ul kết ổn định z Mặc dù luận văn nhiều nhiều điểm cần giải quyết, bật @ gm 1) Số lượng liệu mà chương trình tìm lời giải tối ưu cịn hạn chế thấp l so sánh với cài đặt khác thuật toán di truyền Trong [8], tác giả E co Falkenauer đề xuất thuật tốn di truyền nhóm lai (Hybrid grouping genetic algorithm - m HGGA) kết chạy thực nghiệm thuật toán HGGA tốt trả kết an Lu n va ac th si 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 tốn thủ tục hỗ trợ tìm kiếm hiệu hơn, đặc biệt thuật toá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ụ lu tốn đóng thùng chiều, chiều, tốn đóng thùng động Với kết thu an được, thuật tốn mở rộng để giải biến thể tốn đóng thùng n va phần định cho hướng nghiên cứu sử dụng giải thuật di truyền để giải gh tn to Thay cho lời kết, hy vọng kết đạt được, luận văn đóng góp p ie tốn tối ưu NP – khó quan tâm nhiều Bên cạnh tạo d oa nl w tảng ban đầu cho việc tiếp tục mở rộng, phát triển đề tài sau nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si Tài liệu tham khảo [1] Nguyễn Đức Nghĩa (2004), Bài giảng chuyên đề phân tích thiết kế thuật toá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 tốn đóng thùng”, Kỷ yếu hội nghị khoa học lần thứ 20 trường lu Đại học Bách Khoa Hà Nội, phân ban Công nghệ thông tin, Hà Nội, trang 16 an n va – 23 mail”, Journal of the Operational Research Society, 41(11), pp.1069-1072 gh tn to [3] Beastley J.E (1990), “OR-Library: distributing test problems by electronic p ie [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 oa nl w Hochbaum Ed., PWS Publishing, Boston, pp 46-93 [5] Davis L (1985), “Bin-packing and graph-colouring problem via GA”, Proc d an lu of an International Conf on Genetic Algorithms, London nf va [6] Falkenauer, E., & Delchambre, A (1992) “A genetic algorithm for bin lm ul packing and line balancing”, In Proc of the IEEE 1992 International Conference on Robotics and Automation, pp 1186 1192 Nice, France z at nh oi [7] Falkenauer E (1994), Setting new limits in bin packing with a grouping GA using reduction, Technical report, CRIF - Research Centre for Belgian z Metalworking Industry, Brussels @ m co l packing”, Journal of Heuristics, pp 25 30, gm [8] Falkenauer E (1996), “A hybrid grouping genetic algorithm for bin an Lu n va ac th si [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, st 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 lu [13] Lewis J E., Rammohan K R., and Kumar A A (2003), “A Multiple Copy an va Distributed Genetic Algorithm for Bin-Packing”, The 2003 International n Conference on Parallel and Distributed Processing Techniques and 2003 (PDPTA '03) ie gh tn to Applications, Monte Carlo Resort, Las Vegas, Nevada, USA, June 23 - 26, p [14] Lewis J.E., Ragade R.K., Kumar A and Biles W E (2003), “A Distributed nl w Chromosome Genetic Algorithm For Bin-Packing”, Flexible Automation & d oa Intelligent Manufacturing 2003 (FAIM 2003) an lu [15] Mitchell M (1999), An introduction to genetic algorithms MIT Press nf va [16] Reeves C.R (1993), “Hybrid genetic algorithms for bin-packing and related problems”, Annals of OR, 63, pp 371 396 lm ul [17] Sastry K., Goldberg D and Kendall G (2005), “Genetic Algorithms”, z at nh oi Chapter of Introductory Tutorials in Optimisation, Decision Support and Search Methodology, (eds E Burke and G Kendall), pp.97-125, Kluwer z [18] Smith D (1985), “Bin packing with adaptive search”, In Proc of an gm @ International Conf on Genetic Algorithms and their applications, m co l Grefenstette J.J Ed Lawrence Erlbaum Associates, Hillsdale, NJ an Lu n va ac th si lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si