Optymalizacja liniowa

44
Optymalizacja liniowa Andrzej Torój, Ekonometria

description

Optymalizacja liniowa. co to znaczy „decyzja”?. kiedy decyzja jest możliwa do podjęcia?. co to znaczy „najlepsza”?. funkcja celu. max. min. kryterium optymalizacji. Problem decyzyjny Która decyzja (z tych możliwych do podjęcia) jest najlepsza?. zmienne decyzyjne X 1 , X 2 , ..., X n - PowerPoint PPT Presentation

Transcript of Optymalizacja liniowa

Page 1: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Optymalizacja liniowa

Page 2: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Problem decyzyjnyKtóra decyzja (z tych możliwych do

podjęcia) jest najlepsza?

co to znaczy „decyzja”?

kiedy decyzja jest możliwa do podjęcia?

co to znaczy „najlepsza”?

zmienne decyzyjne

X1, X2, ..., Xn

decyzja: x*=(x1*, x2*, ..., xn*)

warunki ograniczające

zbiór decyzji dopuszczalnych

funkcja celu

max min

kryterium optymalizacji

Page 3: Optymalizacja liniowa

Andrzej Torój, Ekonometria

PrzykładKubuś Puchatek lubi miód i chce go jeść jak najwięcej. Niestety, musi sobie na tę przyjemność zapracować. Są dwie możliwości: hodowanie pszczółek w ulu w ogródku lub zakup miodu w sklepie za pieniądze otrzymane za brawurową rolę w kreskówce. Za każdą godzinę opieki dziennie pszczoły odwdzięczają mu się 0,2 l miodu. Praca pozwala Kubusiowi zarobić 5 zł za godzinę, a miód w sklepie kosztuje 10 zł za litr.

Kubuś jest leniwym misiem i nie może pracować (czy to zarobkowo, czy przy ulu) dłużej niż 8 godzin dziennie. Kubuś nie spędzi jednak na planie dłużej niż 5 godzin dziennie, bo będzie tęsknił za Prosiaczkiem i zechce wrócić do domu. Pszczoły po 7 godzinach z Kubusiem mają go dość i zaczynają go atakować.

Jak zachowa się Kubuś, by mieć jak najwięcej miodu do dyspozycji?

Page 4: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zmienne decyzyjne

• x1 – czas pracy w serialu

• x2 – czas pracy przy ulu

Decyzjax*=(x1*,x2*)

Page 5: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Funkcja celu• cel: maksymalizacja konsumpcji miodu• f(x)=f(x1,x2) → max• Jak czas pracy przekłada się na ilość miodu do dyspozycji?

– 1 h z pszczołami to 0,2 l miodu– 1 h na planie serialu to 5 zł, a 1 l miodu kosztuje 10 zł– stąd ilość miodu do dyspozycji Kubusia (w litrach) zależy od

jego decyzji w następujący sposób: 5/10 *x1 + 0,2*x2

• funkcja celu: f(x1,x2)=0,5x1+0,2x2

Page 6: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Warunki ograniczające

(1) x1 + x2 ≤ 8

(2) x1 ≤ 5

(3) x2 ≤ 7

(4) x1 ≥ 0

(5) x2 ≥ 0 warunki nieujemności

Page 7: Optymalizacja liniowa

Ilustracja graficzna(1) x1 + x2 ≤ 8

(2) x1 ≤ 5

(3) x2 ≤ 7

(4) x1 ≥ 0

(5) x2 ≥ 0

Andrzej Torój, Ekonometria

x1

x2

8

8

7

5zbiór decyzji dopuszczalnych (D)

Page 8: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Gdzie jest decyzja optymalna?

f(x1,x2) = 0,5 x1 + 0,2 x2

x1

x2

10

7

5

Warstwica funkcji celu:f(x1,x2) = 1

f(x1,x2) = 2

itd.

2 10

5

f(x1,x2) = 1

f(x1,x2) = 2 decyzja optymalna!

Gradient funkcji celu:kierunek najszybszego wzrostu jej wartości; pochodna funkcji celu względem zmiennych decyzyjnych

