Phương pháp ACO tổng quát

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toán thuê xe du lịch có hạn ngạch luận văn ths máy tính 604801 (Trang 30 - 36)

Chương 2 Các phương pháp metaheuristic

2.2. Phương pháp tối ưu hóa đàn kiến

2.2.3. Phương pháp ACO tổng quát

Để trình bày phương pháp ACO tổng quát giải các bài toán tối ưu tổ hợp khó, ta cần phát biểu lại bài toán tối ưu tổ hợp theo khung nhìn của heuristic cấu trúc.

Bài toán tối ưu tổ hợp tổng quát

Các cách tiếp cận trên được áp dụng rộng rãi và phong phú để giải các bài toán tối ưu tổ hợp trong đó bài toán tối ưu tổng quát được phát biểu như sau.

Xét bài toán cực tiểu hóa trong đó S là tập hợp hữu hạn trạng thái, f là hàm mục tiêu xác định trênS còn là các ràng buộc để xác định S qua các thành phần của tập hữu hạnCvà các liên kết của tập này. Các tậpS,C, và có các đặc tính sau :

• 1)C = {c1,c2, ...,Cn}là tập hữu hạn gồm n thành phần. Ta ký hiệu X là tập các xâu thành phần trongCcó độ dài không quáh:X ={<u1, , ...,uk >}.

• 2) Tồn tại tập conX∗củaXvà ánh xạ từX∗ lênSsao cho ϕ−1(s)không rỗng với mọis ∈ S, hơn nữa, tập X∗này xây dựng được từ tập conC0 củaCvàΩ

theo đặc tính 3.

• 3) TừC0mở rộng được thànhX∗theo thủ tục tuần tự :

x0 =<u0 >là mở rộng được với∀u ∈C0.

Nếuxk =<u1, ...,uk >là mở rộng được thì từΩxác định được tập con

J(xk)củaCsao cho với mọiuk=1 ∈ J(xk)ta cóxk+1 =<u0,u1, ...,uk+1 >

là mở rộng được vàxk ∈ X∗khiJ(xk)là rỗng.

Với mọiu0 ∈ C, thủ tục mở rộng nêu trên xây dựng được mọi phần tử của X∗. Không giảm tổng quả ta giả thiết rằng có tương ứng giữa các phần tử trongX∗ với mỗi đường đi được mở rộng từ mỗiu0trongC0.

Thuật toán tổng quát

Với bài toán tổng quát trên, về lý thuyết ta cú thể áp dụng thủ tục mở rộng để xây dựngX∗và chọn lời giải tốt nhất bằng phương pháp vét cạn, nhưng trên thực tế, do bùng nổ tổ hợp thì khi số phần tửncủaClớn ta không thực hiện được đối với bài toán thuộc loại NP-khó.

Để giải bài toán người ta đưa nó về bài toán tìm đường đi tối ưu trên đồ thị cấu trúc sao cho mỗi lời giải chấp nhận được s ứng với đường đi < x1, ...,xn >, trong đó xi thuộc tập đỉnh (thành phầnC) của đồ thị, x1 thuộc tập đỉnhC0(tham khảo phương pháp constructive heuristics).

Đồ thị cấu trúc thường là đồ thị đầy đủ có trọng sốG = (V,E,H,τ)trong đóV

là tập đỉnh tương ứng với tập thành phầnCở trên,Elà tập các cạnh, Hlà vectơ các trọng số heuristic của cạnh/đỉnh tương ứng, cònτ là vectơ vết mùi tích lũy được ban đầu với khởi tạo bằngτ0.

Thông tin heuristic và vết mùi có thể để ở đỉnh hoặc các cạnh của đồ thị tùy theo đặc điểm bài toán dùng để định hướng tìm kiếm heuristic ngẫu nhiên khi xây

dựng lời nhờ mở rộng tuần tự từ một đỉnh trong C0 theo đặc điểm thứ 3 của bài toán tổng quát.

Dựa trên đồ thị cấu trúc này, ta xây dựng thủ tục bước bước tuần tự tìm lời giải cho các kiến nhân tạo.

Thông thường ta có thể đã có các phương pháp heuristic để tim lời giải đủ tốt cho bài toán. Các thuật toán ACO kết hợp thông tin heuristic này với phương pháp học tăng cường nhờ mô phỏng hành vi của đàn kiến để tìm lời giải tốt hơn.

