Упростите свой рабочий процесс: найдите miniwebtool.
Добавить
Сопутствующие инструменты
Проверка Гамильтонова ПутиРешатель Карты Карно (K-Map)Решатель Линейного ПрограммированияКалькулятор сетевого потока (Максимальный поток)Решатель задачи о стабильных браках
Домашняя страница > Математика > Продвинутые математические операции > Решатель задачи коммивояжёра (TSP)

Решатель задачи коммивояжёра (TSP)

Найдите кратчайший маршрут, который посещает каждый город ровно один раз и возвращается в начало. Точное динамическое программирование (алгоритм Хелда–Карпа) для небольших наборов данных и эвристика ближайшего соседа + 2-opt для крупных задач. Поддерживает координаты или матрицу расстояний и генерирует анимированный SVG-маршрут.

Решатель задачи коммивояжёра (TSP)
Строки координат: A, 10, 20 или 10 20. Строки матрицы: 0 10 15 20 — по одной строке на линию, квадратная, неотрицательная. Макс. 40 городов.
Разделенные запятой или пробелом метки, по одной на строку матрицы. По умолчанию: A, B, C…

Embed Решатель задачи коммивояжёра (TSP) Widget

О Решатель задачи коммивояжёра (TSP)

Решатель задачи коммивояжёра — это практический обучающий калькулятор для классической Задачи коммивояжёра (TSP): имея набор городов и расстояний между ними, необходимо найти кратчайший маршрут, проходящий через каждый город ровно один раз с возвратом в начало. Этот решатель принимает координаты на плоскости или пользовательскую матрицу расстояний, автоматически выбирает лучший алгоритм в зависимости от масштаба задачи и визуализирует результат в виде анимированной SVG-карты.

Что такое задача коммивояжёра?

Формально, имея полный взвешенный граф G = (V, E) с множеством вершин V = {1, 2, ..., n} и весами рёбер d(i, j), TSP ищет перестановку π вершин, которая минимизирует сумму:

minimize Σi=1n-1 d(π(i), π(i+1)) + d(π(n), π(1))

Последнее слагаемое замыкает цикл. TSP — одна из старейших и наиболее изученных задач комбинаторной оптимизации. Она является NP-трудной, что означает отсутствие известных алгоритмов для решения любого экземпляра за полиномиальное время. Несмотря на это, она встречается в бесчисленных реальных приложениях: логистике, сверлении печатных плат, секвенировании ДНК, маршрутах на складах и даже в астрономических наблюдениях.

Как работает этот решатель

Динамическое программирование Хелда-Карпа (Точное)

Для небольших задач (до 12 городов) решатель вычисляет гарантированно оптимальный маршрут с помощью алгоритма Хелда-Карпа, опубликованного Ричардом Беллманом, а также Майклом Хелдом и Ричардом Карпом в 1962 году. Ключевое рекуррентное соотношение, где C(S, j) — кратчайший путь из вершины 1 в вершину j, посещающий подмножество S:

C(S, j) = mink ∈ S \ {j} [ C(S \ {j}, k) + d(k, j) ]

Стоимость оптимального тура составит minj [C({1,...,n}, j) + d(j, 1)]. Алгоритм работает за время O(2n · n²) и требует O(2n · n) памяти. Это огромный прорыв по сравнению с полным перебором n!, но все же экспоненциальный рост делает его неприменимым для более чем 20 городов из-за нехватки памяти.

Ближайший сосед + 2-opt (Эвристика)

Для более крупных задач решатель использует двухэтапную эвристику. Сначала метод Ближайшего соседа строит быстрый маршрут, жадно переходя к ближайшему не посещенному городу. Решатель пробует разные начальные точки и сохраняет лучший вариант. Затем локальный поиск 2-opt улучшает путь, последовательно удаляя два ребра и пересоединяя их иным способом:

До: ... a — b ... c — d ... После 2-opt перестановки: ... a — c ... b — d ... Если d(a,c) + d(b,d) < d(a,b) + d(c,d) → принимаем замену, инвертируем подмаршрут b..c

