Wykład z modelowania matematycznego. Zagadnienie transportowe.



Podobne dokumenty
Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Rozwiązanie Ad 1. Model zadania jest następujący:

ZAGADNIENIE TRANSPORTOWE

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

OPTYMALIZACJA W LOGISTYCE

ZAGADNIENIE TRANSPORTOWE

Zagadnienie transportowe

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

ZAGADNIENIE TRANSPORTOWE(ZT)

BADANIA OPERACYJNE pytania kontrolne

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

BADANIA OPERACYJNE Zagadnienie transportowe

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1

ZAGADNIENIA TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE (część 1)

Zadanie niezbilansowane. Gliwice 1

ZAGADNIENIE TRANSPORTOWE (część 2)

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Zagadnienie transportowe i zagadnienie przydziału

Programowanie liniowe

Teoretyczne podstawy programowania liniowego

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Zadanie transportowe

Wykład z modelowania matematycznego. Algorytm sympleks.

Programowanie liniowe

Programowanie liniowe

1 Przykładowe klasy zagadnień liniowych

PROGRAMOWANIE KWADRATOWE

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW

Układy równań i nierówności liniowych

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Programowanie liniowe

Programowanie nieliniowe

Rozdział 1 PROGRAMOWANIE LINIOWE

OPTYMALIZACJA DYSKRETNA

OPTYMALIZACJA W LOGISTYCE

Metoda simpleks. Gliwice

Algebra liniowa. Macierze i układy równań liniowych

TOZ -Techniki optymalizacji w zarządzaniu

Metody Ilościowe w Socjologii

Wykład 6. Programowanie liniowe

Zagadnienie transportowe

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

Programowanie liniowe. Tadeusz Trzaskalik

Statystyka z elementami badań operacyjnych BADANIA OPERACYJNE - programowanie liniowe -programowanie sieciowe. dr Adam Sojda

Klasyczne zagadnienie przydziału

Standardowe zadanie programowania liniowego. Gliwice 1

Rozwiązywanie problemów z użyciem Solvera programu Excel

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Badania operacyjne. Dr hab. inż. Adam Kasperski, prof. PWr. Pokój 509, budynek B4 Materiały do zajęć dostępne na stronie:

Metody numeryczne Wykład 4

Macierze. Rozdział Działania na macierzach

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks

Badania Operacyjne Ćwiczenia nr 6 (Materiały)

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

1. Który z warunków nie jest właściwy dla powyższego zadania programowania liniowego? 2. Na podstawie poniższej tablicy można odczytać, że

5. Rozwiązywanie układów równań liniowych

c j x x

Programowanie liniowe metoda sympleks

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

3. Macierze i Układy Równań Liniowych

Wieloetapowe zagadnienia transportowe

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Elementy Modelowania Matematycznego

13 Układy równań liniowych

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

Wykład 5. Metoda eliminacji Gaussa

Zagadnienie transportowe. Hurtownia Zapotrzebowanie (w tonach)

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

Wprowadzenie do badań operacyjnych - wykład 2 i 3

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Definicja problemu programowania matematycznego

PRZEWODNIK PO PRZEDMIOCIE

Badania operacyjne. Lista zadań projektowych nr 2

1 Układy równań liniowych

1 Problem transportowy Wstęp Metoda górnego-lewego rogu Metoda najmniejszego elementu... 11

07 Model planowania sieci dostaw 2Po_1Pr_KT Zastosowanie programowania liniowego

Elementy Modelowania Matematycznego

Agenda. Politechnika Poznańska WMRiT ZST. Piotr Sawicki Optymalizacja w transporcie 1. Kluczowe elementy wykładu

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

METODA ANALITYCZNA Postać klasyczna: z = 5 x 1 + 6x 2 MAX 0,2 x 1 + 0,3x 2 < 18 0,6 x 1 + 0,6x 2 < 48 x 1, x 2 > 0

Układy równań liniowych. Krzysztof Patan

Pyt.1. Podać warunki jakie musi spełniać model matematyczny dla możliwości rozwiązywania metodami programowania liniowego.

Algebra liniowa z geometrią

Matematyka dyskretna dla informatyków

Problem zarządzania produkcją i zapasami

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 1 PROGRAMOWANIE LINIOWE

Zestaw 12- Macierz odwrotna, układy równań liniowych

2. Układy równań liniowych

PRZEWODNIK PO PRZEDMIOCIE

