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…