Я нашел фрагмент псевдокода, который объясняет имитацию отжига для задачи наибольшего пути, но есть несколько деталей, которые я не понимаю.
В настоящее время я реализовал структуру, представляющую граф, и метод для создания случайного графа и случайного пути в графе - оба однородны.
Вот псевдокод имитации отжига:
Procedure Anneal(G, s, t, P)
P = RandomPath(s, t, G)
temp = TEMP0
itermax = ITER0
while temp > TEMPF do
while iteration < itermax do
S = RandomNeighbor(P, G)
delta = S.len - P.len
if delta > 0 then
P = S
else
x = random01
if x < exp(delta / temp) then
P = S
endif
endif
iteration = iteration + 1
enddo
temp = Alpha(temp)
itermax = Beta(itermax)
enddo
Детали, которые я не нахожу достаточно ясными, чтобы понять:
Случайный сосед(P, G)
Альфа (временная)
itermax = бета(itermax)
Что должны делать эти методы?