Rozwiązywanie Zadań Transportowych metodą potencjałów

Transkrypt

Rozwiązywanie Zadań Transportowych metodą potencjałów
Rozwiązywanie zadania transportowego metodą potencjałów
1. Jeśli zadanie jest otwartym zadaniem transportowym (suma podaŜy dostawców nie jest równa sumie popytu
odbiorców) to naleŜy zbilansować zadanie przez wprowadzenie fikcyjnego dostawcy albo odbiorcy. Przewóz
od fikcyjnego dostawcy do jakiegoś odbiorcy interpretujemy jako niezrealizowany popyt tego odbiorcy, a
przewóz od jakiegoś rzeczywistego dostawcy do fikcyjnego odbiorcy jako niewysłaną podaŜ tego dostawcy.
Koszty przewozu od fikcyjnego dostawcy lub do fikcyjnego odbiorcy wynoszą zazwyczaj zero, chyba, Ŝe mają
swoją interpretację jako np. koszty magazynowania albo koszty niewykorzystanych moŜliwości produkcyjnych
przy przewozach do fikcyjnego odbiorcy.
2. Wyznacz wyjściowe rozwiązanie bazowe przy pomocy metody Minimalnego Elementu Macierzy
(polegającej na umieszczaniu największych moŜliwych przewozów na aktualnie dostępnych najtańszych
trasach).
Rozwiązanie jest bazowe jeśli wstawimy n+m-1 dopuszczalnych przewozów (gdzie n to ilość dostawców, a
m odbiorców). Wyznaczonych przewozów moŜe być mniej niŜ n+m-1 (np. wtedy, gdy na którejś trasie podaŜ
równa jest popytowi - "skreślamy" wtedy naraz całą podaŜ w wierszu i cały popyt w kolumnie) – mówmy
wtedy o degeneracji – jedna ze zmiennych bazowych przyjmuje wartość zero.
3. Obliczamy wartości αi dla dostawców i βj dla odbiorców na podstawie kosztów przewozu na trasach
bazowych (czyli tam, gdzie są przewozy) wg wzoru:
αi+β
β j, czyli:
cij=α
βj=cij-αi
αi=cij-βj
przyjmujemy, Ŝe któryś z parametrów jest równy zero, najczęściej α1=0
4. Na podstawie wartości αi i βj obliczamy wartości potencjałów ∆ij dla tras niebazowych (czyli tam, gdzie
nie ma przewozów) wg wzoru:
∆ij=cij-(α
αi+β
βj)
(delty dla zmiennych/tras bazowych są równe zero - nie trzeba ich obliczać)
Otrzymane rozwiązanie jest optymalne jeśli wszystkie ∆ij≥0.
≥0 Dla ∆ij=0 mamy więcej niŜ jedno rozwiązanie
optymalne.
Jeśli któraś z ∆ij<0 to uzyskane rozwiązanie nie jest optymalne. Wprowadzenie na tej trasie (o ujemnej wartości
potencjału) przewozu spowoduje spadek ogólnych kosztów przewozów. Jeśli więcej niŜ jeden potencjał jest
ujemny to wybieramy najmniejszy z nich (najbardziej ujemny) i wprowadzamy przewóz na tej trasie. Trasa ta
nazywana jest trasą centralną. Tworzymy cykl z udziałem tej trasy oraz tras z przewozami. Cykl nie musi mieć
formy prostokąta, a w "rogach" cyklu znajdują się zawsze przewozy (oprócz jednego, gdzie z powodu
ujemnego potencjału chcemy wstawić przewóz). W cyklu na przemian zwiększamy i zmniejszamy przewozy
(tak by w danym wierszu/kolumnie pozostały bez zmian - zachowanie dopuszczalności zadania) o wartość
najmniejszego ze zmniejszanych przewozów.
Teraz przechodzimy do punktu 3 by sprawdzić optymalność nowego rozwiązania.
5. W przypadku zadania pośrednika w pierwszym kroku obliczamy jednostkowe dochody osiągane na kaŜdej
z tras. Zawsze tworzymy fikcyjnego dostawcę o podaŜy równej popytowi wszystkich odbiorców oraz
fikcyjnego odbiorcę o popycie równym podaŜy wszystkich dostawców. Dochody uzyskiwane na przewozach
od fikcyjnego dostawcy i do fikcyjnego odbiorcy są równe zero. Szukając wyjściowego rozwiązania bazowego
posługujemy się metodą maksymalnego elementu macierzy, a po obliczeniu αi i βj oraz ∆ij mówimy, Ŝe
rozwiązanie jest optymalne jeśli wszystkie delty są niedodatnie. Jeśli któraś z nich jest zerowa to mamy więcej
rozwiązań optymalnych. JeŜeli choć jedna delta jest dodatnia to wprowadzenie na tej trasie przewozu zwiększy
nam zysk pośrednika.
6. Czasami konieczne jest zablokowanie jakiejś trasy, jeśli przewóz na niej nie jest dozwolony lub chcemy
zaspokoić w pełni popyt odbiorcy (wtedy blokujemy odpowiadającą mu podaŜ fikcyjnego dostawcy) albo
musimy odebrać całą podaŜ jakiegoś dostawcy (blokada odpowiadającego mu popytu fikcyjnego odbiorcy).
Zablokować trasę moŜna przez przypisanie jej bardzo duŜego kosztu albo bardzo duŜej straty w zadaniu
pośrednika.