1 O pewnym algorytmie rozwiązującym problem optymalnej alokacji

Transkrypt

1 O pewnym algorytmie rozwiązującym problem optymalnej alokacji
1
O pewnym algorytmie rozwiązującym problem optymalnej alokacji zasobów
Cezary S. Zaremba*, Leszek S. Zaremba **
WPROWADZENIE
W kierowaniu firmą Zarząd często staje wobec problemu rozdysponowania
(alokacji) zasobami firmy którą kieruje (pieniędzmi, czasem, powierzchnią magazynową, ładownością samochodów transportowych, itp.), które z natury rzeczy występują w firmach w ograniczonych ilościach. Jak zobaczymy poniżej, z zagadnieniami
tego typu spotykają się też indywidualni decydenci, na przykład studenci planujący
przygotowanie się do sesji egzaminacyjnej kiedy to podstawowym zasobem jakim
dysponują obok swych zdolności jest czas.
Będziemy prezentować różnorakie przykłady zastosowań badań operacyjnych
w podejmowaniu decyzji w przedsiębiorstwie, począwszy od najłatwiejszych zagadnień do najtrudniejszych. Rozpoczniemy od zdefiniowania klasycznego problemu
optymalnej alokacji zasobów (przykład 1), którego sformułowanie można znaleźć
między innymi w [1, rozdział 4.4] i [3,str. Rozdział 20.4]. Następnie sformułujemy
zagadnienie nieco trudniejsze (przykład 2), po czym przedstawimy program obliczeniowy w języku Java pod nazwą „Problem 1” który rozwiąże przykład 2 i będzie w
stanie rozwiązać wiele innych na tym samym poziomie ogólności. W przykładzie 3
pokażemy jak zwiększyć stosowalność „Problemu 1” na inne podobne zagadnienia.
W rozdziale 2 sformułujemy tak zwane uogólnione zagadnienie optymalnej
alokacji zasobów opisane przez (5)-(6), po czym zilustrujemy je 6-ma różnorakimi
zadaniami decyzyjnymi (przykłady 4-9), będącymi szczególnym przypadkiem tego
uogólnionego zagadnienia. Jego rozwiązanie pozostawimy jako problem otwarty do
rozwiazania w następnym artykule. Z uogólnionymi zagadnieniami optymalnej aloka-
* Cezary S. Zaremba ukończył studia licencjackie w WSZ-POU oraz magiserskie w
University College London
** Leszek S. Zaremba jest profesorem w WSZ-POU
2
cji zasobów czytenik może spotkać się na przykład w [2, rozdziały 10.5 i 11.3] oraz
[3, rozdz. 20.4].
ROZDZIAŁ 1. OPTYMALNA ALOKACJA KAPITAŁU FINANSOWEGO
Rozpocznijmy od zdefinowania klasycznego (standardowego) zagadnienia
optymalnej alokacji zasobów, tak jak zrobiono to w przykładzie 5 z [1, str. 960].
Przykład 1 [por.1,str.960] Pan Finco ma $6000 do zainwestowania w 3 projekty, przy
czym ustalił że kwoty d1 , d 2 , d 3 , jakie będzie inwestował w te 3 projekty będą wielokrotnościami $1000. Wszystkie te projekty przynosić będą zyski (lub straty) przez tą
samą ilość lat. Tabela 1 podaje wartości NPV (zwane w dalszej części przychodami)
dla każdego z tych 3 projektów zgodnie ze wzorami
r1 (d1 ) = 7d1 + 2 , r2 (d 2 ) = 3d1 + 7 , r3 (d 3 ) = 4d 1 + 5 ,
(1)
co ilustruje poniższa
Tabela 1
koszt (w tys. dolarów)
1
projekt #
2
3
4
5
6
przychód = NPV(w tys. dolarów )
1
9
16
23
30
37
44
2
10
13
16
19
22
25
3
9
13
17
21
25
29
przy czym funkcja r1 (d ) określa przychody z projektu 1, r2 (d ) z projektu 2, zaś r3 (d )
z projektu 3. Zgodnie z treścią zadania musi być jeszcze spełniona równość
d1 + d 2 + d 3 = 6 .
(2)
Zagadnienie które pragnie rozwiązać pan Finco polega więc na maksymalizacji sumy
przychodów, co zapisujemy w postaci
(3)
max{ r1 (d1 ) + r2 (d 2 ) + r3 (d 3 ) }
przy zachowaniu warunku (2).
Przejdźmy teraz do nieco trudniejszego zagadnienia opisanego w przykładzie
2, który podobnie jak przykład 3, rozwiążemy w tym rozdziale za pomocą programu
3
obliczeniowego pod nazwą „Problem 1”, który został specjalnie napisany na potrzeby
niniejszego artykułu.
Przykład 2
Pan Finco ma $7000 do zainwestowania. Postanowił skoncentrować się na maksimum
4 projektach spośród 5 dostępnych do realizacji, przy czym ustalił że kwota jaką
będzie inwestował w którykolwiek z 5 projektów będzie wielokrotnością $1000.
Wszystkie te projekty przynosić będą zyski (straty) przez tą samą ilość lat. Tabela 2
podaje wartości NPV (zwane w dalszej części przychodami) dla każdego z tych 5
projektów w zależności od zainwestowanej w nie dziś kwoty kapitału. Zagadnienie
które pragnie rozwiązać pan Finco polega na maksymalizacji sumy przychodów
wynikłych ze zrealizowanych projektów (minimum 1 projekt, maksimum 4 projekty),
na które łącznie nie może wydać więcej niż $7000.
Wielkości które występują w tej tabeli zostały wybrane przypadkowo, zaś
metoda rozwiązania zaprezentowana w tym artykule pracuje równie dobrze na tych
danych, jak i na każdych innych.
Tabela 2: Koszty oraz przychody z 5 projektów
koszt (w tys. dolarów)
1
projekt #
2
3
4
5
6
7
przychód = NPV (w tys. dolarów)
1
1
2
3
5
10
14
24
2
7
8
9
10
11
12
23
3
13
14
15
16
17
18
21
4
6
7
8
9
10
11
20
5
1
2
3
4
5
6
7
Jak widać z tabeli 2, jeżeli pan F. zainwestuje $4000 w projekt 1 to wartość
dodana z tego projektu (reprezentowana przez NPV) i zwana przez nas również
przychodem wyniesie $5000, pozostawiając $3000 do rozlokowania w pozostałe
projekty. Gdyby te $4000 pan F. zainwestował w projekt 3, to jego przychód
wyniósłby $16000, pozostawiając również $3000 do alokacji w inne projekty, np.
$1000 w projekt 4 oraz $2000 w projekt 2, co łącznie dałoby mu $30000. Z kolei
4
przeznaczając cały budżet tylko w jeden projekt, pan F. usyskać może maksymalnie
$24000. Rozumując w ten prosty sposób jest szansza że nie pomylimy się i znajdziemy rozwiązanie optymalne w/w problemu decyzyjnego. Gdy jednak ilość wierszy
(projektów) rośnie, podobnie jak ilość kolumn, metoda ta staje się coraz bardziej
zawodna i musi być zastąpiona przez niezawodną metodę obliczeniową.
W tym celu zaproponujemy program obliczeniowy „Problem 1” napisany w
języku Java, który wyświetlać będzie tabelę danych wyjściowych, najlepsze rozwiązanie, drugie najlepsze rozwiązanie oraz kilka dodatkowych informacji. Poszukiwania optymalnej alokacji kapitału podzielimy na 4 fazy.
W 1-ej fazie obliczeń ograniczamy się do zainwestowania w jeden projekt
całej kwoty $7000 gdyż może się zdarzyć że taki właśnie sposób inwestowania
przyniesie najlepszy rezultat; proponujemy aby czytelnik zastanowił się teraz którą
liczbę z tabeli 2 należy zmienić (można to zrobić na kilka sposobów) aby zainwestowanie całej kwoty $7000 w jeden projekt rzeczywiście przyniosło największy
przychód ze wszystkich możliwych sposobów alokacji $7000 w 1, 2, 3 lub 4 projekty.
Zatem, w 1-ej fazie program nasz wybierze maksymalną liczbę z ostatniej kolumny.
W rozpatrywanym przykładzie będzie to liczba 24 odpowiadająca projektowi #1, co
oznacza że uzyskany przychód z projektu #1 wyniesie $24000. Oznaczymy tą liczbę
przez Max1, zaś 2-ą największą przez Max2.
Przypomnijmy teraz wzór z kombinatoryki i rachunku prawdopodobieństwa,
który mówi iż wszystkich podzbiorów k-elementowych w zbiorze n-elementowym
jest
(4)
n
n!
  =
