Sơ đồ của giải thuật mô phỏng tôi luyện

Một phần của tài liệu kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu (Trang 35 - 37)

Thông thường, giải thuật SA xuất phát từ một điểm ngẫu nhiên X0 trong khơng gian tìm kiếm của bài tốn tối ưu hóa và nhiệt độ ban đầu T0 cao. Nhiệt độ ban đầu được xác lập ở pha khởi tạo sao cho mọi chuyển dịch trạng thái đều được chấp nhận. Ở đây cần phải tạo ra cơ chế sản sinh phụ thuộc vào nhiệt độ Tk nhằm mục đích tạo ra tập các điểm lân cận Rj của điểm hiện tại i. Các điểm lân cận j Ri được chọn một cách ngẫu nhiên để trở thành điểm hiện tại cho bước lặp tiếp theo. Điểm có giá trị hàm giá Cj nhỏ hơn giá trị hàm giá của điểm hịên tại Ci luôn được chấp nhận và điểm có giá trị hàm giá lởn hơn sẽ được chấp nhận với xác suất

Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 36 k T j i C e i k X j i X P , 1 , Trong đó : Ci,j = Cj - Ci

Tk: nhiệt độ tôi luyện hiện tại.

Điều đáng lưu ý là hằng số Boltzman kB được gán giá trị bằng 1.

Quá trình sản sinh điểm tìm kiếm mới và việc sử dụng tiêu chuẩn Metropolis sẽ được tiếp tục cho đến khi cân bằng nhiệt được thiết lập tại nhiệt độ hiện tại. Nhiệt độ sau đó giảm xuống theo một phương thức được định trước. Hệ thống lại đạt được cân bằng tại nhiệt độ mới và tiếp tục được lặp lại cho đến khi nhiệt độ đạt tới giá trị, tại đó khơng một chuyển dịch trạng thái nào được chấp nhận. Tại điểm này, hệ thống được coi là đóng băng và giải

thuật kết thúc. Điểm tìm kiếm có giá trị hàm giá nhỏ nhất được trả về như lời giải của giải thuật SA. Một lịch trình tơi luyện của giải thuật SA bao gồm 4

nhân tố là:

> Nhiệt độ tôi luyện ban đầu T0,

> Số lần sản sinh điểm tìm kiểm mới cần thiết để đạt cân bằng nhiệt tại nhiệt độ tôi luyện L(T)

> Hàm giảm nhiệt độ tôi luyện T(k) và

> Điều kiện dừng của giải thuật.

Sơ đồ tổng thể của giải thuật SA được mô tả như sau. Thủ tục SA () { /* Tối thiểu hàm */

// Khởi động điểm tìm kiếm Xi =X0 một cách ngẫu nhiên.

// Khởi động một nhiệt độ ban đầu Tk = T0 cao để mọi dịch chuyển đều

// Chấp nhận được k =0; Khỏi _động (Xi,Tk);

Số hóa bởi trung tâm học liệu http://www.lrc-tnu.edu.vn/ 37 Xbest =Xi;

do { do {

// Tạo ra điểm tìm kiếm mới Xj từ điểm tìm kiếm hiện tại // và tính độ chênh lệch hàm giá Ci,j

Xj = sản_sinh (Xi,Tk); Ci,j = C(Xj)-C(Xi);

// Sử dụng tiêu chuẩn Metropolis để chấp nhận hay loại bỏ điểm Xj // random () là hàm sinh số ngẫu nhiên với phân bố đều

// trong khoảng (0,1). )) , ) 1 , 0 ( ( ll ) 0 , (( k T j i C e random j i C f I { Xi=Xj ;

// Nếu giá trị hàm giá của Xi nhỏ hơn giá trị hàm giá của Xbest // thay thế lời giải

if (C(Xi) < C(Xbest)) Xbest = Xi; }

} while (cân bằng nhiệt chưa đạt);

// Giảm nhiệt độ theo lịch trình tơi luyện

Tk+1 = giảm(Tk);

k = k+1;

} while (điều kiện dừng chưa đạt); /* Trả về lời giải của giải thuật

SA*/ }

Một phần của tài liệu kết hợp một số phương pháp heuristic giải bài toán tối ưu đa mục tiêu (Trang 35 - 37)

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

(58 trang)