2,05,0),(

,),(

2

21

1

21

x

xxf

x

xxff

4

Page 9: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Warunki luźne i napięte

(1) x1 + x2 ≤ 8

(2) x1 ≤ 5

(3) x2 ≤ 7

(4) x1 ≥ 0

(5) x2 ≥ 0

x1

x2

8

8

7

5

warunki napięte (spełnione dla rozwiązania optymalnego jako równość)

warunki luźne (spełnione dla rozwiązania optymalnego jako nierówność ostra)

Page 10: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Decyzja optymalna

Decyzja x* jest optymalna, jeżeli:• jest decyzją dopuszczalną, tzn.• f(x*) ≥f(x) dla dowolnej decyzji

przy maksymalizacji funkcji celuALBOf(x*) ≤ f(x) dla dowolnej decyzjiprzy minimalizacji funkcji celu

Dx *Dx

Dx

Page 11: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zadanie programowania liniowego (PL)

szczególny przypadek zadania programowania matematycznego1. wszystkie zmienne decyzyjne ciągłe2. wszystkie warunki ograniczające w postaci równań lub słabych

nierówności liniowych

3. funkcja celu liniową funkcją zmiennych decyzyjnych

max...,...,, 221121 nnn xcxcxcxxxf

0,...,0,0

...

...

...

...

21

2211

22222121

11212111

n

mnmnmm

nn

nn

xxx

bxaxaxa

bxaxaxa

bxaxaxa

Page 12: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Możliwe wyniki – rozwiązanie optymalne istnieje

x1

x2

x1

x2

jedno rozwiązanie optymalnealternatywne rozwiązania optymalne

Page 13: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Możliwe wyniki – rozwiązanie optymalne nie istnieje

x1

x2

zadanie sprzeczne

x1

x2

funkcja celu nieograniczona z góry

(z dołu)

Page 14: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Własności zadań PL (1)1. Jeżeli zbiór D jest niepusty i ograniczony, to

istnieje rozwiązanie optymalne.

2. W zadaniu PL 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 i rozwiązań optymalnych zadania PL są zbiorami wypukłymi.

4. Wynik procesu rozwiązywania zadania PL nie ulega zmianie przy zastąpieniu funkcji celu f(x) funkcją af(x) (gdy a jest dowolną liczbą dodatnią) lub f(x)+b (gdy b jest ustaloną liczbą rzeczywistą).

Page 15: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Własności zadań PL (2)5. Wynik procesu rozwiązywania zadania PL nie ulega zmianie

przy zastąpieniu funkcji celu f(x) funkcją -f(x) i jednoczesnej zmianie kryterium optymalizacji na przeciwne.

6. Wierzchołek x* niepustego zbioru rozwiązań dopuszczalnych D jest rozwiązaniem optymalnym zadania PL z maksymalizacją funkcji celu f(x) wtedy i tylko wtedy, gdy dla każdego rozwiązania dopuszczalnego x na prostej warunku napiętego w x* zachodzi f(x*) ≥ f(x).

7. Wierzchołek x* niepustego i ograniczonego zbioru rozwiązań dopuszczalnych D jest rozwiązaniem optymalnym zadania PL z maksymalizacją funkcji celu f(x) wtedy i tylko wtedy, gdy dla każdego sąsiedniego wierzchołka zachodzi f(x*) ≥ f(x).

min,...,,max,...,, 2121 nn xxxfxxxf

Dx

Page 16: Optymalizacja liniowa

Andrzej Torój, Ekonometria2007/2008 Z

Narzędzia/Dodatki...

Solver

Page 17: Optymalizacja liniowa

Andrzej Torój, Ekonometria2007/2008 Z

tutaj wpisujemy adres zakresu zmiennych decyzyjnych

wybieramy kryterium optymalizacji funkcji celu: maksimum, minimum lub osiągnięcie konkretnej wartości

tutaj wpisujemy adres komórki zawierającej formułę funkcji celu; formuła powinna zawierać zmienne decyzyjne zdefiniowane w innych, zmienianych przez program komórkach

naciskając „Dodaj”, przechodzimy do okna definiowania warunku ograniczającego po lewej stronie wpisujemy adres

komórki zawierającej funkcję zmiennych decyzyjnych; w środku – charakter ograniczenia; po prawej – wyraz wolny warunku ograniczającego

Page 18: Optymalizacja liniowa

Andrzej Torój, Ekonometria2007/2008 Z

Opcje…

ustawiamy parametry dla algorytmu poszukującego rozwiązania (kiedy ma uznać, że je już znalazł)

ustalamy, jaki dokładnie algorytm ma szukać rozwiązania

zaznaczenie w tym miejscu zwalnia nas z konieczności dodawania wszystkich warunków nieujemności do zbioru warunków ograniczających

jeżeli model jest liniowy, zaznaczenie tego pola upraszcza proces obliczeniowy (UWAGA! model liniowy, ale zapisany w sposób nieliniowy, np. ograniczenie x1/x2 = 1, zostanie odrzucone, należy zapisać x1=x2)

Page 19: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zadanie programowania liniowego – pytania...

max...,...,, 221121 nnn xcxcxcxxxf

0,...,0,0

...

...

...

...

21

2211

22222121

11212111

n

mnmnmm

nn

nn

xxx

bxaxaxa

bxaxaxa

bxaxaxaczy po zmianie współczynnika funkcji celu obecne rozwiązanie optymalne nadal będzie optymalne?

czy zmiana wyrazu wolnego sprawi, że zestaw warunków napiętych zmieni się?

jak zmiana wyrazu wolnego warunku ograniczającego wpłynie na optymalną wartość funkcji celu (cena dualna)?

jak wpłynie na rozwiązanie optymalne usunięcie/dodanie jednego warunku ograniczającego?

Page 20: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Problem Kubusia Puchatka - przypomnienie

(1) x1 + x2 ≤ 8

(2) x1 ≤ 5

(3) x2 ≤ 7

(4) x1 ≥ 0

(5) x2 ≥ 0

x1

x2

8

8

7

5

2,05,0),( 21 xxf

f(x1,x2)=0,5x1+0,2x2

Page 21: Optymalizacja liniowa

Andrzej Torój, Ekonometria

• w naszym przypadku:– zmiana wydajności

pszczół (0,2 l miodu na godzinę pracy Kubusia)

– zmiana płacy realnej w serialu (0,5 l miodu za godzinę)

8

8

7

5

Zmiana współczynnika funkcji celu (1)

2,05,0),( 21 xxf

5,05,0),( 21 xxf

7,05,0),( 21 xxf

Page 22: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zmiana współczynnika funkcji celu (2)

22121 )2,0(5,0),( xcxxxf dla rozwiązania optymalnego (x1,x2)=(5,3):

22 31,33)2,0(55,0)3,5( ccf dla sąsiednich wierzchołków: (x1,x2)=(5,0):(x1,x2)=(1,7):

5,20)2,0(55,0)0,5( 2 cf

22 79,17)2,0(15,0)1,7( ccf

Decyzja (x1,x2)=(5,3) pozostanie optymalna tak długo, jak spełnione będą warunki:

)1,7()3,5()0,5()3,5( ffff

222 79,131,35,231,3 ccc 3,02,0 22 cc

)5,0;0(2 c – przedział stabilności c2

Page 23: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zmiana wyrazu wolnego warunku ograniczającego (1)

8

8

7

5

w naszym przypadku:

• zmiana poziomu pracowitości Kubusia (mało prawdopodobna )

• zmiana odporności Prosiaczka na tęsknotę za Kubusiem (jeszcze mniej prawdopodobna )

• zmiana odporności pszczół na obecność Kubusia

Page 24: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zmiana wyrazu wolnego warunku ograniczającego (2)

• jeżeli prostą 0*x1+1*x2=7 przesuniemy dowolnie wysoko (0*x1+1*x2=7+Db1, Db1>0), rozwiązanie optymalne nie zmieni się

• jeżeli przesuniemy ją tak, by „przechodziła przez” dotychczasową decyzję optymalną (0*x1+1*x2=7+Db1 dla x1=5, x2 =3, stąd Db1=-4), decyzja optymalna nie zmieni się, ale warunek tej prostej stanie się napięty

• gdy Db1<-4, zmieni się decyzja optymalna i zbiór warunków napiętych (przestanie być napięty warunek oznaczony zieloną linią)

Page 25: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zmiana wyrazu wolnego warunku ograniczającego (3)

• struktura bazowa rozwiązania optymalnego – zbiór napiętych warunków ograniczających

• przedział stabilności struktury bazowej rozwiązania optymalnego względem wyrazu wolnego bi – przedział zmienności bi, w którym nie nastąpi zmiana zestawu warunków napiętych– dla warunku luźnego – pytanie podobne do tego, jakie stawialiśmy

sobie przy zmianie współczynnika funkcji celu (jak wielka zmiana możliwa bez zmiany decyzji optymalnej?)

– dla warunku napiętego takie pytanie nie miałoby w gruncie rzeczy sensu (każde przesunięcie linii ograniczenia powodowałoby zmianę decyzji optymalnej)

Page 26: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zmiana wyrazu wolnego warunku ograniczającego (4)

(1) x1 + x2 ≤ 8

(2) x1 ≤ 5

(3) x2 ≤ 78

8

7

5

(1) 5 ≤ b1 ≤ 12

(2) 1 ≤ b2 ≤ 8

(3) 3 ≤ b33przedziały stabilności struktury bazowej rozwiązania optymalnego

Page 27: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Cena dualna (1)• jak wpływa zmiana wyrazu wolnego warunku

ograniczającego na wartość funkcji celu?

warunek luźny warunek napiętyZAŁOŻENIE: struktura bazowa rozwiązania optymalnego nie ulegnie modyfikacji

ZAŁOŻENIE: struktura bazowa rozwiązania optymalnego nie ulegnie modyfikacji

0),( 21 xxf

22222121

1212111

bbxaxa

bxaxa

założenie pozwala nam uznać, że te same warunki pozostaną napięte (np. warunek (1) i (2) ); zapisujemy warunki spełniane przez nową decyzję optymalną:

rozwiązujemy ze względu na x1 i x2 (obie zmienne decyzyjne będą funkcją Db2), a następnie podstawiamy do funkcji celu:

2221 )(),( bdcbfxxf

d jest ceną dualną

cena dualna wynosi 0

cena dualna to przyrost (spadek) optymalnej wartości funkcji celu spowodowany jednostkowym przyrostem (spadkiem) wyrazu wolnego jednego z warunków ograniczających przy założeniu, że struktura bazowa rozwiązania optymalnego nie zostanie zmieniona

Page 28: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Cena dualna (2)• w przypadku problemu Kubusia Puchatka:

(1) x1 + x2 ≤ 8

(2) x1 ≤ 5

(3) x2 ≤ 7

warunek (1) jest napięty warunek (2) jest napięty warunek (3) jest luźny

cena dualna dla warunku (3) = 05

8

1

121

x

bxx

12

1

3

5

bx

x

1

1

21

2,01,3

)3(2,055,0

),(

b

b

xxf

21

21

5

8

bx

xx

22

21

3

5

bx

bx

2

22

21

3,01,3

)3(2,0)5(5,0

),(

b

bb

xxf

cena dualna dla warunku (1) = 0,2 cena dualna dla warunku (2) = 0,3

Page 29: Optymalizacja liniowa

Co się stanie, gdy dodamy nowy warunek?

• jeżeli dotychczasowa decyzja optymalna spełnia ten warunek, pozostanie ona optymalna; w przeciwnym razie szukamy nowego rozwiązania (o ile zbiór rozwiązań dopuszczalnych nie stał się pusty!)

Andrzej Torój, Ekonometria

Co się stanie, gdy usuniemy warunek?

• jeżeli warunek był luźny, dotychczasowe rozwiązanie pozostaje optymalne; jeżeli był napięty, musimy rozwiązać zadanie ponownie

Page 30: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Uwagi końcowe

• zasada ceteris paribus: przedziałów stabilności współczynników funkcji celu nie można rozpatrywać łącznie

• analiza pooptymalizacyjna dotyczy zagadnień ze zmiennymi ciągłymi

Page 31: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Zadania – podstawowe typy

Page 32: Optymalizacja liniowa

Andrzej Torój, Ekonometria

1. Dieta

Page 33: Optymalizacja liniowa

Andrzej Torój, Ekonometria

1. Dieta (c.d.)• wyróżnione są składniki (m) diety oraz ich

maksymalne i minimalne dawki

• składniki dostępne są w produktach (n), dla każdego produktu znana jest jego cena (c) i zawartość składnika (b)

• należy znaleźć najtańszą mieszankę produktów zawierającą odpowiednie ilości składników

• klasyczne zagadnienie diety – jedyniedawki minimalne, nieograniczonyzbiór rozwiązań dopuszczalnych, ale przy dodatnich cenach i kryterium minimalizacji – istnieje rozw. opt.

Page 34: Optymalizacja liniowa

Andrzej Torój, Ekonometria

2. Portfel inwestycyjny

Page 35: Optymalizacja liniowa

Andrzej Torój, Ekonometria

2. Portfel inwestycyjny• poszukujemy optymalnej struktury portfela inwestycyjnego:

• jak najmniejsze ryzyko przy zadanej oczekiwanej stopie zwrotu

• jak najwyższa oczekiwana stopa zwrotu przy zadanym oczekiwanym poziomie ryzyka

• zmienne decyzyjne: udział poszczególnych rodzajów aktywów w portfelu (%); ograniczenie budżetowe: ich suma równa 1

• limity prawne dla udziału poszczególnych aktywów (np. max. udział akcji, aktywów zagranicznych itp.)

• założenie o doskonałej podzielności aktywów i płynności rynku

• oczekiwana stopa zwrotu z portfela: średnia ważona z oczekiwanych stóp zwrotu poszczególnych jego elementów

• założenie o NIEZALEŻNOŚCI stóp zwrotu poszczególnych aktywów (?)

Page 36: Optymalizacja liniowa

Andrzej Torój, Ekonometria

3. Harmonogram

Page 37: Optymalizacja liniowa

Andrzej Torój, Ekonometria

3. Harmonogram• decydujemy o liczbie pracowników

rozpoczynających pracę o różnych porach

• zadanie ze zmiennymi dyskretnymi (np. liczby naturalne) – trudniejsze do rozwiązania

Page 38: Optymalizacja liniowa

Andrzej Torój, Ekonometria

4. Mieszanka

Page 39: Optymalizacja liniowa

Andrzej Torój, Ekonometria

4. Mieszanka• mieszamy składniki; każdy z nich ma swoją cenę

• mieszanka musi być jak najtańsza i spełnić jednocześnie określone wymagania

Page 40: Optymalizacja liniowa

Andrzej Torój, Ekonometria

5. Zagadnienie transportowe

Page 41: Optymalizacja liniowa

Andrzej Torój, Ekonometria

5. Zagadnienie transportowe• produkt zmagazynowany u m dostawców należy dostarczyć do n

odbiorców; ile jednostek produktu przewieźć od i-tego dostawcy (i=1,...,m) do j-tego odbiorcy (j=1,...,n) by spełnić wymagania odbiorców

• n*m zmiennych decyzyjnych

• należy tak ustalić plan transportu, by zminimalizować jego łączny koszt (znany jednostkowy koszt transportu od i-tego dostawcy do j-tego odbiorcy)

• zagadnienie jest zbilansowane, gdy początkowy zasób u dostawców równy zapotrzebowaniu odbiorców (warunki ograniczające: równości)

• niezbilansowane, gdy podaż lub popyt mniejsze (nierówności wśród warunków ograniczających)

• gdy towar jest niepodzielny, nie ma konieczności uwzględniania całkowitoliczbowości zmiennych

Page 42: Optymalizacja liniowa

Andrzej Torój, Ekonometria

6. Przydział

Page 43: Optymalizacja liniowa

Andrzej Torój, Ekonometria

6. Przydział

• m zadań do wykonania i m pracowników, którzy mogą je wykonać; każdy pracownik otrzymuje dokładnie jedno zadanie

• zadań może być więcej niż pracowników (wtedy wśród warunków ograniczających nierówności)

• minimalizujemy koszt realizacji zadań lub łączną efektywność

• wszystkie zmienne decyzyjne są binarne; warunek ten można zastąpić warunkiem xij≥0 (na podstawie analogicznej własności zagadnienia transportowego)

Page 44: Optymalizacja liniowa

Andrzej Torój, Ekonometria

Praca domowa

• Przykłady i zadania do rozdziałów– 11– 12– 13