Badania operacyjne to dyscyplina

Transkrypt

Badania operacyjne to dyscyplina
Badania operacyjne to dyscyplina, której zadaniem jest wspomaganie podejmowania trafnych
decyzji.
Badania operacyjne to dyscyplina naukowa związana z teorią decyzji, pozwalająca wyznaczyć metodę
i rozwiązanie określonych problemów związanych z podejmowaniem optymalnych decyzji.
Operations Research, Operational Research….
Metodologia badań operacyjnych sprowadza się do następujących etapów:
I.
II.
III.
IV.
V.
VI.
VII.
Formułowanie problemu decyzyjnego
Budowa modelu matematycznego lub jego odpowiednika w wersji symulacyjnej
Pozyskanie i przetwarzanie informacji niezbędnej do ustalenia parametrów modelu
Procedura obliczeniowa lub postępowanie symulacyjne za pomocą wybranego algorytmu
Analiza jakości rozwiązań modelu
Weryfikacja modelu, sprawdzenie jego adekwatności
Wdrożenie rozwiązania
Podstawowym przedmiotem badań operacyjnych są decyzje.
Z podjęciem decyzji wiąże się jakiś skutek – wynik decyzji, który zależy od zaistniałego stanu natury.
Stan natury jest niezależny od woli decydenta.
Klasyfikacja problemów decyzyjnych (związana z informacją dotyczącą stanów natury):
I.
II.
III.
IV.
Podejmowanie decyzji w warunkach pewności (znany jest wynik każdej decyzji; znane są
stany natury, które mogą wystąpić z pewnością. Problemem jest bardzo duża liczba
możliwych decyzji, które należy przeanalizować). Np. Programowanie matematycznie.
Podejmowanie decyzji w warunkach ryzyka (znane są możliwe stany natury, ale ich
zaistnienie nie jest pewne; znane są prawdopodobieństwa zaistnienia poszczególnych
stanów natury). Np. gry z naturą, analiza decyzyjna – kryterium Bayesa.
Podejmowanie decyzji w warunkach niepewności (nie są znane prawdopodobieństwa
zaistnienia możliwych stanów natury lub znane są tylko niektóre prawdopodobieństwa).
Np. gry z naturą – kryterium Walda, Savage’a, optymistyczne, Hurwicza.
Podejmowanie decyzji w warunkach konfliktu – interakcji (wynik decyzji zależy od decyzji
innych uczestników procesu). Np. gry, teoria gier, gry dwuosobowe o sumie zerowej.
PROGRAMOWANIE MATEMATYCZNE, PROGRAMOWANIE LINIOWE
x - zmienna decyzyjna
f ( x) → opt (max lub min)
g i ( x) ≤ bi
g j ( x) ≥ b j
g k ( x) = bk
3 x1 + 4 x2 → max
x1 + 2 x2 ≤ 10
x1 + x2 ≤ 8
x1 ≥ 0, x2 ≥ 0
Zbiór rozwiązań dopuszczalnych (feasible set) tworzą wszystkie wartości zmiennych decyzyjnych
spełniające warunki ograniczające.
Typowe zadania programowania liniowego:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Zagadnienie optymalnego wykorzystania urządzeń produkcyjnych
Zagadnienie transportowe
Zagadnienie optymalnego załadunku
Zagadnienie optymalnego rozdziału jednorodnych zasobów
Model optymalnego asortymentu produkcji
Model optymalnego składu mieszanki (problem diety)
Zagadnienie optymalnego rozdziału czynności
Zagadnienie optymalnego rozkroju
Wybór optymalnej struktury zasiewów
AD. 8. Zakład ‘RURA’ ma wyprodukować 100 rur o długości 5,5 m i 150 o długości 7,5 m. Zakład ma
do dyspozycji rury o długości 17 m. Jak należy pociąć rury, aby odpad był najmniejszy? Pozostałe rury
długości 5,5 i 7,5 stanowią odpad. Zapisz odpowiedni program liniowy.
Sposób cięcia
I
II
III
Zamówienie
Liczba rur 5,5 m
3
1
0
100
Liczba rur 7,5 m
0
1
2
150
Odpad [m]
0,5
4
2
„Liczba cięć i-tym sposobem”
Xi – liczba rur o długości 17 m, pocięta i-tym sposobem, i=1,2,3.
0,5 ⋅ x1 + 4 ⋅ x2 + 2 ⋅ x3 + 5,5 ⋅ (3 ⋅ x1 + x2 − 100) + 7,5 ⋅ ( x2 + 2 ⋅ x3 − 150) → min
3 ⋅ x1 + x2 ≥ 100
x2 + 2 ⋅ x3 ≥ 150
x1 , x2 , x3 ≥ 0; x1 , x2 , x3 ∈ C
AD. 2. Przedsiębiorstwo przewozowe ‘ STAR ‘ zajmuje się dostarczaniem lodów do sklepów. Dane
dotyczące kosztów przewozu jednostki z magazynu do sklepu oraz wielkości zapasów
i zapotrzebowania zamieszczono w tabeli. Określić plan przewozu minimalizujący koszty.
Zagadnienie transportowe zamknięte (popyt = podaż)
Xij – liczba jednostek (np. kartonów) lodów dostarczonych do i-tego sklepu z j-tego magazynu;
i=1,2,3,4,5; j=1,2,3,4.
50 ⋅ x11 + 70 ⋅ x12 + 35 ⋅ x13 + 100 ⋅ x14 +
+ 60 ⋅ x21 + 30 ⋅ x22 + 20 ⋅ x23 + 45 ⋅ x24 +
+ 70 ⋅ x31 + 55 ⋅ x32 + 75 ⋅ x33 + 80 ⋅ x34 +
+ 100 ⋅ x41 + 130 ⋅ x42 + 150 ⋅ x43 + 110 ⋅ x44 +
+ 75 ⋅ x51 + 50 ⋅ x52 + 60 ⋅ x53 + 85 ⋅ x54 → min
4
∑x
j =1
1j
4
2j
= 100
3j
= 300
∑x
j =1
4
∑x
j =1
4
4j
= 1000
5j
= 200
∑x
j =1
4
∑x
j =1
5
∑x
i =1
i1
5
∑x
i =1
i2
5
∑x
i =1
i3
5
∑x
i =1
= 500
i4
= 300
= 700
= 600
= 500
xij ≥ 0; xij ∈ C
DUALNOŚĆ W PROGRAMOWANIU LINIOWYM
Program liniowy (PL) – program pierwotny
c1 ⋅ x1 + c2 ⋅ x2 + ... + cn ⋅ xn → max
a11 ⋅ x1 + a12 ⋅ x2 + ... + a1n ⋅ xn ≤ b1
...
ai1 ⋅ x1 + ai 2 ⋅ x2 + ... + ain ⋅ xn ≤ bi
cT x → max
Ax ≤ b
x≥0
...
am1 ⋅ x1 + am 2 ⋅ x2 + ... + amn ⋅ xn ≤ bm
cT x → min
-> Ax ≥ b
x≥0
x1 , x2 ,..., xn ≥ 0
Każdemu programowi PL odpowiada program dualny. Z każdym programem liniowym sprzężony jest
inny program, zwany programem dualnym.
I.
II.
III.
IV.
V.
VI.
W programie dualnym jest tyle zmiennych ile ograniczeń w programie pierwotnym.
Każdemu ograniczeniu w programie pierwotnym odpowiada zmienna dualna.
W programie dualnym jest tyle ograniczeń ile zmiennych w programie pierwotnym. Każdej
zmiennej w programie pierwotnym odpowiada ograniczenie w programie dualnym.
Wagi funkcji celu programu pierwotnego są wyrazami wolnymi w programie dualnym.
Wyrazy wolne programu pierwotnego są wagami funkcji celu w programie dualnym.
Macierz współczynników programu dualnego jest transpozycją macierzy współczynników
programu pierwotnego.
Jeżeli program pierwotny jest na maksimum, to program dualny na minimum. I odwrotnie.
Program pierwotny
Program dualny
x - zmienna pierwotna
y - zmienna dualna
cT x → max
Ax ≤ b
T
<-> b y → min
x≥0
AT y ≥ c
y≥0
Program pierwotny
Program dualny
x - zmienna pierwotna
y - zmienna dualna
cT x → min
Ax ≥ b
x≥0
T
<-> b y → max
AT y ≤ c
y≥0
1. Jeżeli i-ty warunek w PL jest równością, to odpowiadająca mu zmienna yi nie ma ograniczeń.
2. Jeżeli i-ty warunek w PL jest nietypową nierównością, to odpowiadająca mu zmienna dualna
jest mniejsza lub równa zero yi ≤ 0 .
3. Jeżeli w PL na zmienną nie nałożono ograniczeń, to odpowiadający jej warunek (ograniczenie)
dualny jest równością.
4. Jeżeli w PL zmienna jest mniejsza lub równa 0, to odpowiadający jej warunek dualny jest
nietypową nierównością.
I.
Dla każdego rozwiązania dopuszczalnego (PL - max i PD - min) prawdziwa jest zależność:
c T x ≤ bT y . Dla rozwiązania optymalnego (x* i y*) prawdziwa jest zależność:
c T x* = bT y * .
II.
Jeżeli i-ty warunek PD w rozwiązaniu optymalnym jest spełniony z nierównością (ostro),
to odpowiadająca mu zmienna w PL, w rozwiązaniu optymalnym przyjmuje wartość 0.
Zakład ‘RURA’ ma wyprodukować 100 rur o długości 5,5 m i 150 o długości 7,5 m. Zakład ma do
dyspozycji rury o długości 17 m. Jak należy pociąć rury, aby odpad był najmniejszy?
Sposób cięcia
I
II
III
Zamówienie
Liczba rur 5,5 m
3
1
0
100
Liczba rur 7,5 m
0
1
2
150
Xi – liczba rur o długości 17 m, pocięta i-tym sposobem, i=1,2,3.
0,5 ⋅ x1 + 4 ⋅ x2 + 2 ⋅ x3 → min
3 ⋅ x1 + x2 ≥ 100
x2 + 2 ⋅ x3 ≥ 150
x1 , x2 , x3 ≥ 0; x1 , x2 , x3 ∈ C
Odpad [m]
0,5
4
2
Rolnik posiada dwa pola o powierzchniach odpowiednio 15 ha i 30 ha. W związku ze specjalizacją
produkcji zamierza wprowadzić jedynie trzy uprawy: szparagi, kapustę pekińską oraz orzeszki ziemne.
W zależności od rodzaju uprawy zmienia się koszt uprawy jednego hektara. Dla szparagów wynosi on
1500 zł, dla kapusty 1000 zł, dla orzeszków 1200 zł. Na wydajność z hektara ma wpływ pogoda. W
przypadku pogody umiarkowanej wydajność kształtuje się na poziomie 2 q/ha, 3 q/ha i 2,5 q/ha
odpowiednio dla szparagów, kapusty, orzeszków stanowiąc jednocześnie poziom odniesienia dla
pozostałych wydajności. W przypadku wystąpienia upałów wydajność zmniejsza się o 15%, w
przypadku deszczy wydajność spada do 65% założonych wydajności dla umiarkowanej pogody. Cena,
za jaką rolnik sprzedaje swoje uprawy jest stała, niezależna od pogody i wynosi odpowiednio dla
szparagów, kapusty, orzeszków :100 zł/q, 80 zł/q i 70 zł/q. Rolnik uznaje, że opłaca mu się uprawiać
ziemię, kiedy jego oczekiwany zysk jest nie mniejszy niż 10000 zł. Długoterminowa prognoza zakłada,
że deszcze wystąpią z prawdopodobieństwem 0,15, upały – 0,35 ,a pogoda umiarkowana – 0,5.
Zapisać program linowy pomocny w podjęciu decyzji o uprawach.
Xi – wielkość powierzchni uprawy i-tego płodu rolnego (i=1, szparagi; i=2, kapusta pekińska; i=3,
orzeszki ziemne) [ha]
(2 ⋅ 0,5 + (2 − 0,15 ⋅ 2) ⋅ 0,35 + (0,65 ⋅ 2) ⋅ 0,15) ⋅ X 1 ⋅100 − 1500 ⋅ X 1 +
+ (3 ⋅ 0,5 + (3 − 0,15 ⋅ 3) ⋅ 0,35 + (0,65 ⋅ 3) ⋅ 0,15) ⋅ X 2 ⋅ 80 − 1000 ⋅ X 2 +
+ (2,5 ⋅ 0,5 + (2,5 − 0,15 ⋅ 2,5) ⋅ 0,35 + (0,65 ⋅ 3) ⋅ 0,15) ⋅ X 3 ⋅ 70 − 1200 ⋅ X 3 − 10000 → max
X 1 + X 2 + X 3 ≤ 15 + 30
X1, X 2 , X 3 ≥ 0
Wartość funkcji celu powinna być nieujemna, aby rolnik podjął decyzję o podjęciu uprawy.
Rolnik nie powinien podejmować się uprawy.
PROGRAMOWANIE DYNAMICZNE
Jest jedną z metod wspomagania decyzji wieloetapowych. Do rozwiązywania wieloetapowych
problemów decyzyjnych.
Richard Bellman – opracował metodę programowania dynamicznego.
Oznaczenia:
di – decyzja, którą należy podjąć na i-tym etapie;
si – stan przed podjęciem decyzji di; stan na początku i-tego etapu;
si+1 – stan po podjęciu decyzji di; stan na końcu i-tego etapu;
Di – zbiór decyzji dopuszczalnych w i-tym etapie;
Si – zbiór stanów, które mogą wystąpić na początku i-tego etapu.
Ciąg decyzji {d1, d2, …, dn} to strategia.
F(d1, d2, …, dn, s1, s2, …, sn) – globalna funkcja kryterium.
Wymogiem stosowania programowania dynamicznego jest własność Markowa tzn. decyzje
optymalne na pewnym etapie procesu, nie zależą od wcześniejszych decyzji, jedynie od stanu
wynikającego z ich podjęcia.
Z własności Markowa wynika zasada optymalności Bellmana, na której oparto metodę
programowania dynamicznego.
Globalna funkcja kryterium powinna być dekomponowana na etapy np.:
n
F (d1 ,..., d n , s1 ,..., sn ) = ∑ f i (d i , si ) .
i =1
Wtedy poszukujemy optymalnej strategii, dla której funkcja globalna osiąga np. maksimum zgodnie z
zasadą optymalności Bellmana. Zasada ta opiera się o tzw. ciąg równań funkcyjnych Bellmana. Dla
rozważanego przykładu, ciąg ten ma następującą postać:
g n ( sn ) := max{ f n (d n , sn )}
d n∈Dn
sn∈S n
g k ( sk ) := max{ f k (d k , sk ) + g k +1 ( sk +1 )} k = 1,2,..., n − 1
d k ∈Dk
sk ∈S k