Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Badania operacyjne w logistyce i zarządzaniu produkcją cz. II

Wielkość: px
Rozpocząć pokaz od strony:

Download "Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Badania operacyjne w logistyce i zarządzaniu produkcją cz. II"

Transkrypt

1 Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Badania operacyjne w logistyce i zarządzaniu produkcją cz. II Andrzej Woźniak Nowy Sącz 2012

2 Komitet Redakcyjny doc. dr Marek Reichel przewodniczący; prof. dr hab. inż. Jarosław Frączek; prof. dr hab. Leszek Rudnicki; dr hab. n. med., prof. nadzw. Ryszard Gajdosz; dr hab., prof. nadzw. Zdzisława Zacłona; dr hab. Magdalena Sitarz; dr hab. Wanda Pilch; mgr Agata Witrylak-Leszyńska Redaktor Naczelny doc. dr Marek Reichel Sekretarz Redakcji dr Tamara Bolanowska-Bobrek Redakcja Techniczna dr Tamara Bolanowska-Bobrek Recenzent dr hab. inż. Jan Vogelgesang Wydano za zgodą JM Rektora PWSZ w Nowym Sączu, prof. dr. hab. inż. Zbigniewa Ślipka Autor ponosi odpowiedzialność za poprawność językową tekstu Copyright by Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Nowy Sącz 2012 ISBN Adres Redakcji Nowy Sącz , ul. Staszica 1 tel , briw@pwsz-ns.edu.pl Wydawca Wydawnictwo Naukowe Państwowej Wyższej Szkoły Zawodowej w Nowym Sączu ul. Staszica 1, Nowy Sącz tel , briw@pwsz-ns.edu.pl Druk EXPOL P. Rybiński, J. Dąbek Spółka Jawna ul. Brzeska 4, Włocławek tel./fax: , sekretariat@expol.home.pl 2

3 SPIS TREŚCI 1. Elementy programowania sieciowego i technik optymalizacyjnych na sieciach Rozwiązywanie konfliktu zasobów Analiza czasowo-kosztowa Zależność kosztów czynności od czasu jej wykonania Analiza CPM-COST Analiza czasowo-kosztowa w sieciach z wykorzystaniem programowania liniowego Minimalizacja kosztu przy zadanym czasie dyrektywnym Minimalizacja czasu przy zadanym koszcie Maksymalny przepływ w sieci jako narzędzie wspomagania decyzji logistycznych Zagadnienie najkrótszej drogi w grafie Minimalne drzewo rozpinające Optymalizacja harmonogramów produkcji Wprowadzenie Algorytm symulacyjny Algorytm Johnsona Algorytm Łomnickiego Elementy teorii gier Reguły mini-maksowe. Punkt siodłowy Strategie mini-maksowe mieszane Strategie dominujące i zdominowane Gry z naturą Podejmowanie decyzji w warunkach niepewności Podejmowanie decyzji w warunkach ryzyka Maksymalizacja oczekiwanej korzyści Maksymalizacja oczekiwanej użyteczności Analiza i prognozowanie szeregów czasowych Wprowadzenie do analizy szeregów czasowych Istota prognozowania Wstępna analiza danych Metody prognozowania na podstawie szeregów czasowych Szereg czasowy stacjonarny Szereg czasowy wykazujący trend Szereg czasowy wykazujący wahania sezonowe Elementy teorii masowej obsługi Podstawowe pojęcia teorii masowej obsługi Podstawowe systemy Markowa z nieograniczonym strumieniem zgłoszeń Model systemu M/M/1 bez strat Model systemu M/M/s bez strat Model systemu M/M/1 z ograniczoną kolejką Model systemu M/M/s z ograniczoną kolejką Bibliografia

4 4

5 1. Elementy programowania sieciowego i technik optymalizacyjnych na sieciach W części pierwszej podręcznika przedstawione zostały techniki planowania sieciowego oparte na sieciach o strukturze logicznej zdeterminowanej w czasie trwania czynności zdeterminowanym (CPM) lub stochastycznym (PERT). Techniki te stosowane są zazwyczaj do zarządzania projektami. Do realizacji projektów wykorzystywane są przeważnie środki materialne i finansowe. Jako zasoby są zazwyczaj ograniczone i ich dostępność jest limitowana, a prawidłowa organizacja pracy wymaga dostępności środków w odpowiednich ilościach i odpowiednim czasie. W trakcie realizacji projektu trzeba sprawdzać, czy wykorzystanie środków jest zgodne z ustalonym poprzednio planem, a jeżeli nie przygotować odpowiednie decyzje korygujące. W przypadku dysponowania dodatkowymi zasobami środków można również dążyć do skrócenia czasu realizacji projektu lub zapytać, ile dodatkowych środków potrzeba, by skrócić pierwotnie wyznaczony czas realizacji projektu. W tych ostatnich przypadkach najistotniejsze jest najbardziej efektywne wykorzystanie tych dodatkowych środków Rozwiązywanie konfliktu zasobów Techniki sieciowe służą zazwyczaj do wyznaczenia czasu trwania przedsięwzięcia i ciągu czynności krytycznych, które ten czas określają. Oprócz kontroli czasu i określenia przebiegu drogi krytycznej technika CPM może być wykorzystywana do optymalizacji wykorzystania ograniczonych zasobów oraz kontroli kosztów wykonania przy różnych czasach realizacji przedsięwzięcia. Metoda CPM może być wykorzystana do analizy i optymalizacji środków produkcji użytych do wykonywania poszczególnych czynności w grafie (np. zatrudnienie, środki finansowe, transportowe itp.). Do tego celu służy wykres wykorzystania zasobów (WWZ), który pozwala optymalizować stopień zaangażowania zasobów w trakcie realizacji przedsięwzięcia. Możliwości optymalizacyjne wynikają z rezerw czasowych, jakie mają poszczególne, niekrytyczne czynności w sieci. Technika sporządzania wykresu wykorzystania zasobów polega na wykonaniu następujących kroków: Sporządzenie wykresu sieciowego uzupełnionego o dane dotyczące wykorzystania zasobów, wyznaczenie czynności krytycznych oraz terminów rozpoczęcia i zakończenia czynności niekrytycznych. Sporządzenie harmonogramu Gantta dla najwcześniejszych możliwych terminów rozpoczęcia czynności. Sporządzenie wykresu wykorzystania zasobów dla najwcześniejszych terminów rozpoczęcia czynności. Sporządzenie harmonogramu dla najpóźniejszych dopuszczalnych terminów rozpoczęcia czynności. Wykonanie wykresu wykorzystania zasobów dla najpóźniejszych dopuszczalnych terminów rozpoczęcia czynności. Wyrównanie wykresu zgodnie z przyjętymi ograniczeniami zasobów w ramach dysponowanych zapasów czasu Z c dla czynności nieleżących na drodze krytycznej. 5

6 Poniżej na rysunku obliczonej sieci zależności [rys w cz. I) zaznaczono obok czasu trwania poszczególnych czynności, w tygodniach, ich zapasy czasu oraz pod kreską wysokość zasobu, który angażuje każda czynność. Należy tak zaplanować przebieg realizacji poszczególnych etapów projektu, aby w żadnym momencie jego realizacji nie przekroczyć maksymalnego tygodniowego limitu przyznanych środków (np. finansowych). Czy możliwe jest takie zaplanowanie przebiegu projektu, aby do jego realizacji wystarczyła linia kredytowa w wysokości np zł tygodniowo? Rys Sieci zależności CPM przygotowana do analizy zasobów. Dane z sieci zależności przedstawiono w postaci harmonogramu, który został wykreślony dla najwcześniejszych możliwych terminów rozpoczęcia poszczególnych 0 czynności T i (zamieszczono go na rys. 1.2). Należy zauważyć, że na tym etapie nie wykorzystuje się rezerw czasowych, jakie posiadają czynności niekrytyczne. Rys Harmonogram realizacji przedsięwzięcia według najwcześniejszych możliwych terminów rozpoczęcia czynności. Na harmonogram najwcześniejszych możliwych terminów nanosi się dane dotyczące zasobów i przedstawia się je graficznie w postaci wykresu wykorzystania zasobów (rys. 1.3.). Z wykresu tego wynika, że minimalna wielkość linii kredytowej, 6

7 niezbędnej do obsługi przedsięwzięcia przy założeniu rozpoczęcia realizacji wszystkich czynności w najwcześniejszych możliwych terminach wynosi zł, czyli przekracza wielkość zł przyznanych środków. Rys Wykres wykorzystania zasobów (WZW) przy realizacji według najwcześniejszych możliwych terminów rozpoczęcia czynności. Ponownie sporządza się harmonogram na podstawie sieci zależności tym razem dla najpóźniejszych dopuszczalnych terminów zakończenia czynności; wszystkie rezerwy czasy są w pełni wykorzystane (rys. 1.4). Rys Harmonogram realizacji przedsięwzięcia według najpóźniejszych dopuszczalnych terminów rozpoczęcia czynności. Na harmonogram najpóźniejszych dopuszczalnych terminów nanosi się dane dotyczące zasobów i przedstawia graficznie. Z zakresu wykorzystania zasobów dla najpóźniejszych dopuszczalnych terminów wynika, że minimalna wielkość linii kredytowej niezbędnej do obsługi przedsięwzięcia wynosi zł i jest w dalszym ciągu mniejsza do wartości uzyskanej dla najpóźniejszych dopuszczalnych terminów rozpoczęcia poszczególnych czynności. Maksymalna wielkość wymaganych zasobów w tym przypadku wynosi zł. 7

8 Rys Wykres zużycia zasobów przy realizacji według najpóźniejszych dopuszczalnych terminów rozpoczęcia czynności. Dzięki przesunięciu czynności niekrytycznych w ramach posiadanego przez nie zapasu czasu udało się zmniejszyć zapotrzebowanie na zasoby finansowe w trakcie realizacji przedsięwzięcia poprzez rozłożenie zapotrzebowania bardziej równomiernie. Harmonogram realizacji przedsięwzięcia w terminach realizacji czynności pozwalających na wykonanie przedsięwzięcia w ramach przyznanej linii kredytowej na poziomie zł przedstawiono na rys. 1.6, a wykres zużycia zasobów przy tych terminach przedstawia rys Rys Harmonogram realizacji przedsięwzięcia optymalny z punktu widzenia wykorzystania zasobów finansowych Rys Wykres wykorzystania linii kredytowej przedsięwzięcia na przydzielonym poziomie. 8

9 Przyjmijmy teraz dodatkowo, że do każdej z czynności wchodzących w skład rozważanego przedsięwzięcia musimy przydzielić po jednym środku transportowym, wykorzystywanym w sposób ciągły przez cały okres wykonywania tej czynności. Jest to dodatkowy zasób, który również może podlegać ograniczeniom. Załóżmy, że dysponujemy 4 środkami transportu, zatem w każdym okresie realizacji naszego przedsięwzięcia liczba tych środków nie może przekraczać liczby 4. Stanowi to oczywiście dodatkowy zasób, którego ograniczenie może pozostawać w konflikcie z przyznaną linią kredytową. Sytuację, gdy dostępne środki powinny być wykorzystane do realizacji większej niż dopuszczalna liczba czynności, nazywamy konfliktem zasobów. Chcąc uzyskać realistyczny harmonogram, należy uprzednio rozwiązać wszystkie konflikty zasobów. Rozważmy jeszcze raz harmonogram realizacji przedsięwzięcia optymalny z punktu widzenia wykorzystania zasobów finansowych (rys. 1.6) oraz harmonogram wykorzystania linii kredytowej (rys. 1.7) i zestawmy w tabeli wykorzystywanie zasobów w poszczególnych tygodniach zarówno to w postaci linii kredytowej, jak i pracujących równocześnie środków transportowych. Wykorzystywana wielkość linii kredytowej podana jest na rys. 1.7, zaś środki transportowe wyznaczymy, sumując liczbę wykonywanych równocześnie czynności w każdym tygodniu. Wyniki tej analizy zawiera tab. 1.1 Tab Zestawienie wykorzystywanych środków w celu rozwiązania konfliktu zasobów. tygodnie kredyt [tys. zł] środki transportowe [szt.] tygodnie kredyt [tys. zł] środki transportowe [szt.] Jak wynika z analizy danych zawartych w tabeli, wykorzystanie przyznanego limitu kredytu wynoszącego zł tygodniowo nie zostało przekroczone w tygodniu 4. i 5. osiągnięto jego limit. Wskazuje to na prawidłową konstrukcję harmonogramu z punktu widzenia dostępności środków finansowych. Przekroczony został limit dysponowanych środków transportowych. Z harmonogramu wynika, że w tych samych tygodniach musi być zatrudnione 5 środków transportowych, podczas gdy dysponujemy jedynie 4. Należy zatem dokonać ponownej korekty harmonogramu, tym razem w aspekcie dysponowanych środków transportowych równocześnie uważając na wysokość limitu kredytowego. Ostateczny harmonogram realizacji przedsięwzięcia pozbawiony już konfliktu zasobów przestawiony został na rys. 1.8, a harmonogram wykorzystania linii kredytowej na rys

10 Rys Harmonogram realizacji przedsięwzięcia pozbawiony konfliktu zasobów. Rys Harmonogram wykorzystania linii kredytowej pozbawiony konfliktu zasobów Analiza czasowo-kosztowa Zależność kosztów czynności od czasu jej wykonania Wykreślenie drogi krytycznej, obliczanie zapasów czasu czynności nieleżących na drodze krytycznej oraz ustalenie terminów rozpoczęcia i ukończenia czynności uwzględnia jedynie operatywną stronę wykonywania programu. Odrębnym zagadnieniem jest ukształtowanie planów, tj. aby koszty związane z wykonaniem przedsięwzięcia były najniższe. Względy ekonomiczne powinny decydować o celowości przyspieszenia niektórych terminów, np. przez pracę na 2 lub 3 zmiany, albo przeciwnie względy ekonomiczne mogą przemawiać za ich wydłużeniem, zwłaszcza czynności niekrytycznych w ramach dysponowanych rezerw czasowych, np. praca na 1 zmianę. Najczęściej jednak występuje konieczność skrócenia planowanego czasu realizacji przedsięwzięcia, aby nadgonić opóźnienia lub ze względu na pilne potrzeby inwestora. Każde takie przyspieszenie tempa pracy z reguły pociąga za sobą wzrost kosztów wykonania. Dokładne określenie zmiany kosztów wykonania, w zależności od czasu lub tempa wykonywania poszczególnych czynności wchodzących w skład projektu, nie jest sprawą prostą. Na ogół sposoby kalkulacji kosztów w oparciu o normatywne koszty jednostkowe przemawiają za liniowym wzrostem kosztów w zależności od wielkości produkcji (koszty bezpośrednie, ściśle związane z kosztami robocizny, zużytych materiałów i pracy sprzętu). Można założyć jednak, że ze względu na mniejszą wydajność pracy w systemie wielozmianowym lub w systemie wydłużonego dnia pracy, bądź konieczność 10

