Modele i narzędzia optymalizacji w systemach informatycznych zarządzania



Podobne dokumenty
Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

1. Rozwiązać układ równań { x 2 = 2y 1

Podstawowe działania w rachunku macierzowym

Zagadnienia transportowe

MATEMATYKA 4 INSTYTUT MEDICUS FUNKCJA KWADRATOWA. Kurs przygotowawczy na studia medyczne. Rok szkolny 2010/2011. tel

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

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

Bazy danych. Andrzej Łachwa, UJ, /15

2.Prawo zachowania masy

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Zadania. SiOD Cwiczenie 1 ;

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

Metoda LBL (ang. Layer by Layer, pol. Warstwa Po Warstwie). Jest ona metodą najprostszą.

PAKIET MathCad - Część III

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Surowiec Zużycie surowca Zapas A B C D S 1 0,5 0,4 0,4 0, S 2 0,4 0,2 0 0, Ceny x

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Projektowanie bazy danych

Zagadnienie transportowe

Matematyka dla liceum/funkcja liniowa

TEORIA GIER W EKONOMII WYKŁAD 1: GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ

DE-WZP JJ.3 Warszawa,

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

Problemy optymalizacyjne - zastosowania

Harmonogramowanie projektów Zarządzanie czasem

Zadanie 1. Liczba szkód w każdym z trzech kolejnych lat dla pewnego ubezpieczonego ma rozkład równomierny:

Dokonamy analizy mającej na celu pokazanie czy płeć jest istotnym czynnikiem

1 Przedmiot Umowy 1. Przedmiotem umowy jest sukcesywna dostawa: publikacji książkowych i nutowych wydanych przez. (dalej zwanych: Publikacjami).

Kurs wyrównawczy dla kandydatów i studentów UTP

Zarządzanie Zasobami by CTI. Instrukcja

NOWELIZACJA USTAWY PRAWO O STOWARZYSZENIACH

Ekonometria. Typy zada«optymalizacyjnych Analiza pooptymalizacyjna SOLVER. 22 maja Karolina Konopczak. Instytut Rozwoju Gospodarczego

Regulamin reklamy produktów leczniczych na terenie Samodzielnego Publicznego Zakładu Opieki Zdrowotnej Ministerstwa Spraw Wewnętrznych w Białymstoku

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

XIII KONKURS MATEMATYCZNY

40. Międzynarodowa Olimpiada Fizyczna Meksyk, lipca 2009 r. ZADANIE TEORETYCZNE 2 CHŁODZENIE LASEROWE I MELASA OPTYCZNA

Warszawska Giełda Towarowa S.A.

Łomnica Jelenia Góra 14 Transport osób samochodem z minimalną ilością 48 miejsc + kierowca na trasach :

OBWIESZCZENIE ZARZĄDU PKP CARGO S.A. z dnia 15 grudnia 2008 r.

Strona Wersja zatwierdzona przez BŚ Wersja nowa 26 Dodano następujący pkt.: Usunięto zapis pokazany w sąsiedniej kolumnie

ZP Obsługa bankowa budżetu Miasta Rzeszowa i jednostek organizacyjnych

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Regulamin oferty Taniej z Energą

Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows.

Warunki Oferty PrOmOcyjnej usługi z ulgą

Temat: Co to jest optymalizacja? Maksymalizacja objętości naczynia prostopadłościennego za pomocą arkusza kalkulacyjngo.

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

art. 488 i n. ustawy z dnia 23 kwietnia 1964 r. Kodeks cywilny (Dz. U. Nr 16, poz. 93 ze zm.),

Ogólna charakterystyka kontraktów terminowych

Warszawa: Dostawa kalendarzy na rok 2017 Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - dostawy

Przygotowały: Magdalena Golińska Ewa Karaś

INSTRUKCJA DO INTERNETOWEGO ROZKŁADU JAZDY

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

Objaśnienia do Wieloletniej Prognozy Finansowej na lata

Joanna Kisielińska Szkoła Główna Gospodarstwa Wiejskiego w Warszawie

VinCent Office. Moduł Drukarki Fiskalnej

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Bielsko-Biała, dn r. Numer zapytania: R WAWRZASZEK ISS Sp. z o.o. ul. Leszczyńska Bielsko-Biała ZAPYTANIE OFERTOWE

EGZAMIN MATURALNY Z MATEMATYKI

Poznań, 03 lutego 2015 r. DO-III

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:

Umowa kredytu. zawarta w dniu. zwanym dalej Kredytobiorcą, przy kontrasygnacie Skarbnika Powiatu.

EGZAMIN MATURALNY Z MATEMATYKI CZERWIEC 2012 POZIOM PODSTAWOWY. Czas pracy: 170 minut. Liczba punktów do uzyskania: 50 WPISUJE ZDAJĄCY

Dotyczy: Odnowa centrum wsi śegiestów poprzez budowę oświetlenia ulicznego wzdłuŝ drogi powiatowej 1517K w śegiestowie

ZAPYTANIE OFERTOWE nr 4/KadryWM13

ZAPYTANIE OFERTOWE. Nazwa zamówienia: Wykonanie usług geodezyjnych podziały nieruchomości

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015

Jan Olek. Uniwersytet Stefana Kardynała Wyszyńskiego. Procesy z Opóźnieniem. J. Olek. Równanie logistyczne. Założenia

ZAPYTANIE OFERTOWE. Tłumaczenie pisemne dokumentacji rejestracyjnej ZAPYTANIE OFERTOWE

INFORMACJA dla osób nie będących klientami Banku Spółdzielczego w Goleniowie

U M O W A. zwanym w dalszej części umowy Wykonawcą

Regulamin rekrutacji do Gimnazjum w Chwaliszewie na rok szkolny 2016/2017

Zadania powtórzeniowe I. Ile wynosi eksport netto w gospodarce, w której oszczędności równają się inwestycjom, a deficyt budżetowy wynosi 300?

DLA ZAMAWIAJĄCEGO: OFERTA. Ja/-my, niżej podpisany/-ni... działając w imieniu i na rzecz... Adres Wykonawcy:...

Objaśnienia wartości przyjętych w Wieloletniej Prognozie Finansowej Powiatu Gryfickiego na lata

Wyznaczanie współczynnika sprężystości sprężyn i ich układów

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Gdynia: Księgowość od podstaw Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - usługi

Akademia Młodego Ekonomisty

Promocja i identyfikacja wizualna projektów współfinansowanych ze środków Europejskiego Funduszu Społecznego

Umowa o pracę zawarta na czas nieokreślony

14P2 POWTÓRKA FIKCYJNY EGZAMIN MATURALNYZ FIZYKI I ASTRONOMII - II POZIOM PODSTAWOWY

WYMAGANIA EDUKACYJNE SPOSOBY SPRAWDZANIA POSTĘPÓW UCZNIÓW WARUNKI I TRYB UZYSKANIA WYŻSZEJ NIŻ PRZEWIDYWANA OCENY ŚRÓDROCZNEJ I ROCZNEJ

WZÓR UMOWY DLA PRZETARGU NIEOGRANICZONEGO na realizację szkoleń w ramach projektu Patrz przed siebie, mierz wysoko UMOWA NR.

W nawiązaniu do korespondencji z lat ubiegłych, dotyczącej stworzenia szerszych

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA

WZÓR UMOWY UMOWA NR. z siedzibą w... NIP nr, REGON... wpisaną do Krajowego Rejestru Sądowego nr... w Sądzie...

AUTOR MAGDALENA LACH

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

WZP.DZ.3410/35/1456/2011 Wrocław, 26 maja 2011 r.

Elementy animacji sterowanie manipulatorem

Zapytanie ofertowe. Projekt realizowany przy współfinansowaniu ze środków Unii Europejskiej, w ramach Programu Operacyjnego Pomoc Techniczna

Szpital Iłża: Udzielenie i obsługa kredytu długoterminowego w wysokości zł na sfinansowanie bieżących zobowiązań.

Mnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność

Komputer i urządzenia z nim współpracujące

Metody wyceny zasobów, źródła informacji o kosztach jednostkowych

INSTRUKCJA SERWISOWA. Wprowadzenie nowego filtra paliwa PN w silnikach ROTAX typ 912 is oraz 912 is Sport OPCJONALNY

Rekrutacją do klas I w szkołach podstawowych w roku szkolnym 2015/2016 objęte są dzieci, które w roku 2015 ukończą:

Transkrypt:

Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 1/11

Spis treści Rozdział 1. Zagadnienie transportowe................... 5 1.1. Zagadnienie transportowe........................ 5 1.1.1. Przykład.............................. 5 1.1.. Analiza sytuacji decyzyjnej................... 6 1.1.3. Model matematyczny....................... 6 1.1.4. Wyznaczanie rozwiązań początkowych............. 9 1.1.5. Algorytm transportowy..................... 13 1.1.6. Interpretacja rozwiązania.................... 15 1.. Problem przydziału............................ 15 1..1. Przykład.............................. 16 1... Analiza sytuacji decyzyjnej................... 16 1..3. Model matematyczny....................... 16 1..4. Algorytm węgierski........................ 16 1..5. Interpretacja rozwiązania.................... 18

Rozdział 1 Zagadnienie transportowe Istnieje duża grupa wyspecjalizowanych zagadnień programowania liniowego, które są sformułowane jako zagadnienia sieciowe. Należą do nich takie zagadnienia, jak zagadnienie transportowe i jego uogólnienia, zagadnienie przydziału, zagadnienie lokalizacji i zagadnienie przepływu wielotowarowego. 1.1. Zagadnienie transportowe Zagadnienie transportowe należy do najciekawszych wariantów zadania programowania liniowego. Zadanie transportowe charakteryzuje się szczególną postacią ograniczeń, co pozwala je rozwiązać za pomocą algorytmów sprawniejszych obliczeniowo niż algorytm sympleks. W tym rozdziale omówimy algorytm transportowy, tzw. metodę potencjałów oraz algorytm węgierski, który rozwiązuje zadania przydziału. 1.1.1. Przykład Firma produkująca nawozy sztuczne ma trzy zakłady produkcyjne zlokalizowane w Kluczborku, Białymstoku i Pile. Kwartalna produkcja poszczególnych zakładów wynosi odpowiednio: 5 kg, 6 kg, i 5 kg. Firma ma cztery centra dystrybucji, zlokalizowane w Lublinie, Elblągu, Łodzi i Opolu. Na podstawie przewidywanego popytu na nawozy poszczególne centra dystrybucji złożyły zamówienia odpowiednio na: 6 kg, 4 kg, kg oraz 15 kg nawozów. Jednostkowe koszty transportu (w zł/kg) z każdego zakładu do poszczególnych centrów dystrybucji podano w tablicy 1.1. Tablica 1.1. Jednostkowe koszty transportu [zł/kg Dostawcy Odbiorcy Lublin Elbląg Łódź Opole Zapas [kg Kluczbork 3 7 6 5 Białystok 7 5 3 6 Piła 5 4 5 5 Zamówienie [kg 6 4 15 Znaleźć plan przewozów minimalizujący łączne koszty transportu.

6 Rozdział 1. Zagadnienie transportowe ZAPAS ZAPOTRZEBOWANIE Lublin 6 3 5 Kluczbork 7 7 5 Elbląg 4 6 Białystok 6 5 4 Łódź 3 5 Piła 5 Opole 15 Rysunek 1.1. Graf kosztów transportu. 1.1.. Analiza sytuacji decyzyjnej Sytuację zilustrowano na Rys. 1.1.1. Węzły grafu w lewej kolumnie oznaczają dostawców, a w prawej odbiorców. Zaznaczono wielkości zapasów u poszczególnych dostawców i zamówień każdego z odbiorców. 1.1.3. Model matematyczny Wprowadźmy indeksy i {1,, 3} oraz j {1,, 3, 4} w celu oznaczenia odpowiednio dostawców i odbiorców. Niech a i oznacza zapas towaru u i-tego dostawcy, a b j zamówienie j-tego odbiorcy. Każdy łuk w grafie reprezentuje trasę (i, j) od i-tego dostawcy do j-tego odbiorcy. Etykieta c ij oznacza jednostkowy koszt transportu na danej trasie. Zadanie polega na ustaleniu wielkości przewozów x ij na trasie (i, j), i = 1,, 3, j = 1,, 3, 4. Macierz [x ij m n nazywa się macierzą przewozów. Łączne koszty transportu obliczymy jako: z = 3x 11 + x 1 + 7x 13 + 6x 14 + 7x 1 + 5x + x 3 + 3x 4 + x 31 + 5x 3 + 4x 33 + 5x 34

1.1. Zagadnienie transportowe 7 Ograniczenia wynikające z dostępności nawozów u poszczególnych dostawców mają postać: x 11 + x 1 + x 13 + x 14 5 x 1 + x + x 3 + x 4 6 x 31 + x 3 + x 33 + x 34 5 Ponieważ ze względu na minimalizację kosztów transportu dostarczanie odbiorcom więcej towaru niż zamówili jest nieuzasadnione, więc ograniczenia wynikające z zapotrzebowań odbiorców mają postać: x 11 +x 1 +x 31 = 6 x 1 +x +x 3 = 4 x 13 +x 3 +x 33 = x 14 +x 4 +x 34 = 5 Naturalnie x ij dla i = 1,..., m, j = 1,..., n. W ogólności, celem jest minimalizacja łącznego kosztu transportu (1.1), przy założeniu, że całkowita ilość nawozu pochodząca od i-tego dostawcy nie przekracza zapasu u tego dostawcy (1.), a całkowita ilość nawozu dostarczona do j-tego odbiorcy jest równa jego zamówieniu (1.3). Założenie o nieujemności zmiennych (1.4) jest naturalne. zminimalizować m n c ij x ij (1.1) i=1 j=1 n x ij a i, i = 1,..., m (1.) j=1 m x ij = b j, j = 1,..., n (1.3) i=1 x ij, i = 1,..., m, j = 1,..., n (1.4) Zadanie transportowe w postaci (1.1)-(1.4) nazywa się zwykłym zadaniem transportowym, aby odróżnić je od innych wariantów, o których powiemy w dalszej części tego rozdziału. Ograniczenia (1.) nazywamy warunkami bilansowymi dostawców, a ograniczenia (1.3) warunkami bilansowymi odbiorców. Zadanie (1.1)-(1.4) jest zadaniem programowania liniowego. Zauważmy, że macierz współczynników w ograniczeniach ma szczególną postać (1.5). A = C n Z n... Z n Z n C n... Z n............ Z n Z n... C n E n E n... E n (1.5) gdzie C n oraz Z n są n-elementowymi wektorami takimi, że c k = 1, k = 1,..., n, z k =, k = 1,..., n, a E n jest macierzą kwadratową o wymiarze n taką, że e kk = 1, e kl =, k l, k = 1,..., n, l = 1,..., n. Macierz ta ma (m + n) wierszy oraz (m n) kolumn. Twierdzenie 1.1

8 Rozdział 1. Zagadnienie transportowe Rząd macierzy A warunków ograniczających zadania transportowego jest równy (m + n 1). Ważnym wnioskiem z twierdzenia 1.1 jest fakt, że rozwiązanie bazowe zadania transportowego składa się dokładnie z (m + n 1) zmiennych bazowych, a zatem co najwyżej (m + n 1) zmiennych przyjmuje w rozwiązaniu optymalnym wartości niezerowe. Definicja 1.1 Zadanie transportowe nazywamy zbilansowanym jeżeli m n a i = b j (1.6) i=1 j=1 czyli gdy łączne zapotrzebowanie odbiorców jest równe sumie zapasów u dostawców. W przeciwnym razie zadanie jest niezbilansowane. Zadanie niezbilansowane można łatwo sprowadzić do postaci zbilansowanej dodając dodatkowego, fikcyjnego: dostawcę z zapasem a = ( n j=1 b j m i=1 a i ), gdy m i=1 a i < n j=1 b j, przyjmując c i =, j = 1,..., n lub odbiorcę z zapotrzebowaniem b = ( m i=1 a i n j=1 b j ), gdy m i=1 a i > nj=1 b j, przyjmując c j =, i = 1,..., m. Dostawy od dodatkowego dostawcy pozwalają zrealizować zamówienia odbiorców przekraczające możliwości dostawców. W praktyce pozyskanie dodatkowego dostawcy (zwłaszcza przy zerowych kosztach transportu) jest na ogól niemożliwe i dlatego konieczne jest zbilansowanie zadania np. przez zmniejszenie zapotrzebowań poszczególnych odbiorców. Dostawy do dodatkowego odbiorcy można potraktować jako zapasy u dostawców, które nie zostaną wykorzystane. Z punktu widzenia modelu matematycznego wprowadzenie dodatkowych dostawców lub odbiorców oznacza wprowadzenie dodatkowych zmiennych. Ponieważ formalnie możemy każde zadania transportowe sprowadzić do postaci zbilansowanej, będziemy zakładać, że zadanie (1.1)-(1.4) jest zbilansowane. Ograniczenia (1.) przyjmują wtedy postać równości (1.7). n x ij = a i, i = 1,..., m (1.7) j=1 Kolejną ważną własnością zadania transportowego, o której mówi twierdzenie 1. jest istnienie rozwiązań dopuszczalnych. Twierdzenie 1. Każde zbilansowane zadanie transportowe posiada skończone rozwiązanie optymalne. Zadanie transportowe ma jeszcze jedną ważną własność, którą sformułowano w twierdzeniu 1.3, związaną z istnieniem rozwiązań całkowitoliczbowych. Twierdzenie 1.3 Jeżeli wszystkie a i oraz b j w zadaniu transportowym (1.1)-(1.4) są liczbami

1.1. Zagadnienie transportowe 9 całkowitymi, to każde rozwiązanie (a więc również optymalne) jest utworzone z liczb całkowitych. Pozostaje nam zatem zająć się metodą wyznaczania tego rozwiązania. Pamiętamy, że zadanie transportowe jest szczególną postacią zadania programowania liniowego, z zatem można je rozwiązać metodą sympleks, ale w kolejnym punkcie poznamy znacznie sprawniejszy algorytm transportowy. 1.1.4. Wyznaczanie rozwiązań początkowych Znalezienie rozwiązania początkowego zbilansowanego zadania transportowego jest łatwe. Pokażemy trzy sposoby wyznaczania rozwiązań początkowych zadania transportowego: metodę północno-zachodniego narożnika, metodę najmniejszego elementu macierzy oraz metodę Vogel a zwaną też metodą VAM (Vogel Approximation Method). W każdej z tych metod wybieramy element macierzy i na trasie wskazanej przez ten element przesyłamy maksymalną dopuszczalną ilość towaru. Następnie usuwamy wiersz lub kolumnę w której popyt lub podaż zostały wyzerowane i wybieramy następny element. Postępujemy w ten sposób aż do wykreślenia wszystkich wierszy i kolumn. Metody różnią się jedynie regułą wyboru kolejnych elementów macierzy. Metoda północno-zachodniego narożnika W metodzie północno-zachodniego narożnika jako następny wybieramy element znajdujący się w pierwszym wierszu i pierwszej kolumnie zredukowanej macierzy. Przebieg obliczeń dla danych z tablicy 1.1 jest następujący. Wybieramy element a 11 macierzy kosztów i określamy maksymalną ilość nawozu, którą można przesłać tą trasą. Jest to minimum z wartości a 1 i b 1 (ogólnie a i i b j ), a więc 5. Przyjmujemy zatem x 11 = 5 oraz x 1 = x 13 = x 14 =, zmniejszamy ilość pozostałą do wysłania do pierwszego odbiorcy (6-5) i wykreślamy pierwszy wiersz z macierzy kosztów. Jako kolejny wybieramy element znajdujący się w pierwszym wierszu i pierwszej kolumnie tak zredukowanej macierzy, czyli a 1. Na tej trasie pozostaje do przesłania 1 kg nawozu, przyjmujemy zatem x 1 = 1, x 31 =, zmniejszamy zapas u drugiego dostawcy (6-1) i wykreślamy pierwszą kolumnę. Następnym elementem jest a. Na tej trasie przesyłamy 4 kg nawozu, x = 4, x 3 =. Kolejne kroki podsumowano w tablicy 1..

1 Rozdział 1. Zagadnienie transportowe Tablica 1.. Wyznaczenie rozwiązania początkowego metodą północno-zachodniego narożnika a ij ilość przesłana wartości zredukowana pozostała zmiennych macierz podaż x 11 = 5 [ [ x 7 5 3 a 11 min(5, 6) 1 = x 13 = 5 4 5 x 14 = pozostały popyt [1 4 15 a 1 min(5, 1) x 1 = 1 x 31 = [ 5 3 5 4 5 pozostały popyt [ 4 15 a min(5, 4) x = 4 x 3 = [ 3 4 5 pozostały popyt [ 15 a 3 min(1, ) x 3 = 1 x 4 = [4 5 pozostały popyt [ 1 15 a 33 min(1, 5) x 33 = 1 [5 pozostały popyt [ 15 a 34 min(15, 15) x 34 = 15 pozostały popyt [ [ [ [ [ 6 5 5 5 1 5 5 15 [ Metoda najmniejszego elementu macierzy W metodzie najmniejszego elementu macierzy jako następny wybieramy nieskreślony element o najmniejszej wartości, odpowiadający trasie o najniższym koszcie. W początkowej macierzy mamy trzy elementy o wartości, więc wybieramy dowolny z nich, niech to będzie element a 1. Przebieg obliczeń dla danych z tablicy 1.1 przedstawiono w tablicy 1.3.

1.1. Zagadnienie transportowe 11 Tablica 1.3. Wyznaczenie rozwiązania początkowego metodą najmniejszego elementu macierzy a ij ilość przesłana wartości zredukowana pozostała zmiennych macierz podaż x 1 = 4 [ 3 7 6 [ 1 a 1 min(5, 4) x = 7 3 6 x 3 = 4 5 5 pozostały popyt [6 15 x 31 = 5 [ [ 1 3 7 6 a 31 min(6, 5) x 33 = 6 7 3 x 34 = pozostały popyt [35 15 a 3 min(4, ) a 4 min(5, 15) x 3 = x 13 = [ 3 6 7 3 pozostały popyt [35 15 x 4 = 15 x 14 = [ 3 7 pozostały popyt [35 a 11 min(1, 35) x 11 = 1 [7 pozostały popyt [5 a 1 min(5, 5) x 1 = 5 pozostały popyt [ [ 1 4 [ 1 5 [ 5 [ Metoda VAM W metodzie VAM jako następny wybieramy element, którego pominięcie może spowodować znaczny wzrost kosztów w kolejnej iteracji. Jest ona nieco bardziej złożona niż poprzednie, ale otrzymane rozwiązanie jest zwykle bliskie optymalnemu. Aby wyznaczyć kolejny element macierzy najpierw wyznaczamy różnice r i, i = 1,..., m, między dwoma najmniejszymi elementami w każdym wierszu i różnice d j, j = 1,..., n, między dwoma najmniejszymi elementami w każdej kolumnie zredukowanej macierzy kosztów. Następnie znajdujemy r k = max i {r i } oraz d l = max j {d j }. Jeżeli r k > d l, to następnym elementem macierzy jest a kh, gdzie a kh = min j {a kj }, czyli najmniejszy element w wierszu k-tym. Jeżeli r k < d l, to następnym elementem macierzy jest a hl, gdzie a hl = min i {a il }, czyli najmniejszy element w kolumnie l-tej. Przebieg obliczeń dla danych z tablicy 1.1 przedstawiono w tablicy 1.4. Ponieważ redukcja macierzy przebiega identycznie jak w metodach omówionych powyżej, w tablicy przedstawiono wartości r i oraz d j oraz wartości elementów x ij macierzy przewozów wyznaczone w każdej iteracji. W końcowych iteracjach, gdy pozostały już tylko elementy w wierszu drugim, wybieramy elementy tego wiersza począwszy od najmniejszych wartości. Rozwiązanie otrzymane metodami najmniejszego elementu macierzy oraz VAM dały w tym przykładzie to samo rozwiązanie. Każde z otrzymanych rozwiązań jest dopuszczalne, ale nie koniecznie optymalne.

1 Rozdział 1. Zagadnienie transportowe Tablica 1.4. Wyznaczenie rozwiązania początkowego metodą VAM [r i [d j a ij wartości zmiennych [ 1 1 [ 3 1 [ 1 [ [ [ [1 3 a 1 = min{, 5, 5} [1 a 11 = min{3, 7, 6} [5 a 31 = min{7, } x 1 = 4 x = x 3 = x 11 = 1 x 13 = x 14 = x 31 = 5 x 33 = x 34 = a 3 = min{7,, 3} x 3 = a 4 = min{7, 3} x 4 = 15 a 1 = 7 x 1 = 5 Graf rozwiązania Rozwiązanie bazowe zadania transportowego będziemy przedstawiali w postaci grafu zbudowanego na macierzy przewozów, którego wierzchołkami są węzły (i, j) tej macierzy odpowiadające zmiennym bazowym, a łuki łączą sąsiednie wierzchołki w tym samym wierszu (i 1 = i ) lub kolumnie (j 1 = j ). Graf rozwiązania otrzymanego metodą VAM przedstawiono w tablicy 1.5. Tablica 1.5. Graf rozwiązania początkowego wyznaczonego metodą VAM 1 4 5 15 5 Korzystając z własności, że liczba zmiennych bazowych w rozwiązaniu dopuszczalnym wynosi (m + n 1) zauważmy, że graf rozwiązania ma dokładnie (m + n 1) wierzchołków. Ponadto jest to graf spójny i bez cykli. Można wykazać, że warunki te są równoważne, czyli zachodzi własność 1.1. Własność 1.1 Na to, aby graf rozwiązania zadania transportowego był grafem spójnym i bez cykli potrzeba i wystarcza, aby zawierał dokładnie (m + n 1) wierzchołków.

1.1. Zagadnienie transportowe 13 1.1.5. Algorytm transportowy Algorytm transportowy (nazywany też metodą potencjałów) jest metodą rozwiązywania zadania transportowego wykorzystującą własności macierzy przewozów oraz zadanie dualne do zadania transportowego. Jeżeli oznaczymy przez p i, i = 1,..., m, oraz q j, j = 1,... n, zmienne dualne związane z ograniczeniami odpowiednio (1.7) oraz (1.3), to zadanie dualne przyjmuje postać: zmaksymalizować m n a i p i + b j q j (1.8) i=1 j=1 przy ograniczeniach p i + q j c ij, i = 1,..., m, j = 1,..., n (1.9) Zmienne p i oraz q j są dowolne co do znaku. Z własności?? rozwiązań optymalnych zagadnienia dualnego wynika, że jeśli x ij jest zmienną bazową to odpowiednia zmienna uzupełniająca w ograniczeniu zadania dualnego przyjmuje wartość zero, a zatem spełniony jest następujący układ równań: p i + q j = c ij, (i, j) B (1.1) gdzie B oznacza bazę. Aby sprawdzić, czy jest to rozwiązanie optymalne należy wyznaczyć wartości z ij c ij. Zauważmy że wartości wskaźników z ij w zadaniu transportowym przyjmują wartości z ij = p i + q j, a zatem wartości z ij c ij odpowiadające elementom wiersza wskaźnikowego macierzy sympleks obliczamy jako p i +q j c ij. Jeżeli wszystkie wartości wiersza wskaźnikowego są mniejsze lub równe zeru, to rozwiązanie jest optymalne. Jest to równoważne warunkowi, aby wszystkie elementy przeciwne: c ij = c ij p i q j były nieujemne. Dla ułatwienia zapisu przyjmijmy zatem u i = p i oraz v j = q j i oznaczmy c ij = u i + v j + c ij (1.11) Macierz [c ij nazywamy równoważną macierzą zerową, a współczynniki u i, i = 1,..., m oraz v j, j = 1,..., n potencjałami. Jeżeli zmienna x ij jest zmienną bazową, to z równania (1.1) i definicji potencjałów wynika, że c ij =. Otrzymujemy układ (m + n 1) równań z (m + n) niewiadomymi. Jest to układ nieoznaczony, a zatem posiadający nieskończenie wiele rozwiązań. Można wykazać, że wszystkie rozwiązania tego układu wyznaczają tę samą równoważną macierz zerową, a zatem wystarczy znaleźć jedno, dowolne z tych rozwiązań. Dla ułatwienia zwykle przyjmuje się, że u 1 = i wtedy kolejne wartości potencjałów można łatwo wyznaczyć przez podstawienie. Znając wartości potencjałów równie łatwo wyznaczamy pozostałe wartości zerowej macierzy równoważnej. Macierz zerową rozwiązania początkowego otrzymanego metodą VAM przedstawiono w tablicy 1.6. Dla każdej pary (i, j) (odpowiadającej zmiennej decyzyjnej x ij ) w tablicy umieszczono trzy wartości. Liczba w górnym wierszu to wartość zmiennej decyzyjnej (wartość z macierzy przewozów), w prawym dolnym narożniku znajduje się wartość z macierzy kosztów c ij, a w lewym dolnym narożniku obliczona wartość zerowej macierzy równoważnej c ij. Rozwiązanie nie jest optymalne, gdyż wartość c <. Dalsze postępowanie polega na zmianie bazy przez usunięcie z grafu wierzchołka odpowia-

14 Rozdział 1. Zagadnienie transportowe Tablica 1.6. Rozwiązanie początkowe wyznaczone metodą VAM j i 1 3 4 u i 1 1 4 3 9 7 7 6 5 15 7 1 5 3 4 3 5 4 5 7 4 7 5 1 v j 3 1 dającego najmniejszej wartości zerowej macierzy równoważnej i wyznaczenie nowego wierzchołka w grafie rozwiązania. Sposób postępowania opisuje poniższy Algorytm transportowy. Algorytm transportowy Krok 1. Znaleźć wstępne rozwiązanie bazowe zadania zbilansowanego. Krok. Rozwiązać układ równań: c ij + u i + v j = dla i, j B Krok 3. Wyznaczyć równoważną macierz zerową c ij. Krok 4. Zbadać, czy c ij dla i = 1,..., m, j = 1,..., n. Jeśli tak, to aktualne rozwiązanie jest optymalne - zakończ. Krok 5. Wprowadzić do bazy zmienną x kl taką, że c kl = min{c ij : c ij < }. Krok 6. Wyznaczyć cykl γ + (k, l) oraz γ (k, l). Krok 7. Usunąć z bazy zmienną x rs taką, że x rs = min (i,j) γ {x ij : (i, j) B} = θ Krok 8. Wyznaczyć nowe rozwiązanie bazowe: x ij θ dla (i, j) γ x ij = x ij dla (i, j) (γ γ + ) (1.1) x ij + θ dla (i, j) γ + Krok 9. Wrócić do kroku. Zmienna x wejdzie do bazy, co spowoduje powstanie cyklu γ w grafie rozwiązania. W rozwiązywanym przykładzie cykl wyznaczają wierzchołki (1, 1), (1, ), (, 1) i (, ). W cyklu wyznaczamy wierzchołki nieparzyste, które oznaczone znakiem + tworzą zbiór γ + oraz parzyste, które oznaczone znakiem tworzą zbiór γ. Nową zmienną bazową traktujemy jako początek cyklu i oznaczamy znakiem +. Następnie poruszamy się wzdłuż cyklu, oznaczając kolejne wierzchołki na zmianę znakiem i +. Spośród zmiennych ze zbioru γ wybieramy zmienną o najmniejszej wartości θ i tę wartość odejmujemy od wszystkich zmiennych ze zbioru γ, a dodajemy ją do zmiennych ze zbioru γ +. Graf rozwiązania z zaznaczonym cyklem przedstawiono na rys 1.7. Zmienna, która przyjmuje wartość zero jest usuwana z bazy. Jeżeli graf rozwiązania zawiera mniej niż (n + m 1) wierzchołków, to mamy do czynienia z rozwiązaniem zdegenerowanym, w którym co najmniej jedna zmienna bazowa jest równa zero. Postępowanie w takim przypadku polega na dołączeniu brakującej liczby zmiennych bazowych z wartościami zerowymi. Wybór zmiennych powinien gwarantować uzyskanie grafu spójnego i bez cykli. Dla nowej bazy wyznaczamy równoważną macierz zerową. Otrzymaną macierz przedstawia tablica 1.8. Jak widać jest to rozwiązanie optymalne, gdyż wszystkie elementy tej macierzy są nieujemne.

1.. Problem przydziału 15 Tablica 1.7. Zmiana bazy w grafie rozwiązania + 1 35 4 15 5 + 5 15 5 Tablica 1.8. Macierz zerowa rozwiązania optymalnego j i 1 3 4 u i 1 35 15 3 8 7 6 6 5 15 1 7 5 3 3 3 5 4 5 6 4 6 5 1 v j 3 1 1.1.6. Interpretacja rozwiązania Rozwiązanie optymalne wyznacza plan przewozów przedstawiony w tablicy 1.9, dla którego całkowity koszt transportu wynosi 395 zł. Tablica 1.9. Optymalny plan przewozów Koszt Przesłana ilość Koszt Zmienna Dostawca Odbiorca jednostkowy nawozu na trasie [zł/kg [kg [zł x 11 Kluczbork Lublin 3 35 15 x 1 Kluczbork Elbląg 15 3 x Białystok Elbląg 5 5 15 x 3 Białystok Łódź 4 x 4 Białystok Opole 3 15 45 x 31 Piła Lublin 5 5 Suma kosztów 395 1.. Problem przydziału Z punktu widzenia modelu matematycznego problem przydziału jest szczególnym przypadkiem zadania transportowego, w którym a i = b j = 1, i = 1,..., m, j = 1,..., n. Z twierdzenia 1.3 wynika, że dla m = n problem przydziału ma zawsze rozwiązanie całkowitoliczbowe. Między innymi dzięki tej własności problem przydziału znajduje liczne zastosowania praktyczne.

16 Rozdział 1. Zagadnienie transportowe 1..1. Przykład Firma turystyczna dysponuje czterema autobusami o różnych kosztach eksploatacji. Firma podpisała umowy na wynajęcie autobusów czterem różnym klientom na długi weekend. Koszty realizacji poszczególnych zleceń dla każdego autobusu zamieszczono w tablicy 1.1. Tablica 1.1. Koszty realizacji zleceń [zł Autobus Zlecenie A1 A A3 A4 Kołobrzeg 3 15 39 1 Międzyzdroje 47 5 55 35 Szklarska Poręba 56 3 7 4 Zielona Góra 6 37 8 47 1... Analiza sytuacji decyzyjnej Każdy z autobusów będzie zajęty przez cały weekend, a zatem każdemu autobusowi można przydzielić co najwyżej jedno zlecenie. Każde zlecenie może być obsłużone przez jeden autobus. Oznaczmy zatem przez x ij, i, j = 1,..., n zmienną decyzyjną, która przyjmie wartość jeden, gdy autobus j zostanie przydzielony do zlecenia i, oraz zero w przeciwnym razie. W rozwiązaniu optymalnym cztery zmienne przyjmą wartość jeden, a pozostałe wartość zero. Niech c ij oznacza koszt realizacji zlecenia i autobusem j. Sumaryczny koszt realizacji zleceń wyniesie zatem n i=1 c ij x ij. 1..3. Model matematyczny Jak wspomniano we wstępie, model matematyczny problemu przydziału jest szczególnym przypadkiem zadania transportowego i ma postać: zminimalizować przy ograniczeniach n n c ij x ij (1.13) i=1 j=1 n x ij = 1, j = 1,..., n (1.14) i=1 n x ij = 1, i = 1,..., n (1.15) j=1 x ij {, 1}, i, j = 1,..., n (1.16) W sytuacji, gdy m n postępujemy podobnie, jak z niezbilansowanym zadaniem transportowym, czyli dodajemy fikcyjne zadanie albo wykonawcę. Koszty realizacji fikcyjnego zadania są zerowe, podobnie jak koszty realizacji zadań przez fikcyjnego wykonawcę. 1..4. Algorytm węgierski Problem przydziału można oczywiście rozwiązać zarówno za pomocą algorytmu sympleks, jak i algorytmu transportowego, ale ze względu na jego

1.. Problem przydziału 17 szczególna strukturę warto zastosować prostszy algorytm węgierski. Niech będzie dana macierz kosztów C = [c ij Algorytm węgierski Krok 1. Przekształcić macierz kosztów C = [c ij tak, aby w każdym jej wierszu i w każdej kolumnie występowało przynajmniej jedno zero. W tym celu od każdego wiersza macierzy odejmuje się jego najmniejszy element i, jeżeli trzeba, to następnie od każdej kolumny odejmuje się jej najmniejszy element. Krok. W przekształconej macierzy skreślić możliwie najmniejszą liczbą linii wszystkie wiersze i kolumny zawierające zera. Jeżeli najmniejsza liczba linii niezbędnych do pokrycia wszystkich zer jest równa wymiarowi macierzy n, to otrzymane rozwiązanie jest optymalne. Krok 3. Ustalić rozwiązanie optymalne, polegające na takiej konstrukcji macierzy x ij, aby jedynki znalazły się tylko na tych miejscach, na których w przekształconej macierzy kosztów występują zera (w każdym wierszu i każdej kolumnie może występować tylko jedna jedynka). Krok 4. Jeżeli liczba skreśleń jest mniejsza od rozmiaru macierzy n, w bieżącej macierzy kosztów należy znaleźć najmniejszy nieskreślony element i ten element: odjąć od elementów nieskreślonych, dodać do elementów podwójnie skreślonych, elementy skreślone jedną linią zostawić bez zmian. Krok 5. Wrócić do kroku. W celu ułatwienia obliczeń podzielmy wszystkie elementy macierzy [c ij przez 1. Po przekształceniu macierzy kosztów zgodnie ze wskazówkami w kroku 1 otrzymujemy macierz przedstawioną w tablicy 1.11. Tablica 1.11. Macierz kosztów po kroku 1 algorytmu 7 6 4 11 18 6 1 1 4 Jak widać wszystkie zera można w tej macierzy skreślić za pomocą dwóch linii. Zatem rozwiązanie nie jest optymalne. Znajdujemy najmniejszy nieskreślony element macierzy, czyli element (,4) lub (4,4) o wartości 4. Po przekształceniu otrzymujemy macierz przedstawioną w tablicy 1.1. Tablica 1.1. Macierz kosztów po pierwszej iteracji algorytmu 4 3 7 15 6 18 Nadal nie jest to rozwiązanie optymalne. Po kolejnej iteracji otrzymujemy macierz pokazaną w tablicy 1.13 reprezentującą rozwiązanie optymalne. Tablica 1.13. Macierz kosztów po drugiej iteracji algorytmu 6 1 5 13 4 16

18 Rozdział 1. Zagadnienie transportowe Odczytujemy rozwiązanie optymalne nadając wartość 1 zmiennym, dla których wartości macierzy są równe zero (po jednej w każdym wierszu i kolumnie). Tablica 1.14. Rozwiązanie optymalne 1 5 6 4 16 13 1..5. Interpretacja rozwiązania Otrzymane rozwiązanie wskazuje, że najniższy sumaryczny koszt realizacji zleceń, wynoszący 16 zł, firma uzyska wysyłając autobus A1 do Kołobrzegu (x 11 = 1), autobus A do Szklarskiej Poręby (x 3 = 1), autobus A3 do Międzyzdrojów (x 3 =1) i autobus A4 do Zielonej Góry (x 44 =1).