,
 k  k!(n − k )!
gdzie n!(czytaj: n silnia) oznacza iloczyn kolejnych liczb naturalnych od 1 do n.
W 2-ej fazie obliczeń rozważamy inwestowanie w dowolne 2 projekty spośród
wszystkich (5 w tym przypadku), alokując najpierw kwotę $1000 w jeden z tych projektów oraz $6000 w drugi projekt, dzięki czemu łączna suma nakładów inwestycyjnych wyniosie $7000. Powyższy wybór dwóch kolumn oznaczymy krótko przez 1-
5
6. Kolejnym wyborem będzie w tej fazie 2-5, następnie 3-4, co jak zobaczymy później wyczerpie wszystkie możliwości.
Program nasz wybiera więc po jednej liczbie z kolumny 1-ej i 6-ej, które nie
znajdują się w tym samym wierszu, czyli reprezentują różne projekty. Wszystkich
sposobów wybrania tych 2 liczb, czyli 2 projektów spośród 5 będzie jak wiemy ze
wzoru (4)
5
5!
1× 2 × 3 × 4 × 5
20
  =
=
=
= 10 .
 2  2!(5 − 2)! (1 × 2) × (1 × 2 × 3) 2
Na przykład, jeśli wybierzemy przychód 13 z kolumny 1 oraz przychód 14 z kolumny
6, i dodamy je do siebie, to otrzymując łącznie $27000 aktualizujemy wartość Max1,
oraz Max2. Postępujemy tak przy każdej nowej uzyskanej sumie, a więc 10 razy w
tym etapie. Następnie program przechodzi do kolejnego etapu, w którym dokonuje
wyboru 2-5, czyli wybiera kolumnę 2 i kolumnę 5. I tym razem program wybierze 10
różnych par liczb z tych dwóch kolumn, zsumuje te pary i za każdym razem uaktualni wartości liczb Max1 i Max2.
W kolejnym etapie tej samej fazy program obliczeniowy wybiera kolumnę 3 i
4, postępując tak samo jak poprzednio. Na tym kończy się faza 2-a ponieważ wybór
4-3, podobnie jak wybór 5-2 nie może już wnieść nic nowego. Wynika to stąd, że
wybieranie 10 par liczb z kolumn 3 i 4 i sumowanie ich jest tym samym co wybieranie 10 liczb z kolumn 4 i 3 i sumowanie ich.
W 3-ej fazie obliczeń program koncentruje się na wyborze 3 kolumn (nakładów inwestycyjnych) które łącznie pochłoną $7000. Rozpoczyna od alokacji 5-1-1,
czyli wybiera 3 liczby po jednej z kolumn 5-ej, 1-ej i 1-ej, tak aby te liczby odpowiadały 3 różnym projektom ( wierszom). Można to zrobić na
 5
