SEARCH
S I M U L ATED A N N EA LING
BEST F I RST S EA RCH
G R E EDY BEST F I RST S EARCH
Konsep Berfikir Simulated
Annealing
Dalam grafik terlihat penurunan energi mengalami fenomena sedikit
aneh. Pada saat temperatur T1, ada kecenderungan energi tidak mau
turun. Tetapi dengan sedikit pergeseran dari nilai T1 penurunan energi
terjadi sampai dengan nilai T2, hal ini terjadi juga pada kasus T2, dst
sampai terjadi suatu kondisi dimana nilai energi tidak lagi mengalami
penurunan biarpun nilai T terus ebrtambah.
Kondisi E pada T1 dinalogikan sebagai titik local optimum 1, sedangkan
pada saat T2 dianalogikan sebagai local optimum 2.
Konsep Optimasi dijalankan dengan cara merubah (menaikkan) nilai T
untuk mendapatkan suatu kondisi dimana E menurun, dan dilakukan
terus menerus sampai suatu kondisi dimana perubahan T tidak
berpengaruh pada nilai E, atau dikatakan suatu global optimum sudah
dicapai.
Simulated Anneling
SA memanfaatkan analogi cara pendinginan dan
pembekuan metal menjadi sebuah kristal dengan
energi yang minimal.
SA menggunakan sebuah rumus probabilitas yang
memungkinkannya bisa keluar dari local minimum.
Ketika new state tidak lebih baik dari current state,
maka new state tersebut masih mungkin dipilih
dengan probabilitas sebagai berikut:
p(E) = e-E/T ……………(4.1)
Algoritma Simulated Annealing
1. Evaluasi initial state. Jika state ini adalah goal state, maka kembalikan state ini sebagai solusi
dan keluar dari program. Jika state ini bukan goal state, lanjutkan proses dengan initial state
sebagai current state.
2. Inisialisasi BEST-SO-FAR dengan current state.
3. Inisialisasi T sesuai dengan annealing schedule.
4. Ulangi sampai solusi ditemukan atau sampai tidak ada lagi operator baru yang dapat
diaplikasikan terhadap current state:
a) Pilih sebuah operator yang belum diaplikasikan terhadap current state dan aplikasikan
operator tersebut sehingga menghasilkan new state.
b) Evaluasi new state. Hitung:
E = f(current state) – f(new state)
I. Jika new state adalah goal state, maka kembalikan state ini sebagai solusi dan
keluar dari program.
II. Jika new state bukan goal tetapi lebih baik daripada current state (E > 0), maka
set current state ke new state. Juga set BEST-SO-FAR ke new state.
Algoritma Simulated Annealing
III. Jika new state tidak lebih baik daripada current state (E ≤ 0), maka set
current state ke new state dengan probabilitas p seperti didefinisikan
oleh persamaan 4.1 di atas. Langkah ini biasanya diimplementasikan
dengan membangkitkan sebuah bilangan acak dalam interval [0,1]. Jika
bilangan tsb kurang dari p, maka set current state ke new state. Jika
bilangan tersebut lebih besar dari p, maka jangan mengerjakan apa
pun.
c) Jika diperlukan, revisi nilai T berdasarkan annealing schedule.
5. Kembalikan BEST-SO-FAR sebagai solusi.
Inisialisasi T sesuai dengan
annealing schedule.
Ada 3 hal yang perlu diperhatikan dari algoritma simulated annealing :
1. Nilai awal untuk Temperatur (T0). Nilai T0 biasanya ditetapkan cukup
besar (tidak mendekati nol). Biasanya T0 ditetapkan 2 kali panjang suatu
jalur yang dipilih secara acak.
2. Kriteria yang digunakan untuk memutuskan apakah temperatur
sistem seharusnya dikurangi atau tidak.
3. Berapa besarnya pengurangan temperatur dalam setiap waktu.
Contoh :