[Excel][Solver] Maksymalizacja zysków

Riot
Użytkownik
Użytkownik
Posty: 77
Rejestracja: 13 lut 2014, o 10:14
Płeć: Mężczyzna
Lokalizacja: Opole
Podziękował: 9 razy

[Excel][Solver] Maksymalizacja zysków

Post autor: Riot »

Hej,

Wydaje mi się że to najodpowiedniejszy dział na to. W tym semestrze zaczęliśmy pracować z Solver'em (narzędzie Excela) ale nie potrafię tego ogarnąć. Mógłby mi ktoś na podstawie zadania wyjaśnić co i jak się w tym robi? :/
Przedsiębiorstwo produkuje cztery wyroby \(\displaystyle{ A, B, C}\) i \(\displaystyle{ D}\) na trzech oddziałach \(\displaystyle{ O_1, O_2, O_3.}\) Czas pracy oddziałów przypadający na obróbkę jednostek poszczególnych wyrobów (w godz.) zestawiono w tabeli:

\(\displaystyle{ \begin{tabular}{|c|c|c|c|c|} \hline
& \multicolumn{4}{|c|}{Czas pracy na jedn.} \\
Oddział & \multicolumn{4}{|c|}{wyrobu (w godz.)} \\ \cline{2-5}
& A & B & C & D \\ \hline
O_1 & 1 & 0 & 1{,}5 & 2 \\ \hline
O_2 & 0 & 0 & 3 & 1 \\ \hline
O_3 & 1{,}5 & 2 & 0 & 1{,}5 \\ \hline
\end{tabular}}\)


Zysk osiągany na jednostce produkcji kształtuje się odpowiednio: \(\displaystyle{ 3; \, 1{,}5; \, 4}\) i \(\displaystyle{ 3{,}5 \, \text{zł}.}\) Miesięcznie oddziały mogą pracować odpowiednio: \(\displaystyle{ O_1 \to 210}\) godzin, \(\displaystyle{ O_2 \to}\) co najmniej \(\displaystyle{ 100}\) godzin, a \(\displaystyle{ O_3 \to}\) co najwyżej \(\displaystyle{ 200}\) godzin.
Ustalić optymalny rozmiar produkcji poszczególnych wyrobów. Podać łączny zysk zrealizowany przy tym asortymencie produkcji.
Jak do tej pory mam coś takiego:
\(\displaystyle{ x_{1} = \textbf {wielkość produkcji O1, więc musi być równe 210, patrząc na treść zadania} \\
x_{2} = \textbf {wielkość produkcji O2, więc } \ge \textbf{ 100} \\
x_{3} = \textbf {wielkość produkcji O3, więc } \le \textbf{ 210} \\
x_{1} = a + 1,5c + 2d \\
x_{2} = 3c + d \\
x_{3} = 1,5a + 2b + 1,5d \\
210 = a + 1,5c + 2d \\
100 \ge 3c + d \\
210 \le 1,5a + 2b + 1,5c \\
a \ge 0 \\
b \ge 0 \\
c \ge 0 \\
d \ge 0 \\
f(x_{1} \ x_{2} \ x_{3}) = 1,5a + 2b + 4c + 3,5d \longrightarrow \textbf {max, szukamy maksymalizacji zysków} \\}\)


Ale tu kończy się rumakowanie, bo nie mam pojęcia jak to rozwiązać dalej...jest ktoś w stanie mi to wyjaśnić? :/
Ostatnio zmieniony 15 kwie 2015, o 15:15 przez Afish, łącznie zmieniany 3 razy.
Powód: Nieregulaminowy zapis - obrazki zamiast zapisu w LaTeX-u.
SlotaWoj
Użytkownik
Użytkownik
Posty: 4211
Rejestracja: 25 maja 2012, o 21:33
Płeć: Mężczyzna
Lokalizacja: Kraków PL
Podziękował: 2 razy
Pomógł: 758 razy

[Solver] Maksymalizacja zysków

Post autor: SlotaWoj »

Zapoznaj się z przykładem z:
oraz z zawartością pliku z przykładami (moja lokalizacja dla Office 2003):
  • C:Program FilesMicrosoft OfficeOffice11SamplesSolvSamp.xls
