Wspomaganie Decyzji II

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Obserwowalność System ciągły System dyskretny
Macierze, wyznaczniki, odwracanie macierzy i wzory Cramera
Wybrane zastosowania programowania liniowego
Metoda simpleks Simpleks jest uniwersalną metodą rozwiązywania zadań programowania liniowego. Jest to metoda iteracyjnego poprawiania wstępnego rozwiązania.
Algorytmy – różne przykłady
Wzory Cramera a Macierze
Badania operacyjne. Wykład 2
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
Dodawanie ułamków o różnych mianownikach
Macierze Maria Guzik.
Zagadnienie transportowe
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Wykład 2: Upraszczanie, optymalizacja i implikacja
Metoda simpleks opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź Simpleks jest uniwersalną.
Problem transportowy opracowanie na podstawie „Metody wspomagające podejmowanie decyzji w zarządzaniu” D. Witkowska, Menadżer Łódź 2000.
Zadanie pierwotne Zadanie dualne Max f. celu Współczynniki f. celu Warunki „=„ Warunki „=„ Macierz parametrów Min f. celu.
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Jaki jest następny wyraz ciągu: 1, 2, 4, 8, 16, …?
Dyskretny szereg Fouriera
Matematyka.
O relacjach i algorytmach
Matematyka Architektura i Urbanistyka Semestr 1
Wyrażenia algebraiczne
Badania operacyjne Wykład 5.
Obserwatory zredukowane
Stabilność Stabilność to jedno z najważniejszych pojęć teorii sterowania W większości przypadków, stabilność jest warunkiem koniecznym praktycznego zastosowania.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
II Zadanie programowania liniowego PL
ALGORYTMY OPTYMALIZACJI
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
METODY NUMERYCZNE I OPTYMALIZACJA
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
Dana jest sieć dystrybucji wody w postaci: Ø      m- węzłów,
Obserwowalność i odtwarzalność
Sterowanie – metody alokacji biegunów II
Algebra Przestrzenie liniowe.
Przekształcenia liniowe
Logistyka Transport.
MS Excel - wspomaganie decyzji
FUNKCJE Opracował: Karol Kara.
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
Politechniki Poznańskiej
II Zadanie programowania liniowego PL
D. Ciołek BADANIA OPERACYJNE – wykład 2
D. Ciołek BADANIA OPERACYJNE – wykład 4
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Wyznaczniki, równania liniowe, przestrzenie liniowe Algebra 1
Kalendarz 2020.
Wspomaganie Decyzji IV
Wykłady z matematyki „W y z n a c z n i k i”
WYKŁAD 06 Programowanie dynamiczne Grażyna Mirkowska.
Zagadnienie i algorytm transportowy
Matematyka Ekonomia, sem I i II.
D. Ciołek BADANIA OPERACYJNE – wykład 2
Zarządzanie projektami
Treść dzisiejszego wykładu l Metoda kar. l Podsumowanie przekształcania zadań programowania liniowego do postaci tabelarycznej. l Specjalne przypadki –sprzeczność,
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
Treść dzisiejszego wykładu l Analiza wrażliwości –zmiana wartości współczynników funkcji celu, –zmiana wartości prawych stron ograniczeń. l Podejścia do.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
Rozpatrzmy następujące zadanie programowania liniowego:
Metody optymalizacji Materiał wykładowy /2017
Zapis prezentacji:

Wspomaganie Decyzji II Roman Słowiński Zakład Inteligentnych Systemów Wspomagania Decyzji Instytut Informatyki Politechniki Poznańskiej  Roman Słowiński

Specjalne problemy programowania liniowego Problemy decyzyjne modelowane w kategoriach programowania matematycznego, sprowadzalne do programowania liniowego Problem programowania ilorazowego Transformacja Charnesa-Coopera

Specjalne problemy programowania liniowego Problem programowania celowego

Specjalne problemy programowania liniowego Problem programowania min-max (problem Czebyszewa)

Specjalne problemy programowania liniowego Problem transportowy m – liczba punktów nadawczych (magazyny) n – liczba punktów odbiorczych (klienci) cij – koszt transportu jednostki towaru z magazynu i do odbiorcy j dj – zapotrzebowanie odbiorcy j si – ilość towaru w magazynie i Należy zminimalizować łączne koszty transportu Zmienna decyzyjna: xij – ilość towaru przesłana z magazynu i do odbiorcy j

