Một số bài toán liên quan

Một phần của tài liệu Phương pháp tối ưu đàn kiến giải bài toán trình tự xe (Trang 47)

Gutjahr [3-6] là một trong những ngƣời đầu tiên nghiên cứu đặc tính hội tụ của thuật toán MMAS, nhƣng chƣa xét đến yếu tố có sử dụng thông tin heuristic. Ký hiệu là xác suất tìm thấy lời giải của thuật toán MMAS trong vòng phép lặp, là lời giải tốt nhất ở bƣớc lặp . Nhờ sử dụng mô hình Markov không thuần nhất, Gutjahr đã chứng minh rằng với xác suất bằng 1 ta có:

1) , (2.12) 2) = với mọi cạnh thuộc lời giải tối ƣu (2.13) Mô hình này của Gutjahr không áp dụng đƣợc cho ACS. Trong trƣờng hợp MMAS không sử dụng thông tin heuristic, Stützle và Dorigo [3] đã chứng minh rằng:

đủ lớn , (2.14)

do đó . (2.15)

Các tác giả cũng suy ra rằng kết quả này cũng đúng cho cả thuật toán ACS. Với giả thiết tìm đƣợc lời giải tối ƣu sau hữu hạn bƣớc, Stützle và Dorigo suy ra rằng vết mùi của các cạnh thuộc lời giải tối ƣu tìm đƣợc sẽ hội tụ đến , còn vết mùi trên các cạnh không thuộc lời giải sẽ hội tụ về hoặc .

Plelegrini và Elloro chỉ ra rằng sau một thời gian chạy, đa số vết mùi trên cạnh trở nên bé và chỉ có số ít cạnh có giá trị vết mùi là lớn vƣợt trội.

2.6.2 ACO kết hợp với tìm kiếm địa phƣơng

Môt số tài liệu chỉ ra rằng với các phƣơng pháp metaheuristic, một cách tiếp cận đầy hứa hẹn cho phép nhận đƣợc lời giải có chất lƣợng cao là kết hợp với thuật toán tìm kiếm địa phƣơng.

Mô hình ACO có thể bao gồm cả tìm kiếm địa phƣơng. Sau khi kiến xây dựng xong lời giải, có thể áp dụng tìm kiếm địa phƣơng để nhận đƣợc lời giải tối ƣu địa phƣơng.Việc cập nhật mùi đƣợc thực hiện trên các cạnh thuộc lời giải tối ƣu địa phƣơng này. Kết hợp xây dựng lời giải với tìm kiếm địa phƣơng sẽ là một cách tiếp cận có triển vọng, là do trên thực tế, cách xây dựng lời giải của ACO có sử dụng lân cận khác với tìm kiếm địa phƣơng. Thực nghiệm cho thấy khả năng kết hợp tìm kiếm địa phƣơng cải tiến đƣợc lời giải là khá cao.

2.6.3 Thông tin heuristic

Ta biết rằng thuật toán ACO mà không sử dụng tìm kiếm địa phƣơng, thông tin heuristic sẽ rất cần thiết để có đƣợc lời giải tốt. Trên thực tế, ở giai

đoạn đầu vết mùi đƣợc khởi tạo nhƣ nhau. Khi đó vết mùi không thể giúp kiến tìm đƣờng đi dẫn tới các lời giải tốt, vì chƣa khác nhau nhiều. Vai trò chính của thông tin heuristic là để khắc phục điều này, giúp kiến có thể xây dựng đƣợc các hành trình tốt ngay trong giai đoạn đầu. Trong nhiều trƣờng hợp, nhờ sử dụng tìm kiếm địa phƣơng, kiến vẫn có thể tìm đƣợc lời giải tốt ngay trong giai đoạn đầu, không cần sử dụng thông tin heuristic nào cả, mặc dù có làm cho quá trình tìm kiếm chậm hơn.

2.6.4 Số lƣợng kiến

