Wykład 7 Informatyka Stosowana Magdalena Alama-Bućko 16 kwietnia 2018 Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 1 / 23
Programowanie liniowe Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 2 / 23
Przykład 1 : Transport Pewien wytwórca posiada centrale zbytu z Lublinie, Łodzi i Szczecinie. Centrale te posiadaja odpowiednio 20, 40 i 40 jednostek produktu. Punkty sprzedaży zamówiły nastepujace ilości jednostek produktu: Bydgoszcz - 15, Częstochowa - 20, Katowice - 25, Sopot - 15, Warszawa - 25. Koszt transportu jednostki (w zł) z każdej centrali zbytu do dowolnego punktu sprzedaży podaje następujaca tablica: Bydgoszcz Częstochowa Katowice Sopot Warszawa Lublin 40 30 40 100 40 Łódź 35 30 40 50 30 Szczecin 40 50 95 30 50 Należy tak zaplanować dystrybucję produktu, by koszt transportu był minimalny. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 3 / 23
Przykład 2 : Technologia produkcji Dyrektor pewnego przedsiębiorstwa powinien obsadzić trzy stanowiska, które wymagaja różnych kwalifikacji i praktyki zawodowej, przy czym ma do dyspozycji trzech pracowników. Ze względu na różne ich kwalifikacje i doświadczenie zawodowe wartość (dla przedsiebiorstwa) każdego z tych pracowników zależy od stanowiska, na którym jest on zatrudniony. Poniższa tabela zawiera oceny wartości poszczególnych pracowników zatrudnionych na poszczególnych stanowiskach Stanowisko I Stanowisko II Stanowisko III Pracownik A 5 8 7 Pracownik B 7 6 3 Pracownik C 6 11 2 Należy tak rozmieścić pracowników na rozważanych stanowiskach, by całkowita ich wartość dla przedsiebiorstwa była maksymalna. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 4 / 23
Przykład 3 : Dietetyka Zadaniem dietetyka jest opracowanie składu porannej owsianki tak, aby zawierała ona niezbedne dzienne zapotrzebowanie organizmu na określone składniki odżywcze i jednocześnie była możliwie najtańsza. Dietetyk ma dyspozycji płatki Corn Flakes i Nesquik. Śniadanie powinno zawierać co najmniej 1 mg witaminy B1, 12 mg zelaza i mieć wartość energetyczna równa 360 kcal. 100 g płatków Corn Flakes zawiera 1, 2 mg witaminy B1, 12 mg zelaza i ma wartość energetyczna równa 358 kcal, natomiast 100 g płatków Nesquik zawiera 1, 5 mg witaminy B1, 10 mg zelaza i ma wartość energetyczna równa 390 kcal. Ponadto 100 g płatków Corn Flakes kosztuje 32 gr, a 100 g płatków Nesquik - 36 gr. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 5 / 23
Zadanie programowania liniowego może być sformułowane w postaci: max(f(x 1, x 2,... x n )) F(x 1, x 2,... x n ) = c 1 x 1 + c 2 x 2 +... c n x n funkcja celu a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2... a m1 x n + a a2 x n + + a mn x n b m ograniczenia x 1 0, x 2 0,..., x n 0 x 1, x 2,..., x n zmienne decyzyjne Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 6 / 23
lub w zapisie macierzowym: max ( (c 1 c 2... c n )(x 1 x 2... x n ) T ), a 11 a 12 a 1n a 21 a 22 a 2n... a m1 a m2 a mn x 1 x 2. x n b 1 b 2. b m, (x 1 x 2... x n ) (0, 0,... 0). Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 7 / 23
Podejmujac decyzje szukamy zawsze rozwiazania lub zbioru rozwiazań, które zmaksymalizuje użyteczność wybranego działania i zminimalizuje poniesione koszty. Programowanie liniowe to maksymalizacja lub minimalizacja liniowej funkcji wielu zmiennych, gdy zmienne te, lub niektóre z nich, podlegaja liniowym warunkom ograniczajacym w postaci równań lub nierówności. Nazwa "programowanie" wskazuje w tym kontekście na schemat działań. Maksymalizację funkcji f można zastapić minimalizacja funkcji f. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 8 / 23
Szczególne zastosowanie programowania liniowego: optymalny wybór asortymentu produkcji jakie wyroby i w jakich ilościach powinno produkować przedsiębiorstwo w celu zmaksymalizowania zysku lub przychodu ze sprzedaży wybór technologii produkcji określenie skali czy intensywności dostępnych procesów technologicznych, aby wytworzyć określone ilości produktów przy możliwie najniższych kosztach optymalizacja składu mieszanin jakie ilości produktów żywnościowych należy zakupić, aby przy racjonalnym zaspokojeniu potrzeb organizmu obniżyć do minimum koszty wyżywienia Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 9 / 23
Przykład Chcemy zmaksymalizować funkcję 50x + 100y przy ograniczeniach 1) 10x + 5y 2500, 2) 4x + 10y 200 3) x 0 i y 0. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 10 / 23
Przykład zagadnienie optymalizacji diety Wiemy, że 1 kg chleba zawiera 75 g białka i ma 2500 kalorii, a 1 kg sera zawiera 250 g białka i ma 5000 kalorii. Dzienna dieta powinna zawierać co najmniej 100 g białka i mieć 3000 kalorii. Należy znaleźć najtańsza dietę, złożona z chleba i sera, przy założeniu, że 1 kg chleba kosztuje 5 zł, a sera 20 zł. Niech x będzie poszukiwana liczba kilogramów chleba, a y sera. Mamy: min ( 5x + 20y ) cena 2500x + 5000y 3000 kaloryczność 75x + 250y 100 zawartość białka x 0, y 0 Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 11 / 23
Inaczej: min ( 5x + 20y ) 2500x 5000y 75x 250y x 0, y 0 3000 100 lub równoważnie (warunki zapisane jako układ równań) min ( 5x + 20y ) 2500x 5000y + z 1 75x 250y + z 2 x 0, y 0, z 1 0, z 2 0 = 3000 = 100 Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 12 / 23
Graficzne rozwiazanie zagadnień programowania liniowego Jeżeli w modelu zagadnienia programowania liniowego występuja dwie zmienne decyzyjne (x i y), to rozwiazanie takiego zadania możemy wyznaczyć graficznie. w układzie współrzędnych zaznaczamy zbiór punktów spełniajacych wszystkie warunki (ograniczenia). Otrzymujemy pewien wielobok, który jest zbiorem rozwiazań dopuszczalnych. Jeżeli zbiór rozwiazań dopuszczalnych jest ograniczony i domknięty to liniowa funkcja celu osiaga wartość najmniejsza i największa. Liniowa funkcja celu może przyjmować wartości ekstremalne albo w wierzchołkach albo na całych krawędziach. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 13 / 23
Schemat 1 zaznaczamy na rysunku warstwicę F(x, y) = 0 (prosta określajaca zerowa wartość funkcję celu). Należy znaleźć taki punkt ze zbioru rozwiazań dopuszczalnych, w którym prosta równoległa do F(x, y) = 0 jest najdalej odsunięta w górę. Funkcja celu F(x, y) osiaga tam wartość największa. warstwica F(x, y) = z max najbardziej wysunięta w górę, wyznacza największa wartość funkcji celu (z wykresu odczytujemy wierzchołek (x, y) i stad mamy osiagan a wartość największa) warstwica F(x, y) = z min najbardziej wysunięta w dół, wyznacza najmniejsza wartość funkcji celu (z wykresu odczytujemy wierzchołek (x, y) i stad mamy osiagan a wartość najmniejsza) Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 14 / 23
Schemat 2 (trochę prostszy) 1) wyznaczyć obszar rozwiazań dopuszczalnych 2) wyznaczamy wierzchołki tego obszaru 3) wyznaczamy wartość funkcji celu we wszystkich wierzchołkach 4) Jeżeli obszar dopuszczalnych decyzji jest ograniczony i domknięty, to spośród tych wartości wybieramy wartość największa i najmniejsza. 5) Jeżeli obszar dopuszczalnych decyzji nie jest ograniczony i domknięty, to maksimum albo minimum nie istnieje. 6) Jeżeli ta sama wartość ekstremalna jest przyjmowana w kilku wierzchołkach, to analizujemy rysunek, czy to ekstremum nie jest osiagane na całym boku. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 15 / 23
Przykład 1 Znaleźć najmniejsza i największa wartość funkcji F(x, y) = 50x + 100y przy warunkach 10x + 5y 2500, 4x + 10y 200 x 0, y 0. y 2x + 500 y 2 5 x + 20, x 0, y 0 Rysunek: zbiór dopuszczalnych decyzji Rysunek: zbiór dopuszczalnych decyzji (w przybliżeniu ) Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 16 / 23
wierzchołki (0, 0), (50, 0), (0, 20) Sposób 1 F(x, y) = 0 50x + 100y = 0 y = 0.5x Rysunek: poziomica F (x, y) = 0 i jej przesunięcia przechodzace przez wierzchołki Widać że najwyżej w górę przesunięta jest poziomica przechodzaca przez wierzchołek (50, 0), zatem F max = F(50, 0) = 50 50 + 100 0 = 2500. Widać że najniżej wysunięta jest poziomica przechodzaca przez wierzchołek (0, 0), zatem F min = F(0, 0) = 50 0 + 100 0 = 0. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 17 / 23
Sposób 2: x y F(x, y) = 50x + 100y 0 0 0 min 50 0 2500 max 0 20 2000 F max = F(50, 0) = 2500 F min = F(0, 0) = 0 Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 18 / 23
Przykład 2 Znaleźć najmniejsza i największa wartość funkcji F(x, y) = 5x + 20y przy warunkach 2500x 5000y 75x 250y x 0, y 0 3000 100 y 0.5x + 0.6 y 0.3x + 0.4, x 0, y 0 Rysunek: zbiór dopuszczalnych decyzji Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 19 / 23
wierzchołki :(0, 0.6), ( 4 3, 0), (1, 0.1) Sposób 1 Poziomica F(x, y) = 0 5x + 20y = 0 y = 1 4 x ponieważ 0.25 > 0.3 (porównujac współczynniki kierunkowe zerowej poziomicy i prostych opisujacych brzeg), to przesuwajac poziomicę y = 1 4x w górę, pierwszym punktem, w którym dotknie ona zbioru dopuszczalnych decyzji jest wierzchołek ( 4 3, 0) F max nie jest osiagana, bo obszar dopuszczalnych decyzji jest nieograniczony F min = F( 4 3, 0) = 20 3 Sposób 2: x y F(x, y) = 5x + 20y 0 0.6 12 4 20 3 0 3 min 1 0.1 7 F max nie istnieje, bo obszar nieograniczony F min = F( 4 3, 0) = 20 3 Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 20 / 23
Przykład 3 Znaleźć największa i najmniejsza wartość funkcji F(x, y) = 3x + y przy warunkach 4x y 4 3x + y 6 x y 6 x 0, y 0 y 4x 4 y 3x + 6, y x 6 x 0, y 0 Rysunek: zbiór dopuszczalnych decyzji Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 21 / 23
zbiór rozwiazań dopuszczalnych jest nieograniczony wierzchołki : (2, 0), (6, 0), (1 3 7, 1 5 7 ) Poziomica F(x, y) = 0 3x + y = 0 y = 3x ponieważ poziomica y = 3x jest równoległa do prostej y = 3x + 6, to z min = 6 dla wszystkich punktów na prostej y = 3x + 6 dla x ( 10 7, 2) z max nie jest osiagana Sposób 2: x y F(x, y) = 3x + y 2 0 6 min 6 0 18 1 3 7 1 5 42 7 7 = 6 min F max nie istnieje, bo obszar nieograniczony F min = 6 na całym odcinku y = 3x + 6 dla x ( 10 7, 2), bo prosta y = 3x + 6 jest równoległa do poziomicy y = 3x. Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 22 / 23
Dziękuję za uwagę! Magdalena Alama-Bućko Wykład 7 16 kwietnia 2018 23 / 23