mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 13:43:05 +02:00
282 lines
7.6 KiB
Markdown
282 lines
7.6 KiB
Markdown
# Pytanie 12: Sieciowe modele optymalizacji w systemach zarządzania
|
||
|
||
## Pytanie
|
||
**"Przedstawić sieciowe modele optymalizacji stosowane w systemach zarządzania. Omówić ich właściwości."**
|
||
|
||
Przedmiot: WSYZ (Wstęp do Systemów Zarządzania)
|
||
|
||
---
|
||
|
||
## 📚 Odpowiedź główna
|
||
|
||
### Wprowadzenie
|
||
|
||
**Sieciowe modele optymalizacji** to matematyczne reprezentacje problemów decyzyjnych w postaci grafów (sieci), gdzie:
|
||
- **Węzły** = punkty decyzyjne, lokalizacje, zdarzenia
|
||
- **Krawędzie** = połączenia, przepływy, zależności
|
||
- **Wagi** = koszty, czasy, przepustowości
|
||
|
||
---
|
||
|
||
## 1. Problem najkrótszej ścieżki (Shortest Path)
|
||
|
||
### Definicja
|
||
Znaleźć ścieżkę o minimalnej sumie wag między węzłem źródłowym a docelowym.
|
||
|
||
```
|
||
2
|
||
A ────→ B
|
||
│ │
|
||
1 │ │ 3
|
||
↓ ↓
|
||
C ────→ D
|
||
1
|
||
|
||
Najkrótsza ścieżka A→D: A→C→D (koszt: 2)
|
||
```
|
||
|
||
### Algorytmy
|
||
| Algorytm | Złożoność | Wagi ujemne | Zastosowanie |
|
||
|----------|-----------|-------------|--------------|
|
||
| **Dijkstra** | O(V² lub E log V) | ❌ | GPS, routing |
|
||
| **Bellman-Ford** | O(VE) | ✅ | Finanse, arbitraż |
|
||
| **A*** | O(E) średnio | ❌ | Gry, nawigacja |
|
||
|
||
### Zastosowania w zarządzaniu
|
||
- Optymalizacja tras dostaw
|
||
- Planowanie logistyki
|
||
- Routing w sieciach telekomunikacyjnych
|
||
|
||
---
|
||
|
||
## 2. Problem maksymalnego przepływu (Max Flow)
|
||
|
||
### Definicja
|
||
Znaleźć maksymalny przepływ ze źródła (s) do ujścia (t) przy ograniczeniach przepustowości.
|
||
|
||
```
|
||
10 10
|
||
s ────→ A ────→ t
|
||
│ ↑ ↑
|
||
5 │ 5 │ │ 10
|
||
↓ │ │
|
||
B ──────┴───────┘
|
||
15
|
||
|
||
Max flow = 15 (przez A: 10, przez B: 5)
|
||
```
|
||
|
||
### Algorytmy
|
||
| Algorytm | Złożoność | Uwagi |
|
||
|----------|-----------|-------|
|
||
| **Ford-Fulkerson** | O(E × max_flow) | Metoda ścieżek powiększających |
|
||
| **Edmonds-Karp** | O(VE²) | BFS dla ścieżek |
|
||
| **Dinic** | O(V²E) | Przepływy blokujące |
|
||
|
||
### Zastosowania
|
||
- Planowanie produkcji (przepustowość linii)
|
||
- Zarządzanie siecią dystrybucji
|
||
- Przydział zasobów
|
||
|
||
---
|
||
|
||
## 3. Problem minimalnego kosztu przepływu (Min Cost Flow)
|
||
|
||
### Definicja
|
||
Przepływ o zadanej wielkości przy minimalnym koszcie (każda krawędź ma przepustowość i koszt jednostkowy).
|
||
|
||
```
|
||
(cap=10, cost=2)
|
||
s ─────────────────→ A
|
||
│ │
|
||
│(cap=5, cost=1) │(cap=10, cost=3)
|
||
↓ ↓
|
||
B ─────────────────→ t
|
||
(cap=15, cost=1)
|
||
|
||
Wymagany przepływ: 10
|
||
Min koszt = ?
|
||
```
|
||
|
||
### Zastosowania
|
||
- Transport towarów (minimalizacja kosztów)
|
||
- Przydział zadań pracownikom
|
||
- Optymalizacja łańcucha dostaw
|
||
|
||
---
|
||
|
||
## 4. Problem przydziału (Assignment Problem)
|
||
|
||
### Definicja
|
||
Przypisanie n zadań do n wykonawców przy minimalnym koszcie (jeden do jednego).
|
||
|
||
```
|
||
Zadanie 1 Zadanie 2 Zadanie 3
|
||
Prac. A 8 4 7
|
||
Prac. B 5 2 3
|
||
Prac. C 9 6 4
|
||
|
||
Optymalny przydział: A→Z2, B→Z1, C→Z3 (koszt: 4+5+4=13)
|
||
```
|
||
|
||
### Algorytm węgierski (Hungarian)
|
||
- Złożoność: O(n³)
|
||
- Gwarantuje optimum
|
||
|
||
### Zastosowania
|
||
- Planowanie grafików pracy
|
||
- Przydział maszyn do zleceń
|
||
- Matching w HR (rekrutacja)
|
||
|
||
---
|
||
|
||
## 5. Problem komiwojażera (TSP - Travelling Salesman)
|
||
|
||
### Definicja
|
||
Odwiedzić wszystkie węzły dokładnie raz i wrócić do startu przy minimalnym koszcie.
|
||
|
||
```
|
||
A ──5── B
|
||
│╲ ╱│
|
||
4│ ╲3╱ │6
|
||
│ ╳ │
|
||
2│ ╱ ╲ │7
|
||
│╱ ╲│
|
||
C ──8── D
|
||
|
||
Optymalna trasa: A→C→D→B→A (koszt: 2+8+6+5=21)
|
||
```
|
||
|
||
### Właściwości
|
||
- **NP-trudny** - brak algorytmu wielomianowego
|
||
- Dokładne: Branch & Bound, programowanie dynamiczne
|
||
- Heurystyki: Nearest Neighbor, 2-opt, symulowane wyżarzanie
|
||
|
||
### Zastosowania
|
||
- Planowanie tras kurierów
|
||
- Optymalizacja wizyt serwisowych
|
||
- Sekwencjonowanie produkcji
|
||
|
||
---
|
||
|
||
## 6. CPM/PERT - Harmonogramowanie projektów
|
||
|
||
### CPM (Critical Path Method)
|
||
|
||
```
|
||
┌──B(3)──┐
|
||
╱ ╲
|
||
A(2)──┤ ├──E(2)──F(1)
|
||
╲ ╱
|
||
└──C(4)──D(1)
|
||
|
||
Ścieżka krytyczna: A→C→D→E→F (czas: 2+4+1+2+1=10)
|
||
```
|
||
|
||
### Właściwości
|
||
| Cecha | CPM | PERT |
|
||
|-------|-----|------|
|
||
| Czasy | Deterministyczne | Probabilistyczne (a,m,b) |
|
||
| Zastosowanie | Projekty powtarzalne | Projekty R&D |
|
||
| Wynik | Ścieżka krytyczna | Rozkład prawdopodobieństwa |
|
||
|
||
### Zastosowania
|
||
- Zarządzanie projektami budowlanymi
|
||
- Planowanie wdrożeń IT
|
||
- Koordynacja produkcji
|
||
|
||
---
|
||
|
||
## 7. Drzewo rozpinające (MST - Minimum Spanning Tree)
|
||
|
||
### Definicja
|
||
Połączyć wszystkie węzły przy minimalnym koszcie (bez cykli).
|
||
|
||
```
|
||
Przed: Po (MST):
|
||
2 2
|
||
A──────B A──────B
|
||
│╲ ╱│ │
|
||
│3╲1╱ │4 │3
|
||
│ C │ → │ C
|
||
│ ╱╲ │ │ ╱
|
||
│╱5 ╲6│ │╱5
|
||
D──────E D E
|
||
7
|
||
|
||
Koszt MST: 2+3+1+5=11
|
||
```
|
||
|
||
### Algorytmy
|
||
| Algorytm | Złożoność | Strategia |
|
||
|----------|-----------|-----------|
|
||
| **Kruskal** | O(E log E) | Sortuj krawędzie, Union-Find |
|
||
| **Prim** | O(E log V) | Rozbudowa od węzła |
|
||
|
||
### Zastosowania
|
||
- Projektowanie sieci (elektrycznych, telekomunikacyjnych)
|
||
- Klasteryzacja danych
|
||
- Minimalizacja okablowania
|
||
|
||
---
|
||
|
||
## 📊 Porównanie modeli
|
||
|
||
| Model | Typ problemu | Złożoność | Przykład zastosowania |
|
||
|-------|--------------|-----------|----------------------|
|
||
| Shortest Path | P | O(E log V) | Nawigacja GPS |
|
||
| Max Flow | P | O(V²E) | Planowanie produkcji |
|
||
| Min Cost Flow | P | O(V³) | Transport towarów |
|
||
| Assignment | P | O(n³) | Grafiki pracy |
|
||
| TSP | NP-hard | Wykładnicza | Trasy kurierów |
|
||
| CPM/PERT | P | O(V+E) | Projekty |
|
||
| MST | P | O(E log V) | Sieci infrastruktury |
|
||
|
||
---
|
||
|
||
## 🧠 Mnemoniki
|
||
|
||
### "SPAM-CT" - modele sieciowe:
|
||
- **S**hortest Path
|
||
- **P**rzepływ (Max Flow)
|
||
- **A**ssignment
|
||
- **M**ST
|
||
- **C**PM/PERT
|
||
- **T**SP
|
||
|
||
### "Graf = Węzły + Krawędzie + Wagi":
|
||
- Węzły = lokalizacje/decyzje
|
||
- Krawędzie = połączenia
|
||
- Wagi = koszty/czasy/przepustowości
|
||
|
||
---
|
||
|
||
## ❓ Możliwe pytania dodatkowe
|
||
|
||
### Q1: "Jaka jest różnica między CPM a PERT?"
|
||
**Odpowiedź:** CPM używa deterministycznych czasów (znanych), PERT używa trzech estymacji (optymistyczna, najbardziej prawdopodobna, pesymistyczna) i rozkładu beta. CPM dla projektów powtarzalnych, PERT dla R&D z niepewnością.
|
||
|
||
### Q2: "Kiedy stosować heurystyki zamiast algorytmów dokładnych?"
|
||
**Odpowiedź:** Gdy problem jest NP-trudny (TSP) lub dane wejściowe bardzo duże. Heurystyki dają "dość dobre" rozwiązanie w rozsądnym czasie. Przykład: 2-opt dla TSP daje rozwiązanie ~5% od optimum w O(n²).
|
||
|
||
### Q3: "Co to jest slack/float w CPM?"
|
||
**Odpowiedź:** Zapas czasu zadania = najpóźniejszy start − najwcześniejszy start. Zadania na ścieżce krytycznej mają slack=0 (opóźnienie opóźni cały projekt).
|
||
|
||
---
|
||
|
||
## 🎯 Kluczowe punkty
|
||
|
||
1. **Sieciowe modele** = problemy jako grafy (węzły, krawędzie, wagi)
|
||
2. **Shortest Path, Max Flow, MST** = rozwiązywalne w czasie wielomianowym
|
||
3. **TSP** = NP-trudny, wymaga heurystyk
|
||
4. **CPM/PERT** = harmonogramowanie, ścieżka krytyczna
|
||
5. **Assignment** = optymalne dopasowanie 1:1
|
||
|
||
---
|
||
|
||
## 📖 Źródła
|
||
|
||
1. Hillier, Lieberman - "Introduction to Operations Research"
|
||
2. Cormen et al. - "Introduction to Algorithms"
|
||
3. Winston - "Operations Research: Applications and Algorithms"
|