Elementy modelowania matematycznego



Podobne dokumenty
Definicja problemu programowania matematycznego

Programowanie liniowe

Programowanie liniowe

Programowanie liniowe. Tadeusz Trzaskalik

Elementy Modelowania Matematycznego

TOZ -Techniki optymalizacji w zarządzaniu

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Wykład 7. Informatyka Stosowana. Magdalena Alama-Bućko. 16 kwietnia Magdalena Alama-Bućko Wykład 7 16 kwietnia / 23

Programowanie liniowe

Ekonometria - ćwiczenia 10

Standardowe zadanie programowania liniowego. Gliwice 1

Programowanie liniowe

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

Programowanie liniowe metoda sympleks

Programowanie liniowe

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

Rozdział 1 PROGRAMOWANIE LINIOWE

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia:

Ćwiczenia laboratoryjne - Dobór optymalnego asortymentu produkcji programowanie liniowe. Logistyka w Hutnictwie Ćw. L.

Programowanie liniowe metoda sympleks

1 Programowanie całkowitoliczbowe PLC

Elementy Modelowania Matematycznego

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

4. PROGRAMOWANIE LINIOWE

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

A. Kasperski, M. Kulej Badania Operacyjne- programowanie liniowe 1

Metoda simpleks. Gliwice

Wprowadzenie do badań operacyjnych - wykład 2 i 3

Algorytm simplex i dualność

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Algebra liniowa. Macierze i układy równań liniowych

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Programowanie liniowe metoda sympleks

Badania operacyjne. te praktyczne pytania, na które inne metody dają odpowiedzi jeszcze gorsze.

Laboratorium Metod Optymalizacji

OPTYMALIZACJA DYSKRETNA

Programowanie liniowe

Wprowadzenie do badań operacyjnych

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

Dualność w programowaniu liniowym

Metody systemowe i decyzyjne w informatyce

Rozdział 1 PROGRAMOWANIE LINIOWE

Wybrane elementy badań operacyjnych

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

BADANIA OPERACYJNE pytania kontrolne

Wykład z modelowania matematycznego. Algorytm sympleks.

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

PROGRAMOWANIE KWADRATOWE

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Programowanie dynamiczne. Tadeusz Trzaskalik

Teoretyczne podstawy programowania liniowego

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby

PROGRAMOWANIE NIELINIOWE

Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych. Piotr Kaczyński. Badania Operacyjne

Programowanie liniowe

Excel - użycie dodatku Solver

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Rozwiązanie Ad 1. Model zadania jest następujący:

ZAGADNIENIA NA EGZAMIN POPRAWKOWY Z MATEMATYKI W KLASIE II TECHNIKUM.

METODA ANALITYCZNA Postać klasyczna: z = 5 x 1 + 6x 2 MAX 0,2 x 1 + 0,3x 2 < 18 0,6 x 1 + 0,6x 2 < 48 x 1, x 2 > 0

Układy równań i nierówności liniowych

Programowanie nieliniowe

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

Zagadnienie transportowe

ALGORYTM SIMPLEX. B.Gładysz Badania operacyjne 2007

Rozwiązywanie programów matematycznych

Badania operacyjne Operation research. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Wydział Matematyki Programowanie liniowe Ćwiczenia. Zestaw 1. Modelowanie zadań programowania liniowego.

Metody wielokryterialne. Tadeusz Trzaskalik

Kształcenie w zakresie podstawowym. Klasa 2

Metody Ilościowe w Socjologii

Analiza danych przy uz yciu Solvera

5. Rozwiązywanie układów równań liniowych

Agenda. Politechnika Poznańska WMRiT ZST. Piotr Sawicki Optymalizacja w transporcie 1. Kluczowe elementy wykładu. WPROWADZENIE Cel i zakres wykładu.

c j x x

( 1) ( ) 16 Warunki brzegowe [WB] Funkcja celu [FC] Ograniczenia [O] b i ( 2) ( ) ( ) 14. FC max. Kompletna postać bazowa

