Simüle edilmiş tavlama algoritmasında başlangıç ​​sıcaklığı


14

Benzetme tavlama algoritmamda farklı başlangıç ​​sıcaklıkları üzerinde bazı testler yaptım ve başlangıç ​​sıcaklığının algoritmanın performansı üzerinde bir etkisi olduğunu fark ettim.

İyi bir başlangıç ​​sıcaklığı hesaplamanın herhangi bir yolu var mı?


2
Başlangıç ​​sıcaklığı, problemin etki alanı ve algoritmanın gradyan iniş kısmı için kullandığınız diğer parametrelerle çok ilgilidir. Daha fazla bağlam verebilir misiniz?
dhj

Yanıtlar:


9

0.8tmaxtmintδtEmaxtEmintπmint1|N(mint)|t

πi=|N(i)|exp(Ei/T)j|N(j)|exp(Ej/T)
; burada , komşu kümesini belirtir .N(i)i

Son olarak, olumlu bir geçiş kabul etme olasılığıdır . Şimdi, bir tahmin olabilir onama olasılığı arasında "rastgele" seti dayalı olumlu geçişlerin:exp(δt/T)tχ^χ(T)S

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

Biz bir sıcaklık bulmak istediğiniz öyle ki , nerede arzuladığımız kabul olasılığıdır.T0χ(T0)=χ0χ0]0,1[

T0 , yinelemeli bir yöntemle hesaplanır. Bazı eyaletler ve her eyalet için bir komşu üretilir. Bu bize geçişler bir dizi verir . altkümesinin durumlarına karşılık gelen ve enerjileri depolanır. Daha sonra için herhangi bir pozitif değer olabilecek bir değer seçilir. Daha sonra özyinelemeli formülle bulunurSEmaxtEmintST1T0

Tn+1=Tnln(χ^(Tn))ln(χ0)1/p
; burada gerçek bir sayıdır .p1

Ne zaman alır yakın biz durdurabiliriz. hemen istediği başlangıç sıcaklığı arasında iyi bir yaklaşımdır . Daha fazla açıklama, prova ve tartışma için lütfen orijinal makalenin ilk bölümüne bakın [1].χ^(Tn)χ0TnT0


[1] Ben-Ameur, Walid. "Simüle edilmiş tavlamanın başlangıç ​​sıcaklığının hesaplanması." Hesaplamalı Optimizasyon ve Uygulamalar 29, no. 3 (2004): 369-385'te açıklanmaktadır.


3

bu çok sıkı optimumlar elde etmekle ilgili çok gelişmiş bir konudur. benim anlayışım, başlangıç ​​sıcaklığı genellikle derin araştırmaların yapıldığı bir "sıcaklık programı" stratejisinin bir parçası olarak kabul edilir. başka bir deyişle, hem başlangıç ​​sıcaklığı koşulu hem de sıcaklık azaltma algoritması (bahsetmediğiniz) genel optimizasyon sonuçlarını etkiler. her ikisi için de basit stratejiler veya sezgisel tarama genellikle iyi veya "yeterince iyi" sonuçlar verir.

bununla birlikte, sadece başlangıç ​​sıcaklığını inceleyen en az bir makale vardır. [1] Sonuç olarak, çok ileri bir iş yapmadığınız sürece, başlangıç ​​sıcaklığını sorunun bir parametresi olarak ele almak ve [gerçekten sonuçları etkilediğini bulduktan sonra] genel optimizasyonun bir parçası olarak farklı başlangıç ​​sıcaklıkları üzerinde tekrarlamak çok makul ve muhtemelen yaygın bir uygulamadır.

ya da, sadece iyi sonuçlar veren bir başlangıç ​​sıcaklığının seçilmesi bile yaygındır (biraz şaşırtıcı gibi görünebilir ve çoğu zaman problem örneği optimizasyon sonuçları deneme-yanılma tarafından bulunan "daha iyi" bir başlangıç ​​sıcaklığı parametresinden önemli ölçüde farklı olabilir) . dhj'nin işaret ettiği gibi, bazı problemler başlangıç ​​sıcaklığına diğerlerinden daha duyarlı olacaktır.

[1] Benzetilmiş Tavlama Başlangıç ​​Sıcaklığının Hesaplanması Ben-Ameur 2004

[2] Verimli Benzetilmiş Tavlama Programı: Türev Lam & Delosme

[3] Simüle tavlama Munakata & Nakamura için sıcaklık kontrolü


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.