Rozwiązanie przykładowego problemu komiwojażera
Rozwiązanie przykładowego problemu komiwojażera: najkrótszą ścieżką przechodzącą przez wszystkie czerwone punkty jest czarna pętla.

Problem komiwojażera (ang. travelling salesman problem, TSP) – zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym[1][2].

Nazwa pochodzi od typowej ilustracji problemu, przedstawiającej go z punktu widzenia wędrownego sprzedawcy (komiwojażera): dane jest n miast, które komiwojażer ma odwiedzić, oraz odległość / cena podróży / czas podróży pomiędzy każdą parą miast. Celem jest znalezienie najkrótszej / najtańszej / najszybszej drogi łączącej wszystkie miasta, zaczynającej się i kończącej się w określonym punkcie[1][2].

Symetryczny problem komiwojażera (STSP) polega na tym, że dla dowolnych miast A i B odległość z A do B jest taka sama jak z B do A. W asymetrycznym problemie komiwojażera (ATSP) odległości te mogą być różne.

Główną trudnością problemu jest duża liczba danych do analizy. W przypadku symetrycznego problemu komiwojażera dla n miast liczba kombinacji wynosi [3], tak więc dla 20 miast uzyskujemy wynik

Rozwinięciem problemu komiwojażera jest problem marszrutyzacji.

Przykładowe algorytmy znajdujące przybliżone rozwiązania problemu komiwojażera to algorytm najbliższego sąsiada i algorytm Christofidesa.

Historia

edytuj

Początek badań nad problemem komiwojażera nie jest jasny. Wspomina o nim podręcznik z 1832[a], który zawiera przykładową trasę po Niemczech i Szwajcarii, lecz nie zawiera żadnych matematycznych uzasadnień.

W 1859 irlandzki matematyk William Rowan Hamilton sformułował problem istnienia cyklu o długości n w grafie n-wierzchołkowym[4].

Za pierwszego autora, który sformalizował matematycznie problem komiwojażera uznaje się austriackiego matematyka Karla Mengera, który zdefiniował go w 1930[5] zwracając szczególną uwagę na trudność w obliczeniu rozwiązania[6]. Niezależnie od niego ten sam problem poruszył w 1934 Hassler Witney na wykładzie w Princeton University[5]. Natomiast pierwsza próba rozwiązania problemu miała miejsce w 1937, gdy Merrill Flood pracował nad rozwiązaniem wyznaczania tras dla autobusów szkolnych[5].

Z uwagi na bardzo prosty opis problemu oraz opinię o bardzo trudnym obliczeniowo procesie optymalizacji, problem komiwojażera stał się bardzo popularny[5]. Fascynacja ta trwa od lat pięćdziesiątych XX wieku do dziś, zarówno wśród amatorów jak i profesjonalistów[5][2].

Przykład

edytuj

Miasta: Kutno, Warszawa, Poznań, Kraków

Odległości:

Kutno Warszawa Poznań Kraków
Kutno 0 130 180 300
Warszawa 130 0 320 350
Poznań 180 320 0 360
Kraków 300 350 360 0

Należy znaleźć najkrótszą trasę zaczynającą się np. z Kutna, przechodzącą jednokrotnie przez wszystkie pozostałe miasta i wracającą do Kutna.

Problem ten jest NP-trudny[1].

Wersja decyzyjna

edytuj

W wersji decyzyjnej problemu, danymi są graf i pewna liczba n, należy odpowiedzieć czy istnieje trasa komiwojażera krótsza od n.

Tak sformułowany problem jest NP-zupełny.

Uwagi

edytuj
  1. Oryginalny tytuł: Der Handlungsreisende – wie er sein soll und was er zu thun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiß zu sein – von einem alten Commis-Voyageur

Przypisy

edytuj
  1. a b c Sysło, Deo i Kowalik 1995 ↓, s. 282.
  2. a b c Iwo, Iwona Białynicki-Birula, Białynicka-Birula: Modelowanie rzeczywistości. Warszawa: Prószyński i S-ka SA, 2002, s. 14-18. ISBN 83-7255-103-0.
  3. Problem komiwojażera, [w:] Jerzy Wałaszek, Algorytmy i struktury danych (pol.).
  4. Sysło, Deo i Kowalik 1995 ↓, s. 283.
  5. a b c d e Sysło, Deo i Kowalik 1995 ↓, s. 314.
  6. The traveling salesman and the assignement problem, [w:] Alexander Schrijver, Combinatorial Optimization: Polyhedra and Efficiency, s. 51 (ang.).

Bibliografia

edytuj

Linki zewnętrzne

edytuj

📚 Artikel Terkait di Wikipedia

Optymalizacja (matematyka)

Optimization. Cambridge: Cambridge University Press. ISBN 0-521-83378-7. Link Gill, P. E.; Murray, W.; Wright, M. H. (1982). Practical Optimization.

Algorytm mrówkowy

zainspirowany zachowaniem mrówek poszukujących pożywienia Dorigo, M., 1992. Optimization, Learning and Natural Algorithms, rozprawa doktorska (PhD thesis), Politecnico

Aleksander Mądry

Algorithms and Optimization. Prelegent na zaproszenie (ang. invited lecturer) z wykładem „Gradients and flows: Continuous optimization approaches to the

Algorytm najbliższego sąsiada

, L.A.L.A. McGeoch L.A.L.A., The Traveling Salesman Problem: A Case Study in Local Optimization [online] [dostęp 2016-10-12]  (ang.). Algorytm najbliższego

Metaheurystyka

mrówkowy algorytm zachłanny lokalne przeszukiwanie PeSOA: Penguins Search Optimization Algorithm symulowane wyżarzanie Tabu Search heurystyka Fred Glover. Future

Zgodność sztucznej inteligencji

2025-05-13]  (ang.). url-auto JonathanJ. Stray JonathanJ., Aligning AI Optimization to Community Well-Being, „International Journal of Community Well-Being”

Problem zanikających gradientów

Problem zanikających gradientów – problem dużych różnic w wielkościach gradientów pomiędzy wcześniejszymi i późniejszymi warstwami występujący podczas

Duży model językowy

wykorzystaniem algorytmów uczenia przez wzmacnianie takich jak proximal policy optimization (PPO). Zobacz też: Mieszanka ekspertów. Największe modele językowe bywają