Programowanie nieliniowe

Podobne dokumenty
Programowanie liniowe

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

Definicja problemu programowania matematycznego

Wykład z modelowania matematycznego. Zagadnienie transportowe.

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

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

Standardowe zadanie programowania liniowego. Gliwice 1

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Programowanie liniowe. Tadeusz Trzaskalik

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

Rozdział 1 PROGRAMOWANIE LINIOWE

Ekonometria - ćwiczenia 10

Programowanie dynamiczne. Tadeusz Trzaskalik

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

Dualność w programowaniu liniowym

PROGRAMOWANIE KWADRATOWE

Elementy Modelowania Matematycznego

Schemat programowania dynamicznego (ang. dynamic programming)

Metoda simpleks. Gliwice

Programowanie matematyczne

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

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

OPTYMALIZACJA W LOGISTYCE

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

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Programowanie liniowe metoda sympleks

Ćwiczenia laboratoryjne - 7. Problem (diety) mieszanek w hutnictwie programowanie liniowe. Logistyka w Hutnictwie Ćw. L. 7

Modelowanie całkowitoliczbowe

Programowanie liniowe metoda sympleks

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

Zagadnienie transportowe

Optymalizacja procesów technologicznych przy zastosowaniu programowania liniowego

Programowanie liniowe

Programowanie liniowe całkowitoliczbowe. Tadeusz Trzaskalik

1 Przykładowe klasy zagadnień liniowych

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

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

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Wykład z modelowania matematycznego. Algorytm sympleks.

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

Programowanie liniowe

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Rozwiązaniem jest zbiór (, ] (5, )

Badania Operacyjne Ćwiczenia nr 5 (Materiały)

D. Miszczyńska, M.Miszczyński KBO UŁ, Badania operacyjne [1]

TOZ -Techniki optymalizacji w zarządzaniu

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Programowanie celowe #1

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

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

PROBLEMY DECYZYJNE KRÓTKOOKRESOWE

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

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

ZAGADNIENIE TRANSPORTOWE

1. Który z warunków nie jest właściwy dla powyższego zadania programowania liniowego? 2. Na podstawie poniższej tablicy można odczytać, że

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

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):

PROGRAMOWANIE NIELINIOWE

Elementy Modelowania Matematycznego

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

Modelowanie sytuacji konfliktowych, w których występują dwie antagonistyczne strony.

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

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 liniowe

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

ZAGADNIENIE TRANSPORTOWE

Zaawansowane metody numeryczne

x 2 = a RÓWNANIA KWADRATOWE 1. Wprowadzenie do równań kwadratowych 2. Proste równania kwadratowe Równanie kwadratowe typu:

Problem zarządzania produkcją i zapasami

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

Algorytm simplex i dualność

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

TEORIA DECYZJE KRÓTKOOKRESOWE

Programowanie liniowe metoda sympleks

Lista 1 PL metoda geometryczna

c j x x

4. PROGRAMOWANIE LINIOWE

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

Wykład 6. Programowanie liniowe

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

Klasyczne zagadnienie przydziału

METODY WIELOKRYTERIALNE

Metody numeryczne w przykładach

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

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

ANALIZA MATEMATYCZNA

Badania operacyjne. Dr Michał Kulej. Pokój 509, budynek B4 Forma zaliczenia wykładu: egzamin pisemny.

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

RACHUNKOWOŚĆ ZARZĄDCZA

WPROWADZENIE DO EKONOMII MENEDŻERSKIEJ.

Elementy modelowania matematycznego

Teoretyczne podstawy programowania liniowego

1. Wykład NWD, NWW i algorytm Euklidesa.

ZAGADNIENIE TRANSPORTOWE (część 1)

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

BADANIA OPERACYJNE ANALITYKA GOSPODARCZA

Skrypt 12. Funkcja kwadratowa:

Ćwiczenia laboratoryjne - 7. Zagadnienie transportowoprodukcyjne. programowanie liniowe

Excel - użycie dodatku Solver

Transkrypt:

Rozdział 5 Programowanie nieliniowe Programowanie liniowe ma zastosowanie w wielu sytuacjach decyzyjnych, jednak często zdarza się, że zależności zachodzących między zmiennymi nie można wyrazić za pomocą modeli liniowych. Znalezienie rozwiązania zadania optymalizacyjnego, w którym funkcja celu lub ograniczenia są funkcjami nieliniowymi jest na ogół trudniejsze niż w wypadku zadań programowania liniowego. W praktyce stosuje się zwykle metody przybliżone, najczęściej gotowe pakiety oprogramowania. Niektóre szczególne przypadki można jednak rozwiązać analitycznie. Na przykład zadania z minimaksową funkcją celu oraz zadania z funkcją celu będąca ilorazem funkcji liniowych można w łatwy sposób sprowadzić do równoważnej postaci zadania programowania liniowego. W tym rozdziale przedstawimy metody rozwiązywania tego typu problemów. 5.. Zadania programowania liniowo-ułamkowego Pewne szczególne modele programowania nieliniowego można rozwiązać przez sprowadzenie do problemu programowania liniowego. Do takich modeli należy zadanie z funkcją celu w postaci ilorazu wyrażeń liniowych i ograniczeniami liniowymi. Problem taki można rozwiązać na przykład metodą Charnesa-Coopera, którą omówimy w tym rozdziale. 5... Przykład Pewne przedsiębiorstwo produkuje dwa wyroby W i W2 z dwóch surowców S i S2. Zużycie surowców do produkcji każdego wyrobu podano w tablicy 5., w której przedstawiono stan zapasów obu surowców oraz zysk jednostkowy z produkcji każdego wyrobu i ilość zanieczyszczeń emitowanych przy produkcji danego wyrobu. Należy znaleźć taki plan produkcji, w którym ilość zanieczyszczeń przypadająca na jednostkę zysku będzie najmniejsza.

