Ekonometria dla Finansów i Rachunkowości

Podobne dokumenty
BADANIA OPERACYJNE I TEORIE OPTYMALIZACJI. Zagadnienie transportowe

OPTYMALIZACJA W LOGISTYCE

ZAGADNIENIE TRANSPORTOWE

Narzędzia wspomagania decyzji logistycznych

Programowanie liniowe. Tadeusz Trzaskalik

Rozdział 1 PROGRAMOWANIE LINIOWE

Wykład z modelowania matematycznego. Zagadnienie transportowe.

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

Metoda simpleks. Gliwice

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

BADANIA OPERACYJNE Zagadnienie transportowe. dr Adam Sojda

Rozdział 1 PROGRAMOWANIE LINIOWE

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

BADANIA OPERACYJNE pytania kontrolne

Elementy Modelowania Matematycznego

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

1 Układy równań liniowych

ZAGADNIENIE TRANSPORTOWE (część 1)

ZAGADNIENIE TRANSPORTOWE(ZT)

Wprowadzenie do analizy korelacji i regresji

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

BADANIA OPERACYJNE Zagadnienie transportowe

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

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Programowanie liniowe

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

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

KLASYCZNE ZAGADNIENIE TRANSPORTOWE (KZT).

Ekonometria - ćwiczenia 10

ZAGADNIENIE TRANSPORTOWE

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

K wartość kapitału zaangażowanego w proces produkcji, w tys. jp.

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

FUNKCJA LINIOWA - WYKRES

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

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

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

Programowanie liniowe

Etapy modelowania ekonometrycznego

Elementy Modelowania Matematycznego

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Zadanie 1 Zakładając liniową relację między wydatkami na obuwie a dochodem oszacować MNK parametry modelu: y t. X 1 t. Tabela 1.

Rozdział 8. Regresja. Definiowanie modelu

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Programowanie celowe #1

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

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

Zagadnienie transportowe

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Analiza współzależności dwóch cech I

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

PDF created with FinePrint pdffactory Pro trial version

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Regresja wieloraka Ogólny problem obliczeniowy: dopasowanie linii prostej do zbioru punktów. Najprostszy przypadek - jedna zmienna zależna i jedna

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

D. Miszczyńska, M.Miszczyński KBO UŁ, Badania operacyjne [1]

JEDNORÓWNANIOWY LINIOWY MODEL EKONOMETRYCZNY

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

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Definicja problemu programowania matematycznego

OPTYMALIZACJA W LOGISTYCE

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Teoretyczne podstawy programowania liniowego

Programowanie liniowe metoda sympleks

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

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

parametrów strukturalnych modelu = Y zmienna objaśniana, X 1,X 2,,X k zmienne objaśniające, k zmiennych objaśniających,

Definicja i własności wartości bezwzględnej.

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Ekonometria. Wprowadzenie do modelowania ekonometrycznego Estymator KMNK. Jakub Mućk. Katedra Ekonomii Ilościowej

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

( 1) ( ) 16 Warunki brzegowe [WB] Funkcja celu [FC] Ograniczenia [O] b i ( 2) ( ) ( ) 14. FC max. Kompletna postać bazowa

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

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

Optymalizacja ciągła

ZAGADNIENIA TRANSPORTOWE

Analiza współzależności zjawisk

Analiza zależności liniowych

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

Zagadnienie transportowe

PROGRAMOWANIE KWADRATOWE

Metody numeryczne Wykład 4

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Regresja wielokrotna jest metodą statystyczną, w której oceniamy wpływ wielu zmiennych niezależnych (X1, X2, X3,...) na zmienną zależną (Y).

Programowanie liniowe metoda sympleks

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Standardowe zadanie programowania liniowego. Gliwice 1

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Transkrypt:

Ekonometria dla Finansów i Rachunkowości Dr Adam Kucharski Spis treści 1 Optymalizacja liniowa 2 1.1 Programowanie liniowe................................. 2 1.2 Metoda graficzna.................................... 3 1.3 Algorytm simplex.................................... 6 1.4 Wyceny dualne..................................... 11 1.5 Zadanie transportowe................................. 12 1.6 Wybrane modyfikacje klasycznego zadania transportowego............. 18 2 Modele opisowe 19 2.1 Pojęcia podstawowe.................................. 19 2.2 Równanie stochastyczne a deterministyczne..................... 20 2.3 Metoda Najmniejszych Kwadratów.......................... 21 2.4 Model regresji liniowej................................. 22 2.5 Statystyczna weryfikacja jakości modelu....................... 24 2.6 Autokorelacja składnika losowego........................... 26 2.7 Weryfikacja merytoryczna............................... 28 2.8 Zmienne zero-jedynkowe................................ 29 2.9 Modele ekonometryczne a prognozowanie...................... 31 2.10 Modele trendu..................................... 31 2.11 Przykład estymacji modelu jednorównaniowego................... 33

1 Optymalizacja liniowa 1.1 Programowanie liniowe Problem decyzyjny istnieje wtedy kiedy zachodzą następujące okoliczności: 1. Pojawia się decydent (osoba lub grupa osób), który musi rozwiązać problem; 2. Decydent chce osiągnąć pewien cel; 3. Istnieją co najmniej dwa sposoby na osiągnięcie zakładanego celu; 4. Istnieje otoczenie, które wpływa na sposób rozwiązania problemu lub jego wynik. Proces podejmowania decyzji może zostać wsparty przez odpowiednio skonstruowane modele matematyczne zwane też modelami decyzyjnymi. Normalna jest tutaj sytuacja, w której należy dokonać wyboru pomiędzy wieloma możliwymi decyzjami, zwanymi decyzjami dopuszczalnymi. Dają one decydentowi szansę na spełnienie ograniczeń jakie często narzuca na przykład otoczenie. Przydatny staje się zestaw narzędzi pozwalający podjąć najlepszą z decyzji. Ostatnie zdanie oznacza, że decydent posługuje się pewnym kryterium, które pozwala mu odróżnić lepsze decyzje od gorszych. Na zbiorze decyzji dopuszczalnych określana jest tzw. funkcja kryterium (funkcja celu), dla której poszukuje się wartości największej lub najmniejszej. Zmienne zawierające w sobie konkretne decyzje nazywać będziemy zmiennymi decyzyjnymi. Programowanie liniowe (PL) zalicza się do znacznie szerszej grupy metod programowania matematycznego. Metody na nim bazujące są bardzo popularne ze względu na swoją prostotę oraz dlatego, że spora część innych modeli decyzyjnych da się przekształcić do postaci zadania PL. Charakteryzuje się ono tym, że zarówno funkcja celu oraz zbiór decyzji dopuszczalnych opisany przy pomocy równań i nierówności mają postać liniową. Ogólna postać takiego zadania jest następująca: f(x) = c 1 x 1 + c 2 x 2 +... + c n x n max / min a 11 x 1 + a 12 x 2 +... + a 1n x n b 1 funkcja celu. +. +... +... a k1 x 1 + a k2 x 2 +... + a kn x n = b k ograniczenia. +. +... +... a m1 x 1 + a m2 x 2 +... + a mn x n b m x 1 0, x 2 0,..., x n 0 warunki brzegowe Zmienne x j (j = 1, 2,..., n) są to właśnie zmienne decyzyjne. Dla uproszczenia zakładać będziemy, że wszystkie prawe strony ograniczeń są nieujemne (czyli bj 0 dla j = 1, 2,..., m). Wypadkowa ograniczeń i warunków brzegowych tworzy zbiór rozwiązań dopuszczalnych. Poszukiwanie rozwiązania wiąże się z następującymi twierdzeniami: Twierdzenie 1.1 Zbiór rozwiązań dopuszczalnych zadania PL zbiorem domkniętym, wypukłym, o skończonej liczbie wierzchołków. Twierdzenie 1.2 Funkcja liniowa f(x) określona na domkniętym zbiorze wypukłym X, o skończonej liczbie wierzchołków osiąga swoją wartość największą (najmniejszą) w wierzchołku tego zbioru. Jeżeli wartość taką osiąga w więcej niż jednym wierzchołku, to osiąga ją również w każdym punkcie będącym wypukłą kombinacją takich wierzchołków. 2 z 37

