Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
notatki:badania_operacyjne_teoria [2025/05/16 15:42] – utworzono administrator | notatki:badania_operacyjne_teoria [2025/05/16 17:32] (aktualna) – administrator | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ====== Badania | + | ===== Badania |
- | ===== Rozwiązywanie ZPL (zadań programowania liniowego) metodą graficzną ===== | + | Geogebra: {{ : |
źródło: [[https:// | źródło: [[https:// | ||
Linia 7: | Linia 7: | ||
Metoda graficzna służy do rozwiązywania tylko takich zadań programowania liniowego, które mają maksymalnie 2 zmienne, gdyż tylko takie można przedstawić w układzie współrzędnych. Oto przykład takiego zadania: | Metoda graficzna służy do rozwiązywania tylko takich zadań programowania liniowego, które mają maksymalnie 2 zmienne, gdyż tylko takie można przedstawić w układzie współrzędnych. Oto przykład takiego zadania: | ||
- | z = 6x1 + 6x2 → max\\ | + | $$ |
- | 2x1 + 3x2 ≤ 12\\ | + | \begin{align*} |
- | 4x1 + 2x2 ≤ 16\\ | + | \text{Maximize} \quad & z = 6x_1 + 6x_2 \\ |
- | x1 ≥ 0, x2 ≥ 0\\ | + | \text{subject to} \quad |
+ | & 2x_1 + 3x_2 \leq 12 \\ | ||
+ | & 4x_1 + 2x_2 \leq 16 \\ | ||
+ | & x_1 \geq 0,\ x_2 \geq 0 | ||
+ | \end{align*} | ||
+ | $$ | ||
- | Należy rozpocząć od zaznaczenia w układzie współrzędnych obszaru danego za pomocą ograniczeń. W pierwszym kroku rysujemy układ współrzędnych (należy pamiętać o opisaniu osi oraz o zaznaczeniu skali): | + | Należy rozpocząć od zaznaczenia w układzie współrzędnych obszaru danego za pomocą ograniczeń. W pierwszym kroku rysujemy układ współrzędnych (należy pamiętać o opisaniu osi oraz o zaznaczeniu skali) |
- | + | ||
- | {{: | + | |
Następnie numerujemy ograniczenia. Warto to robić, szczególnie w przypadku zadań, gdy liczba ograniczeń jest większa niż 2. | Następnie numerujemy ograniczenia. Warto to robić, szczególnie w przypadku zadań, gdy liczba ograniczeń jest większa niż 2. | ||
- | 1) 2x1 + 3x2 ≤ 12\\ | + | $$ |
- | 2) 4x1 + 2x2 ≤ 16\\ | + | \begin{align} |
+ | \text{1) } 2x_1 + 3x_2 & | ||
+ | \text{2) } 4x_1 + 2x_2 & | ||
+ | \end{align} | ||
+ | $$ | ||
Rysujemy pierwsze ograniczenie. Obrazem graficznym ograniczenia 1 jest półpłaszczyzna, | Rysujemy pierwsze ograniczenie. Obrazem graficznym ograniczenia 1 jest półpłaszczyzna, | ||
Najpierw należy sporządzić wykres prostej | Najpierw należy sporządzić wykres prostej | ||
- | 2x1 + 3x2 = 12\\ | + | \[ |
+ | 2x_1 + 3x_2 = 12 | ||
+ | \] | ||
Prosta ta przechodzi przez punkty (0,4) i (6,0). Następnie należy zdecydować, | Prosta ta przechodzi przez punkty (0,4) i (6,0). Następnie należy zdecydować, | ||
- | 0 ≤ 12\\ | + | \[ |
+ | 0 \leq 12 | ||
+ | \] | ||
Jest to zdanie prawdziwe, zatem punkt (0,0) należy do tej półpłaszczyzny. Półpłaszczyznę zaznaczamy strzałką. | Jest to zdanie prawdziwe, zatem punkt (0,0) należy do tej półpłaszczyzny. Półpłaszczyznę zaznaczamy strzałką. | ||
Linia 36: | Linia 49: | ||
Analogicznie sporządzamy wykres ograniczenia 2. Także rysujemy wykres prostej: | Analogicznie sporządzamy wykres ograniczenia 2. Także rysujemy wykres prostej: | ||
- | 4x1 + 2x2 = 16 | + | \[ |
+ | 4x_1 + 2x_2 = 16 | ||
+ | \] | ||
Przechodzi ona przez punkty (0,8) i (4,0). Następnie wstawiając do ograniczenia drugiego współrzędne punktu (0,0) znajdujemy właściwą półpłaszczyznę. | Przechodzi ona przez punkty (0,8) i (4,0). Następnie wstawiając do ograniczenia drugiego współrzędne punktu (0,0) znajdujemy właściwą półpłaszczyznę. | ||
- | 0 ≤ 16 | + | \[ |
+ | 0 \leq 16 | ||
+ | \] | ||
Zatem punkt (0,0) należy do tej półpłaszczyzny. Podobnie jak w przypadku ograniczenia 1 półpłaszczyznę zaznaczamy strzałką. | Zatem punkt (0,0) należy do tej półpłaszczyzny. Podobnie jak w przypadku ograniczenia 1 półpłaszczyznę zaznaczamy strzałką. | ||
Linia 62: | Linia 81: | ||
Następnie należy narysować prostą prostopadłą do gradientu. Jest to warstwica funkcji celu. Ma ona równanie: | Następnie należy narysować prostą prostopadłą do gradientu. Jest to warstwica funkcji celu. Ma ona równanie: | ||
- | 6x1 + 6x2 = c | + | \[ |
+ | 6x_1 + 6x_2 = c | ||
+ | \] | ||
gdzie c jest stałą. W zależności od tej stałej możemy przesuwać równolegle warstwicę po rysunku. Aby odnaleźć punkt optymalny, którego współrzędne dają nam największą wartość funkcji celu, należy warstwicę przesuwać równolegle, | gdzie c jest stałą. W zależności od tej stałej możemy przesuwać równolegle warstwicę po rysunku. Aby odnaleźć punkt optymalny, którego współrzędne dają nam największą wartość funkcji celu, należy warstwicę przesuwać równolegle, | ||
Linia 70: | Linia 92: | ||
Przesuwana prosta prostopadła do gradientu (warstwica) ma ostatni raz punkt wspólny z obszarem dopuszczalnym w punkcie przecięcia się prostych 1 i 2. Tam też leży rozwiązanie zadania - punkt optymalny. Znajdujemy go poprzez rozwiązanie następującego układu równań: | Przesuwana prosta prostopadła do gradientu (warstwica) ma ostatni raz punkt wspólny z obszarem dopuszczalnym w punkcie przecięcia się prostych 1 i 2. Tam też leży rozwiązanie zadania - punkt optymalny. Znajdujemy go poprzez rozwiązanie następującego układu równań: | ||
- | 2x1 + 3x2 = 12\\ | + | \[ |
- | 4x1 + 2x2 = 16\\ | + | \begin{cases} |
+ | 2x_1 + 3x_2 = 12 \\ | ||
+ | 4x_1 + 2x_2 = 16 | ||
+ | \end{cases} | ||
+ | \] | ||
W wyniku rozwiązania powyższego układu równań otrzymujemy: | W wyniku rozwiązania powyższego układu równań otrzymujemy: | ||
- | x1 = 3, x2 = 2 | + | \[ |
+ | x_1 = 3, \quad x_2 = 2 | ||
+ | \] | ||
Zaznaczamy punkt optymalny na rysunku. | Zaznaczamy punkt optymalny na rysunku. | ||
Linia 83: | Linia 113: | ||
Należy jeszcze wyznaczyć wartość funkcji celu w punkcie optymalnym: | Należy jeszcze wyznaczyć wartość funkcji celu w punkcie optymalnym: | ||
- | z(3,2) = 3*6+2*6 = 30 | + | \[ |
+ | z(3,2) = 3 \times | ||
+ | \] | ||
Podsumowjąc, | Podsumowjąc, | ||
- | z = 2x1 + 6x2 → max | + | \[ |
+ | z = 2x_1 + 6x_2 \to \max | ||
+ | \] | ||
to gradient byłby wektorem [2,6], a punkt optymalny znalazłby się w punkcie (0,4). Sytuacja taka została przedstawiona na rysunku poniżej. | to gradient byłby wektorem [2,6], a punkt optymalny znalazłby się w punkcie (0,4). Sytuacja taka została przedstawiona na rysunku poniżej. |