Rozwiązanie Powyższe zadanie możemy przedstawić jako następujące zagadnienie programowania liniowego:

Iwona Konarzewska Programowanie celowe - wprowadzenie. Katedra Badań Operacyjnych UŁ

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

ZAGADNIENIE TRANSPORTOWE

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Badania operacyjne. 1 Programowanie liniowe. kierunek Informatyka, studia II stopnia ćwiczenia. 1.1 Modelowanie

Agenda. Optymalizacja w transporcie. Piotr Sawicki WIT PP, ZST 1. Kluczowe elementy wykładu. WPROWADZENIE Cel i zakres wykładu.

SZTUCZNA INTELIGENCJA

Badania operacyjne. Dr hab. inż. Adam Kasperski, prof. PWr. Pokój 509, budynek B4 Materiały do zajęć dostępne na stronie:

=B8*E8 ( F9:F11 F12 =SUMA(F8:F11)

OPTYMALIZACJA PROCESÓW LOGISTYCZNYCH

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

1 Przykładowe klasy zagadnień liniowych

Rozwiązywanie problemów z użyciem Solvera programu Excel

Transkrypt:

Elementy modelowania matematycznego Programowanie liniowe. Metoda Simplex. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ ZADANIE LINIOWE Tortilla z ziemniaków i cebuli (4 porcje) 300 g oliwy, 600 g ziemniaków, 2 cebule, 6 jajek, przyprawy. Rozgrzać oliwę na patelni, ziemniaki i cebulę pokroić w talarki (...) Pulpeciki greckie (4 porcje) 500 g ziemniaków, 115 g sera feta, 4 cebule, 1 jajko, 45 g oliwy, sok z cytryny, przyprawy, mąka, koper. Ziemniaki gotować w mundurkach, ugnieść, dodać ser feta (...) Opakowanie (4 porcje) tortilli sprzedamy z zyskiem 8 zł, opakowanie (4 porcje) pulpecików sprzedamy z zyskiem 5 zł. Mamy w magazynie 60 kg ziemniaków, 27 kg oliwy, 360 jajek, 420 cebul, 12 kg sera feta, dowolnie dużo przypraw i in. składników. 1

ZADANIE c.d. Oznaczmy przez: liczbę porcji tortilli liczbę porcji pulpecików Ziemniaki 600 500 zapas 60000 Zadanie optymalizacyjne: znaleźć takie nieujemne,, by zmaksymalizować zysk: Oliwa Cebula Jajka 300 2 6 45 4 1 27000 420 360 8 + 5 -> max Feta 0 115 12000 przy zachwaniu ograniczeń danych tabelką, a więc: 600 + 500 < 60000... 0 + 115 < 12000 INTERPRETACJA GEOMETRYCZNA 6 + < 360 300 + 45 < 27000 600 + 500 < 60000 100 0 + 115 < 12000 2 + 4 < 420 100 200 Zbiór dopuszczalny 2

INTERPRETACJA GEOMETRYCZNA poziomice jednakowego zysku 100 Rozwiązanie: = 50 = 60 zysk = 700 8 + 5 -> max kierunek optymalizacji 100 200 PRZYPADEK OGÓLNIEJSZY Mamy n zmiennych nieujemnych,... x n, oraz m warunków ograniczających w postaci liniowej: aijxi bj i= 1.. n Znaleźć maksimum wyrażenia: Co jest trudnego w problemach liniowych? duża liczba wymiarów (np. setki tysięcy) wykładnicza liczba potencjalnych rozwiązań kłopoty numeryczne (błędy zaokrągleń) problemy techniczne (jak przechować np. rzadką macierz kwadratową o boku 100 tys.?) i= 1.. n c i x i 3

INTERPRETACJA GEOMETRYCZNA PRZYPADKU OGÓLNEGO Zbiór dopuszczalny to wielobok n-wymiarowy ograniczony m warunkami (hiperpłaszczyznami). a x + + a 1 j 1 nj x n b j x 3 Optymalne rozwiązanie leży na jednym z wierzchołków. INNE PRZYKŁADY Optymalizacja diety Mamy do dyspozycji n produktów spożywczych. Każdy z nich zawiera pewną ilość każdego z m składników odżywczych. Musimy ułożyć dietę tak, aby: - zapewnić wymaganą dzienną ilość każdego ze składników, - nie przekroczyć dopuszczalnego górnego ograniczenia na ilość spożywanych produktów, - zminimalizować koszt posiłku. 4

UŻYCIE OPTYMALIZATORA Xpress-MP, optymalizator Mosel http://www.dashoptimization.com/ (darmowe do celów edukacyjnych) model Tortilla uses "mmxprs" declarations x: array(1..2) of mpvar ZYSK_JEDN: Microsoft Excel, dodatek Solver ZIEM: OLIWA: CEBULA: JAJA: FETA: end-declarations ZIEM := [600, 500] OLIWA := [300, 45] CEBULA := [2, 4] JAJA := [6, 1] FETA := [0, 115] ZYSK_JEDN := [8, 5] sum(i in 1..2) x(i)*ziem(i) <= 60000 sum(i in 1..2) x(i)*oliwa(i) <= 27000 sum(i in 1..2) x(i)*cebula(i) <= 420 sum(i in 1..2) x(i)*jaja(i) <= 360 sum(i in 1..2) x(i)*feta(i) <= 12000 Zysk := sum(i in 1..2) x(i)*zysk_jedn(i) maximize(zysk) writeln("x1 = ",getsol(x(1))) writeln("x2 = ",getsol(x(2))) writeln("zysk = ",getobjval) JAK DZIAŁAJĄ SOLVERY Najpowszechniejszą metodą rozwiązywania zagadnień programowania liniowego jest znana od 1947 roku (G.B. Dantzig) metoda sympleksowa (simplex). 1. Przedstawiamy zadanie w postaci kanonicznej: c T x Ax= b x 0 min gdzie x to wektor zmiennych, c wektor kosztów, T oznacza transpozycję, b to wektor nieujemnych ograniczeń, A to macierz współczynników, zapis x 0 oznacza w skrócie, że wszystkie współrzędne są nieujemne. 5

METODA SIMPLEX c.d. Nie wszystkie zadania są od razu w tej postaci. Jeśli zamiast ograniczeń równościowych mamy nierównościowe (jak w przykładzie o tortilli), możemy je sprowadzić do równościowych wprowadzając pomocnicze parametry, czyli zwiększając liczbę zmiennych: ( a x + a x b ) ( a x + + a x + x = b x 0) 1 j 1+ nj n j 1 j 1 nj n n+ 1 j n+ 1 Podobnie omija się nakaz nieujemności zmiennych. Możemy zamienić koszt na ujemny, by z zadania maksymalizacji zrobić minimalizację. Ponadto możemy przekształcić zadanie w dualne (równoważne): zamiana minimalizacji na maksymalizację, nierówności na równania. METODA SIMPLEX c.d. Kolejne kroki metody Simplex to znalezienie dopuszczalnego rozwiązania bazowego (w interpretacji graficznej: jeden z wierzchołków bryły) poprzez przekształcenie macierzy A i policzenie odwrotności jej fragmentu. Następnie algorytm przegląda sąsiednie wierzchołki i wybiera taki, który daje spadek funkcji celu. Algebraicznie polega to na wymianie pewnych kolumn macierzy. Algorytm zatrzymuje się w rozwiązaniu optymalnym. 6

LITERATURA K. Zorychta, W. Ogryczak. Programowanie liniowe i całkowitoliczbowe. WNT, Warszawa 1981. M. Sysło, N. Deo, J. Kowalik. Algorytmy optymalizacji dyskretnej. PWN, Warszawa 1999. http://www-unix.mcs.anl.gov/otc/guide/faq/ 7