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.