11 zatrudnienia dodatkowej liczby pracowników i dodatkowego sprzętu generuje dodatkowe koszty. Uzależnienie kosztów wykonania od czasu trwania czynności leży również w składniku kosztów pośrednich, które najczęściej naliczane są jako procentowy składnik kosztów bezpośrednich. W tym składniku zawierają się koszty ogólne produkcji, dzierżaw, magazynowania, administracji itp., a ich zależność od czasu jest już bardziej intuicyjna. Do planowania ekonomicznego potrzebna jest jednak znajomość zależności wszystkich kosztów od czasu trwania czynności produkcyjnej. Bardzo często w literaturze dotyczącej rachunku kosztów można dostrzec poglądowy rysunek charakteryzujący przebieg całkowitych kosztów produkcji w funkcji czasu. Rys Zależność kosztów wykonania czynności od czasu jej trwania. Jak już wspomniano, określenie krzywej kosztów jako funkcji czasu trwania poszczególnych czynności nie jest sprawą prostą, zwłaszcza że niekiedy krzywa przebiegu zmian kosztów w zależności od czasu wykonywania pracy może mieć przebieg różnorodny. Najczęściej do analizy kosztów na podstawie planów sieciowych uznaje się typowy przebieg krzywej kosztów jako funkcji czasu K c f (t) według rys Rys Typowy przebieg krzywej kosztów jako funkcji czasu. gdzie: t n czas tzw. normalny czynności, w którym koszty czynności są najniższe K ); ( min t gr czas graniczny; jest to najkrótszy, możliwy ze względów technologicznych, czas wykonywania czynności (crash time), przy koszcie granicznym ( K ). Planowanie sieciowe jest stosowane najczęściej do organizacji prac wytwórczych, a brane pod uwagę koszty są z reguły bezpośrednimi kosztami produkcji. Przyjęto ostatecznie, całkowicie arbitralnie, że czasy trwania poszczególnych czynności w sieciach deterministycznych dla wyznaczenia drogi krytycznej (metoda CPM) odpowiadają czasom normalnym t n, przy których koszty własne produkcji wykazują minimum. Wynika stąd, że skrócenie czasu czynności pociągać będzie za sobą pewien gr 11

12 wzrost kosztów produkcji. Jest to założenie całkowicie dowolne, przyjęte dla uproszczenia dalszej analizy matematycznej, w której zakłada się, że czasy czynności podawane do wykreślenia grafu sieciowego odpowiadają idealnemu stanowi organizacji pracy. Omawiając metody analizy sieciowej kosztów wykonania jako funkcji czasu, przyjmiemy, choć z zastrzeżeniami, założenie, że czas normatywny t n odpowiada najniższej wartości kosztów wykonania K min. Skracanie czasów wykonania poszczególnych czynności jest ograniczone względami technologicznymi i czynienie tego poniżej wartości t gr nie jest możliwe. Koszt wykonania czynności w jej czasie granicznym wynosi K gr. Dla dalszego uproszczenia analizy sieciowej kosztów wykonania w zależności od czasu jej trwania przyjęto w miejsce parabolicznej krzywej K c f (t) przebieg liniowy (rys. 1.12). Rys Liniowy przebieg zależności kosztów wykonania od czasu trwania czynności. Wprowadzając liniowy przebieg funkcji K c f (t), można znacznie uprościć zagadnienie przez założenie stałego przyrostu kosztów na jednostkę czasu, tzw. średni gradient kosztów s: ( K gr K min ) tg s [39] ( t t ) n gr Wreszcie można przedstawić w uproszczonej postaci funkcję kosztów K c f (t) jako równanie linii prostej: Kt ( Kmin s tn ) s t [40] Podstawiając b ( K ) min s tn [41] otrzymamy znane równanie linii prostej: K t b s t [42] Gradient kosztów s wyraża się w zł/jednostkę czasu czynności jest różny dla różnych czynności. Stąd ogólne równanie kosztów różnych czynności y w sieci zależności przedstawia się: b s t [43] przy czym: Kt ij t ij n t gr ij ij t [44] ij 12

13 Dla danego programu sieciowego, zawierającego pewną liczbę czynności, koszt całkowity programu przedstawiać będzie suma kosztów wszystkich czynności y ij należących do zbioru U stanowiącego program: n Kt ij y U K n jest liczbą elementów zbioru [45] c ij Opierając się na równaniu kosztów całego programu, można rozwiązać szereg ekonomicznych problemów planowania, takich jak np.: opracowanie programu sieciowego dla minimum kosztów programu, przy niezmienionym terminie ukończenia, minimalizacja czasu przy zadanym koszcie, skrócenie terminu ukończenia programu przy minimalnym wzroście kosztów Kc. Zagadnienia te można rozwiązać, jeżeli dla każdej czynności znane są równania kosztów jako funkcji czasu, względnie gradient kosztu s ij oraz czasy krańcowe, tj. czas graniczny t gr oraz czas normalny t n oprócz czasu planowanego czynności t ij. Dla uproszczenia dalszych rozważań przyjmijmy, że planowany czas realizacji czynności (czas dyrektywny) t ij jest równy czasowi normalnemu t n Analiza CPM-COST Omawiając metody planowania sieciowego, zwracaliśmy uwagę przede wszystkim na analizę ilościową. Niemniej ważnym zagadnieniem programowania sieciowego jest aspekt ekonomiczny i możliwość modyfikacji modelu przez kompresję sieci wynikającą ze zbyt długiego dla inwestora lub odbiorcy okresu realizacji przedsięwzięcia. Ekonomiczne względy sprawiają, że należy wówczas rozpatrzyć techniczne możliwości skrócenia terminu wykonania całego programu, w taki jednak sposób, aby koszty związane z jego realizacją były jak najniższe. Określenie optymalnego terminu realizacji przedsięwzięcia wiązać się będzie zatem z takim ułożeniem programu przyspieszenia, aby największa akceleracja przypadała na te czynności krytyczne, których koszty przyspieszenia będą najniższe. Tego rodzaju akceleracja planu wymaga z reguły zwiększonych nakładów na robociznę i pracę sprzętu oraz urządzeń. Na rys podano przebieg wzrostu kosztów czynności w zależności od czasu jej wykonania. Podobny charakter ma również przebieg zmian kosztów wykonania całego przedsięwzięcia, złożonego z wielu czynności, w zależności od czasu ich wykonywania i końcowego terminu. Koszt całkowity realizacji projektu K c = K min odpowiada terminowi końcowemu, wyznaczonemu przez długość drogi krytycznej, jeśli założymy, że wszystkie czynności wykonywane są w czasie normalnym t n. Koszt K max odpowiada natomiast terminowi realizacji, w którym wszystkie czynności krytyczne mają czas graniczny t gr. Dalsze skracanie czasu wykonania programu poniżej t gr ze względów technologicznych jest niemożliwe. Algorytm kompresji sieci jest następujący: Na podstawie normalnych czasów trwania czynności wyznaczyć termin końcowy i ścieżkę krytyczną. Zestawić czynności krytyczne i obliczyć dla nich gradienty kosztów s ij. Wyeliminować z zestawienia te czynności krytyczne, dla których średni gradient kosztów nie istnieje, tzn. t n =t i j = t gr. 13

14 Proces skracania rozpocząć od czynności krytycznej o najniższym gradiencie kosztów s ij, skracając jej czas o jak największą liczbę jednostek czasu (dni). Należy jednak pamiętać, że nie można skrócić czynności więcej niż wynosi jej czas graniczny t gr, oraz że skracając czas drogi krytycznej (jako najdłuższej drogi w grafie), możemy doprowadzić do pojawienia się w grafie innych, nowych dróg krytycznych. Jeżeli występują 2 lub więcej ścieżek krytycznych w sieci, należy skracać czas o tę samą wielkość na wszystkich równoległych ścieżkach krytycznych. Najkrótszy termin wykonania programu sieciowego uzyskuje się, gdy wszystkie czynności leżące na którejkolwiek z dróg krytycznych osiągną czasy graniczne t gr. Dalsze skracanie czasu wykonania programu jest wówczas niemożliwe. Koszty przyspieszenia na każdym etapie oblicza się jako iloczyn gradientu kosztów (s ij ) dla danej czynności i liczby jednostek czasu (dni), o które dana czynność krytyczna została skrócona. Łączne koszty przyspieszenia są sumą kosztów poniesionych na poszczególnych etapach. Zaprezentowany algorytm do wyznaczania optymalnego programu akceleracji czynności i określenia najkrótszego czasu wykonania całego przedsięwzięcia przy minimum kosztów stosuje się zarówno do sieci CPM, jak i PERT. Rozważmy zatem pod kątem analizy kosztowej analizowane już w części 1 podręcznika przedsięwzięcie przedstawione za pomocą sieci zależności pokazanej na rys Wyniki analizy drogi krytycznej, wyznaczenie terminów zajścia wszystkich zdarzeń w sieci oraz terminów rozpoczęcia i zakończenia poszczególnych czynności (analizy CPM) zostały tam zamieszczone w tab. 1. Dyrektywny termin realizacji tego zadania przy normatywnych czasach trwania czynności t ij =t n wynosi 26 dni (długość drogi krytycznej). W celu łatwiejszego śledzenia toku rozumowania analizy czasowo- -kosztowej rysunek sieci zależności z zaznaczonym przebiegiem drogi krytycznej oraz tabelę z wynikami analizy przytoczono tu jeszcze raz. Rys Przebieg drogi krytycznej w grafie po obliczeniach zapasów czasów dla wszystkich czynności w sieci. Jak już wspomniano, do przeprowadzenia analizy czasowo-kosztowej metodą CPM-COST należy uzupełnić zestawione informacje o koszty wykonania poszczególnych czynności. Dane takie zawiera tab W kolumnach [2-5] tabeli zamieszczono numery zdarzeń początkowych (i) i końcowych (j) wszystkich czynności składających się na analizowany projekt oraz normatywne (t n ) i graniczne (t gr ) czasy wykonania 14

15 czynności. W kolumnach [6-8] zamieszczone są koszty wykonania czynności przy tych czasach: normatywnym (K n ) oraz granicznym (K gr ), jak również wyliczony na podstawie formuły [39] gradient kosztów (s ij ). Tab Zestawienie wyników analizy drogi krytycznej metodą CPM dla grafu rys czynność i-j czas trwania t ij najwcześniejszy możliwy początki najpóźniejszy dopuszczalny najwcześniejszy możliwy końce najpóźniejszy dopuszczalny Zapas całkowity Tab Zestawienie danych do analizy czasowo-kosztowej CPM-COST. nr i j t ij = t n t gr K n K gr s ij ,0 1,0 110,0 110,0 0, ,0 2,0 80,0 160,0 40, ,0 3,0 50,0 100,0 25, ,0 0,0 0,0 0,0 0, , , , , , , , , , , , , , , , , , , , , ,0 0,0 Z c 15

16 Koszt całkowity wykonania całego przedsięwzięcia w czasie normatywnym 0 1 T konc. T konc. 26 dni wynosi (K c = K min =1680) jednostek. Czy jest możliwe skrócenie tego terminu o pewien okres, np. o 4 dni w stosunku do terminu dyrektywnego * 1 ( T T 22 ) dni i jakie dodatkowe koszty należy ponieść, aby dokonać konc ( 4). konc (4). takiego przyspieszenia programu? Aby dokonać takiej analizy należy postępować zgodnie z podanym algorytmem. Wyeliminować z zestawienia czynności w tab. 1.3 te czynności krytyczne, dla których nie istnieje średni gradient kosztów, tzn. t n = t gr. Z tabeli, dla jej przejrzystości, wyeliminowano również czynności zerowe, które nie pochłaniają żadnych środków i dla których K c = K gr = 0, jak też wszystkie pozostałe czynności niekrytyczne, dla których średni gradient kosztów również jest równy 0 (s ij = 0). Zredukowane zestawienie czynności możliwych do akceleracji zawiera tab Tab Zestawienie czynności uczestniczących w procesie akceleracji. nr i j t ij = t n t gr K n K gr s ij ,0 2,0 80,0 160,0 40, ,0 3,0 50,0 100,0 25, , , , , , , , , , , ,0 Proces skracania należy rozpocząć od czynności krytycznej (w tabeli zaznaczone pogrubionym drukiem) o najniższym gradiencie kosztów, czyli od czynności (9-11), gdyż dla tej czynności średni gradient kosztów wynosi s (9-11) = 20 jednostek. Czasy normatywny i graniczny dla tej czynności wynoszą odpowiednio: t n(9-11) = 6 dni i t gr(9-11) = 4 dni. Możliwe jest zatem przyspieszenie realizacji tej czynności o 2 dni. Koszt takiej akceleracji wyniesie: * jednostek. K ( t ) (9 11) (6 4) ( 911) n t s (911) gr(9 11) Następną czynnością leżącą na drodze krytycznej, którą jeszcze można skrócić bez spowodowania większych zakłóceń w drodze krytycznej jest czynność (13-14) jej gradient kosztów wynosi 60 jednostek, a może ona ulec skróceniu o 1 dzień z 3 do 2 dni. Koszty tego skrócenia wyniosą: K * ( 1314) ( ( ) ( ) ) tn t gr ) s( (3 2) jednostek. Po tym kroku akceleracji uzyskaliśmy skrócenie przedsięwzięcia o 3 dni: z 26 do 23 dni i dodatkowy koszt, jaki należy przez to ponieść wynosi * * * K K(( 11) K(13 14) jednostek. Aby skrócić całe zadanie o jeszcze 1 dzień do czasu całkowitego 22 dni, należałoby skrócić jeszcze jakąś czynność krytyczną o 1 dzień. Musimy jednak zwrócić uwagę, że przy takiej akceleracji pojawiła się nowa droga krytyczna, przechodząca przez 16

17 czynności Dalsze skracanie starej drogi krytycznej bez uwzględnienia zmian na nowej drodze krytycznej jest niemożliwe. Należy teraz skracać czynności leżące na starej i nowej drodze krytycznej równocześnie. Taką możliwość daje skrócenie czynności 4-10 o 1 dzień i czynności 7-9 również o 1 dzień. Dodatkowe koszty przyspieszenia wyniosą teraz: * * * K K(4 10) K(79) 1 s(4 10) 1 s(7 9) jednostek. 0 1 Ostatecznie skrócenie całego przedsięwzięcia o 4 dni (do T15 T15 22 dni) spowoduje przyrost kosztów całkowitych o 150 jednostek. Istnieją również inne możliwości uzyskania tego rodzaju akceleracji z takim samym efektem finansowym. W tab zamieszone zostały wyniki analizy dokonanej z wykorzystaniem programu komputerowego Tab Ostateczne wyniki analizy skrócenia czasu T T 22 dni I * Najwcześniejszy Najpóźniejszy I nr i j t ij t ij Z początek koniec początek koniec c ,0 0,0 0, , ,0 1,0 1, , ,0 0,0 1, , ,0 0,0 1, , ,0 0,0 4, , ,0 0,0 4, , ,0 0,0 4, , ,0 1,0 6, , ,0 0,0 1, , ,0 0,0 1, , ,0 0,0 4, , ,0 0,0 4, , ,0 1,0 8, , ,0 0,0 9, , , ,0 2,0 10, , ,0 1,0 11, , ,0 0,0 11, , , ,0 0,0 14, , ,0 0,0 14, , ,0 0,0 17, , ,0 0,0 20, ,0 Całkowity koszt skrócenia czasu realizacji projektu o 4 dni wyniesie 150 jednostek. Odbędzie się to również kosztem rezerw czasowych na czynnościach niekrytycznych, w ramach posiadanych przez nie zapasów. Czynności takie staną się czynnościami krytycznymi. Sieć zależności po takiej akceleracji przedstawia rys Program komputerowy do analizy czasowo-kosztowej w sieciach CPM i PERT został opracowany przez zespół pracowników naukowych Akademii Ekonomicznej w Katowicach pod kierunkiem prof. dr. T. Trzaskalika. 17

18 Rys Przebieg dróg i czynności krytycznych w sieci po skróceniu terminu realizacji do 22 dni. Widzimy, że skracanie czasu realizacji projektów, oprócz wzrostu kosztów, wiąże się również z pewnym napięciem organizacyjnym wynikającym z faktu, że coraz więcej czynności ma charakter krytyczny. Muszą więc rozpocząć i zakończyć się w sztywnych terminach, bez rezerw czasowych. Wykonanie takiej inwestycji w terminie skróconym jest obarczone pewnym ryzykiem. Obliczmy zatem, korzystając z podanego sposobu, jakim jest minimalny możliwy termin wykonania tego zadania, ile wynosi dodatkowy koszt takiej operacji. Wyniki obliczeń zawiera tab. 1.6, a sieć zależności przedstawia rys Tab Wyniki analizy skrócenia czasu nr i j I t ij * t ij T15 Najwcześniejszy dni. Najpóźniejszy początek koniec początek koniec ,0 0,0 0, , ,0 2,0 1, , ,0 1,0 1, , ,0 0,0 1, , ,0 0,0 3, , ,0 1,0 3, , ,0 0,0 3, , ,0 3,0 5, , ,8 0,2 1,0 3, ,8 0, ,0 0,0 1, , ,0 0,0 3,8 3, , ,0 0,0 3,8 8,8 3,8 8,8 0, ,0 1,0 6, , ,8 0,8 8, ,8 8,0 0, ,0 2,0 8, , ,0 0,0 8, , ,0 0,0 8, , , ,0 0,0 12, , ,0 0,0 11, , ,0 1,0 15, , ,0 0,0 17, ,0 T min I Z c 18

19 Maksymalne przyspieszenie terminu realizacji, jakie można uzyskać w warunkach ograniczonych czasami granicznymi t gr wszystkich czynności, wynosi 19 dni 0 1 * ( T 15 T15 19). Koszt takiej akceleracji obliczymy z formuły KA t ij s ij. Całkowity koszt akceleracji jest więc sumą iloczynu wielkości przyspieszenia poszczególnych czynności t oraz odpowiadającym tym czynnościom gradientom kosztów s ij i wynosi KA 19 =353 jednostki. * ij 15 i1 Rys Siec zależności dla maksymalnego przyspieszenia terminu realizacji ( T T15 19) W przedstawionej sieci zależności wszystkie czynności poza czynnościami i są czynnościami krytycznymi. Ich zapasy całkowite są równe 0. Jest to najkrótszy z możliwych termin ukończenia całego przedsięwzięcia wynoszący 19 dni, przy koszcie większym od kosztu normatywnego o 353 jednostki Analiza czasowo-kosztowa w sieciach z wykorzystaniem programowania liniowego Minimalizacja kosztu przy zadanym czasie dyrektywnym Korzystając z możliwości, jakie dają metody sieciowe, można poszukiwać optymalnych rozwiązań z punku widzenia czasu realizacji projektu albo kosztów wykonania. Ciekawe rozwiązania w zakresie takiej optymalizacji proponuje T. Trzaskalik 2 [2003], który dąży do minimalizacji kosztu realizacji przedsięwzięcia przy zadanym, nieprzekraczalnym czasie jego trwania, zwanym czasem dyrektywnym. Zagadnienie to sprowadza do sformułowania i rozwiązania odpowiedniego zadania programowania liniowego. Przyjmijmy zatem proponowane tam oznaczenia: przez x i (i=1,2,.15) momenty zaistnienia zdarzeń 1-15, natomiast przez y 1, y 2,. y 21 czasy przyspieszenia realizacji czynności od 1 do 21 (oznaczenia czynności według tabeli). 2 T. Trzaskalik, Wprowadzenie do badan operacyjnych z komputerem, PWE Warszawa 2003, s

20 Dla wyznaczenia kosztów przyspieszenia realizacji przedsięwzięcia, odpowiadającym zadanemu czasowi dyrektywnemu, utwórzmy funkcję: f ( y, y,... y ) 0 y 40 y 25 y 0 y 0 y 50 y y 7 30 y 10 y 20 y y 60 y 45y y ,6 y 0 y y min 0 y y 13,3 y y Dla czynności oraz zdarzeń tworzących projekt zachodzą ponadto następujące zależności: Moment zaistnienia zdarzenia i (czyli x i,) musi być równy lub większy od momentu zakończenia czynności dla których to zdarzenie jest zdarzeniem końcowym. Czas rozpoczęcia dowolnej czynności jest równy momentowi zaistnienia zdarzenia, które dla tej czynności jest zdarzeniem początkowym. Czas realizacji czynności jest równy czasowi normalnemu pomniejszonemu o czas przyspieszenia y i. Stosując powyższe uwarunkowania, możemy sformułować ogólną zasadę: x t y x [46] j i i i gdzie: x j moment zajścia zdarzenia następującego (kończącego czynność i) t i czas normalny realizacji czynności i y i przyspieszenie czynności i x i moment rozpoczęcia czynności i. Rys Schemat obliczeniowy optymalizacji kosztów przyspieszenia realizacji metodą programowania liniowego Przedstawiony na schemacie (rys. 1.16) opis czynności podaje nad kreską normatywne czasy trwania czynności oraz w nawiasach szukane wielkości przyspieszeń, przy których realizowana jest funkcja kryterium programowania liniowego. Pod kreską podane są numery (nazwy) czynności. Na podstawie formuły [46] dla każdego zdarzenia możemy zapisać: 20

21 dla zdarzenia 1: x 1 = 0 dla zdarzenia 2: x 2 t 1 - y 1 +x 1 =1- y 1 +x 1 dla zdarzenia 3: x y 2 + x 2 dla zdarzenia 4 x 4 5 y 3 + x 2 x 4 2 y 5 + x 3 dla zdarzenia 5: x 5 0 y 4 + x 2 dla zdarzenia 6: x 6 3 y 9 + x 5 dla zdarzenia 7: x 7 5 y 10 +x 5 x 7 4 y 6 + x 3 x 7 0 y 11 + x 6 dla zdarzenia 8: x 8 5 y 12 + x 6 dla zdarzenia 9: x 9 3 y 13 + x 7 x 9 0 y 14 + x 8 dla zdarzenia 10: x 10 6 y 18 + x 4 dla zdarzenia 11: x 11 0 y 7 + x 3 x 11 6 y 15 + x 9 x 11 4 y 16 + x 10 dla zdarzenia 12: x 12 3 y 17 + x 10 dla zdarzenia 13: x 13 3 y 18 + x 11 x 13 3 y 19 + x 12 dla zdarzenia 14: x 14 3 y 20 + x 13 dla zdarzenia 15: x 15 2 y 21 + x 14 Możliwości przyspieszenia poszczególnych czynności są ograniczone ich czasami granicznymi t gr. Wynikające z tego warunki ograniczające przyjmą zatem ogólną postać: 0 y i t gr [47] Dla rozwiązywanego przykładu warunki ograniczające wielkość przyspieszeń każdej z czynności w grafie przyjmą postać: 0 y y y y y y y y y y y y y y y y y y y y y 21 2 Załóżmy, że chcemy realizować nasze przedsięwzięcie w czasie nie dłuższym niż 22 dni. Oznacza to, że moment zajścia zdarzenia 15 (ostatnie zdarzenie w sieci), określający czas realizacji przedsięwzięcia nie może przekroczyć wartości 22. Otrzymujemy więc dodatkowe ograniczenie w postaci: x Ponadto x 1 = 0 oraz wartości zmiennych x 2, x 3,. x 15 muszą być nieujemne. 21

22 Sformułowane zadanie programowania liniowego, po dokonaniu prostych przekształceń, można zapisać: f ( y, y,... y ) 0 y 40 y 25 y 0 y 0 y 50 y y 7 30 y 10 y 20 y y 60 y 45y y ,6 y 0 y y min 0 y y 13,3 y y x 2 + y x 2 +x 3 + y x 2 + x 4 + y x 3 + x 4 + y x 2 + x 5 + y x 5 + x 6 + y x 5 + x 7 + y y y y y y y y x 3 + x 7 + y x 6 + x 7 + y x 6 + x 8 + y x 7 + x 9 + y x 8 + x 9 + y x 4 + x 10 + y x 3 + x 11 + y y y y y y y y x 9 +x 11 + y x 10 + x 11 + y x 10 + x 12 + y x 11 + x 13 +y x 12 + x 13 +y x 13 + x 14 +y x 14 + x 15 +y 21 2 x y y y y y y y 21 2 x 2, x 3,... x 15 0 Po rozwiązaniu takiego układu równań liniowych z minimalizowaną funkcją celu, interesujące nas wartości zmiennych y 1, y 2,..y 21 przyjmą wartości: y 1 = 0 y 2 = 1 y 3 = 0 y 4 = 0 y 5 = 0 y 6 = 0 y 7 = 0 y 8 = 1 y 9 = 0 y 10 = 0 y 11 = 0 y 12 = 0 y 13 = 1 y 14 = 0 y 15 = 2 y 16 = 1 y 17 = 0 y 18 = 0 y 19 = 0 y 20 = 0 y 21 = 0 22

23 Najwcześniejsze terminy zajścia zdarzeń, przy których funkcja kryterium przyjmuje wartości minimalne przedstawione są poniżej: x i = 0 x 2 = 1 x 3 = 4 x 4 = 6 x 5 = 1 x 6 = 4 x 7 = 8 x 8 = 9 x 9 = 10 x 10 = 11 x 11 = 14 x 12 = 14 x 13 = 17 x 14 = 20 x 15 = 22 Koszt dodatkowy realizacji przedsięwzięcia w czasie nieprzekraczającym 22 jednostek wynosi 150. Sieć czynności ze zmodyfikowanymi czasami trwania poszczególnych czynności została przedstawiona na rys Minimalizacja czasu przy zadanym koszcie Spróbujmy teraz rozwiązać problem przyspieszenia realizacji projektu w odmienny sposób. Mając do dyspozycji określoną kwotę, pytamy, o ile możemy przyspieszyć realizację rozpatrywanego przedsięwzięcia. W tym przypadku zmieni się funkcja kryterium, ponieważ chcemy nasze przedsięwzięcie zakończyć jak najprędzej. Funkcja celu będzie miała postać: FC(x 15 ) = x 15 min Załóżmy, że koszt przyspieszenia nie może być większy niż 200 jednostek. Zapiszemy ten warunek następująco: 0 y 1 16,6 y 0 y 40 y y 0 y 25 y ,3 y 10 y 0 y y 60 y 30 y y 13 0 y 0 y y y 20 y y 45y Pozostałe ograniczenia nie ulegają zmianie w stosunku do ograniczeń rozpatrywanych w punkcie x 2 + y x 2 +x 3 + y x 2 + x 4 + y x 3 + x 4 + y x 2 + x 5 + y x 5 + x 6 + y x 5 + x 7 + y x 3 + x 7 + y x 6 + x 7 + y x 6 + x 8 + y x 7 + x 9 + y x 8 + x 9 + y x 4 + x 10 + y x 3 + x 11 + y x 9 +x 11 + y x 10 + x 11 + y x 10 + x 12 + y x 11 + x 13 +y x 12 + x 13 +y x 13 + x 14 +y x 14 + x 15 +y 21 2 x y y y y y y y 7 0 x 2, x 3,... x y y y y y y y y y y y y y y

24 W efekcie rozwiązanie takiego zadania z zakresu programowania liniowego umożliwia wyliczenie wartości szukanych parametrów: y 1 = 0 y 2 = 2 y 3 = 0 y 4 = 0 y 5 = 0 y 6 = 0 y 7 = 0 y 8 = 2,8 y 9 = 0 y 10 = 0 y 11 = 0 y 12 = 0 y 13 = 1 y 14 = 0 y 15 = 1,7 y 16 = 0 y 17 = 0 y 18 = 0 y 19 = 0 y 20 = 0 y 21 = 0 Najwcześniejsze terminy zajścia zdarzeń, przy których funkcja kryterium przyjmuje wartości minimalne przedstawione są poniżej: x i = 0 x 2 = 1 x 3 = 3 x 4 = 6 x 5 = 1 x 6 = 4 x 7 = 7 x 8 = 9 x 9 = 9 x 10 = 9,3 x 11 = 13,3 x 12 = 12,3 x 13 = 16,3 x 14 = 19,3 x 15 = 21,3 Mając dodatkowo do dyspozycji 200 jednostek pieniężnych, możemy zrealizować przedsięwzięcie w czasie nie dłuższym niż 21,3 dni Maksymalny przepływ w sieci jako narzędzie wspomagania decyzji logistycznych W podrozdziale tym zostanie przedstawiony inaczej skonstruowany algorytm wyznaczania maksymalnego przepływu w sieciach na przykładzie logistycznego problemu zarządzania ruchem sytuacjach kryzysowych. Problem ten został sformułowany następująco. Przebiegająca przez obszar pewnej gminy droga wojewódzka ma być czasowo zamknięta dla ruchu z powodu prowadzonych prac remontowych. Z przeprowadzonych badań wynika, że natężenie ruchu pojazdów na tym odcinku w godzinach szczytu komunikacyjnego wynosi 6 pojazdów na minutę. Problem przygotowania tras objazdu wyłączonego odcinka istniejącą siecią dróg gminnych pozostaje do rozwiązania przez władze gminy. Możliwości objazdu obejmują pewne odcinki dróg o różnym standardzie nawierzchni; są one również zróżnicowane pod względem ograniczeń prędkości i możliwości poruszania się w obydwu kierunkach. Zróżnicowanie to powoduje rozmaite przepustowości tych odcinków dróg. Sytuacje drogową i możliwości komunikacyjne w gminie przedstawia rys

25 Rys Poglądowa mapa gminy Radziechowa z naniesionym układem komunikacyjnym. Rozpatrywana alternatywna sieć transportowa, która zastąpi okresowo wyłączoną z ruchu drogę wojewódzką między punktami A i B, została przedstawiona schematycznie na rys Rys Schemat możliwości objazdu wyłączonego odcinka drogi wojewódzkiej z wykorzystaniem istniejącej sieci dróg gminnych. Powyższy schemat transportowy został zastąpiony grafem, którego wierzchołki oznaczają miejscowości, a krawędzie odcinki dróg pomiędzy miejscowościami. Graf połączeń drogowych przedstawia rys

26 Rys Graf połączeń drogowych z podanymi parametrami przepływu. Każda krawędź została opisana za pomocą 2 parametrów, określających możliwości przepływu w obydwu kierunkach. Należy wyznaczyć maksymalny przepływ w rozpatrywanej sieci oraz ustalić, czy jest on wystarczający dla przyjęcia spodziewanego natężenia ruchu. Łączny, wymagany przepływ przez wyznaczone drogi zastępcze nie powinien być mniejszy niż zbadane natężenie przepływu na wyłączonym odcinku drogi wojewódzkiej, wynoszące 6 pojazdów na minutę. Należy również wyznaczyć trasy, na które należy kierować przejeżdżające pojazdy, zapewniające ten maksymalny przepływ. W zagadnieniu maksymalnego przepływu wyróżniamy wierzchołek początkowy, zwany źródłem, i wierzchołek końcowy, zwany ujściem. Każda krawędź grafu opisana jest 2 liczbami, które nazywamy przepustowością i przepustowością rezydualną. Należy zaplanować przepływ między źródłem i ujściem, uwzględniający przepustowości wszystkich krawędzi, tak aby łączna wielkość tego przypływu była największa. Istotną rolę w wykorzystaniu algorytmu maksymalnego przepływu w sieci odgrywa zasada równowagi przepływu dla wszystkich rozpatrywanych krawędzi. Zasada ta mówi, że dopuszczalne wykorzystanie przepustowości krawędzi w określonym kierunku powoduje zmniejszenie wielkości przepustowości w tym kierunku o wielkość wykorzystanej przepustowości oraz zwiększenie, o taką samą wielkość, przepustowości w kierunku przeciwnym. Algorytm wyznaczania maksymalnego przepływu w sieci jest postępowaniem iteracyjnym i składa się w każdym etapie iteracji z następujących kroków: Znajdujemy dowolną ścieżkę prowadzącą od wierzchołka początkowego (źródła) do wierzchołka końcowego (ujścia), dla której przepustowości wszystkich łuków są większe od 0. Jeżeli takiej ścieżki nie można wyznaczyć, to przepływ nie istnieje (lub maksymalny przepływ wyznaczono już w poprzednich krokach). Na wyznaczonej drodze znajdujemy krawędź o najmniejszej przepustowości w rozpatrywanym kierunku. Znalezioną przepustowość oznaczamy jako p. Zmniejszamy przepustowość łuków leżących na znalezionej ścieżce o wielkość p i zwiększamy o tę samą wartość odpowiednie przepustowości rezydualne. Prześledźmy przebieg kolejnych iteracji dla zadania poszukiwania możliwości objazdu wyłączonego odcinka drogi istniejącą siecią dróg. 26

27 Iteracja 1 Konstruujemy pierwszą drogę od węzła 1 do węzła 9. Dla węzła 1 mamy 3 możliwości wyboru pierwszej krawędzi: 1 2, 1 3 lub 1 4. O wyborze 1 z 3 możliwości decydujemy arbitralnie, wybierając krawędź 1 3. Z wierzchołka 3 mamy wychodzące 3 krawędzie: 3 2, 3 5 i 3 6. Arbitralny wybór mamy jednak między 2 krawędziami: 3 2 i 3 6, ponieważ krawędź 3 5 jest krawędzią o zerowym przepływie w wymaganym kierunku. Jeżeli zdecydujemy się na pierwsze z możliwych rozwiązań (krawędź 3-6), to możemy wybrać drogę przez krawędź 6 5 albo 6 7. Decydujemy się na tę ostatnią. Postępując w ten sposób, dalej wybieramy krawędzie 7 8 i 8 9. Otrzymujemy w ten sposób pierwszy przepływ w sieci, który przechodzi przez wierzchołki Określamy wielkość tego przepływu, którą jest minimalna wartość przepustowości (zgodnej z kierunkiem przepływu) na krawędziach tworzących tę drogę (rys. 1.20). Obliczamy nowe przepustowości dla krawędzi, które zostały wykorzystane w rozpatrywanym przepływie. W tab. 1.7 przedstawiony został sposób obliczania nowych przepustowości. Rys Wyznaczona w pierwszej iteracji droga od źródła do ujścia. Maksymalny przepływ na tej drodze ( ) limitowany jest przepływem minimalnym, jaki ma krawędź 8 9, wynoszącym 3 pojazdy na minutę. Sposób obliczenia przepustowości tej drogi ilustruje tab Tab Sposób obliczania przepustowości dla drogi wyznaczonej w pierwszej iteracji. Krawędź Przepustowości poprzednie nowe =2 0+3= =2 3+3= =1 5+3= =3 6+3= =0 6+3=9 Graf wyznaczenia maksymalnego przepływu w sieci po pierwszej iteracji przedstawia rys

28 Rys Graf wyznaczenia maksymalnego przepływu w sieci po pierwszej iteracji. Iteracja 2 Konstruujemy drugą drogę od źródła do ujścia. Wykorzystujemy w tym celu sieć przepływu ze zmodyfikowanymi przepustowościami, przedstawioną na rys. 62. Proponowana obecnie droga przechodzi przez wierzchołki Porównanie wyróżnionych wartości przepływu wskazuje na to, że przepustowość tej drogi jest równa 1. Rys Wybór ścieżki od źródła do ujścia w drugiej iteracji. Sposób obliczenia przepustowości poszczególnych krawędzi na drodze po drugiej iteracji ilustruje tab. 1.8, a wynik wyznaczonego przepływu po drugiej iteracji przedstawiono na rys Tab Sposób obliczania przepustowości dla drogi wyznaczonej w drugiej iteracji. Krawędź Przepustowości poprzednie nowe =1 3+1= =3 4+1= =3 2+1= =4 5+1= =0 8+1= =6 6+1=7 28

29 Rys Graf wyznaczenia maksymalnego przepływu w sieci po drugiej iteracji. Maksymalny przepływ na drodze ( ) po drugiej iteracji limitowany jest przepływem minimalnym, jaki ma krawędź 6 7, wynoszącym 1 pojazd na minutę. Iteracja 3 W trzeciej iteracji droga od źródła do ujścia wyznaczona zostanie na podstawie grafu ze zmodyfikowanymi przepływami w poprzednich iteracjach. W tej iteracji otrzymamy drogę przedstawioną na rys. 64. Maksymalny przepływ na tej drodze jest uwarunkowany przepływem krawędzi 1 3 i wynosi 1 pojazd na minutę. Rys Wybór ścieżki od źródła do ujścia w trzeciej iteracji. Sposób oznaczenia nowych przepustowości po trzeciej iteracji przedstawiany został w tab Tab Sposób obliczania przepustowości dla drogi wyznaczonej w trzeciej iteracji. Krawędź Przepustowości poprzednie nowe =0 4+1= =4 3+1= =2 3+1= =5 0+1= =2 9+1= =5 7+1=8 29

30 Graf zmodyfikowany po trzeciej iteracji przedstawia rys Rys Graf wyznaczenia maksymalnego przepływu w sieci po trzeciej iteracji. Iteracja 4 Konstruujemy czwartą drogę od źródła do ujścia. W tym celu wykorzystujemy zmodyfikowane przepustowości. Otrzymujemy drogę Porównanie wyróżnionych wartości przepływu wskazuje na to, że przepustowość tej drogi jest równa 2 pojazdy na minutę. Rys Wybór ścieżki od źródła do ujścia w czwartej iteracji. Obliczamy nowe przepustowości dla krawędzi, które zostały wykorzystane w rozpatrywanym przepływie. Sposób obliczania nowych przepustowości ilustruje tab Tab Sposób obliczania przepustowości dla drogi wyznaczonej w czwartej iteracji. Krawędź Przepustowości poprzednie nowe =4 0+2= =0 6+2= =0 6+2= =4 4+2= =3 1+2= =0 10+2= =3 8+2=10 30

31 Poniżej na rys. 67 przedstawiony został graf wyznaczenia maksymalnego przepływu ze zmodyfikowanymi przepustowościami po 4 iteracjach. Rys Przepustowości wszystkich krawędzi grafu po 4 iteracjach. Analiza rys wykazuje, że czwarta iteracja kończy wyznaczenie maksymalnego przepływu w sieci istniejących dróg. Istniejąca w grafie droga, która jeszcze nie była analizowana ( ), nie dochodzi jednak do węzła końcowego, zatem nie może być brana pod uwagę. Ponieważ wyczerpane zostały w ten sposób wszystkie możliwości tworzenia nowych dróg, ostatnia znaleziona droga nie doprowadziła do wierzchołka końcowego, oznacza to, że przepustowości wyznaczonych wcześniej 4 dróg określają maksymalny przepływ w rozpatrywanej sieci. Przepływ ten wynosi: droga pierwsza ( ) przepływ 3 pojazdy na minutę droga druga ( ) przepływ 1 pojazd na minutę droga trzecia ( ) przepływ 1 pojazd na minutę droga czwarta ( ) przepływ 2 pojazdy na minutę razem: maksymalny przepływ 7 pojazdów na minutę Zagadnienie najkrótszej drogi w grafie Zagadnienie najkrótszej drogi w grafie jest jednym z najprostszych, lecz bardzo ważnych zagadnień dotyczących problemów optymalizacyjnych na sieciach. Problem ten można opisać w następujący sposób: w sieci, której każdy łuk ma określoną długość, należy znaleźć najkrótszą drogę między 2 dowolnymi węzłami. Rozważmy sieć utworzoną z analizy maksymalnego przepływu w sieciach (rozdz. 1.3.) Przeprowadzona analiza wykazała, że maksymalny przepływ przez sieć przedstawiona na rys można uzyskać, wykorzystując 4 ścieżki pełne. Węzeł 4 i drogi przechodzące przez niego nie biorą udziału w planie wyznaczania maksymalnego przepływu. Jeśli zatem z tego grafu wyeliminujemy węzeł 4 i wszystkie z nim związane drogi oraz krawędź 3 5, która również nie jest wykorzystywana do maksymalnego przepływu, uzyskamy graf, który posłuży nam do poszukiwania najkrótszej drogi w sieci rys

32 Rys Model poszukiwania najkrótszej drogi w sieci. Rozważmy zatem sieć utworzoną ze zbioru węzłów, których niektóre pary (w naszym przypadku większość) są połączone łukami zorientowanymi. Węzeł 1 i węzeł 9 są wyróżnione jako węzły początku i końca sieci. Problem polegać będzie na znalezieniu najkrótszej drogi do węzła końcowego od co najmniej jednego z pozostałych węzłów lub też od wszystkich pozostałych węzłów. Wielkość c ij w tym przypadku oznacza długość drogi, która zaczyna się w węźle i, a kończy się w węźle j. W zastosowaniach tego modelu wielkość c ij może być wyrażona w innych jednostkach niż jednostki odległości. Przykładowo, wartość c ij może oznaczać koszt przebycia drogi od węzła i do węzła j i wtedy problem polega na znalezieniu najtańszej drogi. W innych sytuacjach wartość c ij może reprezentować czas potrzebny na przebycie drogi między tymi węzłami i wtedy problem polega na znalezieniu najszybszej drogi. W tych zastosowaniach często c ij c ji. Ponadto między niektórymi węzłami może nie być połączenia bezpośredniego. Taki przypadek oznaczamy, przyjmując c ij =. W niektórych przypadkach zachodzi tzw. nierówność trójkąta cij cik ckj i nie jest ona spełniona dla wszystkich możliwych wartości i, j oraz k. Sieć tak analizowana może zawierać drogi będące cyklami. Oznacza to, że dla 2 lub więcej węzłów możliwe jest znalezienie takiej łączącej je drogi, że początek drogi schodzi się w tym samym węźle z końcem drogi. Na rys. 79 występuje wiele cykli, np. droga prowadząca od węzła 6 przez węzły 3, 2 i 5 z powrotem do węzła 6. Rozważmy zatem problem polegający na znalezieniu optymalnej drogi prowadzącej do węzła końcowego od ustalonego węzła początkowego. W rozpatrywanym przypadku ustalono, że węzeł początkowy jest węzłem 9, a węzeł końcowy to węzeł 1. Ta nienaturalna zmiana kolejności wejścia i wyjścia wynika z przyjęcia modelu najkrótszej drogi w grafie jako modelu równoważnego zagadnieniom przydziału 3. Na tej podstawie została skonstruowana tablica przydziału z zapasem buforowym B=1 (tab. 1.11). Zagadnienie najkrótszej drogi jest więc szczególnym przypadkiem problemu przydziału, 3 Rozważany model minimalnej drogi może być rozpatrywany jako klasyczne wieloetapowe zagadnienie transportowe, w którym jednostka towaru oferowana jest przez węzeł 9 (nadawcę początkowego), a zamówiona przez węzeł 1 (odbiorcą końcowego). Wszystkie pozostałe węzły traktowane są jako punkty pośrednie (H.M. Wagner, Badania operacyjne, PWE Warszawa 1980). 32

33 Tab Tablica zagadnienia najkrótszej drogi. Do węzła Od węzła (węzeł początkowy) węzeł końcowy c 9,8 c 9,7 1 8 c 8,9 0 c 8,7 c 8,5 1 7 c 7,9 0 c 7,6 1 6 c 6,7 0 c 6,5 c 6,3 1 5 c 5,6 0 c 5,2 1 3 c 3,6 0 c 3,2 c 3,1 1 2 c 2,5 c 2,3 0 c 2, w którym współczynniki funkcji celu c kk =0 występują poniżej głównej przekątnej tablicy. Matematyczny model zagadnienia najkrótszej drogi jest następujący: FC n i1 n1 j1 c ij x ij min [5.6.1] przy warunkach ograniczających: 1, dla k=p (punkt początkowy sieci) x ik 0, dla wszystkich pozostałych k [5.6.2], i, sieci w k sieci 1, dla k=r (punkt końcowy sieci) kj x k w j x 0, dla wszystkich (i,j) w sieci [5.6.3] ij W tablicy współczynników warunków ograniczających modelu (1) (3) każdemu węzłowi odpowiada jeden wiersz, a każdemu łukowi jedna zmienna. Dla przykładu, jeśli przyjmiemy k = p = 9, to z warunków ograniczających mamy: x 97 x98 x79 x89 1 węzeł początkowy 9 natomiast, jeśli przyjmiemy k= 5, to otrzymamy: x 65 x52 x56 x25 0 węzeł pośredni 7 Rozwiązywanie takiego modelu jest jednak bardzo pracochłonne. W pewnych określonych przypadkach uproszczeniem rozwiązań programowania liniowego może być zapisanie do niego funkcji dualnej i rozwiązanie mniej skomplikowanego układu równań z maksymalizowaną funkcją celu. Ogólnie, jeśli problem wyznaczania w sieci najkrótszej drogi między węzłem początkowym p a węzłem końcowym r sprowadzimy do zagadnienia programowania liniowego, a głównie do jego postaci dualnej: Założymy, że dana sieć zawiera szereg dróg od węzła początkowego (p) do węzła końcowego (r), a naszym zadaniem jest wybrać najkrótszą z nich. W naszym przypadku węzeł początkowy to węzeł 9, a węzeł końcowy to węzeł 1. Sprowadzony do zadania dualnego problem programowania liniowego przedstawiony jest w formie tablicy technologicznej (tabl. 16). Tab Tablica technologicznego zagadnienia najkrótszej drogi w grafie. 33

34 węzły wielkości przewozów x 98 x 97 x 89 x 87 x 85 x 78 x 76 x 67 x 65 x 63 x 56 x 52 x 36 x 32 x 31 x 23 x = = = = = = = = 1 c 98 c 97 c 89 c 87 c 85 c 78 c 76 c 67 c 65 c 63 c 56 c 52 c 36 c 32 c 31 c 23 c 21 Niech zatem y k będzie zmienną dualną związaną z węzłem k. Problem dualny do zagadnienia programowania liniowego określonego tablicą technologiczną (tabl ) w ogólnej postaci jest następujący: * FC y r y max [5.6.4] p przy warunkach ograniczających: y y c dla wszystkich łuków (i,j) w sieci [5.6.5] i j ij gdzie każda zmienna y k może przyjmować wartości o dowolnym znaku. Rozpatrując analizowany przez nas problem najkrótszej drogi w grafie danym na rys , możemy zapisać: zmaksymalizować y 1 + y p przy warunkach ograniczających: y 9 y 8 c 98 y 9 y 7 c 97 y 8 y 7 c 87 y 8 y 5 c 85 y 7 y 8 c 78 y 7 y 6 c 76 y 6 y 5 c 65 y 6 y 5 c 65 y 5 y 6 c 56 y 5 y 2 c 52 y 3 y 2 c 32 y 3 y 1 c 31 y 2 y 1 c 21 y 8 y 9 c 89 y 7 y 9 c 70 y 6 y 7 c 67 y 6 y 3 c 63 y 3 y 6 c 36 y 2 y 3 c 23 każda zmienna y k może przyjmować wartości o dowolnym znaku. Rozwiązanie powyższego problemu dualnego uzyskano, korzystając z programu komputerowego. Wartość funkcji celu wynosi FC = 19 przy wartościach poszczególnych zmiennych dualnych y k wynoszących: y 1 = 0, y 2 = 6, y 3 = 5, y 5 = 10, y 6 = 8, y 7 = 13, y 8 = 13, y 9 = 19. Dowód powyższych modeli i sposób rozwiązania zagadnienia minimalnej drogi w sieci z wykorzystaniem programowani liniowego zarówno metodą dualną, jak też prymarną można znaleźć u H.M. Wagnera [1980]. Przedstawiona wyżej metoda wyznaczenia najkrótszej drogi w grafie dotyczyła sieci, które mogą zawierać cykle i pętle. Interesujący sposób poszukiwania minimalnej 34

35 drogi w grafie acyklicznym zaprezentował T. Trzaskalik [2003]. W tym celu, na podstawie schematycznej mapy gminy (rys. 1.17), sprządźmy jeszcze raz graf acykliczny (niezawierający cykli oraz pętli), odwzorowujący istniejącą w gminie sieć drogową, i sformułujmy zadanie wyznaczenia najkrótszej drogi w grafie następująco: W centrum gminy w miejscowości Radziechowa zlokalizowany został zakład przetwórczy produktów mlecznych, zaopatrujący się w mleko od producentów z terenu całej gminy. Producenci mleka dostarczają mleko zorganizowanym transportem do lokalnych zlewni mleka położonych w każdej miejscowości. Ze względu na konieczność codziennego odbioru mleka z lokalnych zlewni istotne staje się zminimalizowane kosztów transportu. Celowi temu służy określenie najkrótszych połączeń komunikacyjnych między zakładem mleczarskim położonym centralnie w gminie i na grafie reprezentowanym przez wierzchołek 1 oraz lokalnymi zlewniami mleka umieszczonymi w poszczególnych miejscowościach symbolizowanych wierzchołkami Wartość parametru opisującego każdą z krawędzi to długość drogi między węzłami grafu, które łączy dana krawędź (łuk). Należy znaleźć najkrótsze drogi prowadzące z zakładu mleczarskiego do kolejnych zlewni mleka. Na rys przedstawiono w formie grafu acyklicznego istniejącą sieć dróg reprezentują krawędzie grafu, a poszczególne miejscowości, w których znajdują się zlewnie mleka, reprezentowane są przez łuki. Rys Graf acykliczny istniejącej sieci komunikacyjnej. Na podstawie powyższego przykładu zostanie przedstawiony algorytm poszukiwania najkrótszych dróg w grafie, składający się z dwóch faz. W fazie pierwszej następuje cechowanie węzłów przez nadanie im specjalnych etykiet: stałych lub tymczasowych. Etykiety te nadaje się według specjalnej procedury, pamiętając o tym, że każda z etykiet ma dwie składowe. Pierwsza z nich podaje długość najkrótszej, znalezionej dotąd drogi do danego węzła, a druga składowa to numer węzła stanowiącego początek ostatniego łuku należącego do tej najkrótszej drogi. W kolejnych iteracjach etykiety tymczasowe mogą być zmieniane. Dzieje się tak wówczas, gdy znajdziemy drogę krótszą od drogi znalezionej dotychczas. Jeżeli mamy pewność, że do danego węzła nie istnieje krótsza droga, to przyporządkowujemy mu etykietę stałą. Po cechowaniu na stałe wszystkich węzłów w grafie przechodzimy do realizacji drugiej fazy algorytmu, w której na podstawie drugich składowych etykiet odtwarzamy przebieg najkrótszych dróg od węzła początkowego do wszystkich pozostałych węzłów. 35

36 Pierwsza faza algorytmu jest fazą iteracyjną, której każdy krok zbliża nas do rozwiązania końcowego. W iteracji pierwszej węzłem cechowanym na stałe jest węzeł, któremu przyporządkowana zostaje etykieta stała [0,P] (pierwsza składowa etykiety podaje odległość od węzła poprzedzającego czyli odległość od niego samego równą: 0; litera P występująca jako druga składowa wskazuje, że jest to węzeł początkowy). Identyfikujemy wszystkie łuki wychodzące z węzła 1, a węzłom kończącym te łuki przypisujemy etykiety tymczasowe. W iteracji kolejnej i następnych wybieramy spośród węzłów już ocechowanych węzeł, który ma być ocechowany na stałe. Jest to węzeł, który ma najmniejszą pierwszą składową swojej etykiety tymczasowej. Następnie identyfikujemy wszystkie łuki wychodzące z tego węzła do węzłów, które nie zostały jeszcze ocechowane na stałe. Dla każdego z nich sprawdzamy, czy droga dochodząca z rozpatrywanego węzła jest krótsza od wyznaczonej do tej pory. Jeśli tak jest, to zmieniamy etykietę tymczasową zgodnie z podanymi zasadami, w przeciwnym wypadku pozostawiamy etykietę tymczasową bez zmian. Postępowanie to powtarzamy aż do wyczerpania wszystkich możliwości (wszystkie węzły zostały oznaczone stałymi etykietami). W drugiej fazie algorytmu, w której identyfikujemy łuki wchodzące w skład najkrótszych dróg w grafie, rozpoczynając identyfikację od węzła 2. Do tego celu służy druga składowa etykiety stałej. Identyfikujemy kolejne łuki poszukiwanej drogi tak długo, aż osiągnięty zostanie węzeł początkowy. Poniżej prześledzimy przebieg kolejnych iteracji dla zadania sformułowanego w przykładzie. W iteracji pierwszej identyfikujemy łuki wychodzące z węzła początkowego 1, któremu nadano etykietę stałą. Łukami tymi są: 1 2, 1 5 i 1 6. Odległości od węzła początkowego są równe parametrom przypisanym tym łukom. Ponieważ węzłem poprzedzającym każdy z tych węzłów jest węzeł 1, otrzymujemy następujące etykiety: dla węzła 2 etykieta stała [2,1] dla węzła 5 etykieta tymczasowa [4,1] dla węzła 6 etykieta tymczasowa [8,1] Wybór węzła cechowanego na stałe po pierwszej iteracji przedstawia rys Rys Graf po pierwszej iteracji węzeł 2 cechowany etykietą stałą. 36

37 W iteracji drugiej przeglądając składowe etykiet tymczasowych, stwierdzamy, że węzłem cechowanym na stałe będzie węzeł 2 (wartość pierwszej składowej dla tego węzła jest najmniejsza). Z węzła 2 prowadzą dwie krawędzie: 2 3 i 2 7. Węzły te nie były dotychczas cechowane, więc przypisujemy im tymczasowe etykiety, w których pierwsze składowe są równe sumie najkrótszej drogi do węzła 2 (wynoszącej 2) i długości łuków 2 3 i 2 7. Etykiety dla wymienionych węzłów przedstawiają się następująco: dla węzła 3 etykieta stała [4,2] dla węzła 7 etykieta tymczasowa [6,2] Z dwóch, do tej pory nieocechowanych etykietą stałą, węzłów najmniejszą wartość pierwszej składowej ma węzeł 3 i jemu została przypisana etykieta stała. Graf po tym kroku przedstawiono na rys Rys Graf po drugiej iteracji ocechowany węzeł 3 etykietą stałą. W następnej trzeciej iteracji z ocechowanego stałą etykietą węzła 3 wyróżniamy wychodzący z niego jeden łuk, który ma zakończenie w węźle 4. Przypisujemy zatem temu węzłowi etykietą tymczasową: dla węzła 4 etykieta [6,3] Taką samą wartość pierwszej składowej ma węzeł 7. Jak wspomniano wcześniej, w przypadku niejednoznaczności etykietę stałą przypisujemy węzłowi o numerze mniejszym, zatem węzeł 4 otrzymuje etykietę stałą. dla węzła 4 etykieta stała [6,3] Postać grafu po trzeciej iteracji przedstawia rys Rys Postać grafu po trzeciej iteracji węzeł 4 ocechowany etykietą stałą. 37

38 W czwartej iteracji dokonujemy analizy pierwszych składowych etykiet tymczasowych nieocechowanych na stałe: węzeł 5 etykieta tymczasowa [8,1] węzeł 6 etykieta tymczasowa [4,1] węzeł 7 etykieta tymczasowa [6,2] Ponieważ pierwsza składowa węzła 6 jest mniejsza, zatem węzeł ten zostaje ocechowany etykietą stałą. węzeł 6 etykieta stała [4,1] Z węzła tego wychodzą dwa łuki, których zakończeniem są węzły 7 i 8. Węzeł 8 nie ma jeszcze żadnej etykiety, więc przypisujemy mu etykietę [12,6]. Węzeł 7 natomiast ma już przypisaną etykietę tymczasową [6,2], nowa etykieta miałaby swoją pierwszą składową identyczną, zatem pozostawiamy tą etykietę, przypisując jej charakter stały. węzeł 8 etykieta tymczasowa. [11,7] węzeł 7 etykieta stała [6,2 ] Graf po tej iteracji ma postać daną na rys Rys Postać grafu po czwartej iteracji ocechowane etykietami stałymi węzły 6 i 7. W iteracji piątej przypisujemy nową etykietę węzłowi 8 ocechowanemu etykietą tymczasową [12,6]. Nowa etykieta ma następujące składowe [11,7] przypisujemy ją zatem węzłowi 8 jako lepszą od poprzedniej. Z dwóch oznaczonych etykietami tymczasowymi węzłów 5 i 8 niższą wartość pierwszej składowej ma węzeł 5, zatem węzeł ten zostaje ocechowany etykietą stałą: węzeł 8 etykieta tymczasowa. [11,7] węzeł 5 etykieta stała [7,2 ] Iteracja szósta kontynuuje analizę grafu w węźle 5. Z węzła tego wychodzą dwa łuki o zakończeniu w węźle 10 i 11. Węzły te nie są jeszcze węzłami cechowanymi, więc przypisujemy im etykiety: węzeł 10 etykieta tymczasowa [11,7] węzeł 11 etykieta tymczasowa [7,2 ] Z trzech ocechowanych etykietami tymczasowymi wierzchołków 8, 10 i 11 dwa z nich mają najmniejsze pierwsze składowe, a z tych dwóch etykietę stałą przypiszemy węzłowi 8 jako węzłowi o niższym numerze w grafie. Otrzymaną sytuację przedstawia rys

39 Rys Graf po szóstej iteracji na stałe ocechowany węzeł 8. W iteracji siódmej przypisujemy tymczasową etykietę węzłowi 9 jako kończącemu łuk 8 9. Etykieta tymczasowa dla tego węzła wyniesie [17,8]. Otrzymujemy trzy węzły ocechowane etykietami tymczasowymi (9, 10 i 11). Najniższą wartość pierwszej składowej ma węzeł 10 i jemu przyznajemy etykietę stałą. Sytuację tę obrazuje rys Rys Graf po siódmej iteracji etykietą stałą został ocechowany węzeł 10. Iteracja ósma rozstrzyga problem najkrótszych dróg w grafie, przypisując stałe etykiety węzłom następująco: węzeł 9 etykieta stała [13,10] węzeł 11 etykieta stała [13,10] Graf po zakończeniu pierwszej fazy algorytmu poszukiwania najkrótszych dróg przedstawia się następująco (rys ): Rys Graf po pierwszej fazie algorytmu poszukiwania najkrótszych dróg. 39

40 Ponieważ wszystkie wierzchołki zostały ocechowane na stałe, pierwsza faza algorytmu została zakończona. Druga faza polega na identyfikacji dróg. Proces identyfikacji najkrótszych dróg przedstawiony zostanie przykładowo na jednym z możliwych węzłów. Przedstawiona zostanie przykładowo konstrukcja drogi dla węzła 10. Druga składowa tego węzła wynosi 5, co wskazuje, że ostatni odcinek konstruowanej drogi od wierzchołka 1 do wierzchołka 10 rozpoczyna się w węźle 5. Ostatni odcinek tej drogi to łuk Z kolei najkrótsza droga do węzła 5 prowadzi z węzła 2 (druga składowa etykiety stałej węzła 5). Etykieta stała węzła 2 (druga składowa) wskazuje, że najkrótsza droga do tego węzła prowadzi od węzła 1. Najkrótsza zatem droga od początku sieci (węzeł 1) do węzła 10 prowadzi przez węzły 2 i 5. Pozostałe najkrótsze drogi w grafie przedstawione zostały w tab Tab Zestawienie najkrótszych dróg w grafie. Węzeł Najkrótsze drogi Odległości Minimalne drzewo rozpinające Jedną z istotnych technik programowania sieciowego, o szczególnym znaczeniu w informatyce do porządkowania danych, jest drzewo rozpinające grafu (sanning tree). Znaczenie praktyczne w technikach zarządzania ma również pojęcie minimalnego drzewa rozpinającego. W tej części podręcznika zostanie zaprezentowany algorytm poszukiwania minimalnego drzewa rozpinającego grafu oraz jego praktyczna implementacja w technikach zarządzania. Podobnie jak poszukiwanie najkrótszej drogi między dwoma dowolnie wybranymi wierzchołkami w sieci minimalne drzewo rozpinające ma zastosowanie w zagadnieniach związanych z optymalizacją systemów transportowych oraz zagadnień logistycznych związanych z przesyłem informacji przez sieciowe systemy komputerowe. Drzewo rozpinające w grafie to taki zbiór wierzchołków i krawędzi grafu, w którym dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do tego zbioru. Minimalne drzewo rozpinające to drzewo wybrane spośród wszystkich istniejących drzew rozpinających, dla którego łączna długość krawędzi jest najmniejsza. Inaczej ujmując, drzewo rozpinające grafu to drzewo, które zwiera wszystkie wierzchołki grafu, zaś zbiór krawędzi drzewa jest podzbiorem zbioru krawędzi grafu. Jeżeli założymy, że graf zwykły definiuje dwójka G=(V,E): gdzie V jest niepustym zbiorem wierzchołków grafu, a E jest zbiorem jego krawędzi, to drzewo rozpinające grafu jest definiowane przez dwójkę G*=(V,E*); gdzie E* jest podzbiorem utworzonym na zbiorze wszystkich krawędzi w grafie E* E. 40

41 Minimalne drzewo rozpinające (minimal spanning tree) tworzy się na grafach ważonych. Jak już wspomniano, grafami ważonymi nazywamy grafy, w których każdej krawędzi przypisana jest pewna waga (etykieta). Jeśli dany jest graf ważony G(V,E,w), gdzie w jest funkcją przypisującą krawędzi e i wagę (liczbę rzeczywistą). Minimalnym drzewem rozpinającym nazywać będziemy drzewo rozpinające grafu, dla którego suma wag jest najmniejsza z możliwych: * * G ( V, E ) w i e i * ee Istnieją dwa bardzo szybkie algorytmy wyznaczania minimalnego drzewa rozpinającego grafu: algorytm Kruskala i algorytm Prima oraz ich praktyczne połączenie: algorytm Sollina. Algorytm Kruskala oparty o metodę zachłanną (greedy algorithms) 4 polega na łączeniu wielu poddrzew w jedno za pomocą krawędzi o najmniejszej wadze. W rezultacie powstałe drzewo będzie minimalne. Przed przystąpieniem do tworzenia drzewa, należy posortować wszystkie krawędzie w porządku niemalejącym, a potem przystąpić do tworzenia drzewa. Proces ten nazywa się rozrastaniem lasu drzew. Wybieramy krawędzie o najmniejszej wadze i jeśli wybrana krawędź należy do dwóch różnych drzew należy je scalić (dodać do lasu) pod warunkiem, że nie narusza definicji drzewa rozpinającego zabraniającej utworzenia cyklu. Krawędzie wybieramy tak długo, aż wszystkie wierzchołki będą należały do jednego drzewa. Budowę minimalnego drzewa rozpinającego według algorytmu Prima zaczynamy od dowolnego wierzchołka grafu. Dodajemy wierzchołek do drzewa, a wszystkie krawędzie wychodzące z niego (incydentne) umieszczamy na posortowanej według wag liście. Następnie zdejmujemy z listy pierwszą krawędź (o najmniejszej wadze). Sprawdzamy, czy drugi wierzchołek tej krawędzi należy już do tworzonego drzewa. Jeżeli tak, to porzucamy krawędź (oba jej wierzchołki należą do drzewa) i pobieramy z listy krawędź następną Jeżeli jednak wierzchołka nie ma w drzewie, to należy dodać krawędź do drzewa, by wierzchołek ten znalazł się w drzewie rozpinającym. Następnie dodajemy do posortowanej listy wszystkie krawędzie incydentne z dodanym wierzchołkiem i pobieramy z niej kolejny element. Postępujemy tak długo, aż wszystkie wierzchołki grafu znajdą się w drzewie rozpinającym. Wymienione algorytmy nie wykazują istotnych różnic między sobą i są właściwie szablonami postępowania zmierzającego do konstrukcji minimalnego drzewa rozpinającego. Praktyczne zastosowanie zagadnienia minimalnego drzewa rozpinającego do planowania sieci światłowodowej ilustruje przykład grafu, który wykorzystywany był już do wyznaczania minimalnej drogi w grafie. W zadaniu, które mamy rozwiązać, zlokalizowana centralnie mleczarnia postanowiła połączyć swoją centralę i wszystkie lokalne zlewnie mleka w siec światłowodową do przesyłu drogą elektroniczną wyników pobranych próbek mleka. Informacje te są potrzebne do szybkiego ustawienia parametrów 4 Idea algorytmów zachłannych (greedy algorithms) polega na tym że, dokonując wyboru, wybiera się zawsze rozwiązanie lokalnie optymalne, tzn. takie, które w danym momencie działania algorytmu jest najlepsze. 41

42 produkcji w zależności od uzyskanych wyników. Koszty instalacji światłowodu są wysokie i dlatego dopuszcza się możliwość bezpośredniego połączenia niektórych lokalnych zlewni mleka z centralą, natomiast pozostałe zlewnie podłączą się za pośrednictwem zlewni już podłączonych. Techniczne możliwości przeprowadzenia światłowodów uwarunkowane są istniejącą siecią dróg, wzdłuż których prowadzony będzie przewód. Sieć dróg lokalnych utworzyła znany już graf (rys. 1.37). Rys Sieć możliwych połączeń do konstrukcji drzewa rozpinającego. Algorytm wyboru minimalnej drogi oparty w swojej konstrukcji o idee algorytmów Kluskala i Prima przedstawia się następująco. Spośród wszystkich wierzchołków grafu, którego minimalnego drzewa rozpinającego poszukujemy, wybieramy dowolny wierzchołek i łączymy go z wierzchołkiem położonym najbliżej. W skonstruowanym już drzewie mamy dwa wierzchołki i łączącą je krawędź. Wierzchołki te nazywamy wierzchołkami połączonymi, pozostałe zaś tworzą zbiór wierzchołków niepołączonych. Identyfikujemy najbliższy zbiorowi wierzchołków połączonych wierzchołek niepołączony i dołączamy go do zbioru wierzchołków połączonych, wraz z krawędzią, która do tego wierzchołka prowadzi. Krok ten wykonujemy tak długo, aż do zbioru wierzchołków połączonych dołączymy wszystkie wierzchołki grafu. W każdym kroku iteracji dołączamy do powstającego drzewa również te krawędzie, które posłużyły do identyfikacji wierzchołków. Prześledźmy przebieg kolejnych iteracji dla sformułowanego już zadania. Graf wyjściowy przedstawia rys Algorytm minimalnego drzewa rozpinającego rozpoczynamy od dowolnego wierzchołka. W rozważanym przykładzie naturalnym wydaje się rozpoczęcie poszukiwań początku drzewa od wierzchołka 1. W celu zidentyfikowania następnego, najbliższego mu wierzchołka rozpatrujemy wszystkie wychodzące z wierzchołka 1 krawędzie i wybieramy krawędź o najniższej wadze. Ilustruje to rys Rys Graf minimalnego drzewa rozpinającego po pierwszej iteracji. 42

43 Z wierzchołka 1 biorą początek trzy krawędzie (1 2), (1 5) i (1 6). Wagi tych wierzchołków wynoszą odpowiednio 2, 8, i 6. Wybieramy krawędź o najniższej wadze, czyli krawędź (1 2). Wierzchołek 2 nie należy jeszcze do zbioru wierzchołków połączonych, więc dołączamy go do zbioru, a pierwszą krawędzią poszukiwanego drzewa będzie krawędź (1 2). Ze zbioru wierzchołków niepołączonych, najbliższy tworzonemu drzewu jest wierzchołek 2, gdyż ze zbioru krawędzi (2 3), (2 5) i (2 7) krawędź (2 3) ma najniższą wagę. Wierzchołek 3 włączamy zatem do zbioru wierzchołków połączonych oraz krawędź (2 3) dopinamy do istniejącego drzewa. Ilustracja tego kroku jest rys Rys Graf minimalnego drzewa rozpinającego po drugiej iteracji. W następnych iteracjach dołączamy do zbioru wierzchołków połączonych wierzchołki 3, 4, i 5 oraz łączące je krawędzie. Otrzymaną w wyniku tych kroków sytuację ilustruje rys Rys Graf minimalnego drzewa rozpinającego po dołączeniu wierzchołków 4 i 5. Ze zbioru wierzchołków niepołączonych 6, 7, 10 i 11 najbliższe utworzonego już drzewa są wierzchołki 6, 7 oraz 10. Krawędzie, które łączą te wierzchołki z wierzchołkami połączonymi mają równe wagi, arbitralnie zatem wybieramy wierzchołek 6 (wierzchołek o najniższym numerze). Dołączamy go do grafu wraz z krawędzią (1 6). Następnym dołączonym wierzchołkiem jest wierzchołek 7, który wraz z krawędzią (6 7) tworzy drzewo przedstawione na rys

44 Rys Graf minimalnego drzewa rozpinającego z dołączonymi wierzchołkami 6 i 7. Zbiór wierzchołków niepołączonych stanowią wierzchołki 8, 9, 10 i 11. Najbliżej zbioru wierzchołków połączonych jest wierzchołek 10, ponieważ łącząca ten wierzchołek z uzyskanym już drzewem krawędź (5 10) ma najniższą wagę spośród krawędzi pozostałych. Wierzchołek 10 i krawędź (5 10) dołączamy zatem do poszukiwanego drzewa. Następnie dołączane do zbioru wierzchołków połączonych będą wierzchołki 9 i 11 oraz krawędzie, które je z drzewem spinają. Ostatnim dołączonym wierzchołkiem jest wierzchołek 8 oraz krawędź (7 8), jako krawędź o niższej wadze niż krawędź (9 8). Uzyskane w wyniku postępowania iteracyjnego minimalne drzewo rozpinające dla grafu początkowego przedstawia rys Rys Minimalne drzewo rozpinające grafu prezentującego możliwą sieć połączeń. 44

45 2. Optymalizacja harmonogramów produkcji 2.1. Wprowadzenie Zasadniczą wadą harmonogramów liniowych jest stosunkowo ograniczona możliwość przeprowadzenia optymalizacji programów działania pod względem czasu lub wykorzystywanych środków. Istnieją jednak pewne techniki pozwalające na optymalizację czasu wykonania cyklu robót lub zasobów odnawialnych, a efekty tych technik, przedstawione w postaci harmonogramów liniowych, można uznać za pewną formę ich optymalizacji. Zadania harmonogramowania, w ogólnym ujęciu, polegają na rozdziale w czasie dyskretnych zasobów między uporządkowany ciąg procesów (czynności), które należy wykonać. Zagadnienia tego rodzaju należą do obszernej klasy problemów przydziału (alokacji) zasobów. W rozdziale tym zaprezentowane zostaną algorytmy optymalizacji harmonogramów na przykładzie ustalenia kolejności realizacji obiektów lub działek roboczych wykonywanych przez poszczególne brygady robocze lub maszyny specjalistyczne, pracujące na poszczególnych działkach w określonej przez zalecenia technologiczne kolejności. Harmonogram pracy wspomnianych maszyn lub brygad roboczych może być przedstawiany nie tylko w postaci graficznej, lecz również macierzy czasów wykonania poszczególnych robót (czynności) lub procesów wytwórczych wykonywanych na poszczególnych stanowiskach lub przez określone brygady (maszyny). Taką sytuację przedstawia rys. 10.1b, a zapis macierzowy w uogólnionej postaci można zapisać: t11 t12 t13... t1 n t21 t22 t23... t2n T [ t ij ] [2.1] t m1 tm2 tm3... tmn gdzie: t ij czas zatrudnienia i-tego stanowiska roboczego (brygady roboczej, maszyny itp) przy wykonaniu pracy na j-tej działce (procesie, detalu, obiekcie itp.) (i=1,2,3,, m ; j=1,2,3,, n). Optymalizacja kolejności realizacji wieloprocesowych zadań produkcyjnych może być przeprowadzana według różnych kryteriów, np. minimum czasu trwania całego cyklu produkcyjnego, minimum kosztu wykonania itp. W rozdziale tym zajmiemy się zagadnieniem określenia kolejności przydziału danych do wykonania detali maszynowych obrabianych na poszczególnych stanowiskach. Każdy detal musi być obrabiany na każdym stanowisku w kolejności technologicznej np. najpierw toczenie, potem szlifowanie, później hartowanie, następnie konfekcjonowanie, pakowanie, oznaczenie itd.) i tej kolejności zmienić nie można. Ponieważ jednak detale różną się między sobą, więc i czas ich obróbki na poszczególnych stanowiskach jest różny. Powstaje zatem problem ustalenia takiej kolejności wykonywania poszczególnych detali na stanowiskach roboczych, której odpowiada najkrótszy cykl wykonania wszystkich detali łącznie. Jeśli przyjmiemy dla przykładu, że mamy do wykonania trzy różne detale maszynowe na trzech stanowiskach roboczych, to odpowiadająca temu przypadkowi macierz [10.1] będzie wyglądać następująco: 45

46 t11 t12 t13 t ij t21 t22 t23 [2.2] t 31 t32 t33 Rys Harmonogram wykonania detali na stanowiskach 1, 2, i 3; a) opisany macierzą [2.2], b) opisany macierzą [2.3]. Macierzy [2.2] odpowiada harmonogram przedstawiony na rys. 2.1a. Kolejność wykonania poszczególnych detali może być różna. Ma to wpływ na łączny czas wykonania całej partii różnych detali. Przy innej kolejności wykonania obróbki detali czas wykonania cyku może być dłuższy lub krótszy. Macierz t13 t11 t12 t ij t23 t21 t22 [2.3] t 33 t31 t32 przedstawia inną kolejność obróbki detali niż macierz [2.2]. Kolejności obróbki przedstawionej macierzą [2.3] odpowiada krótszy cykl wykonawczy niż uzyskany w wyniku realizacji według kolejności zaproponowanej macierzą [2.2]. Liczba wszystkich możliwych kolejności wykonania na poszczególnych stanowiskach jest równa n! Nawet przy niezbyt dużej liczbie n (detali, obiektów, procesów itp.) sprawdzenie wszystkich możliwych permutacji jest bardzo pracochłonne, a czasami wręcz niewykonalne Algorytm symulacyjny W tej części rozdziału zostanie przedstawiony sposób zastosowania symulacji do optymalizacji harmonogramów według kryterium czasowego. Podobnie jak w poprzednim rozdziale rozpatrzmy sytuację, kiedy n detali maszynowych ma być wykonywanych kolejno na m stanowiskach roboczych. Symulacja w tym przypadku polegać ma na losowaniu kolejności obróbki poszczególnych detali, przy wykorzystaniu generatora liczb losowych. W tym celu możemy posługiwać się numerami detali (j= 1, 2, 3, n). Generowanie liczb losowych 46

