Transcript slajdy

Badania Operacyjne Wykład 1

Sprawy formalne

STRONA INTERNETOWA: http://www.sgh.waw.pl/mlewandowski , Zakładka Teaching -> BO KONTAKT: [email protected]

KONSULTACJE: wtorek 16.30 sala 103G, po uprzednim mailu ZALICZENIE: 20% Ćwiczenia, 80% Egzamin WYKŁADY – zajęcia co tydzień środa 11.40 w C-2e • • GRUPY ĆWICZENIOWE – zajęcia co tydzień Grupa I – środa 13.30 sala W-61, mgr Szczypińska Grupa II – czwartek 11.40 sala C-2d, mgr Szczypińska

Plan zajęć

Część I - Optymalizacja

1.

Programowanie Liniowe I 2.

Programowanie Liniowe II 3.

4.

5.

Analiza wrażliwości zadania PL Programowanie Całkowitoliczbowe I Programowanie Całkowitoliczbowe II 6.

7.

8.

Programowanie sieciowe I Programowanie sieciowe II DEA

Część II – Ekonometria

9.

Model regresji liniowej oraz MNK 10. Weryfikacja modelu regresji liniowej 11. Wprowadzenie da analizy szeregów czasowych 12. Wprowadzenie do modeli zmiennej jakościowej

Część III - Zarządzanie

13. Zarządzanie projektem 14. Zarządzanie zapasami

Literatura

LITERATURA OBOWIĄZKOWA:

Część I T. Szapiro (red.) Decyzje menedżerskie z Excelem, PWE, Warszawa 2000.

Część II i III M. Gruszczyński, T. Kuszewski, M. Podgórska (red.), Ekonometria i badania operacyjne. Podręcznik dla studiów licencjackich, Wydawnictwo Naukowe PWN, Warszawa 2009.

LITERATURA UZUPEŁNIAJĄCA:

D.R. Anderson, D.J. Sweeney, T.A. Williams, M. Wisniewski, An introduction to

Management Science

T. Kufel, Ekonometria. Rozwiązywanie problemów z wykorzystaniem programu GRETL (wydanie II), Wydawnictwo Naukowe PWN, Warszawa 2009.

Co to są Badania Operacyjne?

• • • • Po angielsku – operations research lub management science II wojna światowa: Brytyjscy generałowie poprosili naukowców i inżynierów, aby ci przeanalizowali parę problemów natury militarnej – Rozmieszczenie radarów – Zarządzanie konwojami, bombardowaniem, system przeciwko łodziom podwodnym, operacje minowania, etc.

W rezultacie powstała nowa dziedzina wiedzy zwana badaniami operacyjnymi Badania operacyjne to dyscyplina stosująca metody analityczne na potrzeby lepszego podejmowania decyzji. http://www.scienceofbetter.org/ http://www.orms-today.org/ormsmain.shtml

Badania operacyjne w praktyce

SCHEMAT POSTEPOWANIA • • • • • • • Zidentyfikuj problem Obserwuj system i zbieraj dane Sformułuj model matematyczny problemu i ewentualne podproblemy Zweryfikuj model i wykorzystaj go do prognozowania lub analizy Wybierz odpowiednią alternatywę Zaprezentuj odpowiednią alternatywę Zaimplementuj i oceń wyniki

Programowanie liniowe

• Minimalizuj lub maksymalizuj funkcję liniową • Przy ograniczeniach w postaci nierówności i równości liniowych • Poniższe przykłady

NIE SĄ zadaniami programowania liniowego

:

Programowanie całkowitoliczbowe

Zadanie programowania całkowito liczbowego to zadanie programowania liniowego, w którym część lub wszystkie zmienne są całkowitoliczbowe Zadania programowania całkowitoliczbowego są dużo częściej spotykane w praktyce. Jednak do ich rozwiązania stosuje się techniki programowania liniowego.

Ustalanie grafiku

• • • • • Każdy z pracowników na poczcie pracuje 5 dni z rzędu i później 2 dni odpoczywa. Popyt na pracowników w różne dni tygodnia jest następujący:

Dzień Pon

Popyt 17

Wto

13

Śro

15

Czw

19

Pią

14

Sob

16

Nie

11 Zminimalizuj liczbę pracowników zatrudnionych na poczcie.

Na początek przyjmijmy, że pracownicy mogą występować w częściach ułamkowych.

Sformułowanie problemu: – – – Zidentyfikuj zmienne decyzyjne (decision variables) Zidentyfikuj funkcję celu (objective function) Sformułuj ograniczenia (constraints) • • Rozwiązanie dopuszczalne (feasible solution) Rozwiązanie optymalne (optimal solution, best feasible solution)