4. O funkcji uwikłanej 4.1. Twierdzenie. Niech będzie dana funkcja f klasy C 1 na otwartym podzbiorze. ϕ : K(x 0, δ) (y 0 η, y 0 + η), taka że

Programowanie liniowe

Transkrypt:

Wykład z modelowania matematycznego. Zagadnienie transportowe. 1

Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana została przez G.B.Dantziga i jest szczególnym przypadkiem algorytmu sympleks. Pierwotnie zagadnienie transportowe było rzeczywiście stosowane do rozwiązywania problemów związanych z transportem, później okazało się, że stosuje się do wielu innych zagadnień praktycznych. Najbardziej znane warianty zagadnienia transportowego to: 1. zagadnienie transportowe (zamknięte i otwarte) 2. zagadnienie transportowo-produkcyjne 3. zagadnienie lokalizacji produkcji 4. zagadnienie minimalizacji pustych przebiegów Pewien produkt dostarczany jest przez m dostawców do n odbiorców. Znane są liczby a i, i N 1,m oznaczające ilość produktu jaką może dostarczyć i-ty dostawca, b j, j N 1,n oznaczające ilość produktu jaką powinien otrzymać j-ty odbiorca oraz c ij, i N 1,m, j N 1,n oznaczające koszt transportu jednostki produktu od i-tego dostawcy do j-tego odbiorcy. Zatem C = [c ij ] M m,n. Macierz C nazywana jest macierzą jednostkowych kosztów transportu. Niech x ij, i N 1,m, j N 1,n oznacza ilość produktu jaka ma być przewieziona od i-tego dostawcy do j-tego odbiorcy. Zatem X = [x ij ] M m,n. Macierz X jest macierzą zmiennych decyzyjnych. Zadanie. Opracować plan przewozu produktu, tak aby łączny koszt transportu był jak najmniejszy. 1 Zagadnienie transportowe zamknięte Przyjmijmy dodatkowe założenie, że m n a i = b j. Warunek ten oznacza, że podaż i popyt się równoważą. Innymi słowy cały zgromadzony towar zostanie wywieziony do odbiorców. Mówimy wtedy, że zadanie jest zamknięte lub zbilansowane. Przy powyższych oznaczeniach i założeniach zagadnienie transportowe zamknięte przyjmuje postać: zminimalizować funkcjonał m n c ij x ij, (1) przy warunkach n x ij = a i (i = 1,..., m), (2) j=1 m x ij = b j (j = 1,..., n), (3) i=1 x ij 0 (i = 1,..., m ; j = 1,..., n). (4) Warunki (2) nazywamy ograniczeniami dla dostawców, a warunki (3) - ograniczeniami dla odbiorców. Funkcjonał (1) nazywamy funkcją kosztu. 2

2 Zagadnienie transportowe otwarte Przyjmijmy teraz założenie, że m n a i > b j. Mówimy wtedy, że zadanie jest otwarte lub niezbilansowane. Założenie oznacza, że nie cały towar zostanie rozwieziony do odbiorców. Przy powyższych oznaczeniach i założeniach zagadnienie transportowe otwarte przyjmuje postać: zminimalizować funkcjonał m n c ij x ij, (5) przy warunkach n x ij a i (i = 1,..., m), (6) j=1 m x ij = b j (j = 1,..., n), (7) i=1 x ij 0 (i = 1,..., m ; j = 1,..., n). (8) Zagadnienie transportowe otwarte sprowadzamy do zagadnienia zamkniętego wprowadzając zmienne dodatkowe x in+1, i = 1,..., m interpretowane jako ilości towaru odebranego przez fikcyjnego odbiorcę, faktycznie zaś nie odebranego przez nikogo. Przyjmujemy, że dla każdego i = 1,..., m zachodzi n x i,n+1 = a i x ij. Ostatecznie otrzymujemy zagadnienie postaci: m n+1 j=1 c ij x ij, (9) przy warunkach n+1 j=1 x ij = a i (i = 1,..., m), (10) m x ij = b j (j = 1,..., n + 1), (11) i=1 x ij 0 (i = 1,..., m ; j = 1,..., n + 1). (12) 3 Zagadnienie transportowe a problem programowania liniowego Macierze problemu PL zapiszmy wykorzystując wielkości występujące w zagadnieniu transportowym: x = [ x 11... x 1n x 21... x 2n... x m1... x mn ] T, (13) c = [ c 11... c 1n c 21... c 2n... c m1... c mn ], (14) 3