47 całkowitych możemy zawęzić do przedziału [1, n]. Przy dużej liczbie detali (procesów produkcyjnych) nie możemy znaleźć optymalnej kolejności, nawet przy dużej liczbie losowań. Można jednak stwierdzić, że najlepsza z wylosowanych permutacji, chociaż nie musi być jeszcze optymalną, jest suboptymalną, tzn. jest zdecydowanie lepsza niż jakakolwiek inna, dowolna przypadkowa kolejność (permutacja). Do wyznaczenia terminu rozpoczęcia T i zakończenia T detalu (procesu) można posługiwać się wzorami: T T P ij K ij K K max{ T( i1), j, Ti,( j1) } p ij K ij obróbki poszczególnego [2.4] T t [2.5] P ij ij gdzie: i dotyczy numeru stanowiska roboczego, a j-tego numeru obrabianego detalu (procesu). Rozpatrzmy przykład obliczeniowy, w którym występują trzy procesy obróbcze na osobnych stanowiskach. Na stanowisku 1 odbywa się toczenie elementów na określony wymiar nominalny, na stanowisku 2 szlifowanie i tolerowanie wymiarów, a na stanowisku 3 obróbka cieplna i sezonowanie detali. Wykonywane są trzy rodzaje detali kolejno na każdym stanowisku roboczym. Czas obróbki detali na określonych stanowiskach jest różny i uzależniony od rodzaju detalu i jego wielkości. Czas ten zestawiony jest w tab Tab Zestawienie czasów obróbki trzech detali maszynowych na trzech stanowiskach technologicznych. Detal 1 Detal 2 Detal 3 Stanowisko Stanowisko Stanowisko Należy wyznaczyć kolejność obróbki poszczególnych detali, odpowiadającą minimalnemu cyklowi wykonania tej partii detali. W rozpatrywanym przypadku, gdy n=3 to n!=6, tzn. istnieje sześć różnych kolejności wyczerpujących wszystkie możliwe permutacje. Możliwe jest przeszukiwanie zupełne takiego zbioru i wybranie rozwiązania najlepszego, jednak gdy liczba detali podwoi się, to zbiór możliwych rozwiązań wzrasta do 120 (n=5 to n!=120). Przeszukiwanie zupełne zbioru rozwiązań możliwych nie wchodzi zatem w rachubę, stąd poszukiwanie rozwiązania suboptymalnego w drodze losowania kilku możliwych kolejności. Załóżmy, że w pierwszym losowaniu otrzymano następujące kolejności detali: [3,1,2]. Harmonogram obróbki detali w postaci macierzowej ma więc postać: t [2.6] ij Na podstawie wzorów [2.4] i [2.5] można wyliczyć terminy wykonania wymaganych operacji na poszczególnych stanowiskach roboczych. Zakładamy, że początek pierwszej operacji na pierwszym stanowisku rozpoczyna się w terminie zerowym i od tego terminu wyliczmy terminy rozpoczęcia i zakończenia wszystkich pozostałych operacji. Ponieważ kolejność poszczególnych operacji na detalach została już ustalona w drodze postępowania symulacyjnego (losowania), a my obliczmy jedynie czas trwania cyklu 47

