У меня проблема в том, что мне нужно максимизировать значение X данной функции:
Это код python для формулы: 2 ** (-2 *((((x-0.1) / 0.9)) ** 2)) * ((math.sin(5*math.pi*x)) ** 6)
.
Я использую алгоритм имитации отжига для этой работы, но у меня возникла проблема.
probability = pow(math.e, (actual_cost - best_cost) / temperature)
Моя "стоимость" (что я пытается оптимизировать) очень короткое число, чаще всего от 0 до 0,1, но моя температура, с другой стороны, равна 100.
поэтому, когда я применяю функцию вероятности, мой результат всегда что-то как 99%, что заставляет мой алгоритм принимать отрицательные значения во всех итерациях, вместо того, чтобы уменьшать эту вероятность посредством итераций.
Как я могу адаптировать значение моей температуры для изменения вероятности посредством итераций?