b = [ ] T a 1... a m b 1... b n, (15) 1 1... 1 0 0... 0... 0 0... 0 0 0... 0 1 1... 1... 0 0... 0.................... 0 0... 0 0 0... 0... 1 1... 1 A = (16) 1 0... 0 1 0... 0... 1 0... 0 0 1... 0 0 1... 0... 0 1... 0.................... 0 0... 1 0 0... 1... 0 0... 1 Zatem x M mn,1, c M 1,mn, b M m+n,1, A M m+n,mn. Zauważmy, że m n cx = c ij x ij oznacza wartość funkcji kosztu. Z kolei równanie macierzowe Ax = b generuje m + n równań skalarnych postaci: oraz x 11 +... + x 1n = a 1... (17) x m1 +... + x mn = a m x 11 +... + x m1 = b 1... (18) x 1n +... + x mn = b n. Oznacza to, że zagadnienie transportowe można sprowadzić do problemu programowania liniowego. Na podstawie informacji dotyczących tego problemu wiadomo, że do jego rozwiązania można użyć algorytmu sympleks. Zachowują ważność wszystkie teoretyczne faktu leżące u podstaw tego algorytmu. Warto zwrócić uwagę na fakt, że nawet niezbyt rozbudowany problem transportowy prowadzi do dużych macierzy występujących w algorytmie sympleks. I tak na przykład, jeśli jest 3 odbiorców i 4 dostawców, to macierz A ma wymiar 7 12. Co za tym idzie wielościany wypukłe (sympleksy) mają bardzo dużą ilość wierzchołków. Opracowano więc na podstawie algorytmu sympleks bardzo efektywny algorytm rozwiązywania zagadnień transportowych, zwany algorytmem transportowym. Zauważmy ponadto, że sumując równania (17)-(18) otrzymamy, przy wykorzystaniu założenia m i=1 a i = n j=1 b j, tożsamość 0 = 0. Oznacza to, że rząd macierzy A nie przekracza n + m 1. Mozna wykazać, że jest dokładnie równy tej liczbie. 4 Algorytm transportowy Przed podaniem dokładnego algorytmu transportowego potrzebne będą pewne pojęcia pomocnicze. 4

Niech dana będzie macierz M M mn. Parę (i, j), i N 1,m, j N 1,n nazywamy węzłem. Dowolny wiersz lub dowolną kolumnę macierzy M nazywamy linią. Cyklem nazywamy niepusty zbiór węzłów taki, że w każdej linii znajduje się 0 lub 2 węzły tego zbioru. Przykład. Niech M M 34. Przykładowymi cyklami w tej macierzy są zbiory: {(1, 1), (1, 2), (2, 1), (2, 2)} oraz {(1, 1), (1, 3), (2, 3), (2, 4), (3, 4), (3, 1)}. Półcyklem danego cyklu nazywamy podzbiór węzłów cyklu składający się z połowy węzłów tego cyklu taki, że w każdej linii znajduje się co najwyżej jeden węzeł tego podzbioru. Każdy cykl Γ można podzielić na dwa półcykle Γ 1 i Γ 2 w ten sposób, że dowolny jeden węzeł zaliczamy do Γ 1 a następny węzeł cyklu Γ znajdujący się w tej samej linii co węzeł zaliczony do Γ 1 zaliczamy do Γ 2. Procedurę powtarzamy do wyczerpania nieprzypisanych węzłów. Przykład. Dla M M 34 i cyklu {(1, 1), (1, 3), (2, 3), (2, 4), (3, 4), (3, 1)} mamy dwa półcykle: {(1, 1), (2, 3), (3, 4)} oraz {(1, 3), (2, 4), (3, 1)}. Rolę wskaźnika optymalności w algorytmie transportowym pełni zerowa macierz równoważna macierzy kosztów c. Zerową macierzą równoważną macierzy kosztów c względem zbioru bazowego B nazywamy macierz c B = [(c B ) ij ] określoną wzorami (c B ) ij = c ij + u i + v j (i = 1,..., m ; j = 1,..., n + 1) (c B ) ij = c ij + u i + v j = 0 dla (i, j) B, gdzie u 1,..., u m, v 1,..., v n oznaczają odpowiednie stałe. Schemat algorytmu transportowego 1. Wyznaczamy zbiór bazowy B oraz początkowe rozwiązanie dopuszczalne X[B]. 2. Wyznaczamy zerową macierz c B = [(c B ) ij ] równoważną macierzy kosztów c względem zbioru bazowego B: dla jednej z niewiadomych u 1,..., u m, v 1,..., v n przyjmujemy dowolną wartość (np 0), pozostałe niewiadome wyznaczamy z układu równań wyznaczamy c ij + u i + v j = 0 dla (i, j) B, (c B ) ij = c ij + u i + v j (i = 1,..., m ; j = 1,..., n + 1). 3. Jeśli c B 0, to rozwiązanie X[B] jest optymalne. koniec działania algorytmu! 4. Wyznaczamy nowy zbiór bazowy i odpowiadające mu rozwiązanie dopuszczalne: wyznaczamy węzeł (k, l) spełniający kryterium wejścia (c B ) kl = min{(c B ) ij : (i, j) B}, znajdujemy cykl Γ zawarty w zbiorze B {(k, l)} i dzielimy go na dwa półcykle Γ 1 i Γ 2, zaliczając (k, l) do Γ 1, wyznaczamy węzeł (p, q) półcyklu Γ 2 spełniający kryterium wyjścia x[b] pq = min{x[b] ij : (i, j) Γ 2 }, 5