48 operacji przy wylosowanej permutacji, przyjmujemy oznaczenia elementów macierzy [2.6] w zależności od ich obecnego położenia w wierszu i kolumnie. Stanowisko 1 toczenie detali: T T T T T T P 11 K 11 P 12 K 12 P 13 K 13 0, T T T T T P 11 K 11 P 12 K 12 P 13 t 11 4 t 12 6 t Stanowisko 2 szlifowanie i tolerowanie wymiarów: T T T T T T P 21 K 21 P 22 K 22 P 23 K 23 T T K 11 P 21 4 max{ T T P 22 max{ T T P 23 t t t 21 K K , T 7 1 8, T K 21 K 22 } max{ 6,7} 7 } max{9,8} Stanowisko 3 obróbka termiczna, hartowanie: T T T T T T P 13 K 31 P 32 K 23 P 33 K 33 T T K 21 P 31 7 max{ T T P 23 max{ T T P 33 t t t 31 K K , T , T K 31 K 32 } max{8,9} 9 } max{11,12} W ten sposób została wyznaczona długość cyklu roboczego obróbki detali według kolejności [3, 1, 2]: T T K 16 jednostek czasu W drugim losowaniu detali wyznaczona została kolejność [3,2,1], której odpowiada macierz: t [2.7] ij Wykonując obliczenia analogicznie do poprzedniego przypadku, otrzymaliśmy długość cyklu obróbki: T T K 15 jednostek czasu

49 W trzecim losowaniu uzyskano kolejność obróbki [1,2,3], której odpowiada macierz: t [2.8] ij Długość cyklu odpowiadająca tej kolejności wynosi T3 T K jednostek czasu. Na tym można zakończyć losowanie i przyjąć jako suboptymalną długość cyklu wynoszącą 13 jednostek czasowych. Z trzech przeprowadzonych eksperymentów należy wybrać taką kolejność obróbki detali, która daje najmniejszą długość cyklu. Można jednak wnioskować, że jest to pewien sposób na poszukiwanie optymalnej kolejności obróbki w przypadku większej liczby detali. Należy jednak pamiętać, że dokładność uzyskanych wyników zależy od liczby przeprowadzonych losowań. Im więcej losowań, tym większe jest prawdopodobieństwo tego, że uzyskany suboptymalny wynik jest bliższy poszukiwanemu najkrótszemu cyklowi obróbki Algorytm Johnsona Algorytm Johnsona ma zastosowanie w poszukiwaniu optymalnej kolejności realizacji dowolnej liczby procesów przeprowadzanych na dwóch stanowiskach (maszynach) m=2. Został sformułowany przy założeniu, że harmonogramowanie jest wieloetapowym procesem planowania, charakteryzującym się prostotą i małym zakresem obliczeń numerycznych. Oznaczmy przez a j oraz b j (j=1, 2, 3,, n) czasy trwania procesów na j-tym obiekcie (detalu) odpowiednio na pierwszym i drugim stanowisku (i = 1, 2 ) oraz niech i 1, i 2,, i n oznacza permutację określającą optymalną kolejność realizacji obiektów (działek roboczych). Algorytm Johnsona można opisać następującym schematem postępowania: 1. Przyjąć r = 1 i s = n. 2. Znaleźć najmniejszą liczbę spośród czasów a j oraz b j (j = 1, 2,, n). 3. Jeżeli liczbą tą jest a k, to i = k oraz r:= (r + 1), jeżeli zaś liczbą tą jest b l, to i = l oraz s:= ( s 1). 4. Usunąć ze zbioru czasów trawina parę (a k, b k ) lub (al., b l ). 5. Powtórzyć postępowanie od punktu 2. Rozważmy następujący przykład obliczeniowy: Firma budowlana zajmuje się budową budynku mieszkalnego wielorodzinnego, w którym znajduje się 7 mieszkań o różnej powierzchni użytkowej (j = 1, 2, 7). Zatrudnia dwie (i = 1, 2) brygady specjalistyczne (elektryków i tynkarzy), których zadaniem jest wykonanie instalacji elektrycznej w każdym mieszkaniu, a następnie położenie tynków gipsowych na ścianach i sufitach. Czasy wykonania tych robót w poszczególnych mieszkaniach przez te dwie brygady zestawione zostały w tab

50 Tab Zestawienie czasów robót budowlanych w poszczególnych mieszkaniach. j i Należy wyznaczyć kolejność wykonania wymienionych robót budowlanych, której odpowiada najkrótszy termin zakończenia robót we wszystkich mieszkaniach. Algorytm Johnsona jest algorytmem iteracyjnym, którego postępowanie kończy się w momencie ustalenia jednoznacznej kolejności wszystkich działek roboczych (mieszkań). I t e r a c j a 1: 1. Przyjmujemy r = 1, s = Wyznaczamy min {a 1, a 2, a 3, a 4, a 5, a 6, a 7, b 1, b 2, b 3, b 4, b 5, b 6, b 7 } = a 4 =2. 3. Ponieważ liczbą tą jest a 4, to i 1 = 4 oraz r = = Usuwamy zez zbioru parę (a 4, b 4 ) = (2, 7). 5. Powtarzamy postępowanie od punktu 2. I t e r a c j a 2: 1. Przyjmujemy r = 2, s = Wyznaczamy min {a 1, a 2, a 3,, a 5, a 6, a 7, b 1, b 2, b 3, b 5, b 6, b 7 } = b 1 =2. 3. Ponieważ liczbą tą jest b 1 to i = s czyli i 6 = 1 oraz s = 6 1 = Usuwamy ze zbioru parę (a 1, b 1 ) = (3,2). 5. Powtarzamy postępowanie od punktu 2, przyjmując r = 2 oraz s = 5. I t e r a c j a 3: 1. Przyjmujemy r = 2, s = Wyznaczamy min {a 2, a 3,, a 5, a 6, a 7, b 2, b 3, b 5, b 6, b 7 } = b 3 =3. 3. Ponieważ liczbą tą jest b 3 to i 5 = 3 oraz s = 5 1 = Usuwamy ze zbioru parę (a 3, b 3 ) = (6,3). 5. Powtarzamy postępowanie od punktu 2, przyjmując r = 2 oraz s = 4. I t e r a c j a 4: 1. Przyjmujemy r = 2, s =4. 2. Wyznaczamy min {a 2, a 5, a 6, a 7, b 2, b 5, b 6, b 7 } =a 2 =4. 3. Ponieważ liczbą tą jest a 2 to i 2 = 2 oraz r = = Usuwamy ze zbioru parę (a 2, b 2 ) = (4,6). 5. Powtarzamy postępowanie od punktu 2, przyjmując r = 3 oraz s = 4. 50

51 I t e r a c j a 5: 1. Przyjmujemy r = 3, s =4. 2. Wyznaczamy min { a 5, a 6, a 7, b 5, b 6, b 7 } =a 7 =5. 3. Ponieważ liczbą tą jest a 7 to i 3 = 7 oraz r = = Usuwamy ze zbioru parę ( a 7, b 7 ) = (5,6). 5. Powtarzamy postępowanie od punktu 2 przyjmując r = 4 oraz s = 4. I t e r a c j a 6: 1. Przyjmujemy r = 4, s =4. 2. Wyznaczamy min { a 5, a 6, b 5, b 6,} =a 6 =7. 3. Ponieważ liczbą tą jest a 6 to i 4 = 6 oraz r = = Usuwamy ze zbioru parę ( a 6, b 6 ) = (7,8). Wykonanie iteracji 7 nie jest konieczne, ponieważ w siedmioelementowym zbiorze wyznaczyliśmy już kolejność sześciu elementów: i 1 = 4, i 2 = 2, i 3 = 7, i 4 = 6, i 5 = 3, i 6 = 1 Widać więc, że dla obiektu (mieszkania) 5 nie ustalono dotychczas kolejności. Jedynym wolnym miejscem w kolejności jest i 7, zatem mieszkanie 5 będzie realizowane w siódmej kolejności (jako ostatnie). Rys Harmonogram wykonania prac budowlanych według kolejności wyznaczonej algorytmem Johnsona. Analiza harmonogramu wykonanego za pomocą algorytmu Johnsona wskazuje na jego poprawność zarówno technologiczną, jak i organizacyjną. Brygada tynkarzy pracuje łącznie 42 dni bez przerw w pracy, gdyż brygada instalatorów z wyprzedzeniem kończy prace na odpowiednich działkach, przygotowując tym samym front pracy dla tynkarzy. Gdyby praca była wykonywana według innej kolejności realizacji działek (mieszkań), np. w kolejności {1, 2, 3, 4, 5, 6, 7}, to cykl realizacyjny trwałby 45 dni, a brygada tynkarzy zmuszona byłaby do planowanych przerw w pracy o łącznym czasie 3 dni w oczekiwaniu na front robót. 51

52 2.4. Algorytm Łomnickiego Algorytm Łomnickiego wykorzystuje metodę podziału i ograniczeń, która przedstawiona została w tomie I. Algorytm ten został opracowany w celu ustalenia optymalnej kolejności obróbki detali na kolejnych maszynach. Może on służyć do wyznaczenia kolejności obróbki detali na poszczególnych stanowiskach pracy lub kolejności wykonania określonych działek roboczych przez specjalistyczne brygady wykonujących kolejno prace na określonych działkach roboczych (np. obiektach budowlanych). Rozpatrzmy przykład poszukiwania kolejności wykonania n działek roboczych (obiektów) przez m=3 brygady specjalistyczne, przy której długość całego cyklu jest najmniejsza. Jak widać z założeń wstępnych, algorytm Łomnickiego ograniczony jest do trzech stanowisk roboczych (brygad) i nieograniczonej liczby działek (detali). W algorytmie Łomnickiego przyjmuje się następujące założenia: 1. Na każdym obiekcie (działce roboczej) pracują kolejno brygady robocze o numerach 1, 2, m, przy czym m=3. 2. Każda brygada w danej chwili może pracować tylko na jednym obiekcie i na każdym obiekcie w danej chwili może pracować tylko jedna brygada. 3. Każda specjalistyczna brygada wchodzi na poszczególne obiekty w tej samej i 1, i 2,, i n kolejności podyktowanej względami technologicznymi. 4. Na określony obiekt j (j=1, 2,, n) może być wprowadzona brygada i (i= 1, 2,, m) pod warunkiem, że brygada ta ukończyła pracę na obiekcie j-1 oraz jeśli na j-tym obiekcie ukończyła prace brygada i-1. Czas pracy i-tej brygady na obiekcie j-tym oznaczamy t ij, a najwcześniejszy termin zakończenia robót na obiekcie j-tym przez brygadę i-tą oznaczymy T dla (i= 1, 2,, m) oraz (j=1, 2,, n). Termin rozpoczęcia robót na obiekcie j=1 przez brygadę i=1 przyjmiemy, że jest równy 0. Poszukujemy permutacji i 1, i 2,, i n określającej kolejność wchodzenia brygad roboczych na szczególne obiekty, dla której łączny czas robót specjalistycznych na wszystkich obiektach jest najkrótszy, czyli: min k :T T mn k Występująca we wzorze zmienna T ij oznaczająca najwcześniejszy termin zakończenia prac na działce n przez brygadę m (tzn. termin zakończenia planowanych prac na wszystkich obiektach) może być obliczana rekurencyjnie na podstawie wzorów: P k K max{ T T [2.9] T ij ( i1) j ; i( j1) T K ij T t [2.10] P ij ij Zastosowanie algorytmu Łomnickiego umożliwia szybkie uzyskanie rozwiązania optymalnego. Ważną rolę w algorytmie, podobnie jak we wszystkich algorytmach opartych na metodzie podziału ograniczeń, odgrywa określenie funkcji ograniczającej oraz sposoby podziału zbioru. Niech w r ={ i 1, i 2,, i r } oznacza dowolną permutację określoną na r elementach zbioru I ={1,2, n}, natomiast (w); zbiór (n-r)!, (dla n r) permutacji zaczynających się od w r = { i 1, i 2,, i r }. Jako funkcję ograniczającą przyjmuje się: ( w ) max{,, } [2.11] ( r k ij 52

53 gdzie: n t min{ 2 3 ) 1 ij t j t [2.12] j j1 jwr T t min{ t 3 } [2.13] K 2 2 r 2 j j jwr jwr 3 K T3 R t3 j jw r [2.14] Sposób podziału zbioru oparty jest na ogólnych zasadach metody podziału i ograniczeń, a ma charakter rekurencyjny. Zaczyna się od podziału zbioru wszystkich n! permutacji na n podzbiorów, w których na pierwszym miejscu występuje obiekt 1, następnie obiekt 2,.. i obiekt n. Zbiory te zaznaczamy kolejno {1}, {2},., {n}. Dalsze podziały są analogiczne, np. jeśli chcemy podzielić zbiór G({4}), to dzielimy go na n-1 podzbiorów permutacji zaczynających się odpowiednio od {4,1}, {4,2}, {4,n}. Rozpatrzmy teraz przykład obliczeniowy podobny w treści do zadania z przykładu algorytmu Johnsona, lecz z występującymi trzema brygadami specjalistycznymi. Firma zatrudniająca trzy brygady robocze specjalistów instalatorów elektrycznych, tynkarzy i posadzkarzy realizuje równocześnie roboty wykończeniowe na czterech budowach (obiektach). Brygada elektryków jest odpowiedzialna za położenie instalacji elektrycznych we wszystkich obiektach, brygada posadzkarzy wykonuje wylewki betonowe, a brygada tynkarz kładzie tynki zgodnie z technologią robót budowlanych. Czasy trwania robót wykonywanych przez poszczególne brygady na poszczególnych budowach uzależnione są od wielkości budów i ilości robót do wykonania na każdym obiekcie. Zestawienie czasów wykonania poszczególnych robót przez brygady specjalistyczne na różnych obiektach w dniach roboczych zawiera tab Tab Zestawienie czasów wykonania poszczególnych robót na różnych obiektach przez trzy brygady specjalistyczne. budowa 1 budowa 2 budowa 3 budowa 4 elektrycy posadzkarze tynkarze Należy ustalić taką kolejność przejścia poszczególnych brygad roboczych na poszczególne budowy, aby łączny czas wykonania wszystkich robót był najkrótszy, pamiętając, że na poszczególne budowy brygady wchodzą w kolejności takiej jak jest wyszczególnione w tabeli. Rozwiązanie problemu wymaga określonego postępowania wykonywanego w następujących krokach. 53

54 Krok 1 Zbiór wszystkich kolejności (permutacji) dzielimy na cztery podzbiory {1}, {2}, {3}, {4} i obliczany odpowiadające im wartości funkcji ograniczających. Takiej kolejności wejścia poszczególnych brygad na obiekty odpowiada macierz zawarta w tab. 12.3: Obliczenie funkcji ograniczającej dla zbioru {1} 6 3 n 1 tij min{ t2 j t3 j ) min jwr j1 8 6 W celu wyznaczenia wartości funkcji ograniczających 2 i 3 należy obliczyć K K wielkości T 21 i T 31. Wielkości te oblicza się przy użyciu wzorów rekurencyjnych [xxx] i [xxx] oraz na podstawie macierzy czasów trwania odpowiadającej kolejności, w której na pierwszym miejscu występuje obiekt 1. 3 K 2 T 2 r t 2 j min{ t 3 j} (6 3) (6 4 8) min jwr jwr 6 K T t (6 3 7) (3 8 6) R 3 j jw r Zatem funkcja ograniczająca ({ 1}) max{31,30,33} 33. Obliczenie funkcji ograniczającej dla zbioru {2} Macierz czasów trwania robót dla tej permutacji i obliczenia funkcji przedstawiają się następująco: min t ij (6 4) (3 4 8) min (4 6 3) (7 8 6) 34 ({ 2}) max{32,31,34}. Funkcja ograniczająca 34 Obliczenie funkcji ograniczającej dla zbioru {3} Macierz czasów trwania robót i obliczenia dla tej permutacji przedstawiają się następująco: min t ij (5 4) (3 6 8) min (5 4 8) (7 3 6)

55 Funkcja ograniczająca ({ 3}) max{31,29,33} 33. Obliczenie funkcji ograniczającej dla zbioru {4} Macierz czasów trwania robót i obliczenia dla tej permutacji przedstawiają się następująco: t ij min (7 8) (3 6 4) min (7 8 6) (7 3 8) 39 ({ 4}) max{31,31,39}. 2 Funkcja ograniczająca 39 Krok 2 Do podziału wybieramy zbiory o najmniejszej wartości funkcji ograniczającej ( wr ), tzn. zbiory {1} i {3}. Zbiory te należy podzielić na zbiory kolejności {1,2}, {1,3} i {1,4} oraz zbiory {3,1}, {3,2} i {3,4} i dla tych sześciu podzbiorów należy wyznaczyć kolejno wartości funkcji ograniczających. Obliczenie funkcji ograniczającej dla zbioru {1,2} Należy pamiętać, że teraz na pierwszym miejscu w macierzy czasu trwania wystąpi obiekt 1 oraz 2 i te obiekty należą do zabioru w r. W celu wyznaczenia wartości K K funkcji ograniczających 2 i 3 należy obliczyć tym razem wartości T 22 i T 32. Macierz czasów trwania robót i obliczenia dla tej permutacji przedstawiają się następująco: 31 t ij min max (4 8) min (7 8 6) (7 3 8) Funkcja ograniczająca ({ 1,2}) max{31,31,39} 39. Obliczenie funkcji ograniczającej dla zbioru {1,3} Należy pamiętać, że tym razem na pierwszym miejscu w macierzy czasu trwania wystąpią obiekty 1 i 3, które należą do zabioru w r. W celu wyznaczenia wartości K K funkcji ograniczających 2 i 3 należy również obliczyć wartości T 22 i T 32. Macierz czasów trwania robót i obliczenia dla tej permutacji przedstawiają się następująco: t ij min max (6 8) min ( ) (3 6) Funkcja ograniczająca ({ 1,3}) max{31,31,33}

56 Obliczenie funkcji ograniczającej dla zbioru {1,4} Należy pamiętać, że tym razem na pierwszym miejscu w macierzy czasu trwania wystąpią obiekty 1 i 4. Pozostałe zasady analogiczne jak w poprzednim przypadku. Macierz czasów i obliczenia przedstawiają się następująco: t ij min max (6 4) min ( ) (3 8) 38 ({ 1,3}) max{31,34,38}. Funkcja ograniczająca 38 Następnie, w tym samym kroku wyznaczymy wartości funkcji ograniczających dla zbiorów permutacji {3,1}, {3,2} i {3,4}. Według tych samych reguł postępowania wyliczamy wartości funkcji ograniczających dla zbioru {3,1}: t ij t ij min max (6 8) min (5 48 7) (3 6) 33 ({ 3,1}) max{31,31,33}. 2 Funkcja ograniczająca 33 Obliczenie funkcji ograniczającej dla zbioru {3,2} min max (3 8) min (5 4 83) (7 6) 33 ({ 3,2}) max{32,32,33}. 2 Funkcja ograniczająca t ij Obliczenie funkcji ograniczającej dla zbioru {3,4} min max (3 6) min ( ) (7 3) 36 ({ 3,4}) max{31,32,36}. 2 Funkcja ograniczająca Krok 3 Spośród podzbiorów permutacji {1,2}, {1,3}, {1,4}, {2}, {3,1}, {3,2}, {3,4}, {4} do dalszego podziału należy wybrać podzbiory o najniższej wartości funkcji ograniczających. Najniższą wartość funkcji ograniczających, wynoszącą 33 mają zbiory permutacji {1,3}, {3.1}, {3,2} i te podzbiory podlegają dalszemu podziałowi. Zbiór {1,3} podzielimy na dwa podzbiory {1.3.2} i {1,3,4}, a pozostałe dwa zbiory odpowiednio na podzbiory {3,1,2} i {3,1,4} oraz {3,2,1} i {3,2,4}. Zasady są 56

57 oczywiście takie jak w poprzednich przypadkach, a w funkcjach ograniczających 2 K K i 3 należy teraz obliczać wartości T 23 i T 33. Obliczenie funkcji ograniczającej dla zbioru {1,3,2} (8 6) ( ) t ij ( ) 6 37 Funkcja ograniczająca ({ 1,2,4}) max{36,35,36} 37. t ij t ij t ij t ij t ij Obliczenie funkcji ograniczającej dla zbioru {1,3,4} (6 3) ( ) ( ) 3 33 Funkcja ograniczająca ({ 1,2,4}) max{31,35,33} 35. Obliczenie funkcji ograniczającej dla zbioru {3,1,2} (8 6) ( ) ( ) 6 33 Funkcja ograniczająca ({ 3,1,2}) max{36,35,33} 36. Obliczenie funkcji ograniczającej dla zbioru {3,1,4} (6 3) ( ) ( ) 3 35 Funkcja ograniczająca ({ 3,1,2}) max{31,35,35} 35. Obliczenie funkcji ograniczającej dla zbioru {3,2,1} (8 6) (5 6 63) ( ) 6 33 Funkcja ograniczająca ({ 3,1,2}) max{36,34,33} 36. Obliczenie funkcji ograniczającej dla zbioru {3,2,4} (3 7) ( ) ( ) 7 39 Funkcja ograniczająca ({ 3,1,2}) max{32,36,39} 39. Najniższe wartości funkcji ograniczających w tym kroku, wynoszące 35, uzyskały podzbiory {1,3,4} i {3,1,4}. Podzbiory te nie podlegają już dalszym podziałom, gdyż jednoznacznie określają optymalną permutację. Na rys. 2.5 przedstawiono schemat podziału zbioru permutacji dla rozpatrywanego zadania. Rys Schemat podziału zbioru permutacji dla rozpatrywanego zadania. 57

58 Na rys. [2.5] można zauważyć, że zbiory {1,3,4} i {3,1,4} mają najniższą wartość funkcji ograniczających, ponieważ jednak nie podlegają już dalszemu podziałowi, to możemy uznać, że stanowią optymalną permutację zbioru wyjściowego, a wartość funkcji ograniczających wskazuje na całkowitą długość cyklu produkcji. Optymalna kolejność realizacji obiektów przez poszczególne brygady specjalistyczne przedstawia się zatem następująco: [ } lub [ ], a łączny czas wykonania zadań przez wszystkie brygady na czterech obiektach wynosi 35 dni roboczych. 58

59 3. Elementy teorii gier W poznanych dotychczas modelach decyzyjnych mieliśmy do czynienia z modelami deterministycznymi. Modele tego typu charakteryzują się tym, że występujące tam parametry modelu są wielkościami stałymi, a ich wartości są znane decydentowi. Modele, w których parametry te są zmiennymi losowymi, najczęściej o znanych rozkładach, należą do grupy modeli probabilistycznych, tzn. decydent wie, z jakim prawdopodobieństwem parametr może przyjąć określone wartości. Modele decyzyjne, w których występuje przynajmniej jeden parametr, dla jakiego w momencie podejmowania decyzji decydent zna tylko zbiór wartości, które ten parametr może przyjąć, nazywamy modelami strategicznymi. Jeśli więc tego rodzaju parametrem będzie np. parametr a, to wiemy tylko, że może on przyjąć jedną z wartości: a 1, a 2 albo a n. Łatwo więc się domyślić, że problem wyznaczenia optymalnej decyzji jest w tym przypadku niezmiernie skomplikowany. W modelach strategicznych wartość funkcji kryterium zależy nie tylko od wartości zmiennej decyzyjnej X, lecz także od parametru a, o którym wiemy tylko, że przyjmuje wartości a 1, a 2., a n. Są to sytuacje typowe dla gier strategicznych. Gry strategiczne są więc takimi procesami decyzyjnymi, o wyniku których decyduje nie tylko przypadek (np. gra w kości lub gra w orła i reszkę), lecz także umiejętności decydenta. Ponieważ tę grupę problemów decyzyjnych nazywamy grami, zatem konsekwentnie decydentów w tych grach nazywać będziemy graczami, a wynik funkcji kryterium wygraną, która będzie rzeczywistym zyskiem, kiedy przyjmie wartości dodatnie, lub stratą w przeciwnym przypadku. Kryterium, które umożliwia graczowi wybór sposobu postępowania, czyli nadanie określonej wartości zmiennej decyzyjnej X, można utożsamiać w grach strategicznych z wielkością wygranej. Poszczególne wartości zmiennej decyzyjnej X, występującej w modelach strategicznych, często nazywamy strategiami. Oczywistym jest również, że wygrana gracza zależy nie tylko od wyboru przez niego strategii, lecz także od wybranej strategii przez przeciwnika, tj. od wartości parametru a. Jeżeli przez W oznaczymy wygraną gracza, który stara się znaleźć optymalną wartość zmiennej X, przy działaniu przeciwnika w postaci parametru a, to zależność taką możemy zapisać symbolicznie jako funkcję W(X, a). Gracz, wybierając swoją strategię X, nie zna strategii wybranej przez przeciwnika. Pozostaje zatem pytanie, jaka jest metoda wyboru optymalnej strategii, czyli jaka jest optymalna wartość zmiennej decyzyjnej X. Problemem tym zajmuje się teoria gier Reguły mini-maksowe. Punkt siodłowy Rozpatrzmy na początek najprostszy przypadek gry zaliczanej go gier dwuosobowych o sumie zerowej. Biorą w niej udział tylko dwie strony, a suma wygranych obu graczy równa jest 0, co oznacza, że wygrana jednego gracza jest równa przegranej drugiego. Przyjęcie pewnej strategii przez jednego gracza przy określonej wybranej strategii przez gracza drugiego oznacza wygraną jednego z nich i taką samą przegraną drugiego. Rezultaty wysokości wygranych lub przegranych każdego z graczy, przy określonych przez nich strategiach, zapisane są w macierzy wypłat. 59

60 Przykład 1. Dwóch graczy, których nazwiemy odpowiednio G 1 i G 2, prowadzi następującą grę. Każdy gracz ma wybrać niezależnie od drugiego jedną z trzech możliwych strategii S 1, S 2, lub S 3. Po niezależnym wyborze strategii przez każdego z graczy, porównuje się je za pomocą macierzy wypłat. Jeśli obaj gracze wybrali strategię S 1 (S 1, S 1 ), nikt nic nie wygrał. Jeśli gracz G 1 wybrał strategię S 1, a gracz G 2 strategię S 2, to gracz G 1 stracił 1 j.p. (jednostkę pieniężną), a więc gracz G 2 wygrał 1 j.p. W tab w postaci macierzy wypłat zostały podane możliwe wygrane. Ponieważ wygrana gracza G 1 równa się przegranej gracza G 2 (lub na odwrót), wystarczy więc w macierzy wypłat podać wygrane jednego gracza (wygrana ujemna oznacza przegraną). Dla wygody zapisu i jasności rozumowania można się umówić, że w macierzy wypłat zawsze będziemy podawać wygraną gracza G 1. Tab Macierz wypłat dla przykładu 1. Strategia wybrana przez gracza G 2 Strategia wybrana przez gracza G 1 Maksymalne przegrane gracza G 2 Minimalne wygrane gracza G Spróbujmy zatem prześledzić, wraz z graczem G 1, możliwe wybory jego strategii i ich skutki. Kryterium, które pozwala na ocenę skutków podjęcia jakiejś decyzji, jest wygrana gracza G 1, którą oznaczymy przez W. Wygrana W zależy od decyzji gracza G 1, którą oznaczymy przez X G1. W przedstawionym przykładzie X G1 może oznaczać strategie, i. Jak wynika z macierzy wypłat (tab. 9.1), wygrana W zależy nie tylko od wybranej przez gracza G 1 strategii, lecz także od wybranej strategii przez gracza G 2. Oznaczmy decyzję gracza G 2 przez X G2 (to mogą być również strategie, i ). Chodzi więc o taki wybór strategii X G1, aby wygrana W zależna od X G1 i X G2 co możemy krótko zapisać jako W(X G1,X G2 ) była możliwie największa. Łatwo zauważyć, że trudność wyboru odpowiedniej strategii X G1 polega na tym, że jednej i tej samej wartości X G1 odpowiadać mogą różne wartości wygranej W, w zależności od decyzji X G2 podjętej przez gracza G 2. Przy wyborze swojej strategii gracz G 1, dążąc do wygranej, automatycznie dąży do zmniejszenia wygranej przez gracza G 2 i na odwrót. Tak więc, jeśli gracz G 1 wybierze: a) strategię to wygra co najmniej -1 (jest to faktycznie przegrana), b) strategię to wygra co najmniej 2, c) strategię to wygra co najmniej -2 (jest to również przegrana). Spośród tych możliwości gracz G 1 powinien wybrać tę strategię, która gwarantuje mu największą z minimalnych wygranych. W tym przypadku jest to strategia. Każda inna decyzja mogłaby narazić go na gorsze wyniki. 60

61 W formalny sposób powyższe rozumowanie zapiszemy następująco: [3.1.] co oznacza, że gracz G 2, dążąc do swojej wygranej, tym samym dąży do minimalizacji wygranej przeciwnika. A więc gracz G 2 będzie starał się podjąć taką decyzję X G2, aby W przyjmowało najmniejsze wartości, co zapisujemy jako Minimum to jest oczywiście zależne od przyjętej wartości zmiennej X G1, na którą wpływ ma gracz G 1. Nada on taką wartość zmiennej X G1, aby osiągnęło możliwe największą wartość, tj. Przeprowadźmy jeszcze analogiczne rozumowanie dotyczące wyboru możliwych strategii przez gracza G 2. Przyjmijmy, że dla gracza G 2 wygraną jest W, a więc dążenie do maksymalizacji wygranej W. Jest to równoznaczne z dążeniem do minimalizacji W. Wybierając swoją strategię, gracz G 2 w najgorszym razie przegra 2 j.p., wybierając strategię, w najgorszym razie przegra 3 j.p., a wybierając strategię, przegra co najwyżej 6 j.p. Wydaje się więc, że gracz G 2 zrobi najlepiej, jeśli wybierze strategię gwarantującą mu przegraną co najwyżej w wysokości 2 j.p. Każda inna strategia pociągałaby za sobą możliwość większej przegranej. Można to zapisać w następujący sposób (podobnie jak dla ), gdzie jest maksymalną przegraną, jaka może spotkać gracza G 2 przy zastosowaniu optymalnej strategii: [3.2.] W naszym przykładzie optymalnymi decyzjami są: dla gracza G 1 strategia, która przynosi wygraną co najmniej 2 j.p., a dla gracza G 2 strategia, która daje wygraną co najwyżej 2 (faktycznie jest to przegrana). Sprawdźmy teraz, czy zaproponowane strategie są rzeczywiście strategiami optymalnymi. Otóż, gdyby gracze zastosowali proponowane wyżej strategie, to jak widać z macierzy wypłat gracz G 1 wygrałby 2 j.p., a gracz G 2 przegrałby 2 j.p. Gdyby gracze mieli jeszcze raz rozegrać tę samą grę, to żaden z graczy nie dążyłby do zmiany swoich decyzji. Graczowi G 1, który przekonał się, że przeciwnik wybrał strategię nie opłaca się zmienić swojej decyzji, gdyż właśnie przy strategii wygrywa on najwięcej (przy strategii wygrałby tylko 1 j.p., a przy strategii 0 j.p.) Graczowi G 2, który wie, że jego przeciwnik wybrał poprzednio strategię również nie opłaca się zmienić strategii na inną, gdyż przy strategii gracz G 2 przegrałby 3 j.p., a przy strategii 5 j.p. Żaden z graczy nie ma więc powodu do zmiany swojej strategii, a zaproponowane strategie można uznać jako optymalne. Strategie wyznaczone w powyższy sposób będziemy nazywali strategiami czystymi minimaksowymi. Powstaje jednak pytanie, czy zawsze strategie czyste minimaksowe są strategiami optymalnymi? Okazuje się, że strategie te nie zawsze mogą być uznane za optymalne. Jak się przekonany w dalszych rozważaniach, czyste strategie minimaksowe są tylko wówczas są optymalne, gdy, to znaczy gdy spełniony jest warunek: [3.3] Warunek ten oznacza, że racjonalne oczekiwania gracza G 1 spotykają się z racjonalnymi oczekiwaniami gracza G 2 na poziomie, o ile gracz G 1 zastosuje strategię 61

