Algoritm aproximativ pentru găsirea p-medianelor

Metoda euristică pentru găsirea p-medianei este următoarea: vârfurile sunt selectate aleatoriu , ele formează mulțimea inițială , aproximând mulțimea p-mediană . Apoi se află dacă un vârf poate înlocui vârful (ca un vârf median), pentru care se construiește un nou set și se compară rapoartele de transmisie . Dacă , atunci înlocuiți cu , care aproximează mai bine mulțimea p-mediană . Apoi, mulțimea este analizată în mod similar și așa mai departe, până când se construiește mulțimea, care nu poate fi schimbată conform principiului de mai sus.

Algoritm

Pasul 1. Alegeți un set de p vârfuri ca o aproximare inițială a p-mediană. Și să numim toate vârfurile „netestate”.

Pasul 2. Luați un vârf arbitrar „netestat” și pentru fiecare vârf calculați „incrementul” Δij corespunzător înlocuirii vârfului cu vârful , adică calculați .

Pasul 3. Găsiți de către toți .

a) Dacă , atunci numiți vârful „testat” și treceți la pasul 2.

b) Dacă , atunci , numiți vârful „testat” și treceți la pasul 2.

Pasul 4. Repetați pașii 2 și 3 până când toate vârfurile de la sunt testate. Această procedură este concepută ca un ciclu. Dacă, în timpul ultimului ciclu, nu există înlocuiri de vârfuri la pasul 3(a), atunci treceți la pasul 5. În caz contrar, adică dacă a fost făcută o înlocuire, numiți toate nodurile „neîncercate” și reveniți la pasul 2.

Pasul 5. Opriți. Setul curent este o aproximare adecvată a mulțimii p-mediane .

Exemplu

Este ușor de observat că algoritmul de mai sus nu oferă răspunsul optim în toate cazurile. Să luăm în considerare un exemplu (numerele din apropierea muchiilor sunt egale cu costurile corespunzătoare ale muchiei, toate vârfurile au aceeași greutate unitară):

Dacă căutăm mediana 2 și luăm {x3, x6} ca setul inițial S cu raportul de transmisie , atunci nicio înlocuire a unui singur vârf nu duce la un set cu un raport de transmisie mai mic. Totuși, mulțimea {x3, x6} nu este mediana 2 a acestui grafic, deoarece există două mulțimi cu 2 mediane cu raport 7: {x1, x4} și {x2, x5}.

Literatură

Link -uri