1.2 Metoda graficzna Jeżeli problem da się opisać przy pomocy tylko dwóch zmiennych decyzyjnych (x 1, x 2 ) wówczas da się go rozwiązać graficznie. Metoda graficzna ma właściwie walory wyłącznie dydaktyczne, ponieważ dobrze ilustruje sposób poszukiwania rozwiązania optymalnego na zbiorze rozwiązań dopuszczalnych. Zbiór ten wyznacza się w prostokątnym układzie współrzędnych (ograniczonym do pierwszej ćwiartki ze względu na warunki brzegowe) wyznaczając część wspólną nierówności i równań tworzących ograniczenia zadania. W przypadku kiedy ograniczenia podane są wyłącznie jako nierówności, zbiór rozwiązań dopuszczalnych jest wielobokiem wypukłym. Poszukiwanie optymalnego rozwiązania można przeprowadzić na dwa sposoby: 1. Wyznaczyć współrzędne wszystkich wierzchołków zbioru i podstawić je do funkcji celu; 2. Wyznaczyć rozwiązanie w oparciu o gradient funkcji celu. Pierwsze z podejść przestaje być wygodne gdy liczba wierzchołków zbioru rozwiązań dopuszczalnych jest duża. Dlatego omówiony zostanie drugi sposób. Gradientem funkcji celu jest wektor zawierający pochodne f(x) względem zmiennych decyzyjnych. Tworzą go więc współczynniki funkcji celu. Gradient pokazuje kierunek najszybszego wzrostu wartości f(x) niezależny od wartości zmiennych decyzyjnych. Jeżeli współrzędne gradientu są zbyt małe lub zbyt duże, aby wygodnie umieścić go na rysunku, można pomnożyć gradient przez odpowiednio dobraną stałą. Gradient nanosi się na wykres, zaczepiając go w początku układu współrzędnych. Następnie wykreśla się prostą prostopadłą do gradientu (tzw. warstwicę) tak, aby przechodziła przez zbiór X. Poszukując wartości największej f(x) przesuwamy warstwicę równolegle w kierunku jaki pokazuje gradient (czyli oddalając się od początku układu współrzędnych) tak długo dopóki nie dotrzemy do ostatniego punktu (wierzchołka) przed opuszczenie zbioru X. Jest to właśnie punkt optymalny. Poszukując wartości najmniejszej postępuje się podobnie, z tą różnicą, że warstwicę przesuwamy w kierunku przeciwnym. Przykład zastosowania metody graficznej 1 Mały zakład wytwarza dwa produkty A i B, których ceny zbytu wynoszą odpowiednio 3 zł/szt. oraz 4 zł/szt. Należy opracować dzienny plan produkcji zakładu tak, aby wartość produkcji liczona w cenach zbytu była możliwie największa. Produkcja jest limitowana głównie przez dwa czynniki: dostępny czas pracy maszyn i surowiec podstawowy. Dzienny limit czasu pracy maszyn wynosi 500 minut. Umowy z producentem surowca podstawowego wskazują, że każdego dnia zakład będzie miał do dyspozycji 350 kg tego surowca (bezpieczny poziom). Zakład jest zainteresowany takim programem dziennej produkcji, przy którym osiągał będzie zysk minimum 600 zł. Sztuka wyrobu A wymaga 1 minuty czasu pracy maszyn, natomiast sztuka wyrobu B 2 minut. Na wyprodukowanie sztuki wyrobu A zużywa się 1 kg surowca specjalnego. Również sztuka wyrobu B wymaga 1 kg tego surowca. Jednostkowy zysk ze sztuki wyrobu A wynosi 2 zł/szt., a ze sztuki wyrobu B 1 zł/szt. Model decyzyjny prezentuje się następująco: Zmienne decyzyjne: x 1 dzienna produkcja wyrobu A [szt.] x 2 dzienna produkcja wyrobu B [szt.] 1 Przykład pochodzi z: D. Miszczyńska, M. Miszczyński Wybrane metody badań operacyjnych, Wyższa Szkoła Ekonomiczno-Humanistyczna w Skierniewicach, Skierniewice 2002. 3 z 37

Funkcja celu (wartość produkcji w cenach zbytu): w(x 1, x 2 ) = w(x) = 3x 1 + 4x 2 max [zł] Ograniczenia: maszyny: x 1 + 2x 2 500 [minuta] surowiec: x 1 + x 2 350 [kg] min. zysk: 2x 1 + x 2 600 [zł] Warunki brzegowe: x 1 0, x 2 0 [szt.] Rysunek 1 prezentuje zbiór rozwiązań dopuszczalnych. x 2 600 zysk 500 400 300 surowiec 200 100 maszyny 100 200 300 400 500 600 x 1 Rysunek 1: Zbiór rozwiązań dopuszczalnych dla przykładu Na rysunku 1 zaznaczamy gradient funkcji, którym jest następujący wektor: [ ] 3 f(x) = 4 Ponieważ nie byłby on zbyt widoczny przy obecnej skali wykresu, jego składowe zostaną pomnożone przez 50. Na rysunku 2 znajduje się ilustracja poszukiwania optymalnego rozwiązania. Poszukujemy największej wartości funkcji celu, warstwica przesuwana jest zgodnie ze zwrotem gradientu. Ostatni punkt, w którym przecina zbiór rozwiązań dopuszczalnych znajduje się w punkcie (250, 100). Otrzymujemy więc następujące rozwiązanie: należy wyprodukować 250 sztuk wyrobu A i 100 sztuk wyrobu B, zapewni to zysk maksymalny w wysokości: 3*250+4*100=1050 zł. Powyższe rozwiązanie stanowi konkretny wierzchołek zbioru X. Dlatego nazywamy je pojedynczym, skończonym rozwiązaniem optymalnym. Oprócz niego mogą istnieć inne rodzaje rozwiązań, które zilustrują następne rysunki. 4 z 37

x 2 600 500 400 G(300,400) 300 200 rozwiązanie optymalne 100 100 200 300 400 500 600 x 1 Rysunek 2: Gradient i rozwiązanie przykładu Zadanie sprzeczne: Zadanie jest sprzeczne, kiedy nie uda się wyznaczyć części wspólnej ograniczeń, czyli zbioru rozwiązań dopuszczalnych. x 2 x 1 Rysunek 3: Zadanie sprzeczne Brak skończonego rozwiązania optymalnego: W sytuacji zaprezentowanej na powyższym rysunku nie jest możliwe znalezienie wartości największej funkcji celu 2. Zbiór rozwiązań dopuszczalnych nie jest bowiem w żaden sposób ograniczony w jego górnej części i nie będzie możliwe znalezienie punktu, w którym warstwica przechodzi przez tez zbiór po raz ostatni. Więcej niż jedno skończone rozwiązanie optymalne: W ostatniej z omawianych sytuacji warstwica (dla przypadku maksymalizacji funkcji celu) pokrywa się z całym bokiem wieloboku utworzonego z ograniczeń zadania. Wartość funkcji celu w różnych punktach A i B oraz na odcinku między nimi będzie taka sama. 2 Choć wyznaczenie wartości najmniejszej jest oczywiście możliwe. 5 z 37

x 2 G x 1 Rysunek 4: Brak skończonego rozwiązania optymalnego x 2 G x 1 Rysunek 5: Więcej niż jedno skończone rozwiązanie optymalne 1.3 Algorytm simplex W sytuacji, kiedy liczba zmiennych decyzyjnych jest większa niż 2 lub duża liczba ograniczeń utrudnia dokładne wyznaczenie zbioru rozwiązań dopuszczalnych, do poszukiwania optymalnej wartości funkcji celu używa się algorytmu simplex. Polega on na przebiegającym w określony sposób przeglądaniu rozwiązań bazowych (wierzchołków zbioru X) w celu znalezienia punktu, w którym funkcja celu osiąga wartość największą lub najmniejszą. Warto tu zwrócić uwagę na to, że metoda nie potrzebuje sprawdzać wszystkich rozwiązań wierzchołkowych. Algorytm wędruje od bieżącego do sąsiedniego wierzchołka, w którym wartość funkcji celu jest nie gorsza niż w poprzednim rozwiązaniu. Poniżej znalazł się schemat postępowania w tej metodzie: Przykład zastosowania algorytmu simplex Firma produkuje trzy wyroby: A, B i C, które wymagają obróbki na dwóch maszynach M1 i M2. Limity czasu pracy maszyn wynoszą odpowiednio: M1 200 godzin, M2 150 godzin. Czas pracy M1 potrzebny do wytworzenia jednej sztuki wyrobu A wynosi 2 minuty, wyrobu B 2 minuty, wyrobu C 3 minuty. Odpowiednio dla maszyny M2 mamy: A 2 minuty, B i C po 1 minucie. Ceny zbytu za 1 sztukę wyrobu wynoszą: A 4 zł, B 3 zł, C 5 zł. Należy ustalić 6 z 37

