Я бы предпочел представить это как комментарий к ответу Мартина Хока, потому что я обращаюсь к возможному упущению, которое было бы легко осуществить, осуществляя его предложение.
Алгоритм ветвления и ограничения должен быть объединен с алгоритмом восстановления путей с наименьшей стоимостью с учетом результатов алгоритма Флойда-Варшалла. Алгоритм ветвления и привязки является внешним циклом, и он выбирает не посещенные узлы. Затем вы используете алгоритм реконструкции пути с наименьшей стоимостью, чтобы фактически добавить ребра и узлы в свой цикл. Узлы должны быть помечены как посещенные алгоритмом реконструкции пути с наименьшей стоимостью, а не только ветвью и связанной частью.