ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN HẢI THANH GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN ĐA MỤC TIÊU LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2014 z ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ Trần Hải Thanh GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN ĐA MỤC TIÊU Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. LÊ NGUYÊN KHÔI Hà Nội – 2014 z LỜI CẢM ƠN Đầu tiên, tôi xin chân thành cảm ơn TS. Lê Nguyên Khôi đã tận tâm hướng dẫn chỉ bảo và giúp đỡ tôi hoàn thành đề tài luận văn này. Tôi xin gửi lời cảm ơn đến quý thầy cô ở khoa Công nghệ Thông tin, phòng Đào tạo trường Đại học Công nghệ – Đại học Quốc gia Hà Nội đã tạo điều kiện thuận lợi cho các học viên cao học như tôi trong suốt thời gian học tập tại trường.
Tôi cũng gửi lời cám ơn đến gia đình, bạn bè và đồng nghiệp, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình. Tuy đã có những cố gắng nhất định, tiếp cận với thực tế để tìm hiểu và áp dụng khoa học vào cuộc sống, nhưng do thời gian và trình độ còn nhiều hạn chế nên luận văn này khó tránh khỏi các thiếu sót. Kính mong nhận được sự đóng góp ý kiến của thầy cô và các bạn. Sau cùng, tôi xin kính chúc quý thầy cô trong khoa Công nghệ Thông tin cũng như Ban Giám Hiệu trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.
Hà Nội, ngày tháng năm 2014 Học viên Trần Hải Thanh z 4 LỜI CAM ĐOAN Tôi xin cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn này là trung thực và không trùng lặp với các đề tài khác của cá nhân tôi, được thực hiện dưới sự hướng dẫn khoa học của Tiến sĩ Lê Nguyên Khôi. Tôi cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc. Học viên Trần Hải Thanh z 5 Mục Lục LỜI CẢM ƠN. 3 LỜI CAM ĐOAN.
4 Danh mục các ký hiệu và chữ viết tắt. 7 Danh mục các hình vẽ đồ thị. 8 Danh mục các bảng. 10 CHƢƠNG 1 TỔNG QUAN VỀ TỐI ƢU ĐA MỤC TIÊU.
Giới thiệu bài toán tối ưu đa mục tiêu. Mô hình bài toán tối ưu đa mục tiêu có ràng buộc. Khái niệm tối ưu Pareto. Khái niệm trội Pareto.
Tập các lời giải tối ưu Pareto. Bài toán cái túi bị chặn. Bài toán cái túi không bị chặn. Bài toán cái túi đa mục tiêu.
Mô hình bài toán cái túi đa mục tiêu. Mô hình mã nhị phân. Mô hình mã hóa hoán vị. Một số ví dụ mã hóa đối với bài toán cái túi đa mục tiêu .1 Mô hình mã hóa nhị phân.
Mô hình mã hóa hoán vị. 19 CHƢƠNG 2 GIẢI THUẬT DI TRUYỀN CHO BÀI TOÁN TỐI ƢU ĐA MỤC TIÊU .Giới thiệu về giải thuật di truyền. Các nguyên tắc căn bản của giải thuật di truyền. Các vấn đề chính trong tìm kiếm đa mục tiêu.
Mô hình tổng quát giải thuật tiến hóa. Một số thuật toán thường được áp dụng giải bài toán tối ưu đa mục tiêu. Thuật toán MOGA. Thuật toán VEGA.
Thuật toán SEAMO, SEAMO2. Thuật toán NSGA, NSGA2. Thuật toán SPEA, SPEA2. 35 CHƢƠNG 3 KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ.
Cài đặt thuật toán SEAMO2. Thuật toán SEAMO2. Dữ liệu của bài toán. Phương pháp so sánh.
Mô hình và các toán tử cho bài toán cái túi 0-1 đa mục tiêu. Thuật toán SEAMO2_LG. Chiến lược chọn lọc cá thể của thuật toán SEAMO2. Đề xuất cải tiến.
Kết quả thực nghiệm. So sánh với thuật toán SPEA2, NSGA2. 51 TÀI LIỆU THAM KHẢO. 52 z 7 Danh mục các ký hiệu và chữ viết tắt GA : Genetic Algorithms MOGA : Multi-Objective Evolutionary Algorithms : Nondominated Sorting in Genetic NSGA Algorithms : A Simple Evolutionary Algorithm for SEAMO Multi-objective Optimization SPEA : Strength Pareto Evolutionary Algorithm ⃗=(x1,…,xn) : Vector biến quyết định ( ⃗) ( ( ⃗) ( ⃗) ( ⃗)) : Vector hàm mục tiêu nu : Số nghiệm trội hơn nghiệm u Su : Tập nghiệm trội bởi nghiệm u P : Quần thể ban đầu Fj : Biên chứa các nghiệm không trội thứ j, j =1,…,R Q : Tập lưu trữ nghiệm không trội qua mỗi thế hệ Pt : Quần thể cha Qt : Quần thể con tạo thành t các cá thể trong Pt Fj : Biên chứa các nghiện không trội thứ j, {j=1,…,R} N : Số lượng cá thể trong quần thể Pt NE : Số lượng lớn nhất mà tập E có thể chứa được các nghiệm không trội NP : Số lượng cá thể trong quần thể/kích thước tập P k Tham số của mật độ tính toán: k = √ : khoảng cách giữa nghiệm x đếm nghiệm lân cận gần nhất thứ k trong tập Et+1 z 8 Danh mục các hình vẽ đồ thị Hình 2.1 Mối liên hệ giữa không gian cá thể, vectơ quyết định và mục tiêu .2: Mô hình tổng quát giải thuật di truyền .3: Minh họa thuật toán MOGA .4:Minh họa biên chứa các nghiệm không trội và thứ hạng tương ứng .6: Minh họa khoảng cách quy tụ quanh nghiệm i .7: Minh họa các biên và thứ hạng .8: Minh họa sự quy tụ của các nghiệm quanh một nghiệm .9: Minh họa tính toán độ thích nghi của các cá thể .10: Minh họa cách xóa bỏ các nghiệm nào có δk nhỏ nhất .1: Mô hình mã hóa nhị phân .2: Mô hình mã hóa hoán vị .3: So sánh mã hóa nhị phân - mã hóa hoán vị .4: Minh họa không gian tìm kiếm .5: Thuật toán SEAMO2_LG .6: So sánh SEAMO2 và SEAMO2_LG – 500 thế hệ .7: So sánh SEAMO2 và SEAMO2_LG – 1920 thế hệ .8: So sánh thuật toán SEAMO2_LG với NSGA2, SPEA2.
50 z 9 Danh mục các bảng Bảng 1.1: Ví dụ bài toán cái túi đa mục tiêu .1: Tỷ lệ % thực hiện của các trường hợp thay thế - SEAMO2 .2: Tỷ lệ % thực hiện của các trường hợp thay thế - SEAMO2_LG .3: Độ bao phủ trung bình – 500 thế hệ .4: Độ bao phủ trung bình – 1920 thế hệ .5: Độ bao phủ trung bình. Lý do chọn đề tài Trên thực tế, tồn tại rất nhiều bài toán yêu cầu tối ưu hóa đồng thời nhiều mục tiêu (thường là cạnh tranh lẫn nhau) ví dụ như: định tuyến các phương tiện giao thông để xác định các tuyến đường tối ưu nhằm cung cấp dịch vụ cho một tập hợp các khách hàng có thể liên quan đến một số mục tiêu khác nhau: tổng quãng đường đi (hoặc thời gian thực hiện), lượng xe sử dụng, độ hài lòng của khách hàng (giao hàng trong khoảng thời gian đã thỏa thuận trước), … hay việc đi chợ mua thức ăn cần đảm bảo sao cho đủ lượng calo cần thiết, chất lượng bữa ăn đảm bảo, số tiền chi tiêu không vượt quá giới hạn, … Giải thuật di truyền (GA) là một trong những mô hình tính toán phổ biến và thành công nhất trong lĩnh vực tính toán thông minh. Cùng với các kỹ thuật tính toán thông minh khác như tính toán mờ (fuzzy computing), mạng Nơ-ron (neural networks), hệ đa tác tử (multi- agent systems), trí tuệ bầy đàn (swarm intelligence), giải thuật di truyền ngày càng phát triển, được áp dụng rộng rãi trong các lĩnh vực của cuộc sống. Đối với bài toán đa mục tiêu, đã có nhiều phương pháp nghiên cứu đề xuất ra các thuật toán để giải quyết bài toán như: MOGA, NSGA2, SPEA2, SEAMO2, … trong đó giải thuật SEAMO2 là hiệu quả hơn cả [4].
Với giải thuật SEAMO2, việc thay thế cá thể vào quần thể (thực hiện chiến lược chọn lọc tự nhiên) thì độ hội tụ về tập nghiệm tối ưu (với lần chạy ngắn) là chưa cao và khi quần thể nghiệm đã đạt ngưỡng tối ưu (với lần chạy dài) thì sẽ mất nhiều thời gian để loại cá thể không phù hợp. Chính vì vậy, tác giả mạnh dạn nghiên cứu phương pháp cải tiến chiến lược chọn lọc tự nhiên trong giải thuật SEAMO2 để giải các bài toán tối ưu đa mục tiêu trong luận văn: “Giải thuật di truyền cho bài toán đa mục tiêu”. Mục đích nghiên cứu Mục tiêu của luận văn là nghiên cứu các toán tử trong giải thuật di truyền (hay giải thuật tiến hóa nói chung) đặc biệt là toán tử chọn lọc tự nhiên để chọn lọc và thay thế các lời giải nhằm tối ưu tập lời giải thu được giúp cho giải thuật di truyền giải quyết hiệu quả các bài toán tối ưu đa mục tiêu. Mục đích cụ thể của luận văn là sử dụng các toán tử di truyền khác nhau đối với thuật toán SEAMO2, ứng dụng cho bài toán cái túi đa mục tiêu, thay đổi chiến lược chọn lọc tự nhiên của thuật toán nhằm cải tiến thuật toán.
Phương z 11 pháp này sẽ được so sánh với kết quả của các thuật toán tối ưu đa mục tiêu khác như: SPEA2, NSGA2, …[3,13,16,17]. Do đó mục tiêu của luận văn là: Nghiên cứu giải thuật di truyền cho bài toán đa mục tiêu. Nhiệm vụ nghiên cứu Nghiên cứu các mô hình của giải thuật di truyền có áp dụng các nguyên lý tiến hóa và trên cơ sở đó tiếp cận các ý tưởng t thuật toán di truyền để giải bài toán cái túi đa mục tiêu như: NSGA2, SPEA2, SEAMO2, cách thức tìm nghiệm của các thuật toán này để cải tiến thuật toán di truyền có áp dụng nguyên lý tiến hóa SEAMO2. Đối tượng và phạm vi nghiên cứu Tìm hiểu về bài toán tối ưu đa mục tiêu, bài toán cái túi 0-1 đa mục tiêu.
Tìm hiểu về giải thuật tiến hóa, các mô hình giải thuật tiến hóa có thể áp dụng cho bài toán cái túi 0 - 1 đa mục tiêu. Xây dựng ứng dụng giải bài toán cái túi 0 - 1 đa mục tiêu với giải thuật SEAMO2 và đề xuất phương pháp cải tiến giải thuật. So sánh kết quả thực nghiệm của phương pháp đề xuất với các kết quả của các thuật toán khác.