Tải bản đầy đủ - 0 (trang)
Chương II: Thuật toán tìm kiếm lân cận biến đổi (Variable Neighborhood Search - VNS) và thuật toán tìm kiếm (Tabu Search - TS)

Chương II: Thuật toán tìm kiếm lân cận biến đổi (Variable Neighborhood Search - VNS) và thuật toán tìm kiếm (Tabu Search - TS)

Tải bản đầy đủ - 0trang

GVHD: ThS.Bùi Thị Thủy



SVTH: Qch Thị Bích Mai - K65B



MƠ HÌNH THUẬT TỐN VNS

Một bài tốn tối ưu hóa tổ hợp (Tìm ra giải pháp tốt nhất từ tất cả các giải pháp khả

thi) được xác định với:

(*)

Cho là không gian các giải pháp của bài toán đang cần tối ưu hóa

là tập hợp các khả thi có thể sử dụng

là giải pháp khả thi và hàm mục tiêu có giá trị thực tương ứng

Một giải pháp được gọi là tối ưu nếu :



Thuật tốn chính xác cho vấn đề (*) sẽ là tìm được 1 giải pháp tối ưu trong số các

giải pháp hoặc nếu thuật tốn khơng thể thực hiện được trong giới hạn cho phép phải

chứng minh nó khơng có giải pháp nào khả thi tức là X là tập hợp rỗng hoặc giải pháp

đề ra không bị ràng buộc.

Hơn nữa, trong thực tế thời gian cần đề làm (thực thi thuật tốn) phải là hữu hạn

(khơng quá lâu). Để tối ưu hóa, thật hợp lý khi cho phép một số dung sai, tức là dừng

lại chương trình khi phát hiện đủ độ hội tụ, một giải pháp khả thi đã được tìm thấy

Chúng ta hãy biểu thị là một tập hợp các cấu trúc lân cận được chọn trước và với

tập hợp các giải pháp trong vùng lân cận thứ của .

Hầu hết, các heuristic tìm kiếm địa phương chỉ sử dụng một cấu trúc vùng lân cận, tức

là . Thông thường các vùng lân cận được lồng nhau và có thể được tạo ra từ một hoặc

nhiều số liệu ( có thể là các hàm gần đúng) đã được đưa vào một không gian giải

pháp .

Một giải pháp tối ưu là một giải pháp khả thi khi đạt đến mức tối thiểu. Chúng ta có

được coi là tối thiểu địa phương của phương trình (*) đối với vùng lân cận . Nếu ko có

17



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



giải pháp sao cho . Khi đó chúng ta sẽ dực vào kỹ thuật tìm kiếm địa phương để cố

gắng tiếp tục tìm kiếm bằng các cách khác nhau để tìm ra giải pháp tối ưu.

Tìm kiếm địa phương thường được áp dụng để giải các bài tốn tìm lời giải tối ưu:

Xuất phát từ một phương án nào đó, áp dụng các phép biến đổi lên phương án hiện

hành để được một phương án mới tốt hơn phương án đã có. Lặp lại việc áp dụng phép

biến đổi như vậy cho đến khi khơng còn có thể cải thiện được phương án nữa.

VNS dựa trên các nhận thức:

1



Một tối thiểu địa phương liên quan tới một cấu trúc lân cận không nhất thiết

phải như vậy đối với cái khác



2



Tối thiểu toàn cầu là mức tối thiểu cục bộ đối với tất cả các cấu trúc lân cận có

thể



3



Đối với nhiều vấn đề, tối thiểu địa phương đối với một hoặc một vùng lân cận .

thì tương đối gần nhau.



Ý tưởng chính: thay đổi hệ thống các vùng lân cận trong khi tìm kiếm

Như quan sát, theo kinh nghiệm, một tối ưu cục bộ thường cung cấp một số thơng tin

về tồn cầu. Chẳng hạn, nó có thể là một vài biến có cùng giá trị trong cả 2 giải pháp.