tworzymy zbiór B = (B \ {(p, q)}) {(k, l)}, wyznaczamy x[b ] ze wzoru x[b] ij + x[b] pq dla (ij) Γ 1 x[b ] ij = x[b] ij x[b] pq dla (ij) Γ 2 x[b] ij dla (ij) / Γ. 5. Przechodzimy do punktu 2. Uwaga. Do wyznaczenia rozwiązania początkowego można zastosować jedną z metod: 1. metoda kąta północno-zachodniego, 2. metoda elementu minimalnego macierzy. W obu metodach wybieramy do bazy B węzły (i, j) i przypisujemy elementom x ij macierzy X maksymalną dopuszczalną, dodatnią ilość transportowanego produktu, tak by przy tym spełnione były ograniczenia zarówno dla dostawców jak i odbiorców. W metodzie kąta północno-zachodniego wybieramy węzeł o najmniejszych indeksach i oraz j. W metodzie elementu minimalnego macierzy wybieramy węzeł (i, j), dla którego koszt transportu jest najmniejszy. Uwaga. Przypomnijmy, że w niezdegenerowanym problemie programowania liniowego metoda sympleks kończy się w skończonej liczbie iteracji. Zatem to samo dotyczy algorytmu transportowego. Mówimy, że zagadnienie transportowe jest niezdegenerowane, jeśli każde jego bazowe rozwiązanie dopuszczalne jest niezdegenerowane, tzn. x[b] ij > 0 dla każdego (i, j) B. 5 Przykłady zastosowań algorytmu transportowego Zadanie 1 Trzy magazyny M 1, M 2, M 3 zaopatrują w mąkę cztery piekarnie P 1, P 2, P 3, P 4. Koszty transportu (w zł za tonę) a ij oraz ilość oferowanej mąki przez poszczególne magazyny A i i zapotrzebowanie poszczególnych piekarń B j podaje tabela: M 1 50 40 50 20 70 M 2 40 80 70 30 50 M 3 60 40 70 80 80 B j 40 60 50 50 200 Opracować plan przewozu mąki z magazynów do piekarń, tak aby łączny koszt transportu był jak najmniejszy. Rozwiązanie 3 4 A i = B j zagadnienie transportowe zamknięte zmienne decyzyjne x ij - ilość ton mąki, którą trzeba przewieźć z i-tego magazynu do j-tej piekarni ograniczenia dla dostawców: x 11 + x 12 + x 13 + x 14 = 70 x 21 + x 22 + x 23 + x 24 = 50 x 31 + x 32 + x 33 + x 34 = 80 6

