Przejdź do treści

Problem komiwojażera (TSP) — minimalny cykl Hamiltona w grafie ważonym

Problem komiwojażera (TSP): definicja i model ważonego grafu, cykl Hamiltona, złożoność NP‑trudna, przegląd algorytmów dokładnych i przybliżonych, historia oraz praktyczne zastosowania.

Problem komiwojażera (często skracany do TSP) to klasyczny problem optymalizacyjny w informatyce i badaniach operacyjnych, dotyczący znalezienia najkrótszej możliwej trasy odwiedzającej zadany zbiór punktów i wracającej do punktu startowego. W praktyce celem jest minimalizacja całkowitego kosztu trasy (np. odległości, czasu lub ceny), dlatego problem jest często opisywany jako zadanie optymalizacji.

Galeria obrazów

7 Obrazy

Definicja i model matematyczny

Standardowe sformułowanie TSP wykorzystuje wykres ważony: wierzchołki odpowiadają punktom do odwiedzenia, a krawędzie mają przypisaną wartość kosztu przejścia między punktami. Szukamy cyklu przechodzącego przez każdy wierzchołek dokładnie raz — to właśnie cykl Hamiltona w sensie grafowym — o najmniejszym możliwym sumarycznym koszcie.

Krótka historia

  • W XIX wieku pojawiły się zagadki związane z odwiedzaniem punktów, m.in. problem cyklu Hamiltona, znany z rekreacyjnych gier i łamigłówek.
  • W XX wieku matematycy i ekonomiści sformalizowali warianty problemu i rozważyli algorytmiczne podejścia; Hans Menger opisał problem i zwrócił uwagę, że jedynym oczywistym podejściem gwarantującym dokładne rozwiązanie jest przegląd wszystkich permutacji punktów.
  • Menger zauważył również, że tzw. strategia „przechodź zawsze do najbliższego punktu” — czyli heurystyka najbliższego otoczenia — nie gwarantuje rozwiązania optymalnego; tę uwagę formułowano także w odniesieniu do heurystyk heurystycznych ogólnie.
  • Nazewnictwo „problem podróżującego sprzedawcy” rozpowszechnił m.in. Hassler Whitney z Princeton University.

Złożoność obliczeniowa

TSP jest problemem trudnym obliczeniowo. Decyzyjna wersja problemu (czy istnieje trasa krótsza niż zadana granica) jest jednym z problemów NP‑zupełnych, a znalezienie optymalnej trasy należy do klasy problemów NP‑trudnych. W praktyce dla n punktów przegląd wszystkich możliwych tras wymaga rozważenia n! możliwości, co szybko staje się niepraktyczne.

Algorytmy i podejścia

W literaturze i praktycznych zastosowaniach rozróżnia się kilka grup metod:

  • Algorytmy dokładne
    • Brute force — sprawdzenie wszystkich permutacji (gwarantowana optymalność, złożoność czynnikowa).
    • Programowanie dynamiczne (algorytm Held–Karp) — złożoność O(n^2 2^n), stosowany do umiarkowanych n.
    • Metody branch and bound i programowanie całkowite — praktyczne do średnich instancji, gdy zastosuje się silne ograniczenia i cięcia.
  • Algorytmy przybliżone i aproksymacyjne
    • Wersje metryczne (spełniające nierówność trójkąta) pozwalają na aproksymacje z gwarancją błędu; przykładem jest algorytm Christofides dający aproksymację 1.5.
    • Algorytmy heurystyczne bez formalnych gwarancji, ale efektywne w praktyce (opisane poniżej).
  • Heurystyki i algorytmy lokalnego przeszukiwania
    • Heurystyka najbliższego sąsiada — szybka, lecz nieskuteczna w najgorszym wypadku (Menger i inni wskazywali na jej ograniczenia).
    • Operacje poprawiające trasę: 2‑opt, 3‑opt, heurystyka Lin–Kernighan — polepszają istniejące rozwiązania przez lokalne modyfikacje.
    • Metaheurystyki: algorytmy genetyczne, symulowane wyżarzanie, algorytmy mrówkowe — znajdują dobre rozwiązania dla dużych instancji.

Warianty i zastosowania

Istnieje wiele wariantów TSP, dostosowanych do różnych ograniczeń i zastosowań:

  • Symetryczny i asymetryczny TSP (koszty mogą zależeć od kierunku).
  • Euclidean TSP — wierzchołki w przestrzeni euklidesowej, koszty równają się odległościom geometrycznym.
  • Warianty z dodatkowymi ograniczeniami: okna czasowe, wielokrotni komiwojażerowie, koszty związane z ładunkiem, zadania typu „prize‑collecting”.

Praktyczne zastosowania obejmują optymalizację tras w logistyce i transporcie, planowanie produkcji i montażu (np. obróbka ścieżek w maszynach CNC), projektowanie obwodów drukowanych, a także zadania w bioinformatyce (np. porównywanie sekwencji genetycznych). W każdej z tych dziedzin wybór metody zależy od wielkości problemu i wymagań dotyczących jakości rozwiązania.

Uwagi końcowe

  • Pomimo prostego sformułowania, Problem komiwojażera pozostaje jednym z najważniejszych i najczęściej badanych problemów w teorii algorytmów i optymalizacji.
  • W praktyce łączy się teorię (klasyczna analiza złożoności) z inżynierskimi praktykami (heurystyki, metaheurystyki oraz specjalistyczne implementacje algorytmów dokładnych).
  • Historyczne uwagi o trudnościach rozwiązania i zawodności prostych reguł, jak przechodzenie „do najbliższego sąsiada”, można znaleźć w pracach klasycznych autorów i komentarzach Mengera.