Với quy tắc cập nhật mùi, các tham số, số kiến và điều kiện dừng (thường là số lần lặp Nc định trước) đã được chọn các thuật toán được mô tả hình thức trong hình2.4.

Hình 2.4: Lược đồ thuật toán ACO tổng quát

Xây dựng lời giải

Để tiện trình bày, ta giả sử bài toán có vết mùi và thông tin heuristic để ở các cạnh. Sau khi khởi tạo các tham số và cường độ mùi ban đầu, các con kiến chọn ngẫu nhiên một đỉnh xuất phát trong C0 để thực hiện thủ tục xây dựng lời giải. Trong mỗi lần lặp t, kiến chọn ngẫu nhiên một đỉnh tiếp theo trong C kết hợp thông tin heuristic với thông tin mùi để xây dựng lời giải ngẫu nhiên theo thủ tục mở rộng tuần tự nêu ở trên với quy tắc chuyển trạng thái như mô tả ở dưới.

Quá trình mở rộng tiếp tục cho tới khi mỗi con kiếnkđều tìm được lời giải chấp nhận được xk ∈ X∗ và do đós(k) = ϕ(x(k)). Để tiện trình bày, về sau ta sẽ xem

x(k)vàs(k)như nhau không phân biệtX∗với S.

Ký hiệu ω∗(t) là trạng thái tốt nhất các con kiến tìm được cho tới lúc này và

ωi(t)là lời giải tốt nhất trong bước lặp. Ở bước lặpt, ω∗(t)sẽ được xem là lời giải gần đúng của bài toán.

Quy tắc chuyển trạng thái

chọn đỉnhythuộc J(xkn)để cóxnk+1với xác suất : P(y|τ,xnk) =    τuα,yhu,y ∑j∈J(xk)τuα,jhu,j y∈ J(xk)0 ngược lại (2.2.2) Quy tắc cập nhật mùi

Quy tắc cập nhật mùi có tính phổ dụng cho các thuật toán và là yếu tố ảnh hưởng lớn tới chất lượng thuật toán. Để đảm bảo vết mùi hội tụ, người ta sử dụng hằng số bay hơi vết mùi0 < ρ <= 1 hay hệ số chiết khấu trong học tăng cường, khi một cạnh được cập nhật mùi thì vết mùi biến đổi theo công thức:

τij ←(1−ρ)τij+∆ij

Điểm then chốt là cạnh nào được cập nhật và lượng them vào thế nào là tùy theo quy tắc được chon. Có nhiều quy tắc cập nhật mùi đã được đề xuất, trong đó điển hình là các quy tắc hệ kiến (Ant System: AS), hệ đàn kiến (ACS), hệ kiến Max- Min(Max–Min Ant System: MMAS) và hệ kiến Max-min trơn (Smooth Max-Min Ant System: SMMAS).

Hệ kiến AS

Hệ kiến AS áp dụng quy tắc cập nhật mùi địa phương, và là quy tắc đầu tiên được áp dụng trong số các thuật toán ACO. Theo quy tắc này, ở bước lặp t, mỗi kiến k áp dụng cập nhật mùi cho tất cả các cạnh(ui,ui+1)thuộc lời giảiωk(t) theo công thức: ∆i,j =    ρL1 k nếu(i,j) ∈ (ω(t)) 0 khác (2.2.3)

trong đó Lklà giá trị hàm mục tiêu f(ωk(t))(không giảm tổng quát,được giả thiết là dương). Nhược điểm của quy tắc là vết mùi ở các cạnh không được cập nhật sẽ nhanh chóng dần về không nên hạn chế không gian tìm kiếm và thuật toán kém hiệu quả.

Quy tắc ACS

Quy tắc này do Dorigo đề xuất năm (1997). Trong thuật toán ACS, việc cập nhật mùi bao gồm cả hai hình thức địa phương và toàn cục. Cập nhật mùi địa phương áp dụng cho mọi cạnh có kiến k sử dụng khi nó tìm lời giải. có hai cách cập nhật mùi toàn cục.

a) Cập nhật mùi toàn cục áp dụng cho các cạnh thuộc lời giải tốt nhất của bước lặpω(t)hay toàn cụcω∗(t)và gọi tương ứng là i-best hay G-best. Theo cách i-besst,

τi,jđược xác định theo công thức:

b) Cập nhật mùi toàn cục áp dụng cho tất cả các cạnh và cũng các hai cách i-best hay G-best, với G-best thì∆τij xác định theo công thức:

∆i,j =    ρf(ω1∗(t)) nếu(i,j)∈ (ω∗(t)) 0 khác (2.2.5) Quy tắc MMAS