(1) Wybierz początkową bazę układu równań (2) Wyznacz rozwiązanie bazowe (6) Dokonaj wymiany wektorów w bazie (5) Wybierz wektor opuszczający bazę Tak (3) Czy aktualne rozwiązanie jest optymalne? Nie Stop (4) Wybierz wektor wchodzący do bazy Rysunek 6: Schemat postępowania w algorytmie simplex plan produkcji, który zapewni maksymalny utarg ze sprzedaży wyrobów, przy założeniu, że cała produkcja zostanie sprzedana. Model decyzyjny: x 1 wielkość produkcji wyrobu A [szt.] x 2 wielkość produkcji wyrobu B [szt.] x 3 wielkość produkcji wyrobu C [szt.] Z = 4x 1 + 3x 2 + 5x 3 max M1: 2x 1 + 2x 2 + 3x 3 12000 [min.] M2: 2x 1 + x 2 + x 3 9000 [min.] x 1 0, x 2 0, x 3 0 Choć powyższy model jest poprawny pod względem formalnym, to algorytm simplex wymaga, aby układ nierówności tworzących ograniczenia sprowadzić do postaci równań. Robi się to wg następujących reguł: [szt.] jeżeli k-te ograniczenie jest typu wówczas wprowadzamy do niego dodatnią zmienną swobodną s k ; 7 z 37

jeżeli k-te ograniczenie jest typu wówczas wprowadzamy do niego ujemną zmienną swobodną s k oraz dodatnią zmienną sztuczną t k ; jeżeli k-te ograniczenie jest typu = wówczas wprowadzamy do niego dodatnią zmienną sztuczną t k. Zmienne swobodne stoją w funkcji celu z parametrem 0. Zmienne sztuczne w funkcji celu stoją z parametrem M (gdy funkcja jest maksymalizowana) lub +M (gdy funkcja celu jest minimalizowana), gdzie M jest pewną, bardzo dużą liczbą dodatnią. Model, w którym ograniczenia z nierówności zamieniono na równania nazywamy postacią kanoniczną. W naszym przykładzie wygląda ona następująco: Z = 4x 1 + 3x 2 + 5x 3 + 0s 1 + 0s 2 max 2x 1 + 2x 2 + 3x 3 + s 1 = 12000 2x 1 + x 2 + x 3 + s 2 = 9000 x 1 0, x 2 0, x 3 0, s 1 0, s 2 0 Postępowanie w metodzie simplex przeprowadza się w specjalnych tablicach. Pierwszą z nich tworzymy na podstawie postaci kanonicznej modelu. Kolejne powstają wskutek stosownych przekształceń. Dokonamy teraz przedstawienia całości obliczeń, które zostaną następnie omówione. Nr Zmienne 4 3 5 0 0 Wartości Ilorazy iteracji c B bazowe x 1 x 2 x 3 s 1 s 2 zmiennych wyjścia x B bazowych 0 s 1 2 2 3 1 0 12000 4000* 1 0 s 2 2 1 1 0 1 9000 9000 j = c j z j 4 3 5 0 0 0 5 x 3 2 / 3 2 / 3 1 1 / 3 0 4000 6000 2 0 s 2 4 / 3 2 / 3 0 1 / 3 1 5000 3750* j = c j z j 2 / 3 1 / 3 0 4 / 3 0 20000 5 x 3 0 1 / 2 1 1 / 2 1 / 2 1500 3 4 x 1 1 1 / 4 0 1 / 4 3 / 4 3750 j = c j z j 0 1 / 2 0 3 / 2 1 / 2 22500 (1) Wybór początkowej bazy Początkową bazą stają się wektory stojące przy zmiennych swobodnych i/lub sztucznych. Tworzą one macierz jednostkową, której wymiar równy jest liczbie ograniczeń. Tak więc w naszym przykładzie bazę początkową tworzą wektory parametrów stojących przy zmiennych s 1 i s 2 w iteracji 1: [ ] B pocz 1 0 = 0 1 Taką samą postać ma w tej chwili, kluczowa w późniejszych rozważaniach, macierz B 1. (2) Wyznaczenie rozwiązania bazowego Rozwiązanie w pierwszej tablicy simpleksowej tworzą po prostu przepisane prawe strony ograniczeń. W kolejnych rozwiązaniach jest ono związane z aktualną bazą. Wartość funkcji 8 z 37