Tuy nhiên, người ta thường khơng biết biến nào là như vậy vì các biến này thường

không thể xác định được trước, nên người ta phải tiến hành một nghiên cứu có tổ chức

về các vùng lân cận tối ưu cục bộ cho tới khi giải pháp mới hơn, tối ưu hơn được tìm

thấy.

Để giải quyết phương trình (*) bằng cách sử dụng các vùng lân cận, các sự kiện từ 1

tới 3 có thể được sử dụng theo 3 cách khác nhau: xác định, ngẫu nhiên, cả xác định và

ngẫu nhiên.

Trước tiên chúng ta cung cấp thuật toán 1: Chức năng di chuyển và thay đổi vùng lân

cận

18



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



Hình 3: Mơ tả chức năng di chuyển và thay đổi vùng lân cận của VNS





NeighborhoodChange() so sánh giá trị đương nhiệm với giá trị mới thu được từ

vùng lân cận thứ k.







Nếu một sự tối ưu được lấy, đương nhiệm mới được cập nhật và k được trả về

giá trị ban đầu







Mặt khác, lân cận tiếp theo được xem xét



19



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



Tìm một giải pháp ban đầu x



Điều kiện dừng



Y



N



N

dừng (thời gian hoặc số

lần lặp tối đa)



Y

Tạo x’ ngẫu nhiên từ của x



N



Y



Hình 4: Mơ hình VNS









Một tập hợp cấu trúc lân cận được xác định.

Ở mỗi lần lặp, một giải pháp ban đầu x được tạo ngẫu nhiên.



20



Exit



GVHD: ThS.Bùi Thị Thủy









SVTH: Quách Thị Bích Mai - K65B



Một giải pháp hàng xóm ngẫu nhiên x' được tạo ra trong vùng lân cận hiện tại .

Quy trình tìm kiếm cục bộ được áp dụng cho giải pháp x' để tạo ra giải pháp x'’.

Nếu giải pháp x'’ tốt hơn giải pháp x thì giải pháp x" trở thành giải pháp hiện tại



mới và tìm kiếm bắt đầu từ giải pháp hiện tại.

 Nếu giải pháp x" không tốt hơn giải pháp x, tìm kiếm sẽ chuyển sang vùng lân

cận tiếp theo, tạo ra giải pháp mới trong vùng lân cận này và cố gắng cải thiện

nó.

 Các hoạt động này được lặp lại cho đến khi một tiêu chí dừng thỏa mãn.

2. Thuật tốn tìm kiếm Tabu



Thuật tốn tìm kiếm Tabu, được giới thiệu bởi Fred W. Glover vào năm 1986 và

được chính thức hóa vào năm 1989 [10] , là một phương pháp tìm kiếm kinh nghiệm,

thực hiện thủ tục tìm kiếm kinh nghiệm để khám phá những khơng gian giải pháp tối

ưu ngồi địa phương

Các tìm kiếm cục bộ (vùng lân cận) đưa ra giải pháp tiềm năng cho một vấn đề và

kiểm tra các lân cận trực tiếp của nó (nghĩa là các giải pháp tương tự ngoại trừ rất ít

chi tiết nhỏ) với hy vọng tìm ra giải pháp cải tiến. Các phương pháp tìm kiếm cục bộ

có xu hướng bị mắc kẹt trong các khu vực dưới mức tối ưu hoặc trên các cao ngun

nơi có nhiều giải pháp phù hợp như nhau.

Tìm kiếm Tabu tăng cường hiệu suất của tìm kiếm địa phương bằng cách nới lỏng

quy tắc cơ bản của nó. Đầu tiên, ở mỗi bước, các bước đi hỏng có thể được chấp nhận

nếu khơng có động thái cải thiện nào (như khi tìm kiếm bị kẹt ở mức tối thiểu cục bộ

nghiêm trọng). Ngồi ra, các lệnh cấm (từ đó gọi là thuật ngữ Tabu) được đưa ra để

