У меня проблема, что мне нужно максимизировать значение 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%, что заставляет мой алгоритм принимать отрицательные значения во всех итерациях, вместо того, чтобы уменьшать эту вероятность во всех итерациях.
Как я могу адаптировать значение моей температуры для изменения вероятности с помощью итераций?
T
в этой функции равно 1.0. - person Joe   schedule 26.04.2020