Ekonometria - ćwiczenia 10 Mateusz Myśliwski Zakład Ekonometrii Stosowanej Instytut Ekonometrii Kolegium Analiz Ekonomicznych Szkoła Główna Handlowa 14 grudnia 2012
Wprowadzenie Optymalizacja liniowa Na dzisiejszych zajęciach zajmiemy się wstępem do badań operacyjnych, czyli dyscypliny zajmującej się wyznaczaniem optymalnych decyzji i wspomaganiem procesu decyzyjnego przy użyciu metod matematycznych. Omówimy zakres zastosowań badań operacyjnych oraz wykorzystamy optymalizację liniową do rozwiązywania prostych problemów decyzyjnych. Szczegółowo przyjrzymy się programowaniu liniowemu, rozwiążemy kilka przykładów metodą graficzną oraz zobaczymy, jak działa dodatek Solver w Excelu. Kolejne zajęcia będą poświęcone omówieniu kilku szczególnych problemów decyzyjnych oraz zagadnieniom pooptymalizacyjnym.
Przykładowy problem decyzyjny (1) Zanim wprowadzimy formalne nazewnictwo oraz podamy kilka definicji, rozważmy przykładowy problem decyzyjny. Problem decyzyjny Pewien sklep zoologiczny zajmuje się hodowlą i sprzedażą chomików oraz świnek morskich, sprzedając je po 8 i 25 zł za sztukę. Aby utrzymać przez tydzień jednego chomika, sklep musi wykorzystać 150 g trocin, 90 g karmy, a także zapewnić mu miejsce w klatce o powierzchni 200 cm 2. Natomiast w przypadku świnki morskiej to zużycie wynosi odpowiednio 100 g trocin, 300 g karmy i przynajmniej 1000 cm 2 powierzchni życiowej. Wiemy także, że sklep może sobie pozwolić, aby zużyć w tygodniu maksymalnie 2 kg trocin i 3 kg karmy oraz posiada klatki i akwaria o łącznej powierzchni 1,5 m 2. Zakładając, że wszystkie zwierzęta znajdują od razu nowych właścicieli, należy znaleźć liczbę chomików i świnek morskich, która powinna być hodowana tygodniowo przez sklep zoologiczny aby maksymalizował swój przychód.
Przykładowy problem decyzyjny (2) Rozwiązanie tego problemu można przedstawić w kilku krokach: 1 Zdefiniowanie decyzji. Pierwszym krokiem jest określenie, co będzie stanowić naszą decyzję w tym przypadku. Najpierw musimy określić niewiadome (zmienne decyzyjne) w zadaniu: x 1 liczba wyhodowanych chomików, x 2 liczba wyhodowanych świnek morskich. Zatem decyzją będzie wektor x = [x 1 x 2 ] R 2, określający, ile chomików i świnek ma być wyprodukowane, aby zmaksymalizować przychód sklepu. 2 Zdefiniowanie funkcji celu i kryterium optymalizacji. Funkcja celu (kryterium) jest to funkcja decyzji f (x), która pozwala ocenić decyzję pod względem stopnia realizacji określonego celu. W przypadku naszego zadania, celem jest maksymalizacja przychodu sklepu, zatem funkcja celu to po prostu całkowity przychód ze sprzedaży chomików i świnek morskich. Dodatkowo wiemy, że chcemy osiągnąć jak największy przychód, znamy zatem kierunek optymalizacji. Wiedząc, że chomiki sprzedajemy po 8, a świnki po 25 zł, możemy zapisać: f (x 1, x 2 ) = 8x 1 + 25x 2 max
Przykładowy problem decyzyjny (3) 3 Zapisanie warunków ograniczających. Patrząc na powyższą funkcję celu widzimy, że jest to funkcja liniowa, której wartość rośnie wraz ze wzrostem x 1 i x 2. Oczywiście nie możemy hodować nieskończenie wielu zwierząt, bo mamy pewne ograniczenia związane z posiadanymi zasobami pokarmu i powierzchni sklepowej. Zapiszmy zatem warunki ograniczające funkcję celu w zadaniu: Warunek pierwszy trociny: 0, 15 }{{} x 1 + 0, 1 }{{} x 2 2 }{{} Chomik zużywa 150g trocin Świnka zużywa 100g trocin Całkowity zasób trocin 2kg Warunek drugi karma: Warunek trzeci powierzchnia: Warunki nieujemności: 0, 09x 1 + 0, 3x 2 3 200x 1 + 1000x 2 15000 x 1, x 2 0 Warunki ograniczające wyznaczają zbiór decyzji dopuszczalnych D, tj. definiują zbiór w przestrzeni R 2, w którym może znajdować się decyzja dla danego problemu. 4 Znalezienie decyzji optymalnej, tj. maksymalizacja/minimalizacja funkcji celu przy podanych warunkach ograniczających.
Rozwiązanie zadania metodą graficzną Rozpocznijmy od wyznaczenia zbioru decyzji dopuszczalnych D: 0 5 10 15 20 25 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Rozpocznijmy od wyznaczenia zbioru decyzji dopuszczalnych D: 0 5 10 15 20 25 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Rozpocznijmy od wyznaczenia zbioru decyzji dopuszczalnych D: 0 5 10 15 20 25 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Rozpocznijmy od wyznaczenia zbioru decyzji dopuszczalnych D: 0 5 10 15 20 25 D 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Teraz nanieśmy przykładową warstwicę funkcji celu, np. dla poziomu przychodu 125 zł. 0 5 10 15 20 25 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Pamiętając, że gradient jest kierunkiem najszybszego wzrostu funkcji, wyznaczamy gradient funkcji celu: f = [8 25] i zaznaczamy go na wykresie. 0 5 10 15 20 25 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Przesuwamy warstwicę funkcji wzdłuż gradientu, aż do osiągnięcia wierzchołka lub krawędzi zbioru dopuszczalnych decyzji. 0 5 10 15 20 25 0 5 10 15 20
Rozwiązanie zadania metodą graficzną Po osiągnięciu wierzchołka lub krawędzi, jeśli warstwice są równoległe do krawędzi zbioru, zatrzymujemy się i odczytujemy rozwiązanie optymalne. 0 5 10 15 20 25 Rozwiązanie optymalne x=[25/3; 7.5] 0 5 10 15 20
Zadanie optymalizacyjne - formalnie Analizowany problem stanowi zadanie optymalizacyjne, które można zapisać formalnie w języku matematyki. Zauważmy, że rozwiązywany problem sprowadzał się po prostu do znalezienia ekstremum funkcji dwóch zmiennych na pewnym zbiorze. Na zadanie optymalizacyjne, nazywane także zadaniem programowania matematycznego składają się następujące elementy: Zmienne decyzyjne niewiadome x 1, x 2,..., x n, których wartości chcemy ustalić. Decyzja wektor x = [x 1 x 2... x n]. Zbiór decyzji dopuszczalnych D czyli zbiór opisany przez układ słabych nierówności lub równań ze zmiennymi decyzyjnymi, wyznaczający obszar, w którym może znaleźć się decyzja x. Warunki ograniczające nierówności lub równania definiujące zbiór decyzji dopuszczalnych. Funkcja celu funkcja decyzji f (x), pozwalająca ocenić decyzję pod względem stopnia realizacji postawionego celu. Kierunek optymalizacji maksymalizacja lub minimalizacja. Decyzja optymalna Decyzją optymalną (rozwiązaniem optymalnym) nazywamy najlepszą dla danej funkcji celu i ustalonego kierunku optymalizacji decyzję dopuszczalną. W zadaniach z maksymalizacją/minimalizacją funkcji celu f (x) na zbiorze D, decyzja x jest optymalna jeśli: 1 jest decyzją dopuszczalną, tj. x D, 2 x D f (x ) f (x) w przypadku maksymalizacji i x D f (x ) f (x) dla minimalizacji.
Zadanie programowania liniowego ZPL Będziemy rozważać szczególne przypadki zagadnień optymalizacyjnych, a mianowicie zadania programowania liniowego (ZPL). Charakteryzują się one następującymi cechami: Wszystkie zmienne decyzyjne są ciągłe. Warunki ograniczające są zapisane w postaci równań lub słabych nierówności liniowych. Funkcja celu jest liniową funkcją zmiennych decyzyjnych. Ogólnie zadanie programowania liniowego możemy zapisać jako: Zadanie programowania liniowego Funkcja celu: f (x 1, x 2,..., x n) = c 1 x 1 + c 2 x 2 + + c nx n max / min Przy warunkach: 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 1 + a m2 x 2 + + a mnx n b m. x 1 0, x 2 0,..., x n 0 c j to współcznnik funkcji celu dla j-tej zmiennej decyzyjnej, b i nazywamy wyrazem wolnym w i-tym warunku ograniczającym. a ij to wobec tego współczynnik przy j-tej zmiennej decyzyjnej w i-tym warunku ograniczającym. Potencjalne ograniczenia: Zmienne decyzyjne są ciągłe, co czasami sprawia kłopoty interpretacyjne. Wszystkie wielkości są liniowymi funkcjami zmiennych decyzyjnych (czyli np. w problemie produkcyjnym zawsze stałe korzyści skali). Wszystkie współczynniki są ustalone i znane, sytuacja całkowicie deterministyczna. Brak możliwości uwzględnienia niepewności.
Optymalizacja liniowa Rodzaje wyników zadań PL Zadania PL możemy podzielić ze względu na rodzaj otrzymanego wyniku (tj. rozwiązania optymalnego). ZPL z dokładnie jednym rozwiązaniem optymalnym. ZPL z nieskończenie wieloma rozwiązaniami optymalnymi (tzw. alternatywne rozwiązania optymalne). Zadania sprzeczne, nieposiadające rozwiązania optymalnego ponieważ D =. 25 ZPL bez rozwiązania optymalnego, ponieważ D jest nieograniczony (z góry w przypadku maksymalizacji, z dołu w przypadku minimalizacji). 25 1 2 3 4 15 20 10 10 15 20 Rozwiązania optymalne na odcinku 5 0 0 5 Rozwiązanie optymalne x=[25/3; 7.5] 0 5 10 15 20 0 5 10 Przypadek 1 Mateusz Myśliwski Przypadek 2 Ekonometria - ćwiczenia 10 15 20
Optymalizacja liniowa 25 25 20 20 Rodzaje wyników zadań PL Warunek 4 15 10 10 15 Dodatkowy warunek 15 Zbiór D jest pusty 5 5 Zbiór D nieograniczony z góry, brak rozw. 0 0 0 5 10 15 20 0 5 10 Przypadek 3 Mateusz Myśliwski Przypadek 4 Ekonometria - ćwiczenia 10 15 20
Własności ZPL Optymalizacja liniowa Rozwiązywanie ZPL może być ułatwione, jeśli znamy pewne własności, którymi się cechują: 1 Jeśli D jest niepusty i ograniczony, to w zadaniu programowania liniowego istnieje rozwiązanie optymalne. 2 W ZPL o nieujemnych zmiennych decyzyjnych i niepustym zbiorze rozwiązań optymalnych przynajmniej jeden wierzchołek zbioru D jest rozwiązaniem optymalnym. 3 Zbiór rozwiązań dopuszczalnych ZPL jest zbiorem wypukłym. 4 Zbiór rozwiązań optymalnych ZPL jest zbiorem wypukłym. 5 Zbiór rozwiązań optymalnych ZPL z funkcją celu f (x) nie ulega zmianie, jeśli: Zastąpimy funkcję f (x) funkcją af (x), gdzie a > 0. Zastąpimy funkcję f (x) funkcją f (x) + b, gdzie b R. 6 Zbiór rozwiązań optymalnych nie ulega zmianie, jeśli funkcja celu f (x) zostanie zastąpiona f (x) i zmieni się kierunek optymalizacji:. f (x) max f (x) min
Metody rozwiązywania ZPL Istnieje kilka metod rozwiązywania ZPL: Metoda graficzna przydatna tylko jeśli x R 2, ewentualnie x R 3. Metoda sympleks opracowana przez Dantziga (1947), wykorzystuje własność 2 podaną na poprzednim slajdzie, tj. szuka rozwiązania optymalnego poprzez wędrówkę po wierzchołkach zbioru D wzdłuż jego krawędzi, ale tylko w kierunku wzrostu funkcji celu. Inne metody algorytm criss-cross, algorytm elipsoidalny Khachiyana, algorytm Karmarkara. Metody iteracyjne szukania ekstremum funkcji (np. metoda Newtona), zaimplementowane w dodatku Solver do Excela.