62 a G 2 strategię. Para strategii (, spełniających warunek (9.3) określa punkt równowagi gry, zwany punktem siodłowym. Przyjmiemy zatem, że punkt siodłowy gry (o ile istnieje) jest rozwiązaniem optymalnym gry. Przykład 2. Gracze G 1 i G 2 prowadzą grę podobną do rozpatrywanej w przykładzie 1, lecz tej grze przyporządkowana jest inna macierz wypłat (tab. 9.2). Tak więc poszczególnym wynikom gry przyporządkowane są inne rezultaty. Zgodnie z przyjętą przez nas konwencją, tab przedstawia wygrane gracza G 1, a więc przegrane gracza G 2. Tab Macierz wypłat do przykładu 2. Strategia wybrana przez gracza G 2 Minimalne wygrane gracza G 1 Strategia wybrana przez gracza G 1 Maksymalne przegrane gracza G Przyjmując konsekwentnie tok rozumowania z poprzedniego przykładu, należałoby doradzać graczowi G 1 wybranie strategii co zagwarantuje mu wygraną (faktycznie przegraną) na poziomie co najmniej 1 j.p. Graczowi G 2 natomiast należałoby rekomendować wybranie strategii gwarantującej mu przegraną (faktycznie wygraną) co najwyżej 2 j.p. Po bliższej jednak analizie trudno byłoby te strategie uznać za optymalne. Jeśliby gracze mieli powtórzyć partię omawianej gry, to wprawdzie gracz G 2 nie miałby powodów do zmiany swojej strategii, jednak gracz G 1 z pewnością by ją zmienił na. Wiedząc bowiem, że w poprzedniej partii gracz G 2 wybrał strategię, gracz G 1 łatwo zauważy, że przy strategii wygra 2 j.p. (gdy przy strategii wygrałby 1 j.p.). W ewentualnej następnej partii gracz G 2 uznałby za właściwe zmienić swoją strategię z na (wobec strategii gracza G 1 ) itd. W takich warunkach trudno uznać, że w rozpatrywanym przykładzie strategie czyste minimaksowe są optymalne. Okazuje się, że strategie te są tylko wtedy optymalne, gdy spełniony jest warunek. W tym przykładzie zależność ta wyglądała następująco:. Zobaczmy obecnie, jak można znaleźć optymalne strategie dla gier, w których zachodzi nierówność. 62

63 3.2. Strategie mini-maksowe mieszane Przykład 3. Dwóch graczy G 1 i G 2 rozgrywa podobną grę, jak w przykładach poprzednich, z tym że obecnie każdy gracz wybiera jedną spośród dwóch strategii. W tab podana jest macierz wypłat dla gracza G 1 odpowiadająca poszczególnym wynikom gry. Tab Macierz wypłat do przykładu 3. Strategia wybrana przez gracza G 2 Minimalne wygrane gracza G 1 Strategia wybrana przez gracza G 1 Maksymalne przegrane gracza G W tym przykładzie, podobnie jak i w przykładzie poprzednim, czyste strategie minimaksowe nie są strategiami optymalnymi. Łatwo bowiem zauważyć, że i w tym przykładzie zachodzi nierówność, gdyż i W takich sytuacjach można zaproponować graczom inny sposób postępowania. Graczowi G 1 zaproponujemy, aby o wyborze strategii każdorazowo decydował w sposób losowy, ale tak by zawsze prawdopodobieństwo wyboru określonej strategii było stałe. Niech np. prawdopodobieństwo wyboru będzie równe p. Ponieważ w rozpatrywanym przypadku mamy tylko dwie możliwe strategie, więc oczywistym jest, że prawdopodobieństwo wyboru możliwej drugiej strategii wyniesie (1 p). Teraz postaramy się wyznaczyć wielkość prawdopodobieństwa p tak, by można było uznać ją za wielkość optymalną. Przyjmijmy założenie, że gracz G 2 stosuje strategię, to przy tym założeniu można dla ustalonego p obliczyć spodziewaną wygraną gracza G 1. Będzie to czyli wartość oczekiwana wyrażenia ), oznaczającego wygraną gracza G 1. Wygrana ta, przy ustalonej strategii gracza G 2, (przyjęliśmy, że X G2 = ) zależy tylko od strategii gracza G 1. Spodziewana wygrana jest teraz wartością losową. Gracz G 1 może teraz wybrać albo strategię z prawdopodobieństwem p, albo strategię z prawdopodobieństwem 1 p. Zatem oczekiwaną wartość wygranej gracza G 1 można obliczyć z zależności: [3.4] Gdyby gracz G 2 zastosował strategię wówczas oczekiwana wygrana gracza G 1 wynosiłaby: [3.5] Jak widać, oczekiwana wygrana gracza G 1 zależy od prawdopodobieństwa p oraz od tego, jaką strategię wybierze gracz G 2. Gdyby gracz G 2 wybierał swoją strategię w podobny sposób, np. z prawdopodobieństwem q, a strategie z prawdopodobieństwem 1 q, to wówczas oczekiwana wygrana (oznaczmy ją przez W 1 ) zależałaby tylko od wielkości prawdopodobieństw p i q tzn. mielibyśmy W 1 (p, q). 63

64 Gracz G 2 wybrałby tak prawdopodobieństwo q, aby oczekiwana wygrana gracza G 1 była możliwie najmniejsza; Wiedząc o tym gracz G 1 tak wybierze p, aby przyjęło możliwie największą wartość, tzn.: [3.6] Optymalną wartość prawdopodobieństwa p można wyznaczyć graficznie. Konstrukcja taka została przedstawiona na rys Na rysunku tym dwie linie odpowiadają równaniom (3.4)-(3.5). Pogrubioną linią łamaną zaznaczono najmniejszą oczekiwaną wygraną gracza G 1 przy różnych strategiach gracza G 2 oraz różnych wartościach prawdopodobieństwa p. Rys Wybór optymalnego p przez gracza G 1. E(W) A H p ,0 p Przy prawdopodobieństwie p = p 1 (na rysunku), gracz G 1 miałby oczekiwaną wygraną reprezentowaną przez długość odcinka p 1 A w przypadku wyboru przez gracza G 2 strategii. W przypadku strategii zastosowanej przez gracza G 2, gracz G 1 miałby oczekiwaną wygraną reprezentowaną przez odcinek p 1 H; w rzeczywistości jest to przegrana. Jest to zarazem najmniejsza oczekiwana wygrana, jaką gracz G 1 może uzyskać przy prawdopodobieństwie p = p 1. Ponieważ gracz G 1 może swobodnie wybierać p, to ustali je w ten sposób, by minimalna oczekiwana wygrana była możliwie największa. W rozpatrywanym przypadku p=0,4 odpowiadająca temu prawdopodobieństwu najniższa oczekiwana wygrana gracza G 1 wynosi: [3.7] Strategię polegającą na wyborze prawdopodobieństwa, z jakim będą stosowane poszczególne strategie określoną wzorem (3.7) nazwiemy minimaksową strategią mieszaną. Gracz G 2 swoją optymalną strategię wybierać będzie w analogiczny sposób. Wiedząc, że jego przeciwnik wybiera takie p, aby zmaksymalizować W 1, gracz G 2 wybierze takie q, aby to maksimum zminimalizować. Postępując w ten sposób, gracz G 2 zapewnia sobie to, że jego oczekiwana przegrana wyniesie nie więcej niż Wyrażenie określone jest wzorem: [3.8] 64

65 Na rys przedstawiono wybór optymalnego q przez gracza G 2. Rys Wybór optymalnego q przez gracza G 2. E(W) A q ,0 H q Zakładając, że gracz G 1 będzie stosował stale strategię oczekiwaną przegraną gracza G 2 można zapisać: [3.9] Zakładając natomiast, że gracz G 1 będzie stale stosował strategię oczekiwaną wygraną gracza G 2 można zapisać: [3.10] Równania te zostały przedstawione za pomocą odpowiednich prostych na rys Jak wynika z rysunku, każdej wartości q odpowiada określona maksymalna oczekiwana przegrana gracza G 2. Tak np. dla q=q 1 maksymalna oczekiwana przegrana reprezentowana jest przez długość odcinka q 1 A. Gracz G 2 ma swobodę w wyborze q, a więc wybierze ją tak, by maksymalna przegrana była możliwie najmniejsza. Wybierze on więc q = 0,3, czemu odpowiada: [3.11] Ponieważ to zaproponowane mieszane strategie minimaksowe są optymalne Strategie dominujące i zdominowane W tym podrozdziale zajmiemy się możliwością porównania strategii, jakie mogą zastosować gracze. W pewnych sytuacjach może to prowadzić do wskazania strategii optymalnych dla gracza G 1 i G 2. Rozpatrzmy jeszcze raz przypadek podany w przykładzie 1. Macierze wypłat dla gracza G 1 i gracza G 2 oznaczone odpowiednio W G1 i W G2 są następujące:,. [3.12] Jak założyliśmy na początku rozważań, gracz G 1 uzyskuje korzyść kosztem gracza G 2 i na odwrót, stąd suma macierzy W G1 i W G2 jest macierzą zerową. Ta własność powoduje, że możemy posługiwać się jedną macierzą wypłat, oznaczoną jako W, 65

66 której elementy interpretujemy jako korzyści uzyskane przez gracza G 1, będące jednocześnie stratami gracza G 2. Tak więc w tym przykładzie macierz wypłat jest następująca:. [3.13] Zarówno wśród strategii gracza G 1, jak i strategii gracza G 2 mogą znajdować się lepsze od innych tzw. strategie dominujące oraz strategie gorsze od innych tzw. strategie zdominowane. Powiemy, że strategia dominuje strategię jeżeli niezależnie od tego, jaką strategię przyjmie gracz G 2, wynik uzyskany przez gracza G 1 przy zastosowaniu strategii będzie nie gorszy od wyniku uzyskanego przez gracza G 1 przy zastosowaniu strategii, przy czym przynajmniej w jednym przypadku wynik ten jest lepszy. Strategię nazywamy wówczas strategią dominującą, a strategię strategią zdominowaną. W analogiczny sposób definiujemy strategię dominującą i zdominowaną dla gracza G 2. Oczywiście gracze zachowują się racjonalnie i jeśli stwierdzą, że w ich zbiorze znajduje się jakaś strategia zdominowana, to powinni tę strategie usunąć ze zbioru swoich strategii, gdyż stosując strategię dominującą, mają możliwość osiągnięcia lepszego rezultatu niż w przypadku zastosowania strategii zdominowanej. Strategie, które nie są zdominowane przez inne strategie, ani też nie dominują innych strategii nazywamy strategiami niezdominowanymi. Zajmijmy się więc poszukiwaniem strategii dominujących i zdominowanych dla graczy G 1 i G 2. Zakładamy przy tym, że gracze analizują macierze wypłat w sposób racjonalny, usuwając ze zbioru strategii własnych oraz konkurenta strategie zdominowane. Przeanalizujmy zatem strategie, jakimi dysponuje gracz G 1, porównując najpierw strategię ze strategią. Jeżeli gracz G 2 wybierze strategię to wypłata dla gracza G 1 wyniesie: 0 w przypadku strategii i 2 w przypadku strategii. Tak więc, jeżeli gracz G 2 wybierze strategię to korzystniej dla gracza G 1 jest zastosowanie strategii. Jeżeli gracz G 2 wybierze strategię to i w tym przypadku strategia okazuje się korzystniejsza dla gracza G 1 jego wygrana wyniesie bowiem 3, gdy w przypadku wybrania strategii wygrana ta wynosiłaby tylko 1. I w tym przypadku strategia okazuje się być lepszą niż strategia Jeśli wreszcie gracz G 2 zdecyduje się zastosować strategię to wygrana gracza G 1 wyniesie 3 w przypadku strategii i 5 w przypadku strategii. Z analizy tej wynika, że bez względu na wybór gracza G 2, gracz G 1 powinien zawsze stosować strategię gdyż w każdym przypadku otrzymuje lepsze wyniki niż przy stosowaniu strategii. Możemy więc powiedzieć, że strategia jest strategią dominującą, a strategia jest strategią zdominowaną. Porównajmy zatem strategię gracza G 1 z jego strategią. Jeżeli gracz G 2 zastosuje strategię, to wypłata, jaką otrzyma gracz G 1 wyniesie: 2 w przypadku strategii i 1 w przypadku strategii. Przy zastosowaniu strategii przez gracza G 2 wypłata gracza G 1 wyniesie odpowiednio 3 w przypadku strategii i -2 (w rzeczywistości przegrana) w przypadku strategii Gdyby jednak gracz G 2 zastosował strategię to przy zastosowaniu przez gracza G 1 porównywanych ze sobą strategii lub jego wygrane wyniosą odpowiednio 66

67 5 i 6. W tym przypadku strategia przynosząc wygraną 6, jest korzystniejsza niż strategia dająca wypłatę 5 j.p. Z porównania ze sobą strategii i wynika, że nie ma jednoznacznej odpowiedzi na pytanie, która z nich jest lepsza. Możemy stąd stwierdzić, że dla gracza G 1 ani strategia nie jest zdominowana przez strategię ani strategia nie jest zdominowana przez strategię. Są to więc strategie niezdominowane. W macierzy wypłat (3.13) gracza G 1 strategia jest strategią zdominowaną i nieracjonalnym byłoby jej stosowanie, zatem zostanie usunięta ze zbioru możliwych do wykorzystania strategii i wiersz pierwszy macierzy zostanie usunięty. Macierz wypłat po usunięciu strategii zdominowanej przyjmuje postać: [3.14] Ponieważ chwilowo zostały wyczerpane możliwości analizy macierzy wypłat z punktu widzenia gracza G 1 przejdźmy do porównania strategii dla gracza G 2. Biorąc pod uwagę strategie i nie stwierdzamy nimi dominacji są to więc strategie niezdominowane. Porównując natomiast strategie i stwierdzamy dominację strategii nad strategią (musimy pamiętać, że macierz (9.14) dla gracza G 2 jest w rzeczywistości macierzą strat). Wynika stąd, że strategię jako strategię zdominowaną należy usunąć z możliwych strategii gracza G 2. Po tej redukcji macierz wypłat przyjmie postać: [3.15] Wracamy zatem do analizy macierzy wypłat z punktu widzenia gracza G 1. Pierwszy wiersz macierzy odpowiada strategii drugi zaś strategii. Widzimy teraz, że niezależnie od wyboru strategii przez gracza G 2 dla gracza G 1 korzystniej jest posługiwać się strategią. Strategia dominuje nad strategią i dlatego strategię jako strategię zdominowaną usuwamy ze zbioru możliwych strategii gracza G 1. Po wykreśleniu strategii dla gracza G 1 macierz W ma następującą postać: [3.16] Zajmijmy się więc analizą macierzy (3.16) z punktu widzenia gracza G 2. Gracz ten ma do wyboru dwie strategie i obie przynoszące straty. Gorsza jest strategia, więc usuwamy ją ze zbioru strategii gracza G 2. Tak więc końcowa postać macierzy wypłat wygląda następująco: [3.17] Przez analizę i redukcję macierzy wypłat otrzymujemy rozwiązanie gry najkorzystniejsze dla obu jej graczy. Gracz G 1 powinien wybrać strategię, a gracz G 2 strategię, wtedy każdy z graczy wybierze swoją strategię optymalną. Wypłata, jaką otrzymają gracze po wybraniu strategii optymalnych, nazywana jest wartością gry. Jeżeli wartość gry jest równa 0, to taką grę nazywamy grą sprawiedliwą. Gra rozpatrywana w naszym przykładzie tej własności nie ma, a wartość tej gry wynosi 2. 67

68 3.4. Gry z naturą W dotychczasowych rozważaniach nad problemem podejmowania decyzji (wyboru strategii działania) mieliśmy do czynienia z przypadkiem, gdy rezultatem naszej decyzji była nasza wygrana (lub przegrana) uzyskana kosztem naszego przeciwnika, którego interesy były diametralnie sprzeczne z naszymi interesami. Tzn. tyle wygraliśmy, ile przegrał nasz przeciwnik czyli mieliśmy do czynienia z grą dwuosobową o zerowej sumie wypłat. Naturalnym jest zatem zachowanie naszego przeciwnika, w którego interesie leży, by skłonić nas do podjęcia decyzji niekorzystnej dla nas, a tym samym korzystnej dla niego. Takie zachowania naszego konkurenta możemy traktować jako określone parametry naszej gry. Parametry te mogą mieć charakter zmiennych losowych lub, o ile nie są zmiennymi losowymi, wiemy o nich tyle, że mogą przyjąć jakąś wartość należącą do określonego zbioru. W poznanych dotychczas przypadkach o tym, jaką wartość przyjmie parametr naszej gry, decyduje nasz przeciwnik, mający interesy całkowicie sprzeczne z naszymi. W tym rozdziale zajmiemy się sytuacją, gdy o tym, jakie wartości przybiorą parametry gry, nie decyduje nikt w sposób świadomy. Tak np. gdyby nasza decyzja, którą mamy podjąć dzisiaj, zależała od jutrzejszej pogody, wówczas odpowiedni model decyzyjny trudno byłoby sprowadzić do gry dwuosobowej o sumie zerowej, jakkolwiek pewnej analogii można się dopatrzyć. Można bowiem wyobrazić sobie, że mamy jakieś trzy możliwe strategie (możemy podjąć trzy różne decyzje). Skutki tych decyzji będą zależeć od tego, czy jutro będzie deszcz, słonecznie lub pochmurno. Sytuacja ta różni się od gry dwuosobowej o zerowej sumie wypłat tym, że natura nie jest zainteresowana w wybraniu takiej pogody, która sprawiłaby nam najwięcej kłopotu. Możemy więc powiedzieć używając pewnej personifikacji że dla natury jest zupełnie obojętne, czy będziemy zadowoleni czy niezadowoleni z jej stanu. Opisaną sytuację można sprowadzić formalnie do schematu gry z przeciwnikiem, który nie jest zainteresowany ani w jej wygraniu, ani w przegraniu. Tego rodzaju grę będziemy nazywać grą z naturą. Przyjmując, że zachowanie natury jest dla nas całkowicie nieznane i przy podejmowaniu decyzji mamy do czynienia z przypadkiem, powiemy, że podejmujemy decyzję w warunkach niepełnej informacji. Rozpatrywane dalej sytuacje decyzyjne, związane z podejmowaniem decyzji w warunkach niepełnej informacji, charakteryzują się podobnie jak w omawianych już modelach tym, że również możemy przedstawić listę możliwych decyzji oraz wyszczególnić stany otaczającej nas rzeczywistości. Stany te nazywać będziemy stanami natury, w istotny sposób oddziałującymi na efekt naszej decyzji, o których w momencie podejmowania decyzji nie wiemy, który z nich się zrealizuje (nie mamy na to żadnego wpływu). Stany te nazwiemy stanami natury. Załóżmy, że w dalszych rozważaniach zajmować się będziemy przypadkami, w których zarówno liczba decyzji (strategii), jak i liczba stanów natury jest skończona oraz potrafimy przewidzieć, jakie korzyści (lub straty) wynikają z kolejnych decyzji przy zrealizowaniu się określonego stanu natury. Mówiąc inaczej, że znana jest nam macierz wypłat. Jeśli oprócz możliwości określenia macierzy wypłat, potrafimy również określić rozkład prawdopodobieństwa zaistnienia przyszłych stanów natury, to mówimy o podejmowaniu decyzji w warunkach ryzyka. Jeśli natomiast nie istnieje możliwość 68

69 określenia tych prawdopodobieństw, to sytuację taką określamy jako podejmowanie decyzji w warunkach niepewności. Rozpatrując zagadnienie podejmowania decyzji w warunkach ryzyka, możemy wykorzystując znany rozkład stanów natury obliczyć oczekiwane korzyści dla każdej z rozpatrywanych strategii i wskazać jako rekomendowaną decyzję tę, której wartość oczekiwana jest największa. Ten sposób wyboru decyzji nazywany jest regułą maksymalnej oczekiwanej korzyści. W procesie podejmowania decyzji powinniśmy uwzględnić nastawienie do ryzyka jako indywidualną cechę decydenta. Wyróżnia się decydentów ze skłonnością do ryzyka, którzy kierują się możliwościami osiągnięcia dużych korzyści, oraz decydentów z awersją do ryzyka, którzy unikają podejmowania decyzji, które mogą przynieść straty. Aby opisać nastawienie decydenta do ryzyka, wprowadza się dla konkretnego decydenta pojęcie funkcji użyteczności jako miary wartości danego wyniku (poziomu satysfakcji uzyskanej z otrzymanego wyniku). Chcąc uwzględnić nastawienie decydenta do ryzyka, możemy ponownie wykorzystując rozkład prawdopodobieństwa obliczyć wartość oczekiwaną użyteczności i wskazać tę, dla której wartość oczekiwana jest największa. Ten sposób wyboru decyzji nazywany jest regułą maksymalnej oczekiwanej użyteczności Podejmowanie decyzji w warunkach niepewności W zagadnieniach podejmowania decyzji w warunkach niepewności nie znamy rozkładów prawdopodobieństwa stanów natury. Różne sposoby podejmowania decyzji w warunkach niepewności przedstawimy na przykładzie opisującym sytuację rolnika, który podejmuje decyzję o wyborze rodzaju upraw, biorąc pod uwagę przyszłe warunki klimatyczne. Przykład 4. Rolnik ma podjąć decyzję o przyszłorocznych zasiewach posiadanego areału. Z analizy swoich możliwości produkcyjnych wie, że do dyspozycji ma cztery rodzaje plantacji, których plonowanie uzależnione jest od warunków klimatycznych występujących w okresie wegetacji od warunków skrajnie niekorzystnych, które przynoszą straty do warunków korzystnych, w których może liczyć na osiągnięcie dużego zysku. Przewidywane wielkości plonów w zależności od warunków pogodowych przedstawiono w postaci macierzy wypłat tab Tab Macierz wypłat dla przykładu 4. Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I plantacja II plantacja III plantacja IV

70 Elementami macierzy wypłat w omawianym problemie decyzyjnym są zyski (lub straty, jeśli element występuje ze znakiem ujemnym), które mają wymiar pieniężny, zatem problem decyzyjny będzie polegał na maksymalizacji oczekiwanych zysków lub minimalizacji oczekiwanych strat. Rozważmy zatem możliwe do zastosowania strategie działania rolnika, których wybór uwzględnia indywidualną skłonności decydenta do ryzyka. Te osobiste predyspozycje i skłonności decydenta do podejmowania bardziej lub mniej ryzykownych decyzji ujęte są w omówionych niżej regułach decyzyjnych. Decydent, którym w rozpatrywanym przykładzie jest rolnik, może dojść do wniosku, że chciałby podjąć taką decyzję, która przy zajściu nawet najbardziej niekorzystnych okoliczności przyniesie mu możliwie największy zysk. Taki sposób myślenia prowadzi do reguły Walda, nazywanej regułą max-mini. Regułę tę można sformułować następująco: Reguła Walda (max-min) Wykorzystując kolejne wiersze macierzy wypłat, znajdujemy dla każdej decyzji minimalną korzyść, którą możemy uzyskać przy realizacji kolejnych stanów natury. Wskazujemy tę decyzję, dla której minimalna korzyść jest największa. Regułę tę możemy zapisać w następującej postaci: [3.18] Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I plantacja II plantacja III min plantacja IV Stosując w rozpatrywanym przykładzie regułę Walda, z każdego wiersza (dla każdej strategii) wybraliśmy wartości najmniejsze, wskazujące na wysokość wypłaty, jaką uzyskamy w przypadku wyboru tej strategii i zajścia najbardziej niekorzystnych stanów natury. Jako rekomendowaną strategię działania, zgodnie z tą regułą, wybieramy strategię sugerującą rolnikowi wybór plantacji I. Strategia ta, w naszym przykładzie, przynosi choćby minimalne to zawsze wygrane bez względu na to, jak realizują się stany natury. Inne strategie mogą przynieść zarówno większe zyski, jak też duże straty. Warto w tym momencie wspomnieć o regule min-max, mającej zastosowanie wówczas, gdy wartości zapisane w macierzy wypłat oznaczają straty. 70

71 Reguła min-max Wykorzystując kolejne wiersze macierzy wypłat, znajdujemy dla każdej decyzji maksymalną stratę, którą możemy ponieść przy realizacji kolejnych stanów natury. Wskazujemy tę decyzję, dla której maksymalna strata jest najmniejsza. Regułę tę zapisujemy w następującej postaci: [3.19] Decydent o dużej skłonności do ryzyka może chcieć wykorzystać dwuetapową regułę max-max. W pierwszym etapie analizuje kolejne decyzje i szuka największej wypłaty związanej z każdą z nich. W drugim etapie z wybranych poprzednio wartości wybiera największą, licząc na to, że natura będzie mu sprzyjać i zrealizuje się stan przynoszący największe korzyści. Regułę max-max można sformułować następująco: Reguła max-max Wykorzystując kolejne wiersze macierzy wypłat, znajdujemy dla każdej decyzji maksymalną korzyść, którą możemy uzyskać przy realizacji kolejnych stanów natury. Wskazujemy tę decyzję, dla której maksymalna korzyść jest największa. Regułę tę zapisujemy w następująco: [3.20] Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I plantacja II plantacja III plantacja IV Stosując regułę max-max, w pierwszym kroku każdego wiersza wybieramy element o największej wartości i zapisujemy go w dodatkowej kolumnie utworzonej w macierzy wypłat. W kroku drugim, spośród liczb zawartych w tej kolumnie wybieramy największą. W naszym przypadku decyzją rekomendowaną według tej reguły jest plantacja IV. Próbą połączenia tych dwóch skrajnie różnych sposobów podejścia do ryzyka jest reguła Hurwicza, której kluczowym elementem jest współczynnik ostrożności. Współczynnik ten, oznaczony symbolem przyjmuje wartości z przedziału [0,1], opisuje indywidualny stosunek decydenta do ryzyka. Wartość równa 1 charakteryzuje skrajną awersję decydenta do ryzyka, a wartość 0 skrajną skłonność decydenta do ryzyka. max 71

72 W regułach mini-max wykorzystywaliśmy maksymalne i minimalne wartości elementów a ij macierzy wypłat. Stosując zatem współczynnik ostrożności, regułę Hurwicza możemy zapisać następująco: [3.21] Reguła Hurwicza współczynnik ostrożności Wykorzystując kolejne wiersze macierzy wypłat, znajdujemy dla każdej decyzji o numerze i wartości; Wybieramy tę decyzję, dla której wartość jest największa. Zakładając wartość współczynnika ostrożności γ = 0,4, regułę tę wykorzystujemy następująco: Dla każdej strategii znajdujemy minimalną i maksymalną wartość wypłaty i zgodnie ze wzorem [3.21] wyliczymy spodziewaną wypłatę. Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 min plantacja I plantacja II plantacja III plantacja IV Plantacja I max Plantacja II Plantacja III Plantacja IV Rekomendowana strategia charakteryzuje się największą wypłatą. Przy wartości wskaźnika ostrożności γ = 0,4 jako rekomendowane rozwiązanie zasugerujemy decydentowi zastosowanie również Plantacji IV. 72

73 Jeśli nie znamy prawdopodobieństwa zaistnienia poszczególnych stanów natury, to możemy przyjąć, że są one równie prawdopodobne i zastosować regułę braku dostatecznej racji (Bayesa Laplace a). Reguła Bayes a Laplace a reguła braku dostatecznej racji Wykorzystując kolejne wiersze macierzy wypłat, znajdujemy dla każdej decyzji oczekiwaną korzyść, przyjmując, że realizacje kolejnych stanów natury są równie prawdopodobne. Wybieramy decyzję, dla której oczekiwana korzyść jest największa. Przykład zastosowania tej reguły do naszego przykładu zmieszono w poniższej tabeli. Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 wartość średnia plantacja I ,33 plantacja II plantacja III ,33 plantacja IV ,00 Spośród znalezionych w ten sposób liczb wybieramy największą. Liczba ta wskazuje rekomendowaną strategię według kryterium Bayesa Laplacea. Reguła Savage a reguła minimalnego żalu Kryterium podejmowania decyzji według reguły minimalnego żalu jest chęć zminimalizowania utraconych korzyści, związanych z podjęciem określonej decyzji, która okazała się nietrafna w kontekście zrealizowanego stanu natury. W poprzednich regułach decyzyjnych zawsze maksymalizowaliśmy wielkość wygranej. W przypadku reguły Savage a będziemy się kierować kryterium minimalizacji żalu, jaki odczuwamy, podejmując nietrafioną decyzję. Miarą tego żalu będzie różnica między wygraną uzyskaną z podjętej decyzji a wygraną, jaką moglibyśmy uzyskać, gdyby nasza decyzja była trafna. Musimy wcześniej wykonać wstępne obliczenia, polegające na stworzeniu nowej macierzy Z tzw. macierzy żalu. Dla każdego stanu natury wskażemy strategię, dla której wielkość wypłaty jest największa. Będzie to największy element z każdej kolumny (max a j ) macierzy wypłat. Otrzymamy w ten sposób maksymalne korzyści, jakie decydent może uzyskać, jeśli zrealizują się kolejne stany natury, a decydent uprzednio trefnie je przewidzi. Elementem macierzy Z będzie różnica między korzyścią, jaką można byłoby osiągnąć, gdyby udało się trafnie przewidzieć stan natury, czyli max a j a korzyścią a ij, jaką uzyskaliśmy, wybierając określoną strategię. Formalnie możemy zapisać, że element macierzy żalu: z ij = max a j a ij [3.22] 73

