Fiz alguns testes de diferentes temperaturas iniciais no meu algoritmo de recozimento de simulação e notei que a temperatura inicial afeta o desempenho do algoritmo.
Existe alguma maneira de calcular uma boa temperatura inicial?
optimization
artificial-intelligence
heuristics
Indefinido
fonte
fonte
Respostas:
Finalmente, é a probabilidade de aceitar uma transição positiva . Agora, podemos ter uma estimativa da probabilidade de aceitação base em um conjunto "aleatório" de transições positivas:t × × ( t ) Sexp ( - δt/ T) t χ^ χ ( T) S
Queremos encontrar uma temperatura tal que , onde χ ( T 0 ) = χ 0 χ 0 ∈ ] 0 , 1 [T0 0 χ ( T0 0) = χ0 0 χ0 0∈ ] 0 , 1 [ seja a probabilidade de aceitação que desejamos.
S E max t E min t S T 1 T 0T0 0 é calculado por um método iterativo. Alguns estados e um vizinho para cada estado são gerados. Isto dá-nos um conjunto de transições . As energias e correspondentes aos estados do subconjunto são armazenadas. Em seguida, é escolhido um valor para , que pode ser qualquer valor positivo. S Emaxt Emint S T1 T0 é então encontrado com a fórmula recursiva
Quando se aproxima de , podemos parar. agora é uma boa aproximação da temperatura inicial desejadaχ^( Tn) χ0 0 Tn T0 0 . Para mais explicações, provas e discussão, consulte a primeira seção do artigo original [1].
[1] Ben-Ameur, Walid. "Computando a temperatura inicial do recozimento simulado". Otimização e aplicações computacionais 29, no. 3 (2004): 369-385.
fonte
este é um tópico muito avançado relacionado à obtenção de ótimos indicadores muito rígidos. Pelo que entendi, a temperatura inicial é geralmente considerada parte de uma estratégia de "cronograma de temperatura" para a qual há alguma pesquisa profunda. em outras palavras, a condição inicial de temperatura e o algoritmo de redução de temperatura (que você não mencionou) afetam os resultados gerais da otimização. estratégias ou heurísticas simples para ambos geralmente produzem resultados bons ou "bons o suficiente".
há, no entanto, pelo menos um artigo que estuda a temperatura inicial sozinha. [1] o ponto principal é que, a menos que você esteja fazendo um trabalho muito avançado, tratar a temperatura inicial como um parâmetro do problema e iterar em diferentes temperaturas iniciais como parte da otimização geral [depois de descobrir que isso realmente afeta os resultados] é muito razoável e uma prática provavelmente generalizada.
ou mesmo escolher apenas uma temperatura inicial que produza bons resultados também é comum (parece surpreendente e não é frequente que os resultados da otimização da instância do problema variem substancialmente de um parâmetro de temperatura inicial "melhor" encontrado por tentativa e erro) . Como o dhj apontou, alguns problemas serão mais sensíveis do que outros à temperatura inicial.
[1] Computando a temperatura inicial do recozimento simulado Ben-Ameur 2004
[2] Um cronograma eficiente de recozimento simulado: derivação Lam & Delosme
[3] Controle de temperatura para recozimento simulado Munakata & Nakamura
fonte