Pewna apteka ma możliwość sprzedaży każdej ilości dwóch leków \(L_1 \) i \(L_2\), których ceny za 1 gram wynoszą odpowiednio 15 i 20 zł. Do produkcji tych leków zużywane są między innymi trzy rodzaje preparatów \(P_1,\ P_2,\ P_3\). Normy ich zużycia na 1 gram leku oraz wielkość zapasów tych preparatów podane są w następującej tabeli.
\[ \begin{matrix}\text{Zużycie preparatu (w mg) na 1 g leku} & |& P_1 & P_2 & P_3\\
\hline
L_1 & |& 10 & 10 & 10\\
L_2 & |& 10 & 20 & 30\\
\text{Zapasy (w mg) } & |& 1200 & 1500 & 2100\end{matrix}
\]
Określ plan sprzedaży pozwalający na maksymalizację przychodu apteki ze sprzedaży leków.
Pomoże ktoś? Z góry dziękuję
Badania operacyjne
Otrzymałeś(aś) rozwiązanie do zamieszczonego zadania? - podziękuj autorowi rozwiązania! Kliknij
-
- Fachowiec
- Posty: 1039
- Rejestracja: 04 sty 2020, 12:47
- Podziękowania: 9 razy
- Otrzymane podziękowania: 388 razy
- Płeć:
Re: Badania operacyjne
Niech \(x\) będzie liczbą gramów leku \(L_1\) i podobnie \(y\). Funkcja zysku: \(15x+20y\to\max.\)
Warunki ograniczające: \(x,y\) są w gramach, więc trzeba to przepisać na gramy. 10 mg to 0.01 g.
Dla \(P_1\) mamy więc \(0.01x+0.01y\leqslant 1.2\) i w sumie widać, że można zapisać równoważnie \(10x+10y\leqslant 1200\). Dalsze dwa ograniczenia: \(10x+20y\leqslant 1500\) oraz \(10x+30y\leqslant 2100.\)
Mamy więc do rozwiązania problem programowania liniowego:
\[
\begin{align*}
15x+20y&\to\max\\
10x+10y&\leqslant 1200\\
10x+20y&\leqslant 1500\\
10x+30y&\leqslant 2100\\
x,y&\geqslant 0.
\end{align*}
\]
Ponieważ są dwie zmienne decyzyjne, można to zrobić graficznie. Tego już nie będę rozwiązywał, ale podam rozwiązanie uzyskane programem Maxima.
Oznacza to, że zysk maksymalny to 1950 zł przy produkcji 90 g leku \(L_1\) oraz 30 g leku \(L_2\).
Warunki ograniczające: \(x,y\) są w gramach, więc trzeba to przepisać na gramy. 10 mg to 0.01 g.
Dla \(P_1\) mamy więc \(0.01x+0.01y\leqslant 1.2\) i w sumie widać, że można zapisać równoważnie \(10x+10y\leqslant 1200\). Dalsze dwa ograniczenia: \(10x+20y\leqslant 1500\) oraz \(10x+30y\leqslant 2100.\)
Mamy więc do rozwiązania problem programowania liniowego:
\[
\begin{align*}
15x+20y&\to\max\\
10x+10y&\leqslant 1200\\
10x+20y&\leqslant 1500\\
10x+30y&\leqslant 2100\\
x,y&\geqslant 0.
\end{align*}
\]
Ponieważ są dwie zmienne decyzyjne, można to zrobić graficznie. Tego już nie będę rozwiązywał, ale podam rozwiązanie uzyskane programem Maxima.
Kod: Zaznacz cały
load("simplex")$
maximize_lp(15*x+20*y,[10*x+10*y<1200,10*x+20*y<1500,10*x+30*y<2100]);
[1950,[y=30,x=90]]