tavlama benzetimi algoritması - fırat...

19
(Simulated Annealing) BMÜ-579 Benzetim ve Modelleme Yrd. Doç. Dr. İlhan AYDIN Tavlama Benzetimi Algoritması

Upload: others

Post on 27-May-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

(Simulated Annealing)

BMÜ-579 Benzetim ve Modelleme

Yrd. Doç. Dr. İlhan AYDIN

Tavlama Benzetimi Algoritması

Tavlama Benzetimi

• Stokastik arama yöntemidir.

• Katıların fiziksel tavlanma süreci ile olan benzerlikten ileri gelmektedir.

– Katıların ısıtılması ve sonra yavaş yavaş soğutulması esasına dayanır.

• Kirkpatrick ve arkadaşları tarafından 1983 yılında önerilmiştir.

Tavlama• Malzemeyi belirli bir süre (tavlama sıcaklığına

kadar) ısıttıktan sonra, yavaş yavaş soğutmaktır.Tavlama malzemeyi rahatlatmak, yumuşatmakve iç yapıyı daha kullanılabilir hale getirmek içinyapılan ısıl işlemlerin geneline verilen addır.

Sıc

aklı

k (

T)

Zaman (t)Isıtma Bekleme Soğutma

ısıl İşlem

Tavlama• Isıl işlem, bir katının sıcaklığının belirli bir

maksimum dereceye kadar artırılarak tekrarazaltılması işlemidir.

• Maksimum sıcaklıkta kristalin tüm molekülleri,kendilerini rasgele olarak sıvı faza ayarlar.

• Sonra, erimiş kristalin sıcaklığı kristal yapısoğutuluncaya kadar düşürülür.

• Soğuma uygun şekilde yapılırsa kristal yapı çokdüzenli olur.

• Tavlama Benzetimi, İniş Algoritmasının(Descent Algorithm) iyileştirilmiş halidir.

İniş Algoritması• Rasgele seçilen bir çözüm ile aramaya başlanır.

• Komşu çözüm oluşturulur ve amaçfonksiyonundaki değişim hesaplanır.

• Eğer amaç fonksiyonunda azalma söz konusu ise(minimisazyon problemi için), komşu çözümmevcut çözüm olarak kabul edilir.

• Bu süreç, amaç fonksiyonunda mevcut çözümünhiçbir komşusu iyileşme sağlamayana kadardevam eder ve algoritma yerel bir eniyi (localminimum/maximum) ile sonlanır.

Tavlama Benzetimi

• Tavlama Benzetiminde, amaç fonksiyonundaartışa neden olabilecek komşu hareketlerbazen kabul edilerek yerel eniyi noktalarındankurtulmak mümkündür.

• Amaç fonksiyonunda artışa neden olabilecekbu komşu hareketin kabul edilip edilmemesi,rassal olarak belirlenmektedir.

Tavlama Benzetimi

• Amaç fonksiyonunda Δ kadar bir yükselmeyeyol açan hareketin kabul edilme olasılığınıveren fonksiyon kabul fonksiyonu olarakadlandırılır.

Boltzmann dağılımı( )komşu çözüm mevcut çözüm

Tavlama Benzetimi• Sıcaklık yüksek olduğunda, amaç

fonksiyonunda artışa neden olabilecekhareketlerin kabul edilme olasılığı çok yüksekolacak, sıcaklık düştükçe bu olasılık daazalacaktır. Bu sebeple, aramaya yeteri kadaryüksek bir sıcaklık değeri ile başlamakgereklidir.

• Algoritmada, sıcaklık yavaş yavaş azaltılırken,her sıcaklık değerinde belli sayıda hareketdeneyerek arama işlemi sürdürülür.

Tavlama Süreci Kombinatoryel Eniyileme

Sistemin durumları Uygun çözümler

Enerji Amaç fonksiyonu değeri

Durumun Değişimi Komşu çözüm

Tavlama Benzetimi Akış Şeması

Pseudo-code

Tavlama Benzetimi Uygulaması

• Probleme ait kararlar

• Algoritmaya ait kararlar

Probleme ait kararlar

• Çözümler için uygun bir gösterim

• Amaç fonksiyonunun tanımlanması

• Başlangıç çözümünün seçilmesi

• Komşu çözümleri üretmek için komşu üretme mekanizmasının belirlenmesi

Algoritmaya ait kararlar

• Başlangıç sıcaklığının belirlenmesi.

• Soğutma oranı ve sıcaklık değiştirme kuralınıntanımlanması.

• Her sıcaklıkta gerçekleştirilecek iterasyonsayısının tanımlanması.

• Aramanın durdurulması için durdurmakriterinin belirlenmesi.

Her sıcaklıkta gerçekleştirilecek iterasyonsayısının tanımlanması

Sıcaklık Azaltma Fonksiyonu

Algoritmanın durdurulması

• Belirlenen maksimum iterasyona ulaşılması.

• Belirlenmiş minimum sıcaklığa ulaşılması.

• İstenen kriterleri sağlayan çözüme ulaşılması.

Örnek 12

2

( ) , 1

( ) ( 3) ,

f x x eğer x

f x x değilse

( ) 4 2j i i

0 ile 1 arasında rassal sayı.

Komşu seçme fonksiyonu

Soğuma fonksiyonu ( ) 0.8t t

Başlangıç sıcaklığı: T=80