1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tiểu luận BCTC cuối khóa (6)

28 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 703,63 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài toán t i u t h p v i metaheuristic: ố ư ổ ợ ớ Mục đích của bài toán tối ưu tổ hợp là tìm lời giải tốt nhất trong các lời giải có thể và không gian tìm kiếm lời giải của bài toán là r

Trang 1

Tổng quan

Báo cáo trình bày giải thuật mô phỏng luyện kim (Simulated Annealing (SA)), một giải thuật xấp xỉ nhằm giải quyết bài toán tối ưu tổ hợp bằng việc sử dụng các metaheuristic; và ứng dụng giải thuật mô phỏng luyện kim trong giải quyết bài toán người bán hàng (Traveling Salesman Problem) thông qua một chương trình mô phỏng.

Trang 2

Nh n xét: ậ

Trang 3

Contents

Trang 4

I GIỚI THIỆU CHUNG

1 Bài toán t i u t h p v i metaheuristic: ố ư ổ ợ ớ

Mục đích của bài toán tối ưu tổ hợp là tìm lời giải tốt nhất trong các lời giải có thể và không gian tìm kiếm lời giải của bài toán là rời rạc Nhiều bài toán tối ưu tổ hợp có độ phức tạp tính toán cao và được phân lọai thuộc lớp

NP khó Việc tìm ra lời giải tối ưu cho các bài toán này cho các hệ thống song song lớn nhất cũng không thể hoàn thành được trong giới hạn thời gian cho phép vì vậy các kỹ thuật heuristic cho việc giải các bài toán tổ hợp theo hướng xấp xỉ đã được phát triển để tìm ra các lời giải gần tối ưu (hay xấp

xỉ )trong giới hạn thời gian cho phép Bài toán người du lịch (TSP) là một bài toán cổ điển thuộc lớp NP được nghiên cứu sâu trong lĩnh vực tối ưu tổ hợp

Metaheuristic là một cách gọi chung cho các giải thuật heuristic trong việc giải quyết các bài toán tổ hợp khó Metaheuristic bao gồm những chiến lược khác nhau trong việc khám phá không gian tìm kiếm bằng cách sử dụngnhững phương thức khác nhau và phải đạt được sự cân bằng giữa tính đa dạng và chuyên sâu của không gian tìm kiếm Một cài đặt thành công của metaheuristic trong một bài toán tổ hợp phải cân bằng giữa sự khai thác được kinh nghiệm thu thập được trong quá trình tìm kiếm để xác định được những vùng với những lời giải có chất lượng cao gần tối ưu Những ví dụ của metaheuristic bao gồm giải thuật luyện kim (SA) , giải thuật di truyền (GA) , giải thuật đàn kiến (ACO) ,…Giải thuật đàn kiến là metaheuristic dùng chiến lược của kiến trong thế giới thực để giải bài toán tối ưu SA xuất phát từ phương thức xác suất và kỹ thuật luyện bao gồm việc nung và điều khiển làm nguội các kim loại để đạt được trạng thái năng lượng nhỏ nhất

Trong khi đó giải thuật di truyền dựa trên ý tưởng từ cơ chế di truyền trong sinh học và tiến trình tiến hóa trong cộng đồng các cá thể của 1 lòai

Với độ phức tạp tính toán cao của các bài toán tối ưu tổ hợp cũng như đòi hỏi về mặt thời gian , việc giải các bài toán này yêu cầu cần phải có những cài đặt song song hóa hiệu quả của các giải thuật để giải quyết chúng Song song hóa các giải thuật metaheuristic phải đạt được 2 yêu cầu : đa dạnghóa để khám phá được nhiều vùng trong không gian tìm kiếm và tăng tốc độ tìm kiếm Nhiều mô hình song song hoá đã được đề xuất cho nhiều

metaheuristic ACO và GA đều là các cách tiếp cận dựa trên tập cá thể và vì vậy khá tự nhiên cho việc xử lý song song Tuy nhiên SA thì vốn đã mang tính tuần tự và rất chậm cho các bài toán với không gian tìm kiếm lớn nhưng