Specjalne problemy programowania liniowego Problem transportowy Problem ten można rozwiązać metodą sympleksów

Specjalne problemy programowania liniowego Problem przydziału m – liczba zadań (programy) m – liczba wykonawców (procesory) cij – koszt wykonania zadania i przez wykonawcę j Elementy cij tworzą macierz efektywności C=[cij] o wymiarach mm Każde zadanie może być wykonywane przez co najwyżej jednego wykonawcę Każdy wykonawca może wykonać tylko jedno zadanie Należy tak przydzielić zadania do wykonawców, by zminimalizować łączny koszt wykonania wszystkich zadań

Specjalne problemy programowania liniowego Zmienna decyzyjna: Jest to problem 0-1 programowania liniowego Jest to także przypadek szczególny problemu transportowego, gdzie si = dj = 1, n=m i zmienna decyzyjna jest 0-1

Specjalne problemy programowania liniowego Problem transportowy ma tę korzystną własność, że jeżeli si i dj są liczbami całkowitymi i istnieje choćby jedno rozwiązanie dopuszczalne, to istnieje rozwiązanie optymalne, w którym xij są wszystkie liczbami całkowitymi lub zerami Metoda sympleksowa znajduje to całkowitoliczbowe rozwiązanie optymalne Dzieje się tak dlatego, gdyż macierz współczynników ograniczeń A problemu transportowego jest unimodularna (wyznacznik dowolnej podmacierzy kwadratowej macierzy A jest = 0, 1 lub -1), a wektor prawych stron ograniczeń b jest złożony z liczb całkowitych (x=B-1b) Problem przydziału ma zatem tę samą własność Istnieje jednak prostsza metoda rozwiązania problemu przydziału

Specjalne problemy programowania liniowego Macierz efektywności C=[cij] o wymiarach mm Przydział wykonawcy do zadania polega na wyborze konkretnego elementu cij Tych m wybranych elementów cij ma dać minimalną sumę cij zadania 2 10 9 7 15 4 14 8 13 16 11 przydział niedopuszczalny wykonawcy

Specjalne problemy programowania liniowego Operacje arytmetyczne na macierzy efektywności C=[cij] nie powodujące zmiany rozwiązania optymalnego: Dodanie lub odjęcie dowolnej stałej od dowolnego wiersza lub kolumny macierzy C=[cij] Np. odejmując 3 od wiersza i oraz dodając 2 do kolumny j otrzymamy: cij zadania 2 10 9 7 15 4 14 8 13 16 11 wykonawcy , tzn. funkcja celu ulega tylko przesunięciu o pewna stałą

Specjalne problemy programowania liniowego Odejmijmy zatem najmniejszy element różny od zera w każdym wierszu i w każdej kolumnie: 9 13 15 4 11 16 14 8 7 10 2 zadania cij wykonawcy -2 -4 -11

Specjalne problemy programowania liniowego Odejmijmy zatem najmniejszy element różny od zera w każdym wierszu i w każdej kolumnie: 5 9 11 3 2 4 10 7 8 zadania cij wykonawcy -5

Specjalne problemy programowania liniowego Otrzymujemy macierz efektywności C=[cij] z co najmniej m elementami zerowymi: Warunkiem koniecznym optymalnego przydziału jest dokonanie go według współrzędnych elementów zerowych macierzy C=[cij] Warunkiem dostatecznym optymalnego przydziału jest niezależność m wybranych elementów zerowych macierzy C=[cij], według których nastąpił przydział (para elementów niezależnych = elementy w dwóch różnych wierszach i w dwóch różnych kolumnach) 5 4 11 3 2 8 zadania cij wykonawcy

Specjalne problemy programowania liniowego Twierdzenie Königa: Maksymalna liczba niezależnych elementów zerowych dowolnej macierzy C równa jest minimalnej liczbie linii koniecznych do pokrycia wszystkich elementów zerowych tej macierzy Na powyższych elementach zerowych macierzy C nie da się stworzyć optymalnego przydziału (3 linie = 3 elementy zerowe niezależne < 4) cij zadania 8 2 5 11 4 3 wykonawcy

Specjalne problemy programowania liniowego Algorytm metody węgierskiej (dla minimalizacji łącznego kosztu przydziału) W każdym wierszu wyznacz minimalny element i odejmij go od każdego elementu tego wiersza. 9 13 15 4 11 16 14 8 7 10 2 zadania cij wykonawcy -2 -4 -11 5 9 11 3 2 4 10 7 8 zadania cij wykonawcy