Геометрически 2-opt устраняет самопересечения в маршруте. Алгоритм останавливается в локальном оптимуме, называемом 2-оптимальным. На реалистичных евклидовых данных 2-opt находит решение в пределах 2–5% от истинного оптимума за миллисекунды.

Форматы ввода

Режим координат (x, y)

Один город на строку. Каждая строка содержит название, x, y (название необязательно). Решатель автоматически вычисляет евклидовы расстояния и визуализирует города на их реальных позициях.

A, 10, 20 B, 40, 70 C, 75, 30 Paris: 2.35, 48.86 10 20 ← авто-метка C1

Режим матрицы расстояний

Квадратная матрица n × n неотрицательных расстояний, значения разделены пробелами или запятыми. Матрицы могут быть симметричными или асимметричными (для моделирования дорог с односторонним движением или влияния ветра). Метки можно указать в поле «Метки матрицы».

0 10 15 20 10 0 35 25 15 35 0 30 20 25 30 0

Сравнение алгоритмов

Алгоритм Временная сложность Память Качество результата Практичный размер
Полный перебор O(n!) O(n) Оптимально n ≤ 10
ДП Хелда-Карпа O(2n · n²) O(2n · n) Оптимально n ≤ 20
Ближайший сосед O(n²) O(n) ~25% хуже оптимума n ≤ тысячи
БС + 2-opt O(n² · проходы) O(n) ~2–5% хуже оптимума n ≤ сотни

Как использовать решатель

  1. Выберите режим ввода. Используйте координаты, если позиции (x, y) имеют смысл; выберите матрицу расстояний, если ваши данные не евклидовы или асимметричны.
  2. Вставьте или введите данные. По одному городу или строке матрицы на линию. Можно нажать кнопку быстрого примера над формой.
  3. Выберите алгоритм. Оставьте Авто для оптимального выбора: Хелд-Карп для малых задач и БС + 2-opt для крупных.
  4. Выберите тип маршрута. Замкнутый маршрут возвращается в начало — это классическая TSP. Режим открытого пути решает родственную задачу о Гамильтоновом пути.
  5. Нажмите «Решить». На странице результатов отобразится общая длина, анимированная SVG-карта (нажмите «Повторить анимацию»), последовательность городов и детальная разбивка по рёбрам.

Пример работы

Рассмотрим пять городов — прямоугольник и вершину: A (0, 0), B (4, 0), C (4, 3), D (0, 3), E (2, 5). Решатель выдаст:

Применение в реальном мире

Часто задаваемые вопросы

Что такое задача коммивояжёра?

Задача коммивояжёра (TSP) заключается в поиске самого короткого маршрута, который проходит через каждый заданный город один раз и возвращается в исходную точку.

Что такое алгоритм Хелда-Карпа?

Это метод точного решения задачи на основе динамического программирования. Он эффективнее перебора, но ограничен количеством городов (обычно до 20) из-за экспоненциального роста требований к памяти.

Что такое 2-opt и почему он популярен?

Это эвристический алгоритм, который быстро находит очень хорошие (хотя и не всегда идеальные) решения, исправляя пересечения путей. Он является стандартом для решения крупных практических задач TSP.

Когда использовать координаты, а когда матрицу?

Координаты подходят для точек на карте. Матрица нужна, когда стоимость перехода между пунктами не зависит от расстояния напрямую (например, разные цены на авиабилеты или пробки на дорогах).

Является ли решение 2-opt самым лучшим?

Не гарантированно. Оно является локальным оптимумом. В большинстве случаев оно очень близко к идеалу, но для 100% уверенности в кратчайшем пути на малых данных лучше использовать метод Хелда-Карпа.

Поддерживает ли этот инструмент асимметричные расстояния?

Да, в режиме матрицы расстояний. Вы можете указать разные веса для переходов A→B и B→A.

Дополнительные материалы

Ссылайтесь на этот контент, страницу или инструмент так:

"Решатель задачи коммивояжёра (TSP)" на сайте https://ru.miniWebtool.com/решатель-задачи-коммивояжёра-tsp/ от MiniWebtool, https://MiniWebtool.com/