ograniczenia dla odbiorców: x 11 + x 21 + x 31 = 40 x 12 + x 22 + x 32 = 60 x 13 + x 23 + x 33 = 50 x 14 + x 24 + x 34 = 50 warunki brzegowe: x ij 0 funkcja celu: 3 4 K(x ij ) = a ij x ij min Wyznaczenie rozwiązania początkowego metodą kąta północno-zachodniego M 1 50 40 50 20 70 M 2 40 80 70 30 50 M 3 60 40 70 80 80 B j 40 60 50 50 200 M 1 40 30 70 M 2 30 20 50 M 3 30 50 80 B j 40 60 50 50 200 K(x ij ) = 50 40 + 40 30 + 80 30 + 70 20 + 70 30 + 80 50 = 13100 Wyznaczenie rozwiązania początkowego metodą elementu minimalnego macierzy M 1 50 40 50 20 70 M 2 40 80 70 30 50 M 3 60 40 70 80 80 B j 40 60 50 50 200 M 1 20 50 70 M 2 40 10 50 M 3 40 40 80 B j 40 60 50 50 200 K(x ij ) = 40 20 + 20 50 + 40 40 + 70 10 + 40 40 + 70 40 = 8500 Wyznaczenie rozwiązania optymalnego - algorytm transportowy I. Wyznaczamy zbiór bazowy B oraz początkowe rozwiązanie dopuszczalne X[B]: B = {(1, 2), (1, 4), (2, 1), (2, 3), (3, 2), (3, 3)}. 0 20 0 50 X[B] = 40 0 10 0 0 40 40 0 7

Wyznaczamy zerową macierz c B równoważną macierzy kosztów c względem zbioru bazowego B: Z układu równań 40 + u 1 + v 2 = 0 20 + u 1 + v 4 = 0 40 + u 2 + v 1 = 0 70 + u 2 + v 3 = 0 40 + u 3 + v 2 = 0 70 + u 3 + v 3 = 0 przyjmując u 1 = 0, otrzymujemy Stąd u 1 = 0, u 2 = 0, u 3 = 0, v 1 = 40, v 2 = 40, v 3 = 70, v 4 = 20. 10 0 20 0 c[b] = 0 40 0 10 20 0 0 60. Ponieważ niespełniony jest warunek c[b] 0, więc rozwiązanie nie jest optymalne. Z kryterium wejścia do bazy wchodzi (k, l) = (1, 3). W zbiorze B {(k, l)} tworzymy cykl Γ i półcykle Γ 1 oraz Γ 2 : Ponieważ więc z bazy wychodzi węzeł Γ = {(1, 2), (1, 3), (3, 2), (3, 3)}, Γ 1 = {(1, 3), (3, 2)}, Γ 2 = {(1, 2), (3, 3)}. min{x[b] ij : (i, j) Γ 2 } = 20 = x[b] 12 (p, q) = (1, 2). II. Wyznaczamy nowy zbiór bazowy B oraz początkowe rozwiązanie dopuszczalne X[B ]: B = {(1, 3), (1, 4), (2, 1), (2, 3), (3, 2), (3, 3)}. 0 0 20 50 X[B ] = 40 0 10 0 0 60 20 0 Wyznaczamy zerową macierz c B równoważną macierzy kosztów c względem zbioru bazowego B : Z układu równań 50 + u 1 + v 3 = 0 20 + u 1 + v 4 = 0 40 + u 2 + v 1 = 0 70 + u 2 + v 3 = 0 40 + u 3 + v 2 = 0 70 + u 3 + v 3 = 0 8

przyjmując u 1 = 0, otrzymujemy Stąd u 1 = 0, u 2 = 20, u 3 = 20, v 1 = 20, v 2 = 20, v 3 = 50, v 4 = 20. 30 20 0 0 c[b ] = 0 40 0 10 20 0 0 40. Ponieważ niespełniony jest warunek c[b ] 0, więc rozwiązanie nie jest optymalne. Z kryterium wejścia do bazy wchodzi (k, l) = (2, 4). W zbiorze B {(k, l)} tworzymy cykl Γ i półcykle Γ 1 oraz Γ 2 : Ponieważ więc z bazy wychodzi węzeł Γ = {(1, 3), (1, 4), (2, 3), (2, 4)}, Γ 1 = {(2, 4), (1, 3)}, Γ 2 = {(1, 4), (2, 3)}. min{x[b ] ij : (i, j) Γ 2 } = 10 = x[b ] 23 (p, q) = (2, 3). III. Wyznaczamy nowy zbiór bazowy B oraz początkowe rozwiązanie dopuszczalne X[B ]: B = {(1, 3), (1, 4), (2, 1), (2, 4), (3, 2), (3, 3)}. 0 0 30 40 X[B ] = 40 0 0 10 0 60 20 0 Wyznaczamy zerową macierz c B równoważną macierzy kosztów c względem zbioru bazowego B : Z układu równań 50 + u 1 + v 3 = 0 20 + u 1 + v 4 = 0 40 + u 2 + v 1 = 0 30 + u 2 + v 4 = 0 40 + u 3 + v 2 = 0 70 + u 3 + v 3 = 0 przyjmując u 1 = 0, otrzymujemy Stąd u 1 = 0, u 2 = 10, u 3 = 20, v 1 = 20, v 2 = 20, v 3 = 50, v 4 = 20. 30 20 0 0 c[b ] = 20 50 10 0 20 0 0 40. Ponieważ spełniony jest warunek c[b ] 0, więc rozwiązanie jest optymalne. 9