Để khắc phục nhược điểm nêu trên của AS và ACS, Stutzle Hoos (2000) đề xuất MMAS gồm 2 bước.

Bước thứ nhất, cập mùi toàn cục cho tất cả các cạnh theo phương thức i-best hoặc G-best.

Bước thứ hai, so sánh các τi,jvới hai đại lượngτmax vàτmin vớiτmax > τmin > 0để giới hạn vết mùi trong đoạn[τmax,τmin], cụ thể như sau:

τi,j =         

τmax nếuτi,j >τmax

τi,j nếuτi,j ∈ [τmin,τmax]

τmin nếuτi,j <τmin

(2.2.6)

Nói chung, MMAS dùng i-best tốt hơn G-best nhưng cũng có thể dung luân phiên cho các bước lặp. Khi bắt đầu thuật toán, vết mùi thường được thiết đặt bằng ước lượng cận trên của vết mùiτmax. Cách khởi tạo như vậy kết hợp với tham số bay hơi nhỏ làm chậm sự khác biệt vết mùi của các cạnh, do đó giai đoạn đầu của MMAS mang tính khám phá. Nhờ giới hạn vết mùi trong đoạn [τmin,τmax] , MMAS hạn chế được tình trạng vết mùi dần về không, khắc phục được nhược điểm của AS và ACS.

Quy tắc SMMAS

Quy tắc SMMAS lần đầu tiên được Đỗ Đức Đông và cộng sự dùng cho bài toán lập lịch sản xuất và được trình bày chặt chẽ cho bài toán TSP.

SMMAS được đề xuất dựa trên nhận xét hai nhược điểm của MMAS:

• Thứ nhất, nếu chọnτmax,τminlệch nhau ít thì làm triệt tiêu hiệu quả học tăng cường, còn nếu chọn lệch nhau nhiều thì vết mùi ở các cạnh ít được cập nhật sẽ nhanh chóng vềτminlàm hạn chế không gian tìm kiếm mặc dù có nhẹ hơn AS và ACS.

• Thứ hai là đâị lượng∆τi,jphụ thuộc giá trị hàm mục tiêu làm cho thuật toán phải tính toán phức tạp, tuy nhiên trong học tăng cường thì không cần thiết. Một trong các cải tiến là khi khởi tạo lại vết mùi, việc cập nhật mùi thường xuyên bằng lời giải tốt nhất tìm được mới nhất thay vì cố định.

Với nhận xét trên, SMMAS không giảm vết mùi ở các cạnh không thuộc lời giải tốt quá nhanh như quy tắc MMAS mà dùng quy tắc Max-Min trơn bằng cách cập nhậtτi,jtoàn cục cho mọi cạnh với∆τi,j xác định bởi:

τij ←(1−ρ)τij+∆ij trong đó: ∆i,j =    ρτmax nếu(i,j) ∈ (t) ρτmin khác (2.2.7) Quy tắc này cũng khởi tạoτ0 =τmax. Đây là một phương pháp cập nhật mùi dễ cài đặt và có độ phức tạp tính toán cũng thấp hơn so với các phương pháp trước nó. Thực nghiệm và phân tích toán học cho thấy nó tốt hơn MMAS.

Tái khởi tạo vết mùi

Việc sử dụng thông tin vết mùi như cơ chế học tăng cường giúp ta tìm kiếm quanh lời giải tốt, tuy nhiên có thể bỏ sót những miền tiềm năng chứa lời giải tốt hơn. Để tăng tính khám phá, nếu sau một số bước lặp mà lời giải tốt nhấtω∗(t)tìm được không đổi so với các bước trước đó thì nên khởi tạo lại vết mùi.

Tìm kiếm địa phương

Lược đồ ACO ở trên thực hiện tìm kiếm ngẫu nhiên để tìm lời giải gần đúng nên không gian tìm kiếm rộng. Thông thường thì các kỹ thuật tìm kiếm địa phương hội tụ đến cực trị địa phương nhanh hơn. Vì vậy người ta thường áp dụng kỹ thuật tìm kiếm địa phương để tăng cường chất lượng lời giải cho lời giải tốt nhất hoặc cho mọi lời giải trong mỗi bước lặp trước khi cập nhật mùi.

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toán thuê xe du lịch có hạn ngạch luận văn ths máy tính 604801 (Trang 30 - 36)

Tải bản đầy đủ (PDF)

(71 trang)