от команды miniwebtool. Обновлено: 21 апр. 2026 г.

Вы также можете попробовать наш AI Решатель Математических Задач GPT, чтобы решить ваши математические проблемы с помощью вопросов и ответов на естественном языке.

Продвинутые математические операции:

Избранные инструменты:

Калькулятор ангельских чиселКалькулятор знака ВенерыКалькулятор совместимости в любвиКалькулятор Солнечного, Лунного и Асцендентного Знаков 🌞🌙✨Конвертер см в футы и дюймыИзвлечение Изображений из ВидеоКонвертер футов и дюймов в сантиметрыОбъединить видеоКонвертер FPSИзменить скорость видеоАудио РазделительКалькулятор числа жизненного путиКалькулятор числа судьбыСоздатель GIFВидео КомпрессорУдалить аудио из видеоДобавить или заменить аудио в видеоДобавить текст к изображениюРазделитель изображенийКалькулятор лунного знакаКалькулятор Фаренгейта в ЦельсияРазделитель видеоКонвертер фунтов в килограммыУдалить строки, содержащие строкуАудио ЭкстракторГенератор штрих-кодовКалькулятор знака МарсаКонвертер дюймов в сантиметрыПоиск идентификатора пользователя InstagramПоиск работыГенератор случайных цветовГенератор филвордовКалькулятор совместимости лунных знаковПовернуть видеоMP3-луперКонвертер MP4 в GIFКалькулятор Рекомпозиции ТелаКалькулятор баланса астрологических стихийКалькулятор области определения и значенийКонвертер кг в фунтыКалькулятор Площади Неправильного МногоугольникаГенератор маленького текста ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Калькулятор числа имениВерификатор гипотезы Гольдбаха⏱️ Калькулятор часовКонвертер сантиметров в дюймыКалькулятор дня года - какой сегодня день года?Календарь ретроградного МеркурияКалькулятор угла срезаДобавить водяной знак на видеоКалькулятор знака МеркурияКалькулятор калорий при беременностиГенератор случайных суперспособностейКакое у меня счастливое число?Калькулятор арксинусаКалькулятор гипотенузыКалькулятор теоремы ПифагораКалькулятор калорий при грудном вскармливанииЗациклить видеоКонвертер PSI в Бар🖱️ Счётчик кликовКалькулятор жима лежаГенератор случайных предметовОбрезка ВидеоСписок високосных летГенератор случайных английских словпоиск-MAC-адресаКалькулятор дня недели рожденияКалькулятор Периметра ЭллипсаШестнадцатеричный калькуляторКалькулятор Относительного Стандартного ОтклоненияКалькулятор возвращения СатурнаКонвертер римских цифрДобавить линию к изображениюКалькулятор инфляции в СШАКалькулятор даты зачатияКалькулятор вероятности броска кубиковПобитовый калькуляторГенератор кроссвордовКалькулятор ANOVAКалькулятор прямоугольного треугольникаКалькулятор беременности собакиКалькулятор подъёмной силы гелиевого шараКалькулятор количества цифрПоиск ID пользователя FacebookПреобразователь двоичного кода в десятичныйКалькулятор коэффициентов и процентовПродвинутый анализатор совместимости знаков зодиакаКалькулятор дозировки лекарствГенератор «Соедини точки»Калькулятор положения солнцаГенератор анаграммКалькулятор дефицита калорийКалькулятор продолжительности времениРешатель Карты Карно (K-Map)Калькулятор нумерологииКалькулятор процентного уменьшенияКалькулятор уравнений с модулемКалькулятор Спени Сжатия ДвигателяКонвертер дробного времениКонвертер изображения в ASCII артКалькулятор золотого прямоугольникаКалькулятор КосинусаКалькулятор числа личностиhba1c-калькуляторГенератор случайного IMEIГенератор случайных блюдКалькулятор Момента Затяжки БолтовКалькулятор цены за тысячу показовЦифровой калькулятор души⏱️ Онлайн секундомерКалькулятор композиции функцийПроверка имени пользователя в социальных сетяхКалькулятор времени охлаждения пиваСортировка чиселСтатистика канала YouTubeГенератор развёртки конусаГенератор случайных фиктивных адресовКалькулятор передаточного отношения велосипедаКалькулятор комплексных чиселКалькулятор мастер-номеровКалькулятор обратной функцииИнструмент для пикселизации изображенийКалькулятор уклона и классаКонвертер чашек в граммыСчётчик токенов ИИБросок кубиковГенератор случайных персонажей RPGСоздатель коллажейГенератор случайной турнирной сеткиКалькулятор калорий для кошекКалькулятор сухой массы телаКрутить колесоДвоичный в шестнадцатеричный конвертергенератор-нонограмм-пикроссКалендарь новолуния и полнолунияГенератор карточек бингоКалькулятор смешивания цветов красокHEX-конвертерВыбор Случайного ИмениГенератор случайной покерной рукиКалькулятор перевода дроби в десятичное числоКонвертер HTML в текстКонвертер десятичного числа в шестнадцатеричныйСлучайный выбор🎰 Калькулятор гарантии гачаКалькулятор крутящего моментаКалькулятор усечённого конусаПреобразователь сахара в кровиКалькулятор xG (ожидаемых голов) в футболеКонвертер ГМС в десятичные градусыКонвертер размера файлаКалькулятор модуляКалькулятор скорости езды на велосипедеКонвертер фунтов в граммыПалитра цветов изображенияГенератор шрифтов для Instagram⏰ Калькулятор табеля рабочего времениКонвертер изображений в Base64Конвертер лунного календаряКонвертер процентов в PPMОнлайн БлокнотГенератор случайного времениКалькулятор шагов в расстояниеКалькулятор числа выраженияКалькулятор конвертации масштаба моделиКалькулятор пропорциональной арендыКонвертер бар в PSIТрассировщик изображения в SVGГенератор зачёркнутого текстаГенератор цветовых схемКалькулятор Логарифма по Основанию 2Калькулятор рабочего времениИзвлекатель чиселКалькулятор VO2 MaxКонвертер унций в граммыПреобразователь Обычного Времени в Десятичное ВремяГенератор MAC-адресовГенератор и решатель судокуГенератор случайных группГенератор случайных дней рожденияКалькулятор TDEEКонвертер литров в стаканыКонвертер радиан в градусыГенератор случайных животныхКалькулятор возрастаКалькулятор коэффициента корреляцииКалькулятор среднего отклоненияконвертер ppm в проценты🔊 Генератор тоновКалькулятор доверительного интервала для пропорцииКалькулятор Монетизации YouTube ShortsПеревод из восьмеричной в шестнадцатеричную системуТранспонировщик музыкальной тональностиГенератор случайных аккордовКалькулятор веса еды для походаКалькулятор средней датыГенератор лабиринтовГенератор случайных странКалькулятор возраста по культурамКонвертер мА·ч в Вт·чКалькулятор трёхфазной мощностиКалькулятор кВАКалькулятор перевода ампер в ваттыКалькулятор Ватт в АмперыКалькулятор последовательного соединения резисторовКалькулятор тренияКалькулятор наклонной плоскостиКалькулятор механического преимуществаКалькулятор скорости звукаКалькулятор скорости волныКалькулятор плавучестиКалькулятор конечной скоростиКалькулятор длины волны де БройляКалькулятор энергии фотонаКалькулятор E=mc²Калькулятор замедления времениКалькулятор третьего закона КеплераКалькулятор второй космической скоростиКалькулятор гравитационной силыКалькулятор закона Бугера — Ламберта — БераКалькулятор уравнения НернстаКалькулятор осмотического давленияКалькулятор повышения температуры кипенияКалькулятор понижения температуры замерзанияКалькулятор процентного составаКалькулятор нормальностиКалькулятор моляльностиКонвертер pKa в KaКалькулятор Хендерсона-ХассельбахаКалькулятор теоретического выходаКалькулятор лимитирующего реагентаКалькулятор электронной конфигурацииИнтерактивная таблица МенделееваИИ Генератор Планов УроковИИ Генератор ВикторинГенератор цитирований (APA/MLA/Chicago)Калькулятор посещаемостиКалькулятор баллов APКалькулятор баллов ACTКалькулятор баллов SATКонвертер процентов в CGPAКонвертер CGPA в процентыПростой калькулятор оценок EZ GraderКалькулятор Стоимости Воспитания РебёнкаКалькулятор потребления молока для ребёнкаКалькулятор размера подгузниковГенератор имён для детейПредсказание цвета глаз ребёнкаКалькулятор перцентиля ИМТ для детейКалькулятор роста ребёнкаКалькулятор времени удвоения ХГЧКалькулятор срока родов при ЭКОКалькулятор имплантацииКитайский калькулятор пола ребёнкаФорматтер даты ISO 8601Конвертер юлианской датыКалькулятор дневного снаКалькулятор фаз ЛуныКалькулятор восхода и закатаWorld ClockКонвертер дат в римские цифрыОбратный отсчёт до пенсииКалькулятор трезвостиКалькулятор Половины Дня РожденияКалькулятор годовщиныКалькулятор номера неделиКалькулятор распределения чаевыхКалькулятор ROI Email-маркетингаКалькулятор стоимости лидаКалькулятор оборотного капиталаКалькулятор маржинальной прибылиКалькулятор FIFO / LIFOКалькулятор страхового запасаКалькулятор точки повторного заказаКалькулятор Оптимального Размера Заказа EOQКалькулятор АмортизацииКалькулятор цен на изделия ручной работыКалькулятор оптовой ценыКалькулятор прибыли ShopifyКалькулятор Amazon FBAКалькулятор комиссий eBayКалькулятор комиссий EtsyКалькулятор комиссий StripeКалькулятор комиссий PayPalКонвертер букмекерских коэффициентовКалькулятор десятиныКалькулятор ЗакятаКалькулятор гербового сбора ВеликобританииКалькулятор освобождения от HRAКалькулятор гратуитиКалькулятор NPSКалькулятор EPFКалькулятор PPFКалькулятор RDКалькулятор SWPКалькулятор гросс-апКалькулятор сравнения кредитовКалькулятор использования кредитаКалькулятор депозитной лестницыКалькулятор казначейских векселей T-BillКалькулятор облигаций IКалькулятор накоплений на колледж 529Калькулятор HSAКалькулятор выходного пособияКалькулятор повышения зарплатыГенератор счетовКалькулятор суточныхКалькулятор компенсации за пробегКалькулятор повышения арендной платыКалькулятор доступности арендыКалькулятор полной стоимости автомобиляКалькулятор доступности автомобиляКалькулятор мотоциклетного кредитаКалькулятор кредита на автодомКалькулятор кредита на лодкуКалькулятор кредита на землюКалькулятор строительного кредитаКалькулятор ипотеки с выплатой только процентовКалькулятор Кредита с Шаровым ПлатежомКалькулятор ипотечных пунктовКалькулятор PMIКалькулятор двухнедельных ипотечных платежейКалькулятор ипотеки ARMКалькулятор кредита VAКалькулятор зарплаты на рукиГенератор SQL-запросов с ИИИИ Генератор Регулярных ВыраженийИИ-визуализатор данных (вставка CSV)ИИ Анализатор Тона ТекстаИИ Анализатор РезюмеИИ конвертер единиц (естественный язык)ИИ Генератор Письма с ИзвинениямиИИ генератор вежливых отговорокИИ Генератор Маршрута ПутешествияИИ генератор списка чтенияГенератор плана тренировок ИИИИ Генератор плана питанияИИ генератор идей для подарковИИ генератор рецептов из ингредиентовКалькулятор ROI стипендийКалькулятор стоимости колледжаКалькулятор часов изучения языка до свободного владенияГенератор словарных викторинГенератор заметок КорнеллаКалькулятор кривой обученияПланировщик интервальных повторений флеш-картКалькулятор затирки для плиткиКалькулятор возможностей процесса Шести СигмЗагрузчик миниатюр YouTubeКалькулятор доходов YouTube