Я использую NetworkX
для реализации некоторых работ.(На самом деле, Networkx не является необходимым. Если есть лучшие библиотеки для решения этой проблемы, не могли бы вы порекомендовать это?) И мой график выглядит следующим образомузлы.Когда я использую функцию max_flow_min_cost(G, S, E)
, функция возвращает пути вроде
[S, T1, T1', E], [S, T2, T2', E], [S, T3, T3', E], [S, T4, T4', E], [S, T5, T5', E], [S, T6, T6', E]
Это потому, что это пути с максимальным потоком.
Но я хочу, чтобы пути проходили через все узлы ичья общая стоимость минимальна.Например:
[S, T1, T1', T2, T2', E], [S, T5, T5', E], [S, T3, T3', T6, T6', E], [S, T4, T4', E]
Итак, я решил использовать функцию min_cost_flow()
.И это требует спроса узлов.Конечно, я не могу использовать этот метод, потому что я не знаю, сколько путей начнется с узла 'S'.
Есть ли какие-либо решения для решения моей проблемы?
Подводя итог, я хочу, чтобы некоторые методы находили пути, проходящие через все узлы, и их общая стоимость минимальна.
Мой родной язык не английский, и это может сбить вас с толку.Если у вас есть какие-либо вопросы по этому поводу, пожалуйста, дайте мне знать.