5!
1× 2 × 3 × 4 × 5
20
  =
=
=
= 10
 3  3!(5 − 3)! (1 × 2 × 3) × (1 × 2) 2
sposobów, za każdym razem sumując te 3 liczby i aktualniając wartość liczb Max1 i
Max2. W kolejnym kroku program przechodzi do kolumn 4-2-1, wybierając na 10
sposobów 3 liczby, sumuje je i uaktualnia Max1 i Max2. Jedną z tych sum będzie 30
6
jako suma liczb 16(z 4-ej kolumny), 8(z 2-ej kolumny) oraz 6(z 1-ej kolumny), z
czego wynika iż Max1 ≥ 30.
W kolejnym kroku 3-ej fazy program przechodzi do kolumn 3-3-1 (wybór
kolumn 4-1-2 nie miałby sensu ponieważ były już rozpatrywane kolumny 4-2-1).
Program ponownie wybiera na 10 sposobów 3 liczby z kolumny 3-ej, 3-ej oraz 1-ej
tak aby liczby te były z różnych wierszy, sumuje je i uaktualnia dwie największe
sumy. Pozostaje jeszcze rozpatrzyć w ten sam sposób kolumny 3-2-2 gdyż wszytkie
inne układy 3 kolumn zostały już rozpatrzone, np. układ 2-2-3, układ 2-3-2, itd.
W 4-ej fazie obliczeń program koncentruje się na wyborze 4-ech kolumn
(nakładów inwestycyjnych) które łącznie pochłoną $7000. Rozpoczyna od alokacji 41-1-1, potem zajmuje się alokacją 3-2-1-1, następnie 2-2-2-1, co wyczerpuje
wszystkie możliwości. Rozpoczynając od alokacji $4000, $1000 , $1000 i $1000 w 4
różne projekty spśród 5, wybieramy 4 liczby po jednej z kolumn 4-ej, 1-ej, 1-ej i 1-ej
tak aby te liczby odpowiadały 4 różnym projektom (4 różnym wierszom). Można to
zrobić na
5
5!
1× 2 × 3 × 4 × 5 5
  =