70 Rozdział 5. Programowanie nieliniowe Tablica5..DaneoprodukcjiwyrobówWiW2 Surowiec Zużycie surowca[kg/jednostkę wyrobu] Zapas surowca W W2 S 4 S2 4 2 8 zysk jednostkowy 200 w[zł/jednostkę wyrobu] 00 emisja zanieczyszczeń 3 w[kg/jednostkę wyrobu] 4 5..2. Model matematyczny Oznaczmyprzezx liczbęjednostekwyrobuwwplanieprodukcji,a przezx 2 odpowiednio,planowanąprodukcjęwyrobuw2.zyskzprodukcji wyniesie,acałkowitaemisjazanieczyszczeń3x +4x 2. Otrzymujemy następujący model decyzyjny: zminimalizować z= 3x +4x 2 (5.) przyograniczeniach x +x 2 4 (5.2) 4x +2x 2 8 (5.3) x,x 2 0 (5.4) 5..3. Rozwiązanie Zauważmy,żedlax,x 2 0,gdziejednazezmiennychmawartość dodatnią mianownik funkcji celu jest większy od zera. Oznaczmy przez = iwprowadźmynastępującepodstawienia: y 0 =,y = x,y 2 = x 2. (5.5) W wyniku tego podstawienia otrzymujemy następujące zadanie programowania liniowego: zminimalizowaćz=3y +4y 2 (5.6)

5.. Zadania programowania liniowo-ułamkowego 7 przyograniczeniachy +y 2 4y 0 0 (5.7) 4y +2y 2 8y 0 0 (5.8) 200y +00y 2 = (5.9) y 0,y,y 2 0 (5.0) Zadanie(5.6)-(5.0) rozwiązujemy dowolną metodą programowania liniowego(np. za pomocą algorytmu sympleks) i otrzymujemy następujące rozwiązanieoptymalne:y =/200,y 2 =0,y 0 =/400,z =3/200.Na mocy wzoru(5.5) znajdujemy optymalne rozwiązanie zadania początkowego: x = 200 400 x 2= 0 =0 400. W optymalnym planie produkcji zakład będzie produkował 2 jednostki wyrobu pierwszego i przy tym będzie emitował 3 kg zanieczyszczeń na 200 zł zysku(inaczej: 0,05kg/zł). Podstawienie(5.5), które wykonaliśmy w modelu(5.)-(5.4) można wykonać zawsze, gdy spełnione są następujące warunki: zbiór rozwiązań dopuszczalnych problemu jest ograniczony oraz mianownik funkcji celu jest dodatni dla wszystkich rozwiązań dopuszczalnych. Metoda polegająca na sprowadzeniu modelu z ilorazową funkcją celu do problemu programowania liniowego nazywa się metodą Charnesa-Coopera. Niech dane będzie zadanie w postaci: =2 zminimalizowaćz= ct x+c 0 d T x+d 0 (5.) przy ograniczeniach Ax = b (5.2) oznaczmy: x 0 (5.3)

72 Rozdział 5. Programowanie nieliniowe =d T x+d 0 (5.4) i zapiszmy zadanie(5.)-(5.3) w równoważnej postaci: zminimalizowaćz=c Tx +c 0 (5.5) przyograniczeniacha x b =0 (5.6) d Tx +d 0 x = (5.7) 0 (5.8) >0 (5.9) Następnie wykonajmy podstawienie: y= x,y 0=. (5.20) Osłabiając warunek(5.9) otrzymujemy następujące zadanie programowania liniowego: zminimalizowaćz=c T y+c 0 y 0 (5.2) przyograniczeniachay by 0 =0 (5.22) d T y+d 0 y 0 = (5.23) y 0,y 0 0 (5.24) Korzystamy z własności, że rozwiązanie optymalne zadania(5.)-(5.3) istnieje wtedy i tylko wtedy, gdy istnieje rozwiązanie optymalne zadania (5.2)-(5.24)takie,żey 0 >0. Metoda Charnesa-Coopera Krok. Przekształcić zadanie(5.)-(5.3) do postaci liniowej(5.2)-(5.24). Krok 2. Znaleźć rozwiązanie optymalne zadania(5.2)-(5.24).