Ustalamy zmienne decyzyjne

• • • Spróbujmy tak: y i – liczba osób pracujących w dzień i Ograniczenia popytu łatwo sformułować Ale jak sformułować ograniczenie: „5 dni w pracy 2 wolnego”?

– OKAZUJE SIĘ TO NIEMOŻLIWE

Sprytne zdefiniowanie zmiennych decyzyjnych

Funkcja celu

PON WTO ŚRO CZW PIĄ SOB NIE

Zmienne decyzyjne są dobrane w taki sposób, aby ograniczenie „5 dni w pracy 2 dni wolnego” było automatycznie spełnione. Zmienna decyzyjna x 1 to liczba pracowników zaczynających pracę w poniedziałek. Pozostałe zmienne są zdefiniowane podobnie.

Wówczas funkcja celu musi być zdefiniowana jako suma zmiennych decyzyjnych (suma wszystkich pracowników).

Przedstawienie w postaci tabelki

PON WTO ŚRO CZW PIĄ SOB NIE

Modyfikacja modelu

• • • Dobrze jest zacząć od prostego modelu, który opisuje tylko część rzeczywistości, a później dodawać coraz bardziej realistyczne ograniczenia. Często trudno jest zbudować skomplikowany model w jednym kroku.

Załóżmy, że pracownicy otrzymują różne wynagrodzenie w zależności od dnia, w którym zaczynają pracę – pracownik zaczynający pracę w dzień j, otrzymuje zapłatę c j Dodatkowo poczta może zatrudnić pracownika dorywczego (na jeden lub więcej dni). Zapłata dla pracownika dorywczego, gdy pracuje w dzień j to p j

Jaka będzie zmiana w modelu? Jakie będą nowe zmienne decyzyjne?

Inna modyfikacja

• • • • • Załóżmy, że popyt na pracowników reprezentuje ograniczenie zwane „lekkim” – tj. jest to pożądana liczba pracowników, którzy są potrzebni w dany dzień, a nie wymagana liczba.

Niech s j będzie zmienną reprezentującą nadmiar pracowników w dzień j ponad stan pożądany. Ujemne wartości oznaczają oczywiście niedobór.

Jaki jest minimalny koszt zatrudnienia pracowników, jeśli koszt zbyt dużej liczby pracowników w dzień j jest opisany nieliniową funkcją f j (s j )?

Traktujemy popyt na pracowników na konkretny dzień jako cel na ten dzień i nakładamy karę za niespełnienie go dokładnie.

– Zbyt duża liczba pracowników to nieefektywne wykorzystanie zasobów pracy – Zbyt mała liczba pracowników może spowodować problemy w wykonaniu zadań na dany dzień

Jakie są nowe zmienne decyzyjne? Jak wygląda nowy model nieliniowy?

• • • Funkcje nieliniowe mogą czasem być przetransformowane w funkcje liniowe – rzadki, ale bardzo pożądany przypadek W ogólności, programy nieliniowe minimalizacji (maksymalizacji) można rozwiązać łatwiej, gdy funkcja celu jest wypukła (wklęsła) Przykłady funkcji nieliniowych Suma kwadratów zmiennych nadmiaru Ważona suma kwadratów zmiennych nadmiaru Suma wartości bezwględnych zmiennych nadmiaru Dwa razy suma pracowników minus suma zmiennych nadmiaru Nieseparowalna funkcja celu Separowalna funkcja to taka, że można ją przedstawić jako sumę funkcji jednej zmiennej. Z funkcjami separowalnymi dużo łatwiej sobie radzić i problem rozwiązuje się szybciej.

Które funkcje są wypukłe?

Maksimum paru funkcji liniowych jest wypukłe

Minimax

• • Szczególnie „przyjazne” funkcje nieliniowe to takie, które można zapisać jako maksimum jednej lub wielu funkcji liniowych: – Jeżeli dany problem minimalizacji ma taką przyjazną funkcję celu, a region dopuszczalny jest taki, jak w ZPL, wówczas rozwiązanie tego problemu może być przedstawione jako ZPL Problem minimax jednej zmiennej Problem z przyjazną funkcją ZPL

Z powrotem do problemu obsady poczty

• Minimalizuj maksymalny nadmiar pracowników na dany dzień

Inny przykład „przyjaznej” funkcji celu

• • • Przypuśćmy, że funkcją celu jest

s

1 +

s

2 Jak ją zmodyfikować, aby stała się liniowa?

s j

= max{

s j

, -

s j

} + ...

+

s

