Giải thuật hệ kiến Max Min trơn giải bài toán P Median có hạn chế khả năng Giải thuật hệ kiến Max Min trơn giải bài toán P Median có hạn chế khả năng Giải thuật hệ kiến Max Min trơn giải bài toán P Median có hạn chế khả nă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
Hoàng sơn giáo dục đào tạo trường đại học bách khoa hà nội - luận văn thạc sĩ khoa học công nghệ thông tin ngành : công nghệ thông tin GIẢI THUẬT HỆ KIẾN MAX MIN TRƠN GIẢI BÀI TON P-MEDIAN Cể HN CH KH NNG Hoàng sơn 2006 2008 Hà Nội 2009 Hà Nội 2009 Hoàng sơn giáo dục đào tạo trường đại học bách khoa hµ néi - Hoàng sơn công nghệ thông tin GII THUẬT HỆ KIẾN MAX MIN TRƠN GIẢI BÀI TOÁN P-MEDIAN Cể HN CH KH NNG luận văn thạc sĩ khoa học ngành : công nghệ thông tin NGI HNG DN KHOA HỌC: PGS.TS NGUYỄN ĐỨC NGHĨA 2006 – 2008 Hµ Néi 2009 Hµ Néi 2009 Lời cảm ơn Với tất lịng kính trọng biết ơn sâu sắc em xin gửi lời cảm ơn chân thành tới thầy giáo PGS.TS Nguyễn Đức Nghĩa người tận tình hướng dẫn em suốt q trình hồn thành luận văn Xin chân thành cảm ơn Luận văn Cao học CH 2006-2008 MỤC LỤC Danh mục từ viết tắt thuật ngữ Danh mục hình LỜI NÓI ĐẦU U Chương ĐẶT VẤN ĐỀ Chương 11 LƯỢC SỬ PHÁT TRIỂN CỦA CÁC THUẬT TOÁN ACO 11 1.1/ Nguồn gốc sinh học thuật toán kiến 11 1.2/ Truyền thông gián tiếp-stigmergy 14 1.3/ Quá trình phát triển thuật toán ACO 14 1.3.1/ Hệ kiến (AS) toán TSP 15 1.3.2/ Hệ đàn kiến (ACS) 18 1.3.2/ Thuật toán hệ kiến Max-Min 20 Chương 22 PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN ACO 22 2.1/ Một số heuristic ACO 22 2.2/ Meta-heuristic tối ưu hoá đàn kiến (ACO metaheuristic) 23 2.2.1/ Bài toán tổng quát 23 2.2.2/ Thuật toán ACO tổng quát 24 2.2.3/ Xây dựng lời giải 27 2.2.3/ Cập nhật mùi 27 2.3/ Đặc tính hội tụ vết mùi 29 2.4/ Các thuật toán ACOτmin 31 Chương 33 THUẬT TOÁN HỆ KIẾN MAX-MIN 33 3.1/ Thuật toán hệ kiến Max-Min 33 3.1.1/ Giới thiệu hệ kiến Max-Min 33 3.1.2/ Cập nhật vết mùi 33 3.1.3/ Giới hạn vết mùi 35 3.1.4/ Khởi tạo vết mùi 36 3.1.5/ Lựa chọn phương thức cập nhật mùi 36 3.1.6/ Một số nguyên lý ứng dụng 36 3.1.7/ Hệ kiến MAX-MIN trơn 42 3.2/ Các bước để áp dụng giải toán cụ thể 43 3.3/ Các dạng toán áp dụng thuật toán ACO 44 Chương .47 Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học CH 2006-2008 THUẬT TOÁN MAX-MIN TRƠN GIẢI BÀI TOÁN P-MEDIAN CÓ HẠN CHẾ KHẢ NĂNG 47 4.1/ Bài toán p-median có hạn chế khả 47 4.1.1/ Bài tốn p-median khơng hạn chế khả 47 4.1.2/ Bài toán p-median có hạn chế khả 48 4.1.3/ Mơ hình tốn học 49 4.2/ Mô tả thuật toán Max-Min trơn giải toán CPMP 51 4.3/ Bàn cài đặt thuật toán MMAS trơn 52 4.3.1/ Khởi tạo tham số: 52 4.3.2/ Điều kiện dừng thuật toán 53 4.3.3/ Xây dựng lời giải 53 4.3.4/ Cập nhật thông tin pheromone 60 4.3.5/ Khởi tạo lại thông tin pheromone 62 4.4/ Cải tiến cho thuật toán 62 4.4.1/ Location-Allocation Heuristic (LAH) 62 4.4.2/ Interchange-Transfer Heuristic (ITH) 63 Chương .65 CÀI ĐẶT THUẬT TOÁN VÀ THỬ NGHIỆM 65 5.1/ Cài đặt thuật tốn, xây dựng chương trình 65 5.1.1/ Thiết kế chức 65 5.1.2/ Thiết kế Module 66 5.1.2/ Thiết kế liệu 69 5.2/ Hướng dẫn sử dụng 70 5.2.1/ Yêu cầu hệ thống 70 5.2.2/ Sử dụng chương trình 70 5.3/ Thử nghiệm liệu toán 75 5.3.1/ Nguồn gốc cấu trúc liệu 75 5.4/ Kết thực nghiệm 77 5.4.1/ Chọn tham số cho thuật toán 77 5.4.2/ Các kết thực thuật toán 86 5.5/ Phân tích đánh giá kết thực nghiệm 99 KẾT LUẬN 101 TÀI LIỆU THAM KHẢO 103 Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học CH 2006-2008 Danh mục từ viết tắt thuật ngữ CPMP: Capacitated P-Median Problem Bài tốn p-median có hạn chế khả Ngoài tên gọi hay gặp tốn k-median có hạn chế khả ACO: Ant Colony Optimization Gọi thuật toán đàn kiến ACA: Ant Colony Algorithm Là tên gọi khác giải thuật đàn kiến MMAS: Max-Min Ant System Là thuật toán thuộc lớp thuật toán đàn kiến GA: Genetic Algorithm Gọi thuật toán di truyền SA: Simulated Annealing Gọi thuật toán luyện kim TS: Tabu-Search: Giải thuật tìm kiếm Tabu Pheromone: Thơng tin mùi Là loại hóa chất phương tiện để kiến đàn trao đổi thông tin với Cluster: Gọi vùng Bao gồm tâm phục vụ khách hàng phục vụ tâm phục vụ 10 AP: Bài tốn gán 11 GAP: Generalize Assignment Problem Gọi toán gán tổng quát 12 TSP: Bài toán người du lịch Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học CH 2006-2008 Danh mục hình Hình – Minh họa đàn kiến tự nhiên Hình – Cách tìm đường kiến .12 Hình – Mơ hình thí nghiệm cầu đôi nhánh dài 13 Hình – Thí nghiệm cầu đơi 13 Hình – Sơ đồ thuật toán ACO giải toán CPMP 51 Hình – Các Class chương trình 66 Hình – Màn hình 70 Hình – Đọc liệu 71 Hình – Chi tiết tốn 72 Hình 10 – Thiết lập tham số thuật tốn 72 Hình 11 – Thực thuật toán .73 Hình 12 – Chi tiết lời giải 74 Hình 13 – Tạo liệu 74 Hình 14a – Đánh giá tham số ρ .81 Hình 14b – Đánh giá tham số ρ .82 Hình 14c – Đánh giá tham số ρ .82 Hình 15a – Đánh giá tham số cặp tham số (α, β) 84 Hình 15b – Đánh giá tham số cặp tham số (α, β) 85 Hình 15c – Đánh giá tham số cặp tham số (α, β) 85 Hình 16 – Biểu đồ kết liệu OSMAN .90 Hình 17 – Biểu đồ so sánh độ dao động kết liệu OSMAN .91 Hình 18 – Biểu đồ so sánh kết liệu OSMAN 92 Hình 19 – Biểu đồ so sánh thời gian thực liệu OSMAN 93 Hình 20 – Biểu đồ kết liệu Lorena 95 Hình 21 – Biểu đồ so sánh độ dao động kết liệu Lorena 96 Hình 22 – Biểu đồ so sánh kết liệu Lorena .97 Hình 23 – Biểu đồ so sánh thời gian thực liệu Lorena 98 Hình 24 – Biểu đồ thời gian thực thuật toán MMAS 99 Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học CH 2006-2008 LỜI NÓI ĐẦU Trong sống, việc đạt lợi nhuận cao hay thấp kinh doanh buôn bán, cung cấp dịch vụ phụ thuộc nhiều yếu tố Trong đó, có yếu tố quan trọng đầu tiên, đóng góp phần lớn xác định địa điểm đặt dịch vụ thuận lợi – nơi cung cấp dịch vụ Có nhiều tiêu chí đặt chọn địa điểm: thuận tiện giao thông, nơi tập trung đông dân cư, để thu lợi nhuận cao Đặc biệt, trường hợp khẩn cấp cứu thương, cứu hỏa yêu cầu khoảng cách nhỏ vơ quan trọng, nói quan trọng yếu tố Bài toán đặt là: đặt trạm dịch vụ đâu để thời gian di chuyển bệnh nhân từ nơi xa bệnh viện (hoặc ngược lại, từ trạm dịch vụ đến nơi bệnh nhân xa nhất) nhỏ Cịn với dịch vụ phổ biến trạm xăng, thùng phiếu, bốt điện thoại, yêu cầu lại tổng chi phí từ khách hàng (hay người có nhu cầu) đến địa điểm phục vụ gần khách hàng nhỏ nhất, toán ứng dụng thực tế toán p-median phát biểu lý thuyết Với nhiều ứng dụng thực tế, tốn p-median có hạn chế khả tốn thuộc lớp NP-Khó nghĩa khơng có thuật tốn thời gian tính đa thức để giải Trong phạm vi luận văn tác giả bày phương pháp phát triển dựa sơ đồ thuật toán bày kiến để giải cách có hiệu tốn p-median có hạn chế khả Luận văn việc giới thiệu lược sử phát triển thuật toán đàn kiến, tiếp đến trình bày sơ đồ tổng quát thuật toán bày kiến cải tiến dựa tảng tư tưởng thuật toán nhằm đưa lời giải tốt Trong cải tiến họ thuật toán kiến, luận văn lựa chọn thuật toán Max-Min (MMAS) hiệu chỉnh Max-Min trơn thuật tốn ứng dụng để giải tốn p-median có hạn chế khả Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học CH 2006-2008 Chương ĐẶT VẤN ĐỀ Giới thiệu đề tài Trong vòng 10 năm gần đây, có nhiều tốn tối ưu tổ hợp giải họ thuật toán kiến (Ant Algorithm) Thuật tốn kiến mơ hành vi đàn kiến tự nhiên nhằm tìm kiếm đường ngắn tổ kiến nguồn thức ăn dựa mật độ mùi(Pheromone) mà kiến để lại đường Hiệu thuật toán kiến thể so sánh với thuật toán tiếng khác GA, SA, Tabu-Search Người ta áp dụng thành cơng thuật tốn kiến toán tối ưu Bài toán người đưa thư, tốn gán, tốn tơ mầu đồ thị, toán lập lịch Và nội dung đề tài này, tác giả xin trình bày thuật toán đàn kiến áp dụng giải tốn p-median có hạn chế khả Tư tưởng thuật toán đàn kiến Được đưa lần Macro Dorigo năm 1992, kết việc nghiên cứu trí tuệ tính tốn (computational intelligence) áp dụng cho toán tổ hợp tối ưu (combinatorial optimization) Đầu tiên thuật toán đàn kiến áp dụng để giải toán người du lịch (TSP) Sau thuật toán mở rộng phát triển để giải nhiều tốn tối ưu tổ hợp khó Thuật toán đưa phát triển dựa nghiên cứu, thí nghiệm q trình kiếm thức ăn lồi kiến Đó mà tìm thấy nguồn thức ăn, ban đầu đàn kiến tìm nhiều đường để tới nguồn thức ăn từ tổ Tuy nhiên sau thời gian thơng qua trao đổi thơng tin đàn kiến tìm đường ngắn toàn kiến đàn theo đường để từ tổ tới nguồn thức ăn ngược lại Hình vẽ minh họa sau: Xem danh mục từ viết tắt luận văn Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học CH 2006-2008 Hình – Minh họa đàn kiến tự nhiên Theo minh họa thấy rằng: Ở H.1 sau tìm thấy nguồn thức ăn khơng có chướng ngại vật đường đàn kiến theo đường ngắn thẳng tới nguồn thức ăn Ở H.2 bắt đầu đặt chướng ngại vật vào đường đàn kiến Trên hình H.3 đàn kiến chia làm hai phần theo hai hướng khác vượt qua chướng ngại vật tới nguồn thức ăn Sau thời gian thông qua tương tác trao đổi thông tin kiến đàn, đàn kiến thực việc di chuyển theo đường ngắn từ tổ tới nguồn thức ăn (H.4) Việc đàn kiến sau thời gian theo đường nhắn từ tổ tới nguồn thức ăn sở xuất phát cho nghiên cứu thuật toán này, theo thuật tốn dựa vào hình thức giao tiếp kiến để lại vệt mùi đường Trên tư tưởng hình thành nên họ thuật toán kiến sau trình bày phần luận văn Nhiệm vụ đề tài luận văn Tên đề tài: “ Giải thuật hệ kiến Max-Min trơn giải tốn p-meidan có hạn chế khả năng” Nhiệm vụ: Luận văn tập trung khảo cứu thuật toán tối ưu hóa sử dụng phương pháp mơ hành vi đàn kiến tự nhiên, nghiên cứu giải thuật Max-Min trơn (Smooth MMAS) áp dụng giải toán p-median có hạn chế khả Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học CH 2006-2008 Nội dung tóm lược lại sau: Khảo cứu lược sử hình thành phát triển thuật tốn đàn kiến Khảo cứu phương pháp tối ưu hóa đàn kiến ACO Nghiên cứu thuật tốn đàn kiến Max-Min Tìm hiểu tốn p-median có hạn chế khả Cài đặt giải thuật Max-Min trơn để giải tốn p-median có hạn chế khả Xây dựng chương trình cài đặt Triển khai chương trình với hai liệu chuẩn tốn pmedian liệu OSMAN liệu LORENA So sánh đánh giá kết đạt Kết luận Phương pháp thực Luận văn áp dụng thống phương pháp nghiên cứu trình thực Tìm hiểu từ sở nguồn gốc đến trình phát triển cải tiến thuật toán, dựa sở đưa đề xuất phù hợp nhằm áp dụng giải toán cụ thể Luận văn xuất phát từ tư tưởng thuật toán kiến, khảo cứu nghiên cứu khoa học đàn kiến, thuật tốn kiến để từ đưa phương pháp giải vấn đề áp dụng vào tốn p-median có hạn chế khả Giới hạn vấn đề Trong thuật tốn tối ưu hóa đàn kiến (ACO) tác giả trình bày phần tiếp theo, hệ kiến Max-Min (MMAS) tỏ đơn giản, thông dụng nhiều người ưa dùng so với thuật tốn kiến trước hệ kiến (Ant SystemAS), hệ đàn kiến (Ant Conoly System-ACS) Hệ kiến Max-Min thuật toán đề xuất cập nhật mùi theo tư tưởng giới hạn vết mùi Max-Min Luận văn trình bày khảo cứu thuật tốn ACO mức độ tổng quát, đặc biệt tập trung trình bày chi tiết quy tắc cập nhật mùi Max-Min Trên sở tác giả đề xuất cách cập nhật mùi cho đàn kiến lấy tên thuật toán hệ kiến MaxMin trơn (Smooth Max-Min Ant System) đồng thời áp dụng thuật toán vào giải toán p-median có hạn chế khả Kết thực nghiệm cho thấy hệ kiến Max-Min trơn tác giả cài đặt có ưu điểm tốt tốn xét Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 10 CH 2006-2008 Bố cục tổ chức luận văn Các chương luận văn có cấu trúc sau: ¾ Chương trình bày lược sử phát triển thuật toán đàn kiến ACO (Ant colony optimization) ¾ Chương trình bày phương pháp tối ưu hóa đàn kiến ACO ¾ Chương trình bày thuật tốn đàn kiến Max-Min (MMAS) ¾ Chương trình bày việc dùng thuật toán đàn kiến Max-Min trơn để giải tốn p-median có hạn chế khả ¾ Chương trình bày việc cài đặt chương trình kết thực nghiệm đạt Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 11 CH 2006-2008 Chương LƯỢC SỬ PHÁT TRIỂN CỦA CÁC THUẬT TOÁN ACO Chương tác giả muốn giới thiệu lược sử hình thành phát triển thuật tốn ACO , thí nghiệm sinh học cách chọn đường đàn kiến thực, đến việc hình thành tư tưởng thuật tốn từ thí nghiệm đó, tiếp đến đời thuật toán hệ kiến, hệ đàn kiến, hệ kiến Max-Min… Các thuật tốn kiến có nhờ quan sát cách chọn đường kiến thực Các kiến côn trùng sống bầy đàn sống thành xã hội, chúng xuất trái đất cách 100 triệu năm, số lượng chúng khoảng 10 (xem [2]) Sự tổ chức bầy đàn kiến xã hội kiến có cấu trúc cao thu hút nhiều nghiên cứu sinh học Trong xã hội kiến, kiến thợ thường xuyên tìm kiếm thức ăn đem tổ đặc biệt làm kiến tìm đường ngắn từ tổ chúng tới nguồn thức ăn? 1.1/ Nguồn gốc sinh học thuật toán kiến Trong trình từ tổ đến nguồn thức ăn ngược lại, kiến rải xuống đất hoá chất gọi mùi (tên khoa học pheromone) tạo nên vết mùi (pheromone trail) Các kiến ngửi thấy mùi chúng có khuynh hướng chọn theo xác suất, đường đánh dấu tập trung mùi mạnh Vết mùi cho phép kiến tìm đường quay lại chúng tới nguồn thức ăn tổ, sử dụng kiến khác để tìm vị trí nguồn thức ăn Thực nghiệm cho thấy rằng, cách thức theo vết mùi (pheromone trail following behavior) phương pháp luận hiệu để tìm đường ngắn Xem danh mục từ viết tắt Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả 12 Luận văn Cao học CH 2006-2008 Hình – Cách tìm đường kiến Các kiến thường để lại mùi (một chất hóa học đặc biệt mà chúng ngửi được) đường Bằng cách để lại mùi vậy, chúng tạo vết mùi để lại đường từ tổ đến nguồn thức ăn ngược lại Trong thực tế, cách cảm nhận vết mùi kiến khác tìm đường tới nguồn thức ăn kiến trước tìm Đồng thời, chúng dựa vào để tìm đường ngắn từ tổ đến nguồn thức ăn Nhằm nghiên cứu cách tìm đường kiến điều kiện quan sát J.L.Deneubourg [11] đồng nghiệp làm thí nghiệm sử dụng cầu đơi nối từ tổ đến nguồn thức ăn, hình Tổ đàn kiến với nguồn thức ăn ngăn cầu đôi mà hai nhánh để nghiên cứu lưu lại vệt mùi hành vi chúng Tiếp kiến thả tự lại tổ nguồn thức ăn phần trăm số kiến chọn nhánh để quan sát theo thời gian Kết sau giai đoạn ban đầu có dự, chốc lát kiến có khuynh hướng chọn hội tụ đường Trong thí nghiệm trên, ban đầu khơng có mùi nhánh, nên nhánh chọn có xác suất Tuy nhiên, thăng giáng tự nhiên, sau giai đoạn ban đầu, nhánh chọn nhiều nhánh Bởi kiến rải mùi đi, số kiến lớn nhánh lượng mùi mạnh hơn, kích thích nhiều kiến chọn Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 13 CH 2006-2008 Nhánh Thức ăn Tổ kiến Nhánh Hình – Mơ hình thí nghiệm cầu đơi nhánh dài Tiếp họ thay đổi thí nghiệm tới trường hợp mà nhánh có chiều dài khác thu kết theo thời gian hầu hết kiến vào nhánh ngắn Kết giải thích sau: Do kỹ thuật rải mùi nhau, thực nghiệm bắt đầu, hai nhánh cầu khơng có mùi, lúc đầu kiến chọn hai nhánh theo xác suất tức nửa số kiến chọn nhánh ngắn nửa cịn lại chọn nhánh dài Trong q trình tìm kiếm thức ăn đưa tổ, kiến để lại vệt mùi hai nhánh cầu Do nhánh ngắn hơn, thời gian kiến (đồng nghĩa với số lần kiến lại nhiều hơn), lượng mùi nhánh nhiều hơn, nên theo thời gian kiến chọn nhánh ngắn để cường độ vệt mùi nhánh cao hơn, minh hoạ hình Hình – Thí nghiệm cầu đơi (a) Các kiến bắt đầu khám phá cầu (b) Hầu hết kiến chọn đường ngắn Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 14 CH 2006-2008 Trong thuật tốn kiến, cầu đơi thí nghiệm Deneubourg thay đồ thị cấu trúc vết mùi kiến vết mùi nhân tạo Đồng thời muốn giải toán phức tạp toán kiến thực, người ta cung cấp thêm cho kiến nhân tạo số khả đặc biệt nhớ khả để lại lượng mùi tỷ lệ với hiệu lời giải tìm (một hành vi tương tự hành vi kiến thực chúng mang thức ăn quay tổ để lại lượng mùi tỷ lệ với lượng thức ăn kiếm được) Mỗi kiến đơn lẻ có đóng góp nhỏ q trình tìm đường Mặc dù kiến đơn lẻ nguyên tắc có khả xây dựng lời giải (Ví dụ: tìm đường tổ nguồn thức ăn), đàn kiến đối tượng biểu diễn cách thức "tìm đường ngắn nhất" Cách thức thuộc tính bật (emergent) đàn kiến Cũng cần ý kiến thực cách thức riêng biệt cách sử dụng dạng truyền thông gián tiếp-stigmergy cách rải mùi 1.2/ Truyền thông gián tiếp-stigmergy Dạng truyền thơng stigmergy đưa cơng trình Grassé [09] (Bellicositermes Natalensis Cubitermes), stigmergy "Mô thợ (workers-một đẳng cấp đàn mối) hiệu suất mà chúng đạt được" Mặc dù Grassé giới thiệu thuật ngữ stigmergy để giải thích hành vi xã hội đàn mối, sau thuật ngữ dùng để mô tả dạng truyền thông gián tiếp thay đổi mơi trường quan sát xã hội côn trùng Những đặc trưng stigmergy: - Tính vật lý tự nhiên thơng tin sinh côn trùng truyền thông, tương ứng với thay đổi trạng thái môi trường vật lý mà thăm côn trùng - Tính cục tự nhiên thơng tin sinh ra, truy cập trùng thăm trạng thái Vì ta nói truyền thơng stigmergy dạng truyền thơng gián tiếp dựa vào thay đổi thông tin qua tác động vật lý làm thay đổi mơi trường 1.3/ Q trình phát triển thuật toán ACO Hệ kiến thể điển hình thuật toán ACO, hầu hết thuật toán ACO dùng phát triển từ thuật tốn Vì vậy, trước Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 15 CH 2006-2008 giới thiệu thuật toán ACO, tác giả xin giới thiệu hệ kiến cải tiến quan trọng chúng hệ đàn kiến hệ kiến Max-Min 1.3.1/ Hệ kiến (AS) toán TSP Bài toán người chào hàng (TSP - Travelling Salesman Problem) mẫu toán tối ưu tổ hợp thu hút nhiều cố gắng nghiên cứu Bài toán TSP đồng thời toán quan trọng lớp toán ACO, toán áp dụng thuật toán AS sau coi tốn chuẩn để kiểm định ý tưởng thuật toán đề xuất sau Hệ kiến (Ant System-AS) đề xuất từ cách ứng xử đề cập kiến thực, thuật toán mà tập kiến nhân tạo hợp tác với để tìm lời giải tốn việc trao đổi thơng tin thơng qua mùi rải cạnh đồ thị Có nhiều thuật tốn AS ant-cycle, ant-density, ant-quantity, tác giả xét thuật toán ant-cycle Do thuật tốn ant-cycle có kết thực nghiệm tốt hai thuật tốn kia, nên sau gọi đơn giản thuật toán AS, hai thuật tốn cịn lại sau khơng cịn nghiên cứu phát triển Hệ kiến hoạt động sau: kiến sinh đường (tour) cách chọn thành phố theo qui tắc chọn thành phố (state transition rule) ngẫu nhiên, kiến thích tới thành phố mà nối với cạnh ngắn có lượng mùi cao Khi tất kiến hồn thành đường nó, qui tắc cập nhật mùi toàn cục (global pheromone updating rule) áp dụng: i) Một tỉ lệ mùi bị bốc tất các cạnh hệ số bay mùi cho trước (những cạnh không làm tươi kiến ý) ii) Mỗi kiến rải lượng mùi lên cạnh thuộc đường tương xứng với chiều dài đường (hay nói cách khác cạnh thuộc nhiều đường ngắn cạnh nhận lượng mùi lớn hơn) Tiến trình lặp lại Nguồn: tham khảo [2], [3], [4] Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 16 Luận văn Cao học CH 2006-2008 Để giải toán TSP, AS dùng biến vết mùi τi,j kết hợp với cạnh (i,j) ban đầu khởi tạo giá trị τ0 Có m kiến nhân tạo, bước lặp t chúng thực thủ tục xây dựng lời giải cập nhật mùi sau: Xây dựng lời giải: Ban đầu kiến đặt ngẫu nhiên thành phố thăm thành phố khác để xây dựng đường với thủ tục theo quy tắc chuyển trạng thái sau: Quy tắc chuyển trạng thái: Qui tắc chọn thành phố mới, gọi qui tắc tỉ lệ ngẫu nhiên (random-proportional rule), cho công thức (1.1), công thức đưa xác suất chọn thành phố j để di chuyển tới kiến k thành phố i Giả sử kiến k thành phố i, chọn thành phố j với xác suất: ⎧ τ iα, j (t )η iβ, j ⎪⎪ α β Pi ,kj (t ) = ⎨ ∑ τ i ,uη i ,u ⎪ u∈ J k ( i ) ⎪⎩ j ∈ J k (i ) j ∉ J k (i ) (1.1) Hai tham số α , β thể hiện: xác suất lựa chọn cạnh (i, j) tỷ lệ thuận với cường độ vết mùi τ ij (t) bước lặp t xét Jk(i) tập đỉnh chưa kiến k qua đỉnh i (để làm lời giải khả thi) Thông tin heuristic η ij = d ij nghịch đảo khoảng cách d(i, j), α = kiến lựa chọn đỉnh dựa vào chiến lược “tham lam”: Cạnh ngắn ưu tiên chọn trước, β = lựa chọn phụ thuộc vào cường độ vết mùi Tiếp tục tìm chu trình chấp nhận làm lời giải đủ tốt cho toán Cập nhật mùi: Trong AS, qui tắc cập nhật toàn cục thực sau: Khi tất kiến xây dựng xong đường nó, mùi cập nhật tất cạnh theo công thức (1.2) m τ ij (t + 1) = (1 − ρ )τ ij (t ) + ∑ Δτ ij k (t ) (1.2) k =1 Trong ρ∈ (0,1) gọi hệ số bay mùi Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 17 Luận văn Cao học CH 2006-2008 ⎧⎪ k Δτ ij k (t ) = ⎨ L (t ) ⎪⎩ Nếu (i,j) thuộc chu trình kiến k(1.3) ngược lại L (t) chiều dài đường thực kiến k bước lặp t, m số k kiến sử dụng Tham số ρ sử dụng để làm bay vết mùi cạnh cho phép lãng quên cạnh sử dụng (các cạnh khơng thuộc hành trình kiến có cường độ mùi giảm nhanh theo hàm mũ số vịng lặp) Với cạnh có kiến qua, lượng mùi tăng thêm lượng 1/Lk Ưu nhược điểm AS AS có số ưu điểm: • Việc tìm kiếm ngẫu nhiên dựa thông tin heuristic làm cho việc tìm kiếm linh hoạt mềm dẻo khơng gian tìm kiếm rộng, phương pháp heuristic sẵn có, cho ta lời giải tốt tìm lời giải tối ưu • Sự kết hợp việc học tăng cường (reinforcement learning), lời giải tốt tăng cường cao thông qua thông tin cường độ vết mùi, cho phép ta bước thu hẹp khơng gian tìm kiếm mà không bỏ qua lời giải tốt Do nâng cao chất lượng thuật tốn Nhược điểm: Giả sử w*(t) chu trình có độ dài ngắn mà kiến tìm đến lần lặp t sau Nc lần lặp w*(Nc) cho ta lời giải đủ tốt Mặc dù AS hữu dụng cho việc khám phá lời giải tốt tối ưu cho toán TSP nhỏ (tới 30 thành phố), thời gian cần để tìm kết tốt tốn lớn AS khó đạt Khi số đỉnh lớn lượng mùi cạnh khơng thuộc lời giải tốt nhanh chóng dần không nên hệ AS hiệu Chất lượng thuật tốn phụ thuộc nhiều vào chất lượng thơng tin heuristic, mà điều khó can thiệp vào Hệ đàn kiến đưa ba thay đổi để cải thiện hiệu suất hệ kiến áp dụng vào toán lớn, trình bày phần Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 18 Luận văn Cao học CH 2006-2008 1.3.2/ Hệ đàn kiến (ACS) Hệ đàn kiến (Ant Colony System-ACS) thuật toán xây dựng AS dựa tên ý tưởng tăng tầm quan trọng thông tin tích luỹ kiến trước nhằm cải thiện hiệu suất áp dụng cho toán TSP có hướng kích thước lớn (trên 50 thành phố) So với AS, ACS có ba cải tiến sau: i) Qui tắc chọn thành phố cung cấp cách thức cân khám phá cạnh với khai thác độ ưu tiên thơng tin tích luỹ toán ii) Qui tắc cập nhật mùi toàn cục (global updating pheromone rule) áp dụng với cạnh thuộc đường tốt iii) Qui tắc cập nhật mùi địa phương (local updating pheromone rule), áp dụng kiến xây dựng lời giải cho Trong ACS, bước lặp t quy tắc chuyển trạng thái (1.1) cập nhật mùi (1.2) thay đổi sau: Quy tắc chuyển trạng thái: Giả sử kiến k đỉnh i, chọn đỉnh s nhờ quy tắc: ⎧argmax k {τ ij (t)ηij β } j∈Ni ⎪ s = ⎨j ⎪ ⎩ Nếu q≤q0 (Sự khai thác - exploitation) trái lại (Sự khám phá - exploration) (1.4) Ở q số ngẫu nhiên phân phối [0, l], q0 tham số (0≤q0≤ 1), cịn j đỉnh chọn theo cơng thức (1.1) với α=1 Qui tắc chọn thành phố theo công thức (1.1) (1.4) gọi qui tắc tỉ lệ giả ngẫu nhiên (pseudo-random proportional rule) Theo qui tắc chọn thành phố này, hướng kiến di chuyển đến nút nối với cạnh ngắn có lượng mùi lớn Tham số q0 định mức quan trọng tương quan khai thác đường cũ khám phá đường Việc chọn lựa đảm bảo hai điều quan trọng q trình xây dựng lời giải thuật tốn ACS Một là, khai thác thơng tin tìm kiếm trước chọn nút có xác suất chọn lớn Hai là, lời giải xây dựng ngẫu nhiên để mở rộng khơng gian tìm kiếm thuật tốn Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 19 CH 2006-2008 Quy tắc cập nhật mùi : Mùi cập nhật theo hai quy tắc: Cập nhật địa phương cập nhật toàn cục Cập nhật mùi địa phương: Trong xây dựng lời giải (tức đường đi) mình, kiến cập nhật mùi cho cạnh (i, j) mà qua cách áp dụng qui tắc cập nhật địa phương công thức (1.5) τ ij ← (1 − ρ )τ ij + ρδτ (i, j ) (1.5) Ở < ρ < gọi tham số bay mùi, δτ (i, j) lấy giá trị sau: * δτ ( i, j) = τ0, τ0 mùi khởi đầu * δτ (i, j) = Luật có tác dụng giúp kiến tránh hội tụ đường đi, điều giải thích khơng khó: đặt τ0 = (nLnn-1) n số đỉnh, Lnn chiều dài lời giải heulistic sinh từ trước (giai đoạn khởi tạo δτ (i,j) ≤τ(i, j) ∀ (i, j) nên sau lần cập nhật địa phương τi,j lại giảm lượng ρ(τ(i, j)- δτ (i, j)) làm giảm mức độ "hấp dẫn" cạnh thăm khiến cho kiến ý thăm cạnh chưa thăm, tránh tình trạng hội tụ tới đường Ngoài ACS sử dụng cấu trúc liệu gọi danh sách tuyển chọn (candidate list-cl), cấu trúc có nhiệm vụ cung cấp thêm thông tin heuristic cục cho thủ tục xây dựng lời giải Với thành phố cho trước, danh sách chứa hữu hạn cl thành phố lân cận ưu tiên đến (cl tham số thuật toán) Các kiến đến thành phố bất kì, đọc danh sách từ đầu đến cuối (danh sách theo thứ tự tăng dần khoảng cách nối thành phố lại với thành phố lân cận tương ứng) chọn thành phố chưa nằm đường làm thành phố kế tiếp, khơng có thành phố danh sách thỏa mãn tính chất thành phố bên ngồi danh sách chưa thăm chọn theo luật chuyển trạng thái Các kết chạy ACS toán chuẩn đem so sánh với siêu heuristic khác cho thấy ACS heuristic tốt chất lượng lời giải thời gian thực (có thể không Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 20 Luận văn Cao học CH 2006-2008 quan trọng heuristic khác thực máy khác viết mã chưa tối ưu…) Cập nhật mùi toàn cục : Trong ACS kiến toàn cục tốt (là kiến xây dựng đường ngắn bước lặp) phép rải mùi Sự chọn lựa với việc sử dụng qui tắc tỉ lệ giả ngẫu nhiên nhằm mục đích làm cho việc tìm kiếm thực tế hơn: Các kiến tìm kiếm lân cận đường tốt tìm thấy bước lặp thuật tốn Việc cập nhật tồn cục thực sau tất kiến hoàn thành xong đường chúng Mùi cập nhật qui tắc cập nhật toàn cục cơng thức (1.6) Cập nhật mùi tồn cục áp dụng cho cạnh (i, j) thuộc đường ngắn w*(t) theo công thức : τ i , j ← (1 − ρ )τ i , j + Lgl (t ) (1.6) Trong Lgl (t) độ dài đường ngắn w*(t) 1.3.2/ Thuật toán hệ kiến Max-Min Hệ kiến Max-Min (Max-Min Ant System-MMAS) cải tiến từ AS cách cho phép kiến tốt cập nhật mùi (con kiến có hành trình tốt w(t) kể từ bắt đầu thuật tốn kiến có hành trình tốt w(t) bước lặp tại) Để tránh tượng tắc nghẽn (stagnation): nồng độ mùi tập trung số cung cao nên kiến lựa chọn lựa chọn lại cung đó, MMAS đưa vào hai cận, cận ( τ max ) cận ( τ ) để khống chế nồng độ vết mùi cung Chính thuật toán gọi hệ kiến Max-Min sau thuật tốn ACO có tính chất gọi thuật toán Max-Min MMAS khống chế nồng độ vết mùi cách sử dụng cận τ có giá trị nhỏ cận có giá trị lớn τ max , nghĩa tất cạnh kiến qua có xác suất nhỏ lớn nhiều lần hạn chế lựa chọn lựa chọn lại cạnh tốt kiến (cạnh tập trung mùi mạnh) Điều làm cho thuật tốn tránh tình trạng tắc nghẽn trình tìm kiếm, đặc biệt số vịng lặp lớn tăng khả khám phá cho kiến Các vết mùi khởi tạo ln có giá trị lớn cho tất cạnh làm cho Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 21 CH 2006-2008 ρ Chỉ cạnh thuộc lời giải tốt toàn cục w*(t) rải thêm lượng mùi kiến tìm lời giải thực (trong thực nghiệm lời giải tốt vòng lặp rải thêm mùi tốt tăng khả khám phá cho kiến) Nồng độ mùi cạnh sử dụng giảm chậm cạnh thuộc lời giải tốt gia tăng nên kiến ưa chọn nhiều Trong hệ kiến Max-Min thủ tục xây dựng lời giải giống AS quy tắc cập nhật mùi thực sau: Cập nhật mùi: τ ij ← (1 − ρ )τ ij + Δ ij ρL−1 ( w(t )) ⎪⎩max{τ − (1 − ρ )τ ij ,0} ⎧ Δ ij = ⎪⎨ (1.7) (i, j)∈ w(t) (1.8) ngược lại Nhược điểm thuật toán tập trung vào khai thác lời giải tốt tìm mà khơng phân biệt cạnh không dùng với cạnh dùng khơng thuộc lời giải tốt Do hạn chế khả khám phá chọn τ bé, chọn τ lớn thuật tốn gần với tìm kiếm ngẫu nhiên dựa thơng tin heuristic, điều lại giảm khả học tăng cường-một ưu điểm thuật tốn kiến Vì chọn tỷ lệ τ τ max ảnh hưởng nhiều đến hiệu suất thuật toán Đây đặc trưng quan trọng thuật toán hệ kiến Max-Min Chi tiết thuật toán trình bày cụ thể chương luận văn Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 22 CH 2006-2008 Chương PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN ACO 2.1/ Một số heuristic ACO Trước vào chi tiết, tác giả xin trình bày sơ qua hình thành tên gọi số heuristic ACO Năm 1991 Marco Dorigo luận án tiến sĩ ơng đề xuất thuật tốn hệ kiến giải toán người chào hàng Hầu hết thuật toán ACO sau phát triển từ hệ kiến Tuy nhiên, AS có số nhược điểm như: khơng có hợp tác kiến, sau thời gian chạy nồng độ mùi cạnh dần Để khắc phục nhược điểm AS, năm 1996 Dorigo với V.Maniezzo A Colorni đề xuất thuật toán ACS cho toán TSP sở mở rộng AS cách thay đổi luật chuyển trạng thái cách cập nhật mùi, cải tiến cải thiện đáng kể hiệu suất AS với kết thực nghiệm cho thấy ACS tốt hẳn thuật toán khác luyện kim, di truyền, tiến hóa…tuy nhiên vết mùi ACS dần khả hội tụ cao Năm 1997, Thomas Stutzle Holger H Hoos đề xuất hệ kiến Max-Min, thuật toán sử dụng cận cận để khống chế vết mùi, vết mùi không bị dần bị chặn Khi thử nghiệm hệ kiến MAXMIN tác giả thu kết khả quan tương đương ACS, hệ MMAS ưa dùng đơn giản, dễ sử dụng Nhằm mục đích đưa lược đồ làm việc tổng quát cho thuật toán kiến, năm 1999 Marco Dorigo, Luca M Gambardella Gianni Di Cao đề xuất phương pháp tối ưu hoá đàn kiến: ACO ACO meta-heuristic, trình bày phần Với hệ kiến, hệ đàn kiến, hệ kiến Max-Min có đặc điểm hồn tồn khớp với ACO nên xem chúng ứng dụng cụ thể ACO Ở phần tác giả xin trình bày phương pháp tối ưu đàn kiến cho lớp tốn ACOτmin nói đề xuất Marco Dorigo, Luca M Gambardella Gianni Di Cao tiếp đến sở lý thuyết cho vết mùi hệ MaxMin đặc tính hội tụ vết mùi theo quan điểm Max-Min hai thuật tốn có hiệu suất tốt thuật tốn ACO là: Hệ đàn kiến hệ kiến Max-Min Các nội dung chương tác giả tham khảo tổng hợp từ chương [3] (trang 25-40) Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 23 CH 2006-2008 2.2/ Meta-heuristic tối ưu hoá đàn kiến (ACO metaheuristic) Các kiến nhân tạo sử dụng ACO hợp tác với việc tìm lời giải tốt cho tốn tối ưu tổ hợp khó Sự hợp tác thành phần quan trọng ACO: chọn lựa để phân phối tài nguyên tính tốn cho kiến nhân tạo Các kiến truyền thông cách gián tiếp stigmergy Các lời giải tốt đặc tính bật tương tác (bằng cách hợp tác) Các kiến nhân tạo có đặc tính mặt: Mặt thứ nhất, chúng trừu tượng đặc điểm cách tìm đường kiến mà gần mấu chốt cách thức tìm đường ngắn thấy đàn kiến thực Mặt kia, khả mà khơng thể có kiến thực có nhớ, rải mùi theo tỷ lệ điều khiển được, khả đưa thêm vào tùy thuộc đặc trưng toán áp dụng nhằm mục đích để ACO trở thành cách tiếp cận kỹ thuật (engineering) cho việc thiết kế thực hệ thống phần mềm cho tốn tối ưu tổ hợp khó 2.2.1/ Bài toán tổng quát Các thuật toán ACO áp dụng để giải toán tối ưu tổ hợp, đặc trưng lớp toán tối ưu tổ hợp phát biểu sau: Xét toán cực tiểu hóa ( S , f , Ω ) , S tập hợp hữu hạn trạng thái, f hàm mục tiêu xác định S (với s ∈ S có giá trị hàm mục tiêu f(s)), Ω tập ràng buộc để xác định S qua thành phần tập hữu hạn C liên kết tập Mục tiêu tốn cực tiểu hố tìm trạng thái tối ưu s*, trạng thái có giá trị cực tiểu Bài toán tối ưu tổ hợp ( S , f , Ω ) ánh xạ thành tốn có đặc tính sau: 1) Cho tập hữu hạn gồm n thành phần C = {c1, c2, …, cn} Ta ký hiệu X tập dãy C độ dài không h: X={/ ui∈C ∀i ≤ k ≤ h} 2) Tồn tập X* ⊆ X ánh xạ ϕ từ X* lên S cho ϕ −1 ( s) khơng rỗng với s ∈ S X* xây dựng từ tập C0 C X* theo đặc tính 3) Từ C0 mở rộng thành X* theo thủ tục tuần tự: Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 24 CH 2006-2008 a X0= mở rộng ∀u1 ∈ C0 b Nếu xk= mở rộng tồn từ Ω xác định tập J(xk) C cho với uk+1∈ J(xk) xk+1= mở rộng xk ∈X* J(xk) rỗng c Với u0 ∈ C0, thủ tục mở rộng nêu xây dựng phần tử X* Không giảm tổng quát, ta giả thiết có tương ứng 1-1 phần tử X* mở rộng từ u0 C0 Ví dụ: Với tốn TSP S chu trình đồ thị đầy, f độ dài đường đi, Ω ràng buộc chu trình qua đỉnh (và đỉnh lần) C0 tập đỉnh đồ thị Với toán ta xây dựng đồ thị đầy với tập đỉnh V mà đỉnh tương ứng với thành phần C dùng thuật toán theo lược đồ mục 2.2.2 để giải 2.2.2/ Thuật toán ACO tổng quát Với tốn tối ưu tổ hợp ta áp dụng thủ tục mở rộng để xây dựng X* tìm lời giải tốt nhờ phương pháp vét cạn, thực tế số thành phần n C lớn, TSP số đỉnh nhiều phương pháp vét cạn khơng giải Nói chung, tốn thuộc lớp NP-khó, thơng thường ta có phương pháp heuristic để tìm lời giải đủ tốt cho toán Các thuật toán ACO kết hợp thông tin heuristic với phương pháp học tăng cường nhờ mơ hành vi đàn kiến để tìm lời giải tốt Giả sử với cạnh nối đỉnh i, j ∈C có trọng số heuristic hi,j để định hướng chọn thành phần mở rộng j thành phần cuối xk i theo thủ tục nêu (hi,j >0 ∀(i,j)) Đàn kiến m xây dựng lời giải đồ thị đầy có trọng số G=(V,E,H,τ), V tập đỉnh đồ thị tương ứng với tập thành phần C nêu trên, E tập cạnh (nối thành phần C), H vectơ trọng số heuristic cạnh tương ứng (trong tốn TSP vectơ mà thành phần = d ij , dij độ dài cạnh nối đỉnh i với đỉnh j) cịn τ vectơ vết mùi tích luỹ được, ban đầu khởi tạo τ Các vết mùi gắn đỉnh, cạnh hai, tốn TSP vết mùi gắn cạnh số Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả 25 Luận văn Cao học CH 2006-2008 toán khác, chẳng hạn toán pmedian có hạn chế khả lượng mùi gắn đỉnh đồ thị G Đồ thị G gọi đồ thị xây dựng Với điều kiện kết thúc chọn (với số lần lặp Nc định trước) thuật toán ACO tổng quát cho toán tối ưu tổ hợp tĩnh mơ tả hình thức sau: Procedure Thuật toán ACO cho toán tối ưu tổ hợp tĩnh Khởi tạo vết mùi đặt giá trị cho tham số While not (điều kiện dừng) Các kiến xây dựng lời giải chọn lời giải tốt Áp dụng tìm kiếm địa phương (có khơng) Cập nhật vết mùi End While End Procedure Lược đồ tổng quát thuật toán ACO Các toán tối ưu tổ hợp tĩnh tốn mà đặc trưng cho trước khơng thay đổi tốn giải Một toán toán TSP, vị trí thành phố khoảng cách tương ứng chúng giá trị ban đầu tốn khơng bị thay đổi chạy Procedure ACO_meta_heuristic() While not (Điều kiện dừng) Schedule_activities Ants_generation_and_activity(); Pheromone_evaporation(); Daemon_actions(); {tùy chọn} End schedule _activities End while End procedure Procedure Ansts_generation_and activity() While (các tài nguyên khả dụng) Schedule_the creation_of a_new_ant(); New_active_and(); End while End procedure Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 26 Luận văn Cao học CH 2006-2008 Procedure New_active_ant() {chu kì sống kiến) Initialize_ant(); M = Update_ant_memory(); While (trạng thái ≠ trạng thái đích) A = Read_local ant_routing_table(); P=Compute_transition_probabilities(A,M,problem_constraints); Next_state=Apply_ant_decision_policy(P,problem_constraints); Move_to_next_state(next_state); If(online_step_by_step_pheromone_update) Deposit_pheromone_on_the_visited_arc(); Update_ant routing_table(); End if M = Update_intemal_state(); End While If (online_delayed_pheromone_update) Evaluate_solution(); Deposit_pheromone_on_all_visited_arcs(); Update_ant_routing_table(); End if Die(); End procedure Thuật tốn ACO dạng giả mã Trong thủ tục ants_generation_and_activity() thủ tục chính, giải thuật Thủ tục cơng việc gồm: Tạo khởi tạo thông số cho đàn kiến Với kiến đàn tiến hành xây dựng lời giải cho toán chưa thỏa mãn điều kiện dừng Ngồi có hai thủ tục phụ thêm vào là: Pheromone_evaporation(): Là tác động môi trường để làm giảm thông tin pheromone theo thời gian Thủ tục để tránh bế tắc tìm kiếm cho phép đàn kiến mở rộng khơng gian tìm kiếm Daemon_action(): Là thủ tục hỗ trợ thêm không gặp thực tế (khơng có đàn kiến tự nhiên) Là thủ tục để điều chỉnh thông số cần thiết làm Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 27 CH 2006-2008 tăng tính hiệu thuật tốn Ví dụ: Thủ tục tìm kiếm cục bộ, thủ tục khởi tạo lại thông tin pheromone gặp bế tắc tìm kiếm Các thủ tục xây dựng lời giải cập nhật mùi trình bày mục 2.2.3/ Xây dựng lời giải Sau khởi tạo tham số lượng mùi ban đầu, kiến đặt ngẫu nhiên lên đỉnh đồ thị để xuất phát sau chúng xây dựng đường cách dịch chuyển từ đỉnh sang đỉnh khác đồ thị sau bước lặp, đỉnh chọn để dịch chuyển dựa vào nồng độ mùi cung nối đỉnh đến đỉnh kết hợp thơng tin heuristic Trong di chuyển sang đỉnh khác, ràng buộc Ω sử dụng để tránh cho kiến xây dựng lời giải không khả thi Sau kiến xây dựng xong hành trình chúng, mùi cập nhật cung Các kiến xây dựng lời giải ngẫu nhiên theo thủ tục mở rộng nêu với xác suất chọn đỉnh sau: Quy tắc chuyển trạng thái: Giả sử kiến s xây dựng xk=, chọn đỉnh y thuộc J(xk) để xk+1= với xác suất: ⎧ τ α u , y hu , y ⎪ α P ( y | τ , x k ) = ⎨ ∑ τ u , j hu , j ⎪ j∈ J ( x k ) ⎩ y ∈ J ( xk ) (2.1) ngược lại Quá trình tiếp tục kiến r tìm lời giải chấp nhận x(r)∈X* dó s(r) =ϕ(x(r)) ∈ S Để tiện trình bày, sau ta xem x(r) s(r) không phân biệt X* với S Ký hiệu w(t) lời giải tốt kiến tìm lúc wi(t) lời giải tốt bước lặp t Trong lý thuyết để tiện cho việc chứng minh, tác giả chọn w(t) thực nghiệm wi(t) lại tỏ hiệu việc tăng cường tính khám phá thuật tốn Do giả thiết (3-c) toán để tiện trình bày, sau ta khơng phân biệt x∈X* với trạng thái s∈S tương ứng 2.2.3/ Cập nhật mùi Sau kiến kết thúc thủ tục xây dựng lời giải, mùi bắt đầu cập nhật Gọi s* lời giải tốt vừa tìm thấy st lời giải bước lặp t, f(st) f(s*) hàm mục tiêu Lượng mùi cung bị giảm thừa số ρ, gọi Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả 28 Luận văn Cao học CH 2006-2008 ∀(i, j ) τ ij ← (1 − ρ ).τ ij : Bay mùi Nếu f(st)0 tham số, giả sử g hàm giá trị thực xác định S cho < g ( s) < +∞ , ∀s ∈ S f ( s ) < f ( s ' ) ⇒ g ( s ) > g ( s ' ) Thủ tục cập nhật mùi: Procedure daemon_actions for each S k local_search ( S k ) {optional} Scurrent −best = best_solution ( S k ) if (better ( Scurrent −best , S global −best )) S global −best = Scurrent −best end if for each edge ars ∈ S global −best { the pheromone_evaporation ( ) procedure triggers and evaporates pheromone in every edge ars : τ rs = (1 − p ) τ rs } τ rs = τ rs + p f ( C ( S global −best ) ) end for 10 end Procedure Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 29 Luận văn Cao học CH 2006-2008 Khởi tạo vết mùi Đặt s*=s’, s’ lời giải khả thi sinh bước lặp ∀(i, j), đặt τ(i, j)=τ0 Trong τ0 tham số, τmin ≤ τ0 ≤ +∞ Sau khởi tạo vết mùi, thuật toán lặp thủ tục xây dựng lời giải cập nhật mùi gặp điều kiện dừng Kí hiệu lớp thuật tốn ACO sử dụng quy tắc cập nhật mùi ACOgb,τmin , gb quy tắc cập nhật mùi tồn cục dùng, cịn τmin cận vết mùi phạm vi bị khống chế 2.3/ Đặc tính hội tụ vết mùi Sau khởi tạo, thủ tục xây dựng đường đi, bay mùi thêm lượng mùi lặp gặp điều kiện dừng Gọi w(t) lời giải tốt tìm bước lặp t, đặt τ max giá trị lớn τ giá trị nhỏ vết mùi Để chứng minh đặc tính hội tụ vết mùi dùng cho tốn tìm đường làm sở cho cập nhật mùi theo quy tắc Max-Min (sẽ trình bày chương sau), chứng minh mệnh đề định lý sau: Mệnh đề 1: với cạnh (i, j)∈E ta có: limτ ij ≤ τ max = ρ t →∞ (2.2) g ( w(t )) Chứng minh: Lượng mùi lớn thêm vào cung (i, j) sau lần lặp g(w(t)) Sau cập nhật lần 1, vết mùi lớn (1 − ρ ).τ + g ( w(t )) , sau cập nhật lần (1 − ρ ) τ + (1 − ρ ).g (w(t )) + g (w(t )) , Do bốc vết mùi nên vết mùi lần lặp thứ t bị chặn bởi: t τ ijmax (t ) = (1 − ρ ) t τ + ∑ (1 − ρ ) t −i g ( w(t )) i =1 mà < ρ < , t→∞ tổng hội tụ tại: τ max = ρ g ( w(t )) (ĐPCM) Mệnh đề 2: Sau tìm thấy lời giải tối ưu w(t): ∀(i, j ) ∈ w(t ) limτ ij* (t ) = τ max = t →∞ ρ g ( w(t )) Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 30 CH 2006-2008 τ ij* giá trị vết mùi cung (i, j)∈w(t) Chứng minh: Sau lời giải tối ưu tìm thấy, ý rằngτ ij* ≥ τ quy tắc cập nhật mùi tồn cục sử dụng, ta có τ ij* đơn điệu tăng, chứng minh tương tự chứng minh định lý ta thay τ giá trị τ ij* (t * ) bước lặp t* (t* bước lặp tìm thấy lời giải tối ưu) Mệnh đề 3: Lượng mùi τ ij cung (i, j) ∉w(t): limτ ij (t ) = τ t →∞ Chứng minh: Do lời giải tối ưu tìm thấy, cung khơng thuộc lời giải tối ưu không nhận lượng mùi nào, giá trị chúng bị giảm bốc thừa số ρ Ở bước lặp sau t*: τ ij (t * + 1) = max {τ , (1 − ρ ).τ max }, tiếp tục vòng lặp t’ τ ij (t * + t ' ) = max{τ , (1 − ρ ) t τ max } Khi t → ∞ τ ij (t ) = τ (ĐPCM) Mệnh đề 4: Từ mệnh đề 1, 2, vết mùi khác τ ij có giá trị là: τ ≤ τ ij (t ) ≤ τ max Chứng minh: Điều dễ thấy mệnh đề 3, tìm thấy lời giải tối ưu τij=τmax cịn cạnh khơng thuộc lời giải tối ưu lượng mùi bay thừa số ρ t đủ lớn, lượng mùi cạnh giảm dần τmin Vậy τ ≤ τ ij (t ) ≤ τ max (ĐPCM) Định lý 1: Đặt P*(t) xác suất tìm thấy lời giải tối ưu t bước lặp, với ε>0 bé tùy ý: P*(t)≥ 1-ε Nếu cường độ vệt mùi nằm đoạn [ τ ,τ max ] lời giải tốt w(t) hội tụ đến lời giải tối ưu với xác suất 1: lim P * (t ) = t →∞ Chứng minh Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 31 CH 2006-2008 Do vết mùi nằm đoạn [ τ ,τ max ] nên xác suất chọn theo công thức (2.1) khả thi với pmin>0 pmin α τ ≥ p'min = α α (n − 1).τ max + τ (2.3) Trong n thành phần tập C, sau lời giải s’ tìm thấy với xác suất p’≥p’hmin≥0, h độ dài chuỗi tốn tổng qt, điều đủ cho kiến tìm thấy lời giải tối ưu với xác suất: P*(t)=1-(1-p’)t Chọn t đủ lớn, lim P * (t ) = t →∞ Các thuật tốn ACOgb, τmin thỏa mãn tính chất Nhưng thực tế, toán tối ưu cỡ lớn khơng thể tìm lời giải tối ưu nên định lý khơng có ý nghĩa thực tế 2.4/ Các thuật toán ACO τmin Ở mục trước trình bày lớp ACOgb,τmin, ký hiệu ACOτmin lớp thuật toán ACO dùng cập nhật mùi theo tư tưởng Max-Min ACOτmin khác ACOgb,τmin chỗ không dùng quy tắc cập nhật mùi tồn cục Trong mục tơi phân tích thuật tốn MMAS ACS thuộc lớp ACOτmin i) MMAS thuật tốn có hiệu suất tốt ưa dùng thuật toán ACO, giải tốt tốn tiếng tốn người chào hàng, phân cơng bậc hai, thời khóa biểu Dễ nhận thấy MMAS thuộc lớp ACOτmin quy tắc cập nhật mùi tồn cục, có hai điểm khác nhỏ so với ACOτmin Thứ gán giá trị tường minh cho τmax, thứ hai cho phép lựa chọn cách cập nhật mùi bước lặp tốt tồn cục (được trình bày chương 3) ii) ACS thuật toán tốt thuật tốn ACO, thuộc lớp ACOτmin khơng dễ nhận thấy MMAS Tơi trình bày số điểm ACS để định lý áp dụng cho thuật tốn ACS có điểm khác ACOτmin là: Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học - 32 CH 2006-2008 Thứ nhất: ACS chọn đỉnh theo qui tắc tỉ lệ giả ngẫu nhiên Tại bước lặp, kiến có hai lựa chọn: Cung có lượng mùi cao theo cơng thức (2.1), lựa chọn theo xác suất q0, lựa chọn thứ hai với xác suất (1-q0), 0≤q0≤1 tham số - Thứ hai: ACS không cho bay mùi tất cung mà sử dụng quy tắc cập nhật mùi sau: Cập nhật mùi ngoại tuyến: Nếu f(st) với α có giá trị lớn việc khai thác kết thu nhiều Nếu α = thơng tin pheromone khơng quan tâm q trình tìm kiếm xây dựng lời giải Cịn α < thơng tin pheromone lựa chọn có khả từ kiến mong đợi nhìn theo góc độ thơng tin pheromone Do việc biến đổi thơng tin α dịch chuyển từ tập trung khai phá sang khai thác khơng gian tìm kiếm ngược lại Tương tự tham số α β có ảnh hưởng giống trình bày với α Tóm lại điều chỉnh tham số α β cách đơn giản hiệu để điều chỉnh cân việc khai phá khai thác không gian tìm kiếm Các thơng tin heuristic Trong kiến xây dựng lời giải, việc sử dụng thông tin heuristic quan trọng tận dụng tri thức xác định toán Các tri thức thường yếu tố có sẵn Trong tốn tối ưu tổ hợp tĩnh thơng tin heuristic η tính lần trước bắt đầu thuật tốn, ví dụ tốn TSP khoảng cách từ thành phố i thành phố j dij , thông tin heuristic định nghĩa η ij = / d ij Các thông tin heuristic có số ưu điểm: (i) Dễ tính tốn (ii) Chỉ phải tính lần trước bắt đầu thuật tốn (iii) Tại vịng lặp thuật tốn MMAS tính trước bảng giá trị τ ij (t )α [η ij ]β tiết kiệm đáng kể thời gian tính tốn Việc sử dụng thơng tin heuristic quan trọng cho thuật tốn MMAS, kết hợp với tìm kiếm địa phương để cải tiến lời giải Vì thật tìm kiếm địa phương có thơng tin chi phí để cải tiến lời giải theo cách trực tiếp Nói chung thuật tốn ACO kết hợp với tìm kiếm địa phương tìm lời giải tốt cho tốn khó xây dựng thơng tin heuristic Kết hợp với tìm kiếm địa phương Với nhiều ứng dụng toán tối ưu tổ hợp TSP, toán pmedian, phân chia sản phẩm hay toán định tuyến cho xe cộ, thuật tốn ACO có kết tốt kết hợp thuật tốn tìm kiếm địa phương Các thuật tốn tìm kiếm địa phương thường tìm lời giải tối ưu cục lời Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 40 CH 2006-2008 Việc sinh lời giải ban đầu cho thuật tốn tìm kiếm địa phương khơng phải nhiệm vụ đơn giản Ví dụ, với hầu hết tốn, việc lặp lặp lại tìm kiếm địa phương từ lời giải ban đầu sinh ngẫu nhiên hiệu Trong thực nghiệm, kiến kết hợp với thành phần lời giải bước lặp tốt cách ngẫu nhiên sinh lời giải hứa hẹn cho thuật tốn tìm kiếm địa phương Mặc dù thực tế, việc sử dụng thuật tốn tìm kiếm địa phương yếu tố định tính hiệu cho ứng dụng ACO, toán mà thuật tốn ACO thực dễ dàng thuật tốn tìm kiếm địa phương lại khơng áp dụng cách đơn giản Ví dụ tốn tìm đường mạng hay tốn tìm dãy chung lớn Trong nhiều ứng dụng vào tốn NP-khó TSP, QAP, VRP, thuật toán ACO cho thấy hiệu hoạt động cao kết hợp với thuật toán tìm kiếm cục (thuật tốn tìm kiếm cục có vài trị cải tiến lời giải, thủ tục thuật tốn ACO) Thuật tốn tìm kiếm cục tối ưu lời giải kiến lời giải cục tối ưu sử dụng cập nhật thơng tin pheromone Sử dụng tìm kiếm cục thuật tốn ACO có hai mục đích sau: ¾ Đầu tiên, thuật tốn ACO thực q trình tìm kiếm thơ lời giải mà sinh tối thiểu cục thủ tục tìm kiếm cục thích hợp Sự kết hợp ảnh hưởng mạnh mẽ tới chất lượng lời giải sinh đàn kiến ¾ Mặt khác, việc sinh lời giải ban đầu cho thuật tốn tìm kiếm cục công việc đơn giản Theo thực nghiệm cho thấy, kiến dựa theo xác suất đưa vào thành phần lời giải Mà thành phần mà kiến chọn để đưa vào phần lời giải tốt tìm thấy trước thành phần mới.Các lời giải sinh hứa hẹn lời giải khởi tạo tốt cho thuật tốn tìm kiếm cục Mặc dù thực tế cho thấy việc sử dụng tìm kiếm cục kết hợp vào thuật toán ACO quan trọng để có hiệu cao cho thuật toán, Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 41 CH 2006-2008 cần ý thuật tốn ACO có hiệu tốt khơng áp dụng việc tìm kiếm cục Sử dụng danh sách ứng viên Một vấn đề khó khăn áp dụng hệ kiến Max-Min thuật tốn ACO nói chung gặp phải tập láng giềng kích thước lớn q trình xây dựng lời giải Ví dụ toán TSP với số đỉnh lớn, kiến gặp phải tập láng giềng kích thước lớn để lựa chọn Các tốn tốt toán giảm đáng kể việc xây dựng lời giải xác suất nhiều kiến chọn đường nhỏ Trong trường hợp này, giảm tải vấn đề nêu việc sử dụng danh sách ứng cử viên (elitist list) Danh sách ứng cử viên tập tập láng giềng lân cận lời giải Chúng tạo dựa thông tin tri thức có sẵn tốn Việc sử dụng cho phép thuật toán MMAS tập trung vào thành phần ưa thích chúng giảm khơng gian tìm kiếm Trong trình xây dựng lời giải, kiến lựa chọn thành phố số tập láng giềng nó, thành phố xếp theo thứ tự tăng dần khoảng cách, có thành phố chọn Số lượng kiến đàn Trong giải thuật ACO sử dụng đàn kiến kiến Thực tế cho thấy kiến đơn lẻ sinh lời giải, nhiên việc sử dụng đàn kiến lựa chọn mong muốn Đặc biệt với toán phân bố theo địa lý, tác động độ dài chênh lệch, khai thác kiến, lời giải lớp tốn xuất sử dụng đàn kiến Mặt khác với toán định hướng, kiến giải nhiều toán đường ngắn cách song song việc sử dụng đàn kiến cho lớp toán cần thiết Mặt khác, trường hợp với toán tối ưu tổ hợp tác động độ dài chênh lệch không khai thác kiến sử dụng m kiến (m > 1), phải xây dựng r lời giải tương đương với việc dùng kiến để sinh m.r lời giải Tuy nhiên thực nghiệm cho thấy thuật toán ACO có hiệu hoạt động cao sử dụng m kiến (m > 1) Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 42 Luận văn Cao học CH 2006-2008 Thông thường, giá trị tốt cho số lượng kiến sử dụng phải hàm phục thuộc yếu tố: Thuật toán ACO chọn, toán cần giải theo kinh nghiệm thực tế Rất may mắn thuật tốn ACO khơng phụ thuộc nhiều vào số lượng kiến sử dụng 3.1.7/ Hệ kiến MAX-MIN trơn Trong tốn tìm đường đi, chẳng hạn toán TSP, để cải thiện hiệu suất hệ kiến MAX-MIN, sửa đổi cách cập nhật mùi, gọi hệ kiến MAX-MIN trơn (Smooth-MMAS) Như trình bày hệ kiến MAX-MIN chủ yếu tập trung vào khai thác lời giải tốt tìm thấy bước lặp q trình thực thuật tốn, sau lần lặp kiến rải mùi Thêm cải tiến tránh tượng nhiều kiến chọn đường nồng độ mùi tập trung cao cách đưa vào giới hạn vết mùi τmax τmin, vết mùi τij nằm đoạn [τmax , τmin], ∀τ ij τ ≤ τ ij ≤ τ max , khởi tạo giá trị vết mùi gán τmax Trong trình thực thuật tốn τij < τmin đặt τij = τmin, tương tự τij > τmax đặt τij = τmax Khi khởi tạo lần chạy,: Cận viết mùi τ max = 1 , − ρ f ( s opt ) f(sopt) giá trị lời giải tối ưu toán cụ thể, nhiên f(sopt) thường khơng biết trước tốn sử dụng f(sbest) giá trị tốt tốn tìm thấy bước lặp để thay cách gần cho f(sopt) Cận vết mùi đặt giá trị τ = τ max 2.n Tỷ số định việc sử dụng thông tin heuristic hướng đến khai thác hay mở rộng khơng gian tìm kiếm hướng đến khám phá Ta thấy, tỷ số τmax / τmin bé tức không việc rải mùi làm ảnh hưởng đến xác suất chọn đỉnh trình xây dựng lời giải làm giảm khám phá Trong tỷ số lớn sau số bước lặp, lượng mùi tập trung vào cạnh thuộc lời giải tìm gây nên tình trạng hội tụ lời giải cục Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả 43 Luận văn Cao học CH 2006-2008 Sau lần lặp mùi cập nhật sau: τ ij (t + 1) = ρ τ ij (t ) + Δτ ijbest ⎧1 Lk ⎩0 best Trong đó: Δτ ij = ⎨ Nếu (i,j) thuộc chu trình kiến k ngược lại Lk chiều dài đường thực kiến k Nhưng sau lần lặp lượng mùi cạnh khơng có kiến k qua bốc tham số ρ, lượng mùi nhanh giảm xuống τmin kiến quan tâm, giảm khám phá tìm đường chúng Để khắc phục vấn để trên, đề xuất cách cập nhật mùi mới, mục đích làm cho lượng mùi cạnh giảm chậm xuống τmin tăng dần lên τmax phụ thuộc vào việc cạnh không thuộc thuộc đường tốt tìm thấy Cách cập nhật mùi không cần phải kiểm tra giới hạn vết mùi hai cận nữa, giảm số lần tính tốn chương trình Hình ảnh vết mùi làm mịn dần sau bước lặp việc tăng giảm chậm đến cận τmax τmin lý gọi cách cập nhật mùi MAX-MIN trơn Cách cập nhật mùi sau: τ ij ← (1 − ρ )τ ij + Δ ij ⎧ ρτ max (i,j)∈ w(t) ⎩ ρτ ngược lại Trong đó: Δ ij = ⎨ Khi thử nghiệm hệ kiến Max-Min trơn liệu toán pmedian tác giả nhận thấy thấy tốt hẳn so với hệ kiến Max-Min Với tốn số đỉnh lớn kết cho thấy khả quan 3.2/ Các bước để áp dụng giải toán cụ thể Để giải toán đưa thuật tốn đàn kiến cần phải có cài đặt bước áp dụng cụ thể cho toán Tuy nhiên ta đưa khung chung nhất, cần thiết để áp dụng ACO giải tốn Cụ thể gồm có bước sau: ¾ Bước 1: Biểu diễn toán dạng tập thành phần di chuyển Hoặc biểu diễn dạng đồ thị có trọng sơ (weighted graph), đồ thị duyệt kiến đàn kiến xây dựng lời giải Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 44 CH 2006-2008 ¾ Bước 2: Định nghĩa cách xác thơng tin pheromone toán đưa Đây bước quan trọng việc ứng dụng thuật toán ACO thông thường cách định nghĩa tốt cho pheromone yêu cầu việc hiểu cách sâu sắc toán cần giải thuật tốn ¾ Bước 3: Đưa định nghĩa thích hợp cho thơng tin heuristic, đưa heuristic cho định kiến xây dựng lời giải Ví dụ thơng tin heuristic ηrs gắn với thành phần (nút) cạnh nối (connection) Chú ý thông tin heuristic ảnh hưởng nhiều tới kết thuật tốn tìm kiếm cục khơng khơng thể áp dụng ¾ Bước 4: Nếu sử dụng thuật tốn tìm kiếm cục hiệu cho toán lời giải Theo kinh nghiệm cho thấy, kết việc ứng dụng thuật toán đàn kiến giải toán tối ưu tổ hợp cho kết tốt có thêm thủ tục tìm kiếm cục ¾ Bước 5: Chọn thuật toán ACO cụ thể để giải toán đặt ra, tùy theo toán tiêu chí cần đạt để chọn thuật tốn thích hợp ¾ Bước 6: Sau chọn thuật tốn cần điều chỉnh tham số cho thích hợp Các tham số phụ thuộc vào thuật toán lựa chọn 3.3/ Các dạng toán áp dụng thuật toán ACO Các tốn có tính chất sau thường áp dụng thuật tốn ACO để giải: ¾ Tồn tập ràng buộc cho tốn Ω: Thơng thường điều kiện để giải toán, ràng buộc giá trị quan hệ đại lượng Ví dụ tốn CPMP ràng buộc khả phục vụ tâm phục vụ, tâm phục vụ phục vụ nhiều khách hàng khác khách hàng phục vụ tâm phục vụ ¾ Tập hữu hạn thành phần N = {n1, n2, nn} Các thành phần chuyển tương ứng đỉnh đồ thị Trong toán CPMP thành phần n1, n2, nn tương ứng với địa điểm trở thành tâm phục vụ ¾ Bài tốn biểu diễn trạng thái, trạng thái định nghĩa dựa chuỗi có thứ tự thành phần б = tập Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 45 CH 2006-2008 thành phần N Nếu ta kí hiệu ∆ tập chuỗi ta kí hiệu ∆’ chuỗi kí hiệu khả thi (feasible sequence) với ràng buộc tập Ω Các thành phần ∆’ trạng thái khả thi (feasible state) Và |б| độ dài chuỗi trạng thái б Trong tốn CPMP trạng thái tập đỉnh mà kiến qua xây dựng lời giải (tức đỉnh xác định trở thành tâm phục vụ) Các trạng thái phù hợp khơng có đỉnh qua lần lời giải ¾ Cấu trúc láng giềng định nghĩa sau: б2 láng giềng б1 nếu: б1 б2 thuộc vào tập ∆ Trạng thái б2 tới từ б1 di chuyển logic Ví dụ: r thành phần cuối chuỗi trạng thái б1, tồn trạng thái s N mà б2 = đường r → s tồn Tập láng giềng khả thi б1 tập chứa tất chuỗi б2 thuộc ∆’ Nếu ngược lại ta gọi láng giềng khơng khả thi б1 ¾ Lời giải S thành phần ∆’ thỏa mãn tồn ràng buộc tốn đưa Trong tốn CPMP tập đủ p thành phần đỉnh khác đồ thị kiến qua Tức đủ p tâm phục vụ ¾ Hàm đánh giá giá trị (cost) C(s) gắn với lời giải Trong số toán, giá ước lượng gắn với trạng thái thay cho lời giải Trong toán CPMP hàm tính tổng khoảng cách phục vụ Ta thấy mơ hình tiêu biểu để áp dụng cho tốn biểu diễn dạng đồ thị có trọng số G = (V, E) Trong E tập cạnh nối thành phần đỉnh V Cụ thể đồ thị có trọng số sau: ¾ Các thành phần nr nút đồ thị ¾ Trạng thái б (và lời giải S) tương ứng với đường đồ thị, chuỗi nút qua ¾ Các cạnh đồ thị, ars đường nối (hoặc dịch chuyển) tạo nên cấu trúc láng giềng б2 = hàng xóm б1 nhứ nút r thành phần cuối б1 cạnh ars tồn đồ thị ¾ Có thể tồn hàm đánh giá dịch chuyển crs cho cạnh Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 46 CH 2006-2008 ¾ Các thành phần đường nối gắn với thơng tin pheromone trail τ, giá trị heuristic η Giải thuật ACO áp dụng cho số lượng lớn toán tối ưu hóa tổ hợp khác Các ứng dụng thời giải thuật chia vào hai lớp ứng dụng sau: ¾ Đầu tiên tốn tối ưu hóa tổ hợp NP-khó Với lớp ứng dụng thuật tốn cho hiệu thấp Đặc điểm ứng dụng áp dụng thành công giải thuật ACO kiến gắn kết với giải thuật tìm kiếm cục để tinh chỉnh lời giải ¾ Lớp toán ứng dụng thứ hai toán đường ngắn động, nghĩa thông số toán thay đổi theo thời điểm thực giải thuật Một ví dụ điển hình dùng giải thuật ACO để định hướng giao tiếp mạng Một số toán cụ thể áp dụng giải thuật đàn kiến: ¾ Bài tốn người du lịch( Traveling salesman problem) ¾ Bài tốn gán bậc hai (Quadratic assignment problems) ¾ Bài toán lập lịch (Scheduling Problem) ¾ Bài toán định tuyến động (Dynamic routing problem in networks) ¾ Bài tốn tơ màu (Graph Coloring) ¾ Bài tốn bè cực đại (Maximum Clique) ¾ … Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 47 CH 2006-2008 Chương THUẬT TỐN MAX-MIN TRƠN GIẢI BÀI TỐN P-MEDIAN CĨ HẠN CHẾ KHẢ NĂNG 4.1/ Bài tốn p-median có hạn chế khả Để tìm hiểu tốn p-median có hạn chế khả luận văn trình bày qua tốn p-median khơng hạn chế khả 4.1.1/ Bài tốn p-median khơng hạn chế khả Bai tốn p-median khơng hạn chế khả thuộc lớp tốn định vị tâm phục vụ không hạn chế khả năng, thường gọi tắt toán định vị tâm phục vụ Đây dạng toán yêu cầu xác định cách tối ưu (hoặc gần tối ưu) vị trí đặt dịch vụ phục vụ sinh hoạt bệnh viện, trường học, bưu điện, siêu thị… với điều kiện vị trí đặt chọn từ tập giới hạn điểm cho trước Một số dạng tốn định vị tâm phục vụ: ¾ Bài tốn tâm (Center problem), cịn gọi tốn minimax: Cần xác định vị trí đặt số cho trước trạm phục vụ cho chi phí vận chuyển lớn (thời gian vận chuyển lớn nhất) từ người dùng đến trạm phục vụ họ ngược lại từ trạm chức đến người dùng cực tiểu Bài toán áp dụng trường hợp định vị dịch vụ khẩn cấp trạm cứu thương, trạm cứu hỏa … ¾ Bài tốn trung vị (Median problem): Cần xác định vị trí đặt số trạm chức cho trước cho chi phí vận chuyển trung bình (thời gian vận chuyển trung bình) từ người dùng đến trạm phục vụ ngược lại từ trạm chức đến người dùng cực tiểu Bài toán áp dụng trường hợp cần định vị trạm dịch vụ hàng ngày, dịch vụ không khẩn cấp trạm bán xăng, bưu điện … ¾ Bài tốn định vị phục vụ khơng hạn chế khả (Uncapacitated facility location problem): Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 48 CH 2006-2008 Cho trước tập địa điểm, chi phí mở dịch vụ điểm lợi nhuận thu địa điểm từ việc phục vụ khách hàng Vấn đề đặt cần chọn địa điểm đặt dịch vụ gắn khách hàng vào dịch vụ để có mạng lưới dịch vụ đem lại tổng lợi nhuận lớn 4.1.2/ Bài toán p-median có hạn chế khả Bài tốn p-median có hạn chế khả năng, biết đến với tên tốn phân cụm có hạn chế khả (capacitated clustering problem), ký hiệu toán CPMP Dưới dạng tốn tối ưu tổ hợp, tốn phát biểu sau: Có n địa điểm Mỗi địa điểm có thơng tin u cầu phục vụ, tọa độ khả phục vụ… Bài toán đặt tìm p địa điểm n địa điểm cho trước đóng vai trị tâm phục vụ (median) gán khách hàng (client) n-p địa điểm lại, cho tâm phục vụ cho: ¾ Mỗi khách hàng phục vụ tâm phục vụ Ngược lại tâm phục vụ phục vụ nhiều khách hàng tùy theo khả phục vụ ¾ Chú ý tới khả phục vụ tâm phục vụ Mỗi tâm phục vụ phục vụ khách hàng khả phục vụ Đây điểm khác biệt tốn p-median có hạn chế khả so với toán định vị tâm phục vụ nêu (khơng hạn chế khả năng) ¾ Tổng khoảng cách di chuyển từ khách hàng tới tâm phục vụ tương ứng nhỏ Ở mục tiêu cần tối ưu tổng khoảng cách phục vụ nhỏ nhất, ngồi chi phí, thời gian … số tiêu chí khác Bài toán CPMP chứng minh thuộc lớp tốn NP-khó, nghĩa khơng có thuật tốn thời gian tính đa thức để giải nó, ngoại trừ P = NP Bài tốn có ứng dụng nhiều lĩnh vực thực tế kế hoạch xây dựng khu cơng nghiệp, trung tâm thương mại, bố trí bệnh viện… vấn đề phân cụm khai phá liệu (data mining), nhận dạng (pattern recognition), định tuyến phương tiện (vehicle routing)… nhiều ứng dụng khác Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 49 CH 2006-2008 4.1.3/ Mơ hình tốn học Trước giải tốn đặt phải tìm cách biểu diễn tốn dạng mơ hình tốn học để dễ dàng tiếp cận xử lý Bài tốn CPMP mơ tả chi tiết sau: Có n địa điểm, mà để đơn giản ta gọi nút Mỗi nút i = 1, 2, …, n gắn với các thông tin khả phục vụ yêu cầu phục vụ: • yêu cầu phục vụ nút i, • ci khả phục vụ tâm phục vụ đặt i (nếu có) Lý cần hai thơng tin khả phục vụ yêu cầu phục vụ nút khách hàng tâm phục vụ Khi nút tâm phục vụ ta cần biết khả phục vụ nó, ngược lại nút có vai trị khách hàng cần biết thơng tin u cầu phục vụ Cho biết thông tin ma trận khoảng cách nút D = (dij: i,j=1,…, n), dij khoảng cách hai nút i j Chú ý nhiều ứng dụng, địa điểm cho vị trí chúng mặt phẳng toạ độ, ta cần xác định khoảng cách khoảng cách Ơcơlit hai điểm mặt phẳng Bài tốn đặt tìm p nút để đặt tâm phục vụ (p < n) gán n-p nút lại (các khách hàng), nút với p tâm phục vụ chọn cho điều kiện sau thoả mãn: ¾ Mỗi khách hàng phục vụ tâm phục vụ ¾ Tổng yêu cầu cần phục vụ tâm phục vụ không vượt khả phục vụ tâm ¾ Tổng khoảng cách di chuyển khách hàng tới tâm phục vụ tương ứng nhỏ Để xây dựng mơ hình tốn học cho tốn ta đưa vào biến Bun sau ¾ xij = 1, nút i gán cho tâm phục vụ j phục vụ, xij = 0, ngược lại (i, j=1,…, n) Ký hiệu X = (xij: i,j=1,…, n) Nhu X ma trận mô tả việc gán khách hàng cho tâm phục vụ ¾ yj = 1, nút j tâm phục vụ yj = 1, trái lại (j = 1,…, n) Vectơ y = (y1, …, yn) xác định nút tâm phục vụ ¾ Hàm mục tiêu tốn tổng khoảng cách từ khách hàng tới tâm phục vụ tương ứng : Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 50 Luận văn Cao học CH 2006-2008 n n f ( X , y ) ≡∑∑ dij xij i =1 j =1 Mơ hình tốn học tốn CPMP phát biểu sau: Tìm cực tiểu hàm mục tiêu: n n f ( X , y ) ≡∑∑ dij xij → i =1 j =1 với điều kiện: ⎧ n ⎪ ∑ y j = p, ⎪ jn=1 ⎪⎪ x =1, ∑ ij ⎨ j =1 ⎪ xij ≤ y j , ⎪ n ⎪ a x ≤c y , i ij j j ⎪⎩∑ i =1 (1) i = 1, 2, , n (2), i , j = 1, 2, , n (3), j = 1, 2, , n (4) đó: n số địa điểm, yêu cầu phục vụ nút i cj khả phục vụ tâm phục vụ j dij khoảng cách hai nút i j p số lượng trung tâm phục vụ cần đặt Điều kiện (2) đảm bảo nút phục vụ 1tâm phục vụ Điều kiện (1) đảm bảo tổng số tâm phục vụ p Điều kiện (3) đảm bảo khách hàng i gán vào tâm phục vụ điểm j j có đặt tâm phục vụ Điều kiện (4) đảm bảo tổng số khách hàng phục vụ tâm phục vụ đặt j không vượt khả phục vụ tâm phục vụ đặt địa điểm j Lưu ý chọn p nút đóng vai trị tâm phục vụ, toán CPMP trở thành toán gán tổng quát GAP: Đối với p tâm phục vụ chọn, tìm cách phân bổ n-p khách hàng cịn lại cho tâm phục vụ để làm tối thiểu tổng khoảng cách phục vụ Bài toán cuối tốn tối ưu tổ hợp khơng tầm thường Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 51 CH 2006-2008 4.2/ Mơ tả thuật tốn Max-Min trơn giải toán CPMP Luận văn sử dụng thuật toán Max-Min trơn để giải toán CPMP Thuật toán Max-Min thuật toán hiệu số thuật toán thuộc lớp thuật toán đàn kiến cải tiến Max-Min trơn Q trình để giải tốn mơ tả sơ đồ: Hình – Sơ đồ thuật tốn ACO giải toán CPMP Một số đặc điểm cần biết thuật tốn Max-Min lớp thuật tốn ACO ¾ Đưa vào khoảng giá trị cho thông tin pheromone (cận dưới) ¾ Chỉ cập nhật thơng tin pheromone tất kiến đàn xây dựng lời giải Và việc cập nhật thực với lời giải tốt toàn cục lời giải tốt vịng lặp ¾ Thơng tin pheromone nút ban đầu khởi tạo với giá trị lớn cho phép thông tin pheromone Chú ý với tốn CPMP giải thơng tin pheromone thông tin heuristic gắn cho đỉnh đồ thị, cạnh Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả Luận văn Cao học 52 CH 2006-2008 đồ thị Đó thơng tin cho biết khả nút trở thành tâm phục vụ Cụ thể thủ tục sau: Bước 0: Khởi tạo thuật toán Tại bước thông số đàn kiến số lượng kiến tham số thuật toán hệ số bay hơi, khoảng giới hạn thông tin pheromone… khởi tạo Bước 1: Kiểm tra điều kiện dừng thuật toán Khi thuật tốn chưa thỏa mãn điều kiện dừng sang Bước Ngược lại đến Bước Bước 2: Lặp với kiến đàn thực xây dựng lời giải cho tốn CPMP Q trình xây dựng lời giải kiến gồm có hai q trình ¾ Chọn p điểm làm tâm phục vụ Mỗi kiến dựa vào thông tin pheromone thông tin heuristic điểm để chọn điểm vào làm tâm phục vụ ¾ Sau chọn p tâm phục vụ, kiến hoàn thiện lời giải cách giải tốn gán n-p khách hàng cho p tâm phục vụ chọn cho thỏa mãn ràng buộc thuật toán Bài toán gọi toán GAP giải phương pháp heuristic Bước 3: Tại lần lặp, sau tất kiến đàn hồn thành lời giải mình, thuật tốn chọn kiến có lời giải tốt lời giải tối ưu cục So sánh lời giải tối ưu cục lời giải tối ưu toàn cục để cập nhật lời giải tối ưu toàn cục cần Sau thuật tốn dựa vào lời giải tối ưu cục để cập nhật thông tin pheromone nút Sau quay Bước Bước 4: Kết thúc thuật toán đưa lời giải tối ưu tồn cục 4.3/ Bàn cài đặt thuật tốn MMAS trơn 4.3.1/ Khởi tạo tham số: Các tham số để khởi tạo cho chương trình gồm có: Số vòng lặp tối đa Số lần khởi tạo lại thơng tin pheromone tối đa Số vịng lặp khơng cải tiến lời giải tối ưu cho phép Số lượng kiến đàn Hệ số bay ρ Hệ số α Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học 53 CH 2006-2008 Hệ số β Trong tham số đầu: 1, liên quan tới xác định điều kiện dừng cho thuật toán Số lượng kiến đàn tham số lựa chọn phù hợp cho toán theo kinh nghiệm thực nghiệm, tốn CPMP thơng thường ta chọn số lượng kiến đàn với số nút chọn làm median Ba tham số lại ρ, α β tác động tới hiệu thuật toán cần chọn lựa theo thực nghiệm để đem lại hiệu tốt cho thuật toán Ngồi khởi tạo thuật tốn giá trị thông tin pheromone cho nút khởi tạo 0.5 để cân hai trình khai thác khai phá Khi khởi tạo lại thơng tin pheromone giá trị pheromone nút gán cho giá trị Pheromonemax 4.3.2/ Điều kiện dừng thuật toán Điều kiện dừng thuật toán định hai yếu tố chính: ¾ Giới hạn số vịng lặp thực hiện: Khi số lần lặp thuật toán vượt q giới hạn cho phép thuật tốn dừng ¾ Giới hạn số lần khởi tạo lại thông tin pheromone: Thông tin pheromone nút khởi tạo lại tìm kiếm bị bế tắc sau số lần lặp mà lời giải tối ưu toàn cục không cải thiện Khi số lần khởi tạo lại thông tin pheromone vượt số lần cho phép thuật tốn kết thúc 4.3.3/ Xây dựng lời giải Lời giải thuật tốn gồm thơng tin: Danh sách nút tâm phục vụ thông tin khách hàng tâm phục vụ Cụ thể lời giải có cấu trúc gồm hai mảng thông tin sau: int[] MedianIndex: Mảng chiều có p phần tử Dùng để lưu danh sách nút làm tâm phục vụ Khi nút thỏa mãn điều kiện làm tâm phục vụ cho vào mảng byte[,] Assign: Đây mảng chiều kích thước [n x n], với n tổng số địa điểm đưa Các thành phần mảng nhận hai giá trị Khi khách hàng i gán cho tâm phục vụ j Assign[j,i] = Ngược lại khách hàng i không phục vụ tâm phục vụ j Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 54 Luận văn Cao học CH 2006-2008 Assign[j,i] = Mảng khơng có tính đối xứng Chỉ số trước j thể tâm phục vụ, số sau i khách hàng Do để xây dựng lời giải toán cần phải tiến hành qua hai bước Bước 1: Là chức thuật tốn đàn kiến: Dùng đàn kiến chạy đồ thị tương ứng toán Mỗi kiến ngẫu nhiên chọn nút làm điểm xuất phát đồ thị Sau dựa theo thơng tin pheromone heuristic nút để chọn p nút mà theo Và p nút đóng vai trị tâm phục vụ cần tìm Chính xây dựng mảng MedianIndex[] Bước 2: Từ p tâm phục vụ chọn ta phải gán khách hàng cho tâm phục vụ Sao cho tổng yêu cầu phục vụ từ khách hàng không vượt khả phục vụ tâm phục vụ tối thiểu hóa tổng khoảng cách từ khách hàng tới tâm phục vụ Tức xây dựng mảng Assign[ ][ ] Sau chi tiết trình xây dựng lời giải tốn ¾ Bước - Chọn p nút làm tâm phục vụ: Bước việc xây dựng lời giải kiến chọn p nút đồ thị để làm tâm phục vụ, p nút nút mà kiến qua đồ thị mơ hình hóa tốn Nút ban đầu kiến qua khởi tạo cách ngẫu nhiên Sau sử dụng phương trình tính xác suất theo thơng tin pheromone heuristic có nút, kiến tính xác suất nút chọn làm tâm phục vụ Phương trình tính xác suất sau: ⎧ ⎪ ⎪ ⎪ p =⎨ s ⎪ ⎪ ⎪ ⎩ α β ⎡τ ⎤ ⎡η ⎤ ⎣ s⎦ ⎣ s⎦ α β ⎛ ∑ ⎜ ⎣⎡τ u ⎦⎤ ⎣⎡ηu ⎦⎤ u∈N ⎝ C ⎞ ⎟ ⎠ , 0, s∈N C s∉N C Trong ps xác suất để nút s chọn làm tâm phục vụ τ s thông tin pheromone thời nút s η s thông tin heuristic để s trở thành tâm phục vụ Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả Luận văn Cao học N C 55 CH 2006-2008 danh sách ứng cử viên thời trở thành tâm phục vụ Các tham số α β định mức độ tác động thông tin pheromone thông tin heuristic lên việc chọn nút tâm phục vụ Đó tham số có từ khởi tạo thuật tốn Sau tính xong hết xác suất nút chọn làm tâm phục vụ theo bước trên, việc chọn nút làm tâm phục vụ định theo luật pseudo-random propotional sau: • Ban đầu có giá trị q0 cho thuật tốn Thường giá trị q0 = { 0.4, 0.5, 0.6 } Khi định chọn nút làm tâm phục vụ ta sinh giá trị q ngẫu nhiên khoảng (0,1) So sánh giá trị q q0 • Nếu q < q0 ta chọn nút có xác suất lớn số xác suất tính làm tâm phục vụ • Ngược lại, ta sinh giá trị ngẫu nhiên prob_Condition khoảng (0,1) Sau tiến hành cộng dồn giá trị xác suất chọn nút thu giá trị lớn giá trị prob_Condition Chọn nút làm tâm phục vụ nút có giá trị xác suất cuối cộng vào Việc chọn lựa đảm bảo hai điều quan trọng q trình xây dựng lời giải thuật tốn ACO Một là, khai thác thơng tin tìm kiếm trước chọn nút có xác suất chọn lớn Hai là, lời giải xây dựng ngẫu nhiên để mở rộng khơng gian tìm kiếm thuật tốn Q trình tìm đường kiến kết thúc qua đủ p nút Mã thủ tục: private void construct_Solution(AntSolution Solution) { Solution.InitialAssign(); Random rdFirst = new Random(); Solution.MedianIndex[0] = rdFirst.Next(Solution.TotalClient); Solution.CkMedian[Solution.MedianIndex[0]] = 1; int iNoMedian = 1; while (iNoMedian < Solution.NoMedian) Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 56 Luận văn Cao học CH 2006-2008 { float total = 0; float maxProbability = 0; int maxIndex = 0; for (int i = 0; i < Solution.TotalClient; i++) { arrProb[i] = 0; if (Solution.CkMedian[i] ==0) { arrProb[i]= (float)Math.Pow(instance.Pheromone[i], alpha) * (float)Math.Pow(instance.Heuristic[i], beta); if(arrProb[i]> maxProbability){ maxProbability = arrProb[i]; maxIndex = i; } total += arrProb[i]; } } Random rd = new Random(); float q = (float)rd.NextDouble(); if (q < q0) { Solution.MedianIndex[iNoMedian] = maxIndex; Solution.CkMedian[maxIndex] = 1; } Else{ Random rd2 = new Random(); float prob_Condition = (float)rd.NextDouble(); prob_Condition *= total; int k = 0; float Partial_prob = arrProb[0]; while (Partial_prob = instance.Demand[orderClient[i]])) { Solution.Assign[Solution.NearestMedian[orderClient[i], 0], orderClient[i]] = 1; capacity[Solution.NearestMedian[orderClient[i], 0]] -= instance.Demand[orderClient[i]]; } else { if((Solution.NearestMedian[orderClient[i], 1] != -1)&& (capacity[Solution.NearestMedian[orderClient[i], 1]] >=instance.Demand[orderClient[i]])) { Solution.Assign[Solution.NearestMedian[orderClient[i], 1], orderClient[i]] = 1; capacity[Solution.NearestMedian[orderClient[i], 1]] -= instance.Demand[orderClient[i]]; } else{ int[] orderMedian = new int[p]; orderMedian = SortMedianByClient(orderClient[i], Solution.MedianIndex); int j = 0; bool hasAssign = false; while ((j < p) && (!hasAssign)){ if (capacity[orderMedian[j]] >= instance.Demand[orderClient[i]]) { Solution.Assign[orderMedian[j],orderClient[i]] =1; capacity[orderMedian[j]]-= instance.Demand[orderClient[i]]; hasAssign = true; } j++; } } Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 59 Luận văn Cao học CH 2006-2008 } } } ¾ Bước - Kiểm tra tính đắn lời giải: Do việc xây dựng lời giải thực qua hai bước: Tìm p nút làm tâm phục vụ giải toán GAP Mặt khác giải toán GAP theo phương pháp heuristic nên cần kiểm tra tính đắn lời giải Vì xảy trường hợp khơng thể giải tốn GAP Nếu lời giải khơng thỏa mãn quay lại xây dựng lời giải theo hai bước Mã thủ tục: private bool checkSolution(AntSolution sol) { bool result = true; if (sol.NoMedian != instance.NoMedian) { return false; } if (sol.NoClient != instance.NoClient) { return false; } int iMedian = 0; int iAssignClient = 0; while ((iMedian < sol.NoMedian) && (result)) { int TotalDemand = 0; for (int j = 0; j < sol.NoClient; j++) { int indexMedian= sol.MedianIndex[iMedian]; int indexClient= sol.ClientIndex[j]; if (sol.Assign[indexMedian, indexClient] == 1) { TotalDemand += instance.Demand[indexClient]; iAssignClient += 1; } } if (TotalDemand > instance.Capacity[indexMedian]) { Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 60 Luận văn Cao học CH 2006-2008 return false; } iMedian++; } if (iAssignClient != sol.NoClient) { return false; } return result; } 4.3.4/ Cập nhật thông tin pheromone Sau đàn kiến xây dựng xong lời giải bước lặp (con kiến có lời giải riêng nó) Thuật toán chọn lời giải tốt bước lặp đó, gọi lời giải tốt cục (Local best) Lời giải so sánh với lời giải tốt toàn cục (Global best) để cập nhật lại lời giải tốt tồn cục Sau tiến hành cập nhật thơng tin pheromone theo bước: ¾ Thực q trình bay thơng tin pheromone tất nút ¾ Tăng thêm thơng tin pheromone nút thuộc vào lời giải cục tốt Công thức cập nhật thông tin pheromone sau: τ ij ← (1 − ρ )τ ij + Δ ij ⎧ ρτ max (i,j)∈ w(t) ⎩ ρτ ngược lại Trong đó: Δ ij = ⎨ Với τ max = 1 , τ max / τ = 2n − ρ f ( s best ) Với Sbest lời giải tốt vòng lặp τ i thơng tin pheromone có nút i Mã thủ tục: private void pheromone_trail_update(int iteration) { AntSolution currentBest = new AntSolution(instance.TotalClient, instance.NoMedian); currentBest = arrSolution[0]; Giải thuật hệ kiến Max-min trơn giải toán p-median có hạn chế khả 61 Luận văn Cao học CH 2006-2008 for (int i = 0; i < instance.TotalClient; i++){ // bay hoi: Evaporation instance.Pheromone[i] = (1 - Evaporation) * instance.Pheromone[i]; } // 50 lan cap nhat localBest thi cap nhat Globle best if ((iteration % 50) == 0){ for (int i = 0; i < currentBest.NoMedian; i++){ instance.Pheromone[BestSolution.MedianIndex[i]] += Evaporation * (PheromoneMax - PheromoneMin); } } else{ for (int i = 0; i < currentBest.NoMedian; i++){ instance.Pheromone[currentBest.MedianIndex[i]] += Evaporation * (PheromoneMax - PheromoneMin); } } if ((currentBest.Cost < BestSolution.Cost) || (NoLoop == 0)){ BestSolution = currentBest; NonChangedLoop = 0; } else{ NonChangedLoop++; } float RestartCondition; RestartCondition = instance.NoMedian * PheromoneMax + instance.NoClient * PheromoneMin; float totalPheromone = 0; if ((RestartCondition == totalPheromone) || (NonChangedLoop == MaxNonChangedLoop)) { RestartPheromone(); NonChangedLoop = 0; RestartTime++; } } Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 62 Luận văn Cao học CH 2006-2008 4.3.5/ Khởi tạo lại thông tin pheromone Hàm khởi tạo lại thông tin pheromone nút việc tìm kiếm lời giải tốt bị bế tắc lời giải tốt khơng cải thiện sau số vịng lặp Hàm dùng để mở rộng khơng gian tìm kiếm thuật toán Mã thủ tục: private void RestartPheromone() { for (int i = 0; i < instance.TotalClient; i++) { instance.Pheromone[i] = PheromoneMax; } } 4.4/ Cải tiến cho thuật toán Để nâng cao hiệu giải thuật, ta áp dụng thêm số hàm tìm kiếm cục (local search) để nâng cao chất lượng lời giải Tức là sau kiến đàn hoàn thành việc xây dựng lời giải Thuật tốn tiến hành thủ tục tìm kiếm cục để nâng cao chất lượng lời giải đến mức Sau tiến hành việc so sánh cập nhật thông tin pheromone nút Cụ thể sau: Với lời giải thu Xf tiến hành nâng cao chất lượng lời giải Sau xác định p tâm phục vụ, ta từ đưa tương ứng p vùng (cluster) C1, C2,… Cp Mỗi vùng Ci tương ứng với tâm phục vụ i khách hàng mà phải phục vụ Việc cải tiến lời giải Xf thực cách tương ứng hai thủ tục sau 4.4.1/ Location-Allocation Heuristic (LAH) Là thủ tục cải tiến lời giải Xf vùng Tức vùng ta cố gắng tìm tâm phục vụ mới, thay đổi vai trò tâm phục vụ tâm phục vụ cũ Chúng ta tính tốn lại giá trị khoảng cách phục vụ Nếu lời giải thu cho đánh giá tốt ta giữ nguyên việc thay đổi, ngược lại bỏ qua Chúng ta lặp trình tìm tâm phục vụ cho vùng khơng có cải thiện đạt Mã thủ tục: Giải thuật hệ kiến Max-min trơn giải tốn p-median có hạn chế khả 63 Luận văn Cao học CH 2006-2008 Location - Allocation Heuristic (LAH) Set nchanges = 0; Repeat For (each cluster C j , j = ,…, p) do: For (each non-median node i ∈ C j such that i ∈ M and Qi ≥ Qm j ) If (nchanges