ngăn cản việc tìm kiếm quay trở lại các giải pháp đã truy cập trước đó.

Việc thực hiện tìm kiếm Tabu sử dụng các cấu trúc bộ nhớ mô tả các giải pháp

được truy cập hoặc bộ quy tắc do người dùng cung cấp. Nếu một giải pháp tiềm năng

đã được truy cập trước đó trong một khoảng thời gian ngắn nhất định hoặc nếu nó đã

vi phạm quy tắc, thì nó được đánh dấu là "Tabu" (bị cấm) để thuật toán khơng xem xét

khả năng đó nhiều lần.



21



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



Bắt đầu



Khởi tạo giải pháp hiện tại x



Tạo một danh sách ứng cử viên

hàng xóm cho giải pháp hiện tại



Tìm giải pháp tốt nhất x’từ danh

sách ứng cử viên



x’ có trong danh sách Tabu?



Xóa x’ khỏi danh sách

ứng cử viên



Yes

No

Đặt giải pháp x = x’ và cập

nhật danh sách tabu



No



Dừng với tiêu chí thỏa mãn?



Yes

Kết thúc



Hình 5: Mơ hình thuật tốn TS



22



GVHD: ThS.Bùi Thị Thủy



SVTH: Qch Thị Bích Mai - K65B



Mơ tả cơ bản:

Tìm kiếm Tabu sử dụng quy trình tìm kiếm cục bộ hoặc lân cận để chuyển từ một

giải pháp tiềm năng sang một giải pháp cải tiến trong vùng lân cận của , cho đến khi

một số tiêu chí dừng được thỏa mãn. Các thủ tục tìm kiếm cục bộ thường bị mắc kẹt

trong các khu vực có điểm kém hoặc khu vực có điểm phù hợp như nhau. Để tránh bị

như vậy và khám phá các khu vực của không gian tìm kiếm sẽ khơng được khám phá

bởi các quy trình tìm kiếm cục bộ khác, Tabu Search cẩn thận khám phá vùng lân cận

của mỗi giải pháp khi quá trình tìm kiếm tiến triển. Các giải pháp được nhận vào vùng

lân cận mới,, được xác định thông qua việc sử dụng các cấu trúc bộ nhớ. Sử dụng các

cấu trúc bộ nhớ này, quá trình tìm kiếm tiến triển bằng cách lặp đi lặp lại từ giải pháp

hiện sang một giải pháp cải tiến trong .

Các cấu trúc bộ nhớ này tạo thành cái được gọi là danh sách Tabu, một bộ quy tắc

và các giải pháp bị cấm được sử dụng để lọc các giải pháp nào sẽ được chấp nhận cho

vùng lân cận khám phá bởi tìm kiếm. Ở dạng đơn giản nhất, danh sách Tabu là một

tập hợp ngắn hạn các giải pháp đã được truy cập trong quá khứ gần đây (ít hơn lặp lại

trước đây, trong đó là số lượng giải pháp trước đó được lưu trữ - còn được gọi là

nhiệm kỳ Tabu). Thơng thường hơn, một danh sách Tabu bao gồm các giải pháp đã

thay đổi bởi quá trình chuyển từ giải pháp này sang giải pháp khác.

Các loại bộ nhớ:

Các cấu trúc bộ nhớ được sử dụng trong tìm kiếm Tabu có thể được chia thành ba

loại:





Ngắn hạn: Danh sách các giải pháp được xem xét gần đây. Nếu một giải pháp

tiềm năng xuất hiện trong danh sách Tabu, nó khơng thể được xem xét lại cho



đến khi đạt đến điểm hết hiệu lực.

 Trung hạn: Các quy tắc tăng cường nhằm thiên vị tìm kiếm đối với các khu vực

đầy hứa hẹn của khơng gian tìm kiếm.

 Dài hạn: Đa dạng hóa các quy tắc thúc đẩy tìm kiếm vào các khu vực mới

