Tulisan ini adalah lanjutan tulisan sebelumnya. Pada bagian kedua ini, kita akan lebih membahas lebih jauh tentang algoritma SA. SA memiliki banyak varian, tetapi untuk kali ini kita fokuskan pada algoritma SA yang paling simpel dan paling umum digunakan.
Hal paling awal, dan paling penting adalah menentukan desain solusi yang tepat. Dalam SA, sebuah solusi dikenal dengan istilah State. Suatu state perlu memiliki ukuran apakah baik atau tidaknya state tersebut. Ukuran baik atau tidaknya state tersebut dinyatakan denan Energi. Karena SA dirancang untuk kasus minimasi, maka Energi akhir haruslah lebih kecil dibandingkan dengan energi awal.
Selain beberapa istilah diatas, dalam SA juga dikenal istilah jadwal pendinginan, yaitu kapan suatu temperatur harus diturunkan dan berapa penurunannya. Pada setiap temperatur, SA akan menggunakan sejumlah iterasi untuk mengevaluasi sekumpulan solusi baru. Untuk lebih detailnya, berikut adalah algoritma SA.
create initial state
set initial temperature Tstart
while Tnow > Tend
repeat n times
generate newState
delta energi = (energi baru-energi lama)
if delta energi < 0
currentState = newState
elseif rand(0,1) < exp(-deltaenergi/T),
currentState = newState
endif
end repeat
decrease T
end while
Demikian tulisan kali ini, semoga membantu.
mantap sekali penjelasannya…