celu tworzy się w oparciu o aktualny wektor c B oraz wektor wartości rozwiązań bazowych. Prześledźmy proces jej obliczania na podstawie iteracji nr 2: f(x B ) = (c B ) T x B = [ 5 0 ] [ ] 4000 = 5 4000 + 0 5000 = 20000 5000 (3) Ocena optymalności aktualnego rozwiązania Sprawdzenia optymalności rozwiązania dokonuje się w oparciu o tzw. wskaźniki optymalności. Oblicza się je dla wszystkich zmiennych znajdujących się w tablicy simpleksowej, przy czym dla zmiennych bazowych zawsze równają się one zero. Formuła ich wyznaczania jest następująca: j = c j z j = c j m c B i p ij gdzie: c j współczynnik w funkcji celu przy j -tej zmiennej, dla której obliczamy wskaźnik optymalności; c B i współczynnik w funkcji celu przy i-tej zmiennej bazowej; p ij odpowiednia kolumna centralnej części tablicy simpleksowej. Wskaźnik optymalności dla zmiennej x 1 w pierwszej iteracji obliczono więc następująco: i=1 1 = 4 (0 2 + 0 2) = 4 zaś dla zmiennej x 3 w drugiej iteracji (gdzie była zmienną bazową): 3 = 5 (5 1 + 0 0) = 0 Wartość j dla zmiennej niebazowej można traktować jako różnicę między jednostkowym efektem a jednostkowym nakładem potrzebnym, aby dana zmienna miała zostać zmienną bazową. Na tej podstawie zbudowano kryterium optymalności bieżącego rozwiązania. Rozwiązanie uznajemy za optymalne gdy: { j=1,2,...,n j 0, gdy f(x) max j=1,2,...,n j 0, gdy f(x) min Innymi słowy, rozwiązanie (dla przypadku maksymalizacji funkcji celu) uznajemy za optymalne kiedy wszystkie wskaźniki optymalności są niedodatnie lub nieujemne (dla przypadku minimalizacji funkcji celu). Jak nietrudno zauważyć, trzecia iteracja jest ostatnią, ponieważ wszystkie wskaźniki optymalności przyjęły wartości mniejsze lub równe zero (4) Wybór wektora wchodzącego do bazy Jeżeli aktualne rozwiązanie bazowe nie spełnia warunku optymalności, konieczna staje się wymiana wektorów bazowych. Najpierw wybierany jest wektor (towarzyszący odpowiedniej zmiennej), który znajdzie się w przyszłej bazie. Jako kryterium służą ponownie wskaźniki optymalności i ponownie występuje rozdział spowodowany kierunkiem optymalizacji. Do bazy wprowadzamy k-ty wektor taki, że: { k = min j>0 ( j), gdy f(x) max k = max j<0 ( j), gdy f(x) min Tak więc, jeśli funkcja celu jest maksymalizowana, wybieramy zmienną, dla której wskaźnik optymalności okazał się najwyższy spośród tych, które przyjęły wartość dodatnią. W iteracji 1 najwyższą wartość (czyli 5) posiadał wskaźnik optymalności dla zmiennej x 3. Tym samym, odpowiadająca mu zmienna stanie się zmienną bazową. 9 z 37

(5) Wybór wektora opuszczającego bazę Ponieważ bazę tworzy więcej niż jedna zmienna, należy zdecydować, która z nich nie znajdzie się w nowej bazie. Dla wektora wybranego w poprzednim kroku obliczamy tzw. ilorazy wyjścia. Należy tu zwrócić uwagę, że sposób ich wyliczania jest niezależny od kierunku kryterium. Z bazy usuwamy l-ty wektor taki, że: x B l p lk = min { x B } l p lk > 0 p lk Zauważmy, że ilorazów wyjścia nie liczymy jeśli przyjdzie nam podzielić przez 0 lub ujemną składową. W przykładzie, dla iteracji pierwszej ilorazy wyjścia dla s 1 i s 2 oraz kryterium wyjścia są następujące: ( 12000 min, 9000 ) = min(4000, 9000) = 4000 3 1 Tak więc usuwamy z bazy zmienną s 1 wraz z towarzyszącym jej wektorem. W przypadku uzyskania kilku identycznych minimalnych ilorazów wyjścia, najlepiej jest wybrać ten o największym dzielniku. Jeśli i to nie wystarczy, można wybrać pozycję o niższym i. (6) Wymiana wektorów w bazie Wymiany wektorów w bazie dokonuje się przy pomocy tzw. przekształceń elementarnych, które nie znajdują się w obszarze zainteresowań niniejszych zajęć, dlatego nie zostaną tutaj omówione. Wymiana wektorów kończy jedną, pełną iterację w algorytmie simplex. Po zakończeniu postępowania można przejść do interpretacji wyników. Prezentowany przykład zakończył się po trzech przebiegach, dając następujący wektor optymalnych wartości zmiennych: x opt 1 3570 x opt x opt 2 = x opt 0 = 1500 3 s opt 1 s opt 2 0 0, f max = 22500 Należy zatem wyprodukować 3750 sztuk wyrobu A i 1500 sztuk wyrobu C (nie należy produkować wyrobu B), co zapewni zysk maksymalny w wysokości 22500 zł. Limity czasu pracy maszyn zostaną wykorzystane w całości. W tym miejscu warto zwrócić uwagę na interpretację zmiennych swobodnych. Ich niezerowa wartość w rozwiązaniu optymalnym świadczy o: niewykorzystaniu występującego limitu w przypadku gdy ograniczenie jest typu ; przekroczeniu zakładanego poziomu w przypadku gdy ograniczenie jest typu. Jedno, skończone rozwiązanie optymalne jest jednym z grupy potencjalnych wyników jakimi może się skończyć postępowanie w algorytmie simplex. Wyróżnimy jeszcze następujące: zadanie jest sprzeczne, kiedy w rozwiązaniu optymalnym występuje zmienna sztuczna z niezerową wartością; zadanie posiada więcej niż jedno skończone rozwiązanie optymalne, kiedy liczba wskaźników optymalności równych zero jest większa od liczby zmiennych bazowych; zadanie nie posiada skończonego rozwiązania optymalnego, kiedy nie jest możliwe wyznaczenie ilorazów wyjścia, gdyż wszystkie składowe wektora wchodzącego do bazy są niedodatnie. 10 z 37

1.4 Wyceny dualne Podanie optymalnych wartości zmiennych decyzyjnych i wartości funkcji celu nie wyczerpuje możliwości analizy wyników. Jedną z nich są tzw. wyceny (zmienne) dualne. Służą one do określania reakcji optymalnej wartości funkcji celu na zmiany wyrazów wolnych ograniczeń, bez konieczności ponownego rozwiązywania zadania. Zadanie dualne jest ściśle powiązane z podstawowym zadaniem, zwanym odtąd prymalnym (pierwotnym). Mówiąc prościej, powstaje ono z przekształcenia zadania pierwotnego. Do czekających nas analiz nie jest konieczna znajomość zasad budowy zadania dualnego. Wystarczy nam wiedza, że liczba zmiennych dualnych (oznaczymy je jako y i ) jest równa liczbie ograniczeń, czyli każdemu z ograniczeń odpowiada jedna zmienna dualna. Interesować nas też będzie konkretne rozwiązanie zadania dualnego, które otrzymamy na podstawie rozwiązania zadania pierwotnego. Twierdzenie 1.3 Dla danej pary zadanie prymalne-dualne prawdziwe jest tylko jedno z poniższych twierdzeń: 1. Jeżeli jedno z pary zadań posiada rozwiązanie optymalne, to posiada je również drugie z nich, przy czym optymalne wartości funkcji celu są sobie równe. 2. Jeżeli jedno z pary zadań nie posiada skończonego rozwiązania optymalnego, to drugie z nich jest sprzeczne 3. Twierdzenie 1.4 Jeżeli istnieje skończone rozwiązanie optymalne zadania pierwotnego względem bazy B, to rozwiązanie optymalne zadania dualnego dane jest wzorem: y opt = (c B ) T B 1 Wykorzystując drugie twierdzenie wyznaczymy optymalne wartości zmiennych dualnych w rozpatrywanym przykładzie. Najpierw jednak potrzebujemy wiedzy o tym jak wyznaczyć B 1. W tym celu przypomnijmy, że macierz B pocz, którą znamy z pierwszej tablicy simplex, powstawała jako macierz jednostkowa utworzona ze zmiennych s 1 i s 2. W ostatniej tablicy simpleksowej odszukujemy wektory towarzyszące zmiennym, które tworzyły B pocz. Stąd wiemy, że: [ B 1 = 1 / 2 1 ] / 2 1 / 3 4 / 4 Obliczamy teraz wyceny dualne (wektor (c B ) T = [5 4] również pochodzi z ostatniej tablicy simpleksowej): [ y opt 1 y opt ] [ ] [ 1 / 2 = 5 4 2 1 ] / 2 1 / 3 = [ 1,5 0,5 ] 4 / 4 Ogólna interpretacja zmiennej dualnej mówi, że: jeżeli w i-tym ograniczeniu wyraz wolny b i wzrośnie o jednostkę, to optymalna wartość funkcji celu wzrośnie (spadnie) o y opt i jednostek. Zinterpretujmy wycenę dualną y opt 1 dla ograniczenia czasu pracy maszyny M1: Jeżeli limit czasu pracy maszyny M1 wzrośnie o 1 minutę, to zysk optymalny wzrośnie o 1,5 zł. Zwróćmy uwagę, że miano powyższej zmiennej dualnej jest następujące: [zł zysku/ minutę]. 3 Twierdzenie odwrotne nie jest prawdziwe, ponieważ gdy jedno zadanie jest sprzeczne, drugie może być także sprzeczne lub może nie posiadać skończonego rozwiązania optymalnego. 11 z 37

1.5 Zadanie transportowe Jednym z możliwych typów problemów z jakimi mamy do czynienia w ramach programowania liniowego jest problem jak najtańszego przewozu dobra pomiędzy punktami nadania (dostawcy) a punktami odbioru (odbiorcy). Należy podkreślić, że dobro jest jednorodne, a więc nie ma (znanego np. z metody simplex) podziału na poszczególne produkty. Wprowadźmy następujące oznaczenia: x ij ilość dobra przewożonego na trasie między i-tym nadawcą a j -tym odbiorcą; a i zasób dobra w i-tym punkcie nadania; b j zapotrzebowanie na dobro w j -tym punkcie odbioru; c ij jednostkowy koszt przewozu na trasie między i-tym nadawcą a j -tym odbiorcą; i = 1,..., m j = 1,..., n. Łączną ilość dobra dostępną we wszystkich punktach nadania przywykło się określać mianem podaży zaś łączną ilość dobra, na które jest zapotrzebowanie we wszystkich punktach odbioru nazwiemy popytem. Klasyczne zadanie transportowe podlega następującym założeniom: 1. przewożone dobro jest jednorodne; 2. podaż jest nie mniejsza niż popyt; 3. przepustowości tras są nieograniczone. Klasyczne zadanie transportowe może wystąpić w jednej z dwóch odmian: 1. zadanie zamknięte (zbilansowane), w których podaż jest równa popytowi; 2. zadania otwarte (niezbilansowane), w których podaż jest większa niż popyt 4. Każde zadanie otwarte da się przekształcić do zadania zamkniętego poprzez wprowadzenie dodatkowego, fikcyjnego odbiorcy (zwanego magazynem). Zapotrzebowanie tego odbiorcy jest równe różnicy między podażą a popytem. Koszt przewiezienia do magazynu traktujemy jako znikomo mały w porównaniu z kosztami przewozu między nadawcami a odbiorcami i dlatego przyjmujemy, że jest równy zero. W klasycznym algorytmie transportowym rozwiązuje się następujący problem optymalizacyjny: należy znaleźć taki plan przewozu dobra, aby łączny koszt transportu ze wszystkich punktów nadania do wszystkich punktów odbioru był jak najmniejszy. Każdy nadawca wysłać ma całą posiadaną masę dobra (w zadaniach otwartych część trafi do magazynu), zaś zapotrzebowanie każdego z odbiorców ma zostać zaspokojone w całości. Model decyzyjny (dla zadania zamkniętego) można zapisać następująco: K(x) = n i=1 j=1 m c ij x ij min n = a i, i = 1,..., m j=1 m = b j, j = 1,..., n i=1 x ij 0 Twierdzenie 1.5 Jeżeli a i oraz b j są liczbami nieujemnymi to zadanie transportowe zawsze ma rozwiązanie. 4 Zakładamy, że w gospodarce rynkowej podaż jest na tyle elastyczna, że natychmiast dostosowuje się do wzrostu popytu. 12 z 37

Twierdzenie 1.6 Jeżeli a i oraz b j są liczbami całkowitymi to każde dopuszczalne rozwiązanie bazowe zadania transportowego również przyjmuje wartości całkowite. Z głębszych analiz zadania transportowego wypływa bardzo ważny wniosek: optymalny (jednoznaczny) program przewozowy wykorzystuje nie więcej niż m+n-1 spośród m n tras przewozowych. Przykładowe zadanie transportowe Trzy gospodarstwa rolne (oznaczone przez D1, D2 i D3) dostarczają zboże do trzech punktów skupu (oznaczonych O1, O2, O3) Agencji Rynku Rolnego, ponosząc przy tym koszty transportu. Ilość zboża jakim dysponują gospodarstwa (w tonach), pojemność spichlerzy Agencji (w tonach) a także jednostkowe koszty transportu (zł/t) podaje poniższa tabela. Należy opracować taki plan przewiezienia zboża, aby łączny koszt przewozu był jak najmniejszy. Skup 1 Skup 2 Skup 3 Zasoby u dostawców Gospod. 1 5 8 6 60 Gospod. 2 3 6 5 10 Gospod. 3 3 4 3 90 Zapotrzebowanie 40 60 60 160 odbiorców W powyższym przykładzie mamy więc 3 punkty nadania i 3 punkty odbioru. Daje to 9 możliwych tras, którymi zboże może zostać przewiezione między poszczególnymi gospodarstwami a punktami skupu. Tym niemniej do znalezienia rozwiązania wykorzystamy nie więcej niż 3+3-1=5 tras. Zwróćmy również uwagę, że podaż jest równa popytowi (wynosi 160 t) czyli mamy do czynienia z zadaniem zamkniętym. Wektor podaży a, popytu b oraz macierz kosztów jednostkowych C są następujące: 60 a = 10, b = [ 40 60 60 ] 5 8 6, C = 3 6 5 90 3 4 3 Model decyzyjny tego zadania zaprezentowano poniżej: 5x 11 +8x 12 +6x 13 +3x 21 +6x 22 +5x 23 +3x 31 +4x 32 +3x 33 min x 11 +x 12 +x 13 = 60 x 21 +x 22 +x 23 = 10 x 31 +x 32 +x 33 = 90 x 11 +x 21 +x 31 = 40 x 12 +x 22 +x 32 = 60 x 13 +x 23 +x 33 = 60 x 11 0, x 12 0, x 13 0, x 21 0, x 22 0, x 23 0, x 31 0, x 32 0, x 33 0 Do rozwiązania powyższego zadania można użyć algorytmu simplex. Jednak duże rozmiary modelu, które wzrosną jeszcze po sprowadzeniu do postaci kanonicznej 5. powodują, że nie jest to podejście zbyt efektywne. Dlatego właśnie opracowano specjalny algorytm numeryczny służący rozwiązywaniu takich zadań. Wprowadźmy oznaczenia: u i zmienna dualna dla i-tego dostawcy; v j zmienna dualna dla j -tego odbiorcy. 5 Z każdym z ograniczeń związana jest bowiem jedna zmienna sztuczna 13 z 37

Wskaźnik optymalności dla algorytmu transportowego jest równy: ij = c ij (u i + v j ) Podobnie jak to miało miejsce w przypadku algorytmu simplex o minimalizowanej funkcji celu, plan przewozowy uznajemy za optymalny, kiedy wskaźniki optymalności dla wszystkich tras spełnią warunek: ij 0. Aby jednak wyznaczyć wskaźniki optymalności, należy poznać wszystkie wartości u i oraz v j. Wykorzystuje się w tym celu fakt, że dla zmiennych bazowych ij są równe zero. W metodzie transportowej zmiennymi bazowym są trasy, na których dokonuje się przewozu, których liczba wynosi m + n 1. Konstruuje się na tej podstawie układ równań, w którym u i oraz v j są niewiadomymi. Ponieważ liczba niewiadomych jest o 1 większa od liczby równań, należy przyjąć wartość zerową dla jednej z nich. Zazwyczaj przyjmuje się u 1 = 0. Postępowanie w algorytmie transportowym obrazuje następujący schemat: nie gorsza niż w poprzednim rozwiązaniu. Na rysunku 7 znalazł się schemat postępowania w tej metodzie. (1) Ustal początkowy plan przewozu (6) Skoryguj program przewozowy (5) Określ maksymalny przewóz na trasie ustalonej w (3) Tak (2) Czy aktualny plan przewozu jest optymalny? Nie (4) Utwórz cykl korygujący Stop (3) Wybierz trasę dającą największą obniżkę kosztów Rysunek 7: Schemat postępowania w algorytmie transportowym Obliczenia przeprowadzać będziemy równolegle w dwóch tabelach. W jednej znajdzie się aktualny plan przewozowy, a w drugiej sprawdzenie jego optymalności. (1) Ustalenie początkowego planu przewozowego Każdy plan przewozowy, wliczając w to również plan początkowy, zawierać będzie nie więcej niż 3+3-1=5 tras. W metodzie transportowej nie ma jednoznacznego (jak w algorytmie simplex) sposobu określenia pierwszego rozwiązania. Spośród wielu dostępnych, skupimy się ma metodzie kąta północno-zachodniego. Jest to najprostsza z metod opierająca się wyłącznie na popycie i podaży u poszczególnych odbiorców i dostawców. Jej nazwa wzięła się stąd, że pierwszy przewóz ustalany jest zawsze na 14 z 37

trasie od pierwszego dostawcy do pierwszego odbiorcy. Wprowadzamy tam mniejszą z dwóch wartości a 1 i b 1. W naszym przykładzie pierwszy krok w tej metodzie znalazł się w tabeli 1. Tabela 1: Początek postępowania w metodzie kąta północno-zachodniego O1 O2 O3 podaż D1 40 60 D2 10 D3 90 popyt 40 60 60 160 Dostawca 1 (D1) przewiezie 40 t zboża do odbiorcy 1, przy czym zapotrzebowanie tego odbiorcy zostaje zaspokojone w całości. Jednakże D1 pozostało do rozdysponowania jeszcze 20 t dobra. Dostanie je odbiorca O2, który potrzebuje 60 t (patrz tabela 2). Brakującą mu do 60 t ilość dostarczą: D2 (10 t) i D3 (30 t). Postępując w ten sposób otrzymamy następującą tabelę 3. Jak widać rozwieziona została cała dostępna ilość zboża (40+20+10+30+60=160t), przy czym Tabela 2: Rozdysponowanie podaży dostawcy D1 O1 O2 O3 podaż D1 40 20 60 D2 10 D3 90 popyt 40 60 60 160 Tabela 3: Pierwszy plan przewozowy, uzyskany metodą kąta płn-zach O1 O2 O3 podaż D1 40 20 60 D2 10 10 D3 30 60 90 popyt 40 60 60 160 wykorzystano 5 tras. Łączny koszt przewozu wynosi: 40 5 + 20 8 + 10 6 + 30 4 + 60 3 = 720zł (2) Sprawdzenie optymalności rozwiązania Rozwiązanie uznajemy za optymalne jeżeli wszystkie wskaźniki optymalności są nieujemne. Przypomnijmy, że wskaźniki te dla zmiennych bazowych są równe zero. Budowa tabeli zawierającej owe wskaźniki (tzw. tabeli wskaźników) wygląda następująco: pole odpowiadające niezerowemu przewozowi zawiera jednostkowy koszt przewozu; pole odpowiadające trasie niebazowej zawiera dwie liczby: sumę ui i vj oraz wskaźnik optymalności. Rozpoczynamy od przepisania odpowiednich elementów macierzy C oraz przyjęcia, że u 1 = 0: Wartości u i oraz v j znajdujemy w następujący sposób: suma wartości obu zmiennych dualnych musi dać koszt c ij znajdujący się już w tabeli dla tras stanowiących bieżące rozwiązanie. Stąd v 1 obliczymy jak poniżej: v 1 + u 1 = 5 v 1 + 0 = 5 v 1 = 5 15 z 37

Tabela 4: Pierwszy krok tworzenia tabeli wskaźników v 1 v 2 v 3 wartości u i u 1 5 8 0 u 2 6 u 3 4 3 wartości v j Podobnie wyznaczymy v 2 : v 2 + u 1 = 8 v 2 + 0 = 8 v 2 = 8 Zauważmy, że kolejność obliczania zmiennych dualnych nie jest dowolna, lecz wynika z wcześniej wyznaczonych wartości. Dlatego na przykład dopiero znając v 2 możemy poznać u 2. Kompletna tabela wskaźników została zaprezentowana poniżej: Tabela 5: Końcowa postać tabeli wskaźników v 1 v 2 v 3 wartości u i u 1 5 8 7 0-1 u 2 3 6 5-2 0 0 u 3 1 4 3-4 2 wartości v j 5 8 7 Lewa górna część pola zawiera sumę zmiennych dualnych z odpowiedniego wiersza i kolumny, prawa dolna wskaźnik optymalności. Bieżącego planu przewozowego nie można uznać za optymalny ponieważ wszystkie wskaźniki nie są nieujemne. Konkretnie, dla trasy (1,3) otrzymaliśmy wartość równą -1. (3) Wybór trasy dającej największą obniżkę kosztów Spośród tras niebazowych, wyłącznie tych posiadających ujemne wskaźniki optymalności, wybieramy tę, dla której wskaźnik osiągnął najniższą wartość. W naszym przypadku jest tylko jeden możliwy wybór trasa (1,3). (4) Cykl korygujący W kolejnym kroku postępowania budujemy cykl korygujący. W polu wytypowanym w poprzednim kroku stawiamy znak + traktując je odtąd jako bazowe. Następnie wykreślamy te wiersze i kolumny, które zawierają pojedyncze przewozy. Pamiętajmy, że trasa oznaczona plusem traktowana jest tak jakby przewożono tą trasą część dobra. Może się poza tym zdarzyć, że po wykreśleniu danego wiersza (kolumny) kolejna kolumna (wiersz) zawierać będzie pojedynczy przewóz. Wówczas należy ową kolumnę czy też wiersz również wykreślić. W naszym przykładzie wykreślamy: kolumnę O1 i wiersz D2. 16 z 37

Tabela 6: Wybór trasy w cyklu korygującym O1 O2 O3 podaż D1 40 20 + 60 D2 10 10 D3 30 60 90 popyt 40 60 60 160 Nieskreślonym przewozom przypisujemy znak + lub tak, aby wszystkie dopisane w ten sposób znaki znosiły się nawzajem. Otrzymamy: Tabela 7: Wybór trasy w cyklu korygującym O2 O3 podaż D1 20 + 60 D3 30 + 60 90 popyt 60 60 160 (5) Określenie maksymalnego przewozu na trasie wybranej w kroku (3) Wybrany przewóz ma być z jednej strony jak największy, z drugiej zaś nie można dopuścić do pojawienia się w tabeli wartości ujemnych, gdyż naruszałoby to nałożone wcześniej warunki brzegowe. Dlatego ograniczymy się tylko do tras oznaczonych minusem i wybierzemy najniższy z dostępnych tam przewozów. W naszym przykładzie: k = min(20, 30) = 20. Łączny koszt przewozu zmniejszy się o wartość: i wyniesie: 720-20=700 zł k 13 = 20 ( 1) = 20 (6) Korekta planu przewozowego Cykl korygujący przebiega wyłącznie przez pola oznaczone wcześniej plusem lub minusem. Te pierwsze zostają powiększone o wartość k, zaś te drugie zmniejsza się o tę wielkość. Oto nowy plan przewozowy o niższej wartości kosztu całkowitego oraz towarzysząca mu tabela wskaźników: Tabela 8: Drugi plan przewozowy wraz z cyklem korygującym O1 O2 O3 podaż D1 40 20 + 60 D1 + 10 10 K =700 D3 50 + 40 90 popyt 40 60 60 160 Jak widać, powyższy plan przewozowy nie okazał się jeszcze optymalny (ujemna wartość wskaźnika optymalności równa -1). Dlatego należy poprawić rozwiązanie, wprowadzając przewóz na trasie (2,1). Zwróćmy uwagę, że w tabeli 8 nie można dokonać skreśleń wierszy i kolumn z pojedynczymi przewozami. Nowy koszt przewozu zmniejszy się o 10*(-1)= -10. Kolejna iteracja dała optymalny plan przewozowy, który można zapisać: 30 0 30 X opt = 10 0 0 0 60 30 17 z 37

Tabela 9: Tabela wskaźników dla 2 iteracji v 1 v 2 v 3 wartości u i u 1 5 7 6 0 1 u 2 4 6 5-1 -1 0 u 3 2 4 3-3 1 wartości v j 5 7 6 Tabela 10: Optymalny plan przewozowy O1 O2 O3 podaż D1 30 30 60 D1 10 10 K min = 690 D3 60 30 90 popyt 40 60 60 160 Tabela 11: Tabela wskaźników dla ostatniej iteracji v 1 v 2 v 3 wartości u i u 1 5 7 6 0 1 u 2 3 5 4-2 1 1 u 3 2 4 3-3 1 wartości v j 5 7 6 UWAGA! Jeżeli w tabeli wskaźników dla rozwiązania optymalnego, wystąpią wskaźniki optymalności równe zero dla zmiennych niebazowych, oznacza to, że istnieją jeszcze inne, alternatywne plany przewozu o tej samej, minimalnej wartości łącznego kosztu. 1.6 Wybrane modyfikacje klasycznego zadania transportowego Założenia występujące w klasycznym wariancie zadania transportowego mogą być uchylane. Przedstawimy tutaj dwa przypadki: 1. Całkowitą blokadę trasy (tras); 2. Częściową blokadę trasy (tras). Całkowita blokada trasy Załóżmy, że na trasie z pierwszego gospodarstwa do pierwszego punktu skupu pojawiła się blokada rolników niezadowolonych z cen skupu. Nie jest możliwe przewiezienie zboża na tej trasie, ale zapotrzebowanie punktu skupu musi zostać spełnione, zaś gospodarstwo musi wysłać swoje zboże. Całkowita blokada na jednej lub większej ilości tras oznacza, że przewóz tam realizowany jest całkowicie nieopłacalny. Należy o tym poinformować algorytm. Robi się to w ten sposób, że 18 z 37

na zablokowanej trasie wprowadza się bardzo wysoką (w porównaniu z pozostałymi, niezablokowanymi trasami) wartość jednostkowego kosztu przewozu 6. Wprowadzamy więc na interesującej nas trasie koszt równy przykładowo 50 zł/t. 50 8 6 C = 3 6 5 3 4 3 Od tego miejsca zadanie rozwiązuje się tak jak klasyczne zadanie transportowe. Częściowa blokada trasy Załóżmy, że na trasie z trzeciego gospodarstwa do drugiego punktu skupu odbywa się remont drogi. Z tego powodu można nią przewieźć co najwyżej 20 t zboża. Powyższy warunek różni się od poprzedniego przypadku, ponieważ część dobra może zostać daną trasą przewieziona po normalnie obowiązujących kosztach. Reszta musi zostać rozwieziona innymi trasami. Problem ten można rozwiązać dwojako: 1. rozszerzyć na czas rozwiązywania liczbę dostawców; 2. rozszerzyć na czas rozwiązywania liczbę odbiorców. W pierwszym przypadku zmieniamy macierz kosztów C oraz wektor podaży a: 60 5 8 6 a = 10 20, C = 3 6 5 3 4 3 70 3 50 3 W drugim zmieniamy macierz C i wektor popytu b: b = [ 40 20 40 60 ] 5 8 8 6, C = 3 6 6 5 3 4 50 3 Dla tej części dobra, która nie zmieści się na częściowo zablokowanej trasie, wprowadzana jest blokada całkowita. Należy jednak pamiętać, że wiersze 3 i 4 w pierwszym podejściu dotyczą jednego dostawcy, zaś kolumny 2 i 3 w drugim podejściu dotyczą jednego odbiorcy. Zadanie rozwiązuje się tak, jak wariant klasyczny. Dopiero podając odpowiedź scalamy uprzednio rozdzielone wiersze i kolumny, wracając do poprzednich rozmiarów zadania. 2 Modele opisowe 2.1 Pojęcia podstawowe Model opisowy stanowi uproszczony sposób opisywania skomplikowanych zjawisk. Odwzorowuje te elementy, które są ważne z punktu widzenia prowadzonej analizy. Pomija się te, które wydają się nieistotne. Ma to swoje zalety, ale również wady. Oznacza bowiem konieczność przyjmowania odnośnie badanych zjawisk silnych założeń, których spełnienie bywa utrudnione. Punktem wyjścia ekonomicznych modeli opisowych są istniejące teorie ekonomiczne, często skomplikowane lub wręcz abstrakcyjne. Należy pamiętać, że same teorie podlegają zmianom w 6 W literaturze można spotkać zalecenie, aby był on przynajmniej trzykrotnie wyższy niż najwyższy koszt występujący w macierzy. 19 z 37

czasie (np. z powodu politycznego i społecznego zaangażowania samych ekonomistów) co rzutuje na samą budowę modeli. Techniczną stroną tego procesu zajmuje się zaś ekonometria. Korzenie tej dziedziny tkwią w ekonomii matematycznej oraz statystyce matematycznej przede wszystkim w zjawisku korelacji zmiennych. Model ekonometryczny to równanie lub układ równań (wraz z towarzyszącymi założeniami) opisujące związki między wybranymi zmiennymi. Cele, dla których sięga się po tego typu modele dadzą się streścić następująco: 1. poznanie zachowań i zależności łączących podmioty ekonomiczne oraz poznanie funkcjonowania układów gospodarczych; 2. porządkowanie informacji statystycznych pozwalające wyodrębnić trendy, wahania sezonowe i losowe; 3. testowanie hipotez ekonomicznych; 4. prognozowanie zjawisk ekonomicznych i przeprowadzanie analiz polityk gospodarczych; Modele opisowe zazwyczaj bazują na danych statystycznych, często zagregowanych, zniekształconych przez błędy obserwacji. Dane te nie pochodzą z kontrolowanych eksperymentów. 7 Ewentualne ich poprawienie nie jest możliwe, a stanowią jedyną dostępną rejestrację statystyczną zachowania się zjawisk lub podmiotów ekonomicznych. Dlatego musimy przyjmować założenia, z których części nie da się nawet zweryfikować. Dane statystyczne mają zazwyczaj postać szeregów należących do jednej z poniższych kategorii (najczęściej spotyka się pierwsze z nich): 1. szeregi czasowe; 2. szeregi przekrojowe; 3. szeregi przekrojowo-czasowe; 2.2 Równanie stochastyczne a deterministyczne Wykorzystanie danych statystycznych, zebranych jako obserwacje dokonane na konkretnych obiektach powoduje, że przykładowa zależność między dochodem (Y) a konsumpcją (C) dla kolejnych obserwacji może wyglądać jak na rysunku 8. Na podstawie wykresu widać, że do jego opisu nie da się użyć żadnej elementarnej i deterministycznej funkcji matematycznej, choć chmura punktów wskazuje na istnienie zależności o charakterze liniowym. Zachowanie się obu przedstawionych wielkości ekonomicznych względem siebie wymaga wprowadzenia pewnej dodatkowej zmiennej, wyjaśniającej odchylenia punktów odpowiadających obserwacjom od funkcji liniowej. Dlatego równanie opisujące zależność między konsumpcją a dochodem zapiszemy następująco: C i = α 0 + α 1 Y i + ε i (1) Indeks i oznacza, że konsumpcja i dochód mają postać szeregów statystycznych. Symbol ε i nazywamy składnikiem losowym równania. Wprowadzenie go dało możliwość sięgnięcia po prostą funkcję liniową, jako sposób opisania zależności między badanymi zmiennymi. Równanie, w którym wprowadzono składnik losowy nazywamy stochastycznym. Przyczyny uwzględniania składnika losowego w modelach ekonometrycznych są następujące: 1. indeterminizm zachowania się zjawisk (lub podmiotów) ekonomicznych; 2. niedoskonałości pomiaru, które zawierają się w ε i ; 3. wady w konstrukcji modelu np błędy w specyfikacji czy niepoprawna postać funkcyjna; 7 Jak to jest możliwe w naukach eksperymentalnych takich jak fizyka czy chemia. 20 z 37

C Y Rysunek 8: Przykładowa zależność między konsumpcją a dochodem C (1) (2) (3) Y Rysunek 9: Możliwe funkcje liniowe dla modelu konsumpcji 2.3 Metoda Najmniejszych Kwadratów Choć postać równania (1) jest poprawna, nie znamy jego parametrów (to sytuacja odwrotna w porównaniu do modeli optymalizacyjnych). Każda z trzech zaprezentowanych na kolejnym wykresie funkcji jest liniowa i teoretycznie nadaje się do opisu zależności między konsumpcją a dochodem. Należy znaleźć te parametry, które dadzą najbardziej satysfakcjonującą postać funkcji z punktu widzenia pewnego przyjętego kryterium. Analizując rysunek 9 nasuwa się stwierdzenie, że najlepszą będzie funkcja przebiegająca jednocześnie najbliżej wszystkich punktów. Wydaje się, że jest to funkcja numer 2, ale powstaje pytanie: jak zyskać pewność co do dokonanego wyboru? Należy zbadać odległości dzielące rzeczywiste punkty od naszej hipotetycznej prostej i wybrać wariant o najmniejszych zmierzonych w ten sposób błędach. Minimalizuje się więc pewną funkcję kary, która przyjmuje wartości tym większe im wspomniana odległość jest większa. Ponieważ jednak punkty leżą tak nad jak i pod prostą, więc nie można użyć prostej sumy popełnianych błędów gdyż wartości dodatnie będą znosić się z ujemnymi. Spośród różnych dostępnych wariantów, niewątpliwie najpopularniejszą jest minimalizacja sumy kwadratów odległości punktów od prostej. Stąd też wzięła się jej nazwa Metoda Naj- 21 z 37

mniejszych Kwadratów (MNK). Używając tej metody możliwa jest estymacja parametrów modelu stochastycznego. Nie wchodząc w matematyczne szczegóły dotyczące wyprowadzenia, wzór pozwalający otrzymać oszacowania parametrów równania przy pomocy MNK jest następujący: ˆα = (X T X) 1 X T y (2) gdzie: ˆα wektor oszacowań parametrów równania; X macierz obserwacji na zmiennych objaśniających; y wektor obserwacji na zmiennej objaśnianej; Wektor ˆα zawiera liczbowe wartości oszacowanych parametrów, które wskażą najkorzystniejszą dla danych obserwacji postać funkcji. Estymacja to jednak tylko jeden (i to wcale nie pierwszy) z etapów analizy ekonometrycznej. Badanie tego typu da się podzielić na następujące fazy: 1. Specyfikacja zmiennych i relacji modelu: określenie celu badania; wybór zmiennych wybór postaci analitycznej modelu na podstawie: teorii ekonomii; zebranych danych i posiadanego doświadczenia; związków korelacyjnych między zmiennymi; 2. Gromadzenie danych statystycznych; 3. Estymacja parametrów; 4. Weryfikacja modelu: statystyczna; merytoryczna; 5. Praktyczne wykorzystanie modelu: analiza zależności; wnioskowanie o przyszłości; 2.4 Model regresji liniowej Naturalną tendencją podczas budowy modeli jest dążenie do możliwie najprostszego sposobu opisu zjawiska. Stąd wzięło się częste sięganie po liniową postać regresji jako najlepiej odpowiadającą temu założeniu. Okazuje się, że w sporej liczbie przypadków takie podejście zdaje egzamin. Aby jednak można było użyć MNK do estymacji parametrów modelu liniowego, konieczne jest spełnienie określonych założeń zwanych założeniami schematu Gaussa-Markowa: 1. model jest niezmienniczy ze względu na obserwacje (parametry i postać funkcji nie ulegają zmianie); 2. model jest liniowy względem parametrów 8 ; 8 Należy zauważyć, że model musi być liniowy względem parametrów, ale nie względem zmiennych. Dzięki temu używa się modeli nieliniowych sprowadzanych przy pomocy stosownych przekształceń do postaci liniowej. 22 z 37

3. zmienne objaśniające są nielosowe, a ich wartości są ustalonymi liczbami rzeczywistymi; 4. składnik losowy ma rozkład normalny; 5. wartość oczekiwana składnika losowego jest równa 0 (zakłócenia mają tendencję do wzajemnego znoszenia się); 6. składnik losowy jest sferyczny macierz wariancji-kowariancji D 2 (ε i ) jest diagonalna, o takich samych elementach na przekątnej głównej 9 ; 7. informacje zawarte w próbie są jedynymi, na podstawie których estymuje się parametry modelu; 8. liczba obserwacji powinna być wyższa niż liczba szacowanych parametrów. Część powyższych założeń dotyczy (wprowadzonego wcześniej) składnika losowego, który stanowi abstrakcyjny sposób wyjaśniania takiego a nie innego zachowania się obserwacji. W konsekwencji nie jesteśmy w stanie poznać składnika wprost, znamy za to jego przybliżenie resztę z modelu. Równanie po oszacowaniu (dla przypadku jednej zmiennej objaśniającej) ma postać: Ŷ i = ˆα 0 + ˆα 1 X i (3) Daszek nad parametrami oznacza, że są to już konkretne wartości, dlatego w równaniu (3) nie występuje składnik losowy. Podstawiając do równania obserwacje jakimi dysponujemy dla zmiennej X otrzymamy wartości Y wynikające z równania (czyli Ŷi) zwane wartościami teoretycznymi zmiennej objaśnianej. Oczywiście nie będą one dokładnie odpowiadać rzeczywistym realizacjom tej zmiennej, ponieważ większość punktów leży powyżej lub poniżej linii regresji. Występującą w tej sytuacji różnicę: e i = Y i Ŷi (4) nazywamy resztą z modelu. Można więc (choć praktykuje się to rzadko) zapisać równanie (3) jako: Ŷ i = ˆα 0 + ˆα 1 X i + e i (5) Zapis podany w (5) pokazuje, że reszty z modelu (a jest ich tyle ile obserwacji) mogą być traktowane jako przybliżona realizacja składnika losowego. Tak więc nie znamy składnika losowego jako takiego, znamy natomiast reszty, które mają podobne własności. Same modele mogą być klasyfikowane według różnych kryteriów. Wymieńmy te najpowszechniej spotykane: 1. Ze względu na formę związku między zmiennymi: (a) liniowe; (b) nieliniowe; 2. Ze względu na ilość zależności: (a) jednorównaniowe; (b) wielorównaniowe; 3. Ze względu na dynamikę: (a) statyczne; 9 Mówimy, że składnik losowy jest homoskedastyczny i nieskorelowany 23 z 37

(b) dynamiczne (w tym autoregresyjne); 4. Ze względu na wartości poznawcze: (a) przyczynowo-skutkowe; (b) tendencji rozwojowej; 5. Ze względu na zakres badania: (a) mikroekonomiczne; (b) makroekonomiczne; Nas najbardziej interesować będzie pierwsze kryterium. Przypomnijmy, że jedno z założeń schematu Gaussa-Markowa wymaga, aby równanie było liniowe względem parametrów. Dlatego do poniższego modelu: Y i = e α 0 X α 1 i e ε i (6) nie można zastosować metody najmniejszych kwadratów. Zlogarytmujmy jednak (6) stronami: ln Y i = α 0 + α 1 ln X i + ε i (7) Otrzymaliśmy równanie nieliniowe nadal względem zmiennych, ale za to liniowe względem parametrów co było naszym celem. Sprowadzanie równań nieliniowych do postaci liniowej jest często spotykaną praktyką ponieważ pozwala skorzystać z dobrodziejstw MNK. Oczywiście sama sposób sprowadzania różni się w zależności od postaci funkcyjnej modelu. 2.5 Statystyczna weryfikacja jakości modelu Fakt, że po użyciu MNK otrzymaliśmy estymatory parametrów modelu nie oznacza jeszcze, że można spocząć na laurach. Otrzymane wyniki muszą zostać sprawdzone pod kątem jakości. Dokonuje się tego na dwóch poziomach: statystycznym i merytorycznym. Na początek zajmijmy się weryfikacją statystyczną. Znając reszty z modelu można spróbować sobie odpowiedzieć czy zachowanie się zmiennych objaśniających dobrze odwzorowuje zachowanie zmiennej objaśnianej. Oczywiście można to zrobić, analizując każdą resztę z osobna 10. Jednak jakiekolwiek wnioski jesteśmy w stanie wyciągnąć tylko dla szeregów o niewielkiej liczbie obserwacji, kiedy nie przytłacza nas duża ilość danych. W pozostałych przypadkach konieczne staje się sięgnięcie po miary uśrednione. Da się wykazać, że między wartościami empirycznymi, teoretycznymi a resztami zachodzi związek: (Y i Ȳ )2 = (Ŷi Ȳ )2 + e 2 i (8) i i i co można zapisać: SST = SSR + SSE (9) gdzie: SST zmienność całkowita (suma kwadratów odchyleń wartości empirycznych od średniej arytmetycznej Y); SSR zmienność objaśniona (suma kwadratów odchyleń wartości teoretycznych od średniej arytmetycznej Y); SSE zmienność nieobjaśniona. 10 Pamiętając, że różnice między wartościami: rzeczywistą i teoretyczną powinny być jak najmniejsze. 24 z 37

Dzieląc (9) stronami przez SST otrzymamy: 1 = SSR SST + SSE SST Element SSR występujący w (10) nosi nazwę współczynnika determinacji i oznaczamy go SST symbolem: R 2. Jest to syntetyczna miara opisująca dopasowanie wartości teoretycznych do rzeczywistych. Przyjmuje wartości z przedziału 0, 1 11. Im bliżej 1 (100%) tym lepsze dopasowanie modelu do danych, a więc oszacowania są lepszej jakości. Dla R 2 = 1 wszystkie punkty empiryczne należą do linii regresji (zaś wszystkie reszty są równe 0). Tylko na pierwszy rzut oka wiadomo co to jest wysokie R 2, choć dążenie do jak najwyższych jego wartości jest zupełnie zrozumiałe. Interpretacja współczynnika determinacji jest możliwa, kiedy zachodzą następujące warunki: 1. relacja między zmiennymi musi być liniowa; 2. parametry muszą być szacowane przy pomocy MNK, gdyż inaczej współczynnik może przyjmować dowolne wartości; 3. model musi zawierać wyraz wolny, w przeciwnym razie zachodzi: R 2 (, 1 W modelach o więcej niż jednej zmiennej objaśniającej R 2 rośnie ze wzrostem liczby szacowanych parametrów. Aby uniknąć tej wady oblicza się skorygowany współczynnik determinacji: (10) R 2 = 1 (1 R 2 ) n 1 n k (11) Różnica między R 2 a R 2 rośnie ze wzrostem liczby zmiennych objaśniających. Skorygowany współczynnik determinacji ma następujące własności: 1. Jeżeli R 2 = 1 wówczas R 2 = 1. 2. R2 może przyjmować wartości ujemne. Poniższe rysunki prezentują wartości współczynnika determinacji w zależności od zachowania się relacji między zmienną objaśniającą a objaśnianą przy założeniu, że użyto liniowej funkcji regresji. Y X Y X Y X Rysunek 10: R 2 1 Rysunek 11: R 2 0 Rysunek 12: R 2 0 Przypadki zaprezentowane na rysunkach (11) oraz (12) mimo podobnej wartości współczynnika determinacji różnią się dość znacznie. W pierwszej sytuacji nie ma praktycznie żadnej 11 Często praktykuje się podawanie wartości R 2 w procentach. 25 z 37