M 1 50 40 50 20 70 M 2 40 80 70 30 50 M 3 60 40 70 80 80 B j 40 60 50 50 200 M 1 30 40 70 M 2 40 10 50 M 3 60 20 80 B j 40 60 50 50 200 K(x ij ) = 50 30 + 20 40 + 40 40 + 30 10 + 40 60 + 70 20 = 8000 Zadanie 2 Trzy magazyny M 1, M 2, M 3 zaopatrują w mąkę cztery piekarnie P 1, P 2, P 3, P 4. Koszty transportu (w zł za tonę) a ij oraz ilość oferowanej mąki przez poszczególne magazyny A i i zapotrzebowanie poszczególnych piekarń B j podaje tabela: M 1 50 40 50 20 100 M 2 40 80 70 30 50 M 3 60 40 70 80 80 B j 40 60 50 50 Przyjmijmy ponadto, że koszty magazynowania wynoszą odpowiednio dla poszczególnych magazynów: 5 zł, 5 zł, 6 zł za tonę. Opracować plan przewozu mąki z magazynów do piekarń, tak aby łączny koszt transportu był jak najmniejszy. Uwaga. Jest to modyfikacja zadania 1 polegająca na tym, że magazyn M 1 posiada nie 70, a 100 ton mąki. Jest więc nadwyżka podaży w stosunku do popytu. Rozwiązanie 3 4 A i = 230 > B j = 200 zagadnienie transportowe otwarte i=1 j=1 Ponieważ jest nadwyżka podaży w stosunku do popytu, to pewna ilość towaru zostanie w magazynie. W celu zrównoważenia zadania wprowadzamy fikcyjnego odbiorcę F. Fikcyjny odbiorca otrzyma nadwyżkę mąki, czyli 230 200 = 30 ton. Po wprowadzeniu dodatkowego odbiorcy zadanie staje się zamkniętym zagadnieniem transportowym. zmienne decyzyjne x ij - ilość ton mąki, którą trzeba przewieźć z i-tego magazynu do j-tej piekarni dla j = 1, 2, 3, 4, a dla j = 5 ilość ton mąki, która zostanie w magazynie ograniczenia dla dostawców: ograniczenia dla odbiorców: x 11 + x 12 + x 13 + x 14 + x 15 = 100 x 21 + x 22 + x 23 + x 24 + x 25 = 50 x 31 + x 32 + x 33 + x 34 + x 35 = 80 x 11 + x 21 + x 31 = 40 x 12 + x 22 + x 32 = 60 x 13 + x 23 + x 33 = 50 x 14 + x 24 + x 34 = 50 x 15 + x 25 + x 35 = 30 10