Specjalne problemy programowania liniowego W każdej kolumnie wyznacz minimalny element i odejmij go od każdego elementu tej kolumny. Jeśli w danym wierszu jest dokł. jedno nienaznaczone zero, to naznacz je symbolem  i skreśl inne zera w odpowiadającej mu kolumnie. Jeśli w danej kolumnie jest dokł. jedno nienaznaczone zero, to naznacz je symbolem  i skreśl inne zera w odpowiadającym mu wierszu. 5 9 11 3 2 4 10 7 8 zadania cij wykonawcy -5 5 4 11 3 2 8 zadania cij wykonawcy

Specjalne problemy programowania liniowego Kroki 3 – 4 powtarzaj do wyczerpania. Jeśli znaleziono przydział do m zer, to jest on optymalny  STOP. Jeśli są jeszcze nienaznaczone zera, to naznacz jedno z nich symbolem  („północno-zachodnie”) i skreśl inne zera w odpowiadającej mu kolumnie i wierszu Zaznacz wiersze bez przydziału . Zaznacz kolumny, które mają zero w dowolnym zaznaczonym wierszu. Zaznacz wiersze, które mają przydział w zaznaczonych kolumnach. Powtarzaj kroki 8 – 9 do wyczerpania. np. # zadania cij wykonawcy 5 4 11 3 2 8 zadania cij wykonawcy

Specjalne problemy programowania liniowego Pokryj liniami niezaznaczone wiersze i zaznaczone kolumny. Jeśli liczba linii pokrywających wszystkie zera jest równa liczbie naznaczonych zer, to znajdź minimalny niepokryty element, odejmij go od niepokrytych (zaznaczonych) wierszy i dodaj do pokrytych (zaznaczonych) kolumn, po czym wróć do kroku 3. W przeciwnym razie przejdź do kroku 13. 5 4 11 3 2 8 zadania cij wykonawcy 5 4 11 3 2 8 zadania cij wykonawcy -2 -2 +2

Specjalne problemy programowania liniowego Pokryj liniami niezaznaczone wiersze i zaznaczone kolumny. Jeśli liczba linii pokrywających wszystkie zera jest równa liczbie naznaczonych zer, to znajdź minimalny niepokryty element, odejmij go od niepokrytych (zaznaczonych) wierszy i dodaj do pokrytych (zaznaczonych) kolumn, po czym wróć do kroku 3. W przeciwnym razie przejdź do kroku 13. 5 4 11 3 2 8 zadania cij wykonawcy 3 2 9 4 5 13 6 zadania cij wykonawcy

Specjalne problemy programowania liniowego Kroki 3, 4, 5: Optymalny przydział: wykonawca  zadanie koszt w1  z3 9 w2  z2 4 w3  z4 11 w4  z1 4 3 2 9 4 5 13 6 zadania cij wykonawcy 3 2 9 4 5 13 6 zadania cij wykonawcy + 28

Specjalne problemy programowania liniowego Skonstruuj graf skierowany o 2m+2 wierzchołkach: s, w1,…,wm, z1,…,zm, t. Dla każdego naznaczonego zera () o współrzędnych (i,j) utwórz łuk zj  wi ; dla zer skreślonych () o współrzędnych (i,j) – łuk wi  zj ; dla wierszy i bez przydziału – łuk s  wi ; dla kolumn j bez przydziału – łuk zj  t. Konieczne są 4 linie do pokrycia wszystkich zer, czyli istnieją 4 zera niezależne, a przydziału dokonano tylko do 3 zer. np. 13 7 zadania cij wykonawcy 6 zadania cij wykonawcy 6 zadania cij wykonawcy

Specjalne problemy programowania liniowego Skonstruuj graf skierowany o 2m+2 wierzchołkach: s, w1,…,wm, z1,…,zm, t. Dla każdego naznaczonego zera () o współrzędnych (i,j) utwórz łuk zj  wi ; dla zer skreślonych () o współrzędnych (i,j) – łuk wi  zj ; dla wierszy i bez przydziału – łuk s  wi ; dla kolumn j bez przydziału – łuk zj  t. 6 zadania cij wykonawcy w1 z1 w2 w3 w4 z2 z3 z4 s t wiersz (wykonawca) kolumna (zadanie)

