Thuật toán di truyền lai ghép thuật toán đàn kiến giải bài toán cực tiểu hóa độ trễ

13 18 0
Thuật toán di truyền lai ghép thuật toán đàn kiến giải bài toán cực tiểu hóa độ trễ

Đ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

Trong bài báo này sẽ trình bày một thuật toán meta-heuristic (ACO-GA) lai ghép giữa thuật toán di truyền (GA) và thuật toán đàn kiến (ACO). Thuật toán đàn kiến đóng vai trò khởi tạo quần thể cho thuật toán di truyền. Trong khi đó, thông tin di truyền từ thuật toán di truyền giúp định hướng cá thể kiến chọn đường đi tốt hơn ở lần khởi tạo quần thể kế tiếp.

Tạp chí Tin học Điều khiển học, T.29, S.3 (2013), 285–297 THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN GIẢI BÀI TỐN CỰC TIỂU HĨA ĐỘ TRỄ BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA Viện Công nghệ Thông tin Truyền thông - Đại học Bách khoa Hà Nội Email: (BangBH, NghiaND) soict.hut.edu.vn Tóm tắt Bài tốn cực tiểu hóa độ trễ thuộc lớp tốn tối ưu hóa tổ hợp có nhiều ứng dụng thực tiễn Trong trường hợp tổng quát, toán chứng minh thuộc lớp NP-khó ngoại trừ P = NP, khơng tồn lược đồ xấp xỉ với thời gian đa thức để giải Bởi vậy, việc phát triển thuật toán gần hướng tiếp cận phù hợp để giải tốn Trong báo trình bày thuật toán meta-heuristic (ACO-GA) lai ghép thuật toán di truyền (GA) thuật toán đàn kiến (ACO) Thuật tốn đàn kiến đóng vai trị khởi tạo quần thể cho thuật tốn di truyền Trong đó, thơng tin di truyền từ thuật toán di truyền giúp định hướng cá thể kiến chọn đường tốt lần khởi tạo quần thể Thêm vào đó, để trì tính đa dạng quần thể kiến, thuật toán sử dụng ba loại kiến với đặc tính tìm kiếm đường khác Thực nghiệm thuật toán thực liệu chuẩn Kết thực nghiệm cho thấy thuật toán đưa lời giải với cận tỷ lệ tốt so với thuật toán meta-heuristic biết nhiều liệu Từ khóa Bài tốn cực tiểu hóa độ trễ-MLP, meta-heuristic, ACO, GA Abstract Minimum Latency Problem is a class of combinatorial optimization problems that have many practical applications In the general case, the problem is proven to be NP-hard Therefore, using a meta-heuristic algorithm is a suitable approach for solving this problem In this paper, we propose a meta-heuristic algorithm which combines Ant Colony (ACO) and Genetic Algorithm (GA) In our algorithm, ACO generates a population for GA Meanwhile, the genetic information of GA helps ants to create a better population in the next step In addition, to maintain the diversity of population, our algorithm uses three types of the ants which have different characteristics.We evaluate the algorithm on five benchmark datasets The experimental results show that our algorithm gives a better solution than the state-of-the-art meta-heuristic algorithms on several instances of datasets Key words Minimum Latency Problem-MLP, meta-heuristic, ACO, GA GIỚI THIỆU Bài toán cực tiểu hóa độ trễ (MLP) dạng khác toán thợ sửa chữa lưu động (Traveling Repairman Problem) Bài tốn MLP có nhiều ứng dụng thực tế, chẳng hạn máy chủ hay người thợ phải lập lịch thực thi tập yêu cầu cho tổng (trung bình) thời gian chờ đợi yêu cầu cực tiểu [5, 11] Do quy toán MLP tổng quát toán MLP trường hợp metric nhờ sử dụng phép biến đổi đơn giản 286 BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA (xem [15]), nên báo này, xét tốn trường hợp metric Bài tốn MLP phát biểu sau: Cho đồ thị đầy đủ Kn với tập đỉnh V = {1, 2, , n} ma trận chi phí đối xứng khơng âm C = {cij |i, j = 1, 2, , n}, với cij khoảng cách hai đỉnh i j Giả sử T = v1 , v2 , , hành trình xuất phát từ v1 (đường xuất phát từ v1 qua đỉnh đồ thị lần) Kn Ký hiệu P ath(v1 , vk ) đoạn đường từ v1 đến vk hành trình T Ta gọi độ trễ đỉnh vk hành trình T , ký hiệu lat(vk ), độ dài đường P ath(v1 , vk ) k−1 lat(vk ) = c(vi , vi+1 ), k = 2, 3, , n i=1 Độ trễ hành trình T , ký hiệu L(T ), định nghĩa tổng độ trễ tất đỉnh thuộc n L(T ) = lat(vk ) k=2 Giả sử v1 đỉnh cho trước, tốn MLP u cầu tìm hành trình xuất phát từ v1 với độ trễ nhỏ Trong trường hợp tổng quát, toán chứng minh thuộc lớp NP-khó, ngoại trừ P = N P , không tồn lược đồ xấp xỉ với thời gian đa thức để giải [11] Hiện nay, hàng loạt thuật toán đề xuất để giải toán MLP Trong hướng tiếp cận giải đúng, thuật toán [4, 13] áp dụng giải tốn MLP với kích thước nhỏ (đồ thị với 40 đỉnh) Trong khơng gian metric, nhiều thuật tốn gần cận tỷ lệ đề xuất Đầu tiên, Blum et al [5] đưa thuật toán với cận tỷ lệ 144, tiếp đến thuật toán Goemans et al [8] giảm cận tỷ lệ xuống 21.55 Cơng trình [2] Arora et al đề xuất thuật toán gần với cận tỷ lệ 17.24 Thuật toán gần Archer et al [1] có cận tỷ lệ 7.18 trường hợp metric 3.01 liệu thực nghiệm TSPLIB Gần đây, K.Chaudhuri et al [6] đưa thuật toán gần với cận tỷ lệ nhỏ 3.59 Trong hướng tiếp cận meta-heuristic, chúng tơi đề xuất thuật tốn dựa sơ đồ thuật toán di truyền [3] Kết thực nghiệm chất lượng lời giải đạt thuật toán tốt so với thuật toán gần cận tỷ lệ biết liệu thực nghiệm TSPLIB [14] Sau đó, thuật tốn meta-heuristic xem xét cơng trình A Salehipour et al [10], M Silva et al [12] Các kết thực nghiệm [3, 10, 12] cho thấy meta-heuristic hướng tiếp cận tiềm cho toán MLP Bài báo đề xuất thuật toán di truyền lai ghép với thuật toán đàn kiến (ACO-GA) để giải toán MLP Trong thuật toán này, thuật toán đàn kiến đóng vai trị khởi tạo quần thể cho thuật tốn di truyền Ngược lại, thuật tốn di truyền đóng vai trò định hướng cho đàn kiến lần khởi tạo quần thể Thuật toán sử dụng ba loại kiến Loại kiến thứ sử dụng vết mùi thơng tin di truyền để tìm đường Trong đó, loại kiến thứ hai sử dụng vết mùi, loại kiến thứ ba thực cách ngẫu nhiên việc lựa chọn đường Tiến hành thực nghiệm thuật toán ACO-GA liệu chuẩn nhiều tác giả sử dụng Kết thực nghiệm rằng, thuật toán ACO-GA đưa lời giải với chất lượng tốt so với thuật toán biết nhiều liệu Cấu trúc báo gồm: Mục trình bày thuật toán đề xuất Thảo luận thuật toán đề xuất đề cập Mục kết thực nghiệm trình bày Mục Cuối đưa kết luận THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN 287 THUẬT TOÁN ĐỀ XUẤT Thuật toán di truyền áp dụng hiệu cho lớp tốn tối ưu hóa tổ hợp Tuy nhiên, vấn đề mà thuật toán di truyền thường gặp thuật toán hội tụ sớm sau số vịng lặp, quần thể tính đa dạng Trong [3], áp dụng kỹ thuật hủy diệt (Social Disaster Technique) nhằm trì tính đa dạng quần thể Tuy nhiên, quần thể không đảm bảo trì tính đa dạng thuật toán lại rơi vào cực trị địa phương sau số hệ Thuật toán đàn kiến [7] mô hành vi đàn kiến thực tế Khi di chuyển kiến để lại vết mùi đường giúp cho kiến theo sau lần theo vết mùi Dựa vào nồng độ mùi kiến trước để lại, kiến theo sau lựa chọn theo đường có nồng độ mùi cao Tuy nhiên, nghiên cứu hành vi kiến [9] có khoảng 20% số lượng kiến khơng có khả sử dụng vết mùi để tìm đường Mặc dù vậy, chúng lại đóng vai trị định quần thể kiến Các nhà nghiên cứu tiến hành thực nghiệm thấy loại kiến dựa theo vết mùi có vai trị mang thức ăn từ nguồn thức ăn tìm tổ Tuy nhiên, chúng khó có khả tìm nguồn thức ăn Trong đó, loại kiến khơng có khả sử dụng vết mùi lại đóng vai trị cá thể tìm nguồn thức ăn Thực nghiệm hành vi đàn kiến cho thấy, quần thể kiến chứa hai loại kiến có khả tìm kiếm nguồn thức ăn hiệu so với quần thể kiến chứa loại kiến Trong [13], S Shimomura đề xuất thuật toán đàn kiến với hai loại kiến Kết thực nghiệm rằng, quần thể kiến chứa hai loại kiến hiệu so với quần thể kiến chứa loại kiến Bài báo đề xuất thuật toán dựa sở lai ghép thuật toán di truyền với thuật toán đàn kiến Thuật toán đàn kiến sử dụng để khởi tạo quần thể ban đầu cho thuật tốn di truyền Trong đó, thơng tin từ thuật tốn di truyền đóng vai trị định hướng đường cho đàn kiến quần thể Để có quần thể đa dạng, thuật tốn ln trì ba loại kiến Loại kiến thứ sử dụng vết mùi thông tin di truyền để tìm đường Trong đó, loại kiến thứ hai sử dụng vết mùi, loại kiến thứ ba lựa chọn tìm đường cách ngẫu nhiên Như vậy, xem loại kiến thứ ba giống toán tử đột biến giúp thuật toán thoát khỏi cực trị địa phương Sơ đồ thuật toán trình bày Thuật tốn Ta chuyển sang mô tả chi tiết việc thực thao tác thuật tốn ACO-GA - Di chuyển quần thể kiến: Quần thể kiến bao gồm Sp cá thể kiến, đánh số 1, 2, , Sp Bắt đầu từ cá thể kiến 1, trình thực thuật tốn cá thể kiến thực di chuyển, cá thể kiến di chuyển xong đến lượt cá thể kiến - Mã hóa: Mỗi đường mà cá thể kiến tạo mã hóa danh sách có thứ tự gồm n đỉnh T = (v1 , v2 , , vi , , ), vi đỉnh qua thứ i đường Ta sử dụng ký hiệu T [i] để đỉnh thứ i danh sách T - Khởi tạo vết mùi thông tin di truyền: Gọi τk−1ij gij lượng mùi thông tin di truyền có cạnh (vi , vj ) mà kiến thứ k sử dụng để lựa chọn cạnh di chuyển (k = 1, 2, , Sp ) Đối với quần thể kiến ACO-GA, τ0ij gij khởi tạo τ0 g0 tương ứng, quần thể kiến tiếp theo, τ0ij khởi tạo tổng lượng mùi mà cá thể kiến quần thể kiến bước trước để lại, gij tổng thông tin di truyền từ cá thể kiến tốt tìm thuật tốn GA bước trước thuật toán ACO-GA - Chọn đỉnh tiếp theo: Giả sử, cá thể kiến thứ k đỉnh vi cần chọn đỉnh từ tập đỉnh chưa thăm cá thể kiến (ký hiệu tập đỉnh Nk ) để di chuyển 288 BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA Algorithm ACO-GA (Kn, Cij, Sp, τ0, g0) Input: Kn, Cij, Sp, τ0, g0 tương ứng đồ thị, ma trận chi phí, kích thước quần thể, giá trị khởi tạo vết mùi, thông tin di truyền Output: Cá thể tốt tìm Gk //Khởi tạo thơng tin vết mùi di truyền cạnh P=‡;//khởi tạo quần thể rỗng for (i = 1; i ≤ n; i++) for (j = 1; j ≤ n; j++) τ[i][j] = τ0; g[i][j] = g0; while (điều kiện dừng ACO-GA chưa thỏa){k=0; while (k < Sp) { rd = random(100);//rd số ngẫu nhiên  (1, 100) Tk = {v1}; //khởi tạoTk gồm đỉnh xuất phát v1 vnext = v1; //khởi tạo đỉnh xuất phát vnext cho kiến while (|Tk| ≤ n) { Đặt Nk = {vj | vj  Tk} //Chọn đỉnh nhờ roulette_Wheel vnext =roulette_Wheel(vnext, rd, Nk); Tk = Tk‰{v1}; //bổ sung đỉnh vào Tk }//end of while (|Tk| ≤ n) //Cập nhập thông tin vết mùi theo (2.4), (2.5) for (i = 1; i < n; i++) { delta_τ[Tk [i],Tk[i+1]] = V/ L(Tk); τ[Tk [i],Tk[i+1]] = (1–p)*τ[Tk [i],Tk[i+1]] + delta_τ [Tk [i],Tk[i+1]]; }//end of for (i = 1; i < n; i++) k++; P=P‰{Tk};//bổ sung cá thể kiến Tk vào quần thể P }//end of while (k < Sp) //Các bước thuật toán di truyền //Quần thể ban đầu P bao gồm hành trình //tạo cá thể kiến G* = cá thể tốt quần thể P; while (điều kiện dừng thuật toán di truyền chưa thỏa) { Pad = ‡; //khởi tạo tập cá thể for (i = 1; i ≤ Sp; i++) { //Lựa chọn cá thể cha TP cá thể mẹ TM (TP, TM) = selectionOperator(P); //hàm rand(1) trả lại số ngẫu nhiên  (0, 1) if (rand(1) ≤ Pc) { //lai ghép cá thể cha mẹ TC = crossoverOperator(TP, TM); if (random(1) ≤ Pm) //đột biến cá thể TC = mutationOperator(TC); TC=localSearch(TC); //tìm kiếm địa phương //cập nhập cá thể tốt nhất: if (L(TC) < L(G*)) G* = TC; Bổ sung TC vào Pad; }//end of if (rand(1) ≤ Pc) }//end of for (i = 1; i ≤ Sp; i++) P = tập gồm Sp cá thể tốt P ‰Pad; //Cập nhập thông tin di truyền theo (2.6), (2.7) for (i = 1; i < n; i++) { delta_ g[G*[i],G*[i+1]] = V / L(G*); g[G*[i],G*[i+1]] = g[G*[i],G*[i+1]] + delta_ g[G*[i],G*[i+1]]; } //end of for (i = 1; i < n; i++) }//end of while GA }//end of while ACO-GA return (cá thể tốt tìm ACO-GA) Algorithm Function roulette_Wheel (vi, rd, Nk) Input: vi, rd, Nk tương ứng đỉnh tại, giá trị số khoảng đến 100, tập đỉnh chưa thăm Tk Output: Đỉnh v chọn vi sum_Prob = 0; if (rd ≤ 50) { //loại kiến sử dụng vết mùi thông tin di truyền for vj  Nk sum_Prob = sum_Prob + pow(τ[i,j], βτ) *pow( K [i,j], βP)*pow(g[i,j], βg); //lựa chọn đỉnh theo (2.1) for vj  Nk p[i,j] = pow(τ[i,j], βτ)*pow( K [i,j], βP) *pow(g[i,j], βg) / sum_Prob; rd = random(sum_Prob); //0 < rd < sum_Prob for vj  Nk { sum_ wheel = sum_wheel + p[i,j]; if (sum_wheel > rd) break; }//end for vj  Nk v = vj; }//end if (rd ≤ 50) if (50 < rd ≤ 80) { //loại kiến sử dụng vết mùi for vj  Nk sum_Prob = sum_Prob + pow(τ[i,j], βτ) *pow( K [i,j], βP); //chọn đỉnh theo (2.2) for vj  Nk p[i,j] = pow(τ[i,j],βτ)*pow( K [i,j], βP) /sum_Prob; rd = random(sum_Prob); for vj  Nk { sum_wheel = sum_wheel + p[i,j]; if (sum_wheel > rd) break; }//end for vj  Nk v = vj; }//end if (50 < rd ≤ 80) if (rd > 80)//loại kiến ngẫu nhiên //chọn đỉnh theo (2.3) chọn ngẫu nhiên v  Nk; return v; Algorithm Function selectionOperator(P) Input: Quần thể P = {p[1], p[2], …, p[Sp]} Output: Cá thể cha TP cá thể mẹ TM //chọn nhóm cá thể ngẫu nhiên từ quần thể P IG=‡; // Khởi tạo for (i = 0; i < NG; i++) { i = random(Sp); IG= IG‰{p[i]}; }//end of for (i = 0; i < NG; i++) Sắp xếp cá thể nhóm IG tăng dần theo độ trễ; //Chọn hai cá thể với độ trễ nhỏ làm cá thể cha mẹ TP = IG[0]; TM = IG[1]; return TP, TM; Thuật tốn ACO-GA trì ba loại kiến Loại kiến sử dụng thông tin vết mùi thông tin di truyền để lựa chọn đỉnh Nếu cá thể kiến thứ k thuộc loại này, THUẬT TỐN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN 289 di chuyển từ đỉnh vi đến đỉnh vj (vj ∈ Nk ) với xác suất: [τk−1ij ]βτ [ηkij ]βη [gij ]βg [τk−1ij ]βτ [ηkij ]βη [gij ]βg p1kij = (2.1) vj ∈Nk Loại kiến thứ hai sử dụng thông tin vết mùi để lựa chọn đỉnh Nếu cá thể kiến thứ k thuộc loại hai, di chuyển từ đỉnh vi đến đỉnh vj với xác suất là: p2kij = [τk−1ij ]βτ [ηkij ]βη [τk−1ij ]βτ [ηkij ]βη (2.2) vj ∈Nk Cuối cùng, loại kiến thứ ba không sử dụng thông tin mùi, thông tin di truyền Nếu cá thể kiến thứ k thuộc loại xác suất để di chuyển từ đỉnh vi đến đỉnh vj là: p3kij = (2.3) |Nk | Ở βτ , βµ βg tham số, ηkij = 1/(ρcij ) (ρ vị trí cạnh (vi , vj ) đường cá thể kiến thứ k ) Công thức (2.1) (2.2) cải biên từ công thức có thuật tốn ACO chuẩn Marco Dorigo [7] Số lượng kiến loại một, hai ba xác định cách ngẫu nhiên với tỷ lệ tương ứng 50%, 30% 20% (theo nhận xét nêu trên, ta giữ 20% số lượng kiến khơng có khả sử dụng vết mùi để tìm đường đi) Để thực điều này, cần xác định cá thể kiến thuộc loại ba loại trên, ta gieo số ngẫu nhiên rd khoảng từ đến 100 Nếu rd ≤ 50 cá thể kiến gán với loại Nếu 50 < rd ≤ 80, cá thể kiến gán với loại thứ hai cuối rd > 80, cá thể kiến gán với loại thứ ba Sau xác định loại cho cá thể kiến, việc lựa chọn đỉnh thực theo phương pháp bánh xe roulette, đỉnh cá thể kiến lựa chọn ngẫu nhiên theo xác suất: Đỉnh có xác suất cao có khả chọn cao hơn, khơng có nghĩa đỉnh có xác suất thấp khơng chọn mà chọn với hội thấp Chi tiết việc lựa chọn đỉnh trình bày Thuật tốn - Cập nhập thông tin vết mùi: Các cá thể kiến (con kiến xong đến lượt kiến khác) thực việc tìm đường di chuyển theo đường chọn để lại vết mùi cạnh qua Giả sử cá thể kiến thứ k thực việc di chuyển theo đường Tk , lượng vết mùi mà để lại cạnh qua tính cơng thức ∆τkij = σ/L(Tk ), (vi , vj ) ∈ Tk , 0, trái lại (2.4) σ tham số Khi đó, sau cá thể kiến thứ k di chuyển, tổng lượng vết mùi τkij có cạnh (vi , vj ) cập nhật theo ∆τkij : τkij = (1 − p)τk−1ij + ∆τkij , (2.5) tham số p ∈ (0, 1) xác suất bay vết mùi - Khởi tạo quần thể ban đầu cho thuật toán di truyền: Mỗi đường tạo cá thể kiến xem cá thể quần thể ban đầu cho thuật toán di truyền Như vậy, với Sp cá thể kiến quần thể ban đầu P có Sp cá thể đường 290 BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA - Hàm ước lượng: Hàm ước lượng tính tổng độ trễ cho cá thể đường Tổng độ trễ nhỏ độ thích nghi cá thể cao Nói cách khác, tổng độ trễ tỷ lệ nghịch với độ thích nghi cá thể - Tốn tử lựa chọn: Một nhóm gồm cá thể với kích thước cho trước (ký hiệu thơng số N G) lựa chọn ngẫu nhiên từ quần thể Sau đó, hai cá thể có độ trễ nhỏ nhóm lựa chọn làm cá thể cha mẹ Tốn tử lựa chọn mơ tả chi tiết Thuật toán - Toán tử lai ghép: Toán tử lai ghép thực việc lai ghép cá thể cha T P cá thể mẹ T M với xác suất lai ghép (P c) cho trước Trong [3], chúng tơi đề xuất tốn tử lai ghép cho toán MLP Trong báo sử dụng lại toán tử lai ghép Tuy nhiên, thay lựa chọn đỉnh bổ sung vào cá thể đỉnh trước đỉnh sát sau vị trí đỉnh tại, ta lựa chọn đỉnh bổ sung dãy gồm l đỉnh trước l đỉnh sau vị trí đỉnh tại, l thơng số chọn trước Đỉnh lựa chọn bổ sung đỉnh dãy nói mà việc bổ sung cho ta cá thể với độ trễ nhỏ Việc thực toán tử lai ghép trình bày Thuật tốn - Toán tử đột biến: Sau thu cá thể từ bước lai ghép, ta tiến hành đột biến cá thể với xác suất đột biến (Pm ) cho trước Mục đích tốn tử đột biến tạo đa dạng cho quần thể Ta sử dụng toán tử đột biến đơn giản sau đây: Chọn ngẫu nhiên hai đỉnh cá thể thực việc hoán đổi chúng Việc thực toán tử đột biến mơ tả Thuật tốn - Tìm kiếm địa phương: Trong bước này, ta kết hợp thuật toán di truyền với thuật tốn tìm kiếm địa phương Sau bước đột biến, ta thực tìm kiếm địa phương xuất phát từ cá thể cháu theo thuật tốn tìm kiếm địa phương swap-adjacent, swap, 2-opt-edge, 2-opt-node (xem [12]) Để giảm độ phức tạp tính tốn thuật tốn, ta thu hẹp lân cận tìm kiếm cách cố định ngẫu nhiên đỉnh thực tìm kiếm lân cận gồm lời giải thu nhờ phép biến đổi liên quan đến đỉnh Nhờ đó, độ phức tạp tính tốn thuật tốn tìm kiếm địa phương O(n) Mơ tả chi tiết thuật tốn trình bày Thuật toán Algorithm Function crossoverOperator(TP, TM) Input: Cá thể cha TP cá thể mẹ TM Output: Cá thể TC TC[1] = v1; TC[2] = TM[2]; jend = 2; for (i = 3; i < n; i++) { Tìm q cho TP[q] = TC[jend]; //chọn đỉnh để cá thể TC có độ trễ nhỏ minL = +∞; TCmin = ‡; for (j = -l; j < l; j++) // duyệt dãy đỉnh TP[i-l i+l] if (i+j> 0) &&(i+j ≤ n) && (TP[i+l]  TC) { Bổ sung TP[i+l] vào TC; if (L(TC) < minL) TCmin = TC; minL = L(TC); TC = TC \ TP[i+l]; }//end of if (i+j > 0) //nếu đỉnh TP[i–l i+l] có TC if (minL = +∞) { chọn ngẫu nhiên đỉnh v  {u | u  TC}; TC = TC ‰ {v}; }//end of if (minL = +∞) Hốn đổi vai trị TM TP; }//end of for (i = 3; i < n; i++) return T; Algorithm Function mutationOperator(T) Input: Cá thể T Output: Cá thể sau đột biến Tˊ //chọn ngẫu nhiên hai vị trí i j cá thể T i = random(n); j = random(n); Hốn đổi hai vị trí i, j cá thể T để thu Tˊ return Tˊ; Algorithm Function localSearch(T) Input: Cá thể ban đầu T Output: Cá thể sau tìm kiếm địa phương Tˊ //chọn ngẫu nhiên vị trí đỉnh T i = random(n); //Thực thuật tốn tìm kiếm địa phương //bắt đầu từ cá thể T với đỉnh cố định vị trí i; Tˊ = swap-adjacent (swap, 2-opt-edge, 2-opt-node) (T, i); return Tˊ; THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN 291 - Điều kiện dừng thuật toán di truyền: Ta dừng thuật toán sau số lượng hệ định trước (ký hiệu số Np ) thuật tốn khơng tìm lời giải tốt - Cập nhập thông tin di truyền: Gọi G∗ cá thể đường tốt tìm thuật ∗ cá thể tính cơng thức sau tốn di truyền Khi đó, thơng tin di truyền ∆gij ∗ ∆gij = σ/L(G∗ ), (vi , vj ) ∈ G∗ , 0, trái lại (2.6) Thông tin di truyền gij cạnh (vi , vj ) khởi tạo cho quần thể kiến bước lặp ACO-GA cập nhập theo công thức ∗ gij := gij + ∆gij (2.7) - Điều kiện dừng thuật toán ACO-GA: Thuật toán ACO-GA dừng sau m vịng lặp (m thơng số xác định trước) lời giải tốt không cải thiện Khi đó, hành trình tốt tìm q trình thực thuật tốn đưa lời giải cần tìm Bây giờ, ta đánh giá độ phức tạp tính tốn thuật tốn ACO-GA Một vòng lặp ACO-GA đòi hỏi thực công việc sau: 1) Việc khởi tạo thông tin vết mùi di truyền đòi hỏi thời gian O(n2 ); 2) Việc xây dựng quần thể kiến P đòi hỏi thời gian O(|Nk | + n) (trong xây dựng cá thể kiến theo phương pháp roulette_Wheel thời gian O(|Nk |) cập nhập thông tin vết mùi cá thể kiến thời gian O(n), lưu ý |Nk | < n); 3) Việc thực thuật tốn di truyền địi hỏi thời gian O(n2 ) (bởi vì, thời gian địi hỏi việc thực tốn tử lựa chọn O(N G2 ) (N G < n), toán tử lai ghép: O(n2 ), toán tử đột biến: O(1), thuật tốn tìm kiếm địa phương: O(n)); 4) cập nhập thơng di truyền: O(n) Giả sử, thuật tốn di truyền kết thúc sau k1 vịng lặp, vòng lặp ACO-GA đòi hỏi thời gian O(k1 × n2 × SP ) Nếu ACO-GA kết thúc sau k2 vịng lặp, độ phức tạp tính tốn ACO-GA O(k1 × k2 × SP × n2 ) THẢO LUẬN Đối với tốn NP-khó tốn MLP, có ba hướng tiếp cận để phát triển thuật tốn giải: 1) hướng tiếp cận đúng, 2) hướng tiếp cận gần đúng, 3) hướng tiếp cận meta-heuristic Đầu tiên, thuật tốn tìm lời giải tối ưu có đánh giá độ phức tạp tính tốn bùng nổ tổ hợp: O(n!) tình tồi nhất, thực tế chúng thường chạy nhanh đánh giá lý thuyết Mặc dù vậy, thuật toán dạng (chẳng hạn, xem [4, 15]) giải tốn MLP với kích thước nhỏ (đồ thị với 40 đỉnh) Trong cách tiếp cận thứ hai, thuật toán gần với cận tỷ lệ α có ưu điểm lớn mặt lý thuyết chúng đảm bảo đưa lời giải có chi phí khơng lớn α lần chi phí lời giải tối ưu [1, 2, 5, 6, 8] Tuy nhiên, cận tỷ lệ tốt đạt 3.59 lớn chưa đáp ứng yêu cầu thực tế ứng dụng Cuối cùng, thuật tốn meta-heuristic thuật tốn có độ phức tạp tính tốn thường khơng q lớn, chất lượng lời giải tìm thuật tốn đánh giá thơng qua thực nghiệm Trong hướng tiếp cận meta-heuristic giải toán MLP, kết thực nghiệm cho thấy thuật toán đề xuất [3, 10, 12] đưa lời giải tốt nhiều so với lời giải tìm thuật toán gần với cận tỷ lệ 292 BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA Trong hướng tiếp cận meta-heuristic, thuật toán [10, 12] xuất phát từ lời giải ban đầu (hay điểm khơng gian lời giải) dựa thuật tốn đa láng giềng (Variable Neighborhood Search-VNS) để tìm lời giải tốt cho toán MLP Tuy nhiên, tốn tối ưu có khơng gian lời giải lớn, hướng tiếp cận đơn lời giải thường khai thác phần khơng gian lời giải tốn Do đó, thuật tốn dễ rơi vào cực trị địa phương Để khắc phục nhược điểm cách tiếp cận đơn lời giải, thuật toán theo hướng tiếp cận đa lời giải sử dụng Các thuật tốn đồng thời tìm kiếm từ nhiều điểm khơng gian lời giải tốn Bởi vậy, khơng gian tìm kiếm lời giải thuật toán mở rộng Kết là, chúng có nhiều hội khỏi cực trị địa phương so với thuật toán đơn lời giải Thuật toán di truyền [3] thuật toán đề xuất báo thuật toán theo hướng tiếp cận đa lời giải, đó, cá thể đóng vai trị lời giải Tuy nhiên, thuật tốn di truyền [3] gặp vấn đề hội tụ sớm đa dạng quần thể sau thực số vịng lặp Đó lý dẫn đến chất lượng lời giải thu thuật tốn chưa cao Để khắc phục tình trạng này, chúng tơi đề xuất thuật tốn kế thừa ưu điểm thuật toán di truyền thuật toán đàn kiến để cân hai đặc tính khai phá (exploration) khơng gian tìm kiếm lời giải khai thác (exploitation) khơng gian lời giải có Cụ thể, thuật tốn đàn kiến đóng vai trị khởi tạo quần thể đa dạng cho thuật toán di truyền việc trì ba loại kiến trình bày Ngược lại, thơng tin di truyền từ thuật tốn di truyền đóng vai trị định hướng cho đàn kiến đến khơng gian lời giải tiềm lần khởi tạo quần thể Tuy nhiên, thuật toán theo hướng tiếp cận đa lời giải có khối lượng tính tốn lớn chúng phải tính tốn đồng thời nhiều lời giải Do đó, thời gian chạy thuật toán thường lớn so với thuật toán đơn lời giải KẾT QUẢ THỰC NGHIỆM Thuật toán đề xuất cài đặt C++ thực nghiệm tiến hành máy tính cá nhân với xử lý Intel Pentium core duo 2.13Ghz 4GB nhớ Dữ liệu thực nghiệm bao gồm liệu TSPLIB [16] ba liệu ngẫu nhiên Tất liệu thỏa mãn điều kiện metric Bộ liệu TSPLIB thư mục file liệu Mỗi file lưu trữ tọa độ đỉnh Bộ liệu sử dụng nhiều cơng trình nghiên cứu liên quan [1, 3, 10, 12] Trong ba liệu ngẫu nhiên, liệu A Salehipour et al [10] cung cấp Bộ liệu A Salehipour et al M Silva et al sử dụng thực nghiệm trình bày cơng trình [10, 12] Để đánh giá xác hiệu thuật toán, ta xét thêm hai liệu ngẫu nhiên với kích thước nhỏ mà lời giải tối ưu chúng tìm nhờ sử dụng thuật tốn giải [4] Để đánh giá hiệu thuật toán, hai thực nghiệm tiến hành Dữ liệu thực nghiệm bao gồm liệu TSPLIB liệu ngẫu nhiên A Salehipour et al Trong thực nghiệm này, so sánh kết thu từ thuật toán ACO-GA với kết từ cơng trình nghiên cứu liên quan [3, 10, 12] Do lời giải tối ưu liệu chưa biết (ngoại trừ lời giải tối ưu cho liệu ngẫu nhiên A Salehipour et al n = 50 lấy từ [10]), hiệu thuật toán đánh giá cách tương đối Thực nghiệm thứ hai thực thi liệu ngẫu nhiên mà lời giải tối ưu chúng tìm nhờ sử dụng thuật toán giải [4] Khi biết lời giải tối ưu, ta đánh giá cách xác hiệu thuật tốn đề xuất Trong thực nghiệm, ta lựa chọn giá trị cho tham số thuật toán ACO-GA sau: m = 10, Sp = 300, N G = 5, P c = 0.7, P m = 0.2, l = 5, βτ = 1, βµ = 5, βg = 5, τ = 293 THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN 10, τ0 = 10, g0 = 1, p = 0.3 N p = 20 Bảng Kết thực nghiệm thuật toán cho liệu A Salehipour et al (n = 50) File liệu OPT TRP-50-R1 TRP-50-R2 TRP-50-R3 TRP-50-R4 TRP-50-R5 TRP-50-R6 TRP-50-R7 TRP-50-R8 TRP-50-R9 TRP-50-R10 TRP-50-R11 TRP-50-R12 TRP-50-R13 TRP-50-R14 TRP-50-R15 TRP-50-R16 TRP-50-R17 TRP-50-R18 TRP-50-R19 TRP-50-R20 Trung bình 12198 11621 12139 13071 12126 12684 11176 12910 13149 12892 12103 10633 12115 13117 11986 12138 12176 13357 11430 11935 ACO−GA M Silva et al GA Best sol Best sol Aver Sol T Best sol Aver Sol Gap[%] 12198 12709 12709 3.0 12198 12198 0.00 11621 12845 12921 3.2 11621 11674 0.00 12139 12904 12904 3.5 12139 12139 0.00 13071 13925 13925 3.6 13071 13071 0.00 12126 12726 12726 2.9 12126 12284 0.00 12684 13245 13245 3.1 12684 12684 0.00 11176 11991 11991 3.2 11176 11176 0.00 12910 13558 13754 3.1 12910 12945 0.00 13149 13845 13845 3.3 13149 13149 0.00 12892 13740 13740 2.9 12892 12892 0.00 12103 12565 12565 2.8 12103 12181 0.00 10633 11657 11657 2.9 10633 10633 0.00 12115 12870 12870 3.0 12115 12115 0.00 13117 13659 13721 3.1 13117 13117 0.00 11986 12793 12793 3.2 11986 11986 0.00 12138 12803 12803 3.3 12138 12138 0.00 12176 13387 13387 3.4 12176 12176 0.00 13357 13988 13988 3.5 13357 13357 0.00 11430 11911 12012 3.0 11430 11430 0.00 11935 12409 12409 3.0 11935 11935 0.00 0.00 3.1 T 0.50 0.52 0.51 0.48 0.47 0.50 0.51 0.52 0.48 0.47 0.45 0.47 0.40 0.50 0.51 0.43 0.42 0.44 0.47 0.42 0.47 Bảng Kết thực nghiệm thuật toán cho liệu A Salehipour et al A.Salehipour et al M Silva et al (n = 100) R1 File liệu R2 R3 TRP-100-R1 R4 TRP-100-R2 R5 TRP-100-R3 R6 TRP-100-R4 R7 TRP-100-R5 R8 TRP-100-R6 R9 TRP-100-R7 R10 TRP-100-R8 R11 TRP-100-R9 R12 TRP-100-R10 R13 TRP-100-R11 R14 TRP-100-R12 R15 TRP-100-R13 R16 TRP-100-R14 R17 TRP-100-R15 R18 TRP-100-R16 R19 TRP-100-R17 R20 TRP-100-R18 Trung bình TRP-100-R19 TRP-100-R20 Trung bình Best Sol Best Sol Aver Sol Best Sol Aver Sol Gap[%] 35334 GA35334 6.2 32779 0.00 32779 A.Salehipour35334 et al M Silva32779 et al ACO−GA 33435 Best 36773 36773 33435 0.00 33435 Best Sol38442 Best Sol Sol Aver Sol 6.4 Best Sol Aver Sol Gap[%] T 37642 32390 35150 35320 32390 0.00 32390 35334 32779 35334 35334 7.1 6.2 32779 0.00 32779 37508 34733 37508 37751 34733 0.00 34733 38442 33435 36773 36773 7.3 6.4 33435 0.00 33435 37215 32598 35254 5254 6.7 32598 0.00 32598 37642 32390 35150 35320 7.1 32390 0.00 32390 40422 34159 36988 36988 34212 34212 0.16 37508 34733 37508 37751 6.5 7.3 34733 0.00 34733 37367 33375 36897 36941 33375 0.00 33375 37215 32598 35254 35254 6.3 6.7 32598 0.00 32598 38086 31780 35408 35510 31780 0.00 31780 40422 34159 36988 36988 6.4 6.5 34212 34212 0.16 36000 34167 36415 36574 34167 0.00 34167 37367 33375 36897 36941 6.8 6.3 33375 0.00 33375 37761 31605 34018 34018 31812 31812 0.65 38086 31780 35408 35510 7.0 6.4 31780 0.00 31780 37220 34188 37006 37006 35534 0.00 34188 36000 34167 36415 36574 7.1 6.8 34167 0.00 34167 34785 32146 35437 35437 32899 32899 2.34 37761 31605 34018 34018 6.5 7.0 31812 31812 0.65 37863 32604 35239 35512 1.89 31989 31989 37220 34188 37006 37006 6.7 7.1 35534 0.00 34188 36362 32433 34869 34869 33601 33601 3.60 34785 32146 35437 35437 6.8 6.5 32899 32899 2.34 39381 32574 35640 35640 32574 0.00 32574 37863 32604 35239 35512 7.0 6.7 -1.89 31989 31989 39823 33566 37083 37083 34818 34818 3.73 36362 32433 34869 34869 6.9 6.8 33601 33601 3.60 41824 34198 37058 37421 36297 36297 6.14 39381 32574 35640 35640 7.1 7.0 32574 0.00 32574 39091 31929 35109 35109 31929 0.00 31929 39823 33566 37083 37083 7.2 6.9 34818 34818 3.73 39941 33463 36457 36457 33463 0.00 33463 41824 34198 37058 37421 6.4 7.1 36297 36297 6.14 39888 33632 35998 35998 33632 0.00 33632 39091 31929 35109 35109 6.3 7.2 31929 0.00 31929 0.74 39941 33463 36457 36457 6.5 6.4 33463 0.00 33463 39888 33632 35998 35998 6.3 33632 0.00 33632 6.5 0.74 1.12 1.21 T 0.84 1.12 0.92 1.21 1.04 0.84 1.25 0.92 0.81 1.04 0.91 1.25 0.72 0.81 0.84 0.91 0.85 0.72 0.77 0.84 0.81 0.85 0.92 0.77 0.81 0.81 0.85 0.92 0.91 0.81 0.84 0.85 0.87 0.91 0.82 0.84 0.91 0.87 0.82 0.91 294 4.1 BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA Thực nghiệm Trong thực nghiệm này, thuật toán ACO-GA thực thi liệu TSPLIB liệu ngẫu nhiên A Salehipour et al [10] Mỗi liệu bao gồm file liệu thực nghiệm Mỗi file lưu trữ tọa độ đỉnh Ta thực thi thuật toán 10 lần file liệu Kết thực nghiệm trình bày Bảng từ đến Trong bảng này, cột Best Sol, Aver Sol kết tốt kết trung bình thu sau 10 lần chạy (U B2 − U B1 ) thuật toán Cột gap[%] ghi nhận giá trị gap[%] = 100%, U B2 U B1 U B1 lời giải tốt thu từ thuật toán ACO-GA thuật toán M Silva et al Cột T¯ thời gian chạy trung bình thuật tốn tính phút Trong Bảng 1, cột OP T tương ứng với giá trị tối ưu Trong Bảng 3, kết thực nghiệm thuật toán Archer et al lấy từ [1] Dấu “-” nghĩa khơng có kết thực nghiệm với thuật toán tương ứng Kết thực nghiệm trình bày Bảng từ đến chứng tỏ thuật toán ACO-GA hiệu thuật toán di truyền GA [3] chất lượng lời giải thời gian chạy So với lời giải tối ưu có Bảng 1, thuật tốn ACO-GA đưa lời giải tối ưu cho tất file liệu Kết thực nghiệm cho thấy, thuật toán ACO-GA cho lời giải tốt thuật toán Archer et al A Salehipour et al tất file liệu Trong liệu ngẫu nhiên ACO-GA cho lời giải với chất lượng sát với chất lượng lời giải đưa thuật toán M Silva et al Cụ thể, gap[%] trung bình Bảng 0.00% 0.74% Đặc biệt, file liệu TPR-S100-13, thuật toán ACO-GA đưa lời giải tốt so với thuật toán M.Silva et al Đối với liệu TSPLIB, kết thực nghiệm Bảng cho thấy thuật toán ACO-GA đưa lời giải với chất lượng Bảng Kết thực nghiệm thuật toán cho liệu TSPLIB File liệu st70 rat195 kroD100 pr226 lin105 pr107 lin318 pr439 att532 rat99 eil101 eil76 eil51 kroE100 kroA200 kroB200 rd100 tsp225 d198 u159 bier127 gil262 Archer et al A.Salehipour et al M Silva et al Best Sol Best Sol Best Sol 26384 19553 19215 280900 213371 210191 1297932 976830 949594 10421449 7226554 7100308 780662 585823 585823 2205490 1983475 1980767 7475822 5876537 5560679 24126010 18567170 17688561 18448435 5581240 75048 56994 54984 38582 26128 14683 1345314 3387616 3731218 458419 537080 1380470 3837650 5929120 393641 - GA Best Sol 19893 245412 976830 7212541 598375 21750029 5876537 18567170 18448435 58327 30235 18243 10281 984759 2962453 3000409 370645 463666 1309819 3169661 5011031 327534 T 4.20 9.10 6.00 10.1 6.15 6.17 13.2 20.0 23.0 5.5 6.0 4.3 3.0 5.8 8.7 8.5 5.7 9.4 9.1 6.7 7.8 11.5 ACO-GA Best Sol T 19215 0.61 210191 4.30 948325 1.50 7100308 4.12 585823 1.56 1973726 1.62 5560679 9.25 17688561 13.1 18448435 18.5 57896 1.41 29123 1.48 18023 0.65 9952 1.51 955272 1.41 2845318 4.12 2939494 4.23 355985 1.43 454714 4.62 1204997 4.12 2836575 3.25 4768611 1.81 325679 4.23 295 THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN tốt so với thuật tốn cịn lại hầu hết file liệu (ngoại trừ hai file liệu att532 rat99, thuật toán đưa lời giải với chất lượng so với thuật toán M Silva et al.) Tuy nhiên, thời gian chạy thuật toán ACO-GA lớn thời gian chạy thuật toán M.Silva et al Bảng Kết thực nghiệm thuật toán cho liệu ngẫu nhiên (n = 40) 4.2 File liệu OPT eil51 eil76 st70 rat195 kroA100 kroB100 kroC100 berlin52 pr76 tsp225 tss225 lin105 test test test test test test test test test test 10 test 11 test 12 test 13 test 14 test 15 test 16 test 17 test 18 test 19 test 20 Trung bình 6140 5894 7801 18058 239680 245999 1122890 1372572 1122891 27523 1138068 140450 8105 9248 8584 9240 8097 9490 8450 8426 8987 9705 9526 8827 9440 8539 8321 8327 8300 9520 9759 8782 Best Sol 6140 5894 7801 18265 241012 247541 1145124 1372572 1123541 27523 1138068 140450 8105 9248 8630 9263 8097 9506 8517 8426 9018 9713 9526 8838 9450 8539 8321 8434 8302 9520 9769 8785 GA Aver Sol Gap[%] T 6140 0.00 2.5 5894 0.00 2.6 7801 0.00 2.5 18285 1.15 2.7 241741 0.56 2.6 248041 0.63 2.5 1147815 1.98 2.8 1372952 0.00 2.9 1123654 0.06 2.7 27618 0.00 2.8 1138230 0.00 2.7 1405412 0.00 2.8 8105 0.00 2.7 9248 0.00 2.8 8658 0.54 2.7 9267 0.25 2.6 8097 0.00 2.7 9519 0.17 2.8 8564 0.79 2.7 8426 0.00 3.0 9023 0.34 2.7 9719 0.08 2.8 9556 0.00 2.7 8872 0.12 2.5 9475 0.11 2.6 8539 0.00 2.7 8321 0.00 2.7 8457 1.28 2.6 8302 0.02 2.5 9520 0.00 2.7 9792 0.10 2.8 8813 0.03 2.7 0.26 2.69 Best Sol 6140 5894 7801 18058 239680 245999 1122890 1372572 1122891 27523 1138068 140450 8105 9248 8584 9240 8097 9490 8450 8426 8987 9705 9526 8827 9440 8539 8321 8327 8300 9520 9759 8782 ACO−GA Aver Sol Gap[%] 6140 0.00 5894 0.00 7801 0.00 18058 0.00 239854 0.00 24612 0.00 1122890 0.00 1372854 0.00 1122301 0.00 27523 0.00 1138068 0.00 140450 0.00 8105 0.00 9248 0.00 8584 0.00 9278 0.00 8138 0.00 9490 0.00 8450 0.00 8426 0.00 8987 0.00 9705 0.00 9545 0.00 8827 0.00 9440 0.00 8562 0.00 8321 0.00 8327 0.00 8300 0.00 9520 0.00 9759 0.00 8782 0.00 0.00 T 0.30 0.25 0.24 0.21 0.20 0.21 0.22 0.24 0.21 0.22 0.24 0.21 0.24 0.22 0.25 0.24 0.23 0.24 0.25 0.25 0.24 0.23 0.22 0.21 0.20 0.27 0.24 0.26 0.24 0.22 0.21 0.22 0.23 Thực nghiệm Hai liệu ngẫu nhiên sử dụng liệu Euclid liệu phi Euclid Mỗi liệu bao gồm file liệu có kích thước nhỏ (số đỉnh đồ thị file liệu n ≤ 40) Trong liệu ngẫu nhiên phi Euclid, file liệu tạo ngẫu nhiên với chi phí cạnh số nguyên từ đến 100 Trong liệu ngẫu nhiên Euclid, tọa độ đỉnh file liệu tạo ngẫu nhiên hình vng 200 × 200 đơn vị Chi phí cạnh tính theo khoảng cách Euclid hai đỉnh Đối với liệu, ta 296 BAN HÀ BẰNG, NGUYỄN ĐỨC NGHĨA tạo mười file liệu khác có kích thước 40 đỉnh Ngồi ra, để có thêm nhiều file liệu với kích thước nhỏ, trích chọn ngẫu nhiên 40 đỉnh từ file liệu có kích thước lớn TSPLIB Như biết, liệu TSPLIB gồm file liệu Mỗi file liệu lưu trữ toạ độ đỉnh Gọi Xmax , Ymax hoành độ tung độ lớn nhất, Xmin , Ymin hoành độ tung độ nhỏ file liệu Gọi ∆x = Xmax −X n Ymax −Ymin ∆y = Ta chia liệu thành ba nhóm khác dựa giá trị ∆x, ∆y n Nhóm với ∆x, ∆y nhỏ (∆x, ∆y ≤ 3, đỉnh phân bố gần nhau) Nhóm với ∆x, ∆y lớn (∆x, ∆y ≥ 9, đỉnh phân bố thưa) Nhóm đỉnh phân bố đặc biệt (chẳng hạn, nhiều đỉnh cách nằm đường thẳng) Chia file liệu TSPLIB thành ba nhóm Trong nhóm, chọn bốn file liệu làm đại diện thực trích chọn ngẫu nhiên 40 đỉnh từ file liệu nhóm Cụ thể, nhóm gồm file liệu trích chọn từ eil51, st70, eil76 rat195 Nhóm gồm file liệu trích chọn từ kroA100, kroB100, KroC100 Berlin52 Cuối cùng, file liệu trích chọn từ tsp225, tss225, pr76 lin105 thuộc nhóm Kết thực nghiệm trình bày Bảng Trong Bảng 4, cột OP T , Best Sol (U B ) Aver Sol giá trị tối ưu, kết tốt kết trung bình thu từ thuật tốn sau 10 lần chạy Cột gap[%] ghi (U B − OP T ) giá trị gap[%] = 100% ba bảng trước cột T¯ thời gian chạy trung OP T bình thuật tốn tính phút Kết thực nghiệm Bảng cho thấy thuật toán ACO-GA hiệu thuật toán di truyền GA [3] chất lượng lời giải thời gian chạy thuật toán Hơn nữa, tất liệu kích thước nhỏ này, thuật tốn ACO-GA ln tìm lời giải tối ưu KẾT LUẬN Bài báo đề xuất thuật toán di truyền lai ghép với thuật toán đàn kiến giải toán MLP, thuật tốn đàn kiến có vai trị khởi tạo quần thể cho thuật tốn di truyền, cịn thuật tốn di truyền có vai trị định hướng cho đàn kiến lựa chọn đường Thuật toán chạy thử nghiệm liệu chuẩn để so sánh hiệu với thuật toán biết Đối với liệu ngẫu nhiên, thuật toán đề xuất cho lời giải tốt thuật toán tốt biết nhiều liệu Đối với liệu TSPLIB, thuật toán tỏ hiệu đưa lời giải tốt không thua thuật toán tốt Tuy nhiên, thời gian chạy thuật toán cần cải thiện để đáp ứng yêu cầu thực tiễn Một hướng để giải vấn đề thực song song hóa thuật tốn đề xuất Đó vấn đề tiếp tục nghiên cứu thời gian tới TÀI LIỆU THAM KHẢO [1] A Archer, A Levin, and D Williamson, A faster, better approximation algorithm for the minimum latency problem, SIAM Journal on Computing 37 (1) (2007) 1472–1498 [2] S Arora, and G Karakostas, Approximation schemes for minimum latency problems, SIAM Journal on Computing 32 (2) (1999) 688–693 [3] H.B Ban, and D.N Nguyen, Improved genetic algorithm for minimum latency problem, Proceedings of ACM SOICT, Hanoi, Vietnam, 2010 (9–15) THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN 297 [4] H.B Ban, K Nguyen, M.C Ngo, and D.N Nguyen, An efficient exact algorithm for minimum latency problem, Journal on Progress of Informatics (10) (2013) 1–8 [5] A Blum, P Chalasani, D Coppersmith, W Pulleyblank, P Raghavan, and M Sudan, The minimum latency problem, Proceedings of ACM Symposium on the Theory of Computing, Quebec, Canada, 1994 (163–171) [6] K Chaudhuri, B Goldfrey, S Rao, and K Talwar, Path, Tree and minimum latency tour, Proceedings of IEEE Foundations of Computer Science, MA, USA, 2003 (36–45) [7] M Dorigo, and T Stutzle, Ant Colony Optimization, Bradford Books, London, 2004 [8] M Goemans, and J Kleinberg, An improved approximation ratio for the minimum latency problem, Proceedings of ACM-SIAM Symposium on Discrete Algorithms, MA, USA, 1996 (152–158) [9] H Hasegawa, Optimization of GROUP behavior, Japan Ethological Society Newsletter (43) (2004) 22-–23 [10] A Salehipour, K Sorensen, P Goos, and O.Braysy, Efficient GRASP+VND and GRASP+VNS metaheuristics for the traveling repairman problem, Journal on Operations Research (2) (2011) 189-–209 [11] S Sahni, and T Gonzalez, P -complete approximation problem, Journal on ACM (1976) 555–565 23 (3) [12] M Silva, A Subramanian, T Vidal, and L Ochi, A simple and effective metaheuristic for the Minimum Latency Problem, Journal on Operations Research 221 (3) (2012) 513-–520 [13] S Shimomura, M Sugimotoy, T Haraguchiy, H Matsushitaz, and Y Nishioy, Ant colony optimization with intelligent and dull ants, Proceedings of Symposium on Nonlinear Theory and its Applications, Krakow, Poland, 2010 (504–507) [14] D S Johnson, and L A McGeoch, The traveling salesman problem: A case study in local optimization, Local Search in Combinatorial Optimization, E Aarts and J K Lenstra, eds, Wiley, 215–310, 1997 [15] B.Y Wu, Z.N Huang, and F.J Zhan, Exact algorithms for the minimum latency problem, Journal on Inf Process Lett 92 (6) (2004) 303–309 [16] http://www.iwr.uniheidelberg.de/groups/comopt/software/TSPLIB95 Ngày nhận 01 - - 2013 Nhận lại sau sửa ngày 10 - - 2013 ... xuất thuật toán dựa sở lai ghép thuật toán di truyền với thuật toán đàn kiến Thuật toán đàn kiến sử dụng để khởi tạo quần thể ban đầu cho thuật tốn di truyền Trong đó, thơng tin từ thuật tốn di truyền. .. THUẬT TOÁN DI TRUYỀN LAI GHÉP THUẬT TOÁN ĐÀN KIẾN 287 THUẬT TỐN ĐỀ XUẤT Thuật tốn di truyền áp dụng hiệu cho lớp tốn tối ưu hóa tổ hợp Tuy nhiên, vấn đề mà thuật toán di truyền thường gặp thuật. .. toán MLP Bài báo đề xuất thuật toán di truyền lai ghép với thuật toán đàn kiến (ACO-GA) để giải toán MLP Trong thuật tốn này, thuật tốn đàn kiến đóng vai trị khởi tạo quần thể cho thuật tốn di

Ngày đăng: 20/05/2021, 02:15

Mục lục

  • THUẬT TOÁN ĐỀ XUẤT

  • KẾT QUẢ THỰC NGHIỆM

    • Thực nghiệm 1

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

Tài liệu liên quan