Nhƣ đã nói ở trên, nếu không sử dụng tìm kiếm địa phƣơng và thông tin heuristic ít (hoặc không có), trong giai đoạn đầu vết mùi không thể giúp kiến tìm đƣờng đi dẫn tới các lời giải tốt. Nếu sử dụng số lƣợng kiến ít, trong giai đoạn đầu sẽ không tìm đƣợc lời giải tốt và nhƣ vậy, việc cập nhật mùi đƣợc cập nhật dựa trên các lời giải không tốt. Khi đó, sẽ hƣớng việc tìm kiếm xung quanh lời giải không tốt và do đó thuật toán sẽ không hiệu quả. Có thể khắc phục phần nào nhƣợc điểm này bằng cách tăng số kiến, để tăng khả năng tìm đƣợc lời giải tốt ở mỗi vòng lặp. Khi có sử dụng tìm kiếm địa phƣơng hoặc thông tin heuristic mạnh, sử dụng nhiều kiến là lãng phí.

2.6.5 Tham số bay hơi

Ở mỗi vòng lặp, khi xây dựng đƣợc lời giải tốt (sử dụng tìm kiếm địa phƣơng hoặc thông tin heuristic mạnh), tham số bay hơi sẽ đƣợc xác lập có giá trị lớn, điều này giúp kiến quên đi những lời giải đã xây dựng, tập trung công việc tìm kiếm xung quanh lời giải tốt mới đƣợc xây dựng. Trong trƣờng hợp ngƣợc lại, ở mỗi vòng lặp, khả năng kiến tìm đƣợc lời giải tốt không cao thì tham số bay hơi phải đƣợc thiết lập với giá trị nhỏ.

CHƢƠNG 3. CÁC PHƢƠNG PHÁP ACO ĐỂ GIẢI BÀI TOÁN CARSP

Thuật toán đầu tiên tôi đi tìm hiểu là thuật toán ACO-CP do Christine Solon đề xuất năm 2007 – là thuật toán cho chất lƣợng lời giải tốt nhất tại thời điểm đó, áp dụng cho bài toán CarSP.

Năm 2008, Christine Solon [2] đã cải tiến và đề xuất thêm các quy tắc cập nhật mùi mới để áp dụng cho bài toán, đó là thuật toán ACO1+2 . Thuật toán ACO1+2 đƣợc đánh giá là thuật toán cho chất lƣợng lời giải tốt nhất, áp dụng cho bài toán này đến thời điểm hiện nay.

Năm 2011, Zhaojun Zhang và Zuren Feng [10] chỉ đề xuất ra quy tắc cập nhật mùi áp dụng cho bài toán TSP, đó là thuật toán TSIACO. Thuật toán TSIACO đƣợc đánh giá là thuật toán cho chất lƣợng lời giải tốt nhất, áp dụng cho bài toán TSP.

Trong bài luận văn này tôi sẽ sử dụng quy tắc cập nhật mùi của Zhaojun Zhang và Zuren Feng [10] để giải bài toán CarSP. Gọi thuật toán đó là TSIACO. Sau đó, tôi sẽ áp dụng kỹ thuật tìm kiếm địa phƣơng trong giai đoạn thứ 2 của thuật toán TSIACO, gọi thuật toán đó là TSIACOLS

3.1 Thuật toán ACO-CP của Christine Solon để giải CarSP (2007) 3.1.1 Xây dựng đồ thị cấu trúc và khởi tạo vết mùi 3.1.1 Xây dựng đồ thị cấu trúc và khởi tạo vết mùi

Để có thể giải bài toán trình tự xe bằng phƣơng pháp tối ƣu ACO thì trƣớc tiên ta phải xây dựng đƣợc một đồ thị cấu trúc tƣơng ứng với yêu cầu của bài toán. Việc tìm lời giải bài toán lúc này đƣa về việc tìm đƣờng đi ngắn nhất giữa các đỉnh của đồ thị xây dựng đƣợc, ý tƣởng xây dựng đồ thị cấu trúc đƣợc Dorigo và đồng sự đề xuất.

Hình 3.1: Đồ thị cấu trúc tƣơng ứng cho bài toán trình tự xe

Giải quyết một bộ (C, O, p, q, r) của bài toán liên quan đến việc tìm trình tự sắp xếp các xe là một hoán vị của tập hợp các xe C thỏa mãn ràng buộc về dung lƣợng. ài toán này có thể dễ dàng đƣợc mô hình hóa nhƣ việc tìm kiếm một con đƣờng tốt nhất trong đồ thị Hamilton liên kết một đỉnh tƣơng ứng với mỗi chiếc xe.

