THUẬT TOÁN METAHEURISTIC GIẢI bài TOÁN ĐỊNH TUYẾN tối ưu TRONG MẠNG máy TÍNH

95 319 1
THUẬT TOÁN METAHEURISTIC GIẢI bài TOÁN ĐỊNH TUYẾN tối ưu TRONG MẠNG máy TÍNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Nguyễn Thị Hiền THUẬT TOÁN METAHEURISTIC GIẢI BÀI TOÁN ĐỊNH TUYẾN TỐI ƯU TRONG MẠNG MÁY TÍNH Chuyên ngành : CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS NGUYỄN ĐỨC NGHĨA Hà Nội – Năm 2014 LỜI CAM ĐOAN Tôi xin cam đoan đề tài nghiên cứu tìm hiểu thực hướng dẫn thầy giáo PGS.TS Nguyễn Đức Nghĩa Các số liệu kết luận nghiên cứu trình bày luận văn kết thực nghiệm chương trình viết Tôi xin chịu trách nhiệm nghiên cứu Học viên Nguyễn Thị Hiền LỜI CẢM ƠN Đầu tiên, cho em gửi lời cảm ơn đến toàn thể thầy cô giáo trường Đại học Bách Khoa Hà Nội nói chung thầy cô Viện Công nghệ thông tin Truyền thông Bộ môn Khoa học máy tính nói riêng Trong năm học vừa qua, em thầy cô dạy cung cấp kiến thức quý báu chuyên môn đạo đức Đặc biệt, em xin chân thành cảm ơn thầy, PGS.TS Nguyễn Đức Nghĩa, người trực tiếp hướng dẫn, cung cấp tài liệu định hướng, bảo tận tình suốt trình em làm luận văn tốt nghiệp Trong trình thầy giảng dạy hoàn thành luận văn hướng dẫn thầy, em học tinh thần làm việc nghiêm túc, miệt mài, cách nghiên cứu khoa học hiệu quả, tư cách liêm chính, nghiêm minh Đó hành trang, định hướng trình làm việc em sau Cuối cùng, xin gửi lời cảm ơn chân thành tới gia đình bạn bè, người chỗ dựa tinh thần, chăm sóc, động viên, khuyến khích, giúp đỡ suốt trình học tập nghiên cứu để hoàn thành luận văn tốt nghiệp Hà Nội, ngày 16, tháng 9, năm 2014 Học viên : Nguyễn Thị Hiền Lớp : Công Nghệ Thông Tin – 2012B Viện : Công nghệ thông tin Truyền thông Trường : Đại học Bách khoa Hà Nội DANH MỤC THUẬT NGỮ TIẾNG ANH TT Tiếng Anh Tiếng Việt Trang Hop Bước nhảy 15 Routing Internet Protocol (RIP) 15 Distance Vec tơ Multicast Routing Protocol (DVMRP) 19 Unicast Transmission Truyền tin đơn đích Distance Vector Multicast Routing Protocol Giao thức hướng lộ đa đích sử dụng Vec tơ khoảng cách Weighted Sum Tổng có trọng số 38 DANH MỤC HÌNH ẢNH DANH MỤC BẢNG MỤC LỤC Ngày mạng Internet yêu cầu tất yếu công việc hàng ngày Internet phát triển ngày mạnh, lượng người truy cập tăng, yêu cầu định tuyến phải tin cậy, tốc độ chuyển mạch nhanh không gây lặp dự liệu mạng Quá trình tối ưu cần đưa giải pháp nhằm đáp ứng tốt nhu cầu truyền thông trình chọn lọc tuyến đường nhằm tìm tuyến đường tối ưu Đối với mạng lớn thuật toán định tuyến tối ưu toán khó Vì việc thiết kế mạng với hiệu đường truyền tốt vấn đề có ý nghĩa lý thuyết ứng dụng thực tế quan trọng Bài toán định tuyến tối ưu mạng máy tính yêu cầu tìm tuyến đường tối ưu từ nút nguồn đến nút đích thỏa mãn số ràng buộc đưa Bài toán định tuyến tối ưu mạng máy tínhlà toán thuộc lớp toán NP – khó tìm lời giải tối ưu thuật toán metaheuristic cách tiếp cận để giải vấn đề đặt Trong năm gần đây, phương pháp tiếp cận di truyền thu hút nhiều ý lĩnh vực nghiên cứu khác có khoa học máy tính Phương pháp có nhiều đặc điểm trội không đòi hỏi tri thức, tránh tối ưu cục bộ, thực tốt với toán có không gian lời giải lớn áp dụng cho nhiều loại toán tối ưu khác Trên giới nay, giải thuật di truyền kết hợp với tin học ứng dụng để giải toán tối ưu cách hiệu Mục tiêu luận văn sở tìm hiểu kiến thức tổng quan thuật toán metaheuristic giải thuật giải thuật di truyền, tập trung xây dựng giải thuật di truyền để giải toán định tuyến tối ưu mạng máy tính Luận văn bao gồm chương Chương trình bày số kiến thức sở liên quan đến toán định tuyến tối ưu mạng máy tính Chương giới thiệu toán tối ưu hóa việc định tuyến đơn đích tổng quan giải thuật di truyền: lịch sử đời, bước giải thuật số chiến lược thực Chương trình bày toánđịnh tuyến đơn đích tối ưu với hàm mục tiêugộp đề xuất, phân tích số chiến lược thực phép toán sinh quần thể, lai ghép, đột biến… áp dụng giải thuật di truyền giải toán đặt ra.Chương mô tả cài đặt thực nghiệm theo thuật toán đề xuất Phần kết luận ghi nhận kết tiếp thu trình làm luận văn CHƯƠNG BÀI TOÁN ĐỊNH TUYẾN TỐI ƯU TRONG MẠNG MÁY TÍNH Chương trình bày khái niệm mạng truyền tin đơn đích mạng truyền tin đa đích; sốhàm để tối ưu hóa mạng truyền tin: đếm số bước nhảy, độ trễ, chi phí, tiêu thụ băng thông, tỷ lệ luồng tin, xác suất chặn, tận dụng tối đa liên kết, số hàmtối ưu hóa khác 1.1 Khái niệm 1.1.1 Truyền tinđơn đích Để giải vấn đề tối ưu hóa mạng máy tính, cần định nghĩa biến xác định đường mà theo thông tin truyền tải Định nghĩa biến vec tơ sau: X ={ tf ij luồng tin f qua liên kết (i,j) luồng tin f không qua liên kết (i,j) Điều có nghĩa biến Xijnhận giá trị liên kết (i, j) dùng để truyền tảiluồng tin, ngược lại giá trị củaXij Trong hình có hai đường đi từ nút nguồn đến nút đích Đường thông qua liên kết (1,2) (2,5) Đường thứ hai thông qua liên kết (1,3), (3,4), (4,5) Giả sử đường ((1,2), (2,5)) chọn đường để truyền tảiluồng tinf1, X 12 =1 X 25 =1 Do liên kết (1,3), (3,4), (4,5) không sử dụng, giá trị biến liên quan đếnnhững liên kết X 12 FTP f 1 X 25 1 1 X 13 X 34 X 45 0 Hình Mạng máy tính tuyền tin đơn đích Bảng Các tham số sử dụng cho trường hợp truyền tinđơn đích Ký hiệu Định nghĩa G (N, E) Đồ thị mạng máy tính N Tập nút E Tập liên kết s Nút nguồn t Nút đích (i,j) Liên kết từ núti đến nút j F Tập luồng tin f Luồng tintruyền tinđơn đích Liên kết (i,j) dùng truyền tảiluồng tinf với đích đến nút t cij Thông lượng liên kết (i,j) bwf Yêu cầu lưu lượng luồng tinf 1.1.2 Truyền tinđa đích Đối với trường hợp truyền tinđa đích, phải định nghĩa biến mà biểu diễn liên kết sử dụng để truyền tải luồng tin cụ thể Các biến vec tơ định nghĩa sau: X ={ tf ij luồng tin f qua liên kết (i,j) luồng tin f không qua liên kết (i,j) tf X ij Điều có nghĩa biến có giá trị khiliên kết (i,j) dùng để truyền luồng tinf có đích đến nútt, thuộc tập hợp nút đích Tf Nếu liên kết không dùng biến tương ứng có giá trị Theo hình vẽ có đường đi từ nút nguồn đến nút đích Đường bao gồm liên kết {(1, 2), (2, 5)} {(1, 3), (3, 6)} Đường thứ hai bao gồm {(1, 4), (4, 5)} {(1, 4), (4, 6)} Đường thứ ba bao gồm liên kết {(1, 2), (2, 5)} {(1, 4), (4, 6)} Cuối cùng, đường đithứ tư gồm liên kết {(1, 4), (4, 5)} {(1, 3), (3, 6)}.Giả sử đường thứ hai lựa chọn ({(1, 4), (4, 5)} {(1, 4), (4, 6)}) đường truyền tinđa đích luồng tinf1, nên giá trị biến 51 X 14 = 1, 61 X 14 = 1, hai liên kết sử dụng để truyền tải luồng tinf1 có đích đến nút Các liên kết (1,2), (2, 5), (1, 3), (3, 6) không sử dụng, giá trị liên kết (Hình 2) Giá trị biến mà từ liên kết đến đích không hiển thị hình Ví dụ như, giá trị biến 61 X 45 =0 , đến nút thông qua liên kết (4, 5) X 51 25 51 X 12 Video f1 51 X 14 61 X 14 51 X 45 61 61 X 13 X 46 61 X 36 Nguồn: s = Đích: t1 = t2 = Hình Mạng máy tính truyền tin đa đích Bảng Các tham số sử dụng cho trường hợp truyền tinđa đích Ký hiệu Định nghĩa G (N, E) Đồ thị N Tập nút E Tập liên kết S Các nút vào T Tập nút (i,j) Liên kết từ núti đến nútj F Tập luồng tin f Luồng tinđa đích Tf Tập nút đích luồng tinđa đíchf Liên kết (i,j) dùng truyền tảiluồng tinf với đích đến nút t cij Thông lượng liên kết (i,j) Bwf Yêu cầu lưu lượng luồng tin 10 Hình 29 Ví dụ minh hoạ khởi tạo quần thể s n n n t Đường i Đường Đường Đường Đường Đường 3.3.4 Lựa chọn bố mẹ đem lai ghép Với hy vọng bố mẹ tốt sinh tốt, ta chọn lọc hai nhiễm sắc thể bố mẹ theo phương pháp bánh xe Roullete Thực phương pháp này, nhiễm sắc thể tốt có nhiều khả chọn Để chọn cá thể, ta thực bước sau: [Tổng] Tính tổng tất giá trị tương thích nhiễm sắc thể quần thể, gọi tổng S [Chọn lọc] Sinh số ngẫu nhiên r khoảng (0, S) [Vòng lặp] Duyệt qua nhiễm sắc thể để cộng dồn giá trị tương thích chúng, giả sử thu giá trị s, s lớn r dừng trả nhiễm sắc thể duyệt đến Với chế lựa chọn có số nhiếm sắc thể chọn nhiều lần Điều phù hợp với lý thuyết lược đồ: Các nhiễm sắc thể tốt có nhiều sao, nhiễm sắc thể trung bình không đổi, nhiễm sắc thể chết Thao tác sinh sản hay gọi thao tác chọn cha mẹ điều khiển 81 cách quay bánh xe roulette, chuỗi quần thểchiếm khe có kích thước tỉlệvới độthích nghi (fitness) bánh xe 3.3.5 Lai ghép hai cá thể bố mẹ Để tạo cá thể mới, ta thực toán tử lai ghép Trong tự nhiên, thừa hưởng đặc tính bố mẹ Trong giải thuật di truyền vậy, ta lai ghép bố mẹ, chọn lựa gen tốt bố mẹ cho con, để tạo tốt hơn, gần với lời giải tối ưu Toán tử lai ghép: Toán tử lai ghép đơn điểm cắt :  Một điểm cắt chọn  Từ đầu đến điểm cắt lấy từ cha, phần lại duyệt qua mẹ, đưa gen chưa có vào Hình 30 Ví dụ minh họa lai ghép đơn điểm cắt 3.3.6 Toán tử đột biến Để tránh sinh nhiễm sắc thể giống hệt bố mẹ, thực cải tạo gen cá thể, ta thực toán tử đột biến sau:bằng phương pháp lựa chọn, chọn cá thể thực đột biến quần thể Xác suất đột 82 biến pm, khả để gen NST bị đột biến pm Nếu pm=100% toàn NST bị đột biến Nếu pm =0% không gen bị thay đổi.Xác định điểm cắt nhiễm sắc thể: ni = pm * l (l chiều dài nhiễm sắc thể) Nhiễm sắc thể sau bị cắt điểm ni: s, n1, n2, …, ni…ta thực tìm kiếm lại đường với đỉnh liền kề đỉnh niđến nút đích t Hình 31 Ví dụ minh họa đột biến nhiễm sắc thể 3.3.7 Thay Ta giữ lại popHold nhiễm sắc thể tốt hệ cũ, nhiễm sắc thể lại thay nhiễm sắc thể vừa tạo qua bước lai ghép đột biến Nhờ đó, ta tránh tình trạng lời giải tốt Tức là, sau sinh cá thể mới, ta tính chi phí Nếu cá thể có chi phí lớn chi phí lớn quần thể, không thay Ngược lại, ta chèn cá thể vào vị trí quần thể (việc làm loại bỏ cá thể tồi quần thể) 83 CHƯƠNG CÀI ĐẶT VÀ THỰC NGHIỆM 4.1 Mô tả cài đặt Chương trình thực nghiệm cài đặt ngôn ngữ C#, chạy máy Core i3 2.40GHz 4.1.1 Các biến grapth g; //đồ thị vertex from, to; //đỉnh double croRate, mutRate; //xác suất lai ghép xác suất đột biến int iteration = 100; //Số lần lặp tối đa int size = 100; //kích thước quần thể double runningTime = 0; //thời gian chạy thuật toán //quan the List populations = newList(); //ca the tot nhat int bestCount = 0; individual bestIndiv = null; 4.1.2 Thủ tục nhập liệu Dữ liệu đọc từ file có định dạng sau: - Dòng đầu gồm : sốđỉnh (n), số cạnh (tập liên kết nút), k luồng tin truyền tải đồng thời, yêu cầu lưu lượng luồng tin f ∈F : bwf1, bwf2, … - Trên cung có trọng số: độ trễ truyền tin, băng thông liên kết (i,j) 4.1.3 Khởi tạo quần thể ban đầu Thủ tục tạo quần thể gồm popSize nhiễm sắc thể xếp chúng theo thứ tự tăng dần chi phí nhờ gọi đến thủ tục Sort 4.1.3.1 Khởi tạo quần thể ban đầu Thủ tục tạo quần thể gồm popSize nhiễm sắc thể privatevoid InitPopulation(){ for (int i = 0; i this.croRate) return; // thuc hien lai ghep //chon bo me individual father, mother; this.foundParent(out father, out mother); //thuc hien lai ghep /*****/ individual[] childens = father.CrossOverTo(mother); //chen vao quan the 85 this.populations.AddRange(childens); // childens co the chua hai hoac nhieu hon cac ca the //sap xep lai quan the this.Sort(); //loai bo hai ca the toi nhat this.populations.RemoveRange(populations.Count - childens.Length, childens.Length); } 4.1.6 Đột biến privatevoid mutation() { //throw new NotImplementedException(); int index = (newRandom(DateTime.Now.Millisecond)).Next((int)(this.PopulationSize / 2.0), this.PopulationSize - 1); individual mut = this.populations[index].Mutation(); this.populations.Add(mut); this.Sort(); //loai bo hai ca the toi nhat this.populations.RemoveAt(this.PopulationSize-1); } 4.2 Mô tả liệu thực nghiệm Dữ liệu thực nghiệm file txt có định dạng sau: - Dòng mô tả: tổng số đỉnh, tổng số cung, yêu cầu băng thông - luồng tin thuộc tập F Các dòng chia làm cột là: nút mạng i, nút mạng j, độ trễ liên kết (i,j), băng thông liên kết (i,j) 4.2.1 Dữ liệu có sẵn Sử dụng giải thuật xây dựng với mạng máy tính mục 2.2, hình 1.25 mạng máy gồm 14 nút mạng, có 20 liên kết (i,j), trọng số độ trễ mô tả hình vẽ Các liên kết có thông lượng tối đa 1536Kbps truyền tải góitin Tìm đường tối ưu cho ví dụ sau Ví dụ 1: Tìm đường có chi phí tối ưu từ nút nguồn s=0đến nút đích t=12.Yêu cầu thông lượng luồng tin f bwf = 512Kbp Ví dụ 2:Tìm đường có chi phí tối ưu từ nút nguồn s=0đến nút đích t=13.Yêu cầu thông lượng luồng tin f bwf = 512Kbp 86 N8 d78=5 N1 d01=9 d7,13=8 d16=20 d02=9 d27=26 N7 N2 d56=7 d24=7 N0 d03=7 d13=13 d45=7 N4 d69=7 N6 N9 d8,12=7 N5 d12,13=4 N12 d10,12=14 d4,10=11 N3 N13 d89=5 d9,11=8 d3,10=15 N10 d10,11=9 N11 Ví dụ 3: Tìm đường có chi phí tối ưu truyền đồng thời luồng tin f1 , f2 f3 có dung lượng 512-Kbps từ nút s=0 đến nút t=13 Ví dụ 4:Tìm đường có chi phí tối ưu truyền đồng thời hai luồng tin f1 f2có yêu cầu thông lượng 1024 Kbpstừ nút đến nút 13 4.2.2 Dữ liệu tạo ngẫu nhiên Sử dụng chương trình Graph Gen viết ngôn ngữ lập trình C tạo liệu ngẫu nhiên mạng máy tính Tham số đầu vào gồm: - Số nút mạng Số liên kết mạng máy tính Độ trễ tối đa liên kết Thông lượng tối đa liên kết Kết lưu file txt: - Dòng đầu tiên: yêu cầu thông lượng luồng tin, số luồng tin cần - truyền Các dòng có định dạng sau: n m v1 W1 bwf1 d1 v2 W2 bwf2 d2… 87 n số đỉnh m số cạnh đồ thị Liên kết đỉnhvi wicó trọng số bwfi ,di thông lượng độ trễ Tạo liệu sau: Bảng 15 Mô tả liệu tạo ngẫu nhiên Bộ liệu N E f1-1024 100 f1-f5-256 f1-f10-128 4.3 F Max_dij bwf Max_bwf 54 1024kbps 2048Kbps Số hệ 100 200 500 728 60 256kbps 1024Kbps 200 1000 1564 10 65 128kbps 512Kbps 400 Kết thực nghiệm Sử dụng liệu mô tả để chạy thuật toán Giải thuật cài đặt ngôn ngữ C# Cấu hình máy tính chạy giải thuật: Intel® Core™ i3 – 3110M CPU @2.40GHz RAM 4.00GB OS Windows 8.1 x64 4.3.1 Bộ liệu có sẵn Bảng 16 Các thông số áp dụng để lấy kết thực nghiệm Quần thể Tỉ lệ lai chéo Tỉ lệ đột biến Cơ chế lựa chọn 100 cá thể 85% 0.05 % Roulette Bảng 17.Mô tả liệu có sẵn Bộ liệu N E f1-512 f1f2-1024 f1f2f3-512 14 14 14 20 20 20 F bwf 512Kbps 1024Kbps 512Kbps Số hệ 100 200 400 Bảng 18 Kết thực nghiệm Bộ số liệu Source destination Gen 88 Time (s) Best Đạt kết f1-512 f1-512 f1f2-1024 f1f2f3-512 1 1 13 14 14 14 12 16 0.042s 0.064s 0.11s 0.14s 1575 1582 4746 7258 Đạt Đạt Đạt Đạt Bảng 19: Phương án tốt tìm với liệu có sẵn Bộ số liệu f1-512 f1-512 f1f2-1024 Giá trị tối ưu 1575 1582 4746 f1f2f3-512 Tập cạnh thu 7258 (1 , 4), (4, 11), (11, 13) (1 , 3), (3, 8), (8, 14) f1 (1 , 4), (4, 11), (11, 13), (13, 14) f2(1, 3), (3, 8), (8, 14) (1 , 3), (3, 8), (8, 14) Bảng 20 Kết giải thuật GA liệu có sẵn STT Bộ số liệu GA (10 lần chạy) 10 1575 1575 1575 1575 1575 1575 1575 1575 1.01b 0.80 1.20 1.05 1.30 1.83 1.67 2.66 2.49 2.92 35 12 19 51 17 30 200 222 252 312 556 556 700 756 834 f1- 1582 1582 1582 1582 1582 1582 1582 1582 1582 1582 512 0.51 0.87 0.92 1.04 1.14 1.14 1.83 2.20 2.54 2.70 1 12 20 10 10 11 100 200 222 252 312 556 556 700 756 834 f1f2- 4746 4746 4746 4746 4746 4746 4746 4746 4746 4746 1024 1.9 2.0 2.0 2.2 3.0 4.0 4.4 6.2 7.7 6.2 64 42 34 63 43 14 14 96 128 51 100 200 222 252 312 556 556 700 756 834 f1f2f3 7258 7258 7258 7258 7258 7258 7258 7258 7258 7258 -512 1.4 2.4 2.4 2.0 2.6 6.0 6.1 6.2 7.6 8.9 16 18 14 21 26 13 15 100 1575 100d 1575a 4c f1512 200 222 252 312 556 556 700 756 834 a Giá trị lời giải thu 89 b Thời gian thực c Đạt bước lặp d Tổng số hệ thực giải thuật di truyền 4.3.2 Bộ liệu tạo ngẫu nhiên Bảng 21 Các thông số sử dụng để chạy thực nghiệm Quần thể Tỉ lệ lai chéo Tỉ lệ đột biến Cơ chế lựa chọn 100 cá thể 91% 0.08 % Roulette Bảng 22 Kết thực nghiệm liệu tạo ngẫu nhiên Bộ số liệu Source destination Gen Time (s) Best Tìm thấy đường f1-1024 f1-f5-256 f1-f1-128 1 100 499 17 43 1.37 261.620 4025 10012 Có Có Có Bảng 23 Kết tối ưu số liệu ngẫu nhiên Bộ số liệu f1-1024 f1-f5-256 Giá trị tối ưu 4025 10012 Đường tối ưu (1, 92),(92, 79),(79, 48), (48,100) 1, 302, 371, 153, 43, 481, 6, 499, (Z = 1976) 1, 302, 371, 20, 237, 12, 6, 499, (Z = 2009) 1, 302, 371, 20, 237, 12, 6, 499, (Z = 2009) 1, 302, 371, 20, 237, 12, 6, 499, (Z = 2009) f1-f1-128 Bảng 24 Kết giải thuật GA liệu ngẫu nhiên TT Bộ số liệu GA (10 lần chạy) 10 4025a 4025 4025 4025 4025 4025 4025 4025 4025 4025 1.375b 4.994 3.677 4.164 5.407 3.796 6.013 4.350 5.807 5.490 17c 38 12 100d f11024 171 200 271 271 300 300 500 756 756 10012 10012 10012 10012 10012 10012 10012 10012 10012 f1-f5- 10012 90 256 261.620 1.913 2.323 2.243 2.444 2.523 1.983 2.053 54 50 53 52 52 56 43 54 52 100d f1-f1- 2.103 43 1.923 171 200 271 271 300 300 500 756 756 9310 9310 9310 9310 9310 9310 9310 9310 9310 9310 128 2659.683 2659.68 2659.68 2659.68 2659.68 2659.683 2659.68 2659.68 2659.683 2659.68 42 52 52 53 56 54 53 53 52 52 100d 171 200 271 271 300 300 500 756 756 a Giá trị lời giải thu b Thời gian thực c Đạt bước lặp d Tổng số bước lặp thực 4.4 Hướng dẫn sử dụng chương trình Chương trìnhđược viết ngôn ngữ Visual C# công cụ Visual Studio 2010 Giao diện bắtđầu chạy chương trình sau: Hình 32 Chọn file liệu đầu vào Người dùng lựa chọn file liệu vàođể chạy chương trình cung cấp thông tin mạng máy tính số nút mạng, số liên kết Ởđây, file txt liệu có sẵn việc lựa chọn sau chọn nút “Tiếp Theo” 91 Hình 33 Giao diện chương trình Sau đó, ta nhập thông số cần thiết cho chương trình chạy như: kích thước quần thể, số hệ, nút nguồn, nút đích, tỉ lệ lai chéo, xác suấtđột biến, số lần lặp tối đa Để đánh giá hiệu tính toán, sử dụng đại lượng sau: Gap = ( Z − Z b ) / Z b × 100% đó: Z giá trị trung bình lời giải thu sau số lần chạy thử thuật toán Zb phương án tốiưu biết Gen thể số hệ đạt phương án tối ưu Time thời gian chạy thuật toán tương ứng Best phương án tốt cóđược Chương trình cho phép hiển thị kết sau lần chạy Như vậy, kết chương trình sẽđược lưu vào file với cấu trúc: Phần đầu phần ghi lại thông sốđã càiđặt cho Chương trình Có dạng sau: POPULATION: 20 – số cá thể quần thể GENERATION_SPAN: 100 – số hệ thực giải thuật di truyền CROSSOVER_RATE: 80% - tỉ lệ lai ghép chéo MUTATION_RATE: 0.05% - tỉ lệ đột biến SOURCE NODE: – nút nguồn 92 DESTINATION NODE: 14 – nút đích Trong đó: Giá trịđầu tiên kích thước quần thể, giá trị số hệ Ởđây, áp dụng phương pháp dừng thuật toán theo kiểu "cưỡng bức", tức sau generation_span hệ dừng lại Sau đó, kết chạyđược chương trình: GAP: 2.3933177529646% - hiệu giải thuật EDGE SET (0,5),(3,4),(2,4),(1,2),(1,5), - đường tối ưu tìm kiếm Zbest: 709770 – chi phí đường tối ưu TIME:0.16seconds – thời gian chạy giải thuật Với thành phần nhưđã trình bàyở trên, thêm tập cạnh (Edge-set) tập cạnh phương án tốt tìm Zbest chi phí tối ưu Kết thúc, chọn "Save" muốn lưu kết lại, thoát, chọn "Close" 93 KẾT LUẬN Từ thống kê kết thực nghiệm, ta rút số kết sau:  Giải thuật di truyền xây dựng để giải toán đưa chạy tương đối hiệu Đối với test thực nghiệm, giải thuật cho kết tối ưu  Các kết thu qua nhiều lần thực nghiệm test ổn định  Tuy nhiên, với test có kích thước lớn, số đỉnh lên đến đơn vị nghìn, giải thuật cho kết tốt nhiên thời gian chạy giải thuật lâu việc tìm kiếm đường có thật Do vậy, hướng phát triển sau đồ án tiếp tục cải thiện giải thuật đồ án tốt nữa, để áp dụng giải thuật hiệu có kích thước lớn với thời gian chấp nhận 94 TÀI LIỆU THAM KHẢO Chang Wook Ahn - Advances in Evolutionary Algorithms – 12/2005 Carlos A.S Oliveira, Panos M Pardalos.Mathematical Aspects of Network Routing Optimization, 2011 Marco Dorigo, Thomas Stutzle Ant Colony Optimization MIT, 2004 Yezid Donoso, Ramon Fabregat Multi Objective Optimization in Computer Networks Using Metaheuristics 2007 Jean-Philippe Rennard.Genetic Algorithm Viewer: Demonstration of a Genetic Algorithm, Ph.D May 2000 J.Cheryan, R.Ravi Approximation algorithms for September 1998 network problems, Jack Brimberg, Pierre Hansen - Improvements and Comparision of heuristic for solving the multisource webber problem,June 1997 Sudipto Guha - Approximation Algorithms for facility location problems, for the degree of doctor of philosophy, August 2000 Darrell Whitley - Agenetic algorithm tutorial 95

Ngày đăng: 01/07/2016, 12:53

Từ khóa liên quan

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

Tài liệu liên quan