warunki brzegowe: x ij 0 funkcja celu: 3 5 K(x ij ) = a ij x ij min Wyznaczenie rozwiązania metodą elementu minimalnego macierzy Magazyny P 1 P 2 P 3 P 4 F A i M 1 50 40 50 20 5 100 M 2 40 80 70 30 5 50 M 3 60 40 70 80 6 80 B j 40 60 50 50 30 230 Magazyny P 1 P 2 P 3 P 4 F A i M 1 20 50 30 100 M 2 40 10 50 M 3 40 40 80 B j 40 60 50 50 30 230 K(x ij ) = 40 20 + 20 50 + 5 30 + 40 40 + 70 10 + 40 40 + 70 40 = 8650 Wyznaczenie rozwiązania optymalnego - algorytm transportowy Magazyny P 1 P 2 P 3 P 4 F A i M 1 50 40 50 20 5 100 M 2 40 80 70 30 5 50 M 3 60 40 70 80 6 80 B j 40 60 50 50 30 230 Magazyny P 1 P 2 P 3 P 4 F A i M 1 50 50 100 M 2 40 10 50 M 3 60 20 80 B j 40 60 50 50 30 230 K(x ij ) = 50 50 + 20 50 + 40 40 + 5 10 + 40 60 + 6 20 = 7670 Koszty łączne 7670, w tym koszty transportu 7500 a koszty magazynowania 170. Zadanie 3 Trzy młyny M 1, M 2, M 3 produkują mąkę i zaopatrują w nią cztery piekarnie P 1, P 2, P 3, P 4. Koszty transportu (w zł za tonę) a ij oraz ilość oferowanej mąki przez poszczególne młyny A i, koszty produkcji 1 tony mąki C i oraz zapotrzebowanie poszczególnych piekarń B j podaje tabela: Młyny P 1 P 2 P 3 P 4 A i C i M 1 50 40 50 20 100 680 M 2 40 80 70 30 50 660 M 3 60 40 70 80 80 700 B j 40 60 50 50 Opracować optymalny plan produkcji i przewozu mąki z młynów do piekarń, tak aby łączny koszt był jak najmniejszy. Zakładamy, że nadwyżka produkcji mąki będzie zmagazynowana, a koszty magazynowania wynoszą odpowiednio dla poszczególnych młynów: 5 zł, 5 zł, 6 zł za tonę. Rozwiązanie Jest to przykład zagadnienia transportowo-produkcyjnego, czyli wariant zagadnienia transportowego otwartego ( 3 i=1 A i = 230 > 4 j=1 B j = 200). W celu zrównoważenia zadania wprowadzamy fikcyjnego odbiorcę F. Fikcyjny odbiorca otrzyma nadwyżkę mąki, czyli 30 ton. zmienne decyzyjne x ij - wielkość produkcji i-tego młyna bądź dostarczona do j-tej piekarni dla j = 1, 2, 3, 4, bądź pozostawiona w magazynie dla j = 5 Zestawienie łącznych kosztów produkcji i transportu 11

ograniczenia dla producentów: ograniczenia dla odbiorców: Młyny P 1 P 2 P 3 P 4 F A i M 1 730 720 730 700 685 100 M 2 700 740 730 690 665 50 M 3 760 740 770 780 706 80 B j 40 60 50 50 30 230 x 11 + x 12 + x 13 + x 14 + x 15 = 100 x 21 + x 22 + x 23 + x 24 + x 25 = 50 x 31 + x 32 + x 33 + x 34 + x 35 = 80 x 11 + x 21 + x 31 = 40 x 12 + x 22 + x 32 = 60 x 13 + x 23 + x 33 = 50 x 14 + x 24 + x 34 = 50 x 15 + x 25 + x 35 = 30 warunki brzegowe: x ij 0 funkcja celu: 3 5 K(x ij ) = a ij x ij min Wyznaczenie rozwiązania optymalnego - algorytm transportowy Młyny P 1 P 2 P 3 P 4 F A i M 1 730 720 730 700 685 100 M 2 700 740 730 690 665 50 M 3 760 740 770 780 706 80 B j 40 60 50 50 30 230 Młyny P 1 P 2 P 3 P 4 F A i M 1 50 50 100 M 2 40 10 50 M 3 60 20 80 B j 40 60 50 50 30 230 K(x ij ) = 730 50 + 700 50 + 700 40 + 665 10 + 740 60 + 706 20 = 164670 Zadanie 4 Projektowana jest budowa maksymalnie 3 zakładów mleczarskich mających zaopatrywać w masło cztery miejscowości: P, R, S, T. Zakłady mogą powstać w miejsowościach P, R, S. Koszty transportu (w zł za kg) a ij oraz dzienne zdolności produkcyjne zakładów A i, koszty produkcji C i (w zł za kg) oraz zapotrzebowanie poszczególnych miast na masło B j podaje tabela: Odbiorcy Zakłady P R S T A i C i P 0 0,4 0,5 1 3000 4 R 1 0 0,8 0,6 2000 4,5 S 0,5 0,5 0 0,8 2500 4,2 B j 1000 2000 1000 1000 12