5.2. Zadania z minimaksową funkcją celu 73 Krok 3. Znaleźć rozwiązanie optymalne zadania(5.)-(5.3) za pomocą wzoru(5.20). 5.2. Zadania z minimaksową funkcją celu Innym przykładem modelu nieliniowego, który można rozwiązać przez sprowadzenie do równoważnego modelu liniowego jest zadanie z minimaksową funkcją celu. 5.2.. Przykład Pewna firma planuje dwa warianty testów nowego wyrobu. Testy trwają trzy miesiące. Jednostkowe koszty pierwszego testu wynoszą w pierwszym i trzecim miesiącu 2 zł/szt., w drugim miesiącu 3 zł/szt., a drugiego testu wpierwszymmiesiącu3zł/szt.,wdrugimzł/szt.,awtrzecimmiesiącu 4 zł/szt. Ponadto testy generują co miesiąc koszty stałe w wysokości odpowiednio 50, 20 i 40 zł. Dział jakości wyznaczył minimalną łączną liczbę testówna000.księgowyobawiasię,żefirmamożemiećproblemyzpłynnością finansową, dlatego wymaga, aby koszty testów obliczać w każdym miesiącu oddzielnie. Zależy mu, aby największy wydatek na testy spośród trzech miesięcy był jak najmniejszy. 5.2.2. Model matematyczny Oznaczmyprzezx liczbęsztukwyrobupoddanychpierwszemutestowi,aprzezx 2 poddanychdrugiemutestowi.kosztytestówwpierwszym miesiącuwynoszą50+2x +3x 2,wdrugim20+3x +x 2,awtrzecim 40+2x +2x 2.Odpowiedniproblemprogramowaniamatematycznegoma następującą postać: zminimalizowaćz=max{2x +3x 2 +50,3x +x 2 +20,2x +2x 2 +40}(5.25) przyograniczeniachx +x 2 000 (5.26) x,x 2 0 (5.27) W ogólności problem z minimaksową funkcją celu formułujemy jako: zminimalizowaćz=max{c T x+c 0,...,c T kx+c k0 } (5.28)

74 Rozdział 5. Programowanie nieliniowe przy ograniczeniach Ax = b (5.29) x 0 (5.30) 5.2.3. Rozwiązanie Wprowadźmydodatkowązmiennąx 0,któraprzyjmujewartośćniemniejszą niż koszty testów w każdym miesiącu. Zatem: x 0 2x +3x 2 +50 (5.3) x 0 3x +x 2 +20 (5.32) x 0 2x +2x 2 +40 (5.33) Pozostajezminimalizowaćfunkcjęz=x 0 przyograniczeniach(5.3)-(5.33) oraz(5.26)-(5.27). Jest to zadanie programowania liniowego, a więc możemy zastosować na przykład algorytm sympleks i otrzymujemy rozwiązanie: x 0 =2373,3,x =676,6,x 2 =323,3.Rozwiązanietoniejestcałkowitoliczbowe, więc księgowy może przyjąć, że pierwszemu testowi zostaną poddane 677 stuki, a drugiemu 323 sztuki wyrobu. Maksymalny koszt wyniesie wtedy: 2374 zł. Sposób postępowania w ogólnym wypadku przedstawiono poniżej. Algorytm rozwiązania zadania z minimaksową funkcją celu. Krok.Wprowadzićzmiennąx 0, Krok2.Zastąpićfunkcjęcelufunkcjąz=x 0, Krok4.Dodaćograniczeniapostacix 0 c T i x+c i0i=,...,k, Krok 5. Rozwiązać otrzymane zadanie programowania liniowego. Otrzymane zadanie programowania liniowego ma następującą postać: zminimalizowaćz=x 0 (5.34) przy ograniczeniach Ax = b (5.35) x 0 c T ix+c i0, i=,...k (5.36)

5.3. Zadania 75 x 0 (5.37) Rozwiązanie tego problemu jest równocześnie rozwiązaniem problemu początkowego(5.28)-(5.30). Analogicznie można postąpić w przypadku funkcjicelupostaci:zmaksymalizowaćz=min{c T x+c 0,...,c T k x+c k0}. 5.3. Zadania Zadanie 5. zminimalizować z=max{3x +2x 2 +5,x 2x 2 +3} przyograniczeniach: x +3x 2 5 Zadanie 5.2 5x +2x 2 3 x,x 2 0 zmaksymalizować z=min{3x +2x 2 +5,x 2x 2 +3} przyograniczeniach: x +3x 2 5 Zadanie 5.3 5x +2x 2 3 x,x 2 0 Zadanie 5.4 zmaksymalizować z= 3x +2x 2 +5 x 2x 2 +3 przyograniczeniach: x +3x 2 5 5x +2x 2 3 x,x 2 0