Trang 5

vẫn có một vài kỹ thuật song song hóa có thể được áp dụng để tăng tốc độ tìm kiếm.

Trang 6

II BÀI TOÁN NGƯỜI BÁN HÀNG (NGƯỜI DU LỊCH)

1 Gi i thi u bài toán ớ ệ

Bài toán người bán hàng (Travelling Salesman Problem (TSP)) là một

bài toán khá nổi tiếng trong lĩnh vực tối ưu tổ hợp được nghiên cứu trong lý thuyết khoa học máy tính Nội dung của nó khá đơn giản , nó được phát biểunhư sau : Cho một danh sách các thành phố và khoảng cách giữa chúng , nhiệm vụ là phải tìm đường đi ngắn nhất có thể mà chỉ thăm mỗi thành phố đúng 1 lần

Bài toán được lần đầu tiên đưa ra như một vấn đề toán học vào năm

1930 và là một trong số những bài toán được nghiên cứu chuyên sâu trong lĩnh vực tổ hợp thời đó Nó được sử dụng như một sự đánh giá cho nhiều phương thức tối ưu khác nhau Thậm chí bài toán là thuộc lớp NP khó , một lượng rất lớn các heuristic và phương thức tìm kiếm cụ thể đã được biết đến

vì vậy một vài trường hợp của bài toán với khoảng chục nghìn thành phố đã được giải quyết

TSP có một vài ứng dụng thậm chí trong dạng thức nguyên thuỷ của nó như lập kế hoạch , logistic , và sản xuất các microchip Thay đổi đi chút ít nóxuất hiện như một bài toán con trong rất nhiều lĩnh vực như việc phân tích gen trong sinh học Trong những ứng dụng này, khái niệm thành phố có thể thay đổi thành khách hàng, các điểm hàn trên bảng mạch, các mảnh DNA trong gen, và khái niệm khoảng cách có thể biểu diễn bởi thời gian du lịch hay giá thành , hay giống như sự so sánh giữa các mảnh DNA với nhau Trong nhiều ứng dụng, các hạn chế truyền thống như giới hạn tài nguyên haygiới hạn thời gian thậm chí còn làm cho bài toán trở nên khó hơn

Trong lý thuyết của độ phức tạp tính toán, phiên bản quyết định của bài toán TSP thuộc lớp NP-hoàn toàn Vì vậy không có gỉai thuật hiệu quả nào cho việc giải bài toán TSP Hay nói cách khác , giống như thời gian chạy tồi nhất cho bất kỳ giải thuật nào cho bài toán TSP tăng theo hàm mũ với số lượng thành phố, vì vậy thậm chí nhiều trường hợp với vài trăm thành phố cũng đã mất vài năm CPU để giải một cách chính xác

Trang 7

2 L ch s bài toán TSP ị ử

Nguồn gốc của bài toán người du lịch đến nay vẫn chưa rõ ràng Một cuốn sách cho người du lịch từ năm 1832 đã đề cập tới vấn đề và bao gồm vài ví dụ về các đường đi từĐức qua Thụy Sỹ nhưng không chứa đựng ý nghĩa toán học nào

Vấn đề toán học liên quan tới bài toán người du lịch đã được nhắc đến trong những năm 1800 bởi nhà toán học Ireland W R Hamilton và nhà toán học người Anh Thomas Kirkman Trò chơi Icosian Game của Hamilton là một trò đố vui dựa trên cơ sở tìm chu trình Hamilton Dạng tổng quát của bàitoán TSP được nghiên cứu bởi các nhà toán học suốt những năm 1930 ở đại học Harvard, đáng chú ý là Karl Menger người đã định nghĩa bài toán, xem xét giải thuật Brute-force và quan sát thấy tính không tối ưu của heuristic dựa trên láng giềng gần nhất

Hassler Whitney ở đại học Princeton đưa ra tên “Bài toán người bán hàng” ngay sau đó

Trong những năm 1950 và 1960 , bài toán trở nên ngày càng phổ biến trong giới nghiên cứu khoa học ở châu Âu và Mỹ Những đóng góp đáng chú ý được kể đến như George Dantzig, Delbert Ray Fulkerson và Selmer

