Thuật toán lai Mạng Noron Hopfield và mô phỏng luyện kim

Một phần của tài liệu Một số thuật toán giải bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất (Trang 53 - 55)

(HNNSA):

Mô phỏng luyện kim (SA) đã đƣợc áp dụng rộng rãi để giải quyết vấn đề tối ƣu hóa tổ hợp. Nó đƣợc áp dụng từ quá trình vật lý là làm nóng một chất và sau đó làm lạnh từ từ, cho đến khi thu đƣợc một cấu trúc kết tinh bền vững. Quá trình này đƣợc mô phỏng bằng cách hạ thấp nhiệt độ ban đầu một cách từ từ cho đến khi hệ thống đạt đến một điểm cân bằng, và không có nhiều thay đổi xảy ra. Mỗi giai đoạn của quá trình bao gồm thay đổi nhiều lần cấu hình, cho đến khi một trạng thái cân bằng nhiệt đƣợc đạt tới, sau đó bắt đầu một giai đoạn mới, với nhiệt độ thấp hơn. Mong muốn giải pháp thu đƣợc là cấu hình trong giai đoạn cuối cùng.

Trong tiêu chuẩn SA, những thay đổi cấu hình đƣợc thực hiện theo cách sau: một cấu hình ban đầu đƣợc xây dựng bởi một sự thay thế ngẫu nhiên. Nếu thu đƣợc cấu hình mới tốt hơn, khi đó sẽ đƣợc thay thế cấu hình hiện tại, nếu không xẽ thể thay thế cấu hình hiện tại theo xác suất. Đây là khả năng thay thế cao trong giai đoạn đầu tiên của thuật toán, và đƣợc giảm trong mỗi giai đoạn. Các giải pháp đƣợc tìm thấy bởi SA có thể đƣợc coi là 1 giải pháp "đủ tốt", nhƣng nó không đảm bảo là tốt nhất (Vì vậy việc áp dụng phƣơng pháp lai mạng Nơ ron Hopfield và Giải thuật di truyền để giải quyết các

TSAP là giải pháp khả thi). Mục tiêu cuối cùng là thu đƣợc cấu hình liên quan đến SA và là giải pháp khả thi choTSAP. SA sẽ tìm kiếm các giải pháp khả thi nhất đối với một hàm chi phí nhất định, trong trƣờng hợp này là hàm chi phí tiêu chuẩn choTSAP.

Các thành phần quan trọng nhất trong thuật toán SA là: Hàm mục tiêu xẽ đƣợc giảm thiểu trong quá trình xử lý, miêu tả cho các giải pháp đã lựa chọn là đột biến hoặc thay đổi cấu hình. Mô tả vấn đề là sự phân công ma trận X và sự thay đổi từ một cấu hình đến một cấu hình khác thông qua các tiêu chuẩn đột biến lật của một số cho trƣớc Nf của các bit trong X.

Thuật toán đầy đủ cho TSAP, đƣợc hình thành bởi SA và HNNđƣợc thực hiện theo cách sau:

HNNSA algorithm:

k = 0;

T = T0;

Initialize a potential solution at random; Run the HNN to obtain X;

evaluate (X, f (X));

if X is not feasible, apply a penalty to f (X).

repeat

for j = 0 to 𝝃

Xmut = mutate(X);

Run the HNN to obtain X;

evaluate(Xmut, f (X));

if X is not feasible, apply a penalty to f (X).

if((f (Xmut)<f(X)) OR (random(0, 1)<𝑒(−𝛼𝑇))) then

X = Xmut ;

endfor

T = fT (T0, k);

k = k + 1;

until (T <Tmin);

Trong đó k đếm số lần lặp đã thực hiện; T là nhiệt độ hiện tại , T0 là nhiệt độ ban đầu, Tmin là nhiệt độ tối thiểu để đạt đƣợc; X là cấu hình hiện tại

và Xmut là cấu hình mới sau khi toán tử đột biến đƣợc áp dụng; f thể hiện

cho hàm chi phí (xem mục 1.2.1), 𝝃 là số lần thay đổi đƣợc thực hiện cho một nhiệt độ T ; fT Hàm nhiệt độ, và là một hằng số. Các thông số và nhiệt độ T0 ban đầu đƣợc lựa chọn để có một xác suất chấp nhận ban đầu khoảng 0.8, đây là giá trị thƣờng đƣợc sử dụng. Hàm nhiệt độ đƣợc định nghĩa là:

𝒇𝑻 = 𝑻𝟎

𝟏+𝒌 (3.5)

Nhiệt độ tối thiểu Tmin đƣợc tính trên cơ sở số lần lặp đi lặp lại (numIt) cũng nhƣ:

𝑇𝑚𝑖𝑛 = 𝑓𝑇(𝑇0, numIt) (3.6) (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Một số thuật toán giải bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất (Trang 53 - 55)