Przykłady zadań programowania liniowego 1. Zadanie o najlepszym wykorzystaniu zasobów. Niech niektóra jednostka wytwórcza (zakład, ...) może wyprodukować n różnych typów produkcji (towarów), które oznaczymy P1, P2, ... Pj, ... Pn. Jednostka wytwórcza jest ograniczona dysponującymi rodzajami produkcyjnych zasobów, technologii, surowców, siły roboczej itd. Niech liczba takich ograniczeń m, a ich ilości odpowiednio są równe b1, b2, ... bm umownych jednostek. Znana jest też miara użyteczności wyprodukowania produkcji każdego rodzaju (na przykład, cena sprzedaży, zysk itd.) c1, c2, ... cn.. Wiadome są również współczynniki technologiczne wskazujące ile jednostek i - go zasobu potrzebne będzie dla wyprodukowania jednostki j - go rodzaju produkcji. Oznaczymy przez x=(х1, х2, ... хn) plan produkcji, zgodnie z którym muszą być wyprodukowane wyroby P1, P2, ... Pn w ilościach odpowiednio х1, х2, ... хn, żeby przedsiębiorstwo miało maksymalną produkcję dla zasobów b1, b2, ... bm, którymi on dysponuje. Tak jak koszt jednostki j-ej produkcji jest cj, ilość jednostek xj, to suma ze sprzedaży xj jednostek będzie cj*xj, a ogólna suma ze sprzedaży wyprodukowanej produkcji będzie max Z=c1*x1+c2*x2+ ... +cn*xn = Rozchód i-gо zasobu na produkcję xj jednostek j-gо produktu można określić jako aij*xj. Wówczas sumowany rozchód tego zasobu nie powinien przekroczyć bi (i=1,2, ... m) jednostek: ai1*x1+ai2*x2+ ... + ain*xn bi, lub , (i=1,2,...m) Rzeczywiście, że objętość wyprodukowanej produkcji xj powinna być nieujemna: xj 0, j=1,2, ... n Zadanie programowania liniowego z ograniczeniami można sformułować w postaci macierzowej: max Z = c*x dla ograniczeń А*х b gdzie с = (c1, c2 , ... cn) jest wektorem cen na produkcję, х = (х1, х2 , ... хn) jest wektorem ilości wyprodukowanej produkcji (plan zadania), b = (b1, b2 , ... bm) jest wektorem dysponowanych zasobów, А= (aij) jest macierzą technologicznych współczynników.
2. Zadania o dietach (mieszankach). Mamy produkty na pokarm zwierząt P1, P2, ... Pj, ... Pn. (siano, buraki, ziarno itd.). W nich zawarte są różne materie pożywne (węglowodany, białka, mikroelementy itd.), oznaczymy ich numerami 1, 2, ... m . Jednostka j-gо produktu ma w sobie aij jednostek i-gо materiału pożywnego. Według norm za określony czas potrzebne zwierzęta muszą otrzymać nie mniej niż bi jednostek i-gо materiału pożywnego. Niech znany jest również koszt ci jednostki produktu i-го rodzaju. Potrzebne jest dokonać wyboru pokarmu najmniejszego kosztu, w którym są niezbędne ilości materiałów pożywnych, tj. określić plan х = (х1, х2 , ... хn) zadania. Ekonomiczno-matematyczny model zadania ma postać: min Z = c1*x1+c2*x2+ ... +cn*xn = dla ograniczeń ai1*x1+ai2*x2+ ... + ain*xn bi, lub (i=1,2,...m) xj 0, j=1,2, ... n
Graficzna metoda rozwiązania zadania planowania liniowego Rozpatrzymy zadanie planowania liniowego dwóch zmiennych х1, х2, dla którego możemy znaleźć graficzne rozwiązanie na płaszczyźnie. Niech dane jest zadanie max Z = c1*x1+c2*x2 Żeby obliczyć kierunek wzrostu (malenia) celowej funkcji znajdziemy cząstkowe pochodne tej funkcji Z według х1 i x2: Cząstkowe pochodne funkcji Z pokazują szybkość jej wzrostu według odpowiednich osi. Na przykład c1 i c2 są szybkościami wzrostu Z według osi Ох1 i Ох2. Wektor nazywa się gradientem funkcji. Pokazuje on kierunek najszybszego wzrostu funkcji celu. Wektor -с wskazuje kierunek najszybszego malenia funkcji celu. Nazywa się on antygradientem. Wektor c = (c1; с2) prostopadły do całego zbioru prostych Z = const = c1*x1+c2*x2.
Możliwe są następujące przypadki: Wykorzystując geometryczną interpretację elementów możemy wnioskować o następnej kolejności kroków w trakcie rozwiązania zadania: 1. Biorąc pod uwagę wszystkie ograniczenia budujemy dziedzinę dopuszczalnych rozwiązań. 2. Obliczamy wektor c = (c1; с2) najszybszego wzrostu celowej funkcji, inaczej mówiąc, wektor gradientowego kierunku. 3. Rysujemy dowolną poziomicę ze zbioru Z=Zo (najłatwiej narysować krzywą Z=0, prostopadłą do wektora с). 4. Jeżeli do rozwiązania zadania konieczne jest odszukanie maksimum celowej funkcji wtedy przesuwamy poziomicę Z=Zo w kierunku wektora с tak, żeby ona dotknęła dziedziny dopuszczalnych rozwiązań w jej brzegowym punkcie (na rys. — do punktu А2). Jeżeli do rozwiązania zadania konieczne jest odszukanie minimum celowej funkcji wtedy przesuwamy poziomicę Z=Zo w kierunku odwrotnym do wektora с (na rys — do punktu A5). 5. Wyznaczymy optymalny plan х* = (х1*; х2*) i ekstremalną wartość celowej funkcji Z* = Z(x*)= Z(х1*; х2*) (na rys. – odpowiednio współrzędne punktów А2 i А5). Możliwe są następujące przypadki: 1) optymalny plan jest jedyny: to znaczy poziomica i dziedzina dopuszczalnych rozwiązań, gdy pokazują one rozwiązanie mają tylko jedyny wspólny punkt; 2) optymalnych planów jest nieskończenie wiele: wtedy, gdy one pokazują rozwiązanie poziomica zawiera jeden odcinek brzegu dziedziny dopuszczalnych rozwiązań; 3) celowa funkcja nie jest ograniczona, jakkolwiek byśmy nie przesuwali poziomicę nie może ona zająć stanu, przy którym mamy rozwiązanie; 4) dziedzina dopuszczalnych rozwiązań zawiera tylko jedyny punkt, w którym celowa funkcja osiąga jednocześnie maksimum i minimum; 5) zadanie nie ma rozwiązania; dziedzina dopuszczalnych rozwiązań to jest pusty zbiór, czyli układ ograniczeń jest niezgodny.
Graficzne rozwiązanie zadania planowania całkowitego dla dwóch zmiennych objaśniających Graficzna metoda pozwala znaleźć również całkowitoliczbowe rozwiązania zadań planowania liniowego. Ogólnie mówiąc, dla rozwiązania takiego rodzaju zadań istnieją specjalne metody (metoda gałęzi i brzegów, metoda Homory i inne). Jednakże w przypadku dwóch zmiennych możliwe jest graficzne rozwiązanie. Dlatego do wymienionych wyżej punktów musimy dodać następujące. 4a. W trakcie rozwiązania zadania na znalezienie maksymalnej wartości przesuwamy poziomicę Z=Zo w kierunku wektora с tak, żeby ona przechodziła przez wierzchołkowy punkt z całkowitoliczbowymi współrzędnymi (na rys. — do punktu А). W przypadku rozwiązania zadania na znalezienie minimum, poziomicę Z=Zo przesuwamy w antygradientnym kierunku tak, żeby przechodziła ona przez wierzchołkowy punkt z całkowitoliczbowymi współrzędnymi (na rys. — do punktu В). 5a. Wyznaczymy dopuszczalny plan х* = (х1*;х2*) w punkcie z całkowito-liczbowymi współrzędnymi, w którym celowa funkcja ma ekstremalną wartość Z* = Z(x*)= Z(х1*; х2*) (na rys. – odpowiednio współrzędne punktów А i В).
Przykład rozwiązania ZPL Plik BO_Cw_01.xls