M Johnson tại RAND CorporationởSanta Monica, những người đã trình bàybài toán như bài toán số nguyên tuyến tính và phát triển phương thức cắt cholời giải của nó Với những phương thức mới này họ đã giải được tối ưu một trường hợp có 49 thành phố bằng cách xây dựng một chu trình và chứng minh rằng không còn chu trình nào ngắn hơn Trong những thập kỷ tiếp theo, bài toán được nghiên cứu bởi rất nhiều nhà nghiên cứu từ toán học , khoa học máy tính , hóa học ,vật lý và những ngành khác

Richard M Karp năm 1972 chứng minh rằng bài toán chu trình Hamiltonthuộc lớp NP-đầy đủ, và qua đó chỉ ra tính NP khó (NP-hardness ) của bài toán TSP Điều này giải thích một cách khoa học cho độ phức tạp tính toán của việc tìm lời giải tối ưu cho bài toán

Nhiều thành tựu đã đạt được trong suốt những năm cuối thập kỷ 1970 và

1980, khi Grötschel, Padberg, Rinaldi và những người khác cố gắng giải một cách chính xác một thể hiện của bài toán với 2392 thành phố, sử dụng phương pháp mặt phẳng cắt và nhánh cận

Trang 8

Trong những năm 1990 Applegate, Bixby, Chvátal, và Cook đã phát

triển chương trìnhConcorde mà đã được sử dụng nhiều trong việc giải các

bài toán TSP cho đến nay Gerhard Reinelt đã công bố thư viện TSPLIB vào năm 1991, đó là một tập các thể hiện của bài toán TSP với nhiều độ khó khác nhau, và đã được sử dụng bởi nhiều nhóm nghiên cứu khác nhau để so sánh kết quả Năm 2005, Cook và những người khác đã tính được độ dài tối

ưu cho chu trình với thể hiện của bài toán TSP lên tới 33,810 thành phố , được lấy ra từ bài toán xây dựng layout cho microchip, cho tới nay vẫn là thểhiện lớn nhất trong các thể hiện ở TSPLIB.Nhiều thể hiện khác với hàng triệu thành phố , lời giải tìm được có thể chứng minh nằm sai khác 1% so với lời giải tối ưu

3 Mô t bài toán TSP ả

Hình 1

Phát biểu bài toán:

Có một người giao hàng cần đi giao hàng tại n thành phố Anh ta xuất phát từ một thành phố nào đó, đi qua các thành phố khác để giao hàng và trở về thành phố ban đầu Mỗi thành phố chỉ đến một lần, và khoảng cách từ một thành phố đến các thành phố khác đã được biết trước Hãy tìm một chu trình sao cho tổng độ dài các cạnh là nhỏ nhất.

TSP có thể được mô hình như một đồ thị , các đỉnh của đồ thị tương ứngvới các thành phố và các cạnh thì tương ứng với đường nối giữa các thành phố, chiều dài của một cạnh tương ứng với khoảng cách giữa 2 thành phố Một đường đi trong bài toán TSP là một chu trình Hamilton trên đồ thị và một lời giải tối ưu của bài toán là chu trình Hamilton ngắn nhất

Thường thì đồ thị là đồ thị đầy đủ , vì vậy mọi cặp cạnh đều được nối bởi các cạnh Đây là bước đơn giản hóa bài toán vì việc tìm chu trình

Hamilton trong một đồ thị đầy đủ là dễ Các bài toán mà không phải 2 thành

Trang 9

phố nào cũng được nối với nhau có thể được chuyển đổi thành đồ thị đầy đủ bằng cách thêm những cạnh có độ dài lớn giữa cách thành phố này , những cạnh sẽ không xuất hiện trong chu trình tối ưu.

4 Phân lo i bài toán ạ

4.1 Đối xứng và bất đối xứng

Trong bài toán đối xứng khoảng cách giữa các thành phố là như nhau theo 2 hướng, vì vậy đồ thị biểu diễn là đồ thị vô hướng Sự đối xứng này làm giảm 1 nửa số lời giải có thể

