Różnice między wybraną wersją a wersją aktualną.
Nowa wersja | Poprzednia wersja | ||
notatki:badania_operacyjne_teoria [2025/05/16 15:05] – utworzono administrator | notatki:badania_operacyjne_teoria [2025/05/16 17:32] (aktualna) – administrator | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ====== Badania operacyjne: | + | ===== Badania operacyjne: |
- | ====== Wprowadzenie do badań operacyjnych ====== | + | Geogebra: {{ : |
- | Badania operacyjne (ang. *Operations Research*) to interdyscyplinarna dziedzina nauki zajmująca się tworzeniem i analizą modeli matematycznych wspomagających podejmowanie optymalnych decyzji w złożonych systemach. Powstała w odpowiedzi na potrzeby efektywnego zarządzania zasobami i procesami, zwłaszcza w kontekście militarnym podczas II wojny światowej, a obecnie znajduje zastosowanie w wielu obszarach, takich jak przemysł, logistyka, ekonomia czy zarządzanie. | + | źródło: [[https:// |
- | Celem badań operacyjnych jest dostarczenie narzędzi umożliwiających: | + | 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: |
- | * identyfikację i precyzyjne sformułowanie problemów decyzyjnych, | + | $$ |
- | * opracowanie modeli matematycznych odzwierciedlających rzeczywiste sytuacje, | + | \begin{align*} |
- | * analizę tych modeli w celu znalezienia optymalnych lub zadowalających rozwiązań, | + | \text{Maximize} \quad & z = 6x_1 + 6x_2 \\ |
- | * wdrożenie i monitorowanie wybranych rozwiązań w praktyce.([sylabus.uj.edu.pl][1]) | + | \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*} | ||
+ | $$ | ||
- | ==== Podstawowe pojęcia ==== | + | 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) |
- | **Model matematyczny** – uproszczony opis rzeczywistego systemu lub procesu, wyrażony za pomocą równań, nierówności i funkcji celu. Modele te pozwalają na analizę i optymalizację zachowań systemów. | + | Następnie numerujemy ograniczenia. Warto to robić, szczególnie w przypadku zadań, gdy liczba ograniczeń jest większa niż 2. |
- | **Zmienna decyzyjna** – wielkość, której wartość jest ustalana w procesie podejmowania decyzji, np. ilość produkowanych jednostek produktu. | + | $$ |
+ | \begin{align} | ||
+ | \text{1) } 2x_1 + 3x_2 &\leq 12 \\ | ||
+ | \text{2) } 4x_1 + 2x_2 &\leq 16 | ||
+ | \end{align} | ||
+ | $$ | ||
- | **Funkcja celu** – matematyczne wyrażenie opisujące cel optymalizacji, | + | Rysujemy pierwsze ograniczenie. Obrazem graficznym ograniczenia 1 jest półpłaszczyzna, |
+ | Najpierw należy sporządzić wykres prostej | ||
- | **Ograniczenia (warunki brzegowe)** – zbiór równań lub nierówności, | + | \[ |
+ | 2x_1 + 3x_2 = 12 | ||
+ | \] | ||
- | **Rozwiązanie dopuszczalne** – zestaw wartości zmiennych decyzyjnych spełniających wszystkie ograniczenia modelu. | ||
- | **Rozwiązanie optymalne** – rozwiązanie dopuszczalne, które prowadzi do najlepszego możliwego wyniku funkcji celu. | + | Prosta ta przechodzi przez punkty (0,4) i (6,0). Następnie należy zdecydować, |
- | ==== Etapy badań operacyjnych ==== | + | \[ |
+ | 0 \leq 12 | ||
+ | \] | ||
- | 1. **Definicja problemu** – dokładne określenie celu analizy i identyfikacja kluczowych elementów systemu. | ||
- | 2. **Budowa modelu** – przekształcenie problemu rzeczywistego w model matematyczny, | + | Jest to zdanie prawdziwe, zatem punkt (0,0) należy do tej półpłaszczyzny. Półpłaszczyznę zaznaczamy strzałką. |
- | 3. **Rozwiązanie modelu** – zastosowanie odpowiednich metod matematycznych do znalezienia rozwiązania optymalnego. | + | {{: |
- | 4. **Weryfikacja modelu** – sprawdzenie, | + | Analogicznie sporządzamy wykres ograniczenia 2. Także rysujemy wykres prostej: |
- | 5. **Implementacja rozwiązania** – wdrożenie wybranego rozwiązania w praktyce i monitorowanie jego efektywności. | + | \[ |
+ | 4x_1 + 2x_2 = 16 | ||
+ | \] | ||
- | ==== Zastosowania badań operacyjnych ==== | ||
- | Badania operacyjne znajdują zastosowanie w wielu dziedzinach, takich jak: | + | 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ę. |
- | * **Logistyka i transport** – optymalizacja tras, zarządzanie flotą, planowanie dostaw. | + | \[ |
- | * **Produkcja** – planowanie produkcji, zarządzanie zapasami, harmonogramowanie zadań. | + | 0 \leq 16 |
- | * **Finanse** – optymalizacja portfela inwestycyjnego, | + | \] |
- | * **Służba zdrowia** – alokacja zasobów, planowanie personelu, optymalizacja procesów medycznych. | + | |
- | * **Zarządzanie projektami** – harmonogramowanie, | + | |
- | ==== Literatura ==== | ||
- | 1. Węglarz, J. (2009). *Badania operacyjne*. Politechnika Poznańska.([sirius.cs.put.poznan.pl][2]) | + | Zatem punkt (0,0) należy do tej półpłaszczyzny. Podobnie jak w przypadku ograniczenia 1 półpłaszczyznę zaznaczamy strzałką. |
- | 2. Krawczyk, S. (1996). *Badania operacyjne dla menedżerów*. Wydawnictwo Akademii Ekonomicznej we Wrocławiu.([logistyka.net.pl][3]) | + | {{: |
- | 3. Wikipedia. (n.d.). *Badania operacyjne*. Retrieved from [https:// | + | Pamiętając o ograniczeniach brzegowych, tj. x1 ≥ 0, x2 ≥ 0, zaznaczamy część wspólną wszystkich narysowanych obszarów. |
- | ====== Symbole i wzory matematyczne w badaniach operacyjnych ====== | + | {{: |
- | Badania operacyjne opierają się na precyzyjnym języku matematycznym, | + | Zaznaczony obszar nosi nazwę " |
- | ==== Symbole podstawowe ==== | + | Gradient jest to wektor, który wskazuje kierunek najszybszego wzrostu funkcji. Wyznacza się go jako pochodne cząstkowe funkcji po wszystkich współrzędnych. W naszym zadaniu gradient funkcji celu będzie miał następującą postać: |
- | * **Zmienne decyzyjne**: | + | gradz=[6,6] |
- | * **Parametry**: | + | Wyznaczony gradient, czyli wektor [6,6] należy zaznaczyć na rysunku. |
- | * **Funkcja celu**: \$Z\$ – wartość, którą chcemy maksymalizować lub minimalizować, | + | {{:notatki: |
- | * **Ograniczenia**: | + | Następnie należy narysować prostą prostopadłą do gradientu. Jest to warstwica funkcji celu. Ma ona równanie: |
- | ==== Operatory matematyczne ==== | + | \[ |
+ | 6x_1 + 6x_2 = c | ||
+ | \] | ||
- | * **Dodawanie**: | ||
- | * **Odejmowanie**: | + | 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, |
- | * **Mnożenie**: \$\cdot\$ lub brak symbolu – iloczyn dwóch wyrażeń.([BYJU' | + | {{:notatki: |
- | * **Dzielenie**: | + | 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ń: |
- | * **Równość**: | + | \[ |
+ | \begin{cases} | ||
+ | 2x_1 + 3x_2 = 12 \\ | ||
+ | 4x_1 + 2x_2 = 16 | ||
+ | \end{cases} | ||
+ | \] | ||
- | * **Nierówności**: | ||
- | * **Suma**: \$\sum\$ – operator sumowania, np. \$\sum\_{i=1}^{n} x\_i\$ oznacza sumę wszystkich \$x\_i\$ od \$i=1\$ do \$n\$.([zssio.com.pl][3], | + | W wyniku rozwiązania powyższego układu równań otrzymujemy: |
- | * **Iloczyn**: | + | \[ |
+ | x_1 = 3, \quad x_2 = 2 | ||
+ | \] | ||
- | \==== Notacja indeksowa ==== | ||
- | |||
- | W modelach matematycznych często stosuje się indeksy do oznaczania elementów zbiorów: | ||
- | |||
- | * \$x\_i\$ – \$i\$-ta zmienna decyzyjna. | ||
- | |||
- | * \$a\_{ij}\$ – wartość parametru dla \$i\$-tego ograniczenia i \$j\$-tej zmiennej. | ||
- | |||
- | * \$b\_i\$ – dostępność zasobu w \$i\$-tym ograniczeniu. | ||
- | |||
- | * \$c\_j\$ – współczynnik funkcji celu dla \$j\$-tej zmiennej. | ||
- | |||
- | \==== Przykładowy model programowania liniowego ==== | ||
- | |||
- | **Cel**: Maksymalizacja funkcji celu \$Z\$ przy danych ograniczeniach. | ||
- | |||
- | $$ | ||
- | \begin{align*} | ||
- | \text{Maksymalizuj } & Z = \sum_{j=1}^{n} c_j x_j \\ | ||
- | \text{przy warunkach: } & \sum_{j=1}^{n} a_{ij} x_j \leq b_i, \quad i = 1, 2, \ldots, m \\ | ||
- | & x_j \geq 0, \quad j = 1, 2, \ldots, n | ||
- | \end{align*} | ||
- | $$ | ||
- | |||
- | Gdzie: | ||
- | |||
- | * \$x\_j\$ – zmienne decyzyjne. | ||
- | |||
- | * \$c\_j\$ – współczynniki funkcji celu. | ||
- | |||
- | * \$a\_{ij}\$ – współczynniki ograniczeń. | ||
- | |||
- | * \$b\_i\$ – dostępne zasoby. | ||
- | |||
- | ==== Przykład zastosowania ==== | ||
- | |||
- | **Problem**: | ||
- | |||
- | **Model matematyczny**: | ||
- | |||
- | $$ | ||
- | \begin{align*} | ||
- | \text{Maksymalizuj } & Z = 40x_1 + 30x_2 \\ | ||
- | \text{przy warunkach: } & 2x_1 + x_2 \leq 100 \quad \text{(czas pracy)} \\ | ||
- | & 3x_1 + 2x_2 \leq 120 \quad \text{(surowiec)} \\ | ||
- | & x_1, x_2 \geq 0 | ||
- | \end{align*} | ||
- | $$ | ||
- | **Interpretacja**: | + | Zaznaczamy punkt optymalny na rysunku. |
- | ==== Literatura ==== | + | {{: |
- | * Węglarz, J. (2009). *Badania operacyjne*. Politechnika Poznańska.([mimuw.edu.pl][8]) | + | Należy jeszcze wyznaczyć wartość funkcji celu w punkcie optymalnym: |
- | * Krawczyk, S. (1996). *Badania operacyjne dla menedżerów*. Wydawnictwo Akademii Ekonomicznej we Wrocławiu. | + | \[ |
+ | z(3,2) = 3 \times 6 + 2 \times 6 = 30 | ||
+ | \] | ||
- | * Wikipedia. (n.d.). *Badania operacyjne*. Retrieved from [https:// | ||
+ | Podsumowjąc, | ||
+ | \[ | ||
+ | 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. | ||
+ | {{: | ||