Tham khảo tài liệu 'các mô hình mạng 2', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | thể chứng minh được quá trình SA sẽ hội tụ theo xác suất về lời giải tối ưu toàn cục như sau Bước khởi tạo Ta xuất phát từ một phương án X bất kì ban đầu thoả điều kiện ràng buộc. Lấy nhiệt độ T Tban đầu khá cao Tban đầu 10000 chẳng hạn . Các bước lặp Tại mỗi mức nhiệt độ T thực hiện các bước sau i Chọn X e D và thuộc một lân cận đủ nhỏ của X. ii Xét Af f X - f X . Nếu Af 0 thì đặt X X . Nếu trái lại khi Af 0 thì chấp nhận X X với xác suất p exp -Af Kb X T trong đó Kb là hằng số Boltzmann Kb 1 T là nhiệt độ hiện thời trong quá trình nguội. Quy trình i và ii lặp lại một số lần L đủ lớn chẳng hạn L 200 300 . . Sau đó tính mức nhiệt độ mới theo công thức T aT a 1 chẳng hạn như a 0 95 hay 0 99. . Thuật toán dừng khi T Tcuối Tcuối là giá trị đã chọn trước 0 . Sau đây là văn bản chương trình Su dung ky thuat simulated annealing - mo phong toi luyen giai bai toan toi uu toan cuc co rang buoc include include include include Tinh gia tri ham so can cuc tieu hoa float f float x float y float fg 4 pow x 2 pow x 4 pow x 6 3 fg fg x y -4 pow y 2 4 pow y 4 return fg Kiem tra cac dieu kien rang buoc int constraint float x float y Trường Đại học Nông nghiệp Hà Nội - Giáo trình Vận trù float fg fg x if fg 0 goto ZERO fg - x if fg 0 goto ZERO fg y if fg 0 goto ZERO fg - y if fg 0 goto ZERO return 1 ZERO return 0 Thu tuc tim diem thay the mo phong qua trinh annealing void sa float x0 float y0 int k float T float Tlast float alfa float delta float x1 y1 deltaf u p ux uy int l 1 srand 27556 printf n starting value of the function f f x0 y0 getch printf n obtained at x f y f x0 y0 getch do do ux float random 10000 x1 x0-delta ux uy float random 10000 y1 y0-delta uy if constraint x 1 y1 1 deltaf f x1 y1 -f x0 y0 if deltaf 0 x0 x1 y0 y1 else u float random 10000 10000 p exp -deltaf T if u p x0 x1 yO y1 l l 1 while l k T T alfa while T Tlast printf n Optimal value fMin f f x0 y0 getch .