Trong bài toán bất đối xứng , khoảng cách từ thành phố này đến thành phố khác không nhất thiết phải bằng khoảng cách theo hướng ngược lại, thậm chí co thể không có kết nối theo chiều ngược lại Vì vậy đồ thị biểu diễn bài toán bất đối xứng là đồ thị có hướng Lấy ví dụ mô hình đường một chiều trong giao thông chẳng hạn

4.2 V i kho ng cách là metric ớ ả

Trong bài toán metric TSP khoảng cách giữa các thành phố phải thỏa

mãn điều kiện của bất đẳng thức tam giác Điều này có thể phát biểu rằng đường nối trực tiếp từ A đến B không bao giờ dài hơn đường đi từ A tới B

mà qua C trung gian

Những chiều dài cạnh này định nghĩa một metric trong tập các đỉnh Khi các thành phố được xem như những điểm trên tấm hình, nhiều hàm khoảng cách tự nhiên là các metric ví dụ như :

• Trong bài toán Euclidian TSP khoảng cách giữa 2 thành phố là khoảng cách Euclide giữa hai điểm tương ứng

• Trong bài toán Rectilinear TSP khoảng cách giữa 2 thành phố là tổng haitọa độ x và y của chúng Metric này thường được gọi là khoảng cách

Manhattan haycity-block metric.

• Trongmaximum metric, khoảng cách giữa 2 thành phố là max của độ chênh lêch tọa độ x và y của chúng

Hai metric cuối xuất hiện trong việc định hướng một máy mà đào tập các hố trong mạch in Manhattan metric tương ứng tới máy căn chỉnh tọa độ

Trang 10

thứ nhất rồi tới tọa độ kia, vì vậy thời gian di chuyển tới một điểm mới là tống cả 2 hướng di chuyển Maximum metric tương ứng với máy mà chỉnh

cả 2 tọa độ cùng 1 lúc vì vậy thời gian để di chuyển tới một điểm mới quyết định bởi di chuyển dài hơn

4.3 V i kho ng cách không là metric ớ ả

Khoảng cách không thỏa mãn bất đắng thức tam giác phát sinh trong nhiều bài toán định tuyến Ví dụ trong một kiểu vận tải , như du lịch bằng máy bay có thể nhanh hơn mặc dù khoảng cách di chuyển là xa hơn

5 Các gi i thu t gi i bài toán TSP ả ậ ả

5.1 Các giải thuật để tìm lời giải chính xác

Lời giải trực tiếp nhất có thể là thử tất cả các hoán vị và xem hoán vị nào

là tốt nhất ( dùng brute-force) Thời gian chạy cho cách tiếp cận này là O(n!), vì vậy cách tiếp cận này thậm chí không thể thực hiện với chỉ 20 thành phố Một trong số những ứng dụng mới đây nhất của quy hoạch động

là giải thuật có độ phức tạp O(n22n) và yêu cầu không gian bộ nhớ là hàm mũ

Cải thiện tốc độ cho cách giải thuật trên là hầu như không thể Ví dụ, thậm chí là rất khó tìm một giải thuật chính xác cho bài toán TSP chạy trong

độ phức tạp O(1.9999 n).

Những cách tiếp cận khác bao gồm

• Rất nhiều giải thuật nhánh cận, có thể sử dụng để giải các bài toán TSP với khoảng 40-60 thành phố

• Các giải thuật cải thiện dần dần sử dụng kỹ thuật ghi nhớ lại của lập

trìnhtuyến tính Có thể làm việc tốt cho khoảng 200 thành phố

• Thực hiện nhánh cậnvà cắt cho các bài toán cụ thể , đây là phương thức sử dụng để giải quyết các bài toán với số lượng lớn thành phố Cách tiếp cận này đang giữ kỷ lục hiện tại giải quyết được bài toán TSP với 85,900 thành phố

Lời giải chính xác cho bài toán với 15,112 thành phố ởĐức từ TSPLIB

