Как сделать функцию перемещения (следующая позиция) для Оптимизации роя частиц, чтобы решить TSP

Резюме по моей программе:

Я читаю в текстовом файле, и в каждой строке есть int (идентификатор узла) и 3 числа с плавающей запятой (x, y, z местоположения). Идентификатор узла всегда начинается с 1 и увеличивается по порядку. После прочтения этой информации я создаю матрицу смежности, чтобы получить расстояние от каждого узла до каждого другого узла. На данный момент, в моем классе алгоритма PSO я сначала создаю вектор частиц (класс, который я сделал). В классе частиц конструктор принимает значение int, которое является наибольшим номером узла. Затем он создает случайный путь всех узлов (хранящихся в векторе с именем «currentPath»), который начинается и заканчивается на узле 1. Я также установил другой вектор в классе частиц с именем «bestPath» на этот случайный путь. В классе алгоритма PSO после создания вектора частиц я выясняю, какая частица имеет наиболее оптимальный текущий маршрут, и устанавливаю вектор с именем ‘globalBest’ на этот путь. Затем я вхожу в цикл for, и в каждой итерации я вызываю функцию с именем ‘move’ для каждой частицы в векторе частиц.

Вопрос:

В функции перемещения, как я могу использовать текущий путь частицы, лучший путь, скорость и глобальный лучший путь для вычисления следующего пути? Кроме того, как я могу рассчитать скорость / почему это важно при создании следующего пути?

-2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]