Specjalne problemy programowania liniowego Skonstruuj graf skierowany o 2m+2 wierzchołkach: s, w1,…,wm, z1,…,zm, t. Dla każdego naznaczonego zera () o współrzędnych (i,j) utwórz łuk zj  wi ; dla zer skreślonych () o współrzędnych (i,j) – łuk wi  zj ; dla wierszy i bez przydziału – łuk s  wi ; dla kolumn j bez przydziału – łuk zj  t. 6 zadania cij wykonawcy w1 z1 w2 w3 w4 z2 z3 z4 s t wiersz (wykonawca) kolumna (zadanie)

Specjalne problemy programowania liniowego Skonstruuj graf skierowany o 2m+2 wierzchołkach: s, w1,…,wm, z1,…,zm, t. Dla każdego naznaczonego zera () o współrzędnych (i,j) utwórz łuk zj  wi ; dla zer skreślonych () o współrzędnych (i,j) – łuk wi  zj ; dla wierszy i bez przydziału – łuk s  wi ; dla kolumn j bez przydziału – łuk zj  t. 6 zadania cij wykonawcy w1 z1 w2 w3 w4 z2 z3 z4 s t wiersz (wykonawca) kolumna (zadanie)

Specjalne problemy programowania liniowego Z otrzymanego grafu utwórz sieć warstwową: do pierwszej warstwy wstaw wierzchołek s, do warstwy i+1 wstaw każdy wierzchołek, którego nie ma w warstwie wcześniejszej, i do którego dochodzi łuk z dowolnego wierzchołka warstwy i. W ostatniej warstwie znajdzie się wierzchołek t. 6 zadania cij wykonawcy w1 z1 w2 w3 w4 z2 z3 z4 s t wiersz (wykonawca) kolumna (zadanie)

Specjalne problemy programowania liniowego Z otrzymanego grafu utwórz sieć warstwową: do pierwszej warstwy wstaw wierzchołek s, do warstwy i+1 wstaw każdy wierzchołek, którego nie ma w warstwie wcześniejszej, i do którego dochodzi łuk z dowolnego wierzchołka warstwy i. W ostatniej warstwie znajdzie się wierzchołek t. w1 z1 w2 w3 w4 z2 z3 z4 s t w1 z1 w2 w3 w4 z2 z3 z4 s t sieć warstwowa

Specjalne problemy programowania liniowego Przesuwając się po dowolnej ścieżce od t do s utwórz tzw. ścieżkę powiększającą przepływ. Naznacz () zera skreślone o współrzędnych (i,j), odpowiadające łukowi wi  zj na tej ścieżce; cofnij () przydział zer naznaczonych o współrzędnych (i,j), odpowiadających łukowi zj  wi na tej ścieżce. W poniższej sieci są 4 ścieżki powiększające przepływ w1 z1 w2 w3 w4 z2 z3 z4 s t sieć warstwowa

Specjalne problemy programowania liniowego Przesuwając się po dowolnej ścieżce od t do s utwórz tzw. ścieżkę powiększającą przepływ. Naznacz () zera skreślone o współrzędnych (i,j), odpowiadające łukowi wi  zj na tej ścieżce; cofnij () przydział zer naznaczonych o współrzędnych (i,j), odpowiadających łukowi zj  wi na tej ścieżce. ścieżka powiększająca przepływ s w4 z1 w1 z3 w2 z4 t

Specjalne problemy programowania liniowego Przesuwając się po dowolnej ścieżce od t do s utwórz tzw. ścieżkę powiększającą przepływ. Naznacz () zera skreślone o współrzędnych (i,j), odpowiadające łukowi wi  zj na tej ścieżce; cofnij () przydział zer naznaczonych o współrzędnych (i,j), odpowiadających łukowi zj  wi na tej ścieżce. Jeśli znaleziono przydział do m zer, to jest on optymalny  STOP. Wróć do kroku 7. 6 zadania cij wykonawcy 6 13 zadania cij wykonawcy w4  z1 w1  z3 w2  z4 z1  w1 z3  w2 Przydział optymalny

Specjalne problemy programowania liniowego Uwagi uzupełniające: Ten sam algorytm można zastosować dla problemu maksymalizacji funkcji celu (zysku), jeśli zamieni się znaki elementów macierzy C=[cij] na przeciwne. Jeśli macierz C=[cij] nie jest kwadratowa, to można ją uzupełnić elementami zerowymi w kolumnach lub wierszach, tak aby uzyskać macierz kwadratową. Jeśli przydział wykonawcy i do zadania j jest zakazany, to przyjmujemy cij = .