đã được tìm ra năm 2001 sử dụng phương thức lát cắt đề xuất bởi George Dantzig, Ray Fulkerson, và Selmer Johnsonvào năm 1954, dựa trên lập trìnhtuyến tính Quá trình tính toán đã được thực hiện trong mạng máy tính gồm

Trang 11

110 bộ vi xử lý tại đại học Rice UniversityvàPrinceton University Tổng thời gian tính toán tương đương với 22.6 năm trong một máy đơn vi xử lý tốc độ

500 MHz Vào tháng 5-2004, bài toán người du lịch thăm tất cả 24,978 thành phố ở thụy điển đã được giải quyết : đoạn đường ngắn nhất vào

khoảng 72,500 kilomet đã được tìm thấy và đã được chứng minh rằng không

có đường đi nào ngắn hơn

Vào tháng 3- 2005, bài toán người du lịch với 33,810 điểm trong 1 mạch

in đã được giải quyết sử dung công cụ Concorde TSP Solver: đoạn đường tối

ưu dài 66,048,945 đơn vị đã được tìm thấy và đã được chứng minh không cóđường đi nào ngắn hơn tổng khối lượng tính toán mất khoảng 15.7 năm CPU(Cook et al 2006) Vào tháng 4 năm 2006 một bài toán với 85,900 điểm

cũng đã được giải quyết bởi Concorde TSP Solver, và mất khoảng 136 năm

CPU

5.2 Heuristic và các gi i thu t x p x ả ậ ấ ỉ

Rất nhiều heuristicsvà giải thuật xấp xỉ, có thể đưa ra nhanh chóng lời giải tốt đã được đề xuất Các phương thức hiện đại có thể tìm lời giải cho bàitoán cực lớn (hàng triệu thành phố) trong khoảng thời gian chấp nhận được với lời giải xấp xỉ chỉ khác 2-3% so với lời giải tối ưu

Một vài kiểu heuristic đã được tìm ra

5.2.1 Heuristics xây dựng

Giải thuật láng giềng gần nhất nearest neighbour (NN) (hay còn gọi là giải thuật tham lam greedy algorithm) để cho người du lịch chọn thành phố gần nhất chưa thăm trong lần di chuyển tiếp theo Giải thuật này nhanh chóng đưa ra một đường đi ngắn và hiệu quả Cho khoảng N thành phố phân bố ngẫu nhiêu trên mặt phẳng trung bình giải thuật này đưa ra lời giải

có chiều dài xấp xỉ 1.25 * lần chiều dài của đường đi tối ưu

Tuy nhiên, có nhiều cách sắp xếp đặc biệt các thành phố làm cho giải thuật NN đưa ra đường đi tồi tệ nhất (Gutin, Yeo, and Zverovich, 2002) Điều này đúng cho cả bài toán TSP đối xứng và bất đối xứng (Gutin and Yeo, 2007)