Przedstawienie problemu

The Travelling Salesman Problem opisuje sprzedawcę, który musi podróżować między N miastami. Kolejność, w jakiej to robi, jest czymś, co go nie interesuje, o ile odwiedza każdego z nich raz w trakcie podróży i kończy tam, gdzie był na początku. Każde miasto jest połączone z innymi bliskimi miastami, węzłami, samolotami, drogą lądową lub kolejową. Do każdego z tych połączeń między miastami dołączony jest jeden lub więcej ciężarków (lub kosztów). Koszt opisuje, jak "trudno" jest przeciągnąć tę krawędź na wykresie i może być podany np. przez koszt biletu lotniczego lub kolejowego, a może przez długość tej krawędzi, lub czas potrzebny do ukończenia trawersy. Sprzedawca chce, aby zarówno koszty podróży, jak i odległość, jaką pokonuje, były jak najniższe.

Problem podróżnych sprzedawców jest typowy dla dużej klasy "trudnych" problemów z optymalizacją, które od lat intrygują matematyków i informatyków. Co najważniejsze, ma on zastosowanie w nauce i inżynierii. Na przykład, w produkcji płytek drukowanych, ważne jest, aby określić najlepszą kolejność, w której laser będzie wiercił tysiące otworów. Skuteczne rozwiązanie tego problemu zmniejsza koszty produkcji ponoszone przez producenta.

Trudność

Ogólnie rzecz biorąc, problem podróżnych sprzedawców jest trudny do rozwiązania. Jeśli istnieje sposób, aby rozbić ten problem na mniejsze problemy z komponentami, będą one co najmniej tak skomplikowane jak oryginalne. To jest to, co informatycy nazywają problemami NP-hard.

Wiele osób badało ten problem. Najłatwiejszym (i najdroższym) rozwiązaniem jest po prostu spróbować wszystkich możliwości. Problem polega na tym, że dla N miast masz (N-1) możliwości czynnikowe. Oznacza to, że tylko dla 10 miast jest ponad 180 tys. kombinacji do wypróbowania (od momentu zdefiniowania miasta początkowego, na pozostałych 9 mogą być permutacje). Liczymy tylko połowę, ponieważ każda trasa ma taką samą trasę na odwrót o tej samej długości lub koszcie. 9! / 2 = 181 440

  • Dokładne rozwiązania problemu można znaleźć za pomocą algorytmów branżowych i powiązanych. Obecnie jest to możliwe nawet dla 85 900 miast.
  • Podejścia heurystyczne wykorzystują zestaw zasad przewodnich przy wyborze kolejnego węzła. Ponieważ jednak heurystyka skutkuje przybliżeniami, nie zawsze daje optymalne rozwiązanie, chociaż wysokiej jakości heurystyka dopuszczalna może znaleźć użyteczne rozwiązanie w ułamku czasu potrzebnego na pełną siłę oddziaływania problemu. Przykładem heurystyki dla danego węzła byłoby zsumowanie, ile niesprawdzonych węzłów znajduje się "blisko" połączonego węzła. Mogłoby to zachęcić sprzedawcę do odwiedzenia grupy węzłów znajdujących się blisko siebie, zgrupowanych razem przed przejściem do innego naturalnego zgrupowania na wykresie. Zobacz algorytmy Monte Carlo i algorytmy Las Vegas

Pytania i odpowiedzi

P: Co to jest problem podróżującego komiwojażera?

A: Problem podróżującego komiwojażera (TSP) jest klasycznym problemem algorytmicznym w dziedzinie informatyki i badań operacyjnych. Koncentruje się na optymalizacji, przy czym lepsze rozwiązania oznaczają często rozwiązania tańsze, krótsze lub szybsze.

P: Jak wyraża się TSP?

O: TSP najłatwiej wyrazić jako graf opisujący położenie zbioru węzłów.

P: Kto pierwszy zdefiniował TSP?

O: Problem podróżującego komiwojażera został zdefiniowany w XIX wieku przez irlandzkiego matematyka W. R. Hamiltona i brytyjskiego matematyka Thomasa Kirkmana.

P: Kto badał go dalej w latach 30-tych?

O: W latach trzydziestych XX wieku badali ją matematycy Karl Menger w Wiedniu i na Harvardzie.

P: Co wprowadził wkrótce potem Hassler Whitney?

O: Hassler Whitney z Uniwersytetu Princeton wprowadził nazwę "problem wędrującego komiwojażera" wkrótce po jego zdefiniowaniu.

P: Co oznacza w tym kontekście "lepsze rozwiązanie"?

O: W tym kontekście lepsze rozwiązanie często oznacza rozwiązanie, które jest tańsze, krótsze lub szybsze.

P: Jaki algorytm został uznany przez Mengera za oczywisty podczas badania TSP?

O: Menger podczas badania TSP uznał za oczywisty algorytm brute-force i zauważył, że stosowanie heurystyki najbliższego sąsiada nie zawsze daje optymalne wyniki.

Powiązane artykuły

Autor

AlegsaOnline.com Problem komiwojażera (TSP) — minimalny cykl Hamiltona w grafie ważonym

URL: https://pl.alegsaonline.com/art/101255

Udostępnij

Źródła
  • universalteacherpublications.com : "Travelling Salesman Problem, Operations Research"
  • homepages.cwi.nl : PS
  • homepages.cwi.nl : PDF
  • math.uwaterloo.ca : "Optimal TSP tours"