Opracować optymalny plan lokalizacji zakładów tak, aby łączny koszt produkcji i transportu był jak najmniejszy. Rozwiązanie Jest to przykład zagadnienia lokalizacji produkcji, czyli wariant zagadnienia transportowego otwartego ( 3 i=1 A i = 7500 > 4 j=1 B j = 5000). W celu zrównoważenia zadania wprowadzamy fikcyjnego odbiorcę F oznaczającego niewykorzystaną zdolność produkcyjną. Zatem łączne koszty produkcji i transportu dla tego odbiorcy wynoszą 0 zł. Fikcyjny odbiorca otrzyma nadwyżkę masła, czyli 2500 ton. zmienne decyzyjne x ij - wielkość produkcji masła w i-tej miejscowości bądź dostarczona do j-tej miejscowości dla j = 1, 2, 3, 4, bądź niewykorzystana zdolność produkcyjna zakłądu w i-tej miejscowości dla j = 5 Zestawienie łącznych kosztów produkcji i transportu ograniczenia dla producentów: ograniczenia dla odbiorców: Odbiorcy Zakłady P R S T F A i P 4 4,4 4,5 5 0 3000 R 5,5 4,5 5,3 5,1 0 2000 S 4,7 4,7 4,2 5 0 2500 B j 1000 2000 1000 1000 2500 7500 x 11 + x 12 + x 13 + x 14 + x 15 = 3000 x 21 + x 22 + x 23 + x 24 + x 25 = 2000 x 31 + x 32 + x 33 + x 34 + x 35 = 2500 x 11 + x 21 + x 31 = 1000 x 12 + x 22 + x 32 = 2000 x 13 + x 23 + x 33 = 1000 x 14 + x 24 + x 34 = 1000 x 15 + x 25 + x 35 = 2500 warunki brzegowe: x ij 0 funkcja celu: 3 5 K(x ij ) = a ij x ij min Wyznaczenie rozwiązania metodą elementu minimalnego macierzy Odbiorcy Zakłady P R S T F A i P 4 4,4 4,5 5 0 3000 R 5,5 4,5 5,3 5,1 0 2000 S 4,7 4,7 4,2 5 0 2500 B j 1000 2000 1000 1000 2500 7500 13

Odbiorcy Zakłady P R S T F A i P 500 2500 3000 R 2000 2000 S 500 1000 1000 2500 B j 1000 2000 1000 1000 2500 7500 K(x ij ) = 4 500 + 0 2500 + 4, 5 2000 + 4, 7 500 + 4, 2 1000 + 5 1000 = 22550 Zauważmy, że baza jest złożona z 6 elementów, podczas gdy rząd macierzy A wynosi 7. Oznacza to, że to rozwiązanie bazowe, a co za tym idzie całe zagadnienie, jest zdegenerowane. W tym przypadku algorytm transportowy nie jest skuteczny. Problem można ewentualne rozwiązać przy pomocy przetworzonej macierzy kosztów. Macierz kosztów przekształcamy tak, aby w każdej kolumnie i każdym wierszu było przynajmniej jedno zero. Uzyskamy taki efekt odejmując od elementów poszczególnych wierszy macierzy kosztów element najmniejszy danego wiersza, a następnie odejmując od poszczególnych kolumn tak uzyskanej macierzy zmodyfikowanej element najmniejszy danej kolumny. Jeśli uda się rozmieścić przewozy wyłącznie na trasach, którym odpowiadają zera w przetworzonej macierzy kosztów, to rozwiązanie jest optymalne. Wyznaczenie rozwiązania metodą elementu minimalnego macierzy przy wykorzystaniu przetworzonej macierzy kosztów Odbiorcy Zakłady P R S T F A i P 4 4,4 4,5 5 0 3000 R 5,5 4,5 5,3 5,1 0 2000 S 4,7 4,7 4,2 5 0 2500 B j 1000 2000 1000 1000 2500 7500 Odbiorcy Zakłady P R S T F A i P 0 0 0,3 0 0 3000 R 1,5 0,1 1,1 0,1 0 2000 S 0,7 0,3 0 0 0 2500 B j 1000 2000 1000 1000 2500 7500 Odbiorcy Zakłady P R S T F A i P 1000 2000 3000 R 2000 2000 S 1000 1000 500 2500 B j 1000 2000 1000 1000 2500 7500 K(x ij ) = 4 1000 + 4, 4 2000 + 0 2000 + 4, 2 1000 + 5 1000 + 0 500 = 22000 Uwaga Rozwiązanie zadania oznacza, że należy zakłady ulokować w miejscowościach P i S. Możliwości zakładu w P będą wykorzystane w pełni, zakład w S będzie miał pewną rezerwę możliwości produkcyjnych (500 kg). Zakład w R jest niepotrzebny. 14