Problem przepływu przy minimalnych kosztach

Problem przepływu o minimalnym koszcie ( MCFP ) to problem optymalizacyjny i decyzyjny mający na celu znalezienie najtańszego możliwego sposobu przesłania określonej ilości przepływu przez sieć przepływową . Typowe zastosowanie tego problemu polega na znalezieniu najlepszej trasy dostawy z fabryki do magazynu, gdzie sieć drogowa wiąże się z pewną przepustowością i kosztami. Problem przepływu przy minimalnych kosztach jest jednym z najbardziej fundamentalnych spośród wszystkich problemów związanych z przepływem i cyrkulacją, ponieważ większość innych tego typu problemów można przedstawić jako problem przepływu przy minimalnych kosztach, a także można go efektywnie rozwiązać za pomocą algorytmu simpleks sieci .

Definicja

Sieć przepływów jest skierowanym z wierzchołkiem źródłowym ujścia , gdzie każda krawędź ma pojemność , przepływ i kosztuje z większość algorytmów przepływu o minimalnych kosztach obsługujących krawędzie z kosztami ujemnymi. Koszt wynosi . Problem wymaga pewnej ujścia .

Definicja problemu polega na zminimalizowaniu całkowitego kosztu przepływu przez wszystkie krawędzie:

z ograniczeniami

Ograniczenia wydajności :
Symetria skośna :
Zachowanie przepływu :
Wymagany przepływ :

Stosunek do innych problemów

Odmianą tego problemu jest znalezienie przepływu, który jest maksymalny, ale ma najniższy koszt wśród rozwiązań z maksymalnym przepływem. Można to nazwać problemem maksymalnego przepływu o minimalnym koszcie i jest to przydatne do znajdowania dopasowań o minimalnym koszcie maksymalnym .

W przypadku niektórych rozwiązań znalezienie maksymalnego przepływu przy minimalnym koszcie jest proste. Jeśli nie, maksymalny przepływ można znaleźć, binarne na .

Powiązanym problemem jest problem obiegu minimalnych kosztów , który można wykorzystać do rozwiązania przepływu minimalnych kosztów. Osiąga się następnie utworzenie dodatkowej krawędzi od zlewu o pojemności i dolna granica , zmuszając całkowity przepływ z do również być .

Następujące problemy są szczególnymi przypadkami problemu przepływu minimalnych kosztów (dostarczamy po kolei krótkie szkice każdej możliwej redukcji):

  • Problem najkrótszej ścieżki (pojedyncze źródło). Wymagaj, aby wykonalne rozwiązanie problemu przepływu minimalnych kosztach wysyłało jedną jednostkę przepływu z wyznaczonego zlewu . Daj wszystkim krawędziom nieskończoną pojemność.
  • Problem z maksymalnym przepływem . Niech wszystkie węzły mają zerowe zapotrzebowanie i niech koszt związany z przejściem przez dowolną krawędź będzie równy zeru. nową bieżącego _ _ jednostkowy koszt wysłania i nieskończona pojemność. (Ta redukcja jest również wspomniana w problemie z krążeniem ).
  • Problem z przydziałem . Załóżmy że każdy zestaw partycji w dwupartycji ma i oznacz dwupartycję przez . Daj każdemu i daj każdemu popyt \ . Każda krawędź ma mieć jednostkową pojemność.

Rozwiązania

Problem przepływu minimalnych kosztów można rozwiązać za pomocą programowania liniowego , ponieważ optymalizujemy funkcję liniową, a wszystkie ograniczenia są liniowe.

Poza tym istnieje wiele algorytmów kombinatorycznych, obszerne badanie można znaleźć w rozdziale . Niektóre z nich są uogólnieniami algorytmów maksymalnego przepływu , inne wykorzystują zupełnie inne podejścia.

Dobrze znane podstawowe algorytmy (mają wiele odmian):

Aplikacja

Dopasowanie dwustronne o minimalnej wadze

Zmniejszanie dwustronnego dopasowania minimalnej wagi do problemu maksymalnego przepływu przy minimalnym koszcie

Biorąc pod uwagę graf dwudzielny G = ( A B , E ) , celem jest znalezienie dopasowania o maksymalnej liczności w G , które ma minimalny koszt. Niech w : E R będzie funkcją wagi na krawędziach E . Problem dwustronnego dopasowania minimalnej wagi lub problem przypisania polega na znalezieniu idealnie dopasowanego M E , którego całkowita waga jest zminimalizowana. Chodzi o to, aby zredukować ten problem do problemu przepływu w sieci.

Niech G′ = ( V′ = ZA b , mi′ = mi ) . Przypisz pojemność wszystkich krawędzi w E′ do 1. Dodaj wierzchołek źródłowy s i połącz go ze wszystkimi wierzchołkami w A′ i dodaj wierzchołek ujścia t i połącz wszystkie wierzchołki z grupy B′ z tym wierzchołkiem. Pojemność wszystkich nowych krawędzi wynosi 1, a ich koszt 0. Udowodniono, że w G istnieje idealne dopasowanie dwudzielne o minimalnej wadze G′ występuje minimalny przepływ kosztów . [ martwy link ]

Zobacz też

  1. Bibliografia   _ _ Thomas L. Magnanti i James B. Orlin (1993). Przepływy sieciowe: teoria, algorytmy i zastosowania . Prentice-Hall, Inc. ISBN 978-0-13-617549-0 .
  2. Bibliografia   _ „Pierwotna metoda minimalnych przepływów kosztów z zastosowaniami do problemów przydziału i transportu”. Nauka o zarządzaniu . 14 (3): 205–220. CiteSeerX 10.1.1.228.7696 . doi : 10.1287/mnsc.14.3.205 .
  3. ^ Refael Hassin (1983). „Problem przepływu minimalnych kosztów: ujednolicone podejście do istniejących algorytmów i nowy algorytm wyszukiwania drzewa”. Programowanie matematyczne . 25 : 228–239. doi : 10.1007/bf02591772 .
  4. ^ Thomas R. Ervolina i S. Thomas McCormick (1993). „Dwa silnie wielomianowe algorytmy anulowania cięcia dla przepływu sieci o minimalnych kosztach” . Dyskretna matematyka stosowana . 4 : 133-165. doi : 10.1016/0166-218x(93)90025-j .
  5. ^ Andrew V. Goldberg i Robert E. Tarjan (1989). „Znajdowanie obiegów o minimalnych kosztach poprzez anulowanie negatywnych cykli”. Dziennik ACM . 36 (4): 873–886. doi : 10.1145/76359.76368 .
  6. ^ Jack Edmonds i Richard M. Karp (1972). „Teoretyczne ulepszenia wydajności algorytmicznej w przypadku problemów z przepływem sieci” . Dziennik ACM . 19 (2): 248–264. doi : 10.1145/321694.321699 .
  7. ^ Andrew V. Goldberg i Robert E. Tarjan (1990). „Znajdowanie obiegów o minimalnych kosztach poprzez kolejne przybliżenia”. Matematyka Oper. Rez . 15 (3): 430–466. doi : 10.1287/moor.15.3.430 .
  8. ^ James B. Orlin (1997). „Algorytm simpleks sieci pierwotnej w czasie wielomianowym dla przepływów o minimalnych kosztach”. Programowanie matematyczne . 78 (2): 109–129. doi : 10.1007/bf02614365 . hdl : 1721.1/2584 .

Linki zewnętrzne