(nghĩa là liên quan đến việc đặt lại khi tìm kiếm bị kẹt trong một cao nguyên

hoặc ngõ cụt dưới mức tối ưu).



23



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



Bộ nhớ ngắn hạn, trung hạn và dài hạn có thể chồng chéo trong thực tế. Trong các

loại này, bộ nhớ có thể được phân biệt bằng các biện pháp như tần suất và tác động của

những thay đổi được thực hiện.

Một ví dụ về cấu trúc bộ nhớ trung hạn là một cấu trúc cấm hoặc khuyến khích các

giải pháp có chứa các thuộc tính nhất định (ví dụ: các giải pháp bao gồm các giá trị

không mong muốn hoặc mong muốn cho các biến nhất định) hoặc cấu trúc bộ nhớ

ngăn chặn hoặc gây ra một số di chuyển nhất định (ví dụ: dựa trên bộ nhớ tần số áp

dụng cho các tính năng chia sẻ giải pháp chung với các giải pháp không hấp dẫn hoặc

hấp dẫn được tìm thấy trong quá khứ). Trong bộ nhớ ngắn hạn, các thuộc tính được

chọn trong các giải pháp được truy cập gần đây được gắn nhãn "hoạt động Tabu". Các

giải pháp có chứa các yếu tố hoạt động Tabu đều bị cấm. Tiêu chí nguyện vọng được

sử dụng để ghi đè trạng thái Tabu của giải pháp, do đó bao gồm giải pháp loại trừ khác

trong tập hợp được phép (với điều kiện là giải pháp đủ tốt theo tiêu chuẩn chất lượng

hoặc đa dạng). Một tiêu chí nguyện vọng đơn giản và thường được sử dụng là cho

phép các giải pháp tốt hơn giải pháp tốt nhất hiện được biết đến.

Chỉ riêng bộ nhớ ngắn hạn có thể đủ để đạt được giải pháp vượt trội so với những

phương pháp tìm kiếm địa phương thơng thường, nhưng cấu trúc trung hạn và dài hạn

thường là cần thiết để giải quyết các vấn đề khó khăn hơn. Tìm kiếm Tabu thường

được điểm chuẩn so với các phương pháp siêu hình khác - chẳng hạn như mơ phỏng

luyện kim, thuật toán di truyền, thuật toán tối ưu hóa đàn kiến, tối ưu hóa tìm kiếm

phản ứng, tìm kiếm cục bộ có hướng dẫn hoặc tìm kiếm thích ứng ngẫu nhiên tham

lam. Ngồi ra, tìm kiếm Tabu đơi khi được kết hợp với các phương pháp siêu hình

khác để tạo ra các phương thức lai.



Mã giả:

Thuật toán (bên dưới) cung cấp danh sách mã giả của thuật toán Tìm kiếm Tabu để

giảm thiểu hàm chi phí. Danh sách hiển thị thuật tốn Tìm kiếm Tabu đơn giản với bộ

nhớ ngắn hạn, khơng có quản lý bộ nhớ trung gian và dài hạn.



24



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



Hình 6: Thuật tốn TS



Heuristic





TS được thiết kế để quản lý một heuristic leo đồi nhúng, mặc dù có thể được

điều chỉnh để quản lý bất kỳ heuristic thăm dò khu phố nào.







Tìm kiếm Tabu được thiết kế cho và chủ yếu được áp dụng cho các miền

riêng biệt như các vấn đề tối ưu hóa tổ hợp.



25



GVHD: ThS.Bùi Thị Thủy





SVTH: Quách Thị Bích Mai - K65B



Các ứng cử viên cho các di chuyển lân cận có thể được tạo ra một cách xác

định cho toàn bộ khu phố hoặc khu vực lân cận có thể được lấy mẫu một

cách ngẫu nhiên đến một kích thước cố định, đánh đổi hiệu quả cho chính

xác.







