Problema generalizată a vânzătorului călător este o problemă de optimizare combinatorie care este o generalizare a binecunoscutei probleme ale vânzătorului călător . Datele inițiale ale problemei sunt un set de vârfuri, o partiție a acestui set în așa-numitele clustere, precum și o matrice a costurilor de tranziție de la un vârf la altul. Problema este de a găsi cea mai scurtă cale închisă care ar vizita un vârf în fiecare cluster (există și o modificare când calea trebuie să viziteze cel puțin un vârf în fiecare cluster).
În funcție de proprietățile matricei de cost, problema poate fi simetrică dacă matricea este simetrică sau asimetrică în caz contrar. Unul dintre cele mai frecvent considerate cazuri speciale ale unei probleme simetrice este problema euclidiană sau plană, când fiecare vârf are propriile coordonate în spațiu, iar costul deplasării între vârfuri corespunde distanței euclidiene dintre punctele corespunzătoare din spațiu.
La fel ca problema vânzătorului călător , problema generalizată a vânzătorului ambulant aparține clasei de probleme NP-hard . Pentru a dovedi, este suficient să luăm în considerare un caz special al problemei, când fiecare cluster conține exact un vârf, iar problema se reduce la o simplă problemă de vânzător ambulant, care este NP-hard.
Există două metode eficiente pentru rezolvarea exactă a problemei generalizate ale vânzătorului ambulant: Brunch-and-Cut [1] , precum și o metodă de reducere a problemei generalizate la problema obișnuită a vânzătorului călător, metodele de rezolvare care sunt bine studiate. [2] .
În 2002, s-a arătat [3] că problema generalizată a vânzătorului ambulant poate fi redusă la o problemă obișnuită a vânzătorului călător de aceeași dimensiune prin înlocuirea matricei de greutate. .
Cele mai simple metode euristice pentru rezolvarea problemei generalizate ale vânzătorului ambulant includ algoritmul lacom , care la fiecare pas selectează marginea celui mai mic cost din setul de muchii care nu încalcă corectitudinea soluției, precum și cel mai eficient Nearest Neighbor. metoda, care pleacă de la un vârf arbitrar și la fiecare pas se adaugă la soluție, vârful cel mai apropiat de ultimul adăugat. Există, de asemenea, alte euristici care sunt modificări ale euristicilor binecunoscute pentru problema obișnuită a vânzătorului călători.
În special, sunt adesea folosite următoarele tipuri de căutare locală :
unde este numerotat clusterul . Aplicând căutarea celei mai scurte căi într-un grafic special construit, algoritmul găsește un minim local pentru , unde . Astfel, Cluster Optimization aparține clasei de căutări locale cu o vecinătate foarte mare , adică explorează o vecinătate exponențială în timp polinomial.
MetaeuristicaDomeniul algoritmilor genetici, care și-au demonstrat eficiența pentru această sarcină, a fost bine studiat. Prima lucrare în acest domeniu aparține lui Snyder și Duskin [4] , ulterior rezultate importante au fost obținute de Silbergoltz și Golden [5] , Gyuten și Karapetyan [6] .
Probleme NP-complete | |
---|---|
Problema de maximizare a stivuirii (ambalării) |
|
teoria grafurilor teoria multimelor | |
Probleme algoritmice | |
Jocuri de logică și puzzle-uri | |