=
= =5
 4  4!(5 − 4)! (1 × 2 × 3 × 4) × 1 1
sposobów, za każdym razem sumując te 4 liczby i uaktualniając Max1 oraz Max2. W
kolejnym dwóch krokach odpowiadających alokacjom 3-2-1-1 oraz 2-2-2-1 nasz
program postępuje analogicznie, kończąc obliczenia.
Wyniki końcowe, jak i cząstkowe przeprowadzonych obliczeń uzyskane w „Problemie 1” są do obejrzenia w dwóch poniższych interfejsach.
7
Warto podkreślić, że chociaż „Problem 1” został napisany przy założeniu iż
kwoty pieniężne do zainwestowania w rozpatrywane projekty wzrastają o 1000 zł (od
1 tys. zł do 7 tys. zł w omówionym wyżej przypadku), to prosty zabieg dopisania
„brakujących” kolumn pozwala sprowadzić każdy inny przykład do takiego sformułowania które rozwiązuje „Problem 1”. Zilustrujmy to poniżej.
8
Przykład 3
Treśc zagadnienia jest ta sama co w przykładzie 2, lecz są inne przychody z 5
projektów. Dane są one w poniższej tabeli.
Tabela 3
koszt (w tys. dolarów)
1
3
5
7
9
11
przychód = NPV (w tys. dolarów)
projekt #
1
1
2
3
5
10
14
2
7
8
9
10
11
12
3
13
14
15
18
17
18
4
6
7
8
9
10
11
5
1
2
3
4
5
6
By zastosować program obliczeniowy „Problem 1”, zastąpmy tabelę 3
poniższą tabelą.
Tabela 4
koszt (w tys. dolarów)
1
2
3
projekt #
4
5
6
7
8
9
10
11
przychód = NPV (w tys. dolarów)
1
1
1
2
2
3
3
5
5
10
10
14
2
7
7
8
8
9
9
10
10
11
11
12
3
13
13
14
14
15
15
18
18
17
17
18
4
6
6
7
7
8
8
9
9
10
10
11
5
1
1
2
2
3
3
4
4
5
5
6
W 1-ej fazie obliczeń ograniczamy się do inwestowania całej kwoty $11000 w
jeden projekt. Z obliczeń wynika że najlepiej zainwestować 11000$ w projekt #3
(przychód $18000) i to jest aktualna wartość liczby Max1. W 2-ej fazie obliczeń
rozważamy inwestowanie w dowolne 2 projekty spośród wszystkich. Po przeprowadzeniu obliczeń dowiadujemy się że najlepiej zainwestować $10000 w projekt #2
9
(przychód $11000) oraz $1000 w projekt #3 (przychód $13000) co daje łącznie
$24000. W takim razie aktualną wartością Max1 będzie $24000.
W 3-ej fazie obliczeń program koncentruje się na wyborze 3 kolumn. Z
obliczeń wynika że najlepiej zainwestować $9000 w projekt #1 (przychód $10000),
$1000 w projekt #2 (przychód $7000) oraz $1000 w projekt #3 (przychód $13000).
Uaktualniona wartość Max1 wynosi więc $30000. Jest to jednocześnie jak się wkrótce
okaże drugi najlepszy wynik. W 4-ej ostatniej fazie obliczeń program koncentruje się
na wyborze 4 kolumn. Po przeprowadzeniu obliczeń dowiadujemy się że najlepiej
zainwestować $8000 w projekt #1 (przychód $5000), $1000 w projekt #2 (przychód
$7000), $1000 w projekt #3 (przychód $13000) oraz $1000 w projekt #4 (przychód
$6000), co daje końcową wartość Max1 = $31000. Jest to zarazem najlepszy wynik
(najwyższy przychód) z alokacji posiadanego kapitału $11000 uzyskany poprzez
program obliczeniowy „Problem 1”.
ROZDZIAŁ 2 : UOGÓLNIONE ZAGADNIENIE ALOKACJI ZASOBÓW
Zdefiniujemy teraz (por. [1, str.964]) na czym polega uogólnione zagadnienie
alokacji zasobów. Matematycznie ujmując, chodzi o
T
(5)
max
∑ r (d )
t
t =1
t
gdy
10
t =T
(6)
∑ g (d ) ≤ w ,
t
t
t =1
które redukuje się do standardowego zagadnienia alokacji jeśli wszystkie funkcje
g t (d ) , 1 ≤ T, są dane wzorami g t (d ) = d . Gdy ponadto T = 3, rt (d ) dane są wzorami (1), zaś w = 6, otrzymujemy przykład 5 z [1, str. 960]. Zagadnienie (5)-(6) jest na
tyle ogólne iż prezentuje za jednym razem wiele wydawałoby się różnych zagadnień
decyzyjnych. Opiszemy teraz 6 z nich (przykłady 5-10), z których 4 pochodzą z [1,
str. 964].
Przykład 4 (znany jako „plecakowy problem” - knapsack problem)
Turysta wybiera się w góry na wycieczkę z plecakiem. Rozważa co włożyć do
plecaka, biorąc pod uwagę piżamy, ręczniki, szczotkę do zębów, kanapki z wędliną,
kanapki z serem, koszule, itp.) Wszystkich różnych rodzajów przedmiotów jest T.
Każdy ręcznik, 2 ręczniki, kanapka z serem, 3 kanapki z serem, itp. generuje pewną
użyteczność (benifit) dla turysty, jednocześnie, waży pewną ilość kg. Turysta uznał żę
maksymalna waga plecaka wynosić może w = 40 kg. Widać że jest to szczególny
przypadek uogólnionego problemu optymalnej alokacji zasobów (zasobem jest tu
powierzchnia w plecaku przeliczana na kg), jeśli g t (d ) oznaczać będzie wagę przedmiotu t wziętego do plecaka w ilości d sztuk, zaś rt (d ) określa „benifit” z tytułu
wzięcia do plecaka d sztuk przedmiotu rodzaju t.
Przykład 5 (przeprowadzka z Białegostoku do Warszawy)
Kowalscy przeprowadzają się z Białegostoku do Warszawy. Ponieważ z jednej strony
wynajęcie dużego środka transportu który by przewiózł ich wszystkie meble za
jednym razem jest kosztowne, a z drugiej strony ich kuzyn który dysponuje niedużym
samochodem transportowym zaoferował przewiezienie ich mebli w 2-óch turach(dziś
i za 3 tygodnie) za opłatą która pokrywa jedynie koszty paliwa, Kowalscy zdecydowali się na jego ofertę.
Doradź im w jaki sposób mają zabrać w pierszej turze jak najbardziej potrzebne
meble i urządzenia kuchenne które im wystarczą przez 3 tygodnie, a z drugiej strony
zmieszczą się na kuzyna ciężarówce, co oznacza że suma objętości przedmiotów
które wezmą z sobą w 1-ej turze nie przekroczy pojemności jego ciężarówki, czyli 30
11
metrów sześciennych. Każdemu meblowi i urządzeniu (zostały one ponumerowane od
1 do n), jak również grupie mebli i urzadzeń tego samego rodzaju które mają przewieść do Warszawy przyporządkowali określoną użyteczność, którą oznaczymy przez
ri (d i ) , gdzie d i oznacza ilość mebli czy urządzeń typu „i”, 1 ≤ i ≤ n . W sumie będzie
to zagadnienie (5)-(6), gdzie g i (d i ) oznaczają objętość d i urządzeń typu „i”.
Przykład 6 (optymalne zaplanowanie przygotowywania się studenta do sesji egzaminacyjnej)
Student ma do zdania egzaminy z T przedmiotów. Ze swego dotychczasowego
doświadczenia wie jak wyniki egzaminów które ma zdawać z każdego z tych przedmiotów zależeć bedą od ilości godzin które przeznaczy na przygotowanie się do nich.
Niestety, ilość czasu która mu pozostała nie wystarcza aby uzyskać maksymalnie
wysokie oceny ze wszystkich tych przedmiotów. Aby sprowadzić to zagadnienie
decyzyjne do problemu (5)-(6), niech rt (d ) oznacza stopień (liczony w punktach od 0
do 100) który uzyska student gdy przeznaczy d godzin na przygotowywanie się do
egzaminu z tego przedmiotu. Ponadto, jeśli g t (d ) = d, zaś w jest ilością godzin jaką
dysponuje (jest to jego zasób), to nierówność (6), czyli w tym przypadku nierówność
t =T
(7)
∑d
t
≤ w,
t =1
oznaczać będzie że łącznie na przygotowywanie się do wszystkich egzaminów student ma co najwyżej w godzin. Warunek (5) oznacza natomiast że chodzi tu o
maksymalizację sumy ocen ze wszystkich egzaminów, czyli mówiąc równowżnie,
chodzi o maksymalizację liczby
T
(8)
∑ r (d ) / T
t
t
t =1
reprezentującą średnią ocenę ze wszystkich egzaminów.
Przykład 7
Zagadnienie polega na przydzieleniu (alokacji) sprzedawców produktu D (którzy są
zasobem firmy ABC) do T regionów znając zarówno koszty g t ( xt ) wysłania xt sprze-
12
dawców do regionu t, jak i wielkość sprzedaży rt ( xt ) jaką oni tam uzyskają. Chodzi
T
∑ r ( x ) , przy zachowaniu ograni-
więc o maksymalizację przychodów ze sprzedaży
t
t
t =1
t =T
czenia
∑ g ( x ) ≤ w , gdzie w jest budżetem firmy ABC na dany rok.
t
t
t =1
Przykład 8
Zagadnienie to mają rozwiązać władze powiatu którym podlega T placówek straży
pożarnej działających w regionach t, 1 ≤ t ≤ T . Chodzi o ustalenie jaką ilość wozów
strażackich (oznaczmy tę ilość przez xt ) powinna posiadać placówka w regionie t aby
w całym powiecie maksymalizować ilość przypadków pożarów w ciągu tygodnia do
których samochód strażacki wyrusza w czasie krótszym niż 1 minuta od otrzymania
informacji o pożarze, wiedząc że ilośc ta w rejonie t wynosi rt ( xt ) . Przy podjęciu
decyzji władze powiatu muszą wziąść pod uwagę że tygodniowy koszt utrzymania xt
samochodów strażackich w rejonie t wynosi g t ( xt ) . Chodzi więc o maksymalizację
t =T
T
∑ rt ( xt ) , przy zachowaniu ograniczenia
∑ g ( x ) ≤ w , gdzie w jest budżetem, czyli
t =1
t =1
t
t
ponownie mamy do czynienia z zagadnieniem typu (5)-(6).
Przykład 9
Pan Michał posiada środki w wysokości $10000 do zainwestowania, mając do
dyspozycji następujące możliwości inwestycyjne. Doradź mu jakie ilości pakietów
akcji poszczególnych spółek giełdowych powinien kupić (pakiet = 100 akcji) aby w
optymalny sposób dokonać alokacji swego kapitału.
Tabela 5: Możliwości inwestycyjne oraz oczekiwany zysk
Koszt nabycia 100 akcji
Oczekiwany zysk
Spółka A
$3,000
$500
Spółka B
$4,000
$700
Spółka C
$5,000
$800
13
W tym przykładzie chodzi o taki wybór ilości pakietów ( d1 pakietów akcji spółki A,
d 2 pakietów akcji spółki B oraz d 3 pakietów akcji spółki C) aby maksymalizować
oczekiwane zyski wynikające z kupna akcji spółek A, B, C. Tabela 5 podaje zyski z
zakupu jednego pakietu akcji. Widzimy że dla spółki A oczekiwany zysk z zakupu
jednego pakietu akcji wynosi r1 (1) = 500 , dla spółki B równy jest r2 (1) = 700 , zaś w
przypadku spółki C oczekiwany zysk wynosi r3 (1) = 800 . Ponieważ zyski są proporcjonalne do ilości zakupionych pakietów akcji, zachodzą równości:
(9)
r1 (d ) = d * r1 (1) , r2 (d ) = d * r2 (1) , r3 (d ) = d * r3 (1) ,
gdzie d oznacza ilość pakietów akcji. Matematycznie ujmując, pojawia się zatem następujący problem optymalizacyjny:
(10)
max{ r1 (d1 ) + r2 (d 2 ) + r3 (d 3 ) }
gdy spełnione są ograniczenia budżetowe
(11)
g1 (d 1 ) + g 2 (d 2 ) + g 3 (d 3 ) ≤ 10000 ,
to znaczy, koszty nabycia d1 pakietów akcji spółki A, d 2 pakietów akcji spółki B
oraz d 3 pakietów akcji spółki C nie mogą przewyższać kwoty $10000. W tym przykładzie koszty g1 (d ) , g 2 (d ) , g 3 (d ) spełniają warunek (9), to znaczy są proporcjonalne do ilości zakupionych pakietów akcji, dzięki czemu możemy (10)-(11) zapisać w
postaci
(12)
max{ 500 d1 + 700 d 2 + 800d 3 } gdy
(13)
3000 d1 + 4000 d 2 + 5000d 3 ≤ 10000 .
Rozwiązanie
W tym prostym przykładzie odpowiedź można „zgadnąć”. Widać że zmaksymalizujemy oczekiwany zysk gdy d1 = 2 , d 2 = 1 , zaś d 3 = 0 , uzyskując $17000 = 2*500 +
1*700 + 0*800.
Zachęcamy czytelnika aby sam wymyślił kilka podobnych przykładów.
Literatura
1. B. Guzik, Ekonometria i Badania Operacyjne, Wydawnictwo Akademii
Ekonomicznej w Poznaniu, Poznań, 1999.
14
2. E. Ignasiak, Badania Operacyjne, PWE, Warszawa, 1997.
3. W. Winston, Operations Research: Applications and Algorithms, PWS-Kent Publishing Company, 1991.