BADANIA OPERACYJNE Programowanie liniowe i jego zastosowanie w innych zagadnieniach

Podobne dokumenty
BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

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

ZAGADNIENIE TRANSPORTOWE

Wykład z modelowania matematycznego. Zagadnienie transportowe.

BADANIA OPERACYJNE pytania kontrolne

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Rozdział 1 PROGRAMOWANIE LINIOWE

Zarządzanie projektami

ZAGADNIENIE TRANSPORTOWE (część 1)

BADANIA OPERACYJNE Zagadnienie transportowe

ZAGADNIENIE TRANSPORTOWE(ZT)

ZAGADNIENIE TRANSPORTOWE

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

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

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

Programowanie liniowe. Tadeusz Trzaskalik

OPTYMALIZACJA W LOGISTYCE

t i L i T i

Programowanie liniowe

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

Rozdział 7 ZARZĄDZANIE PROJEKTAMI

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

Zagadnienie transportowe

Rozdział 1 PROGRAMOWANIE LINIOWE

Metoda simpleks. Gliwice

Programowanie liniowe

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

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

Ekonometria - ćwiczenia 10

Zadanie niezbilansowane. Gliwice 1

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

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

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

Badania Operacyjne Ćwiczenia nr 6 (Materiały)

Zagadnienie transportowe

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

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

ZAGADNIENIA TRANSPORTOWE

Programowanie liniowe

Planowanie przedsięwzięć

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

ZAGADNIENIE TRANSPORTOWE (część 2)

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Programowanie liniowe metoda sympleks

ANALIZA SIECIOWA PROJEKTÓW REALIZACJI

Definicja problemu programowania matematycznego

OPTYMALIZACJA W LOGISTYCE

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

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):

Programowanie liniowe metoda sympleks

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

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

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

Zarządzanie projektami. Tadeusz Trzaskalik

Teoria gier. wstęp Teoria gier Zdzisław Dzedzej 1

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

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

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

Programowanie liniowe

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Harmonogramowanie przedsięwzięć

Rozwiązywanie programów matematycznych

Badania operacyjne. te praktyczne pytania, na które inne metody dają odpowiedzi jeszcze gorsze.

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

BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

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

PROGRAMOWANIE KWADRATOWE

Programowanie celowe #1

1 Układy równań liniowych

A. Kasperski, M. Kulej Badania Operacyjne- programowanie liniowe 1

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

Programowanie liniowe

Programowanie matematyczne

Teoretyczne podstawy programowania liniowego

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

BADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych

Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych. Piotr Kaczyński. Badania Operacyjne

PROGRAMOWANIE SIECIOWE. METODY CPM i PERT

PRZEWODNIK PO PRZEDMIOCIE

Elementy Modelowania Matematycznego

Algorytm simplex i dualność

Standardowe zadanie programowania liniowego. Gliwice 1

Układy równań liniowych

1 Przykładowe klasy zagadnień liniowych

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

PRZEWODNIK PO PRZEDMIOCIE

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

Układy równań liniowych. Ax = b (1)

FUNKCJE I RÓWNANIA KWADRATOWE. Lekcja 78. Pojęcie i wykres funkcji kwadratowej str

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Metody Ilościowe w Socjologii

Programowanie liniowe metoda sympleks

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

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

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Transkrypt:

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