Dorota Kuchta Zadanie programowania liniowego metoda graficzna. Formułowanie zadania programowania linowego Punktem wyjścia do sformułowania zadania programowania liniowego jest zawsze problem decyzyjny, opisany przez decydenta, specjalistę z danej dziedziny (np. chemika, budowlaoca, wojskowego), który niekoniecznie zna się na matematycznym formalizmie. Zadaniem naszym jest zrozumienie problemu i przetłumaczenie go na język formalnego modelu, którego forma jest narzucona tylko dla takiego a nie innego modelu można zastosowad opisywaną metodę i inne algorytmy. Proces tłumaczenia na język formalny jest zazwyczaj trudny i wymaga wielu rozmów między nami a specjalistą z danej dziedziny. Przykłady zamieszczone w niniejszych materiałach są bardzo proste, wręcz trywialne, co jest podyktowane względami dydaktycznymi. W rzeczywistości problemy są znacznie bardziej złożone i w ich przypadku potrzebna jest dokładnośd i systematycznośd, wręcz rygoryzm, również w procesie formułowania zadania programowania liniowego. Dlatego również w przypadku prezentowanych tutaj prostych przykładów wymagane będą systematycznośd i rygoryzm, czyli ścisłe trzymanie się instrukcji, nawet jeśli będzie się wydawało, że zadanie można zrobid szybciej czy łatwiej. Na przykład: Zatem. etap to otrzymane od specjalisty niema tematyczne sformułowanie problemu. Przykład (na podstawie T. Trzaskalik, Modelowanie optymalizacyjne, Łódź 997, s.9): Pewien zakład może wytwarzad dwa produkty: obrusy i serwety. Ich produkcja jest limitowana zasobami tkaniny, osobodni i nici. Tygodniowo firma dysponuje 4m 2 tkaniny, 8 roboczodniami i 6 cm nici. Jeden obrus wymaga 2 m 2 tkaniny, jednego osobodnia i 4 cm nici. Jedna serweta wymaga 2 m 2 tkaniny i dwóch osobodni, przy produkcji serwety nie są wykorzystywane nici. Jednostkowa marża pokrycia (czyli zysk osiągany na jednej sztuce sprzedanego wyrobu, bez uwzględnienia kosztów stałych) wynosi: dla obrusów 2 zł, dla serwety 3
zł. Należy wyznaczyd tygodniowy plan produkcji, maksymalizujący tygodniową całkowitą marżę pokrycia (czyli tygodniowy zysk firmy nieuwzględniający kosztów stałych). Kolejnym etapem formułowania zadania programowania liniowego jest określenie zmiennych decyzyjnych. Zmienne decyzyjne można najłatwiej zdefiniowad jako oznaczone symbolami literowo-cyfrowymi wielkości, których nie znamy, a których poszukujemy, potrzebne na wejściu procesu opisanego w problemie decyzyjnym. Określając zmienne decyzyjne musimy postawid pytanie: co decydent, czyli osoba, która sformułowała problem, chce tak naprawdę wiedzied, co musi wiedzied, żeby ZACZĄD wykonywad proces, czynnośd, której dotyczy problem. W Przykładzie decydent pyta o plan produkcji, a zatem musi znad liczby produktów, które ma wytworzyd. Może zacząd cokolwiek robid w momencie, kiedy zna liczby produktów, czyli plan produkcji. A zatem te liczby produktów będą zmiennymi decyzyjnymi. Oznaczamy je dowolnymi symbolami, np. _O (liczba obrusów do wyprodukowania w ciągu tygodnia) i _S (liczba serwet do wyprodukowania w ciągu tygodnia). Uwaga! Niektórzy studenci wybierają całkowitą tygodniową marżę pokrycia jako zmienną decyzyjną. To nie jest błąd, wielkośd ta może byd zmienną decyzyjną, bo rzeczywiście jest to wielkośd, której decydent nie zna, a chce poznad, ale nie jest wielkośd potrzebna na początku, na wejściu procesu produkcji, nie jest to wielkośd potrzebna do rozpoczęcia całego procesu. Dlatego całkowita marża pokrycia może, ale nie musi byd zmienną decyzyjną, natomiast liczby sztuk poszczególnych produktów, jakie mamy wyprodukowad w ciągu tygodnia, MUSZĄ byd w rozpatrywanym przykładzie zmiennymi decyzyjnymi. Od tej pory, do momentu rozwiązania problemu, na pytanie Ile sztuk obrusów będziemy produkowad w ciągu tygodnia? odpowiadamy _O, a na pytanie Ile sztuk serwet będziemy produkowad w ciągu tygodnia? opowiadamy _S. Kolejnym etapem formułowania zadania programowania liniowego jest określenie funkcji celu. Funkcja celu to wielkośd, która zgodnie z życzeniem decydenta ma przyjąd jak największą bądź jak najmniejszą wartośd. W Przykładzie wielkością tą jest tygodniowa całkowita marża pokrycia. Ma to byd wielkośd jak największa. 2
Gdyby funkcją celu były koszty, powinny one, przynajmniej w większości przypadków (z wyjątkiem takich szczególnych przypadków, kiedy chcemy maksymalizowad koszty ze względów podatkowych), przyjmowad jak najmniejszą wartośd. W rzeczywistości w zasadzie we wszystkich problemach decyzyjnych występuje więcej niż jedna funkcja celu. Decydent może chcied maksymalizowad zysk, minimalizowad zanieczyszczenie środowiska, minimalizowad zatrudnienie itp. Jednak w najprostszych przykładach, od których zaczynamy, będzie występowad jedna funkcja celu. Funkcję celu należy następnie wyrazid w języku zmiennych decyzyjnych. Zatem w naszym przypadku tygodniowa całkowita marża pokrycia ma byd wyrażona jak funkcja liczby sztuk poszczególnych wyrobów, jakie mają byd produkowane tygodniowo. Skoro jeden obrus generuje jednostkową marżę pokrycia równą 2 zł, to _O sztuk wygeneruje marżę pokrycia równą 2_O. Podobnie wszystkie wyprodukowane w tygodniu serwety wygenerują marże pokrycia równą 3_S. Zatem całkowita tygodniowa marża pokrycia będzie równa 2_O+3_S, ma ona byd jak największa.zapisujemy to w następujący sposób: 2_O+3_S max () Kolejnym etapem formułowania zadania programowania liniowego jest określenie ograniczeo. Ograniczenia są to równości bądź nierówności wyrażające w formalny sposób warunki, w jakich działa decydent, wszystkie wymagania, jakim musi sprostad, limity, właśnie ograniczenia, którym podlega. Ograniczenia wraz z funkcją celu mają obejmowad wszystkie istotne fakty i wymagania zawarte w słownym sformułowaniu problemu, ponieważ ograniczenia wraz z funkcją celu mają byd dokładnym odwzorowaniem sformułowania słownego. Jeśli chodzi o Przykład, to nie ujęliśmy jeszcze w formalne, matematyczne ramy informacji o wykorzystywanych surowcach i ich limitach. W produkcji są wykorzystywane dwa surowce, każdy z nich jest dostępny w poszczególnych tygodniach w pewnej ilości i producent nie ma możliwości uzyskania dodatkowych surowców ponad podane tygodniowe limity. Ten fakt należy teraz zapisad formalnie, w postaci ograniczeo, ponownie w języku zmiennych decyzyjnych. Poza tym produkcja obrusów i serwet wymaga też pewnej liczby osobodni, które też są ograniczone pewnym limitem. 3
Każde ograniczenie jest równością bądź nierównością, zatem składa się z prawej i lewej strony, połączonych znakiem =,, (rzadziej < lub >, my takich przypadków nie będziemy rozpatrywad). Zatem ograniczenie składa się z trzech elementów: ewa strona, znak relacji, Prawa strona. Zacznijmy od ograniczenia dotyczącego tkaniny. Prawa strona ograniczenia dotyczącego tkaniny zawierad będzie maksymalną ilośd tkaniny dostępną w ciągu tygodnia, czyli 4. ewa strona zawierad będzie, wyrażoną w języku zmiennych decyzyjnych, FAKTYCZNĄ ilośd tkaniny, jaką firma zużyje w ciągu tygodnia. Jeśli chodzi o lewą stronę, należy zatem zadad pytanie: Ile dokładnie tkaniny zużyje firma w ciągu tygodnia?. Uwaga: Wielu studentów na to pytanie opowiada 4m 2. Nie jest to właściwa odpowiedź. Wartośd ta, zgodnie z informacjami decydenta, to ilośd tkaniny dostępna w ciągu tygodnia. Natomiast w sformułowaniu problemu decydent NIGDZIE nie mówi, że całe 4m 2 musi byd wykorzystane. Więcej wykorzystad nie może, ale jeśli nie będzie mógł wykorzystad wszystkiego, to nie jest dla niego problem. A przynajmniej o tym nie mówi my opieramy się wyłącznie na informacjach przekazanym nam w sformułowaniu problemu, nie dopowiadamy niczego. Zatem jedyna prawdziwa odpowiedź na pytanie Ile dokładnie tkaniny zużyje firma w ciągu tygodnia? brzmi: nie wiemy jeszcze, ale wartośd ta będzie równa: 2_O+2_S. Wynika to z tego, że zarówno jeden obrus, jak i jedna serweta wymagają 2m 2 tkaniny, zatem _O obrusów i _S serwet zużyje 2_O+2_S m 2 tkaniny. Jeśli chodzi o relację, jaka będzie występowała w rozpatrywanym ograniczeniu, to oczywiście faktyczne zużycie tkaniny nie może przewyższad dostępnej ilości tkaniny, czyli mamy sformułowane pierwsze ograniczenie: 2_O+2_S 4 (2) Postępując analogicznie sformułujemy ograniczenie dla osobodni: _O+2_S 8 (3) wynosi 0) oraz dla nici (serweta nie potrzebuje nici, czyli współczynnik przy _S w tym ograniczeniu 4_O 6 (4) 4
Należy również pamiętad o tzw. ograniczeniach zdroworozsądkowych. Komputer będzie stosował algorytm, które będzie postępował tak i tylko tak, jak to będzie wynikało z modelu. A zatem jeśli algorytm natrafi na wartośd _O=5,6 lub wartośd _S=-2 i wartości te będą spełniały ograniczenia, to algorytm je zaakceptuje. A przecież wiemy, że liczby obrusów i serwet nie mogą byd ni ułamkowe, ani ujemne. Decydentowi zapewne ani przez myśl nie przejdzie, by nas o tym informowad, bo są to sprawy oczywiste dla każdego myślącego człowieka. Dla komputera jednak nie, dlatego te wymagania musimy umieścid w modelu. Jeśli chodzi o wymagania dotyczące całkowitoliczbowości, to wymagają one bardziej zaawansowanych metod i chwilowo nie będziemy ich wprowadzad do modelu gdyby algorytm znalazł rozwiązanie z wartościami ułamkowymi, problem rozwiążemy poprzez zaokrąglanie (ta metoda nie zawsze jest skuteczna, ale chwilowo nie będziemy rozwijad tego tematu). Natomiast wymaganie nieujemności wartości zmiennych decyzyjnych musimy wprowadzid do modelu. następująco: Zatem ostatecznie nasz model, czyli zadanie programowania liniowego, będzie wyglądało 2_O+3_S max 2_O+2_S 4 _O+2_S 8 (5) 4_O 6 _O 0,_S 0 2. Rozwiązanie zadania programowania linowego metoda graficzna Zadania typu (5) zazwyczaj rozwiązuje się tzw. algorytmem simpleks, można też stosowad SOVER z aplikacji EXCE. W przypadku dwóch zmiennych decyzyjnych można jedna kzastosowad metodą graficzną (geometryczną), która w prawdzie przy większej liczbie zmiennych (a w rzeczywistych problemach występują dziesiątki czy wręcz setki zmiennych decyzyjnych) nie jest możliwa do wykorzystania, ale znakomicie ilustruje ideę ogólniejszych algorytmów. Rozwiązanie zdania (5) metodą geometryczną zaczynamy od narysowania układu współrzędnych, którego osie reprezentują wartości zmiennych decyzyjnych. Jednostkę na osiach trzeba ustalad metodą prób i błędów jeśli rysunek, jak za chwilę wykonamy, będzie za mały lub za 5
duży w stosunku do naszej kartki papieru, rysunek przerysowujemy, stosując inną podziałkę. Mamy zatem następujący układ: _S _O Rys.: Układ współrzędnych dla Przykładu Na Rys. ujęliśmy tylko pierwszą dwiartkę układu współrzędnych, ze względu na ograniczenie dotyczące całkowitoliczbowości zmiennych decyzyjnych. Każdy punkt na Rys. ma dwie współrzędne _O i _S, każdy punkt reprezentuje zatem JAKIŚ plan produkcji firmy będącej przedmiotem naszych rozważao. Niektóre z tych planów będą niemożliwe do realizacji (np. punkt o współrzędnych _O=00 i _S =00, reprezentujący plan, zgodnie z którym firma miałaby tygodniowo produkowad 00 sztuk obrusów i 00 sztuk serwet, nie może byd zrealizowany, bo nie starczy ani siły roboczej, ani tkaniny, ani nici), niektóre będą na pewno nieoptymalne (np. punkt o współrzędnych _O=0 i _S =0, reprezentujący sytuację, kiedy firma nie produkowałaby niczego). Nasz problem polega na tym, by 6
a) Znaleźd zbiór punktów odpowiadającym planom możliwym do zrealizowania (tzw. zbiór rozwiązao dopuszczalnych) b) W zbiorze rozwiązao dopuszczalnych wyznaczyd punkt odpowiadający rozwiązaniu najlepszemu, czyli optymalnemu planowi produkcji, przy którym całkowita marża pokrycia będzie maksymalna. W celu realizacji punktu a) dla każdego ograniczenia z (5) (poza ograniczeniami zdroworozsądkowymi należy wykonad następujące kroki: i. Zapisad to ograniczenie i oznaczyd symbolem (x); ii. Zapisad (x) w postaci równości, zamieniając znak relacji na znak równości (chyba że znak relacji w (x) jest znakiem równości, wtedy zapis ii. będzie identyczny z zapisem w i.); oznaczyd otrzymaną równośd jako (xx); iii. Narysowad w układzie współrzędnych prostą (xx). Aby narysowad prostą, należy wyznaczyd jej dwa dowolne punkty. Na przykład można najpierw za jedną ze współrzędnych przyjąd wartośd 0 i wyznaczyd z (xx) wartośd drugiej współrzędnej, a potem odwrotnie; iv. Jeśli relacja w (x) jest nierównością, zaznaczyd kolorem lub deseniem jedną ze stron (xx) jeśli po wstawieniu _O=0 i _S =0 do (x) otrzymujemy wyrażenie prawdziwe, zaznaczamy tę stronę, która zawiera początek układu (0,0), jeśli otrzymujemy wyrażenie fałszywe, zaznaczamy drugą stronę. Jeśli relacja w (x) jest równością, zaznaczamy kolorem lub deseniem prostą (xx). Po wykonaniu kroków i.-iv. dla wszystkich ograniczeo wyznaczamy częśd wspólną wszystkich zaznaczonych części. Jeśli częśd wspólna nie istnieje, problem jest określany mianem problemu sprzecznego: nie ma żadnego planu możliwego do realizacji, nie ma fizycznej możliwości spełnienia wszystkich ograniczeo, decydent musi swój problem sformułowad na nowo. Jeśli istnieje częśd wspólna wszystkich zaznaczonych części, jest to szukany obszar rozwiązao dopuszczalnych. Teraz kroki i.-iv. wykonamy dla wszystkich ograniczeo z problemu (5), poza ograniczeniami zdroworozsądkowymi. 7
_S 2_O+2_S=4 _O Rys.2: Układ współrzędnych dla Przykładu wraz z obszarem wynikającym z. ograniczenia z (5). _S _O+2_S=8 _O Rys.3: Układ współrzędnych dla Przykładu wraz z obszarem wynikającym z 2. ograniczenia z (5). 8
_S 4_O=6 _O Rys.4: Układ współrzędnych dla Przykładu wraz z obszarem wynikającym z 3. ograniczenia z (5). Kolejny rysunek przedstawia częśd wspólną obszarów z Rys.2,3,4, czyli obszar rozwiązao dopuszczalnych Problemu : _S A(0,4) B(4,2) C(0,0) D(4,0) _O 9
Rys.5: Obszar rozwiązao dopuszczalnych dla Przykładu. Współrzędne punktu B znajdujemy rozwiązując układ równao, złożony z równao prostych, na przecięciu których punkt ten leży, zatem u nas będzie to układ równao: _O+2_S=8 i 4_O=6 Po wyznaczeniu obszaru rozwiązao dopuszczalnych można przejśd do punktu b), czyli do wyznaczenia rozwiązania optymalnego. Jeśli obszar rozwiązao dopuszczalnych jest zbiorem ograniczonym, to wiadomo, że rozwiązanie optymalne znajdziemy wśród jego wierzchołków. \ W naszym przypadku obszar rozwiązao optymalnych jest zbiorem ograniczonym. Zatem, w celu wyznaczenia rozwiązania optymalnego, wstawiamy do funkcji celu () współrzędne każdego z wierzchołków A,B,C,D obszaru rozwiązao dopuszczalnych z Rys.5. Rozwiązaniem optymalnym będzie ten wierzchołek, dla którego otrzymamy największą wartośd (bowiem funkcja celu ma byd w naszym przypadku maksymalizowana). Mamy zatem: Punkt: A: 2 0+3 4=2 Punkt B: 2 4+3 2=4 Punkt C: 2 0+3 0=0 Punkt D: 2 4+3 0=8 Największą wartośd funkcji celu otrzymaliśmy dla punktu B, zatem punkt B jest rozwiązaniem optymalnym. 3. Interpretacja rozwiązania optymalnego zadania programowania linowego Zadanie () ma rozwiązanie optymalne reprezentowane przez punkt B, czyli punkt o współrzędnych _O=4, _S=2. To rozwiązanie musi byd teraz zinterpretowany z praktycznego punktu widzenia, a zatem przy użyciu języka z Problemu. Przy interpretacji rozwiązania nie można używad specjalistycznego słownictwa matematycznego, takiego jak funkcja celu, zmienna decyzyjna, współrzędna czy ograniczenie. Rozwiązanie interpretujemy w języku właściwym dla specjalisty z dziedziny, z jaką związany jest problem. 0
W naszym przypadku interpretacja musi mówid o obrusach, serwetach, tkaninie, niciach, roboczogodzinach i marży pokrycia. Będzie to następująca interpretacja: Aby wygenerowad największą możliwą tygodniową całkowitą marżę pokrycia, trzeba produkowad tygodniowo 4 obrusy i 2 serwety. Wartośd maksymalnej możliwe tygodniowej marży pokrycia wynosi 4zł. Interpretację rozwiązania warto pogłębid poprzez interpretację ograniczeo. W tym celu do poszczególnych ograniczeo (poza ograniczeniami zdroworozsądkowymi) wstawiamy współrzędne optymalnego rozwiązania i w zależności od otrzymanej relacji między lewą i prawą stroną informujemy decydenta, czy osiągnie graniczne wartości, czy nie. Weźmy zatem wszystkie (poza zdroworozsądkowymi ) ograniczenia z (5) i wstawmy do nich współrzędne punktu B. Po wstawieniu współrzędnych punktu B do ograniczenia (2) otrzymujemy: 2 4+2 2 4 2<4 Otrzymaliśmy relację ostrą lewa strona nierówności okazała się mniejsza od prawej. Interpretacja tego faktu brzmi tak: Z 4 m 2 tkaniny dostępnych tygodniowo wykorzystane będzie tylko 2 m 2, 2 m 2 pozostaną niewykorzystane. Analizując ograniczenia (3) i (4), dojdziemy do następującej interpretacji: Zostaną wykorzystane wszystkie dostępne roboczogodziny i wszystkie dostępne nici. 4. Inne przypadki zadania programowania linowego Rozpatrzmy następujący przykład, będący nieznaczną modyfikacją Przykładu : Przykład 2 (na podstawie T. Trzaskalik, Modelowanie optymalizacyjne, Łódź 997, s.33): Pewien zakład może wytwarzad dwa produkty: obrusy i serwety. Ich produkcja jest limitowana zasobami tkaniny, osocodni i nici. Tygodniowo firma dysponuje 4m 2 tkaniny, 8
osobodniami i 6 cm nici. Jeden obrus wymaga 2 m 2 tkaniny, jednego osobodnia i 4 cm nici. Jedna serweta wymaga 2 m 2 tkaniny i dwóch osobodni, przy produkcji serwety nie są wykorzystywane nici. Jednostkowa marża pokrycia (czyli zysk osiągany na jednej sztuce sprzedanego wyrobu, bez uwzględnienia kosztów stałych) wynosi: dla obrusów 2 zł, dla serwety 4 zł. Należy wyznaczyd tygodniowy plan produkcji, maksymalizujący tygodniową całkowitą marżę pokrycia (czyli tygodniowy zysk firmy nieuwzględniający kosztów stałych). Jedyna różnica między Przykładem i 2 to jednostkowa marża pokrycia generowana przez jedną serwetę, w Przykładzie 2 jest ona wyższa. Model matematyczny dla Przykładu 2 jest zatem następujący: 2_O+4_S max 2_O+2_S 4 _O+2_S 8 (6) 4_O 6 _O 0,_S 0 Rozwiązując Problem 2 tak jak Problem, otrzymamy ten sam obszar rozwiązao dopuszczalnych (Rys.5). Wyznaczając wartości funkcji celu z (6) dla poszczególnych wierzchołków z Rys.5, stwierdzimy, że dla punktów A i B otrzymamy taką samą wartośd i jest to wartośd maksymalna: Punkt: A: 2 0+4 4=6 Punkt B: 2 4+4 2=6 Punkt C: 2 0+4 0=0 Punkt D: 2 4+4 0=8 Mamy tu do czynienia z tak zwanymi rozwiązaniami alternatywnymi. Rozwiązaniem optymalnym, czyli dającym największą możliwą całkowitą marżę pokrycia, jest zarówno punkt A, jak i B, a także wszytki e punkty leżące na odcinku łączącym punkty A i B (oczywiście muszą to byd punkty o współrzędnych całkowitych). W tym przypadku decydent może (i musi będzie mógł wprowadzid w życie tylko jedno rozwiązanie) wybrad jedno rozwiązanie spośród następujących, dających identyczną tygodniową marżę pokrycia: 2
Aby wygenerowad największą możliwą tygodniową całkowitą marżę pokrycia, trzeba produkowad tygodniowo albo 4 obrusy i 2 serwety; albo zero obrusów i 4 serwety albo 2 obrusy i 3 serwety. Wartośd maksymalnej możliwej tygodniowej marży pokrycia wynosi we wszystkich tych przypadkach 6zł. Warto jednak zauważyd, że wykorzystanie zasobów (tkaniny, nici, osobodni) przedstawia się w każdym przypadku nieco inaczej. Przeanalizuj to wykorzystanie dla każdego z trzech możliwych rozwiązao alternatywnych. Rozpatrzmy kolejną modyfikację Przykładu : Przykład 3 (na podstawie T. Trzaskalik, Modelowanie optymalizacyjne, Łódź 997, s.36): Pewien zakład może wytwarzad dwa produkty: obrusy i serwety. Ich produkcja jest limitowana zasobami tkaniny, roboczodni i nici. Tygodniowo firma dysponuje 6 cm nici, pozostałe zasoby mogą byd dostępne w dowolnej ilości. Jeden obrus wymaga 4 cm nici. Przy produkcji serwety nie są wykorzystywane nici. Jednostkowa marża pokrycia (czyli zysk osiągany na jednej sztuce sprzedanego wyrobu, bez uwzględnienia kosztów stałych) wynosi: dla obrusów 2 zł, dla serwety 3 zł. Należy wyznaczyd tygodniowy plan produkcji, maksymalizujący tygodniową całkowitą marżę pokrycia, uwzględniając fakt, że łączna liczb obrusów i serwet wytwarzana tygodniowo nie może byd mniejsza od 3. W tym miejscu spróbuj samodzielnie wyznaczyd model i obszar rozwiązao dopuszczalnych, postępując jak dla Przykładu. A oto odpowiedź: Model: 2_O+3_S max 4_O 6 (7) _O+_S 3 _O 0,_S 0 3
_S _O Rys.6: Obszar rozwiązao dopuszczalnych dla Przykładu 3 nieograniczony. Trzeba zauważyd, że obszar zaznaczony na Rys. 6 jest w jednym kierunku (do góry) Na takich krawędziach trudno zatem mówid o wierzchołkach obszaru. W takim przypadku zamiast wierzchołków wybieramy dowolne punkty na nieskooczonych krawędziach. Będziemy zatem mieli następujące wierzchołki i quasi wierzchołki: 4
A(0,0) B(4,0) C(0,3) D(3,0) E(4,0) _O Rys.7: Obszar rozwiązao dopuszczalnych dla Przykładu 3 z zaznaczonymi wierzchołkami bądź quasi wierzchołkami. Wstawiając do funkcji celu z (7) współrzędne wierzchołków z Rys.7, otrzymujemy Punkt: A: 2 0+3 0=30 Punkt B: 2 4+3 0=38 Punkt C: 2 0+3 3=9 Punkt D: 2 3+3 0=6 Punkt E: 2 4+3 0=8 Maksymalna wartośd funkcji celu została osiągnięta w punkcie B, nie będącym tak naprawdę wierzchołkiem obszaru rozwiązao dopuszczalnych (Rys.7). Punkt B leży na nieskooczonej krawędzi, można go przesuwad w nieskooczonośd. W takiej sytuacji rozwiązania optymalnego sformułowanego problemu nie ma. Mówimy, że problem jest nieograniczony. Oznacza to, że funkcja celu w danym problemie może przyjmowad dowolnie duże wartości, trudno zatem mówid o maksymalnej całkowitej marży pokrycia. W praktyce sytuacja taka oznacza zazwyczaj, że decydent zapomniał o jakimś ograniczeniu lub my popełniliśmy błąd przy formułowaniu modelu bądź rozwiązywaniu go. 5
I wreszcie ostatni przykład, będący modyfikacją Przykładu 3. W przykładzie tym mamy do czynienia z wielkością, która ma byd jak najmniejsza, zatem funkcja celu będzie minimalizowana: Przykład 4: Pewien zakład może wytwarzad dwa produkty: obrusy i serwety. Ich produkcja jest limitowana zasobami tkaniny, roboczodni i nici. Tygodniowo firma dysponuje 6 cm nici, pozostałe zasoby mogą byd dostępne w dowolnej ilości. Jeden obrus wymaga 4 cm nici. Przy produkcji serwety nie są wykorzystywane nici. Jednostkowa zmienny koszt produkcji (czyli koszt przypadający na jedną sztukę) wynosi: dla obrusów 2 zł, dla serwety 3 zł. Należy wyznaczyd tygodniowy plan produkcji, minimalizujący tygodniowy całkowity koszt zmienny, uwzględniając fakt, że łączna liczb obrusów i serwet wytwarzana tygodniowo nie może byd mniejsza od 3. W tym miejscu spróbuj samodzielnie wyznaczyd model i obszar rozwiązao dopuszczalnych, postępując jak dla Przykładu. A oto odpowiedź: Model: 2_O+3_S min 4_O 6 (8) _O+_S 3 _O 0,_S 0 Obszar rozwiązao dopuszczalnych i wierzchołki lub quasi wierzchołki są takie same jak na Rys. 6 i 7. Zatem obszar rozwiązao dopuszczalnych jest nieograniczony. Ale uwaga: to nie znaczy, że sam problem jest nieograniczony. Problem jest nieograniczony jedynie wtedy, kiedy optymalne wartości funkcji celu przypadają na quasi wierzchołkach. Zobaczmy, czy tak jest w przypadku problemu (8): Punkt: A: 2 0+3 0=30 Punkt B: 2 4+3 0=38 6
Punkt C: 2 0+3 3=9 Punkt D: 2 3+3 0=6 Punkt E: 2 4+3 0=8 Optymalna, a więc minimalna wartośd funkcji celu z (8) jest osiągnięta dla punktu D, który jest prawdziwym wierzchołkiem obszaru rozwiązao dopuszczalnych. W takiej sytuacji problem ma rozwiązanie, jest nim właśnie punkt D, a interpretacja tego rozwiązana brzmiałaby następująco: Aby wygenerowad najmniejsze możliwe tygodniowe całkowite koszty zmienne, trzeba produkowad tygodniowo 3 obrusy i zero serwet. Wartośd minimalnych możliwych tygodniowych kosztów wynosi 6zł. Przy takim planie produkcji zostaną niewykorzystane 4 cm nici, natomiast całkowita liczba produkowanych tygodniowo sztuk będzie na minimalnym wymaganym poziomie i będzie równa trzy: trzy obrusy plus zero serwet. 7