74 Elementy macierzy żalu interpretujemy jako naszą miarę strat poniesionych w wyniku podjętej nietrafnej decyzji w stosunku do zaistniałego później stanu natury, stąd też jej nazwa macierz żalu. Formalnie regułę Savage a formułujemy następująco. Reguła Savage a Wykorzystując kolejne kolumny macierzy wypłat, znajdujemy dla każdego stanu natury wartości maksymalnych korzyści max a j i tworzymy macierz żalu Z. Wybieramy decyzję, która minimalizuje największą możliwą stratę. Zastosujmy regułę Savage a do danych z poprzednich przykładów. W pierwszym kroku z każdej kolumny macierzy wypłat wybieramy element największy. Dla stanu natury charakteryzującego się niekorzystnymi warunkami klimatycznymi wartość elementy największego wynosi max a i1 = 9, dla stanu natury o warunkach przeciętnych wartość tego elementu wynosi max a i2 = 6 i dla stanu natury o korzystnych warunkach klimatyczny odpowiednio max a i3 = 54. Zgodnie ze wzorem [9.22] obliczany kolejne elementy macierzy żalu. Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I plantacja II plantacja III plantacja IV Max żal Z kolejnych wierszy tej macierzy wybieramy wartości maksymalne i dołączamy je do macierzy żalu jako dodatkową kolumnę. Z kolumny tej wybieramy wartość najmniejszą. Decyzją rekomendowana przez regułę Savage a jest w tym przypadku plantacja IV Podejmowanie decyzji w warunkach ryzyka Podejmując decyzję w warunkach ryzyka, zakładamy, że znamy rozkład prawdopodobieństwa zajścia przyszłych stanów natury. W podjęciu decyzji będziemy kierować się regułami maksymalnej oczekiwanej korzyści i maksymalnej oczekiwanej użyteczności. 74

75 Maksymalizacja oczekiwanej korzyści Regułę maksymalnej oczekiwanej korzyści możemy zastosować zarówno wówczas, gdy podejmujemy decyzje jednoetapowe, jak i w przypadku decyzji wieloetapowych 5. Zasadę postępowania według reguły maksymalnej oczekiwanej korzyści dla jednoetapowych decyzji omówimy na tym samym przykładzie, na podstawie którego rozważaliśmy problemy podejmowania decyzji w warunkach niepewności. Skorzystamy w tym przypadku z podanego w macierzy wypłat rozkładu prawdopodobieństwa zajścia poszczególnych stanów natury. Regułę te sformułujemy następująco. Reguła maksymalizacji oczekiwanej korzyści Posługując się rozkładem prawdopodobieństwa zaistnienia kolejnych stanów natury, obliczamy oczekiwane korzyści dla poszczególnych strategii decyzyjnych. Decyzją rekomendowaną jest ta, dla której oczekiwana korzyść jest największa. Znana już macierz wypłat przedstawia się następująco: Decyzja Zysk rolnika w określonych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I plantacja II plantacja III plantacja IV Wykorzystujemy prawdopodobieństwa wystąpienia kolejnych zróżnicowanych warunków klimatycznych: niekorzystnych z prawdopodobieństwem 26%, przeciętnych z prawdopodobieństwem 40% i korzystnych z prawdopodobieństwem 34%. Wartości oczekiwanych korzyści dla kolejnych strategii decyzyjnych wyliczymy z ogólnej formuły następująco: [9.22] dla kolejnych decyzji: 5 Wieloetapowe problemy decyzyjne i sposoby ich rozwiązywania zostały omówione między innymi książce A. Woźniak, Grafy i sieci w technikach decyzyjnych, IiETW PAN Kraków 2010, s

76 Porównując otrzymane wartości oczekiwane dla kolejnych strategii działania, można polecić rolnikowi jako rekomendowanej według reguły maksymalnej oczekiwanej korzyści wybór plantacji III Maksymalizacja oczekiwanej użyteczności Podjęcie decyzji przez decydenta korzystającego z reguły maksymalnej oczekiwanej użyteczności jest w dużej mierze uwarunkowane jego stosunkiem do ryzyka. W podobnych warunkach inna może być decyzja decydenta z awersją do ryzyka, a inna decydenta ze skłonnością do ryzyka. Rozpatrując poprzednie zadanie jako rozwiązanie rekomendowane, przyjęliśmy decyzję o uprawie plantacji III. Decydentowi o awersji do ryzyka decyzja ta może wydawać się zbyt ryzykowną, gdyż uzna, że ze zbyt dużym prawdopodobieństwem, wynoszącym 24%, może przynieść straty wynoszące 12 j.p. Z kolei dla decydenta ze skłonnością do ryzyka może wydawać się zbyt asekuracyjna, gdyż nie uwzględnia możliwości większego zysku w przypadku wystąpienia korzystnych warunków klimatycznych. Dla decydenta z awersją do ryzyka nawet niewielki zysk ma istotne znaczenie, natomiast dla decydent ze skłonnością do ryzyka osiąga taki sam poziom satysfakcji przy znacznie wyższym poziomie zysku. Aby pomóc decydentowi w podjęciu decyzji uwzględniającej jego preferencje, należałoby określić w drodze odpowiednich badań lub analiz wcześniej podjętych decyzji jego funkcje użyteczności. Funkcja użyteczności U k (a ij ) określa poziom satysfakcji decydenta, jaki osiąga przy określonej wielkości zysku. Rozpatrzmy na naszym przykładzie dwie możliwe funkcje użyteczności u 1 (a ij ) decydenta z awersją do ryzyka i funkcję u 2 ( a ij ) decydenta ze skłonnością do ryzyka. Załóżmy, że funkcje te zdefiniujemy następująco: Wykres funkcji użyteczności dla decydentów o awersji (u 1 (a ij )) i skłonności do ryzyka (u 2 (a ij )) został przedstawiony na rys

77 Rys Poglądowy wykres funkcji użyteczności dla decydentów o skłonności i awersji do ryzyka. Jak widać z wykresów, decydent o awersji do ryzyka już przy niewielkich wypłatach uzyskuje zadowalający poziom satysfakcji gdy dla decydenta o skłonności do ryzyka ten sam poziom wiąże się z wyższymi wypłatami. Wartości funkcji użyteczności u 1 dla decydenta o awersji do ryzyka zestawione zostały poniżej: Decyzja Wartość funkcji użyteczności u 1 w kolejnych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I 15,00 11,18 16,58 plantacja II -1,80 12,24 14 plantacja III -28, plantacja IV -64,80-28,80 36,74 Zgodnie z definicją zasady maksymalizacji oczekiwanej użyteczności, decydent o awersji do ryzyka wybierze plantację I jako strategię spełniającą największą oczekiwaną użyteczność. Wartości funkcji użyteczności u 2 dla decydenta o skłonności do ryzyka zestawiono poniżej: 77

78 Decyzja Wartość funkcji użyteczności u 1 w kolejnych warunkach klimatycznych niekorzystnych p = 0,26 przeciętnych p= 0,40 korzystnych p = 0,34 plantacja I 16,20 5,00 24,20 plantacja II -8,66 7,21 39,20 plantacja III -17,33 3,20 259,20 plantacja IV -21,20-17,36 583,20 Decydent o skłonności do ryzyka wybierze więc plantację IV jako strategię ryzykowną, ale dającą nadzieję na duże zyski. 78

79 4. Analiza i prognozowanie szeregów czasowych 4.1. Wprowadzenie do analizy szeregów czasowych Szeregiem czasowym nazywamy ciąg uporządkowanych obserwacji dokonanych na pewnej zmieniającej się w czasie wielkości zmiennej Y charakteryzującej badane zjawisko. Istotą szeregu czasowego jest uporządkowanie obserwacji zgodnie z upływającym czasem. Przykładami szeregów czasowych mogą być np. obserwacje zmiany kursów akcji w określonym okresie lub średni przebieg zużycia energii elektrycznej w gospodarstwach domowych. Obserwacje zmiennej Y mogą być dokonywane za pewne okresy i dotyczyć wielkości zużycia energii elektrycznej w poszczególnych miesiącach rozpatrywanego roku. W taki sposób mierzymy zmienne, które mają postać strumieni. Jeśli szereg czasowy ma charakter zasobów i dotyczy np. wartości aktywów przedsiębiorstwa, to dokonuje się pomiarów w określonych momentach w czasie. Różnice między tymi dwoma sposobami pomiaru obserwacji zmiennej Y z przeszłości przedstawia rys. 4.1 Rys Sposoby ujęcia czasu w analizie szeregów czasowych. Zaobserwowane wartości zmiennej Y w określonych momentach w czasie przyporządkowują temu momentowi daną wartość. Wartość obserwowanej zmiennej Y w momencie czasu t zapisywać będziemy symbolem y t. Analizę szeregu czasowego warto rozpocząć od wykreślenia przebiegu zmiennej w formie wykresu w skali czasu. Czasy tradycyjne odmierzamy na osi poziomej, a na osi pionowej wartości zmiennej obserwowanej Y. Wykres taki nazywany wykresem szeregu czasowego pozwala dokonać pierwszej oceny kształtowania się wartości zmiennej Y w czasie. Na rys przedstawiony został przykładowy przebieg szeregu czasowego zużycia energii elektrycznej w tys. kwh, w określonych okresach czasu (kwartałach) w pewnym rejonie energetycznym. Wykres ten ma charakter strumienia zużycia energii w poszczególnych kwartałach w latach Zaobserwowane zużycie w tych okresach, dla ułatwienia obserwacji szeregu czasowego, przedstawiono, łącząc punkty wyrażające wartość zmiennej odcinkami. Rys Wykres szeregu czasowego z połączonymi wynikami obserwacji. 79

80 W kształtowaniu się przedstawionego szeregu czasowego można wyróżnić ogólną tendencję zmian (trend) oraz charakterystyczne zmiany występujące w poszczególnych okresach (wahania okresowe), a także nakładające się na te zmiany wahania przypadkowe (losowe) zachodzące w sposób nieregularny i niesystematyczny. Rys Podstawowe elementy szeregu czasowego. Analiza wahań sezonowych lub losowych pozwala wyróżnić szeregi czasowe z wahaniami addytywnymi i multiplikatywnymi. Różnica między tymi typami szeregu czasowego polega na tym, że amplituda wahań typu multiplikatywnego ma tendencje do zwiększania się w czasie, podczas gdy amplituda wahań o charakterze addytywnym utrzymuje się na tym samym poziomie w badanym okresie. Rys Szeregi czasowe o wahaniach addytywnych i multiplikatywnych Istota prognozowania Prognoza jest pewnym orzeczeniem o kształtowaniu się przyszłych zdarzeń, będącej wynikiem określonej i naukowo uzasadnionej reguły postępowania. Reguły prognozowania odwołują się do informacji o zdarzeniach przeszłych oraz określonej wiedzy o prognozowanym zjawisku. Informacje o zdarzeniach z przeszłości są traktowane jako dane. Dane te, by mogły być przydatne do prognozowania, muszą wyrażać te same zdarzenia, w takich samych jednostkach oraz muszą być przedstawione w tej samej skali pomiarowej. Reguły przewidywania są ujmowane w modele prognostyczne charakterystyczne dla typów zjawisk, do których mogą być wykorzystane. W logistyce przedsiębiorstw 80

81 podstawowymi obszarami, w których mogą być wykorzystane prognozy, są np.: popyt na produkowane wyroby, wielkość sprzedaży, zmiany stanów magazynowych, zapotrzebowanie surowcowe itp. Są to dziedziny aktywności przedsiębiorstw, w których zjawiska lub procesy kształtowane są przez różne mechanizmy zarządzania, mające istotny wpływ na wynik. Można zatem potrzeć dwojako na dane będące podstawą prognozowania. Spojrzenie o charakterze bardziej aktywnym nakazuje uwzględnić przyczyny podjęcia takiej, a nie innej decyzji mającej wpływ na wynik w danym okresie. Spadek popytu na produkowane wyroby może być spowodowany np. pojawieniem się konkurencji na rynku, wzrost wielkości sprzedaży może być wynikiem skutecznej akcji promocyjnej, zmiany stanów magazynowych bardziej lub mniej trafnie wybraną polityką zaopatrzenia. Uwzględnienie tych informacji powinno skorygować wnioski o zdarzeniach przyszłych. Na informacje o zdarzeniach, które mają nastąpić w przyszłości można patrzeć również w oderwaniu od uzasadnień merytorycznych bardziej pasywnie. Wynika to z założenia, że zdarzenia te w wyniku pewnej inercji nastąpią również w przyszłości. Przyjęcie takiej pasywnej postawy pozwala konstruować uniwersalne modele prognozowania, odwołujące się do metod matematycznych. Skoro wynik prognozy ma powstać na podstawie danych stanowiących tylko ciąg liczby, musimy bardzo starannie sprawdzić, czy istnieje dostatecznie adekwatny model matematyczny odzwierciedlający zachodzące w ciągu tych liczb prawidłowości. Formalnie można z góry powiedzieć, że praktycznie dla żadnego zjawiska nie można wskazać idealnego modelu, takiego który wyznacza prognozy z pełną gwarancją ich spełnienia. Wybierając model, musimy kierować się kryterium praktycznej akceptowalności wyniku, który powinien być trafniejszy niż wskazania za pomocą innych modeli. Z tego też względu w prognozowaniu ważna jest analiza błędów prognozy, która musi być integralną częścią wnioskowania. Wprowadźmy zatem podstawowe pojęcia i oznaczenia, z których będziemy korzystać w omawianiu metod prognozowania na podstawie danych historycznych. Jak już wspomniano, dane o zdarzeniach z przeszłości uporządkowane zgodnie z następstwem czasu nazywamy szeregiem czasowym, a wyróżnioną w tym szeregu jednostkę czasowa okresem. Przyjmijmy, że szereg czasowy tworzą dane y 1, y 2, y 3,, y n. Na podstawie tych danych określona zostanie prognoza. Znając przebieg wydarzeń przeszłych w okresie od 1 do n, interesującym będzie wynik prognozy dla okresu n+1 i okresów następnych. Liczba okresów, dla których chcemy wyznaczyć prognozę określa horyzont prognozy. Prognozy będziemy oznaczać symbolami p i zatem prognozę dla okresu n+1 oznaczymy symbolem p n+1, a prognozę na dla okresu n+2 oznaczymy symbolem p n+2 itd. W przedstawionych na rys. 4.1 do 4.4 przykładowych szeregach czasowych przedstawione zostały przykładowo różne ogólne tendencje zmian w kształtowaniu się szeregu. Szeregi mogą zatem wykazywać pewne zmiany oscylujące zawsze w pobliżu wartości średniej, niezależnie od okresu takie szeregi wykazują stacjonarność. Szeregi, w których następują regularne zmiany (addytywne lub multiplikatywne) będą charakteryzowały się występowaniem trendu. Mogą również być szeregi, w których oprócz zmian regularnych występują też zmiany cyklicznie powtarzające się w czasie są to szeregi wykazujące cykl sezonowy. We wszystkich tych rodzajach szeregów występują zawsze zmiany o charakterze losowym, które w pewnym sensie zakłócają 81

82 określoną regularność szeregu. Wyróżnienie ogólnych tendencji (stacjonarności, trendu lub wahań sezonowych) szeregu czasowego nazywamy dekompozycją lub wygładzeniem (wyrównaniem) szeregu czasowego. Rozpoznanie szeregu pozwala na dobór odpowiedniego modelu prognostycznego odpowiedniego do jego charakteru, gwarantującego odpowiednią jakość prognozy. Wstępne rozpoznanie charakteru szeregu czasowego należy rozpoczynać od wizualizacji jego przebiegu na wykresie w skali czasu. Jednak obserwacje wizualne bardzo często mogą okazać się nieprecyzyjne. Dlatego też dokładniejsze rozpoznanie szeregu daje analiza autokorelogramów, która zostanie omówiona w dalszej części tego rozdziału. Miarą dokładności dopasowania szeregu czasowego utworzonego na zmiennej Y do przyjętego modelu prognostycznego są wartości odchyleń realizacji zmiennej y t w okresie t od teoretycznej wartości prognozowanej wyznaczonej dla tego okresu p t, Prognozowana wartość zmiennej Y w okresie t (p t ) jest wartością wygładzonego szeregu dla okresów, dla których dysponujemy obserwacjami empirycznymi. Badając dokładność dopasowania, należy wykonać następujące kroki: 1 0 spośród wszystkich obserwacji y t na zmiennej Y zebranych w okresie t {1,2,, T} wyróżniamy: z obserwacji w okresie t {1,2,, n} podzbiór inicjalny w celu obrania modelu prognostycznego, z pozostałych informacji t {n+1, n+2,, T} wyróżniamy podzbiór kontrolny, na którym dokonujemy weryfikacji trafności doboru modelu (szacujemy błędy dopasowania). 2 0 rozpoznamy prawidłowości występujące w zbiorze inicjalnym (dobieramy model prognostyczny) i na podstawie przyjętego modelu obliczamy teoretyczne wartości prognoz dla podzbioru kontrolnego, a następnie porównamy te wartości z wartościami rzeczywistymi. 3 0 obliczamy jedną z kilku miar dokładności dopasowania. Schemat podziału danych empirycznych dla celów analizy przedstawiony został na rys Rys Podział danych historycznych dla celów prognostycznych. W przypadku, gdy wyznaczone błędy dopasowania uznamy za nieistotne, korzystając już z przyjętego modelu, możemy przystąpić do wyznaczenia prognozy na interesujący nas okres (ekstrapolacji danych poza zbiór kontrolny). Gdy jednak uznamy, 82

83 że dokładność dopasowania (wygładzania) nie jest wystarczająca, należy dobrać inny model prognostyczny i zmienić metodę wygładzania szeregu. Inaczej mówiąc, na podstawie ciągu danych rzeczywistych y 1, y 2,, y n (podzbiór inicjalny) będziemy wyznaczać przebieg wartości prognozowanych p 1, p 2,, p n, a następnie, według reguły przyjętego modelu prognostycznego, wyznaczamy prognozy na okresy p T+1, p T+2+,, p T+n, leżące poza zakresem zbioru kontrolnego. Różnicę między wartością rzeczywistą a prognozowaną nazywamy błędem prognozy: [4.1] Istnieją bowiem podstawy do stwierdzenia, że jeżeli ciąg reprezentujący błędy prognozy ma rozkład normalny, to możemy wnioskować, że rzeczywista wartość zmiennej w okresie T+1 leży z prawdopodobieństwem 0,95 w przedziale gdzie jest odchyleniem standardowym w szeregu, uzyskanym z porównania wartości rzeczywistych z wartościami teoretycznymi. W analizie szeregów czasowych wykorzystuje się wiele miar dokładności dopasowania szeregu wygładzonego do szeregu empirycznego. Miary te w różny sposób eksponują różnice między wartościami teoretycznymi wyznaczonymi z modelu prognostycznego a wartościami obserwowanymi. błąd procentowy (Percentage Error) w okresie t: [4.2] błąd średni (Mean Error): [4.3] błąd średni procentowy (Mean Percentage Error) : [4.4] Miary te mają jedną wspólną wadę. Jak widać z ich konstrukcji, dodatnie odchylenia wartości rzeczywistych są znoszone przez odchylenia ujemne. Miary, które eliminuje tę niedogodność oparte są na pomiarze bezwzględnym błędów. średni błąd bezwzględny (Mean Absolute Error) : [4.5] średni błąd procentowy bezwzględny: [4.6] Jeżeli wartości bezwzględne z miar błędów ME i MAE są sobie równe, oznacza to, że wartości teoretyczne wyznaczone z modelu są systematycznie wyższe lub niższe od wartości rzeczywistych. Jeśli natomiast ME i MPE są zdecydowanie niższe niż MA i MAPE, oznacza to, że błędy wygładzania są różnokierunkowe. średni błąd kwadratowy (Mean Squre Error) : [4.7] 83

84 odchylenie systematyczne: [4.8] Błąd BIAS wskazuje wielkość błędu systematycznego. W jego wzorze w liczniku następuje odejmowanie prognozy od wyniku rzeczywistego. Gdy wartość tego błędu jest dodatnia, prognozy zaniżone w stosunku do wyników rzeczywistych, a gdy jest ujemny, prognozy są zawyżone. współczynnik Theila: [4.9] Współczynnik ten przyjmuje wartość 0, gdy wartości teoretyczne pokrywają się z wartościami empirycznymi. Pierwiastek z współczynnika Theila informuje, jaki jest przeciętny względny błąd dopasowania wartości teoretycznych do wartości rzeczywistych. Wyznaczanie przebiegu teoretycznego szeregu czasowego i obliczanie kilku lub wszystkich wymienionych rodzajów błędów dopasowania służy do doboru formalnego modelu prognozowania. Istotą każdego z tych wyrażeń jest różnica między wartością rzeczywistą stwierdzoną w okresie t a wartością teoretyczną wynikającą z przyjętego modelu prognostycznego. Znając wielkość popełnianego błędu występującego przy wartościach teoretycznych, możemy założyć, że wartość wykonanej prognozy na okres T+n będzie obarczona takim samym błędem. Prognozowanie na podstawie szeregów czasowych polega na postępowaniu zgodnie z następującym schematem przedstawionym przez S. Krawczyka przeprowadzić badanie charakterystycznych własności szeregu czasowego, takich jak np. addytywność lub multiplikatywność typowych składowych określających trend, wahania cykliczne, wahania sezonowe i wahania nieregularne oraz losowe, 2 0 dokonać wyboru formalnego modelu prognozowania, 3 0 oszacować współczynniki modelu, w tym wartości startowe prognozy, 4 0 wyznaczyć prognozy, uwzględniając w miarę możliwości informacje pomocnicze, które nie mogły być ujęte w modelu, 5 0 w trakcie wykonywania prognoz na kolejne okresy należy przeprowadzić analizę błędów i wprowadzić korekty do modelu. Nie należy wykluczyć rezygnacji z modelu, gdy obserwowane błędy prognoz przekraczają granice akceptowalności Wstępna analiza danych Przeprowadzenie kompleksowej analizy charakterystycznych właściwości szeregu czasowego oprócz sporządzenia wykresu i wizualnej oceny przebiegu szeregu czasami wymaga szczególnego postępowania, które polega na wykonaniu analizy współczynników autokorelacji szeregu. 6 S. Krawczyk, Metody ilościowe w planowaniu (działalności przedsiębiorstw), Wydawnictwo C.H. Beck, Warszawa

85 Współczynnik autokorelacji jest współczynnikiem korelacji obliczonym dla dwóch szeregów utworzonych z tego samego ciągu danych pierwotnych. Przyjmijmy, że szeregiem pierwotnym jest ciąg danych y 1, y 2,, y n. Oznaczmy symbolem k tzw. przesunięcie szeregu o k okresów: dla k=1 oznacza to utworzenie szeregu y 2, y 3,, y n dla k=2 oznacza utworzenie szeregu y 3, y 4,, y n. Przesunięci o k okresów oznacza więc utworzenie szeregu y k+1, y k+2,, y n. Współczynnik autokorelacji dla przesunięcia o k składników obliczamy ze wzoru: gdzie: jest średnią z danych szeregu pierwotnego. [4.10] [4.11] Jeśli potraktujemy uzyskane wyniki jako wartości funkcji, której argumentami są odpowiednie liczby k, to możemy sporządzić wykres takiej funkcji nazywany autokorelogramem. Pamiętać należy, aby liczba przesunięć była mniejsza niż połowa liczby okresów uwzględnionych w szeregu pierwotnym. W wyniku obliczeń otrzymujemy ciąg współczynników autokorelacji, który może być pomocny w rozpoznaniu charakteru szeregu. St. Krawczyk podaje, że: 1 0 Jeśli współczynniki autokorelacji są szybko zbieżne do 0 i już dla k=2,3 oscylują wokół niego, to można sądzić, że szereg wykazuje stacjonarność. Gdy są równe 0, to szereg jest stały. 2 0 Jeśli współczynniki autokorelacji wykazują tendencję do zmniejszania wartości, od istotnie dużych do wartości 0 i ewentualnie wartości ujemnych, to możemy sądzić, że szereg wykazuje trend. Określenie, czy jest to trend rosnący czy malejący, powinno wynikać z wykresu trendu. 3 0 Jeśli współczynniki autokorelacji oscylują wokół 0 i co pewien odstęp, są bardzo wyraźnie różne od 0, to możemy sądzić, że dane szeregu wykazują sezonowość. Odstęp między dwoma istotnymi odchyleniami tego samego znaku wskazują na długość cyklu sezonowego. 4 0 W przypadku, gdy wartości współczynników autokorelacji oscylują wokół 0, nie wykazując żadnych regularności odchyleń, to szereg prawdopodobnie nie ma żadnej określonej charakterystyki i niezbędne są badania pomocnicze. Rozpatrzmy dla przykładu szeregi czasowe, które wykazują określone właściwości i przeprowadźmy ich analizę autokorelacyjną. Przypadek 1 W tab. 4.1 dany jest szereg czasowy stanu magazynowego pewnego produktu P 1. Przyjętą jednostką czasu jest miesiąc. Tab Miesięczne stany magazynowe produktu P 1. t y t

86 Rys. 4.6 ilustruje wartości stanów magazynowych produktu P 1 w poszczególnych miesiącach. Rys Miesięczne stany magazynowe produktu P 1. Wartość średnia dla tego szeregu wynosi. Korzystając ze wzoru [4.10], można wyliczyć wartości kolejnych współczynników autokorelacji r 1, r 2, r 7. Obliczenia współczynników autokorelacji można również przeprowadzić za pomocą arkusza kalkulacyjnego Excel, korzystając z formuły =WSP.KORELACJI (tabl. 1; tabl. 2). Jako tablice 1 wstawiamy szereg pierwotny y t, a jako tablicę 2 szereg pierwotny przesunięty o 1 okres. Przy wyznaczaniu współczynnika autokorelacji r 2 tablicę 2 będzie stanowić szereg przesunięty o 2 okresy itd. Tab Zestawienie przesuniętych szeregów czasowych o k-okresów do wyznaczenia współczynników autokorelacji. Liczba przesunięć r n 0,2808-0,1044-0,5814-0,6547-0,0148 0,7164 0,5487 Rys Wykres autokorelogramu dla stanu magazynowego produktu P 1. 1,0000 0, ,0000-0, ,

87 Ponieważ współczynniki autokorelacji na wykresie oscylują wokół 0, można wnioskować o stacjonarności szeregu czasowego przedstawionego w tab Stwierdzenie takie należy traktować ostrożnie, ponieważ analizowany szereg ma zbyt mało elementów, aby rzeczywiście mówić o regularności oscylacji. Prześledźmy wykresy autokorelogramów na dwóch innych przykładach, w których znane są określone tendencje ciągów danych. Przypadek 2 Rozpatrzmy szereg czasowy stanu magazynowego produktu P 2, podobnie jak w poprzednim przykładzie, lecz o wyraźnej tendencji wzrostowej. W tab zostawione zostały dane do tego szeregu. Tab Miesięczne stany magazynowe produktu P 2. t y t Rys Miesięczne stany magazynowe produktu P Tab Zestawienie współczynników autokorelacji dla szeregu czasowego produktu P 2. przesunięcie r k 1 0, , , , , , ,759 Autokorelogram utworzony na podstawie współczynników autokorelacji z tab dla szeregu czasowego produktu P 2 przedstawia rys Rys Wykres autokorelogramu dla stanu magazynowego produktu P 2. 1, ,

88 W tym przykładzie współczynniki autokorelacji systematycznie maleją, co sugeruje, że szereg czasowy stanów magazynowych produktu P 2 wykazuje trend. Rys wskazuje, że jest to trend rosnący. Przypadek 2 Rozpatrzmy teraz szereg czasowy stanów magazynowych produktu P 3. W szeregu tym wartości początkowe stanu magazynowego początkowo maleją, później rosną i potem ponownie maleją. Okresem ewidencji stanów magazynowych jest jak w poprzednich przypadkach miesiąc. Tab Stany magazynowe produktu P 3. t y t Rys Wykres stanów magazynowych produktu P Powyżej w tab. i na rys przedstawione zostały zmiany w miesięcznych stanach magazynowych produktu P 3. W tab zestawiono wartości współczynników autokorelacji tego szeregu. Tab Zestawienie współczynników autokorelacji dla szeregu czasowego produktu P 3. przesunięcie r k 1 0, , , , , , ,9311 Wykres autokorelogramu współczynników autokorelacji dla produktu P 3 przedstawia rys

89 0,6000 0,4000 0,2000 Rys Wykres autokorelogramu dla produktu P 3. 0,0000-0, ,4000-0,6000-0,8000 Na podstawie wykresu autokorelogramu można przypuszczać, że szereg czasowy obrazujący stany magazynowe produktu P 3 wykazuje sezonowość. Stwierdzenie to jest dość ryzykowne, gdyż w szeregu mamy zbyt mało danych. Poprawność statystyczna oszacowania wymaga, by dla stwierdzenia sezonowości było tyle danych w szeregu, by mogło nastąpić co najmniej powtórzenie cyklu. W naszym przypadku oznacza to, że szereg powinien mieć więcej niż 24 obserwacje w miesięcznych okresach Metody prognozowania na podstawie szeregów czasowych Szereg czasowy stacjonarny Pojęcie szereg czasowy stacjonarny ma swoje odniesienie do statystyki i oznacza, że występują niewielkie różnice między danymi w kolejnych okresach, które oscylują wokół wartości średniej in plus lub in minus i wzajemnie się niwelują. Podstawowymi metodami prognozowania na podstawie takich szeregów są: metoda średniej ruchomej i metoda wygładzania wykładniczego pierwszego rzędu model Browna. Prognoza za pomocą średniej ruchomej Idea prognozowania za pomocą średniej ruchomej jest bardzo prosta. Określonemu w czasie momentowi przyporządkowuje się średnią wartość z kilku kolejnych danych poprzedzających moment prognozowania. Wartość średnia z kolejnych poprzedzających okresów ma złagodzić występujące losowo odchylenia zakłócające regularność szeregu. W najprostszym przypadku bierzemy średnią z dwóch lub trzech poprzedzających kolejnych danych. Ogólnie, gdy uznamy, że należy utworzyć średnia ruchomą z kolejnych k obserwacji na zmiennej Y, to obliczamy ją z k danych poprzedzających okres prognozowania T+1 i uzyskany wynik traktujemy jako prognozę na okres T+1. Możemy to zapisać następującą zależnością: [4.12] Liczbę k należy ustalić doświadczalnie, obliczając średnie ruchome dla kilku wartości k, a następnie wyznaczyć wielkości popełnianych błędów prognozy i wybrać prognozę obarczoną najmniejszym błędem. Metodę średniej ruchomej przedstawimy na przykładzie szeregu czasowego zapisanego w tab. 4.7 z obliczeniami dla różnych wartości stałej k. 89

