Одним из наиболее эффективных способов найти точное решение для TSP является использование алгоритма динамического программирования, который работает в O (n ^ 2 * 2 ^ n). Это довольно просто по сравнению с некоторыми альтернативами линейного программирования. Ищите «Динамическое программирование TSP», и вы наверняка найдете много примеров.
Есть более наивные подходы, такие как грубая сила, которые работают в O (n!). Если вы видели много циклов for (то есть: более двух), это скорее всего тот тип алгоритма, который вы видели раньше. Они выполнят работу (возможно, не в этой жизни, в зависимости от размера вашего графика).