Musisz rozbudować swój arkusz do postaci:
  • \(\displaystyle{ \begin{tabular}{lcccccc} &A&B&C&D&E&F \\ \cline{2-7}
    1&\multicolumn{1}{|c|}{}&\multicolumn{4}{c|}{Pracochłonność}&\multicolumn{1}{c|}{}\\ \cline{7-7}
    2&\multicolumn{1}{|c|}{Oddział}&\multicolumn{4}{c|}{[h/szt.]}&\multicolumn{1}{c|}{}\\ \cline{3-7}
    3&\multicolumn{1}{|c|}{}&\multicolumn{1}{c|}{A}&\multicolumn{1}{c|}{B}&\multicolumn{1}{c|}{C}&\multicolumn{1}{c|}{D}&\multicolumn{1}{c|}{} \\ \cline{2-7}
    4&\multicolumn{1}{|c|}{O_1}&\multicolumn{1}{c|}{1}&\multicolumn{1}{c|}{0}&\multicolumn{1}{c|}{1,5}&\multicolumn{1}{c|}{2}&\multicolumn{1}{c|}{} \\ \cline{2-7}
    5&\multicolumn{1}{|c|}{O_2}&\multicolumn{1}{c|}{0}&\multicolumn{1}{c|}{0}&\multicolumn{1}{c|}{3}&\multicolumn{1}{c|}{1}&\multicolumn{1}{c|}{} \\ \cline{2-7}
    6&\multicolumn{1}{|c|}{O_3}&\multicolumn{1}{c|}{1,5}&\multicolumn{1}{c|}{2}&\multicolumn{1}{c|}{0}&\multicolumn{1}{c|}{1,5}&\multicolumn{1}{c|}{} \\ \cline{2-7}
    7&\multicolumn{1}{|c|}{Zysk jedn.}&\multicolumn{1}{c|}{3}&\multicolumn{1}{c|}{1,5}&\multicolumn{1}{c|}{4}&\multicolumn{1}{c|}{3,5}&\multicolumn{1}{c|}{Czas} \\ \cline{2-7}
    8&\multicolumn{1}{|c|}{P_1}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{1}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{450} \\ \cline{2-7}
    9&\multicolumn{1}{|c|}{P_2}&\multicolumn{1}{c|}{1}&\multicolumn{1}{c|}{1}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{400} \\ \cline{2-7}
    10&\multicolumn{1}{|c|}{P_3}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{1}&\multicolumn{1}{c|}{100}&\multicolumn{1}{c|}{500} \\ \cline{2-7}
    11&\multicolumn{1}{|c|}{Zysk}&\multicolumn{1}{c|}{603}&\multicolumn{1}{c|}{153}&\multicolumn{1}{c|}{804}&\multicolumn{1}{c|}{1050}&\multicolumn{1}{c|}{2610} \\ \cline{2-7}
    \end{tabular}}\)
  1. Zakres B7:E7 zawiera zyski jednostkowe, które są podane.
  2. Zakres B8:E10 zawiera produkcję poszczególnych wyrobów w oddziałach i będzie zmieniany przez Solver.
    Trzeba go wypełnić jakimiś danymi początkowymi, które mogą być dowolne, gdy optymalizujemy parametr modelu liniowego. Gdy mamy model nieliniowy (te mogą mieś różne optima lokalne), wartości początkowe powinny nie powinny być zbyt odległe od spodziewanego lub pożądanego optimum.
    Części z ww. danych ma wartość początkową \(\displaystyle{ 1}\) tylko po to, aby wyodrębniały się wizualnie, bo dla nich trzeba będzie zdefiniować dodatkowe ograniczenia (czytaj dalej).
  3. Zakres F8:F10 zawiera formuły obliczające czas pracy poszczególnych oddziałów przy produkcji wszystkich wyrobów.
  4. Zakres B11:E11 zawiera formuły obliczające zysk przy produkcji poszczególnych wyrobów we wszystkich oddziałach.
  5. Komórka F11 zawiera formulę obliczającą łączny zysk przedsiębiorstwa przy produkcji wszystkich wyrobów we wszystkich oddziałach.
    Ten parametr modelu będzie wskazywany Solverowi jako cel i maksymalizowany.
    • Riot pisze:Ustalić optymalny rozmiar produkcji poszczególnych wyrobów. Podać łączny zysk zrealizowany przy tym asortymencie produkcji.
    Powinno być:
    • Ustalić optymalny rozmiar produkcji poszczególnych wyrobów maksymalizujący zysk przedsiębiorstwa
    bo nie można mówić o optymalizacji w oderwaniu od kryterium (to powinno być jedno zdanie).
  6. Ograniczenia:
    1. Dla zakresu B8:E10 należy zdefiniować ograniczenie \(\displaystyle{ \ge0}\) (można to zrobić „hurtem”).
    2. Dla tych komórek, dla których przyjąłem wartość początkową 1, należy zdefiniować dodatkowe ograniczenie \(\displaystyle{ =0}\).
      Uzasadnienie: gdy pracochłonność wynosi 0, to nie działają ograniczenia czasowe i optimum jest przy nieskończenie wielkiej produkcji.
      Można zamiast „sztucznej” pracochłonności równej 0 przyjąć pracochłonność równą 999999999 (co ma oznaczać, że oddział nie ma możliwości produkowania danego wyrobu), ale to również nie gwarantuje poprawności wyniku optymalizacji (czytaj p-pkt d).
    3. Dla komórek F8, F9 i F10 należy przyjąć ograniczenia określone w temacie zadania.
    4. Dla komórki F9 należy przyjąć dodatkowe ograniczenie z następującego powodu: 200 godzin pracy miesięcznie to ok. 40 godzin pracy tygodniowo, czyli praca na jedną 8-godzinną zmianę. Oddział 2 ma pracować co najmniej 100 godzin w miesiącu czyli co najmniej na pół zmiany, ale nie może pracować więcej niż na 3 zmiany, tj. 600 godzin w miesiącu.
      W związku z tym dla komórki F9 należy przyjąć ograniczenie, np. \(\displaystyle{ \le600}\) lub mniej.
ODPOWIEDZ