ZADANIE 1 Zakład produkuje trzy rodzaje papieru: standardowy do kserokopiarek i drukarek laserowych (S), fotograficzny (F) oraz nabłyszczany do drukarek atramentowych (N). Każdy z rodzajów papieru wymaga obróbki na trzech maszynach. Jeden tysiąc ryz papieru modelu S wymaga 4 godz. obróbki na maszynie M 1, 6 godz. obróbki na maszynie M 2 oraz 4 godz. obróbki na maszynie M 3. Do wyprodukowania tysiąca ryz papieru F niezbędne jest 10 godz. pracy maszyny M 1, 4 godz. pracy maszyny M 2 i 6 godz. pracy maszyny M 3, a dla tysiąca ryz wyrobu N niezbędne czasy pracy maszyn wynoszą odpowiednio: 4, 2 i 6 godz. Maszyny w ciągu tygodnia mogą maksymalnie pracować: M 1 80 godz., M 2 i M 3 po 60 godz. (1) Wiedząc, że cena ryzy papieru S wynosi 12 zł, papieru F 24 zł, zaś papieru N 16 zł określić optymalną tygodniową produkcję ryz papierów dającą maksymalny przychód ze sprzedaży. Pierwszym etapem jest zapisanie powyższego problemu decyzyjnego za pomocą programu liniowego: Zmienne decyzyjne: ść ść ść ł Warunki ograniczające: Artur Piątkowski WZ UW Strona 1
Funkcja celu: Badania Operacyjne Ćwiczenia nr 5 (Materiały) Następnie należy zaimplementować powyższy program do arkusza kalkulacyjnego MS Excel 2010. Przenosimy do arkusza poszczególne części programu: zmienne decyzyjne, warunki ograniczające oraz funkcję celu. Po zaimplementowaniu modelu (programu) do arkusza kalkulacyjnego, należy go rozwiązać z wykorzystaniem dodatku Solver. Odp1.: Optymalna tygodniowa produkcja wynosi: 6 tys. ryz papieru F oraz 3 tys. ryz papieru N (X 1 * =0,X 2 * =6, X 3 * =3 ). Taka kombinacja produkcji ryz papieru gwarantuje maksymalny przychód ze sprzedaży, który wynosi 213 tys. zł. Artur Piątkowski WZ UW Strona 2
Programowanie całkowitoliczbowe Zadanie programowania liniowego, w którym zmienne decyzyjne muszą przyjmować wartości całkowite nazywamy zadaniem programowania całkowitoliczbowego. Programowanie całkowitoliczbowe stosuje się w przypadkach, kiedy ułamkowe wartości zmiennych decyzyjnych nie mają sensu w rzeczywistości (np. Jedną z metod rozwiązywania zagadnień programowania całkowitoliczbowego jest metoda podziału i ograniczeń. Działanie metody polega na analizie drzewa rozwiązań. Drzewo reprezentuje wszystkie możliwe ścieżki, jakimi może pójść algorytm rozwiązując dany problem. Algorytm zaczyna w korzeniu drzewa i przechodząc do któregoś liścia konstruuje rozwiązanie. Przegląd całego drzewa rozwiązań jest bardzo czasochłonny i kosztowny. Dzięki metodzie podziału i ograniczeń można przyciąć drzewo rozwiązań i analizować tylko obiecujące obszary. (2) Dodatkowy warunek: x 1, x 2, x 3 są całkowite (warunek całkowitej liczbowości). W powyższym zadaniu optymalne wartości produkcji poszczególnych rodzajów papieru są liczbami rzeczywistymi: nie są liczbami całkowitymi. Wykorzystując metodę podziału i ograniczeń narzucamy dodatkowe ograniczenia, które wycinają pasy niecałkowitej liczbowości. Wybieramy zmienną decyzyjną o wartości ułamkowej np. i narzucamy warunki: Następnie implementujemy nowe ograniczenie do arkusza kalkulacyjnego i rozwiązujemy program. Zacznijmy od ograniczenia Artur Piątkowski WZ UW Strona 3
Po dodaniu nowego ograniczenia funkcja celu i zmienne decyzyjne przyjęły następujące wartości: X 1 oraz X 2 są liczbami całkowitymi, ale X 3 jest liczbą rzeczywistą (nie spełnia warunku całkowitej liczbowości). Należy narzucić kolejne warunki: Implementujemy ograniczenie i rozwiązujemy program. Artur Piątkowski WZ UW Strona 4
Dodanie nowego ograniczenia spowodowało, że program nie ma rozwiązania. BRAK ROZWIĄZANIA Implementujemy ograniczenie i rozwiązujemy program. Po dodaniu nowego ograniczenia funkcja celu i zmienne decyzyjne przyjęły następujące wartości: X 2 oraz X 3 są liczbami całkowitymi, ale X 1 jest liczbą rzeczywistą (nie spełnia warunku całkowitej liczbowości). Należy narzucić kolejne warunki: Artur Piątkowski WZ UW Strona 5
BRAK ROZWIĄZANIA Wróćmy do pierwszej pary ograniczeń (początkowego rozgałęzienia) i dodajmy ograniczenie Po dodaniu nowego ograniczenia funkcja celu i zmienne decyzyjne przyjęły następujące wartości: Zmienne decyzyjne X 1, X 2 oraz X 3 są liczbami całkowitymi. Dodatkowo funkcja celu w gałęzi zapoczątkowanej warunkiem X 2 i jest większa niż Artur Piątkowski WZ UW Strona 6
w gałęzi zapoczątkowanej warunkiem X 2, gdzie wynosi. Nie opłaca się dalej analizować gałęzi zapoczątkowanej przez warunek X 2 funkcja celu przyjmie w niej wartość co najwyżej równą 208, która jest mniejsza od wartości funkcji celu w pierwszej gałęzi. OK BRAK ROZWIĄZANIA Teraz wybieramy drugą zmienną decyzyjną o wartości ułamkowej i narzucamy warunki: Powstają dwie nowe gałęzie: Artur Piątkowski WZ UW Strona 7
Następnie implementujemy nowe ograniczenie do arkusza kalkulacyjnego i rozwiązujemy program. Zacznijmy od ograniczenia Po dodaniu nowego ograniczenia funkcja celu i zmienne decyzyjne przyjęły następujące wartości: Zmienne decyzyjne X 1, X 2 oraz X 3 są liczbami całkowitymi. Funkcja celu w gałęzi zapoczątkowanej warunkiem X 3 i jest mniejsza niż funkcja celu w gałęzi zapoczątkowanej warunkiem X 2 ( OK Analizujemy ostatnią gałąź, zapoczątkowaną przez ograniczenie implementujemy do arkusza kalkulacyjnego., które Artur Piątkowski WZ UW Strona 8
Po dodaniu nowego ograniczenia funkcja celu i zmienne decyzyjne przyjęły następujące wartości: X 3 jest liczbą całkowitą, ale X 1 oraz X 2 są liczbami rzeczywistymi, które nie spełniają warunku całkowitej liczbowości. Nie opłaca się analizować dalej tej gałęzi pomimo tego, że jest większe niż (wartość funkcji celu w gałęzi zapoczątkowanej ograniczeniem X 2. Funkcja celu posiada następująca postać: Jeżeli wartość funkcji celu w rozwinięciu analizowanej gałęzi przyjmie wartość z przedziału (212, 213), to będzie to oznaczać, że nie wszystkie zmienne decyzyjne spełniają warunek całkowitej liczbowości. Jeżeli wartość funkcji celu przyjmie wartość 212, to będzie wynosiła ona tyle samo, co w przypadku gałęzi zapoczątkowanej ograniczeniem X 2. OK Odp2.: Po narzuceniu warunku całkowitej liczbowości zmienne decyzyjne przyjęły następujące wartości:, które gwarantują przychód na poziomie FCL * =212 tys. złotych. Artur Piątkowski WZ UW Strona 9
Powyższy problem można również rozwiązać z wykorzystaniem dodatku Solver oraz ograniczenia integer (całkowitoliczbowego). Należy przejść w okno dodatku Solver oraz dodać trzy nowe ograniczenia, które bezpośrednio dotyczą zmiennych decyzyjnych: W okienku Podlegających ograniczeniom pojawi się sześć ograniczeń, w tym trzy dotyczące całkowitoliczbowości zmiennych decyzyjnych. Artur Piątkowski WZ UW Strona 10
Po dodaniu trzech warunków int zmienne decyzyjne i funkcja celu przyjęły następujące wartości: Odp2.: Po narzuceniu warunku całkowitej liczbowości zmienne decyzyjne przyjęły następujące wartości:, które gwarantują przychód na poziomie FCL * =212 tys. złotych. Zagadnienie transportowe Zagadnienie transportowe problem opracowania planu przewozu pewnego jednorodnego produktu z kilku różnych źródeł zaopatrzenia do kilku punktów zgłaszających zapotrzebowanie na ten towar. Model zagadnienia transportowego można sformułować następująco: I dostawców pewnego jednorodnego towaru, z których każdy dysponuje A i (i=1,,i) jednostkami tego towaru, zaopatruje J odbiorców. Zapotrzebowanie każdego z odbiorców wynosi B j jednostek (j=1,,j). Każdy z dostawców może zaopatrywać dowolnego odbiorcę. Każdy odbiorca może otrzymywać towar od dowolnego dostawcy. Jednostkowe koszty transportu od i-tego dostawcy do j-tego odbiorcy: c ij (i=1,2,,i; j=1,2,,j). Całkowity koszt transportu jest sumą kosztów transportu na poszczególnych trasach. Należy opracować plan przewozu towarów pomiędzy dostawcami i odbiorcami, tak aby łączne koszty transportu były możliwie najniższe. Plan przewozu towarów ma określić ile Artur Piątkowski WZ UW Strona 11
towaru powinien dostarczyć i-ty dostawca j-temu odbiorcy te wielkości są zmiennymi decyzyjnymi.: x ij (i=1,2,,i; j=1,2,,j). Aby model transportowy miał rozwiązanie musi być spełniony następujący warunek: odbiorców). (łączna podaż dostawców powinna być nie mniejsza niż łączne zapotrzebowanie Jeżeli warunek jest spełniony z równością: to mamy do czynienia z zamkniętym zagadnieniem transportowym. Jeżeli warunek jest spełniony z nierównością (ostro): to mamy do czynienia z otwartym zagadnieniem transportowym. Zamknięte zagadnienie transportowe posiada). Warunki dla dostawców (i-ty dostawca ma dostarczyć odbiorcom tyle towaru, ile Artur Piątkowski WZ UW Strona 12
Warunek dla odbiorców (j-ty odbiorca ma otrzymać od wszystkich dostawców tyle towaru, ile potrzebuje). Warunki brzegowe. Funkcja celu (minimalizacja łącznych kosztów transportu od wszystkich dostawców do wszystkich odbiorców). ZADANIE 2 Trzy magazyny: M 1, M 2 oraz M 3 zaopatrują w mąkę cztery piekarnie: P 1, P 2, P 3, P 4. Wielkości charakteryzujące popyt, podaż i koszty transportu mąki (w zł za tonę) z każdego magazynu do każdej piekarni ilustruje poniższa tablica. Magazyny Piekarnie Podaż P 1 P 2 P 3 P 4 M 1 50 40 50 20 70 M 2 40 80 70 30 50 M 3 60 40 70 80 80 Popyt 40 60 50 50 Opracować plan przewozu mąki z magazynów do piekarń, w którym funkcja celu minimalizuje koszty przewozu. Pierwszym krokiem jest sprawdzenie, czy łączna podaż dostawców jest nie mniejsza niż łączny popyt odbiorców: Warunek jest spełniony z równością w takim wypadku mamy do czynienia z zamkniętym zagadnieniem transportowym. Artur Piątkowski WZ UW Strona 13
Następnie należy zapisać powyższy problem decyzyjny za pomocą programu liniowego: Zmienne decyzyjne (jest dwanaście zmiennych decyzyjnych): ść ą ść ść ą ą ść ą Warunki ograniczające: Podażowe: Popytowe: Funkcja celu: Artur Piątkowski WZ UW Strona 14
Następnie należy zaimplementować powyższy program do arkusza kalkulacyjnego MS Excel 2010. Przenosimy do arkusza poszczególne części programu: zmienne decyzyjne, warunki ograniczające, funkcję celu oraz tabelę z kosztami transportu. Artur Piątkowski WZ UW Strona 15
Do konstrukcji funkcji celu wykorzystujemy tabelę z kosztami transportu: Artur Piątkowski WZ UW Strona 16
Program rozwiązujemy z wykorzystaniem dodatku Solver. Należy pamiętać, że ograniczenia mają postać równości, ponieważ jest to zamknięte zagadnienie transportowe. Warunków ograniczających (popytowych i podażowych) jest razem siedem. Po zaimplementowaniu poszczególnych części zadania do dodatku Solver należy rozwiązań program. Artur Piątkowski WZ UW Strona 17
wartości: Po rozwiązaniu programu zmienne decyzyjne i funkcja celu przyjęły następujące Odp.: Z pierwszego magazynu należy przewieść 30 ton mąki do trzeciej piekarni oraz 40 ton mąki do czwartej piekarni. Z drugiego magazynu należy przewieść 40 ton mąki do pierwszej piekarni oraz 10 ton mąki do czwartej piekarni. Z trzeciego magazynu należy przewieść 60 ton mąki do drugiej piekarni oraz 20 ton mąki do trzeciej piekarni. Taki plan przewozu gwarantuje minimalne koszty transportu na poziomie 8000 zł. Artur Piątkowski WZ UW Strona 18
Literatura 1. Guzik B. (2009). Wstęp do badań operacyjnych. Wydawnictwo Uniwersytetu Ekonomicznego, Poznań. 2. Kukuła K. (1999). Badania operacyjne w przykładach i zadaniach. PWN, Warszawa. 3. Lipiec-Zajchowska M. Wspomaganie procesów decyzyjnych. Tom III. Badania Operacyjne, Wyd. C.H. Beck, Warszawa 2003. 4. Radzikowski W. (1994). Badania operacyjne w zarządzaniu. Wydawnictwa Uniwersytetu Warszawskiego, Warszawa. 5. Sikora W. (2008). Badania operacyjne. PWE, Warszawa. Artur Piątkowski WZ UW Strona 19