Przykład 22. W pewnym dużym przedsiębiorstwie 4 sekretarki należy przydzielić do prowadzenia 4 różnych prac biurowych. Z ostatnich zapisów znany jest czas (w min) zajmujący tym sekretarkom wykonywanie poszczególnych prac, który podano w tabl. 109.
Tablica 109
Sekretarki |
Czas niezbędny przy wykonywaniu pracy | |||
1 |
2 |
3 |
4 | |
1 |
420 |
480 |
240 |
360 |
2 |
480 |
420 |
300 |
360 |
3 |
420 |
540 |
300 |
420 |
4 |
360 |
480 |
360 |
480 |
Zakładając specjalizację sekretarek, tzn. że każda z nich będzie wykonywać tylko jedną pracę, określić optymalny przydział z punktu widzenia minimalizacji łącznego czasu wykonywania prac.
Rozwiązanie. Ogólnie model powyższego zagadnienia można zapisać następująco:
4
*11+*12+*13+ *14 ~ ^ X1j = 1,
1=1
> = 1
4
*12 + *22 + *32 + *42 = X *i2 =
i= 1
4
4
*14+ *24+ *34 +*44 = X *i4 =
i= 1
) każda sekretarka może wykonywać tylko jedną pracę;
4
’
> każda praca może być wykonywana tylko przez jedną sekretarkę.
W funkcji celu należy zminimalizować łączny czas pracy sekretarek, czyli: ĄxtJ) — 420x 480x j 2 + 240x j 3 4- 360x j 4 4-
4-480x21 4-420x22 4~300x23 + 360x244-4- 420x31 4- 540x32 + 300x33 + 420x34 4-+ 360x41 +480x42 4- 360x43 4- 480x44 -> min.
Model powyższy jest szczególnym przypadkiem zadań PL - szczególnym, gdyż zmienne decyzyjne przyjmują tylko dwie wartości: jeden lub zero. xij = 1 oznacza przydzielenie j-ej pracy i-tej sekretarce, xy = 0 oznacza, że i-ta sekretarka nie będzie wykonywać j-ej pracy.
Również ten typ zagadnień może być rozwiązywany za pomocą algorytmu simpleks. Obliczenia są jednak bardzo pracochłonne, gdyż należałoby rozważyć wszystkie możliwe kombinacje wartości xu, spełniające warunki ograniczające. Liczba tych kombinacji jest równa N\ (przy założeniu, że macierz A jest macierzą kwadratową, a więc P = N).
Istnieje jednak bardzo prosty algorytm (zwany często algorytmem węgierskim, oparty jest bowiem na twierdzeniu węgierskiego matematyka Denesa Ko-niga), który pozwala na stosunkowo szybkie uzyskanie rozwiązania optymalnego.
Punkt wyjścia (krok 1) omawianego algorytmu stanowi takie przekształcenie macierzy kosztów A = [ay], aby w każdym wierszu i w każdej kolumnie występowało przynajmniej jedno zero. W tym celu postępuje się tak jak w metodzie minimalnego elementu macierzy, tzn. od każdego wiersza macierzy współczynników funkcji celu odejmujemy jego najmniejszy element i - jeżeli trzeba1 - od każdej kolumny tak przekształconej macierzy odejmujemy jej najmniejszy element.
Kolejne, dalsze kroki składające się na algorytm węgierski, to:
2. Skreślenie w przekształconej macierzy współczynników funkcji celu wierszy i kolumn zawierających zera możliwie najmniejszą liczbą linii. Jeżeli najmniejsza liczba linii niezbędnych do pokrycia wszystkich zer jest równa wymiarowi macierzy (N), to otrzymane rozwiązanie jest rozwiązaniem optymalnym.
3. Ustalenie rozwiązania optymalnego, polegającego na takiej konstrukcji macierzy [xy], aby jedynki znalazły się tylko na tych polach (w tych klatkach), na których w przekształconej macierzy współczynników funkcji celu występują zera (przy tym trzeba pamiętać, aby w każdym wierszu i w każdej kolumnie wystąpiła tylko jedna jedynka).
4. Jeżeli liczba skreśleń jest mniejsza od wymiaru macierzy (N), w bieżącej (przekształconej) macierzy kosztów należy znaleźć najmniejszy nie skreślony element i ten element:
117
Może się zdarzyć, iż po odjęciu najmniejszych elementów wierszy również w każdej kolumnie występuje już zero.