BADANIA OPERACYJNE Programowanie liniowe i jego zastosowanie w innych zagadnieniach dr Adam Sojda adam.sojda@polsl.pl http://dydaktyka.polsl.pl/roz6/asojda/default.asp Pokój A405
Literatura okukuła K. (red.): Badania operacyjne w przykładach i zadaniach. PWN Warszawa 2007 dr Adam SOJDA 2
Literatura o o Jędrzejczyk Z., Kukuła K., Skrzypek J., Walkosz A. Badania operacyjne w przykładach i zadaniach. PWN, Warszawa, 2002. Kałuski J.: Podstawy teorii gier. Wydawnictwo PKJS, Gliwice 2002. o Ignasiak E.: Badania operacyjne. PWE, Warszawa 2001. o o Męczyńska A., Mularczyk A. (red.), Metody statystyczne i optymalizacyjne w arkuszu kalkulacyjnym MS Ecel. Statystyka i badania operacyjne. Wydawnictwo Politechniki Śląskiej, Gliwice 2011. Krawczyk S.: Badania operacyjne dla menedżerów. AE Wrocław 1996. dr Adam SOJDA 3
Zagadnienia o Programowanie liniowe metoda graficzna, algorytm Simple o Programowanie sieciowe CPM, analiza kosztowo-czasowa o Gry dwuosobowe o sumie zero o Elementy teorii podejmowania decyzji o Zagadnienie transportowe o Programowanie nieliniowe o Programowanie dynamiczne o Programowanie wielokryterialne dr Adam SOJDA 4
Warunki zaliczenia o Egzamin: opo ostatnim wykładzie teoria 30 40 minut o Kolokwium oostatnie ćwiczenia o Projekt zgodnie z kartą projektu oprojet opisany w pliku: projekt_badania_operacyjne.ls dr Adam SOJDA 5
Zagadnienie programowania liniowego Definicja Zadaniem programowania liniowego (PL) w postaci standardowej nazywamy problem znalezienia maksimum funkcji f() = c 1 1 +c 2 2 + +c n n zwanej funkcją celu. Przy spełnieniu przez wektor następujących warunków ograniczających wyznaczających zbiór rozwiązań dopuszczalnych D. a 11 1 +a 12 2 + +a 1n n b 1 a 21 1 +a 22 2 + +a 2n n b 2 a m1 1 +a m2 2 + +a mn n b m 1,, n 0 Rozwiązanie optymalne, to rozwiązanie dopuszczalne, dla którego wartość funkcji celu jest MAX. dr Adam SOJDA 6
Zagadnienie programowania liniowego PL możemy zapisać jako: c T ma A b Możemy również mówić o następującej postaci 0 c T min A b 0 dr Adam SOJDA 7
Zagadnienie programowania liniowego Dla każdego programu liniowego (zwanego pierwotnym) można zapisać program do niego dualny. Program liniowy pierwotny Program liniowy dualny c T ma A b 0 c T min A b 0 b b T T y min A T y c y 0 y ma A T y c y 0 dr Adam SOJDA 8
Zagadnienie programowania liniowego o o o Dla rozwiązań optymalnych wartości funkcji celu programu liniowego pierwotnego i dualnego mają taką samą wartość. Jeżeli j-ty warunek PLD w rozwiązaniu optymalnym spełniony jest z nierównością (ostro), to odpowiadająca mu j-ta zmienna ( j ) w optymalnym rozwiązaniu PLP przyjmuje wartość zero. Spełniony jest układ równań: twierdzenie o komplementarności (a i1 1 +a i2 2 + +a in n - b i )y i = 0 dla i = 1,2,, m (a 1j y 1 +a 2j y 2 + +a mj y m - c j ) j = 0 dla j = 1,2,, n dr Adam SOJDA 9
Zagadnienie programowania liniowego Definicja Zadaniem programowania liniowego (PL) w postaci kanonicznej nazywamy problem znalezienia maksimum funkcji zwanej funkcją celu. f() = c 1 1 +c 2 2 + +c n n Przy spełnieniu przez wektor następujących warunków ograniczających wyznaczających zbiór rozwiązań dopuszczalnych D. a 11 1 +a 12 2 + +a 1n n = b 1 a 21 1 +a 22 2 + +a 2n n = b 2 a m1 1 +a m2 2 + +a mn n = b m 1,, n 0 dr Adam SOJDA 10
Zagadnienie programowania liniowego Zakład produkuje dwa rodzaje wieszaków: STANDARD i SUPER. Do ich produkcji używa się dwa gatunki drewna: dąb i olchę. Na wyprodukowanie jednego wieszaka STANDARD potrzeba 0.05 kawałka dębu oraz 0.15 kawałka olchy. Do produkcji wieszaka typu SUPER potrzeba 0.15 kawałka dębu oraz 0.20 olchy. Ze względu na zainteresowanie klientów wiadomo, że należy produkować wieszaków SUPER nie więcej niż STANDARD. Zyski jednostkowe dla poszczególnych wieszaków wynoszą odpowiednio 9 dla STANDARD i 12 dla SUPER. Dostawy drewna są zagrożone, ze względu na suszę i pożary lasów ustalić produkcję maksymalizującą zysk, jeśli firma w magazynach ma 1500 kawałków dębu oraz 1750 kawałków olchy i nie będzie w najbliższym czasie nowych dostaw. dr Adam SOJDA 11
Zagadnienie programowania liniowego Oznaczenia: 1 ilość wyprodukowanych wieszaków STANDARD 2 ilość wyprodukowanych wieszaków SUPER CEL : MAX ZYSK: 9 1 + 12 2 à Ma OGRANICZENIA: Dąb: 0.05 1 + 0.15 2 1 500 Olcha: 0.15 1 + 0.20 2 1 750 sprzedaż: 2 1 1, 2 0 dr Adam SOJDA 12
Zagadnienie programowania liniowego Program liniowy w postaci standardowej: f.c.: 9 1 + 12 2 à Ma 0.05 1 + 0.15 2 1 500 0.15 1 + 0.20 2 1 750-1 + 2 0 1, 2 0 Program liniowy dualny f.c.d:1500y 1 +1750y 2 +0y 3 à min 0.05y 1 + 0.15y 2 - y 3 9 0.15y 1 +0.20y 2 + y 3 12 y 1,y 2,y 3 0 Postać macierzowa /elementy/ c 9 = 12 = 1 2 A = 0.05 0.15 1 0.15 0.20 1 b = 1500 1750 0 dr Adam SOJDA 13
Zagadnienie programowania liniowego metoda graficzna Wyznaczenie zbioru rozwiązań dopuszczalnych: 0.05 1 + 0.15 2 1 500 0.05 1 + 0.15 2 = 1 500 równanie prostej Wyznaczenie punktów przez które przechodzi prosta: 1 =0 (0;10 000) 2 = 0 (30 000;0) 0.15 1 + 0.20 2 1 750 0.15 1 + 0.20 2 = 1 750 Wyznaczenie punktów przez które przechodzi prosta: 1 =0 (0;8 750) 2 = 0 (~11 667;0) - 1 + 2 0-1 + 2 = 0 Wyznaczenie punktów przez które przechodzi prosta: 1 =0 (0;0) 2 = 0 (0;0) przekształcenie równania 1 = 2 punkt (10 000;10 000) dr Adam SOJDA 14
Zagadnienie programowania liniowego metoda graficzna X 2 10 000 8 750 (3) Niech f.c. = 54 000 9 1 + 12 2 = 54 000 (6 000;0) (0;4 500) Niech f.c. = 108 000 9 1 + 12 2 = 108 000 (12 000;0) (0;9 000) (C) ROZWIĄZANIE ZNAJDUJE SIĘ W WIERZCHOŁKU (B) (1) (A) 10 000 11 667 30 000 (2) X 1 dr Adam SOJDA 15
Zagadnienie programowania liniowego Wystarczy znaleźć współrzędne wierzchołków, wyznaczyć dla nich wartość funkcji i wskazać optimum. A (0;0) B (~11 667;0) (1 750/0.15;0) C (2) i (3) Rozwiązujemy układ równań: 0.15 1 + 0.20 2 = 1 750-1 + 2 = 0 C(5 000;5 000) dr Adam SOJDA 16
Zagadnienie programowania liniowego WYZNACZAMY WAROŚCI FUNKCJI CELU: A(0;0) f.c.:9 0+12 0 = 0 B(11 667;0) f.c.:9 11 667+12 0 = 105 003 C(5 000;5 000) f.c.:9 5 000+12 5 000 = 105 000 B(1 750/0.15;0) f.c.:9 1 750/0.15+12 0 = 105 000 ROZWIĄZANIE TO ODCINEK ŁĄCZĄCY WIERZCHOŁKI B oraz C dr Adam SOJDA 17
Zagadnienie programowania liniowego rozwiązanie programu dualnego Wyznaczamy układ równań z twierdzenia o komplementarności (0.05 1 + 0.15 2-1 500)y 1 = 0 (0.15 1 + 0.20 2-1 750)y 2 = 0 ( - 1 + 2 0)y 3 = 0 (0.05y 1 + 0.15y 2 - y 3-9) 1 = 0 (0.15y 1 +0.20y 2 + y 3 12) 2 = 0 Znane jest rozwiązanie optymalne programu pierwotnego: 1 = 5 000, 2 = 5 000 dr Adam SOJDA 18
Zagadnienie programowania liniowego rozwiązanie programu dualnego (0.05 5 000 + 0.15 5 000-1 500)y 1 = 0 (0.15 5 000 + 0.20 5 000-1 750)y 2 = 0 ( - 5 000 + 5 000 0)y 3 = 0 (0.05y 1 + 0.15y 2 - y 3-9) 5 000 = 0 (0.15y 1 +0.20y 2 + y 3 12) 5 000 = 0 Po wyliczeniu: - 500y 1 = 0 0y 2 = 0 0y 3 = 0 0.05y 1 + 0.15y 2 - y 3 = 9 0.15y 1 +0.20y 2 + y 3 = 12 y 1 = 0 0 = 0 0 = 0 0.15y 2 - y 3 = 9 0.20y 2 + y 3 = 12 Rozwiązanie programu dualnego y 1 = 0 y 2 = 60 y 3 =0 dr Adam SOJDA 19
Zagadnienie programowania liniowego Algorytm SIMPLEX Algorytm SIMPLEX zagadnienia maksymalizacji funkcji celu wymaga programu liniowego w postaci kanonicznej. Z postaci standardowej w postać kanoniczną (ograniczenia są równościami) przechodzimy wprowadzając zmienne bilansujące (do każdego z ograniczeń jedna zmienna). Współczynniki funkcji celu stojące przy zmiennych bilansujących są równe zero. Zmienne bilansujące spełniają warunek nieujemności. dr Adam SOJDA 20
Zagadnienie programowania liniowego Algorytm SIMPLEX Postać standardowa: f.c.: 9 1 + 12 2 à Ma 0.05 1 + 0.15 2 1 500 0.15 1 + 0.20 2 1 750-1 + 2 0 1, 2 0 Postać kanoniczna: f.c.: 9 1 + 12 2 + 0 3 + 0 4 + 0 5 à Ma 0.05 1 + 0.15 2 + 3 = 1 500 0.15 1 + 0.20 2 + 4 = 1 750-1 + 2 + 5 = 0 1, 2, 3, 4, 5 0 dr Adam SOJDA 21
Zagadnienie programowania liniowego Algorytm SIMPLEX Schemat algorytmu: Algorytm zatrzymuje się funkcja dąży w sposób nieograniczony do nieskończoności Najmniejsza wartość d j wskazuje na zmienną k, wprowadzaną do bazy (wybór kolumny k) nie Czy istnieją a ik dodatnie tak tak Wyznaczyć rozwiązanie bazowe i wskaźniki optymalności d j Czy istnieją ujemne d j Dla dodatnich a ik wyznacz ilorazy b i /a ik najmniejszy wskazuje na zmienną usuwaną z bazy (wybór wiersza p) nie Algorytm zatrzymuje się. Rozwiązanie bazowe jest optymalne WYKONAJ PRZEKSZTAŁCENIE MODYFIKUJĄCE BAZĘ dr Adam SOJDA 22
Zagadnienie programowania liniowego Algorytm SIMPLEX Zmienne bazowe tworzą kolumny w postaci wersorów (złożone są z 1 oraz 0). Miejsce w bazie wskazuje 1. Przekształcenie modyfikujące bazę tak przekształca układ równań, aby w miejscu przecięcia wybranej kolumny z wybranym wierszem była 1 a pozostałe elementy wybranej kolumny powinny być równe 0. Interesują nas rozwiązania bazowe dopuszczalne, dlatego też wszystkie operacje na wierszach wykonywane są w oparciu o wiesz, który wskazywał na zmienną usuwaną z bazy o najmniejszy ilorazie b i / a ik. W pierwszym kroku dzielimy wybrany wiersz przez element a pk, znajdujący się na przecięciu wybranego wiersza i wybranej kolumny. Otrzymany wierz umieszczamy w nowej tablicy i nazywamy głównym. Od pozostałych wierszy i odejmujemy wiersz główny pomnożony przez element a ik wyznaczony przez wiersz i oraz wybraną kolumnę. W jednym kroku algorytmu wybieramy tylko jedną kolumnę i wiersz, czyli tylko jedna zmienna jest do bazy wprowadzana i jedna jest z niej usuwana. dr Adam SOJDA 23
dr Adam SOJDA 24 Zagadnienie programowania liniowego Algorytm SIMPLEX ( ) ma 2 2 1 1 + + = n c n c c f! 0, 1, 2, 2 2 1 1 2 2 1 1 1 1 2 12 1 11 + + + + + + + + + n m n mn m m i n in i i n n b a a a b a a a b a a a!!!! ( ) ma 0 0 1 2 2 1 1 + + + + + + = + + m n n n n c c c f!! 0,,,,,, 1 2 1 2 2 1 1 2 2 1 1 1 1 1 2 12 1 11 = + + + + = + + + + = + + + + + + + + + m n n n m m n n mn m m i i n n in i i n n n b a a a b a a a b a a a!!!!! C j c 1 c j c n 0 0 0 b i /a ik c b Baza b 1... j... n n+1 n+i n+m 0 n+1 b 1 a 11 a 1j. a 1n 1 0 0 0 n+i b i a i1... a ij... a in 0 1 0 0 n+m b m a m1 a mj a mn 0 0 1 z j z 0 z 1 z j z n 0 0 0 d j = z j - c j z 1 -c 1 z j - c j z n -c n 0 0 0
Zagadnienie programowania liniowego Algorytm SIMPLEX C j 9 12 0 0 0 c b baza b 1 2 3 4 5 b i /a ik z j dj = zj - cj dr Adam SOJDA 25
Zagadnienie programowania liniowego Algorytm SIMPLEX C j c b baza b 1 2 3 4 5 b i /a ik z j dj = zj - cj dr Adam SOJDA 26
Zagadnienie programowania liniowego Algorytm SIMPLEX C j 9 12 0 0 0 c b baza b 1 2 3 4 5 b i /a ik 1 500 0.05 0.15 1 0 0 1 750 0.15 0.20 0 1 0 0-1 1 0 0 1 z j dj = zj - cj dr Adam SOJDA 27
Zagadnienie programowania liniowego Algorytm SIMPLEX C j 9 12 0 0 0 c b baza b 1 2 3 4 5 b i /a ik 0 3 1 500 0.05 0.15 1 0 0 0 4 1 750 0.15 0.20 0 1 0 0 5 0-1 1 0 0 1 10 000 8 750 0 z j 0 0 0 0 0 0 d j = z j - c j -9-12 0 0 0 dr Adam SOJDA 28
Zagadnienie programowania liniowego Algorytm SIMPLEX C j 9 12 0 0 0 c b baza b 1 2 3 4 5 b i /a ik 0 3 1 500 0.2 0 1 0-0.15 0 4 1 750 0.35 0 0 1-0.2 12 2 0-1 1 0 0 1 7 500 5 000 nie z j 0-12 12 0 0 12 d j = z j - c j -21 0 0 0 12 dr Adam SOJDA 29
Zagadnienie programowania liniowego Algorytm SIMPLEX C j 9 12 0 0 0 c b baza b 1 2 3 4 5 b i /a ik 0 3 500 0 0 1-0.2 / 0.35-0.0125 / 0.35 9 1 5 000 1 0 0 1 / 0.35-0.2 / 0.35 12 X 2 5 000 0 1 0 1 / 0.35 0.15 / 0.35 z j 105 000 9 12 0 60 0 d j = z j - c j 0 0 0 60 0 dr Adam SOJDA 30
Zagadnienie programowania liniowego Algorytm SIMPLEX C j 9 12 0 0 0 c b baza b 1 2 3 X 4 5 b i /a ik 0 3 2 750 / 3 0 0.25 / 3 1-1 / 3 0 9 1 35 000 / 3 1 4 / 3 0 20 / 3 0 0 5 35 000 / 3 0 7 / 3 0 20 / 3 1 z j 105 000 9 12 0 60 0 d j = z j - c j 0 0 0 60 0 Rozwiązanie programu dualnego y 1 = 0 y 2 = 60 y 3 =0 dr Adam SOJDA 31
Zagadnienie programowania liniowego Solver dodatek MS Ecel 1. Rezerwujemy miejsce na zmienne 1 i 2 wartości tych zmiennych pojawią się w komórkach B2 i B3 2. W komórce B5 wpisujemy formułę obliczającą wartość funkcji celu 3. W komórkach B7 do B9 wpisujemy formuły obliczające wartości po lewej stronie nierówności z ograniczeń 4. W komórkach C7 do C9 wpisujemy wartości ograniczeń znajdujące się po prawej stronie nierówności dr Adam SOJDA 32
Zagadnienie programowania liniowego Solver dodatek MS Ecel 1. Uruchamiany dodatek Solver i podajemy informację o zadaniu: 2. Podajemy wartość funkcji celu adres komórki B5 oraz zaznaczamy ma 3. Podajemy zakres komórek zmienianych 4. Dodajemy ograniczenia otwiera się nowe okno i wpisujemy kolejno B7 wybieramy kierunek nierówności oraz komórki C7 dodajemy kolejne, na końcu dodajemy ograniczenie, że zmienne są nieujemne. 5. Zatwierdzamy i klikamy ROZWIĄŻ dr Adam SOJDA 33
Zagadnienie programowania liniowego Solver dodatek MS Ecel Otrzymujemy rozwiązanie programu jest to, tylko jedno rozwiązanie. W komórkach B2 i B3 pojawiają się wartości 5000 i 5000, w komórce funkcji celu pojawia się wartość 105 000 wartością funkcji celu dla tego rozwiązania dr Adam SOJDA 34
Zagadnienie transportowe Założenia: Pewien jednorodny towar należy dostarczyć od m dostawców { D 1,..,D m } do n odbiorców {O 1,,O n }. Znane są koszty jednostkowe c ij transportu od i-tego dostawcy do j-tego odbiorcy. Znany jest również popyt a j u j-tego odbiorcy jak i podaż b i u i-tego dostawcy. Własności zadania transportowego: n zadanie nie jest sprzeczne n funkcja celu jest ograniczona n jeśli wszystkie wielkości popytu i podaży są liczbami całkowitymi, to rozwiązanie optymalne jest również całkowite. Metody rozwiązywania zadania transportowego można podzielić na dwie fazy: n wyznaczenie wstępnego planu przewozowego metoda kąta północnozachodniego, metoda minimalnego elementu, metoda VAM n poprawienie otrzymanego rozwiązania metoda potencjałów dr Adam SOJDA 35
Zagadnienie transportowe Zagadnienie nazywamy zbilansowanym, jeśli łączna podaż wszystkich dostawców jest równa łącznemu zapotrzebowaniu wszystkich odbiorców. Każde zadanie można zbilansować poprzez wprowadzenie fikcyjnego dostawcy bądź odbiorcy w zależności od potrzeb. Koszty na nowych trasach przyjmuje się równe zero. Rozwiązując zadanie transportowe posługujemy się zmiennymi bazowymi, każde rozwiązanie bazowe składa się z n + m 1 tras. Poprzez linię rozumieć będziemy wiersz albo kolumnę. dr Adam SOJDA 36
Zagadnienie transportowe Zadanie 1. Firma zajmująca się transportem dostała zamówienie na przewóz mąki z młynów do piekarń. Tabela podaje wielkości zmagazynowanej w młynach mąki, zamówienia z poszczególnych piekarni jak i również koszty jednostkowe transportu. Firma zgodziła się przewieźć towar za 500 zł. Określić ile firma może zarobić na tym zamówieniu. Wyznaczyć trasy przewozu towaru. Młyny Koszty jednostkowe transportu [zł/t] Piekarnie P1 P2 P3 Zapas [t] M1 9 4 6 15 M2 8 7 1 25 M3 2 3 5 35 Popyt [t] 20 30 25 dr Adam SOJDA 37
Zagadnienie transportowe program liniowy zadania zbilansowanego Oznaczenia: ij ilość towaru dostarczonego z i-tego młyna do j-tej piekarni Cel: minimalizacja kosztów: 9 11 + 4 12 + 6 13 + 8 21 + 7 22 + 1 23 + 2 31 + 3 32 + 5 33 à min Ograniczenia: Zapas: 11 + 12 + 13 = 15 21 + 22 + 23 = 25 31 + 32 + 33 = 35 Zamówienie: 11 + 21 + 31 = 20 12 + 22 + 32 = 30 13 + 23 + 33 = 25 ij 0 dr Adam SOJDA 38
Zagadnienie transportowe metoda kąta północno - zachodniego Dla danego zadania zbilansowanego wyznaczamy przewóz na trasie wysuniętej najdalej na północny zachód. Wielkość przewozu na tej trasie jest mniejszą z dwóch liczb: zaktualizowanej wielkości popytu oraz podaży. Po wyznaczeniu przewozu należy dokonać aktualizacji wielkości popytu i podaży. Co najmniej jedna z tych wielkości będzie równa 0. Linię, którą wskazuje 0 uzupełniamy 0, gdyż nie będzie już więcej przewozów na tych trasach. Jeśli dwie linie wypełniono zerami, to należy kreślić trasę z przewozem zdegenerowanym, czyli równym 0. Jest nią ta trasa, która leży najbliżej wyznaczonej oraz koszt przewozu na niej jest najmniejszy. Znów należy wyznaczyć przewóz na trasie wysuniętej najdalej na północnyzachód. W ten sposób zostają uzupełnione wielkości przewozu na wszystkich trasach dr Adam SOJDA 39
Zagadnienie transportowe metoda kąta północno - zachodniego Wyznaczenie trasy przewozów: Rozwiązanie P1 P2 P3 M1 15 0 0 15 0 M2 5 20 0 20 25 0 M3 0 10 25 35 0 20 50 30 0 25 0 Wyznaczenie początkowego kosztu: 915+85+720+310+525 = 470 dr Adam SOJDA 40
Zagadnienie transportowe metoda potencjałów Dla i-tego dostawcy wprowadzamy zmienną u i, dla j-tego odbiorcy zmienną v j. Dla rozwiązań bazowych, czyli tras, na których ustalono przewóz wyznaczany układ n + m 1 równań o postaci: u i + v j + c ij = 0 Układ ten posiada nieskończenie wiele rozwiązań. Wyznaczamy jedno z nich. Na podstawie tego rozwiązania wyliczamy wskaźniki optymalności: e ij = u i + v j + c ij Warunek optymalności: jeśli wszystkie współczynniki e ij są nieujemne otrzymane rozwiązanie jest optymalne. Jeśli liczba wskaźników równych 0 jest większa niż n + m -1, wówczas istnieje rozwiązanie alternatywne. Warunek następnego kroku: najmniejsza (ujemna) wartość wskaźnika e ij wskazuje na trasę, gdzie należy wprowadzić nowy przewóz. Dokonując przemieszczeń towaru na poszczególnych trasach (analizujemy tylko nową trasę i trasy bazowe) możemy stwierdzić, że na pewnych trasach wzrasta przewóz, na pewnych przewóz maleje. Najmniejsza wielkość przewozu na trasach o przewozach malejących jest maksymalną o jaką korygowane są wielkości przewozów. Co najmniej jeden z obecnych przewozów jest równy zero. Jeśli na więcej niż jednej trasie znikł przewóz należy wprowadzić przewozy bazowe zdegenerowane. dr Adam SOJDA 41
Zagadnienie transportowe metoda potencjałów Wyznaczenie trasy przewozów: Rozw. I P1 v 1 P2 v 2 P3 v 3 M1 u 1 15 0 0 15 M2 u 2 5 20 0 25 M3 u 3 0 10 25 35 20 30 25 Rozwiązujemy układ równań: u i + v j + c ij = 0 Koszty P1 P2 P3 M1 9 4 6-9 M2 8 7 1-8 M3 2 3 5-4 0 1-1 Rozw. II P1 P2 P3 M1 15 0 0 15 M2 5 0 20 25 M3 0 30 5 35 20 30 25 u 1 + v 1 + 9 = 0 u 1 = 9 v 1 = 0 u 2 + v 1 + 8 = 0 u 2 = 8 u 2 + v 2 + 7 = 0 v 2 = 1 u 3 + v 2 + 3 = 0 u 3 = 4 u 3 + v 3 + 5 = 0 v 3 = -1 Wyznaczamy wskaźniki e ij e ij P1 P2 P3 M1 0-4 -4 M2 0 0-8 M3-2 0 0 dr Adam SOJDA 42
Zagadnienie transportowe metoda potencjałów Wyznaczenie trasy przewozów: Rozw. II P1 v 1 P2 v 2 P3 v 3 M1 u 1 15 0 0 15 M2 u 2 5 0 20 25 M3 u 3 0 30 5 35 20 30 25 Rozwiązujemy układ równań: u i + v j + c ij = 0 Koszty P1 P2 P3 M1 9 4 6-9 M2 8 7 1-8 M3 2 3 5-12 0 9 7 Rozw. III P1 P2 P3 M1 15 0 0 15 M2 0 0 25 25 M3 5 30 0* 35 20 30 25 u 1 + v 1 + 9 = 0 u 1 = 9 v 1 = 0 u 2 + v 1 + 8 = 0 u 2 = 8 u 2 + v 3 + 1 = 0 v 3 = 7 u 3 + v 2 + 3 = 0 v 2 = 9 u 3 + v 3 + 5 = 0 u 3 = 12 Wyznaczamy wskaźniki e ij e ij P1 P2 P3 M1 0 4 4 M2 0 8 0 M3-10 0 0 dr Adam SOJDA 43
Zagadnienie transportowe metoda potencjałów Wyznaczenie trasy przewozów: Rozw. III P1 v 1 P2 v 2 P3 v 3 M1 u 1 15 0 0 15 M2 u 2 0 0 25 25 M3 u 3 5 30 0* 35 20 30 25 Rozwiązujemy układ równań: u i + v j + c ij = 0 Koszty P1 P2 P3 M1 9 4 6-7 M2 8 7 1 4 M3 2 3 5 0-2 -3-5 Rozw. IV P1 P2 P3 M1 0 15 0 15 M2 0 0 25 25 M3 20 15 0* 35 20 30 25 u 1 + v 1 + 9 = 0 u 1 = -7 u 2 + v 3 + 1 = 0 u 2 = 4 u 3 + v 1 + 2 = 0 v 1 = -2 u 3 + v 2 + 3 = 0 v 2 = -3 u 3 + v 3 + 5 = 0 u 3 = 0 v 3 = -5 Wyznaczamy wskaźniki e ij e ij P1 P2 P3 M1 0-6 -6 M2 10 8 0 M3 0 0 0 dr Adam SOJDA 44
Zagadnienie transportowe metoda potencjałów Wyznaczenie trasy przewozów: Rozw. IV P1 v 1 P2 v 2 P3 v 3 M1 u 1 0 15 0 15 M2 u 2 0 0 25 25 M3 u 3 20 15 0* 35 20 30 25 Rozwiązujemy układ równań: u i + v j + c ij = 0 u 1 + v 2 + 4 = 0 u 1 = -1 u 2 + v 3 + 1 = 0 u 2 = 4 u 3 + v 1 + 2 = 0 v 1 = -2 u 3 + v 2 + 3 = 0 v 2 = -3 u 3 + v 3 + 5 = 0 u 3 = 0 v 3 = -5 Koszty P1 P2 P3 M1 9 4 6-1 M2 8 7 1 4 M3 2 3 5 0-2 -3-5 Otrzymane rozwiązanie jest optymalne, istnieje rozwiązanie alternatywne. Koszt = 170 Wyznaczamy wskaźniki e ij e ij P1 P2 P3 M1 6 0 0 M2 10 8 0 M3 0 0 0 dr Adam SOJDA 45
Zagadnienie transportowe metoda minimalnego elementu macierzy kosztów Ustalamy przewóz na trasie, gdzie znajduje się najmniejszy koszt. Następnie wyznaczamy przewozy na linii, gdzie wartości zaktualizowane są równe zero. Czynność powtarzamy do momentu, gdy przewozy na wszystkich trasach będą ustalone. Młyny Piekarnie P1 P2 P3 Zapas M1 9 4 6 15 M2 8 7 1 25 M3 2 3 5 35 Popyt 20 30 25 Młyny Piekarnie P1 P2 P3 Zapas M1 0 15 0 15 0 M2 0 0 25 0 M3 20 15 0* 35 15 0 Popyt 20 0 30 15 0 0 dr Adam SOJDA 46
Zagadnienie transportowe metoda VAM Dla każdej linii znajdujemy bezwzględną wartość różnicy pomiędzy dwoma najmniejszymi kosztami jednostkowymi. Spośród tras leżących w linii odpowiadającej największej różnicy wybieramy ten, który ma najniższy koszt jednostkowy. Młyny Piekarnie P1 P2 P3 Zapas M1 9 4 6 15 M2 8 7 1 25 M3 2 3 5 35 Popyt 20 30 25 Młyny Piekarnie P1 P2 P3 Zapas M1 25 M2 6 M3 1 Popyt 67 1 4 Młyny Piekarnie P1 P2 P3 Zapas M1 0 15 0 15 0 M2 0 0 25 0 M3 20 15 0* 15 0 Popyt 0 30 0 0 dr Adam SOJDA 47
Programowanie sieciowe zarządzanie projektami Przedsięwzięcie - zorganizowanie działanie ludzkie zmierzające do osiągnięcia określonego celu, zawarte w skończonym przedziale czasowym z wyróżnionym początkiem i końcem. Realizowane przez skończoną liczbę osób, środków technicznych, energii,materiałów, środków finansowych i informacji. Zdarzenie oznacza osiągniecie stanu zaawansowania prac przy realizacji przedsięwzięcia, jest to moment rozpoczęcia bądź zakończenia jednej czynności lub większej liczby czynności. Zdarzenie przedstawiamy graficznie za pomocą kółek. Każdemu zdarzeniu przyporządkowany jest numer 1,2,3,,m Czynność jest dowolnie wyodrębniona częścią przedsięwzięcia charakteryzującą się czasem trwania i zużyciem środków. Obraz graficzny strzałka. Czynność jest charakteryzowana przez parę wskaźników i k (i<k), gdzie i numer zdarzenia, w którym dana czynność się zaczyna, k numer zdarzenia, w którym dana czynność się kończy. Czynność pozorna - szczególny typ czynności, dla których charakterystyczne jest to, że nie zużywają czasu (czas jej trwania jest równy zero) ani środków, a służą jedynie do przedstawienia zależności pomiędzy czynnościami. Graficzny obraz czynności pozornej przerywana strzałka. dr Adam SOJDA 48
Programowanie sieciowe zarządzanie projektami Sieć czynności jest graficznym obrazem struktury przedsięwzięcia. Przedstawia ona tworzące to przedsięwzięcie czynności oraz powiązania pomiędzy nimi. Sieć składa się z dwóch rodzajów elementów: n n łuków oznaczających czynności węzłów zwanych zdarzeniami i oznaczającymi początek lub zakończenie jednej lub kilku czynności. Budowa sieci wymaga znajomości dla poszczególnych czynności: n n czasów ich trwania zbiorów czynności bezpośrednio je poprzedzających Prawidłowo skonstruowana sieć czynności: n łączy wszystkie węzły i łuki ( spójna ) n łuki nie tworzą obwodu zamkniętego ( acykliczna ) n n zawiera dokładnie jedno zdarzenie, w którym nie kończy się żadna czynność ( początek przedsięwzięcia ) oraz jedno zdarzenie, w którym nie rozpoczyna się żadna czynność (koniec przedsięwzięcia) dwa różne łuki nie mają tych samych zdarzeń początkowych i końcowych, w przeciwnym razie wprowadza się czynności pozorne. dr Adam SOJDA 49
Programowanie sieciowe zarządzanie projektami Najkrótszy możliwy czas realizacji przedsięwzięcia, T* jest to najkrótszy czas, w którym możliwe jest ukończenie wszystkich czynności składających się na przedsięwzięcie. Najwcześniejszy możliwy moment zajścia zdarzenia. Dla danego zdarzenia k, najwcześniejszy moment jego zajścia ( t k ) jest to moment, w którym najwcześniej zostaną ukończone wchodzące do niego czynności. k i ( t t ) t = ma + t 1 = 0 i ik Najpóźniejszy dopuszczalny moment zajścia zdarzenia. Dla danego zdarzenia i, najpóźniejszy dopuszczalny moment jego zajścia ( T i ) jest to moment, w którym najpóźniej mogą być rozpoczęte wszystkie wychodzące z niego czynności, by nie opóźnił się moment realizacji całego przedsięwzięcia (w stosunku do najkrótszego możliwego czasu). T i k ( T t ) = min = T k ik T m t m = T * T 1 = 0 dr Adam SOJDA 50
Programowanie sieciowe zarządzanie projektami Zapas czasu dla zdarzenia, to L i = T i t i Luz czasowy czynności Dla każdej czynności możemy wyznaczyć rezerwy czasu wykonywania zwane zapasami czasu. Zapas całkowity, to rezerwa czasu, która może być wykorzystana dodatkowo na wykonanie danej czynności Z c = T k t i t ik ANALIZA SIECIOWA Charakterystyki: CPM ścieżki krytycznej ( Critical Path Method ) t najwcześniejszy moment zaistnienia zdarzenia T najpóźniejszy dopuszczalny termin zaistnienia zdarzenia L zapas czasu dla zdarzenia. i numer zdarzenia t i i T i L i dr Adam SOJDA 51
Programowanie sieciowe zarządzanie projektami Pewne przedsięwzięcie można opisać za pomocą następujących czynności (tabela). Wyznaczyć najkrótszy możliwy czas realizacji całego przedsięwzięcia, wyznaczyć czynności, które determinują czas realizacji całego przedsięwzięcia budowy domu i przeprowadzki do niego. czynność Opis czynności Czynności poprzedzające A kupno działki 20 B ogrodzenie działki wstępne A 15 C wybór projektu 10 D wybór dewelopera C 15 E sadzenie drzew i krzewów B, D 30 F budowa docelowego ogrodzenia i alejek E 40 G wybór elementów wykończenia domu C 60 H budowa do stanu surowego B, D 120 I wykończenie domu G, H 90 J przeprowadzka F, I 14 Czas trwania [dni] dr Adam SOJDA 52
Programowanie sieciowe zarządzanie projektami Przedstawienie przedsięwzięcia jako sieci czynności: C A D B G E H F I J 1 A C 2 3 D B 4 G E H 5 6 I F J 7 8 dr Adam SOJDA 53
Programowanie sieciowe zarządzanie projektami Wyznaczenie ścieżki krytycznej: 20 2 20 20 0 1 0 0 0 10 15 15 4 35 35 0 5 65 205 140 30 40 120 7 245 245 0 14 8 259 259 0 3 10 20 10 60 6 155 155 0 90 dr Adam SOJDA 54
Programowanie sieciowe zarządzanie projektami Analiza zapasów czasu dla poszczególnych czynności czynność i - k t ik T k t i Zc zapas czasu dla czynności A 1-2 20 20 0 0 B 2-4 15 35 20 0 C 1-3 10 20 0 10 D 3-4 15 35 10 10 E 4-5 30 205 35 140 F 5-7 40 245 65 140 G 3-6 60 155 10 85 H 4-6 120 155 35 0 I 6-7 90 245 155 0 J 7-8 14 259 245 0 Czynności, dla których zapas czasu jest równy zero nazywamy czynnościami krytycznymi. Tworzą on ścieżkę krytyczną i stanowi podstawę metody CPM dr Adam SOJDA 55
Programowanie sieciowe zarządzanie projektami Metoda PERT Zakładamy, że każda z czynności może być opisana trzema czasami: a najbardziej optymistycznym m modalnym najczęściej pojawiającym się przy powtarzaniu tej czynności b najbardziej pesymistycznym Pomiędzy czasami zachodzi zależność: a m b Dla każdej czynności wyznaczane są dwie wartości: oczekiwany czas realizacji czynności t e oraz wariancja czas σ 2. Zgodnie ze wzorami: a + 4m + b t e = 6 2 σ i j = b a 6 2 Czas oczekiwany jest wykorzystywany do wyznaczenia ścieżki krytycznej (CPM) oraz oczekiwanego czasu wykonania T e dr Adam SOJDA 56
Programowanie sieciowe zarządzanie projektami Jeśli pojawiające się ścieżki charakteryzują się tym, iż empiryczne czasy realizacji przedsięwzięcia nie zachodzą na siebie, wówczas można wyznaczyć za pomocą dystrybuanty rozkładu normalnego prawdopodobieństwo zakończenia przedsięwzięcia przed upływem założonego czasu dyrektywnego. Niech X będzie zmienną losową o rozkładzie normalnym oznaczającą czas ukończenia całego przedsięwzięcia. Φ(u) dystrybuanta rozkładu N(0,1) T e wartość oczekiwaną czasu realizacji całego przedsięwzięcia wyznaczoną na podstawie ścieżkikrytycznej, σ - odchylenie standardowe dla czasu realizacji całego przedsięwzięcia, wyznaczone jako pierwiastek z sumy wariancji czasów realizacji wszystkich czynności tworzących ścieżkę krytyczną. t d czas dyrektywny realizacji całego przedsięwzięcia. P d e d e ( X < t ) = P U < = Φ d t T σ Otrzymane wartości prawdopodobieństwa powinny znajdować się w przedziale od 0.25 do 0.60. Dla wartości poniżej 0.25 termin realizacji w czasie dyrektywnym jest małoprawdopodobny, dla wartości powyżej 0.60 istnieją niewykorzystane moce produkcyjne. t T σ dr Adam SOJDA 57
Programowanie sieciowe zarządzanie projektami Dla analizowanego już zagadnienia: czynność i - k a m b t e σ 2 A 1-2 10 16 46 B 2-4 12 15 18 C 1-3 7 10 13 D 3-4 7 10 43 E 4-5 10 16 106 F 5-7 36 39 48 G 3-6 30 51 126 H 4-6 100 121 136 I 6-7 50 68 218 J 7-8 7 10 37 dr Adam SOJDA 58
Programowanie sieciowe zarządzanie projektami Dla analizowanego już zagadnienia: czynność i - k a m b t e σ 2 A 1-2 10 16 46 20 36 B 2-4 12 15 18 15 1 C 1-3 7 10 13 10 1 D 3-4 7 10 43 15 36 E 4-5 10 16 106 30 256 F 5-7 36 39 48 40 4 G 3-6 30 51 126 60 256 H 4-6 100 121 136 120 36 I 6-7 70 88 118 90 64 J 7-8 7 10 37 14 25 Oczekiwany czas realizacji całego przedsięwzięcia: T e = 259 Wariancja czasu realizacji: 36+1+36+64+25 = 162 odchylenie standardowe σ = 12,73 dr Adam SOJDA 59
Programowanie sieciowe zarządzanie projektami Wyznaczyć prawdopodobieństwo ukończenia przedsięwzięcia w czasie 240 dni. Dane: t d = 240 T e = 259 σ = 12,73 P ( X < t ) = Φ d = P U < t d T σ e t = Φ T σ ( 1,49) = 1 Φ( 1,49) = 1 0.9319 = 0. 0681 d e 240 259 = Φ 12,73 = Wyznaczyć czas dyrektywny, w którym prawdopodobieństwo ukończenia jest równe 0.95 Dane: T e = 259 σ = 12,73 Φ(u)=0.95 zatem u=1.65 td Te 0.95 = Φ( 1.65) = Φ σ td 259 1.65 = td = 280 12.73 td 259 = Φ 12,73 dr Adam SOJDA 60
Programowanie sieciowe zarządzanie projektami Analiza kosztowo czasowa czynność i - k Czas normalny Czas przyspieszony Koszt normalny Koszt przyspieszony A 1-2 20 15 100 150 B 2-4 15 10 5 10 C 1-3 10 9 6 8 D 3-4 15 12 3 12 E 4-5 30 28 15 25 F 5-7 40 38 20 25 G 3-6 60 55 90 120 H 4-6 120 110 250 350 I 6-7 90 85 120 150 J 7-8 14 12 5 9 Gradient kosztów dr Adam SOJDA 61
Programowanie sieciowe zarządzanie projektami Analiza kosztowo czasowa czynność i - k Czas normalny Czas przyspieszony Koszt normalny Koszt przyspieszony Gradient kosztów A 1-2 20 15 100 150 10 B 2-4 15 10 5 10 1 C 1-3 10 9 6 8 2 D 3-4 15 12 3 12 3 E 4-5 30 28 15 25 5 F 5-7 40 38 20 25 2,5 G 3-6 60 55 90 120 6 H 4-6 120 110 250 350 10 I 6-7 90 85 120 150 6 J 7-8 14 12 5 9 2 dr Adam SOJDA 62
Programowanie sieciowe zarządzanie projektami Program liniowy minimalizacji kosztu przy zadanym czasie dyrektywnym Oznaczenia: i najwcześniejszy moment zaistnienia zdarzenia y A, y B,, y J - czas przyspieszenia realizacji czynności A,B,, J FUNKCJA CELU: F(y A,, y J ) = 10y A +1y B +2y C +3y D +5y E +2.5y F +6y G +10y H +6y I +2y J à min Ograniczenia: Muszą być spełnione następujące warunki: i. moment zaistnienia zdarzenia i ( i ) musi być większy bądź równy od czasu wykonania czynności, których czas zakończenia określa to zdarzenie ii. czas rozpoczęcia dowolnej czynności jest równy momentowi zaistnienia zdarzenia, określającego rozpoczęcie tej czynności iii. czas realizacji jest równy czasowi normalnemu pomniejszonemu o czas przyspieszenia iv. czasy przyspieszenia są ograniczone dr Adam SOJDA 63
Programowanie sieciowe zarządzanie projektami Spełnione muszą być warunki dla zdarzeń Moment zaistnienia zdarzenia Czas normalny realizacji czynności - Przyspieszenie czynności + Moment rozpoczęcia czynności Zdarzenie 1. 1 = 0 Zdarzenie 2. X 2 20 y A + 1 Zdarzenie 3. X 3 10 y C + 1 Zdarzenie 4. X 4 15 y B + 2 X 4 15 y D + 3 Zdarzenie 5. X 5 30 y E + 4 Zdarzenie 6. X 6 60 y G + 3 X 6 120 y H + 4 Zdarzenie 7. X 7 40 y F + 5 i 0 dla i =1,2,,8 X 7 90 y I + 6 y j 0 dla j = A, B,, J Zdarzenie 8. X 8 14 y J + 7 Czas zakończenia nie może być dłuższy niż 250 zadany czas dyrektywny 8 250 Możliwości przyspieszenia są ograniczone: 0 y A 5 0 y B 5 0 y C 1 0 y D 3 0 y E 2 0 y F 2 0 y G 5 0 y H 10 0 y I 5 0 y J 2 Wszystkie zmienne są nieujemne dr Adam SOJDA 64
Programowanie sieciowe zarządzanie projektami Przy minimalizacji czasu realizacji przedsięwzięcia przy zadanym koszcie zamiast funkcji celu z poprzedniego problemu: F(y A,, y J ) = 10y A +1y B +2y C +3y D +5y E +2.5y F +6y G +10y H +6y I +2y J à min Otrzymujemy ograniczenie dla zadanego kosztu np. 300 10y A +1y B +2y C +3y D +5y E +2.5y F +6y G +10y H +6y I +2y J 300 Z ograniczenia czasu realizacji przedsięwzięcia 8 250 Otrzymujemy funkcję celu 8 à min dr Adam SOJDA 65
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero W grze bierze udział dwóch graczy A i B. Każdy z nich jest graczem inteligentnym, ostrożnym tzn. nie podejmuje decyzji jawnie dla siebie niekorzystnych oraz stosuje (kryterium Walda) maksymalizację swoich najmniejszych wygranych. Dana jest macierz wygranych gracza A, która jest jednocześnie macierzą przegranych gracza B. Każdy z graczy ma skończoną liczbę możliwych decyzji. Wartość gry v wygrana gracza A, która jest przegraną gracza B. Mówimy, że gra posiada rozwiązanie w zbiorze strategii (decyzji) czystych jeśli maksymalna z minimalnych wygranych gracza A jest równa minimalnej z maksymalnych przegranych gracza B. Jeżeli gra nie ma rozwiązania w zbiorze strategii czystych, możemy poszukać jej rozwiązania w zbiorze strategii mieszanych gracz stosuje swoje strategie z określonymi częstościami. Mówimy, że pewna strategia d k jest zdominowana przez strategię d t, jeżeli niezależnie od decyzji przeciwnika wygrane gracza przy strategii d t nie są gorsze (lepsze bądź takie same) jak w przypadku zastosowania strategii d k. dr Adam SOJDA 66
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Zadanie GD1. Jacek i Agatka grają w następującą grę. Każde z nich ma 3 karty: Asa, Króla, Damę. Pokazują je sobie jednocześnie. Jeśli pokażą takie same karty to nikt nie wygrywa, jeśli pojawi się As i Król, to właściciel Asa wygrywa 3 zł, jeśli As i Dama, to właściciel Asa przegrywa 5 zł, jeśli Król i Dama to właściciel Króla wygrywa 4 zł. a)zapisz macierz tej gry (wygrane Jacka). b)sprawdź czy nie ma rozwiązania w zbiorze strategii czystych c)napisz program liniowy pozwalający tą grę rozwiązać d)po pewnym czasie Agata postanowiła, że gra zostanie przyspieszona i odrzuciła Damę rozwiązać tą grę. e)po godzinie jak Agata miała jeszcze 65 zł a Jacek 95 to Jacek postanowił przyspieszyć grę i odrzucił Asa. Rozwiązać grę i określić ilu średnio wyłożeń kart potrzeba, aby jeden z graczy nie miał już pieniędzy. dr Adam SOJDA 67
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Jeśli pokażą takie same karty to nikt nie wygrywa, jeśli pojawi się As i Król, to właściciel Asa wygrywa 3 zł, jeśli As i Dama, to właściciel Asa przegrywa 5 zł, jeśli Król i Dama to właściciel Króla wygrywa 4 zł. Agatka Jacek As Król Dama As 0 3-5 Król -3 0 4 Dama 5-4 0 MIN ZYSK -5-3 -4 MAX PRZEGRANA 5 3 4 Gra nie ma rozwiązania w zbiorze strategii czystych wyznaczone wartości się różnią. Wartość gry (wygrana Jacka) będzie od -3 do 3 dr Adam SOJDA 68
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Wprowadźmy oznaczenia: p i częstość stosowania przez gracza A strategii a i q j częstość stosowania przez gracza B strategii b j v - wartość gry Zakładamy dodatkowo, że v > 0, wtedy można będzie wprowadzić zmienne pomocnicze. i = p i / v dla i = 1 n y j = q j / v dla j = 1 m Zauważmy, że jeśli do każdej wygranej dodamy taką samą wartość, to wzrośnie wartość gry o tą wartość, natomiast nie ulegną zmianie częstości stosowania poszczególnych strategii. Jeśli wartość gry może być ujemna zmieniamy grę dodając do każdej z wygranej taką wartość, która pozwoli otrzymać nową grę, dla której wartość gry nie będzie mogła być liczbą ujemną. Taką grę rozwiązujemy, czyli wyznaczamy częstości stosowania poszczególnych strategii, a następnie wartość tej gry i gry pierwotnej. dr Adam SOJDA 69
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Ponieważ, w tej grze wartość gry v może być ujemna (-3,3) do każdej z wygranych Jacka dodajemy 4. Otrzymujemy grę: Agata Jacek As Król Dama As 4 7-1 Król 1 4 8 Dama 9 0 4 MIN ZYSK -1 1 0 MAX PRZEGRANA 9 7 8 Nowa gra nie ma rozwiązania w zbiorze strategii czystych, a wartość gry nie może być już ujemną, gdyż v (1,7) dr Adam SOJDA 70
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Dla gracza A (Jacek) v à ma p 1 + p 2 + p 3 = 1 b1: 4p 1 + 1p 2 + 9p 3 v b2: 7p 1 + 4p 2 + 0p 3 v b3: -1p 1 + 8p 2 + 4p 3 v p 1, p 2, p 3 0 Dla gracza B (Agatka) v à min q 1 + q 2 + q 3 = 1 a1: 4q 1 + 7q 2-1q 3 v a2: 1q 1 + 4q 2 + 8q 3 v a3: 9q 1 + 0q 2 + 4q 3 v q 1, q 2, q 3 0 Dzielimy, każdy element programu przez v>0 i odpowiednio podstawiamy, za p,g zmienne,y. v/v =1 1 + 2 + 3 = 1/v à min v/v = 1 y 1 + y 2 + y 3 = 1/v à ma b1: 4 1 + 1 2 + 9 3 1 a1: 4y 1 + 7y 2-1y 3 1 b2: 7 1 + 4 2 + 0 3 1 a2: 1y 1 + 4y 2 + 8y 3 1 b3: -1 1 + 8 2 + 4 3 1 1, 2, 3 0 a3: 9y 1 + 0y 2 + 4y 3 1 y 1, y 2, y 3 0 dr Adam SOJDA 71
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Po odrzuceniu przez Agatę Damy (b3) programy można zapisać w sposób następujący: Gra dla Jacka: 1 + 2 + 3 = 1/v à min b1: 4 1 + 1 2 + 9 3 1 b2: 7 1 + 4 2 + 0 3 1 b3: 1, 2, 3 0 Gra dla Agaty: y 1 + y 2 = 1/v à ma a1: 4y 1 + 7y 2 1 a2: 1y 1 + 4y 2 1 a3: 9y 1 + 0y 2 1 y 1, y 2, y 3 0 Rozwiązanie tego programu znajdujemy z tw. o komplementarności albo w tablicy Simple Ten program można rozwiązać metodą graficzną albo algorytmem Simple. 1 = 9/63 2 =0 3 = 3/63 y 1 = 7/63 y 2 = 5/63 dr Adam SOJDA 72
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Dla Jacka: 1 = 9/63 2 =0 3 = 3/63 1 + 2 + 3 = 1/v = 12/63 Zatem v = 63/12 (v = 5.25 ) Częstości stosowania strategii: p 1 = 0.75 p 2 =0 p 3 = 0.25 Dla Agaty: y 1 = 7/63 y 2 = 5/63 y 1 + y 2 = 1/v = 12/63 Zatem v = 63/12 (v = 5.25 ) Częstości stosowania strategii: q1 =7/12=0.583(3) q2 =5/12=0.416(6) Rozwiązanie pierwotnej gry: v = 5.25 4 = 1.25 Częstości stosowania strategii: p 1 = 0.75 p 2 =0 p 3 = 0.25 Rozwiązanie pierwotnej gry: v = 5.25 4 = 1.25 Częstości stosowania strategii: q1 =7/12=0.583(3) q2 =5/12=0.416(6) dr Adam SOJDA 73
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Po odrzuceniu przez Jacka Asa otrzymujemy grę 2 2 : Agatka Jacek As Król Król -3 0 Dama 5-4 MIN ZYSK -3-4 MAX PRZEGRANA 5 0 Gra ta nie ma rozwiązania w zbiorze strategii czystych. Szukając rozwiązania w zbiorze strategii mieszanych wyznaczamy je rozwiązując układ równań (tylko w przypadku gry 2 2). Nie trzeba doprowadzać, do sytuacji, kiedy wartość gry jest ujemna i rozwiązywać programu liniowego. dr Adam SOJDA 74
Podejmowanie decyzji w warunkach konfliktu gry dwuosobowe o sumie zero Dla Jacka: p 1 + p 2 =1 à p 1 = 1- p 2-3p 1 + 5p 2 = v 0p 1 4p 2 = v Dla Agaty q 1 + q 2 =1 à q 1 = 1- q 2-3q 1 + 0q 2 = v 5q 1 4q 2 = v Podstawiamy do równań 2 i 3 i porównujemy je: Podstawiamy do równań 2 i 3 i porównujemy je: -3(1-p 2 ) + 5p 2 = 0(1-p 2 ) 4p 2-3 + 3p 2 + 5p 2 = 4p 2 12p 2 = 3 p2 = 3/12=0.25 p 1 = 0.75-3(1-q 2 ) + 0q 2 = 5(1-q 2 ) 4q 2-3 + 3q 2 =5-5q 2 4q 2 12q 2 = 8 q 2 = 8/12=2/3=0.6(6) q 1 = 1/3=0.3(3) v = -3 0.75 +5 0.25 = -1 v = -4 0.25 = -1 v = -3 1/3 = -1 v = 5 1/3-4 2/3 = -3/3 = -1 dr Adam SOJDA 75