Problem komiwojażera/DFS

0

Czesc, mam do rozwiązania następujący problem:
Znamy odległości/czasy przejazdu między bankomatami i "wagi" bankomatów
(z którego bankomatu ludzie ile pieniędzy statystycznie wyciągają i ile
aktualnie tam się znajduje) i trzeba zaplanować optymalnie trasę przejazdu
samochodu z pieniędzmi, czyli tak, żeby jak najszybciej obskoczyć możliwie
dużo bankomatów ze szczególnym uwzględnieniem tych najgłodniejszych. Wiemy
też ile pieniędzy mamy w samochodzie. Im dłużej i im ważniejszy bankomat
jest "głodny" tym bardziej klienci zniechęcają się do naszego banku, co
generuje straty. Im dłużej trwa przejazd, tym większe koszty paliwa.

Jak skwalifikowalibscie ten problem?

0

jezeli pieniedzy w samochodzie wystarcza na wszystkie:
NP:komiwojażer
potencjalne trasy po wszystkich, wybor najkrotszej lacznej

jeżeli pieniedzy wystarcza na część:
NP:pakowacz z wagami
wybieranie zbioru najwazniejszych (dWaga>0) bankomatow najlepiej sumujacych sie do naszej sumy w samochodzie
lub NP:komiwojazer
jezeli do pakowacza dolaczysz kare (dWaga<0) za odległość pomiędzy innymi waznymi bankomatami ktore chcialbys dolaczyc do zbioru

jezeli chcesz uwzglednic waznosc bankomatow w taki sposob, kolejnosc odwiedzania gra role - odwiedzenie niewazny-niewazny-WAZNY jest gorsze od WAZNY-niewazny-niewazny, to moglbym zaproponowac dynamiczna modyfikacje wag w komiwojazerze, w sensie, sztucznie zanizac odleglosci do punktow ktore maja wysoka wazność --- ustalic przelicznik, waznosc jako % czy ^ modyfikator do odleglosci.. tak czy owak. NP

czy o jaka klasyfikacje Ci chodzi?

0

Chodziło mi tutaj o sposób rozwiązania.

0

Musisz najpierw określic co jest tutaj ważniejsze, bo takie stwierdzenie

jak najszybciej obskoczyć możliwie dużo bankomatów ze szczególnym uwzględnieniem tych najgłodniejszych

nie jest zbyt precyzyjne. A jak juz to okreslisz, to trzeba by zrobić poprawkę wartości krawędzi grafu (np. zmniejszając wagę krawędzi jeśli bankomat jest bardziej głodny). Potem to już jest właściwie komiwojażer.
Jak rozwiązać? To jest zwykły problem minimalizacji funkcji celu. Jeśli interesuje cię rozwiązanie przybliżone to mozesz próbować jakimś wyżarzaniem, algorytmem mrówkowym, albo jakimś innym algorytmem tego typu.

0

Mi tam sie zawsze komiwojażer kojarzył z algorytmem genetycznym. Jesli ma to być wynik przybliżony to można sprobować

1 użytkowników online, w tym zalogowanych: 0, gości: 1