7 • Musimy stworzyć tym razem 7 zmiennych z j • Nowa funkcja celu min   

z

1 +

z

2 + ...

+

z

7 • • Dodatkowe ograniczenia

z i

³

s i

,   

z i

³ -

s i

,  

"

i

=

1,..., 7

Dla każdego optymalnego rozwiązania będzie zachodzić

z j

=

s j

,    "

j

= 1,..., 7

Ułamkowe ograniczenie

• • • Przypuśćmy, że chcemy zapewnić, aby przynajmniej 30% pracowników miało wolną niedzielę.

Jak można to włączyć do modelu?

Ale to ograniczenie jest nieliniowe!

nie

 

pracujacy

 

w

 

niedziele wszyscy

 

pracujacy

³ 0.3

                   

x

1 +

x

1 +

x

2

x

2 + ...

+

x

7 ³ 0.3

• • Zauważmy, że suma wszystkich pracowników jest dodatnia, dlatego możemy przez nią pomnożyć obie strony nierówności Wówczas otrzymujemy ograniczenie liniowe: 0.7

x

1 + 0.7

x

2 0.3

x

3 0.3

x

4 0.3

x

4 0.3

x

5 0.3

x

6 0.3

x

7 ³ 0

Inne modyfikacje obsady poczty

• Możemy wymagać, żeby każda zmiana miała całkowitą liczbę pracowników – Zadanie programowania całkowitoliczbowego DYGRESJA: Modelowanie ułamkowych części pracowników jest zupełnie nierealistyczne. W praktyce łatwo sobie z tym poradzić zaokrąglając otrzymane rozwiązanie – jednak należy pamiętać, że nie zawsze da się dobrze zaokrąglić i dlatego, jeśli można, lepiej rozwiązywać zadanie programowania całkowitoliczbowego. • • • Możemy rozpatrywać grafik na dłuższy okres – Na przykład 6 tygodni na raz (pozwala na sprawiedliwsze rozwiązanie – na przykład w powyższym modelu większość pracowników nigdy nie ma wolnej soboty I niedzieli; w modelu z 6 tygodniami na raz, można zapewnić, że każdy pracownik będzie miał wolne cały lub przynajmniej część weekendu) Możemy rozpatrywać krótszy grafik – I modelować przerwy na lunch Możemy wreszcie modelować pracowników indywidualnie – Wprowadzając preferencje pracowników (można uczynić pracowników bardziej szczęśliwymi, jeśli da się im wolne wtedy, kiedy poproszą) Większość powyższych modyfikacji wymaga programowania całkowitoliczbowego, które również będziemy omawiać na zajęciach.

Problem optymalizacyjny

• Dany jest zbiór liczb. Rozdziel je na dwa zbiory tak, aby różnica sum liczb w obu grupach była jak najmniejsza.

• Przykład: 7, 10, 13, 17, 20, 22 • • Mogę je podzielić na {20,22} (suma 42) oraz {7, 10, 13, 17} (suma 47) Różnica sum wynosi 5 • Czy możemy uzyskać lepszy wynik?

Ciekawe zastosowanie programowania matematycznego – radioterapia

• • • Wysokie dawki promieniowania (energia na jednostkę masy) mogą zabijać komórki i/lub uniemożliwiać ich rozwój i podział – Prawdziwe zarówno dla komórek rakowych, jak i zdrowych Radioterapia jest atrakcyjna, ponieważ mechanizmy naprawcze działają bardziej efektywnie w przypadku komórek zdrowych niż w przypadku komórek rakowych Chodzi tutaj o radioterapię a nie o stosowanie wiązek protonów.

• Niedawne osiągnięcia w obrazowaniu: – – – MRI (rezonans magnetyczny) CT Scan (tomografia komputerowa) -etc.

• • Rozwój w dziedzinie naświetlania – – Tomoterapia IMRT Radioterapia jest teraz dokonywana przez komputer, który dostarcza duże dawki promieniowania wiązkami puszczanymi pod różnymi kątami do mózgu.

• Tradycyjna radioterapia: • • Ważne jest, aby puszczać wiązki pod różnymi kątami W konwencjonalnej radioterapii: – – – 3 do 7 wiązek Radioonkolog i lekarz ogólny ustalają wspólnie kąty I natężenia wiązek Wszystko odbywa się za pomocą metod prób i błędów

• Celem jest zmaksymalizowanie dawki promieniowania na komórki rakowe przy jednoczesnym zminimalizowaniu dawki na obszar krytyczny.

• W mózgu każda nierakowa komórka jest krytyczna. W pozostałych częściach ciała, niektóre komórki są bardziej krytyczne od innych.