MIWS_Programowanie_matematyczne
Transkrypt
MIWS_Programowanie_matematyczne
Rozwiązywanie programów matematycznych Program matematyczny składa się z następujących elementów: 1. Zmiennych decyzyjnych: ݔଵ , ݔଶ , … , ݔ 2. Funkcji celu, funkcji-kryterium, która informuje o jakości rozwiązania problemu. Reprezentuje cel do którego dąży się przy podejmowaniu decyzji (np. maksymalizacja zysków lub minimalizacja strat) ݂(ݔଵ , ݔଶ , … , ݔ ) → max (min) 3. Ograniczeń (warunków ograniczających) – są to funkcje, które reprezentują ograniczenia związane z możliwościami (z realnością) wykorzystania zasobów, których wykorzystanie implikuje podjęcie decyzji ݃ (ݔଵ , ݔଶ , … , ݔ ) ≤ ܾ , ݅ = 1,2, … , ݉ଵ ݃ (ݔଵ , ݔଶ , … , ݔ ) = ܾ , ݅ = ݉ଵାଵ , ݉ଵାଶ , … , ݉ଶ ݃ (ݔଵ , ݔଶ , … , ݔ ) ≥ ܾ , ݅ = ݉ଶାଵ , ݉ଶାଶ , … , ݉ଷ 4. Innych ograniczeń takich jak: warunki nieujemności lub inne wynikające z kontekstu problemu Przykład. Oddział Biedronki pracuje nad określeniem dobrego harmonogramu pracy dla swoich pracowników. Nowy harmonogram powinien zapewnić sprawne funkcjonowanie sklepu oraz odpowiednie warunki pracy dla personelu. Sklep jest otwarty codziennie od 6.00 do 22.00. Liczbę pracowników niezbędną do zapewnienia sprawnej obsługi klientów w zależności od pory dnia przedstawiono w poniższej tabeli. Godziny Liczba pracowników 6.00-8.00 5 8.00-10.00 8 10.00-12.00 5 12.00-14.00 7 14.00-16.00 10 16.00-18.00 12 18.00-20.00 10 20.00-22.00 4 Pracownik zaczyna pracę o pełnej godzinie i pracuje przez cztery godziny bez przerwy, następnie ma dwugodzinną przerwę, po której pracuje przez kolejne dwie godziny. Zatrudniony pracownik kosztuje Biedronkę (razem z dodatkami i premiami) około 9 zł/godz. Sformułować i rozwiązać zadanie programowania matematycznego, które może zostać wykorzystane do ustalenia harmonogramu pracy przy jak najmniejszym koszcie. Rozwiązanie Zbuduj model problemu w postaci programu matematycznego Zmienne decyzyjne: Xi – liczba pracowników rozpoczynających pracę o i-tej godzinie, i= 6, 8, 10, 12, 14. Funkcja celu (wyraża sumaryczny koszt pracy w ciągu dnia pracy): 9 ∙ 8 ∙ (ܺ + ଼ܺ + ܺଵ + ܺଵଶ + ܺଵସ ) → ݉݅݊ Ograniczenia (wynikające z minimalnych liczb pracowników w określonych godzinach otwarcia sklepu): ܺ ≥ 5 ܺ + ଼ܺ ≥ 8 ଼ܺ + ܺଵ ≥ 5 ܺ + ܺଵ + ܺଵଶ ≥ 7 ଼ܺ + ܺଵଶ + ܺଵସ ≥ 10 ܺଵ + ܺଵସ ≥ 12 ܺଵଶ ≥ 10 ܺଵସ ≥ 4 Ponadto wszystkie zmienne są nieujemne i całkowite: ܺ ≥ 0, ܺ ∈ ℂ (ܿܽł݇)ܽݐ݅ݓ Rozwiąż przedstawiony powyżej program w Excelu z wykorzystaniem narzędzia SOLVER. 1. Otwórz MS EXCEL, zapisz plik o nazwie MIWS_prog_mat.xls 2. Zorganizuj arkusz. Pierwszą kolumnę (A) przeznacz na opis wartości, które będą się znajdowały w kolumnie B. 3. Zapisz formuły programu w arkuszu. W komórkach A1:A5 wpisz kolejno symbole zmiennych (w komórkach B1:B5 będą wartości tych zmiennych). 4. W komórkach A7:A14 opisz kolejno ograniczenia, których formuły wpisz w komórkach B7:B14 (lewe strony nierówności). W komórkach C7:C14 wpisz wartości ograniczeń 5. W sposób analogiczny postępuj z funkcją celu (komórka A6 oraz B6) 6. Uruchom dodatek SOLVER z menu Narzędzia (Jeśli na liście go nie ma, należy kliknąć na Dodatki w menu Narzędzia a następnie zaznacz SOLVER). W MSO2007 należy SOLVERa zainstalować (opcje programu Excel – Dodatki) a następnie uruchomić go z menu Dane. Dodatek Solver jest częścią zestawu poleceń czasami nazywanych narzędziami analizy symulacyjnej. Za pomocą dodatku Solver można znaleźć optymalną wartość dla formuły w pojedynczej komórce — zwanej komórką docelową — w arkuszu. Dodatek Solver pracuje z grupą komórek powiązanych, bezpośrednio lub pośrednio, z formułą w komórce docelowej. Dodatek Solver dostosowuje wartości w zmieniających się komórkach określonych przez użytkownika — zwanych komórkami dopasowywanymi — w celu uzyskania wyniku określonego przez użytkownika na podstawie formuły w komórce docelowej. Można zastosować ograniczenia, które zmniejszają zakres wartości używanych przez dodatek Solver w modelu i mogą odwoływać się do innych komórek wpływających na formułę w komórce docelowej. Więcej informacji w po kliknięciu przycisku „Pomoc”. 7. W polu „Komórka celu” wskazujemy adres komórki z funkcją celu, która równa jest „Min”. W polu „Komórki zmieniane” wskazujemy adresy z wartościami zmiennych decyzyjnych. 8. Następnie dodajemy warunki ograniczające – klikamy przycisk Dodaj Z lewej strony wskazujemy (wpisujemy) adres komórki z formułą, w środkowym polu wybieramy znak lub warunek (dla zmiennych całkowitych i binarnych), a z prawej strony wskazujemy adres z formułą, liczbą lub wpisujemy liczbę. W jednym warunku można grupować wiele ograniczeń. Wersja 1. ograniczeń: Kolejno wpisujemy ograniczenia: lub i dalej kolejne ograniczenia … Wersja 2. ograniczeń: Wpisujemy zakresy komórek w jednym oknie „Dodaj warunek ograniczający” 9. Następnie dodajemy ograniczenia związane z całkowitoliczbowością zmiennych Po kliknięciu OK, klikamy na przycisk OPCJE i zaznaczamy pole Przyjmuj nieujemne (realizacja ograniczeń związanych z nieujemnością zmiennych decyzyjnych) Klikamy OK, a następnie przycisk ROZWIĄŻ. Pokazuje się następujący monit: Klikamy OK. 10. Otrzymałeś rozwiązanie: 11. Zinterpretuj otrzymane wyniki…