Ứng dụng thuật toán di truyền giải bài toán đóng thùng Ứng dụng thuật toán di truyền giải bài toán đóng thùng Ứng dụng thuật toán di truyền giải bài toán đóng thùng luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
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 TOÁN DI TRUYỀN GIẢI BÀI TOÁN ể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 GIẢI 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 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 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 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 tố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 toá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 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 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 tố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 tố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 tố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 tố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 tố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 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 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 toá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 toá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 ... 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