С 2010 года · Более 2 млн запусков инструментов в месяц
С 2010 года
Добавить в Chrome

Моя Панель Инструментов

Автоматический Режим

Сохранённых инструментов пока нет.

Премиум-версия
Похожие инструменты
Генератор лабиринтов
Домашняя страница > Математика > Продвинутые математические операции

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

Находит кратчайший маршрут, посещающий каждый город один раз и возвращающийся в начало. Использует точный метод Хелда-Карпа для малых наборов и метод ближайшего соседа с 2-opt для больших, по координатам или матрице расстояний.

БесплатноБез регистрацииМгновенный результат
Решатель задачи коммивояжёра (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Склеить видеоКонвертер дюймов в сантиметрыКонвертер см в футы и дюймыРазделить фото на частиКалькулятор числа жизненного путиКалькулятор числа судьбыСжать видеоАудио РазделительГенератор случайных суперспособностейЗамедлить или ускорить видеоПоиск идентификатора пользователя InstagramКонвертер фунтов в килограммыПостроитель графиков функцийКалькулятор возвращения СатурнаГенератор филвордовДобавить текст к изображениюДобавить или заменить аудио в видеоУбрать звук из видеоКонвертер мА·ч в Вт·чРазделитель видеоКалькулятор числа имениКалькулятор лунного знакаКалькулятор знака МарсаИзвлечь звук из видеоКонвертер римских цифрКонвертер дюймов в миллиметрыСоздатель GIFГенератор кроссвордовMP3-луперГенератор Камень Ножницы БумагаКалькулятор Фаренгейта в ЦельсияКалькулятор Рекомпозиции Тела⏱️ Калькулятор часовКонвертер миль в километрыКонвертер футов в метрыКалькулятор области определения и значенийГенератор штрих-кодовГенератор случайных вопросовКонвертер сантиметров в дюймыКалькулятор совместимости лунных знаковКонвертер кг в фунтыГенератор случайных цветовКалькулятор Относительного Стандартного ОтклоненияПовернуть видеоГенератор маленького текста ⁽ᶜᵒᵖʸ ⁿ ᵖᵃˢᵗᵉ⁾Удалить строки, содержащие строкуПреобразователь Обычного Времени в Десятичное ВремяГенератор развёртки конусаГенератор случайных игральных картКалькулятор баланса астрологических стихийБросок кубиковКонвертер миллиметров в дюймыКонвертер изображения в ASCII артГенератор нонограмм (Пикросс)Генератор случайных предметовКонвертер дробного времениОбрезать видеоКалькулятор смешивания цветов красокЗациклить видеоСписок високосных летКонвертер мг в млКалькулятор квадратного корняКалькулятор производныхКалькулятор Площади Неправильного МногоугольникаКалькулятор Спени Сжатия ДвигателяКонвертер акров в гектарыКонвертер Числа в ДробьHEX-конвертерКонвертер MP4 в GIFПобитовый калькуляторКалькулятор положения солнцаКалькулятор угла срезаПроверка имени пользователя в социальных сетях🖱️ Счётчик кликовКалькулятор Ватт в АмперыЛогарифмический калькуляторКалькулятор калорий при грудном вскармливанииСлучайный выбор фильмаИзвлекатель чиселПоиск ID пользователя FacebookСтатистика канала YouTubeГенератор названий группКалькулятор нумерологииГенератор случайного IMEIПоиск MAC-адресаКакое у меня счастливое число?Калькулятор калорий при беременностиКалькулятор жима лежаКалькулятор прямоугольного треугольникаКалькулятор перевода дроби в десятичное числоКонвертер угловКалькулятор числа личностиГенератор Случайных Математических ЗадачКалькулятор гипотенузыКалькулятор дозировки лекарствКалькулятор подъёмной силы гелиевого шараКалькулятор скорости езды на велосипедеКалькулятор арксинусаКалькулятор количества цифрКонвертер ГМС в десятичные градусыДобавить водяной знак на видеоКалькулятор КосинусаКонвертер радиан в градусыДвоичный калькуляторКалькулятор перевода ампер в ваттыКалькулятор биномиального распределенияКалькулятор десятичной дробиКалькулятор расстояния полетаБалансировка химических уравненийКалькулятор кВАГенератор случайных блюдУдаление Невидимых СимволовКалькулятор пределовМагический шар 8🎰 Калькулятор гарантии гачаКалькулятор конвертации дрожжейКонвертер Метров в ФутыКалькулятор сожжённых калорийКалькулятор комплексных чиселКонвертер фунтов в граммыКалькулятор типа телосложенияПреобразователь двоичного кода в десятичныйВалидатор XMLГенератор карточек бингоКалькулятор FFMIКалькулятор знака МеркурияГенератор случайных фиктивных адресовКалькулятор нескольких дробейКруговой калькуляторГенератор рэп-имёнГенератор случайных английских словКонвертер мощностиРандомайзер Имён — КолесоГенератор «Что бы вы выбрали»Калькулятор K/DКалькулятор вероятности броска кубиковКалькулятор имплантацииКалькулятор обратной функцииКонвертер размера файлаГенератор случайных координатКалькулятор деления многочленов столбикомКалькулятор номера неделиОнлайн БлокнотКалькулятор уравнений с модулемГенератор случайного времениКалькулятор коэффициента корреляцииКонвертер градусов в радианыДобавить линию к изображениюКалендарь новолуния и полнолунияКалькулятор WHtRКалькулятор композиции функцийКонвертер стоунов в килограммыКалькулятор дня года - какой сегодня день года?Калькулятор модуляКонвертер дат в римские цифрыГенератор анаграммГенератор случайных шутокРешатель Карты Карно (K-Map)Транспонировщик музыкальной тональностиВосьмеричный в двоичный конвертерГенератор случайных тем для дебатовКалькулятор теории множествГенератор «Соедини точки»Калькулятор пропорцийКалькулятор Точного Теста ФишераГенератор случайных дней рожденияКалькулятор теоремы ПифагораКалькулятор усечённого конусаРешатель НеравенствКалькулятор возрастаКалькулятор суммы квадратовКалькулятор шагов в расстояниеКалькулятор перцентиля ростаКвадратный калькуляторКонвертер столовых ложек в чайныеКонвертер чашек в граммыВосьмеричный калькуляторГенератор цветовых схемКалькулятор даты зачатияГенератор случайных персонажей RPGКалькулятор рабочего времениГенератор случайных буквПоиск Числовых ЗакономерностейТаблица ASCIIЦифровой калькулятор душиИдентификатор языка на основе ИИКалькулятор силы удара в боксеСлучайный выборГенератор зачёркнутого текстаГенератор Правда или ВызовИИ-генератор рэп-текстовКонвертер лунного календаряУлучшитель изображенийКонвертер видео для Twitter (X)Генератор геймертеговГенератор названий командГенератор никнеймовГенератор фэнтезийных имёнГенератор печенья с предсказаниямиГенератор идей для рисованияГенератор подсказок для дневникаГенератор ежедневных аффирмацийГенератор комплиментовГенератор фраз для знакомстваГенератор папиных шутокГенератор случайных фактовГенератор вопросов для викториныГенератор слов для игры «Виселица»Генератор слов для PictionaryГенератор шарадГенератор вопросов для знакомстваГенератор «Я никогда не»ИИ-толкователь сновИИ-генератор благодарственных писемИИ-генератор свадебных речейИИ-генератор пресс-релизовИИ-генератор описаний товаровИИ-генератор сценариев видеоИИ-генератор заголовков и описаний YouTubeИИ-генератор подписей для InstagramИИ-генератор заголовка и биографии LinkedInИИ-генератор пунктов резюмеИИ-генератор сопроводительных писемСведение PDFРазблокировать PDF (удаление пароля владельца)Извлечение текста из PDFИзвлечение страниц PDFСчётчик слов PDFЗащитить PDF паролемДобавить номера страниц в PDFИзменить порядок страниц PDFУдалить страницы PDFПовернуть PDFJPG в PDFPDF в JPGСжать PDFРазделить PDFОбъединить PDFКонвертер PT в PXКонвертер PX в REMКонвертер тола в граммыКонвертер индийских земельных единицКонвертер мкг в мгИИ-генератор текстов песенИИ-генератор стиховИИ-генератор историйИИ-переводчикИИ Суммаризатор ТекстаКонвертер MPH в KM/H / KM/H в MPHКонвертер узлов в мили в часКубические метры в кубические футыКонвертер кубических футов в кубические ярдыКонвертер квадратных футов в квадратные метрыКонвертер квадратных метров в квадратные футыКонвертер унций в млКонвертер мл в унцииКонвертер галлонов в литрыКонвертер литров в галлоныКонвертер кг в стоуныКонвертер километров в милиКонвертер градусов Фаренгейта в ЦельсииКонвертер градусов Цельсия в ФаренгейтыКалькулятор размера рюкзакаКалькулятор объёма сёрфбордаКалькулятор размера ручки теннисной ракеткиКалькулятор размера шлемаКалькулятор размера перчатокКонвертер размера шляпыКалькулятор размера сноубордаКалькулятор размера лыжКалькулятор размера велосипедаТаймер сплитов спидранаКалькулятор СтейблфордаКалькулятор чекаута в дартсКалькулятор экономичности боулингаКалькулятор Strike Rate в крикетеКалькулятор Net Run RateКалькулятор рейтинга ЭлоКалькулятор восстановления частоты сердечных сокращенийКалькулятор времени походаКалькулятор темпа греблиКалькулятор возрастной оценки в бегеКалькулятор FTP и зон мощностиКалькулятор бип-тестаКалькулятор баллов ACFTКалькулятор Wilks и DOTSКалькулятор вылета дискаПоиск индекса нагрузки и индекса скорости шинКалькулятор стоимости за милюКалькулятор выкупа лизингаКалькулятор смешивания октанового числаКалькулятор смеси масла для 2-тактных двигателейКалькулятор Рабочего Объёма ДвигателяКалькулятор проноса диванаКалькулятор корда дровКалькулятор CADR очистителя воздухаКалькулятор размера осушителяКалькулятор размера потолочного вентилятораКалькулятор размера шторКалькулятор размера ковраКалькулятор высоты подвески картинКалькулятор высоты установки телевизораКалькулятор размера телевизораКалькулятор объёма и плёнки для прудаКалькулятор соли для бассейнаКалькулятор объёма бассейнаКалькулятор размера водонагревателяКалькулятор эпоксидной смолыКалькулятор расстояния между балясинамиКалькулятор плинтусов и молдинговКалькулятор сайдингаКалькулятор пропитки для террасыКалькулятор газонных семянКалькулятор рулонного газонаКалькулятор асфальтаКалькулятор кубических ярдовКалькулятор длины антенныКалькулятор заполнения трубыКалькулятор последовательных и параллельных конденсаторовКалькулятор индуктивного сопротивленияКалькулятор освещения комнатыКалькулятор Люкс в ЛюменыКонвертер Люменов в ВаттыКалькулятор мощности генератораКалькулятор трёхфазной мощностиКалькулятор последовательного соединения резисторовКалькулятор тренияКалькулятор наклонной плоскостиКалькулятор механического преимуществаКалькулятор скорости звукаКалькулятор скорости волныКалькулятор плавучестиКалькулятор конечной скоростиКалькулятор длины волны де БройляКалькулятор энергии фотонаКалькулятор E=mc²Калькулятор замедления времениКалькулятор третьего закона КеплераКалькулятор второй космической скоростиКалькулятор гравитационной силыКалькулятор закона Бугера — Ламберта — БераКалькулятор уравнения НернстаКалькулятор осмотического давленияКалькулятор повышения температуры кипенияКалькулятор понижения температуры замерзанияКалькулятор процентного составаКалькулятор нормальностиКалькулятор моляльностиКонвертер pKa в KaКалькулятор Хендерсона-ХассельбахаКалькулятор теоретического выходаКалькулятор лимитирующего реагентаКалькулятор электронной конфигурацииИнтерактивная таблица МенделееваИИ Генератор Планов УроковИИ Генератор ВикторинГенератор цитирований (APA/MLA/Chicago)Калькулятор посещаемостиКалькулятор баллов APКалькулятор баллов ACTКалькулятор баллов SATКалькулятор доходов YouTube
Домашняя страница > Математика > Продвинутые математические операции > Решатель задачи коммивояжёра (TSP)