90 Tab Wyniki prognozowania za pomocą średniej ruchowej o różnej wartości stałej k. Prognoza t y t k=3 k=4 k= , ,0 899, ,0 888,2 889, ,7 884,7 889, ,7 885,2 891, ,7 886,5 885, ,7 892,0 883, ,0 889,2 890, ,3 887,7 893, ,3 890,2 889, ,3 901,0 895, ,7 899,5 896, ,7 887,5 892, ,0 891,0 892, ,7 885,5 891, ,3 886,5 884, ,7 896,2 889, ,0 899,0 901,2 Prognoza 911,5 901,0 899,0 Do wyznaczenia prognozy na okres 21 wystarczy jedynie 3, 4 lub 5 elementów szeregu. Prognozowanie dla okresów wcześniejszych jest potrzebne do analizy stacjonarności szeregu i wyznaczenia wielkości błędów prognozy. Dla średniej 3-elementowej prognozę wyznaczono następująco: Dalsze obliczenia przebiegają analogicznie. Dla średniej ruchomej 4-elementowej prognozę wyznaczamy następująco: W analogiczny sposób wykonano dalszych obliczeń dla stałej k=5. 90

91 Pełne zestawienie obliczeń zamieszczono w tab W ostatnim wierszu tabeli zestawiono wyznaczone prognozy na okres 21. Prognoza dla stałej k=3 wynosi 911,5 dla stałej k=4 901,0, a dla stałej k=5 899,7. Aby przekonać się, które z tych prognoz są bardziej prawdopodobne, należy wyznaczyć wartości błędów prognozy, korzystając z wszystkich lub wybranych formuł zapisanych wzorami [ ]. Dla sprawdzenia wielkości popełnianego błędu prognozy wyznaczmy wartości błędów. Korzystając z formuł 4.7 i 4.8, wyznaczono wielkości średnich błędów kwadratowych i odchyleń systematycznych dla prognoz ruchomych 3-, 4- i 5-elementowych. Wyniki obliczeń zamieszczono tab Tab Zestawienie błędów prognozy dla różnych wartości stałych k. Rodzaj błędu Stała średniej ruchomej k=3 k=4 k=5 344,5 346,8 297,0 0,6296-0,1111 0,7111 Wielkości średnich błędów kwadratowych (wariancji) dla wszystkich zastosowanych średnich ruchomych są do siebie zbliżone. Najmniejszą jednak wartość błędu wykazuje wygładzenie szeregu średnią ruchomą 5-elementową i tą średnią należy rekomendować. Jednocześnie należy mieć świadomość, że wynik prognozy dla tej średniej może być nieco zaniżony w stosunku do wielkości, jaka jest spodziewana rzeczywiście. Wskazuje na to dodatnia wartość wskaźnika BIAS. Do prognozowania na podstawie szeregów czasowych metodą średniej ruchomej można wykorzystać arkusz kalkulacyjny Excel, a w nim narzędzie [Średnia ruchoma], znajdujące się w dodatku [Analiza Danych] w zakładce Dane-Analiza (MS Office Excel 2007). Rys Dodatek Analiza Danych w MS Office Excel Po wybraniu narzędzia [Analiza Danych] wybieramy z pojawiającej się listy rozwijanej pozycję [Średnia ruchoma]. Ukaże się okno dialogowe, które przedstawiono na rys

92 Rys Okno dialogowe po wybraniu opcji [Średnia ruchoma]. W polu Zakres wejściowy wprowadzamy odwołanie do zakresu komórek zawierających dane rzeczywiste szeregu czasowego. Zakresem musi być pojedyncza kolumna zawierająca co najmniej cztery komórki danych. Jeśli pierwszą komórką tego zakresu jest zapisany tekst, np. tytuł serii danych, to należy zaznaczyć pole wyboru Tytuły w pierwszym wierszu. Pomimo zaznaczenia tej opcji, nie zostaną utworzone na arkuszu nazwy dla obliczonych wartości. W polu Odstęp należy wpisać stałą wygładzania k. Jeśli nie wpiszemy tu żadnej wartości, to Excel domyślnie przyjmie tu wartość 3. W opcjach wyjścia określa się miejsce w arkuszu, gdzie mają się pojawić wartości szeregu wygładzonego. Należy wskazać adres lewej górnej komórki, która ma rozpoczynać Zakres wyjściowy. Jeśli dodatkowo zaznaczone zostało pole wyboru Błędy standardowe, to zakresem wyjściowym będą dwie kolumny (lub dwa wiersze, jeśli dane wejściowe były zapisane w wierszu). W lewej kolumnie zakresu wyjściowego (górnym wierszu) obliczone zostaną wartości szeregu wygładzonego, a w prawej kolumnie (dolnym wierszu) wartości błędów standardowych. Narzędzie [Średnia ruchoma] umożliwia również, po zaznaczeniu pola wyboru Wykres wyjściowy, utworzenie wykresu szeregu empirycznego oraz szeregu wygładzonego. Model Browna Prosty model Browna zwany jest często metodą wygładzania wykładniczego pierwszego rzędu. Przy wygładzaniu szeregu czasowego metodą Browna zakładamy, że w szeregu czasowym nie występuje trend, a odchylenia wartości szeregu czasowego od poziomu średniego są spowodowane przez wahania przypadkowe. Prognozowanie za pomocą tej metody polega na wyznaczeniu prognozy na okres t+1, która jest korektą prognozy p t, na okres t po porównaniu jej z wynikiem rzeczywistym y t. Prognoza na okres t jest korygowana o pewną krotność popełnionego błędu. Prognozę na okres p t+1 wyznaczamy na podstawie wzoru: [4.13] gdzie; α parametr wygładzania należący do przedziału [0; 1]. W obliczeniach wygodniej jest korzystać z przekształconego wzoru, który formalnie ma postać: [4.14] 92

93 Wartości wygładzonego szeregu czasowego są więc średnią ważoną wartości empirycznej z poprzedniego okresu oraz wartości historycznych. Wagi dla kolejnych okresów zmniejszają się w sposób wykładniczy, a stopa zmniejszania się zależy od wielkości parametru α. Parametr ten odzwierciedla wrażliwość wygładzonego szeregu na dane historyczne i dane bieżące. Im większa jest wartość parametru α, tym większą wagę przykłada się do bliskich obserwacji, a mniejszą do odległych w czasie. Jeśli przyjęlibyśmy, że α = 1, to wtedy prognozy z modelu byłyby empirycznymi wartościami szeregu z poprzedniego okresu, czyli inaczej mówiąc dokonując prognozy zjawiska na przyszły okres, stwierdzilibyśmy, że poziom zjawiska jest taki, jak w bieżącym okresie. Jeśli zaś wartość parametru jest bliska 0, to duża liczba obserwacji ma wagi o zbliżonych wartościach. Wartość parametru a wyznacza się eksperymentalnie. Wartość tę można również wyznaczyć jako rozwiązanie zadania optymalizacyjnego, w którym minimalizuje się jedną z miar błędów jako funkcję parametru α. Prognozy otrzymane po zastosowaniu wygładzania wykładniczego metodą Browna położone są na linii prostej równoległej do osi czasu. Są to wartości oceny poziomu kształtowania się zjawiska opisywanego przez szereg czasowy na koniec badanego okresu. Wyrównanie szeregu czasowego metodą Browna można przeprowadzić w tabelach, wyliczając odpowiednie składowe wzoru 4.14 lub korzystając jak poprzednio Excelu z narzędzia [Analiza Danych]. Wybieramy wówczas menu rozwijanego opcje [Wyrównanie wykładnicze] (rys. 4.12). Okno dialogowe [Wyrównanie wykładnicze] wygląda podobnie jak przy obliczaniu średniej ruchomej i wypełnianie wszystkich pól opiera się na podobnych zasadach. Rys Okno dialogowe [Analiza Danych] ze opcją [Wyrównanie wykładnicze]. W polu Zakres wyjściowy podaje się zakres komórek, w których umieszczone zostały obserwacje historyczne i jak w poprzednim przypadku zakres ten musi być fragmentem kolumny lub wiersza. W polu Stała wygładzania należy podać parametr wygładzania α, jednak dla uzyskania spójności z powszechnie uznanymi wzorami na wygładzanie szeregu czasowego metodą Browna należy podać wartość 1-α, gdzie α jest stałą wygładzania ze wzoru Jeśli nie podamy w tym polu żadnej wartości, to program jako wartość domyślną parametru α przyjmie liczbę 0,7. Część Opcje wyjścia służy do określenia miejsca w arkuszu, w którym mają pojawić się wyniki wygładzania szeregu. Należy tu wskazać adres komórki zakresu, 93

94 która ma rozpoczynać Zakres wyjściowy. Jeśli dodatkowo zostanie zaznaczone pole wyboru Błędy standardowe, to zakresem wyjściowym będą dwie kolumny (lub dwa wiersze, jeżeli zakres wejściowy dotyczył wiersza). W lewej kolumnie zakresu wyjściowego (górnym wierszu) zostaną obliczone wartości wygładzonego szeregu czasowego, a w prawej kolumnie (dolnym wierszu) wartości błędów standardowych. Wartość błędów standardowych w komórce, która odpowiada obserwacji szeregu czasowego o indeksie t, obliczone zostaną zgodnie z następującą formułą: [4.15] Przypadek 3 Prześledźmy zasady postępowania według modelu Browna na podstawie danych zawartych w tab Obliczenia przeprowadzimy dla dwóch wariantów α dla α = 0,1 i dla α = 0,2. Jako p 1 przymniemy wprost y 1. Przykładowo dla α = 0,1 mamy: Tab Prognoza wyznaczona za pomocą wygładzenia wykładniczego pierwszego rzędu (model Browna). t y t α = 0,1 α = 0, Przy parametrze α = 0,1 po zaokrągleniu wyniku otrzymujemy wartość prognozy na okres dwudziesty pierwszy p 21 = 895, a dla α = 0,3 wynik jest równy p 21 = 901. Wyniki są do siebie zbliżone. Obliczenie MSE dla α = 0,1 dają wynik 395,99, natomiast dla α = 0,3 wynik 456,79, co wskazywałoby, że mniejszy błąd prognozy popełniamy, przyjmując α = 0,1. 94

95 Rys Wykres danych i prognoz uzyskanych za pomocą wygładzenia wykładniczego pierwszego rzędu przy parametrze wygładzania α = 01 i α = 0, dane α=0,1 α=0,3 Traktując wynik dla MSE jako funkcję parametru α, możemy poszukiwać jej minimum. W wyniku optymalizacji optymalną wartością parametru jest α = 0. Wynik ten świadczy, że odchylenia nie mają większego znaczenia dla prognozy. Prognozą jest wtedy p 21 = 896, a MSE = 367,1. Oczywiście, takiego wyniku nie można było przewidzieć na początku prognozy Szereg czasowy wykazujący trend Jeśli mamy przesłanki, że szereg czasowy wykazuje trend (autokorelogram szybko zmierza do wartości ujemnych), to najpierw musimy merytorycznie rozstrzygnąć, czy trend jest rosnący, czy malejący. Nie jest to bowiem obojętne dla interpretacji prognozy i związanego z nią błędu. Przyjmując, że trend ma charakter liniowy, ale zmienny z okresu na okres, funkcję, która go przedstawia, zapiszemy w postaci: [4.16] Aby wykorzystać funkcję trendu do prognozowania, musimy z każdą zmianą okresu od nowa wyznaczać jej parametry jako współczynniki linii regresji. Jest to postępowanie mało efektywne, przez co w praktyce rzadko stosowane. Powszechnie stosowanymi metodami prognozowania szeregów czasowych wykazujących trend są metody: wygładzania wykładniczego drugiego rzędu, Holta. Prognoza za pomocą wygładzenia wykładniczego drugiego rzędu Ideą tej metody, a zarazem jej główną przesłanką jest spostrzeżenie, że wygładzanie pierwszego rzędu daje pozytywne wyniki, gdy prognozujemy stacjonarny charakter zmiennej. W przypadku istnienia trendu np. rosnącego, między wskazaniami otrzymanymi za pomocą wygładzania pierwszego rzędu a wartościami rzeczywistymi występuje systematyczny błąd określonego niedoszacowania prognozy. Musimy zatem dokonać określonej korekty, by ten błąd uwzględnić w prognozie. Korekta ta polega na ponownym 95

96 zastosowaniu techniki wygładzania do już raz wygładzonych wyników. Powtórzenie procedury wygładzania uzasadnia nazwę tej metody. Postępowanie to przebiega następująco: 1. dany jest szereg pierwotny y 1, y 2, y 3,, y n, dla którego mamy przesłanki o istnieniu trendu; 2. korzystając z wygładzenia pierwszego rzędu z parametrem α, 0 α 1, określamy szereg s 1, s 2, s 3,, s n, uśrednionych wartości pierwszego rzędu zmiennej y: [4.17] 3. tworząc szereg s1, s2, s3,, sn, równocześnie generujemy szereg r1, r2, r3, rn, który powstaje w wyniku ponownego wygładzania tym samym parametrem α, 0 α 1 zastosowanego do szeregu s1, s2, s3,, Sn, a więc daje ich uśrednione wartości. Względem pierwotnego szeregu jest to powtórne wyrównanie stąd nazwa wygładzenie drugiego rzędu. Otrzymujemy zatem: [4.18] 4. prognozę na okres n+1 wyznaczamy ze wzoru: [4.19] gdy chcemy wyznaczyć prognozę na kilka okresów j, to powyższy wzór modyfikujemy następująco: [4.20] Przystępując do wyznaczenia prognozy, musimy na wstępie ustalić wartość parametru α oraz wartości startowe szeregów s 0 i r 0. Bez przyjęcia tych wartości początkowych nie może rozpocząć się postępowanie rekurencyjne, w którym wartości następnego okresu wyznaczamy na podstawie wyznaczonych wartości prognozy dla okresu poprzedniego. Zasady określenia parametru α są takie same jak przy wygładzaniu wykładniczym pierwszego rzędu. Natomiast ustalenie wartości startowych s 0 i r 0 wymaga postępowania pomocniczego. Ponieważ przyjęliśmy założenie o istnieniu trendu w szeregu czasowym pierwotnym y 1, y 2, y 3,, y n, możemy wyznaczyć parametry klasycznej funkcji trendu liniowego: [4.21] Uzyskane parametry a 0 i b 0 wykorzystamy do wyznaczenia poszukiwanych wartości startowych s 0 i r 0, korzystając z następujących zależności: [4.22], [4.23] Prognozę na okres 1 wyliczymy z zależności: [4.24] 96

97 Przypadek 4 Ciąg danych zawartych w tab przedstawia wielkości miesięcznej sprzedaży pewnego produktu wyrażone w kilogramach. Przyjmijmy założenie o występowaniu trendu liniowego w tym szeregu i wyznaczmy postać jego funkcji: Parametry a 0 i b 0 tego równania możemy wyznaczyć z zależności: obliczoną wartość b 0 wstawiamy do wzory na a 0 : [4.25] [4.26] Można również wyznaczyć parametry a 0 i b 0 trendu liniowego, korzystając z pakietu Excel za pomocą funkcji arkuszowych: NACHYLENIE(znane_y;znane_x) ODCIĘTA(znane_y;znane_x) Funkcja NACHYLENIE(znane_y;znane_x) pozwala na wyznaczenie parametru b 0 trendu liniowego, natomiast funkcja ODCIĘTA(znane_y;znane_x) wyznacza wartość parametru a 0. W wyniku zastosowania procedur funkcji arkuszowych Excela wyznaczone zostały parametry funkcji trendu a 0 i b 0 dla szeregu czasowego zawartego w tab a 0 = 106,61 b 0 = 2,94 Przed wyznaczeniem wartości startowych s 0 i r 0 musimy przyjąć wartość parametru wyrównania α, 0 α 1. Niech parametr wartość tego parametru wyniesie α=0,1. Podstawiając α do wzorów na s 0 i r 0 [4.22] i [4.23], otrzymujemy: Prognoza na okres t=1 wyniesie: =106,61-52,8=53,81 Wyznaczamy teraz prognozę na okres t=2. W tym celu obliczamy kolejno: Prognozę na okres t=2 wyznaczymy ze wzoru: 97

98 Tab Obliczenia pomocnicze do wyznaczenia prognozy za pomocą wygładzenia wykładniczego drugiego rzędu dla α = 0,1. t y t s t r t p t y t -p t (y t -p t ) ,51 53, ,9 56,5 109,5 4,6 21, ,1 59,2 113,8 2,8 7, ,0 62,0 117,7-2,3 5, ,6 64,8 120,7-4,4 19, ,8 67,6 123,2-8,9 79, ,0 70,3 124,7-7,5 56, ,7 73,0 126,5 8,0 63, ,2 75,8 131,5 3,8 14, ,6 78,6 135,7 2,3 5, ,5 81,5 139,7-3,1 9, ,9 84,4 142,6-7,8 60, ,2 87,2 144,6-9,3 85, ,4 90,0 146,1-8,7 75, ,0 92,8 147,8-4,6 21, ,4 95,5 150,2 4,5 20, ,7 98,3 154,5 2,0 4, ,9 101,1 158,4-0,5 0, ,0 104,0 161,8-0,6 0, ,4 106,9 165,2 1,7 3, ,3 109,8 169,2-3,9 15, ,0 Suma: -31,9 569,8 W wyniku przeprowadzonych obliczeń otrzymujemy prognozę na okres t=21, wynoszącą 172,0 jednostki produktu. Obliczenia błędów prognozy BIAS i MSE dają wyniki: Niewielkie wartości obliczonych błędów wskazują, że wynik prognozowania może być zaakceptowany i zasadniczo nie wymaga korekty. Sprawdźmy jednak, z czystej ciekawości, czy wynik można poprawić poprzez zmianę wartości parametru wyrównania α. Przyjmijmy więc wartość tego parametru na poziomie α = 0,2 i przeprowadźmy obliczenia prognozy przy tej wartości. Wyniki obliczeń zawiera tab

99 Tab Obliczenia prognozy za pomocą wygładzenia wykładniczego drugiego rzędu dla parametru wygładzania α = 0,2. t y t s t r t p t y t -p t (y t -p t ) ,8 83, ,8 85,4 109,5 4,6 21, ,7 86,6 110,9 5,6 31, ,2 88,0 118,4-3,1 9, ,6 89,4 120,0-3,7 13, ,7 90,8 121,3-7,1 50, ,9 92,2 122,0-4,8 22, ,8 93,6 123,1 11,4 129, ,4 95,1 127,8 7,5 56, ,1 96,7 131,8 6,2 38, ,3 98,5 135,8 0,8 0, ,2 100,3 138,7-3,8 14, ,9 102,0 140,6-5,3 27, ,7 103,8 142,2-4,7 22, ,8 105,6 143,9-0,8 0, ,9 107,4 146,5 8,1 65, ,8 109,4 151,2 5,3 28, ,6 111,4 155,4 2,4 5, ,5 113,5 159,2 2,0 4, ,7 115,7 163,0 4,0 16, ,3 118,0 167,3-2,0 4, ,4 Suma: 22,7 564,5 Łatwo zauważyć, że przyjęcie wartości parametru wygładzania na poziomie α = 0,2 nieznacznie poprawiało wynik prognozy na okres t=21, przyjmując tę prognozę na poziomie 170,4 jednostki produktu oraz wielkości błędów są nieco niższe i wynoszą: Powstaje pytanie, czy dalszy wzrost parametru wygładzania w dalszym ciągu będzie poprawiał wyniki prognozy przy pomniejszaniu wartości błędów prognozowania. Przeprowadzone obliczenia dla parametru wygładzania α = 0,3 wskazują, że prognoza na okres t=21, wynosząca 199,7, jest wyraźnie zawyżona. Wyznaczone błędy tej prognozy na poziomie oraz wykazują, że optymalną wartością parametru wygładzania dla rozpatrywanego szeregu czasowego jest wartość α =0,2. 99

100 Metoda Holta Metoda Holta służy do wygładzania szeregów czasowych, w których występuje trend liniowy oraz wahania przypadkowe. W klasycznym wygładzaniu drugiego rzędu wykorzystany został jeden parametr wyrównania α. Jest to zbyt sztywne powiązanie dwóch typów równań rekurencyjnych. Aby uzyskać większą efektywność w szacowaniu zmian przez równania rekurencyjne, zaproponowano w tej metodzie postępowanie wykorzystujące również dwukrotne wygładzanie, ale odnoszące się do nieco innych wielkości. Można bowiem zauważyć, że skoro szereg wykazuje liniowy trend, to wartość zmiennej y t w okresie t można przedstawić jako wartość y t-1 w okresie t 1 powiększoną o przyrost wartości zmiennej między tymi okresami. W tym przypadku musimy równocześnie operować estymatorami odpowiednich wartości oraz ich przyrostów. Jeśli symbolem oznaczymy oszacowaną wartość zmiennej y t-1 dla okresu t-1, a symbolem przyrost tej zmiennej w tym okresie, to suma tych wartości określa oszacowaną wartość zmiennej y w okresie t: [4.27] Oszacowana i rzeczywista wartość zmiennej y przez wygładzenie z parametrem α daje oszacowaną uśrednioną wartość zmiennej y dla okresu t. Zapiszemy to następująco: [4.28] Do oszacowania wartości przyrostów zmiennej y utworzymy równania rekurencyjne w sposób analogiczny, jak dla oszacowania uśrednionej wartości zmiennej. Symbolem oznaczyliśmy oszacowany uśredniony przyrost zmiennej y w okresie t-1. Po dokonaniu oszacowania nowe oszacowanie przyrostu wynosi. W nowym równaniu rekurencyjnym wprowadzimy nowy parametr wygładzania β o tych samych własnościach co parametr α. Estymowania przyrostów zmiennej y dokonamy, wykorzystując nowe równie rekurencyjne: [4.29] Prognoza p n+1 dla wartości y w okresie n+1 jest równa: natomiast prognoza dla okresu n + j, j=1,2,, jest równa: [4.30] [4.31] Wyznaczenie wartości startowych odbywa się tak samo jak w metodzie klasycznej. Przypadek 5 Prześledźmy przypadek wyrównania wykładniczego metodą Holta na przykładzie już podanym i rozwiązanym metodą wyrównania wykładniczego długiego rzędu. Wartości parametrów trendu nie ulegają zmianie i wynoszą poprzednio a 0 = 106,61 i b 0 = 2,94. Obliczenia pomocnicze do wyznaczenia prognozy metoda Holta zestawione zostały w tab

101 Prognoza na okres t=1 wynosi: W celu dokonania obliczeń parametrów niezbędnych do wyznaczenia prognozy na okresy t=2 i t=3 przyjmijmy wartości parametrów wyrównania. Mamy więc: zatem prognoza dla okresu t = 2 wynosi: Dla okresu t=3 mamy: prognoza dla okresu t=3 wynosi: Pełne zestawienie obliczeń zawarto w tab Tab Obliczenia pomocnicze do wyznaczenia prognozy za pomocą metody Holta przy parametrach wygładzania α=0,2 i β=0,3 t y t a t b t p t y t -p t (y t -p t ) ,6 2, ,5 3,2 109,5 4,60 21, ,3 3,4 113,7 2,89 8, ,2 3,3 117,6-2,26 5, ,6 3,0 120,4-4,20 17, ,9 2,5 122,6-8,36 69, ,2 2,1 123,4-6,25 39, ,3 2,7 124,3 10,12 102, ,3 3,1 129,1 6,21 38, ,3 3,4 133,4 4,62 21, ,5 3,3 137,7-1,15 1, ,6 3,0 140,8-5,97 35, ,1 2,5 142,6-7,26 52, ,4 2,1 143,6-6,18 38, ,3 2,1 144,6-1,43 2, ,0 2,6 146,3 8,31 69, ,7 2,9 150,6 5,98 35, ,3 3,1 154,7 3,20 10, ,0 3,3 158,4 2,79 7, ,2 3,6 162,3 4,71 22, ,5 3,5 166,8-1,48 2, ,9 Suma: 8,89 600,50 101

102 Prognoza dla okresu t=21 wynosi 169,9 jednostek produktu. Obliczenia błędów BIAS i MSE dają wyniki: Rys Prognoza za pomocą metody Holta przy wartościach parametrów wygładzania α = 0,2 i β = 0, wartości rzeczywiste prognoza Wielkości błędów prognozy są znacznie mniejsze niż wyznaczone metodą wygładzenia wykładniczego drugiego rzędu ( ); prognoza dla tego okresu wynosiła 170,4. Mniejsze błędy prognozy wyznaczonej metodą Holta wskazują, że wartość prognozy 169,9 jest bardziej trafna i należy ją zaakceptować. Poszukiwanie optymalnych wartości parametrów wygładzania α i β dla metody Holta pozostawiamy Czytelnikom do samodzielnego rozwiązania Szereg czasowy wykazujący wahania sezonowe Metoda Wintersa Metoda Wintersa ma zastosowanie do prognozowania na podstawie szeregów czasowych wykazujących sezonowość. Prognozowanie takich szeregów nie jest łatwe i czasami nastręcza badaczowi wielu trudności. Jak wspomniano na wstępie tego rozdziału, już samo rozpoznanie sezonowości nie jest zadaniem prostym. Bardzo często bowiem sezonowość występuje łącznie z trendem i innymi czynnikami losowymi. W swoich rozważaniach ograniczymy się tylko do najprostszych modeli sezonowości, pozwalających odwoływać się do prawidłowości statystycznych. Jak pamiętamy, sezonowość możemy rozpoznać na podstawie przebiegu wykresu szeregu czasowego oraz analizy autokorelogramu. Jeżeli współczynniki autokorelacji oscylują wokół 0 i co pewien odstęp są bardzo wyraźnie różne od 0, a po dostatecznie długim okresie obserwacji można zauważyć powtarzanie się zjawiska to możemy sądzić, że dane szeregu wykazują sezonowość. Odstęp między dwoma istotnymi tego samego znaku odchyleniami od 0 wskazuje cykl sezonowy. Długość cyklu podajemy liczbą okresów, po których następuje powtórzenie się zjawiska (ponowne rozpoczęcie cyklu). Poszczególnym okresom w cyklu możemy przyporządkować odpowiednie oznaczenia pozwalające identyfikować analogiczne okresy w ramach różnych cykli. 102

103 Postępowania wykorzystywane do prognozowania w przypadku sezonowości zakładają, że długość cyklu jest znana i prognozujący może wprowadzić ją do modelu. Jest to założenie w praktyce bardzo ryzykowne, gdyż w rzeczywistości zmienność cyklu wynika z wielu uwarunkowań, niepodlegających statystycznej regularności. W pewnych przypadkach pomocny może być wykres autokorelogramu, na którym odstęp między dwoma ekstremami (tego samego znaku) wyznacza długość cyklu. Znając długość cyklu, dane szeregu oczyszczamy z sezonowości. Dokonujemy tego, dzieląc dane z tego samego okresu w różnych cyklach przez wyznaczony na podstawie próbnego cyklu wskaźnik sezonowości. Dla tak przygotowanego szeregu stosujemy procedury wygładzania, a otrzymane prognozy przekształcamy do wyników odpowiadających danym pierwotnym. Istota prognozowania metodą Wintersa polega na założeniu, że szereg wykazuje sezonowość o multiplikatywnym charakterze. Przyjęcie w naszych rozważaniach założenia o modelu multiplikatywnym szeregu czasowego podyktowane jest chęcią przedstawienia tej metody w jej najprostszym przypadku. Oczywiście model Wintersa można stosować do prognozowania szeregów czasowych wykazujących sezonowość oraz addytywny charakter. Technika obliczeniowa jest wtedy nieco inna, jednak z powodu ograniczeń redakcyjnych zostanie tu pominięta. Cechą charakterystyczną szeregów czasowych wykazujących sezonowość jest spostrzeżenie, że gdyby nie wpływ czynników sezonowych, realizacje wyników można by było opisać za pomocą linii trendu. Natomiast wpływ czynników sezonowych można uwzględnić w modelu, wprowadzając odpowiednie mnożniki ω t. Współczynnik ten, zwany współczynnikiem sezonowości, pozwala zapisać szereg w postaci wzoru: [4.32] Jeżeli przez τ oznaczymy długość cyklu wyrażonego liczbą okresów tworzących jeden cykl, to zależność między współczynnikami sezonowości dla tych samych okresów w różnych cyklach będziemy oznaczać symbolem ω t-τ. Dla t τ przyjmiemy wartości początkowe ω t-τ = 1, dla następnych cykli są one uzyskane za pomocą procedury wygładzania. Gdy liczba okresów cyklu wynosi np. 4 (kwartały w roku), to dla t = 5 podstawimy estymowany współczynnik odpowiadający pierwszemu okresowi. Postępowanie ma podobny przebieg jak w metodzie Holta, z tym że pierwotne dane będą musiały być oczyszczone z sezonowości. Ponadto dodatkowo musimy wprowadzić równania rekurencyjne dla współczynników sezonowości. Istotną zmiana jest to, że tym razem w ramach jednych obliczeń otrzymujemy prognozę dla wszystkich okresów całego cyklu. Jeśli utrzymamy te same wprowadzone w metodzie Holta symbole α i β, to do modelu wprowadzimy dodatkowy parametr γ wchodzący do dodatkowego równania rekurencyjnego. Równania rekurencyjne będą miały wtedy postać: [4.33] [4.34] [4.35] 103

104 W pierwszym równaniu bieżąca obserwacja zmiennej y t jest dzielona przez estymowany dla danego okresu współczynnik sezonowości, gdyż jest to warunek wygładzania współczynnika linii trendu. W trzecim równaniu sam współczynnik sezonowości obliczany jest na podstawie bieżącej obserwacji, co reprezentuje ułamek oraz obliczony w poprzedniej iteracji współczynnik odnoszący się do tego samego okresu. Wartości prognozowane wyznacza się dla wszystkich jednocześnie okresów w cyklu przy wykorzystaniu wzoru: [4.36] Korzystanie z postępowania bazującego na modelu Wintersa wymaga ustalenia zarówno wielkości parametrów startowych, jak również wartości parametrów α, β i γ. W przypadku wykonywania obliczeń w arkuszu kalkulacyjnym Excel zaleca się ich optymalizację za pomocą nakładki Solver. Niewłaściwe wybranie parametrów prowadzi na ogół do rażących rozbieżności między danymi pierwotnymi i prognozowanymi, czyniąc wyniki prognozowania mało wiarygodnymi. Przypadek 6 Przedstawmy teraz praktyczny sposób wykorzystania modelu Wintersa do prognozowania sprzedaży produktu P6, którego szereg czasowy wykazuje sezonowość. Warunkiem korzystania z metody uwzględniającej sezonowość jest dysponowanie odpowiednio dużą liczbą elementów w szeregu (okresów), gdyż szereg taki powinien pozwolić rozpoznać przynajmniej trzykrotne powtórzenia cyklu. Rozpatrzmy więc zbiór danych przedstawiających miesięczną sprzedaż pewnego artykułu (P6) w latach Dane te zestawione zostały w tab Tab Miesięczna sprzedaż produktu P6 w latach I II III IV V VI VII VIII IX X XI XII Na rys przedstawiono wykresy miesięcznej sprzedaży tego produktu oddzielnie dla każdego roku. Podobny przebieg sprzedaży w poszczególnych latach wskazuje, że można przyjąć hipotezę o sezonowym charakterze tego szeregu czasowego, a systematyczny wzrost przebiegu funkcji sprzedaży w kolejnych latach wskazuje, że jest to szereg z trendem i wahaniami sezonowymi. 104