Để xây dựng các trình tự, các con kiến giao tiếp với nhau bằng cách đặt vết mùi trên các cạnh của một đồ thị đầy đủ có hƣớng trong đó thể hiện một đỉnh tƣơng ứng với mỗi xe ci C. Có một đỉnh phụ, ký hiệu bởi co C, từ đó kiến khởi công xây dựng trình tự (đỉnh thêm này sẽ đƣợc coi là một chiếc xe không đòi hỏi yêu cầu lựa chọn). Số lƣợng mùi trên cạnh (ci, cj) đƣợc ký hiệu là (ci, cj) đại diện cho mong muốn học đƣợc xe cjchỉ sau xe ci trong trình tự.

Tác giả áp dụng theo đề xuất trong hệ kiến MAX - MIN áp đặt cận dƣới – cận trên tƣơng ứng là min và τmaxtrên những vết mùi (với 0 <τmin< max). Mục đích cách sử dụng giới hạn vết mùi trong đoạn [ ] để tránh bỏ qua các cạnh tạm thời chƣa thuộc lời giải tốt và sa lầy vào các lời giải cục bộ. Ngoài ra,

những vết mùi đƣợc khởi tạo tới τmax, do đó đạt đƣợc một thăm dò cao hơn của không gian tìm kiếm trong các vòng lặp đầu tiên1

3.1.2 Xây dựng trình tự xe bởi kiến theo thuật toán ACO-CP

Sơ đồ thuật toán của việc xây dựng một trình tự π bởi một con kiến đƣợc phác thảo dƣới đây:

Hình 3.2: Kiến xây dựng lời giải (adsbygoogle = window.adsbygoogle || []).push({});

ƣu ý rằng để đánh giá sựkhác biệt của hai chiếc xe, hàm d: C × C → N trả về số lƣợng lựa chọn khác nhau mà hai chiếc xe yêu cầu, ví dụ, d (ci, cj)

=∑ . (đã trình bày trong mục phát biểu bài toán)

Kiến xây dựng lời giải bằng cách, bắt đầu từ một trình tự rỗng 1, chiếc xe đƣợc lặp đi lặp lại thêm vào cuối trình tự cho đến khi tất cả các xe đã đƣợc lập trình tự . Tại mỗi lần lặp, sự lựa chọn của một chiếc xe đƣợc thực hiện trong tập các xe ứng cử viên (cand) đƣợc giới hạn trong bộ xe mà đƣa ra số lƣợng nhỏ nhất các vi phạm ràng buộc mới (dòng 4)2

, là tập các xe trong trình tự C – π. Để

1

trình tự π có thể được khởi tạo một chuỗi không rỗng để xem xét những trình tự xe cuối cùng trên dây chuyền ngày hôm trước, vì nó là trường hợp trong các bài toán của Renault đề xuất cho thử thách ROADEF.

2 Lưu ý rằng chiến lược ưu tú này, rằng loại bỏ xe ô tô đưa ra thêm các vi phạm ràng buộc, có thể không được tối ưu để giải quyết trường hợp quá nhiều ràng buộc. Để giải quyết trường hợp quá nhiều ràng buộc, nó có thể không thích hợp để loại bỏ xe đưa ra nhiều hành vi vi phạm ràng buộc nhưng để giảm xác suất của việc lựa lựa chọn chúng như đề xuất trong [Sol00, GGP04].

1. <c0>

2. While || |C| do

3. Cho C- kí hiệu là tập các xe của C mà không có trong trình tự

