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