Nhiệt độ ban đầu trong thuật toán ủ mô phỏng


14

Tôi đã thực hiện một số thử nghiệm về nhiệt độ ban đầu khác nhau trong thuật toán ủ mô phỏng của mình và nhận thấy nhiệt độ bắt đầu có ảnh hưởng đến hiệu suất của thuật toán.

Có cách nào để tính toán nhiệt độ ban đầu tốt không?


2
Nhiệt độ ban đầu có liên quan nhiều đến miền vấn đề và các tham số khác mà bạn đang sử dụng cho phần gốc của thuật toán. Bạn có thể cho thêm bối cảnh?
dhj

Câu trả lời:


9

0.8tmin t δ t E max t - E min t π min t 1maxtmintδtEmaxtEminttπmint1|N(mint)|t

πi=|N(i)|exp(Ei/T)j|N(j)|exp(Ej/T)
, trong đó N(i) biểu thị tập hợp các lân cận của i .

Cuối cùng, exp(δt/T) là xác suất chấp nhận chuyển đổi tích cực t . Bây giờ, chúng ta có thể có ước tính χ^ về xác suất chấp nhận χ(T) dựa trên tập hợp "ngẫu nhiên" S của các chuyển tiếp tích cực:

χ^(T)=tSπmint1|N(mint)|exp(δt/T)tSπmint1|N(mint)|=tSexp(Emaxt/T)tSexp(Emint/T).

Chúng tôi muốn tìm nhiệt độ sao cho , trong đó là xác suất chấp nhận mà chúng tôi mong muốn. χ ( T 0 ) = χ 0 χ 0] 0 , 1 [T0χ(T0)=χ0χ0]0,1[

S E max t E min t S T 1 T 0T0 được tính toán bằng phương pháp lặp. Một số tiểu bang và một hàng xóm cho mỗi tiểu bang được tạo ra. Điều này cho chúng ta một bộ chuyển . Các năng lượng và tương ứng với các trạng thái của tập hợp con được lưu trữ. Sau đó, một giá trị cho được chọn, có thể là bất kỳ giá trị dương nào. sau đó được tìm thấy với công thức đệ quySEmaxtEmintST1T0

Tn+1=Tnln(χ^(Tn))ln(χ0)1/p
, trong đó là số thực .p1

Khi gần với chúng tôi có thể dừng lại. hiện là một xấp xỉ tốt của nhiệt độ ban đầu mong muốn . Để biết thêm chi tiết, bằng chứng và thảo luận, vui lòng xem phần đầu tiên của bài báo gốc [1].χ^(Tn)χ0TnT0


[1] Ben-Ameur, Walid. "Tính toán nhiệt độ ban đầu của quá trình ủ mô phỏng." Tối ưu hóa tính toán và ứng dụng 29, không. 3 (2004): 369-385.


3

đây là một chủ đề rất tiên tiến liên quan đến việc tối ưu hóa rất chặt chẽ. Theo hiểu biết của tôi, nhiệt độ ban đầu thường được coi là một phần của chiến lược "lịch trình nhiệt độ" có một số nghiên cứu sâu. nói cách khác, cả điều kiện nhiệt độ ban đầu và thuật toán phân rã nhiệt độ (mà bạn không đề cập) đều ảnh hưởng đến kết quả tối ưu hóa tổng thể. chiến lược đơn giản hoặc chẩn đoán cho cả hai thường mang lại kết quả tốt hoặc "đủ tốt".

tuy nhiên có ít nhất một bài báo chỉ nghiên cứu nhiệt độ ban đầu. [1] điểm mấu chốt là trừ khi bạn đang làm công việc rất tiên tiến, coi nhiệt độ ban đầu là một thông số của vấn đề và lặp lại ở các nhiệt độ ban đầu khác nhau như một phần của tối ưu hóa tổng thể [sau khi thấy rằng nó thực sự ảnh hưởng đến kết quả] là rất hợp lý và một thực tế có thể phổ biến rộng rãi.

hoặc, thậm chí chỉ chọn nhiệt độ ban đầu cho kết quả tốt cũng rất phổ biến (có vẻ hơi ngạc nhiên và không thường xuyên là kết quả tối ưu hóa vấn đề thay đổi đáng kể so với thông số nhiệt độ ban đầu "tốt hơn" được tìm thấy bởi thử và sai) . như dhj đã chỉ ra một số vấn đề sẽ nhạy cảm hơn những vấn đề khác với nhiệt độ ban đầu.

[1] Tính toán nhiệt độ ban đầu của mô phỏng luyện kim Ben-Ameur 2004

[2] Lịch trình ủ mô phỏng hiệu quả: Xuất phát Xuất phát Lam & Delosme

[3] Kiểm soát nhiệt độ cho mô phỏng ủ Munakata & Nakamura


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.