Các cấu trúc bộ nhớ trung hạn có thể được giới thiệu (bổ sung cho bộ nhớ

ngắn hạn) để tập trung tìm kiếm vào các khu vực đầy hứa hẹn của khơng

gian tìm kiếm (tăng cường), được gọi là tiêu chí nguyện vọng.







Các cấu trúc bộ nhớ dài hạn có thể được giới thiệu (bổ sung cho bộ nhớ

ngắn hạn) để khuyến khích khám phá hữu ích về khơng gian tìm kiếm rộng

hơn, được gọi là đa dạng hóa. Các chiến lược có thể bao gồm việc tạo ra các

giải pháp với các thành phần hiếm khi được sử dụng và thiên vị tạo ra các

thành phần giải pháp được sử dụng phổ biến nhất.



26



GVHD: ThS.Bùi Thị Thủy



SVTH: Quách Thị Bích Mai - K65B



CHƯƠNG III: KẾT HỢP THUẬT TỐN TÌM KIẾM LÂN CẬN

BIẾN ĐỔI (VNS) VÀ TÌM KIẾM TABU (TS) GIẢI BÀI TỐN ĐIỀU

PHỐI XE ĐIỆN VỚI THỜI GIAN CỬA SỔ VÀ ĐA TRẠM SẠC

Trong chương này, chúng tôi giới thiệu phương pháp để giải bài tốn điều phối xe

điện, đó là lai hai thuật tốn tìm kiếm lân cận biến đổi và thuật tốn tìm kiếm Tabu để

tìm lời giản gần đúng cho bài toán.

1. Ý tưởng thuật toán



Trong bài toán này, một tập các xe điện xuất phát từ một bến đỗ thực hiện đưa đón

các hành khách. Hành khách được đưa từ trạm dừng này đến trạm dừng khác với thời

gian xác định. Lượng pin của mỗi xe cũng bị hạn chế. Các xe phải đưa đón hành khách

đến các trạm dừng và quay về bến đỗ với điều kiện số lần phải dừng lại sạc pin là ít

nhất. Bài tốn đặt ra là xây dựng các tập tuyến đường và định tuyến cho từng xe, đảm

bảo giao thông ổn định, thông thống, khơng tắc nghẽn, với tổng thời gian ít nhất.

Thuật tốn tìm kiếm lân cận biến đổi là một phương pháp siêu hình dựa trên những

thay đổi có hệ thống của các vùng lân cận cả trong giai đoạn đầu để tìm lời giải tối ưu

nhất cho bài tốn.

Thuật tốn tìm kiếm Tabu (TS) là phương pháp siêu hình sử dụng tìm kiếm cục bộ,

dùng kỹ thuật tránh các quá trình tìm kiếm rời rạc bị bế tắc trong các tối ưu cục bộ.

Trong chương này, chúng tôi sử dụng thuật tốn kết hợp 2 thuật tốn tìm kiếm để

tìm lời giải tối ưu nhất cho bài toán đã đặt ra.

Thứ nhất, dùng VNS để tìm được các lộ trình khả thi nhất, tối ưu nhất có thể. Ý

tưởng chính khi sử dụng VNS là thay đổi hệ thống các vùng lân cận trong khi tìm

kiếm.

Thứ hai, dùng TS để cho thêm điều kiện thời gian, hạn chế số lộ trình có thể. Chiến

lược kiểm sốt việc chọn lân cận cho từng giai đoạn của việc tìm kiếm, cùng với sự đa

dạng hóa được điều khiển bởi một tập các lời giải tinh hoa và một bộ nhớ dựa trên tần

suất được đề xuất nhằm thiết lập và kết hợp khả năng thăm dò và khai thác cho việc

tìm kiếm.



27



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương II: Thuật toán tìm kiếm lân cận biến đổi (Variable Neighborhood Search - VNS) và thuật toán tìm kiếm (Tabu Search - TS)

Tải bản đầy đủ ngay(0 tr)

×