105 Rys Sprzedaż produktu P6 w poszczególnych miesiącach w latach Hipotezę tę zweryfikujmy dodatkowo wykresem autokorelogramu dla całego szeregu czasowego z dwunastokrotnym przesunięciem szeregu. Tab Współczynniki korelacji dla danych o sprzedaży produktu P6. t r t 0,810 0,465 0,231 0,295 0,467 0,552 0,382 0,123 0,019 0,273 0,619 0,736 1,000 0,800 0,600 0,400 0, Rys Autokorelogram dla sprzedaży produktu P , Na podstawie przebiegu autokorelogramu możemy potwierdzić hipotezę o sezonowości. Możemy bowiem odczytać, że mamy do czynienia z cyklem o 6-miesięcznych okresach. Przejdźmy zatem do kolejnych kroków prognozowania. Przed przystąpieniem do wykorzystania metody Wintersa musimy przyjąć trzy zestawy parametrów startowych. Musimy oszacować współczynniki sezonowości, następnie przyjąć początkowe wartości dla linii trendu, a w końcu ustalić wartości parametrów wyrównania α, β i γ. Wartości początkowe dla linii trendu wyznaczymy w identyczny sposób, jak wyznaczaliśmy już w metodzie wygładzania wykładniczego drugiego rzędu. Mając obliczoną linię trendu, możemy obliczyć wskaźniki sezonowości. Dużym problemem jest przyjęcie właściwych wartości parametrów α, β i γ ich wartości mają bowiem znaczący wpływ na jakość prognozy. Dla lepszej ilustracji znaczenia tego problemu pokażemy wyniki prognozy i wielkości błędów MSE zarówno dla intuicyjnego przyjęcia wartości parametrów wygładzania, jak i przedstawimy prognozę z optymalnymi wartościami tych parametrów, przy których wartości błędów są najmniejsze. 105

106 Rys Wykres sprzedaży artykułu P6 oraz charakterystyka linii trendu y = 22,247x + 704,54 R² = 0,5505 sprzedaż Liniowy (sprzedaż ) Rys przedstawia dane o sprzedaży artykułu P6 oraz linię trendu. Parametry funkcji trendu dla poszczególnych lat wyznaczone zostały za pomocą funkcji arkuszowych Excela; NACHYLENIE (znane_y;znane_x) i ODCIĘTA (znane_y;znane_x). Wykorzystując wzór na funkcje trendu, wyznaczono wartości poszczególnych elementów trendu. Zakładając multiplikatywny charakter modelu, wyznaczymy współczynniki sezonowości dla każdego okresu jako ilorazy wartości y y i. [4.37] Pełne zestawienie danych oraz wyliczonych współczynników sezonowości zawiera tab Tab Wyznaczenie wskaźników sezonowości dla sprzedaży produktu P I II III IV V VI VII VIII IX X XI XII y i ω i 1,007 0,721 0,661 0,817 0,980 1,206 1,123 0,868 0,817 1,083 1,285 1, I II III IV V VI VII VIII IX X XI XII y i ω i 1,004 0,904 0,823 0,852 0,932 1,261 1,101 1,076 1,168 1,297 1,292 1, I II III IV V VI VII VIII IX X XI XII y i ω i 0,997 0,807 0,654 0,801 1,085 1,146 0,842 0,754 0,842 1,023 1,076 1,099 Ponieważ na podstawie autokorelogramu przyjęliśmy, że długość cyklu sezonowego wynosi 6 okresów (miesięcy), więc możemy wyznaczyć dla każdego okresu w cyklu średni wskaźnik sezonowości. Dla okresu 1 będzie to wartość średnia wyliczona następująco: 106

107 W analogiczny sposób obliczamy pozostałe średnie wskaźniki sezonowości. Wyniki obliczeń zawiera tab cykl ,012 0,855 0,828 0,979 1,108 1,207 Obliczone wskaźniki sezonowości zostaną wykorzystane jako wartości startowe w metodzie Wintersa. Obliczenia prowadzące do wyznaczenia prognoz, jak wynika z równań rekurencyjnych , należy kolejno obliczać, najlepiej w formie tabelarycznej. W poszczególnych kolumnach tabeli należy odnotowywać wyniki cząstkowe. Obliczenia przedstawionego przykładu zostały wykonane w arkuszu kalkulacyjnym, jednak zachowując układ tabelaryczny, pozwalający na łatwiejsze zrozumienie idei metody Wintersa. Na rys przedstawiono tabelaryczny sposób obliczeń w postaci zrzutu ekranowego. W komórkach C1, C2 i C3 umieszczono przyjęte wartości parametrów wyrównania α, β i γ. W początkowej fazie obliczeń przyjęto je w sposób arbitralny na poziomie α = 0,20, β = 0, 15 i γ = 0,30. W poszczególnych kolumnach umieszczono obliczone już wartości startowe potrzebne do kontynuacji obliczeń oraz wyliczone wartości pośrednie. W nagłówkach kolumn (wiersz 1) zaznaczono symbolami znaczenie poszczególnych kolumn tabeli w sposób skrótowy, by uniknąć wpisywania całych wzorów. Znaczenie tych symboli i sposoby ich wyliczania zastawiono poniżej w tabeli. nr kolumny 1 2 symbol wzór do obliczeń 3 =F9/O3 4 =I8+L8 formuła w Excelu do wyznaczenia pierwszej wartości 5 =$C$1*G9+(1-$C$1)*H9 6 =I9-I8 7 =L8 8 =$C$2*J9+(1-$C$2)*K9 9 =F9/I9 10 =O3 11 =$C$3*M9+(1-$C$3)*N9 12 =(I9+L9)*O3 13 =F9-P9 14 =Q9^2 107

108 Do komórek zakresu O3;O5 wstawione zostały wartości wyliczonych wcześniej uśrednionych wskaźników sezonowości oznaczając ich indeksy wpisem w pierwszej kolumnie od -5 do 0 (t-τ), natomiast w komórkach I8 i L8 parametry linii trendu jako wartości początkowe (startowe) obliczeń. Zapisane formuły z tab pozwoliły na obliczenia w wierszach odpowiadającym okresom od 2 do 36. W wierszach tabeli obliczeń od 37 do 42 mamy wyznaczone prognozy, do których wykorzystujemy a 36 i b 36 oraz współczynniki sezonowości ω 31 do ω 36. Przyjęte arbitralnie wartości parametrów wygładzania pozwoliły wyznaczyć prognozę na następny okres sześciu miesięcy (następny cykl). Wartość tej prognozy wyznaczona jest wielkością błędów MSE = -31,65 i = 23491,88 zawartych w komórkach Q52 i R52. W następnej kolejności za pomocą nakładki SOLVER wyznaczono optymalne wartości parametrów wygładzania α, β, i γ. Jako komórkę celu przyjmujemy komórkę, w której przechowywana jest wartość błędu MSE (komórka $Q$52) jako wartości zmienne podany został zakres komórek, w których zapisano wartości współczynników wygładzania, dla których wprowadzono ograniczenia w postaci 0 α 1, 0 β 1 i 0 γ 1. Rys Okno dialogowe nakładki SOLVER w trakcie optymalizacji parametrów wygładzania w metodzie Wintersa. Po optymalizacji przyjęto wartości parametrów α = 0,998, β = 0,998 oraz γ = 0,152. Wyliczone wartości błędów prognozy przy tych parametrach wygładzania są mniejsze i wynoszą MSE = - 17,29 i BIAS = 14550,

109 Rys Schemat przeprowadzenia obliczeń według metody Wintersa i wyniki błędu prognozy przed optymalizacją parametrów wyrównania. Rys Schemat przeprowadzenia obliczeń według metody Wintersa i wyniki błędu prognozy po wyznaczeniu optymalnych wartości parametrów wyrównania za pomocą Solvera. 109

ANALIZA CZASOWO-KOSZTOWA SIECI CPM-COST

ANALIZA CZASOWO-KOSZTOWA SIECI CPM-COST ANALIZA CZASOWO-KOSZTOWA SIECI CPM-COST Maciej Patan Uniwersytet Zielonogórski WPROWADZENIE W metodach CPM i PERT zwraca się uwagę jedynie na analizę ilościowa Równie ważne zagadnienie aspekt ekonomiczny

Bardziej szczegółowo

Programowanie sieciowe. Tadeusz Trzaskalik

Programowanie sieciowe. Tadeusz Trzaskalik Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście

Bardziej szczegółowo

Analiza czasowo-kosztowa

Analiza czasowo-kosztowa Analiza czasowo-kosztowa Aspekt ekonomiczny: należy rozpatrzyć techniczne możliwości skrócenia terminu wykonania całego przedsięwzięcia, w taki sposób aby koszty związane z jego realizacją były jak najniższe.

Bardziej szczegółowo

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

BADANIA OPERACYJNE. dr Adam Sojda  Pokój A405 BADANIA OPERACYJNE dr Adam Sojda adam.sojda@polsl.pl http://dydaktyka.polsl.pl/roz6/asojda/default.aspx Pokój A405 Przedsięwzięcie - zorganizowanie działanie ludzkie zmierzające do osiągnięcia określonego

Bardziej szczegółowo

Ćwiczenia laboratoryjne - 4. Projektowanie i harmonogramowanie produkcji metoda CPM-COST. Logistyka w Hutnictwie Ćw. L. 4

Ćwiczenia laboratoryjne - 4. Projektowanie i harmonogramowanie produkcji metoda CPM-COST. Logistyka w Hutnictwie Ćw. L. 4 Ćwiczenia laboratoryjne - 4 Projektowanie i harmonogramowanie produkcji metoda CPM-COST Ćw. L. 4 Metody analizy sieciowej 1) Deterministyczne czasy trwania czynności są określane jednoznacznie (jedna liczba)

Bardziej szczegółowo

Rozdział 7 ZARZĄDZANIE PROJEKTAMI

Rozdział 7 ZARZĄDZANIE PROJEKTAMI Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 7 ZARZĄDZANIE PROJEKTAMI 7.2. Ćwiczenia komputerowe Ćwiczenie 7.1 Wykorzystując

Bardziej szczegółowo

Zarządzanie projektami. Tadeusz Trzaskalik

Zarządzanie projektami. Tadeusz Trzaskalik Zarządzanie projektami Tadeusz Trzaskalik 7.1. Wprowadzenie Słowa kluczowe Projekt Sieć czynności zynność bezpośrednio poprzedzająca Zdarzenie, zdarzenie początkowe, zdarzenie końcowe Właściwa numeracja

Bardziej szczegółowo

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A Ostatnim elementem przykładu jest określenie związku pomiędzy czasem trwania robót na planowanym obiekcie a kosztem jego wykonania. Związek ten określa wzrost kosztów wykonania realizacji całego przedsięwzięcia

Bardziej szczegółowo

Zarządzanie projektami

Zarządzanie projektami Dr Adam Kucharski Spis treści Podstawowe pojęcia Metoda CPM 3 3 Przykład analizy metodą CPM 5 Podstawowe pojęcia Przedsięwzięcia złożone z wielu czynności spotykane są na każdym kroku. Jako przykład może

Bardziej szczegółowo

t i L i T i

t i L i T i Planowanie oparte na budowaniu modelu struktury przedsięwzięcia za pomocą grafu nazywa sie planowaniem sieciowym. Stosuje się do planowania i kontroli realizacji założonych przedsięwzięć gospodarczych,

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,

Bardziej szczegółowo

Planowanie przedsięwzięć

Planowanie przedsięwzięć K.Pieńkosz Badania Operacyjne Planowanie przedsięwzięć 1 Planowanie przedsięwzięć Model przedsięwzięcia lista operacji relacje poprzedzania operacji modele operacji funkcja celu planowania K.Pieńkosz Badania

Bardziej szczegółowo

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA 3.2. Ćwiczenia komputerowe

Bardziej szczegółowo

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ Maciej Patan Uniwersytet Zielonogórski WPROWADZENIE Metody programowania sieciowego wprowadzono pod koniec lat pięćdziesiatych Ze względu na strukturę

Bardziej szczegółowo

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

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie OPIS ZAGADNIENIA Zagadnienie transportowe służy głównie do obliczania najkorzystniejszego

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując

Bardziej szczegółowo

Rozdział 8 PROGRAMOWANIE SIECIOWE

Rozdział 8 PROGRAMOWANIE SIECIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 8 PROGRAMOWANIE SIECIOWE 8.2. Ćwiczenia komputerowe Ćwiczenie 8.1 Wykorzystując

Bardziej szczegółowo

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

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

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

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Wykład z modelowania matematycznego. Zagadnienie transportowe. 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

Bardziej szczegółowo

ANALIZA SIECIOWA PROJEKTÓW REALIZACJI

ANALIZA SIECIOWA PROJEKTÓW REALIZACJI WYKŁAD 5 ANALIZA SIECIOWA PROJEKTÓW REALIZACJI Podstawowe problemy rozwiązywane z wykorzystaniem programowania sieciowego: zagadnienia transportowe (rozdział zadań przewozowych, komiwojażer najkrótsza

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

Wielokryteriowa optymalizacja liniowa cz.2

Wielokryteriowa optymalizacja liniowa cz.2 Wielokryteriowa optymalizacja liniowa cz.2 Metody poszukiwania końcowych rozwiązań sprawnych: 1. Metoda satysfakcjonujących poziomów kryteriów dokonuje się wyboru jednego z kryteriów zadania wielokryterialnego

Bardziej szczegółowo

Ekonometria - ćwiczenia 10

Ekonometria - ćwiczenia 10 Ekonometria - ćwiczenia 10 Mateusz Myśliwski Zakład Ekonometrii Stosowanej Instytut Ekonometrii Kolegium Analiz Ekonomicznych Szkoła Główna Handlowa 14 grudnia 2012 Wprowadzenie Optymalizacja liniowa Na

Bardziej szczegółowo

Programowanie liniowe. Tadeusz Trzaskalik

Programowanie liniowe. Tadeusz Trzaskalik Programowanie liniowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Model matematyczny Cel, środki, ograniczenia Funkcja celu funkcja kryterium Zmienne decyzyjne Model optymalizacyjny Układ warunków

Bardziej szczegółowo

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem MODELE SIECIOWE 1. Drzewo rozpinające (spanning tree) w grafie liczącym n wierzchołków to zbiór n-1 jego krawędzi takich, że dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do

Bardziej szczegółowo

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO ZAGADNIENIA PROGRAMOWANIA LINIOWEGO Maciej Patan Uniwersytet Zielonogórski WSTĘP często spotykane w życiu codziennym wybór asortymentu produkcji jakie wyroby i w jakich ilościach powinno produkować przedsiębiorstwo

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Optymalizacja zadań bazy transportowej ( część 1 ) Opracowano na podstawie : Stanisław Krawczyk, Metody ilościowe w logistyce ( przedsiębiorstwa ), Wydawnictwo C. H. Beck, Warszawa

Bardziej szczegółowo

Przykład: budowa placu zabaw (metoda ścieżki krytycznej)

Przykład: budowa placu zabaw (metoda ścieżki krytycznej) Przykład: budowa placu zabaw (metoda ścieżki krytycznej) Firma budowlana Z&Z podjęła się zadania wystawienia placu zabaw dla dzieci w terminie nie przekraczającym 20 dni. Listę czynności do wykonania zawiera

Bardziej szczegółowo

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO D. Miszczyńska, M.Miszczyński KBO UŁ GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO Gra w sensie niżej przedstawionym to zasady którymi kierują się decydenci. Zakładamy, że rezultatem gry jest wypłata,

Bardziej szczegółowo

Zagadnienie transportowe

Zagadnienie transportowe 9//9 Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

M1 M2 M3 Jednostka produkcyjna W1 6h 3h 10h h/1000szt 2zł W2 8h 4h 5h h/100szt 25zł Max. czas pracy maszyn:

M1 M2 M3 Jednostka produkcyjna W1 6h 3h 10h h/1000szt 2zł W2 8h 4h 5h h/100szt 25zł Max. czas pracy maszyn: Zad. Programowanie liniowe Jakiś zakład produkcyjny, ma 3 różne maszyny i produkuje różne produkty. Każdy z produktów wymaga pewnych czasów każdej z 3ch maszyn (podane w tabelce niżej). Ile jakiego produktu

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.1 Opis programów Do rozwiązania zadań programowania

Bardziej szczegółowo

1 Obliczanie modeli sieciowych w funkcji środków

1 Obliczanie modeli sieciowych w funkcji środków 1 Obliczanie modeli sieciowych w funkcji środków Przykład zaczerpnięty z mojego podręcznika Harmonogramy sieciowe w robotach inżynierskich. Wydawnictwo SGGW 001 str. 77. 1.1 Założenia analizy środków oraz

Bardziej szczegółowo

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Rozdział 9 PROGRAMOWANIE DYNAMICZNE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 9 PROGRAMOWANIE DYNAMICZNE 9.2. Ćwiczenia komputerowe Ćwiczenie 9.1 Wykorzystując

Bardziej szczegółowo

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

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Metoda simpleks. Gliwice

Metoda simpleks. Gliwice Sprowadzenie modelu do postaci bazowej Sprowadzenie modelu do postaci bazowej Przykład 4 Model matematyczny z Przykładu 1 sprowadzić do postaci bazowej. FC: ( ) Z x, x = 6x + 5x MAX 1 2 1 2 O: WB: 1 2

Bardziej szczegółowo

5c. Sieci i przepływy

5c. Sieci i przepływy 5c. Sieci i przepływy Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 5c. Sieci i przepływy zima 2016/2017 1 / 40 1 Definicje

Bardziej szczegółowo

ZAGADNIENIA TRANSPORTOWE

ZAGADNIENIA TRANSPORTOWE ZAGADNIENIA TRANSPORTOWE Maciej Patan Uniwersytet Zielonogórski WPROWADZENIE opracowano w 1941 r. (F.L. Hitchcock) Jest to problem opracowania planu przewozu pewnego jednorodnego produktu z kilku różnych

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE TRANSPORTOWE ZAGADNENE TRANSPORTOWE Definicja: Program liniowy to model, w którym warunki ograniczające oraz funkcja celu są funkcjami liniowymi. W skład każdego programu liniowego wchodzą: zmienne decyzyjne, ograniczenia

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Zagadnienie transportowe 1 dr Zbigniew Karwacki Katedra Badań Operacyjnych UŁ Klasyczne zagadnienie transportowe 1 Klasyczne zadanie transportowe problem najtańszego przewozu

Bardziej szczegółowo

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby Zadania 1 Przedsiębiorstwo wytwarza cztery rodzaje wyrobów: A, B, C, D, które są obrabiane na dwóch maszynach M 1 i M 2. Czas pracy maszyn przypadający na obróbkę jednostki poszczególnych wyrobów podany

Bardziej szczegółowo

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

Rozwiązanie Ad 1. Model zadania jest następujący: Przykład. Hodowca drobiu musi uzupełnić zawartość dwóch składników odżywczych (A i B) w produktach, które kupuje. Rozważa cztery mieszanki: M : M, M i M. Zawartość składników odżywczych w poszczególnych

Bardziej szczegółowo

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

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1 A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a,a 2,...,a p i qodbiorców, którychpopytwynosi b,b 2,...,b

Bardziej szczegółowo

ZAGADNIENIE TRANSPORTOWE(ZT)

ZAGADNIENIE TRANSPORTOWE(ZT) A. Kasperski, M. Kulej BO Zagadnienie transportowe 1 ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a 1, a 2,...,a p i q odbiorców,którychpopytwynosi b 1, b 2,...,b q.zakładamy,że

Bardziej szczegółowo

Harmonogramowanie przedsięwzięć

Harmonogramowanie przedsięwzięć Harmonogramowanie przedsięwzięć Mariusz Kaleta Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska luty 2014, Warszawa Politechnika Warszawska Harmonogramowanie przedsięwzięć 1 / 25 Wstęp

Bardziej szczegółowo

Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe

Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe Teorię gier można określić jako teorię podejmowania decyzji w szczególnych warunkach. Zajmuje się ona logiczną analizą sytuacji konfliktu

Bardziej szczegółowo

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik Programowanie liniowe całkowitoliczbowe Tadeusz Trzaskalik .. Wprowadzenie Słowa kluczowe Rozwiązanie całkowitoliczbowe Założenie podzielności Warunki całkowitoliczbowości Czyste zadanie programowania

Bardziej szczegółowo

Elementy Modelowania Matematycznego

Elementy Modelowania Matematycznego Elementy Modelowania Matematycznego Wykład 6 Metoda simpleks Spis treści Wstęp Zadanie programowania liniowego Wstęp Omówimy algorytm simpleksowy, inaczej metodę simpleks(ów). Jest to stosowana w matematyce

Bardziej szczegółowo

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie

Bardziej szczegółowo

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 1

Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 1 Analiza sieciowa projektów- metody: CPM, PERT. A. Kasperski, M. Kulej 1 Określenie projektu Przez projekt rozumie się jednostkowy(najczęściej jednorazowy) proces złożony ze zbioru wzajemnie powiązanych

Bardziej szczegółowo

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

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIEŃ TRANSPORTOWYCH Z KRYTERIUM KOSZTÓW Zadania transportowe Zadania transportowe są najczęściej rozwiązywanymi problemami w praktyce z zakresu optymalizacji

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem

Bardziej szczegółowo

Teoria gier. wstęp. 2011-12-07 Teoria gier Zdzisław Dzedzej 1

Teoria gier. wstęp. 2011-12-07 Teoria gier Zdzisław Dzedzej 1 Teoria gier wstęp 2011-12-07 Teoria gier Zdzisław Dzedzej 1 Teoria gier zajmuje się logiczną analizą sytuacji, gdzie występują konflikty interesów, a także istnieje możliwość kooperacji. Zakładamy zwykle,

Bardziej szczegółowo

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH Jednym z zastosowań metod numerycznych jest wyznaczenie pierwiastka lub pierwiastków równania nieliniowego. W tym celu stosuje się szereg metod obliczeniowych np:

Bardziej szczegółowo

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

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. doc. dr Beata Pułska-Turyna Zakład Badań Operacyjnych Zarządzanie B506 mail: turynab@wz.uw.edu.pl mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. Tel.: (22)55 34 144 Mail: student@pgadecki.pl

Bardziej szczegółowo

Zagadnienie transportowe

Zagadnienie transportowe Zagadnienie transportowe Firma X zawarła kontrakt na dostarczenie trawnika do wykończenia terenów wokół trzech zakładów U, V i W. Trawnik ma być dostarczony z trzech farm A, B i C. Zapotrzebowanie zakładów

Bardziej szczegółowo

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Wstęp ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Problem podejmowania decyzji jest jednym z zagadnień sterowania nadrzędnego. Proces podejmowania decyzji

Bardziej szczegółowo

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Badania operacyjne Problem Model matematyczny Metoda rozwiązania Znaleźć optymalny program produkcji. Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10

Bardziej szczegółowo

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

Badania Operacyjne Ćwiczenia nr 5 (Materiały) ZADANIE 1 Zakład produkuje trzy rodzaje papieru: standardowy do kserokopiarek i drukarek laserowych (S), fotograficzny (F) oraz nabłyszczany do drukarek atramentowych (N). Każdy z rodzajów papieru wymaga

Bardziej szczegółowo

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel v1.01 2010 Inżynieria oprogramowania Część 8: Metoda szacowania ryzyka - PERT ZAGADNIENIA DO ZREALIZOWANIA (3H) PERT...

Bardziej szczegółowo

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

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,

Bardziej szczegółowo

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli? Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli? : Proces zmieniania wartości w komórkach w celu sprawdzenia, jak

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Optymalizacja zadań bazy transportowej ( część 2 ) Opracowano na podstawie : Stanisław Krawczyk, Metody ilościowe w logistyce ( przedsiębiorstwa ), Wydawnictwo C. H. Beck, Warszawa

Bardziej szczegółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

METODY OBLICZENIOWE OPTYMALIZACJI zadania

METODY OBLICZENIOWE OPTYMALIZACJI zadania METODY OBLICZENIOWE OPTYMALIZACJI zadania Przedstawione dalej zadania rozwiąż wykorzystując Excel/Solver. Zadania 8 są zadaniami optymalizacji liniowej, zadania 9, dotyczą optymalizacji nieliniowej. Przed

Bardziej szczegółowo

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 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): 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): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Wielokryteriowa optymalizacja liniowa

Wielokryteriowa optymalizacja liniowa Wielokryteriowa optymalizacja liniowa 1. Przy decyzjach złożonych kierujemy się zwykle więcej niż jednym kryterium. Postępowanie w takich sytuacjach nie jest jednoznaczne. Pojawiło się wiele sposobów dochodzenia

Bardziej szczegółowo

Modelowanie sytuacji konfliktowych, w których występują dwie antagonistyczne strony.

Modelowanie sytuacji konfliktowych, w których występują dwie antagonistyczne strony. GRY (część 1) Zastosowanie: Modelowanie sytuacji konfliktowych, w których występują dwie antagonistyczne strony. Najbardziej znane modele: - wybór strategii marketingowych przez konkurujące ze sobą firmy

Bardziej szczegółowo

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 5 PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI 5.2. Ćwiczenia komputerowe

Bardziej szczegółowo

Wykład 7. Informatyka Stosowana. Magdalena Alama-Bućko. 16 kwietnia Magdalena Alama-Bućko Wykład 7 16 kwietnia / 23

Wykład 7. Informatyka Stosowana. Magdalena Alama-Bućko. 16 kwietnia Magdalena Alama-Bućko Wykład 7 16 kwietnia / 23 Wykład 7 Informatyka Stosowana Magdalena Alama-Bućko 16 kwietnia 2018 Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 1 / 23 Programowanie liniowe Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 2 / 23

Bardziej szczegółowo

Programowanie dynamiczne. Tadeusz Trzaskalik

Programowanie dynamiczne. Tadeusz Trzaskalik Programowanie dynamiczne Tadeusz Trzaskalik 9.. Wprowadzenie Słowa kluczowe Wieloetapowe procesy decyzyjne Zmienne stanu Zmienne decyzyjne Funkcje przejścia Korzyści (straty etapowe) Funkcja kryterium

Bardziej szczegółowo

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE 6. Ćwiczenia komputerowe Ćwiczenie 6.1

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (postać kierunkowa) Funkcja liniowa to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości liczbowe Szczególnie ważny w postaci

Bardziej szczegółowo

a) 7 b) 19 c) 21 d) 34

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

Funkcja liniowa - podsumowanie

Funkcja liniowa - podsumowanie Funkcja liniowa - podsumowanie 1. Funkcja - wprowadzenie Założenie wyjściowe: Rozpatrywana będzie funkcja opisana w dwuwymiarowym układzie współrzędnych X. Oś X nazywana jest osią odciętych (oś zmiennych

Bardziej szczegółowo

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ). Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Zagadnienie przydziału dr Zbigniew Karwacki Katedra Badań Operacyjnych UŁ Zagadnienie przydziału 1 Można wyodrębnić kilka grup problemów, których zadaniem jest alokacja szeroko

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego

Bardziej szczegółowo

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska Funkcje liniowe i wieloliniowe w praktyce szkolnej Opracowanie : mgr inż. Renata Rzepińska . Wprowadzenie pojęcia funkcji liniowej w nauczaniu matematyki w gimnazjum. W programie nauczania matematyki w

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr 5: Sieci, drogi ekstremalne w sieciach, analiza złożonych przedsięwzięć (CPM i PERT) dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl

Bardziej szczegółowo

Metody Ilościowe w Socjologii

Metody Ilościowe w Socjologii Metody Ilościowe w Socjologii wykład 4 BADANIA OPERACYJNE dr inż. Maciej Wolny AGENDA I. Badania operacyjne podstawowe definicje II. Metodologia badań operacyjnych III. Wybrane zagadnienia badań operacyjnych

Bardziej szczegółowo

INSTRUKCJA DO ĆWICZENIA NR 1

INSTRUKCJA DO ĆWICZENIA NR 1 L01 ---2014/10/17 ---10:52---page1---#1 KATEDRA MECHANIKI STOSOWANEJ Wydział Mechaniczny POLITECHNIKA LUBELSKA INSTRUKCJA DO ĆWICZENIA NR 1 PRZEDMIOT TEMAT Wybrane zagadnienia z optymalizacji elementów

Bardziej szczegółowo

Rozwiązanie zadania 1. Krok Tym razem naszym celem jest, nie tak, jak w przypadku typowego zadania transportowego

Rozwiązanie zadania 1. Krok Tym razem naszym celem jest, nie tak, jak w przypadku typowego zadania transportowego Zadanie 1 Pośrednik kupuje towar u dwóch dostawców (podaż: 2 i, jednostkowe koszty zakupu 1 i 12), przewozi go i sprzedaje trzem odbiorcom (popyt: 1, 28 i 27, ceny sprzedaży:, 25 i ). Jednostkowe koszty

Bardziej szczegółowo

Rozwiązywanie równań nieliniowych

Rozwiązywanie równań nieliniowych Rozwiązywanie równań nieliniowych Marcin Orchel 1 Wstęp Przykłady wyznaczania miejsc zerowych funkcji f : f(ξ) = 0. Wyszukiwanie miejsc zerowych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Iwona Konarzewska Programowanie celowe - wprowadzenie. Katedra Badań Operacyjnych UŁ

Iwona Konarzewska Programowanie celowe - wprowadzenie. Katedra Badań Operacyjnych UŁ 1 Iwona Konarzewska Programowanie celowe - wprowadzenie Katedra Badań Operacyjnych UŁ 2 Programowanie celowe W praktycznych sytuacjach podejmowania decyzji często występuje kilka celów. Problem pojawia

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

Algorytmiczna teoria grafów Przepływy w sieciach.

Algorytmiczna teoria grafów Przepływy w sieciach. Algorytmiczna teoria grafów Sieć przepływowa Siecią przepływową S = (V, E, c) nazywamy graf zorientowany G = (V,E), w którym każdy łuk (u, v) E ma określoną przepustowość c(u, v) 0. Wyróżniamy dwa wierzchołki:

Bardziej szczegółowo

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją. Instrukcja do Laboratorium Metod i Systemów Sterowania Produkcją. 2010 1 Cel laboratorium Celem laboratorium jest poznanie metod umożliwiających rozdział zadań na linii produkcyjnej oraz sposobu balansowania

Bardziej szczegółowo