Я пытаюсь написать GA на Python, чтобы решить TSP.Я хотел бы ускорить это.Потому что сейчас требуется 24 секунды для запуска 200 поколений с численностью населения 200 .
Я использую карту с 29 городов .У каждого города есть id и (x, y) координаты.
Я попытался реализовать матрицу расстояний, которая рассчитывает все расстояния один раз и сохраняет ее в списке.Таким образом, вместо расчета расстояния с использованием функции sqrt()
1M + раз, она использует функцию только 406 раз.Каждый раз, когда требуется расстояние между двумя городами, оно просто извлекается из матрицы с использованием идентификатора двух городов в качестве индекса.
Но даже при этом это занимает столько же времени.Я думал, что sqrt()
будет дороже, чем просто индексировать список.Это не?Словарь сделает это быстрее?