4. cand { ck C- | cj C-, ((d(ck,cj)=0 (k j) và newViolations(,ck) newViolations(, cj)}

5. cho ci là chiếc xe cuối cùng trình tự  (ví dụ, =’.<ci>) 6. chọn cj cand với xác suất 𝑝𝑐𝑖𝑐𝑗 ∑ [ 𝑐𝑖 𝑐𝑗 ] [ 𝑐𝑗 ]

[ 𝑐𝑖 𝑐𝑘 ] [ 𝑐𝑘 ]

𝑐𝑗 𝑐𝑎𝑛𝑑

7. .<cj> 8. endwhile

phá vỡ tính đối xứng, chúng ta chỉ xem xét các ô tô yêu cầu lựa chọn có cấu hình khác nhau; để giới thiệu một chiến lƣợc ƣu tú, tác giả lựa chọn trong số xe ô tô tốt nhất liên quan đến số lƣợng vi phạm ràng buộc mới.

Mỗi con kiến duy trì một bộ nhớ trong chứa thông tin lần lƣợt các đỉnh mà nó đã duyệt qua, thông tin này dùng để tính tổng số lƣợng ràng buộc bị vi phạm và xác định các cạnh đƣợc cập nhập mùi.

Mỗi một đỉnh sau khi đƣợc kiến chọn sẽ bị loại ra khỏi danh sách các xe ứng cử viên và đƣợc thêm vào cuối trình tự cần sắp xếp.

Việc lựa chọn một xe cj trong bộ các ứng cử viên đƣợc thực hiện liên quan đến một xác suất. Xác suất này có thể đƣợc định nghĩa theo nhiều cách khác nhau phụ thuộc vào hai hệ số: hệ số mùi và hệ số heuristic η. Hệ số heuristic này có thể là một hàm heuristic bất kỳ đƣợc mô tả trong phần 3.13.

3.1.3 Thông tin Heuristic

Trong [GPS03] nêu năm định nghĩa khác nhau cho hàm Heuristic η. Những định nghĩa này đƣợc dựa trên tỷ suất sử dụng của yêu cầu lựa chọn và nhằm mục đích có lợi cho việc chọn đƣợc chiếc xe yêu cầu lựa chọn có nhu cầu cao đối với khả năng của trạm. Tuy nhiên tác giả đã sử dụng một trong 5 hàm heuristic của [GPS03] thu đƣợc các kết quả trung bình tốt nhất đƣợc xác định bởi tổng của tỷ suất sử dụng các lựa chọn theo yêu cầu của xe, theo công thức

Trong đó utilRate(oj,C - ) là tỷ lệ sử dụng lựa chọn oj đối với tập gồm có C - π xe chƣa đƣợc sắp xếp trong π. Tỷ lệ sử dụng này là tỷ lệ phần trăm của C-π chiếc xe yêu cầu oj với số lƣợng tối đa của các xe trong một trình tự có độ dài là |C - π | có thể có oj trong khi vẫn thỏa mãn ràng buộc khả năng của trạm, tức là

Một tỷ lệ sử dụng lớn hơn 1 chỉ ra rằng nhu cầu cao hơn khả năng, do đó khả năng của các trạm chắc chắn sẽ vƣợt mức; một tỷ lệ sử dụng gần 0 chỉ ra rằng nhu cầu là rất thấp đối với khả năng của các trạm.

3.2 Hai thuật toán của Christine Solon để giải CarSP (2008)

3.2.1 ACO1:Cấu trúc mùi đầu tiên để xác định các trình tự con tốt

Kiến tạo vệt mùi trên các cạnh của đồ thị để tìm hành trình tốt của tất cả các đỉnh (mỗi xe là một đỉnh). Dựa trên nguyên tắc này, tác giả đã đề xuất trong [Sol00] một thuật toán ACO đầu tiên cho bài toán trình xe.

Cách tốt nhất để giải thích thế nào là tỷ lệ vi phạm ràng buộc: đƣợc tính bằng cách đƣa ra một ví dụ. Cho phép xem xét một tỷ lệ 1 3 và trình tự các xe _X _ _ XX, trong đó "X" biểu thị một chiếc xe mà đòi hỏi lựa chọn và "_" biểu thị một xe mà không đòi hỏi phải lựa chọn. Để đánh giá trình tự này, tác giả phải chia chuỗi thành bốn trình tự con có kích thƣớc là 3, đầu tiên là chuỗi X _ _, thứ hai là chuỗi X _ X, thứ ba là chuỗi _ XX và cuối cùng là chuỗi XX _. Sau đó tác giả đánh giá mỗi chuỗi con theo công thức sau:

Số lƣợng vi phạm trên một chuỗi con= (Số lƣợng xe liên quan đến việc ràng buộc tỷ lệ trên chuỗi con) - (tỷ lệ ràng buộc tử số)

Về cơ bản, các thuật toán theo chƣơng trình lập lịch hệ kiến MAX-MIN [SH00]. Đầu tiên, những vết mùi đƣợc khởi tạo một τmax1 trên ràng buộc nhất định. Mỗi vòng lặp mỗi kiến xây dựng một trình tự , và những vết mùi đƣợc cập nhật. Để ngăn chặn hội tụ sớm, những vết mùi đƣợc giới hạn bởi 2 cận trên và dƣới là τmin1 và τmax1 sao cho 0 <τmin1<τmax1. Các thuật toán dừng lặp hoặc khi một con kiến đã tìm thấy một lời giải, hoặc khi một số lƣợng tối đa vòng lặp đã đƣợc thực hiện.

Cấu trúc mùi (adsbygoogle = window.adsbygoogle || []).push({});

Mùi đƣợc đặt trên các cặp xe ô tô. Đối với những cặp xe khác nhau (ci, cj) C × C, tác giả kết hợp một vết mùi τ1(ci, cj), vết mùi này đại diện cho mong muốn lựa chọn xe cj đƣợc lập kế hoạch chỉ sau khi xe ci

Xây dựng lời giải trình tự xe bởi kiến

Ở mỗi vòng lặp mỗi kiến xây dựng một trình tự trình tự , theo thuật toán của Hình 3.2. Để lựa chọn chiếc xe ci tiếp theo sẽ đƣợc thêm vào cuối của trình tự π hiện tại thì hàm xác suất chuyển trạng thái phụ thuộc vào hai hệ số: một hệ số vết mùi mà đánh giá mong muốn chọn thêm ci vào cuối π, và hệ số η: thông tin heuristic đƣợc giới thiệu trong phần 3.1.3 theo công thức 3.3.1 và 3.3.2 để phát hiện thông tin mới, tức là,

[ ] [  ]

∑ [ ] [  ] nếu cuối trình tự  là cj (3.3.1)

[  ]

∑ [  ] nếu  rỗng (3.3.2)

Sự ảnh hƣởng của thông tin mùi và thông tin heuristic đƣợc đánh giá qua hai tham số 1 và .

Bƣớc cập nhật Mùi

Mỗi lần kiến xây dựng đƣợc một trình tự sắp xếp , những vết mùi đƣợc cập nhật.

Đầu tiên, tất cả các vết mùi đƣợc giảm để mô phỏng bay hơi, ví dụ, cho mỗi cặp xe khác nhau (ci, cj) C × C, số lƣợng mùi τ1(ci, cj) đƣợc nhân với một hệ số (1 - ρ1), trong đó ρ1 là tỷ lệ bay hơi sao cho 0 ≤ ρ1≤ 1. Sau đó, những con kiến tốt nhất ở mỗi vòng lặp đƣợc lƣu lại những vết mùi của chúng, tỷ lệ nghịch với số lƣợng vi phạm ràng buộc: đối với mỗi trình tự π đƣợc xây dựng trong suốt vòng lặp, nếu giá trị của π là tối thiểu trong mỗi chu kỳ thì với mỗi cặp xe liên tiếp <cj, ck>π, tác giả tăng vết mùi τ1(cj, ck) = 1 cost (π). Trong đó cost(π) đƣợc tính theo công thức (1.1.2)

ay hơi mùi:

Tăng vết mùi: = + 1/cost π

{

[ ]

Mục đích của bƣớc này là xác định ranh giới mùi để có lợi cho một thăm dò tốt hơn về không gian tìm kiếm bằng cách ngăn chặn sự khác biệt tƣơng đối giữa những vết mùi trở nên quá cực đoan trong khi xử lý [SH00]

3.2.2 ACO2: Cấu trúc mùi thứ hai để xác định xe ô tô quan trọng

Hàm Heuristic η kết hợp với cấu trúc mùi đầu tiên trong hàm xác suất chuyển trạng thái định nghĩa trong mục 3.3.1 nhằm mục đích lợi cho việc lựa chọn xe quan trọng, ví dụ nhƣ chiếc xe mà yêu cầu lựa chọn với tỷ lệ sử dụng cao để chúng có thể đƣợc lên kế hoạch mà không vi phạm ràng buộc về dung lƣợng. Tác giả đã giới thiệu một cấu trúc mùi mới để xác định những mẫu xe quan trọng đối với kinh nghiệm quá khứ của đàn kiến.

Cấu trúc Mùi

Các xe ô tô khác nhau có thể yêu cầu cùng một tập hợp các lựa chọn. Do

Một phần của tài liệu Phương pháp tối ưu đàn kiến giải bài toán trình tự xe (Trang 47)