TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #2182 7.03K
​Задача коммивояжёра — точное решение через метод целочисленного линейного программирования

Если коротко, задача комивояжёра — это классический пул задач на поиск кратчайшего маршрута среди нескольких городов. Или маршрута по городу. В общем — это задачи о том, как принимать решения в ситуациях со множеством переменных.

Задачу коммивояжёра можно решить несколькими способами. Например, простым перебором. Но чем больше будет городов, тем медленнее будет расчёт. Уже на 10 городах мы получим миллионы выполнений цикла. А на 13 городах таких — уже несколько миллиардов, и компьютер может их считать неделю и даже больше.

Чуть более оптимальное решение — метод динамического программирования и метод ветвей и границ. Результат получается неплохой, но всё равно он слабоват.

Вот интересная статья, которая показывает, что точное решение этой задачи можно получить гораздо более оптимальным способом. Всё с понятными объяснениями и кодом на Python: https://habr.com/ru/post/711708/

#задачи
  • 🤯 11
  • 👍 5
  • 🔥 4
More from @zen_of_python
  1. Oct 14, 2026Почему Rust внутри CPython предлагают начать с zlib На Python Language Summit обсудили пос…
  2. Oct 14, 2026Почему mmap не всегда избавляет от копирования mmap позволяет обращаться к содержимому фай…
  3. Oct 14, 2026Post #5063
  4. Oct 14, 2026Когда Path.info экономит обращения к файловой системе При обходе большого каталога проверк…
  5. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  6. Oct 13, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →