c. Sản xuất theo dự án: (Open shop)
2.5.5. Thuật toán mô phỏng luyện kim (Simulated Annealing):
Mô phỏng luyện kim (SA) là một thuật toán xác suất tối ưu hóa vấn đề, phát minh bởi Kirkpatrick et al. vào năm 1983 [16] và Cerny vào năm 1985 [7].SA là sự
khái quát của một phương pháp Monte Carlo cho khảo sát các phương trình của trạng thái và các trạng thái đông lạnh của hệ thống vật thể. Tên và cảm hứng đến từ
quá trình nung được sử dụng trong luyện kim. Luyện kim là một xử lý nhiệt làm thay đổi cấu trúc vi mô của vật liệu. Sau khi được đun nóng, vật liệu được làm lạnh từ từ thành một cấu trúc thống nhất với những thay đổi trong thuộc tính cường độ
và độ cứng.
Với nhiệt, các nguyên tử di chuyển từ vị trí ban đầu của chúng (tối thiểu địa phương của năng lượng bên trong ) và di chuyển ngẫu thông qua các trạng thái năng lượng cao hơn.Việc làm mát chậm chạp làm tăng nguy cơ của việc tìm kiếm một cấu hình với năng lượng nội bộ thấp hơn so với ban đầu. Trong giải thuật SA, các giải pháp ban đầu được thay thế bằng một giải pháp lân cận được lựa chọn theo một quy luật xác suất. Các phương trình năng lượng cho hệ thống nhiệt động lực học
1. Chọn một lời giải ban đầu s ∈ S; 2. Best:= c(s);
3. s*:=s;
4. Tabu_list:=∅; 5. Lặp
6. Cand(s):={ s’ ∈ N(s) | phép di chuyển từ s đến s’ không nằm trong danh sách tabu hoặc s’ thỏa tiêu chí tham vọng};
7. Tạo lời giải ∈ Cand (s); 8. Cập nhật danh sách tabu; 9. s:= ; 10.Nếu c(s) < best thì 11. s*:=s; 12. Best:= c(s); 13.Kết thúc nếu;
tương tự với chức năng khách quan của vấn đề tổ hợp, và mặt bằng trạng thái là tương tự với mức tối thiểu.
Giải thuật Simulated Annealing:
Trong thuật toán, ký hiệu random[0,1] tượng trưng cho một hàm số tạo một giá trị ngẫu nhiên giữa 0 và 1. Ngoài ra, dãy {ci} được tạo ra bời hàm số g, nghĩa là ci+1 = g(ci), ∀i. một trong những điều kiện dừng thuật toán là sau một lượng thời gian tính toán cho trước.