Gần đây một heuristic mới được đưa ra ,Match Twice and Stitch (MTS) (Kahng, Reda 2004 MTS đã cho thấy tính hiệu quả hơn hẳn so với những heuristic xây dựng hiện tại MTS thực hiện hai lần khớp tuần tự , mà lần khớp thứ 2 được thực hiện sau khi xóa tất cả các cạnh của lần khớp thứ nhất,

Trang 12

để đưa ra tập tất cả các chu trình Sau đó chu trình được đóng lại để đưa ra đường đi cuối cùng

5.2.2 Cải tiến từng bước

Chuyển cặp, hay heuristicLin-Kernighan.

Kỹ thuật chuyển cặp hay '2-opt' bao gồm việc lặp lại việc xóa 2 cạnh và thay chúng bằng hai cạnh khác nối đoạn tạo bởi cạnh bị xóa tạo thành đường

di ngắn hơn Đây là trường hợp đặc biệt của phương thức k-opt

k-opt heuristic

Lấy một đường đi và xóa k cạnh đôi một không có điểm chung Xây đựng lại đường đi từ những mảnh còn lại để không có hai mảnh đường đi nào lối với nhau (không nối hai điểm đầu cuối của 2 mảnh với nhau sẽ tạo thành đường đi khép kín) Điều này làm đơn giản hóabài toán TSP thành bài

toán đơn giản hơn rất nhiều Mỗi điểm đầu cuối có thể được nối tới 2k − 2 điểm khác có thể: trong số 2ktổng số điểm đầu cuối có thể, trừ rahai điểm đầu cuối của mảnh đang xem xét Bài toán đơn giản hóa 2k thành phố TSP

có thể giải sử dụng brute force để tìm tổ hợp tốt nhất của các mảnh ban đầu

Kỹ thuật k-opt là trường hợp riêng của kỹ thuât V-opt hay variable-opt Kỹ thuật phổ biến của k-opt là 3-opt, được giới thiệu bởi Shen Lin của Bell Labsvào năm 1965 Có một trường hợp đặc biệt của 3-opt khi mà cách cạnh là

có thể không nhất thiết không có điểm chung (hai trong số các cạnh kề với nhau) Trong thực tế, có thể đạt được những phát triển đáng kể của kỹ thuật 2-opt không nhất thiết phải sử dụng 3-opt bằgn cách giới hạn 3-changes thành trườn hợp riêng với hai cạnh xóa đi nối với nhau Kỹ thuật này được gọi là 2.5-opt nằm giữa 2-opt và 3-opt, hiểu theo cả 2 nghĩa của chất lượng lời giải đạt được và thời gian để tìm được lời giải

V'-opt heuristic

Kỹ thuật variable-opt method giống như , nhưng là sự tông quát hóa của k-opt kỹ thuật Trong khi kỹ thuật k-opt xóa đi một số lựong cố định (k) cạnh từ đường đi ban đầu kỹ thuật variable-opt không xóa đi một số lượng cạnh cố định Thay vì vậy nó phát triển tập này khi quá trình tìm kiếm tiếp tục Phương thức nổi tiếng trong gia đình này là phương thức Lin-Kernighan Shen Lin vàBrian Kernighanlần đầu tiên đưa ra phương thức của họ năm

1972 và nó là heuris tic đáng tin cậy nhát cho việc giải bài toán người du lịchtrong suốt hai thập kỷ Những kỹ thuật tiên tiến hơn được phát triển tại Bell Labs cuối những năm 1980 bởi David Johnson và đội nghiên cứu của ông

Trang 13

Những phương thức này , đôi khi được gọi là Lin-Kernighan-Johnson xây dựng trên phương thức Lin-Kernighan , thêm ý tưởng từ tabu

searchvàevolutionary computing Kỹ thuật cơ sở Lin-Kernighan technique mang lại kết quả được đảm bảo ít nhất là bằn so với 3-opt Phương thức Lin-Kernighan-Johnson tính một đường đi Lin-Kernighan , và sau đó xáo trộn đường đi bằng cách đột biến (xóa ít nhất 4 cạnh và nối lại đường đi bằng cách khác , sau đó thực v-opttrên đường đi mới ) Quá trình đột biến thường

đủ để di chuyển đường đi ra khỏi cục bộ địa phương (local minimum) Kỹ thuật V-opt được xem như một trong số những heuristic mạnh cho bài toán

và có thể giải quyết các trường hợp đặc biệt, như bài toán chu trình Hamilton

và những bài toán TSP không phải metricmà những heuristic khác không giải quyết được

III CHƯƠNG TRÌNH MINH HỌA

1 Thu t toán mô ph ng luy n kim (Simulated Annealing) ậ ỏ ệSimulated annealing (SA) là một thuật toán dựa trên các heuristic về

xác suất, dùng cho một lớp các vấn đề để tìm một một số điều kiện tốt nhất trong một không gian tìm kiếm lớn Nó thường được dùng khi khi không gian tìm kiếm là hữu hạn (chẳng hạn như tất cả đường đi thăm qua tất cả các thành phố cho trước) Đối với một số vấn đề cố định, SA có thể cho hiệu quả tốt hơn cả thuật toán vét cạn, khi mà đơn thuần chỉ cần một kết quả chấpnhận được Thuật toán được nêu ra độc lập bởi Scott Kirkpatrick, C Daniel Gelatt, Mario P Vecchivào năm 1983, và bởi Vlado Černýnăm 1985

Ý tưởng thuật toán

Tên gọi và ý tưởng của thuật toán bắt nguồn từ kỹ thuật luyện kim trong ngành luyện kim, một kỹ thuật sử dụng một cách khéo léo việc nung nóng rồi làm nguội vật liệu kim loại nhằm làm tăng kích thước và giảm những chỗkhuyết, lõm của chúng Nhiệt độ làm cho các nguyên tử trong vật liệu trở nên mất liên kết và rời khỏi vị trí ban đầu của chúng và di chuyển ngẫu nhiên vào những nơi có năng lượng cao hơn; còn việc làm nguội sẽ làm tăng khả năng nhận được một trạng thái có nội năng thấp hơn so với ban đầu.Tương tự như quá trình vật lý của kỹ thuật trên, từng bước của thuật toán

SA cố gắng thay thế các giải pháp hiện tại bằng một giải pháp ngẫu nhiên (lựa chọn theo một danh sách phân phối của các ứng cử viên, thường được xây dựng từ các giải pháp gần với giải pháp hiện tại đang xét), các giải pháp mới sau đó có khả năng được chấp nhận dựa trên một xác suất, quyết định bởi sự khác biệt của giá trị một hàm tương ứng và một tham số toàn cục T

Trang 14

(gọi là nhiệt độ - Temperature) giảm dần trong suốt thuật toán thực hiện Sự phụ thuộc này cũng như việc lựa chọn giữa giải pháp trước đó và giải pháp hiện tại hầu như là ngẫu nhiên khi T lớn, tuy nhiên sẽ cho kết quả chọn lựa tốt hơn khi T giảm dần về 0, cũng như trong việ luyện kim, khi nhiệt độ cao, các nguyên tử chuyển động hỗn độn theo một tốc độ và tần suất lớn, tuy nhiên nhiệt độ càng giảm thì các nguyên tử càng ít chuyển động dần đi.

Tổng quát:

Trong thuật toán SA, mỗi điểm s của không gian tìm kiếm là tương tự với một trạng thái của một số hệ thống vật lý, và hàm E(s) tượng trưng cho nội năng của hệ thống trong trạng thái đó

Tại mỗi bước, quy tắc heuristic sẽ xem xét và đưa ra một số trạng thái kềs’ của trạng thái hiện tại s, và xác suất quyết định giữa thay đổi hệ thống sang trạng thái s’ hay là vẫn tiếp tục giữ trạng thái s Những xác suất này đưa

hệ thống tới trạng thái có năng lượng thấp hơn Bước này sẽ được lặp đi lặp lai cho đến khi hệ thống đạt được một trạng thái đủ tốt, hoặc cho đến khi không thể tiếp tục

Ta xét bài toán TSP với 6 thành phố {1, 2, 3, 4, 5, 6}, thì một trạng thái được hiểu là một hoán vị của 6 thành phố trên, mà mỗi hoán vị thể hiện cho một cách đi Chẳng hạn hoán vị {1, 2, 3, 4, 5, 6} thể hiện cho cách đi 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 1, tương tự hoán vị {1,3,2,6,4,5} thể hiện một cách đi

từ 1 -> 3 - > 2 -> 6 -> 4 -> 5-> 6

Những trạng thái kề của một hóan vị là những hoán vị được sinh ra chẳng hạn như từ việc tráo đổi vị trí của một cặp thành phố kề nhau trong hoán vị đó Hành động thay đổi giải pháp để tìm ra giải pháp lân cận được gọi là di chuyển (move) và các move khác nhau sẽ cho các giải pháp lân cận khác nhau

Việc tìm kiếm những lân cận của một trạng thái là cơ bản cho việc tối ưu

vì lời giải cuối cùng có được sau một tour lần lượt các lân cận Heuristic

Ngày đăng: 08/01/2022, 09:29

🧩 Sản phẩm bạn có thể quan tâm

w