Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie matematyczne Programowanie Liniowe funkcja celu i funkcje ograniczeń są liniowe Programowanie Nieliniowe funkcja celu i/lub funkcje ograniczeń

Podobne prezentacje


Prezentacja na temat: "Programowanie matematyczne Programowanie Liniowe funkcja celu i funkcje ograniczeń są liniowe Programowanie Nieliniowe funkcja celu i/lub funkcje ograniczeń"— Zapis prezentacji:

1 Programowanie matematyczne Programowanie Liniowe funkcja celu i funkcje ograniczeń są liniowe Programowanie Nieliniowe funkcja celu i/lub funkcje ograniczeń są nieliniowe

2 Każde zadanie minimalizacji funkcji celu można zapisać w równoważnej formie Ograniczenie nierównościowe typu można wyrazić w postaci Ograniczenie nierównościowe można zamienić na ograniczenie równościowe poprzez dodanie tzw. zmiennej osłabiającej

3 Zadanie optymalizacji zbiór zmiennych decyzyjnych zadania optymalizacji n=1,...,N ilość zmiennych zadania funkcja celu ograniczenia równościowe ograniczenia nierównościowe

4 Sformułowanie zadania optymalizacji Znajdź x takie, że przy ograniczeniach

5 Programowanie Liniowe Z

6 Podstawy matematyczne macierz jest tablicą prostokątną o wymiarze nxm Macierz diagonalnaMacierz jednostkowaMacierz trójkątna górna Macierz A jest symetryczna gdy A=A T tzn. a ij =a ij Macierz A jest skośnosymetryczna gdy a ij =-a ij

7 Działania na macierzach Iloczyn macierzy Dodawanie macierzy Mnożenie macierzy przez skalar

8 Dodawanie macierzy - własności Prawo łączności Prawo przemienności Prawo rozdzielności Mnożenie macierzy - własności Prawo łączności Prawa rozdzielności Uwaga !

9 wyznacznik macierzy 1.Jeśli macierz posiada kolumnę lub wiersz złożony z samych zer to 2.Wartość wyznacznika nie zmienia się jeśli zmienimy ze sobą kolumny lub wiersze 3.Jeśli B powstaje przez zamianę dwóch kolumn lub wierszy to 4.Jeśli dwie kolumny lub wiersze macierzy B są równe to 5.Pomnożenie elementów wiersza lub kolumny przez k jest równoznaczne z pomnożeniem wyznacznika przez k 6.Wartość wyznacznika nie podlega zmianie gdy do elementów wiersza dodamy lub odejmiemy elementy innego wiersza pomnożone przez k

10 Rzędem macierzy A nazywamy stopień największej podmacierzy kwadratowej której wyznacznik jest różny od zera Gdy macierz jest osobliwa Gdy macierz jest nieosobliwa Minor D ij elementu a ij jest wyznacznikiem otrzymanym z macierzy kwadratowej przez wykreślenie i-tego wiersza i j-tej kolumny Dopełnienie algebraiczne A ij elementu a ij jest równe (-1) i+j D ij. Macierzą dołączoną macierzy A o wymiarach nxn jest macierz J=[A ij ] o wymiarach nxn, w której element i-tego wiersza i j-tej kolumny jest dopełnieniem algebraicznym elementu w i-tym wierszu i j-tej kolumnie macierzy A

11 Macierz B nazywamy macierzą odwrotną macierzy kwadratowej A jeśli AB=I. Macierz odwrotną oznaczamy A -1 Dla każdej nieosobliwej macierzy A istnieje jedna i tylko jedna macierz odwrotna A -1 taka, że Gdy to Tylko nieosobliwe macierze kwadratowe mają macierze odwrotne

12 (0,0) u1u1 u2u2 (u 1,u 2 ) u Własności wektorów w dwuwymiarowej przestrzeni euklidesowej E 2 Prawo łączności Prawo rozdzielności Mnożenie wektorów przez skalar - własności u u u u

13 Prawo przemienności Dodawanie wektorów-własności Prawo łączności u v u-v -v u+v W przestrzeni E 2 istnieje tylko jeden wektor zerowy 0 zwany punktem odniesienia taki, że dla każdego u w E 2 Dla każdego u w E 2 istnieje tylko jeden wektor przeciwny -u taki, że dla każdego u w E 2

14 Prawo przemienności Iloczyn skalarny wektorów-własności Wtedy i tylko wtedy gdy u=0 Każdej parze wektorów u i v w E 2 odpowiada liczba rzeczywista uv=u 1 v 1 +u 2 v 2 zwana iloczynem skalarnym u i v. wtedy i tylko wtedy gdy u=0 Każdemu wektorowi u w E 2 odpowiada liczba rzeczywista zwana długością wektora u Nierówność trójkąta Dla dowolnych skalarów, i wektorów u, v i w w E 2 Długość wektora dla każdego u, v w E 2 u1u1 u2u2

15 Zbiór wektorów U 1,U 2, U 3,...,U n nazywamy liniowo niezależnym, gdy dla wszystkich liczb 1, 2,..., n równość pociąga np. W przeciwnym razie zbiór jest liniowo zależny U 1 =[1 0] T U 2 =[0 1] T 1 U 1 =[ 1 0] T 2 U 2 =[0 2 ] T 1 U 1+ 2 U 2 =[ 1 2 ] T

16 n – wymiarowa przestrzeń euklidesowa E n, jest zbiorem obiektów zwanych wektorami, które posiadają własności opisane poprzednio; w przestrzeni E n istnieje układ n niezależnych wektorów, ale każde n+1 wektorów w jest układem liniowo zależnym. Bazą w E n jest zbiór liniowo niezależnych wektorów. Każdy wektor może być jednoznacznie wyznaczony jako kombinacja liniowa wektorów danej bazy. Zbiory wypukłe Wypukłą kombinacją punktów U 1,U 2, U 3,...,U n nazywamy punkt U= 1 U U n U n gdzie i są skalarami spełniającymi warunki i. Podzbiór C w E n jest wypukły wtedy i tylko wtedy, gdy dla każdej pary U 1,U 2 w C każda kombinacja wypukła U= 1 U U 2 lub gdy 1 =1- 2 U= (1- 2 )U U 2, również należy do C.

17 Twierdzenie 1 Dowolny punkt leżący na odcinku łączącym dwa punkty w E n może być wyrażony jako kombinacja wypukła tych dwóch punktów. Dowód Oznaczmy dwa punkty przez U i V oraz punkt W leżący na odcinku łączącym U i V. Ponieważ kombinacja liniowa jest wypukła gdy spełnia warunek W= (1- 2 )V+ 2 U dla każdego przy Więc dla mamy W =V+ (U-V) Zatem wektor W jest kombinacją wypukłą V i U. U V U-V) -V W U-V U V W-V) -V W U-V

18 Twierdzenie 2 (odwrotne) Dowolny punkt, który może być wyrażony jako kombinacja wypukła dwóch punktów w E n, leżący na odcinku łączącym te dwa punkty. Zbiory wypukłe Zbiory nie wypukłe Punkt U zbioru wypukłego C nazywamy wierzchołkiem, jeśli nie może być on wyrażony jako kombinacja wypukła dwóch różnych punktów należących do C. U C W V Punkt U nie leży na prostej łączącej punkty W i V.

19 Zbiór wektorów S nazywamy stożkiem, jeśli dla każdego wektora U Należącego do S, 2 U także należy do S, gdzie 2 jest liczbą nieujemną. S Przykładem stożków są całe przestrzenie, początek układu oraz zbiór S. Uwaga! Stożek zawiera początek układu ponieważ 2 może być równe zeru. Sympleks jest n-wymiarowym wielościanem wypukłym mającym dokładnie n+1 wierzchołków. W przestrzeni E 0 sympleksem jest punkt, w E 1 prosta, zaś w E 2 trójkąt. S S

20 Nierówności liniowe a) b) c) d) e) (0,1) (1,0) (2,1) b) a) c) d) e) C lub gdzie Obszar dopuszczalnych rozwiązań

21 Układ nierówności można zamienić na układ równości poprzez odjęcie (dodanie) zmiennej osłabiającej takiej, żewówczas x 1 >0 x 1 -s 2 =0 s2s2 Obszar dopuszczalnych rozwiązań x 1 =0 x1x1 x2x2

22 Twierdzenie Kroneckera-Capelli Jeśli dla układu (*) równań liniowych spełniony jest warunek to mogą zaistnieć trzy następujące przypadki: rz(A)=n=m, istnieje tylko jedno rozwiązanie (*) rz(A)=n

23 Metody rozwiązywania układów równań ponieważ Powyższy układ (*) można zapisać w postaci kombinacji liniowej wektorów (*) (**)

24 Definiujemy n-1 czynników Mnożymy pierwsze równanie przez m 21 a następnie odejmujemy je od równania drugiego. Następnie mnożymy pierwsze równanie przez m 31 a następnie odejmujemy je od równania trzeciego. Postępowanie to kontynuujemy aż do ostatniego równania. W ten sposób otrzymujemy Opisaną procedurę można zastosować do końcowych n-1 równań. W tym celu definiujemy Metoda Eliminacji Gaussa (*) (**)

25 Mnożymy drugie równanie układu (**) przez m i2 a następnie wynik odejmujemy od trzeciego równania, czwartego równania,....., n-1 równania. W k-tym kroku procedury posługujemy się Czynnikami i obliczamy nowe współczynniki Po wykonaniu n-1 kroków otrzymujemy trójkątny układ równań Ostatnie równanie zawiera jedynie zmienną x n. Podstawienie jej do równania otrzymanego wcześniej prowadzi do wyrażenia na zmienną x n-1, tzn. w ogólnym przypadku

26 Definiujemy n-1 czynników Mnożymy pierwsze równanie przez m 21 a następnie odejmujemy je od równania drugiego. Następnie mnożymy pierwsze równanie przez m 31 a następnie odejmujemy je od równania trzeciego. W ten sposób otrzymujemy Metoda Eliminacji Gaussa - przykład (*)

27 Metoda Eliminacji Gaussa - przykład Ostatnie równanie zawiera jedynie zmienną x n. Podstawienie jej do równania otrzymanego wcześniej prowadzi do wyrażenia na zmienną x n-1, tzn. w ogólnym przypadku

28 Określenie macierzy odwrotnej Krok 1: Krok 2: Krok 3:

29 Ponieważ macierz A jest nieosobliwa, układ wektorów P 1, P 2 i P 3 jest linowo niezależny i wobec tego tworzy bazę w przestrzeni E 3 Policzmy wyznacznik macierzy A Dowód nie wprost Dla dowodu, że wektory P 1, P 2... P n macierzy nieosobliwej A tworzą układ liniowo niezależny załóżmy najpierw, że układ ten jest liniowo zależny, wówczas dla pewnej j musi być spełniona równość Przy czym przynajmniej jedno j musi być różne od zera.

30 . Przeczy to założeniu, że macierz A jest macierzą nieosobliwą. W ten sposób założenie liniowej zależności prowadzi do sprzeczności, więc wektory P 1, P 2 i P 3 są linowo niezależne. Podstawmy wartości wektora P 1 do macierzy A Możemy wówczas jeden z wektorów przedstawić jako kombinację liniową pozostałych. W rozważanym przykładzie mamy Dodając do pierwszej kolumny otrzymujemy

31 Kombinacja liniowa (**) wektorów P 1, P 2 i P 3 równa P 0 przyjmuje postać Ponieważ wektory P 1, P 2 i P 3 tworzą bazę każdy inny wektor może być wyznaczony jako kombinacja liniowa tych wektorów Dla otrzymujemy Zatem P 4 został wyrażony jako kombinacja liniowa P 1, P 2 i P 3. Wektor P 4 jest wektorem osobliwym gdyż jest wyznaczony przez mniej niż n wektorów bazy

32 Postać standardowa Zadania Programowania liniowego Alternatywne zapisy Znajdź wektor (x 1,...,x n ) który minimalizuje kombinację liniową (funkcję celu) (1.1) Przy ograniczeniach przy ograniczeniach Zminimalizować funkcję (1.2) (1.3)

33 przy ograniczeniach Zminimalizować funkcję przy ograniczeniach Zminimalizować funkcję gdzie P j dla j=1,...,n jest j-tą kolumną macierzy A, P 0 =b

34 Sprowadzenie ogólnych zadań programowania liniowego do postaci standardowej 1.Pełne ograniczenie nierównościowe typu ograniczenie sprowadzamy do postaci równościowej przez dodanie zmiennej dopełniającej s>0 2.Pełne ograniczenie nierównościowe typu ograniczenie sprowadzamy do postaci równościowej przez odjęcie zmiennej dopełniającej s>0 Każde zadanie minimalizacji funkcji celu można zapisać w równoważnej formie

35 a) b) c) d) (0,1) (1,0) (2,1) b) a) c) d) C Obszar dopuszczalnych rozwiązań Podstawowe definicje Def.1. Rozwiązaniem dopuszczalnym zagadnienia PL jest wektor X= (x 1,...,x n ) spełniający warunki (1.2) i (1.3). Def.2a. Macierzą bazową B układu równań AX=b, rz(A)=m, n>m, nazywamy nieosobliwą macierz kwadratową o wymiarach mxm utworzoną z liniowo niezależnych kolumn a j macierzy A.

36 Def.2a. Rozwiązaniem bazowym układu równań AX=b, rz(A)=m, n>m, nazywamy wektor X B =B -1 b utworzony ze zmiennych odpowiadających kolumnom a j macierzy bazowej B. Składowe wektora X B noszą nazwę zmiennych bazowych. Uwaga! Maksymalna ilość rozwiązań bazowych wynosi Def.2b. Rozwiązaniem bazowym dopuszczalnym nazywamy rozwiązanie bazowe, które spełnia warunek (1.2), czyli wszystkie zmienne bazowe są nieujemne. Def.3. Niezdegenerowanym rozwiązaniem bazowym dopuszczalnym nazywamy bazowe rozwiązanie dopuszczalne, w którym wszystkie zmienne bazowe są dodatnie. Def.4. Minimalnym rozwiązaniem dopuszczalnym nazywamy rozwiązanie dopuszczalne, które minimalizuje funkcję (1.1)

37 Przykład. Znaleźć rozwiązanie bazowe układu równań Maksymalna liczba rozwiązań bazowych Rząd macierzy A jest równy 2, zatem macierze B i, i=1,2,3, odpowiadające kolejnym rozwiązaniom złożone będą z dwóch kolumn macierzy A. Jeśli to stąd

38 Jeśli to stąd Jeśli to stąd

39 Przykład Wykażemy, że rozwiązania bazowe odpowiadają wierzchołkom wielościanu. Sprowadzamy układ nierówności do postaci kanonicznej dodając zmienne dopełniające. x1x1 (0,6) (0,4) (6,0) x2x2 x 1 +x 2 =10 -x 1 +2x 2 =8 2x 1 +x 2 =16 A B C D Zbiór rozwiązań dopuszczalnych

40 Rząd macierzy A jest równy 4, zatem macierze bazowe B i utworzone będą z 4 kolumn macierzy A, a każde niezdegenerowane dopuszczalne rozwiązanie bazowe powinno zawierać 4 zmienne bazowe niezerowe. 1)Rozwiązanie bazowe związane z przecięciem się ograniczeń Punkt wierzchołkowy B wynosi 2) Rozwiązanie bazowe związane z przecięciem się ograniczeń Punkt wierzchołkowy D wynosi lub

41 3) Rozwiązanie bazowe związane z przecięciem się ograniczeń Punkt wierzchołkowy C wynosi Rozwiązanie i ma cztery zmienne niezerowe jest więc rozwiązaniem niezdegenerowanym. Rozwiązanie ma tylko trzy zmienne dodatnie jest więc rozwiązaniem zdegenerowanym.

42 Właściwości rozwiązań zadania PL Twierdzenie.1. Zbiór wszystkich rozwiązań dopuszczalnych zagadnienia PL jest zbiorem wypukłym. Dowód. Należy wykazać, że każda wypukła kombinacja dwóch rozwiązań dopuszczalnych jest również rozwiązaniem dopuszczalnym. Załóżmy, że istnieją dwa rozwiązania X 1 i X 2. Mamy zatem A X 1 =b dla i A X 2 =b dla Dla niech będzie wypukłą kombinacja liniową wektorów X 1 i X 2. Zauważmy, że wszystkie elementy wektora X są nieujemne, tj.. Zatem X jest rozwiązaniem dopuszczalnym ponieważ C X1X1 X2X2 Jeśli zbiór jest wypukły to prosta łącząca dwa dowolne punkty zbioru należy także do zbioru.

43 Twierdzenie.2. Funkcja celu przyjmuje wartość minimalną w punkcie wierzchołkowym zbioru wypukłego K, utworzonego na zbiorze rozwiązań dopuszczalnych zagadnienia PL. Jeśli przyjmuje wartość minimalną w więcej niż jednym punkcie wierzchołkowym to tę samą wartość przyjmuje dla każdej kombinacji liniowej tych punktów. Dowód. Ponieważ K, jest zbiorem wypukłym ma skończoną ilość punktów wierzchołkowych np. x1x1 x2x2 X1X1 X2X2 X3X3 X4X4 X5X5 X6X6 XoXo K X o minimalne rozwiązanie dopuszczalne X p punkty wierzchołkowe, p=1,..,6 f(X) funkcja celu warunek minimalizacji dla każdego K Załóżmy, że X o nie jest punktem wierzchołkowym (patrz rys.) wtedy X o możemy zapisać jako kombinację wypukłą wierzchołków zbioru K

44 Ponieważ funkcja celu f(X) jest funkcjonałem liniowym, mamy Zauważmy, że nie zwiększamy minimum jeśli za każde podstawimy najmniejszą spośród wszystkich wartości. W związku z tym niech Podstawiając do powyższej równości otrzymujemy Z założenia mamy dla wszystkich X należących do K, zatem musi być spełniona równość Istnieje zatem punkt wierzchołkowy w którym funkcja celu przyjmuje wartość Minimalną.

45 Twierdzenie.3. Jeśli można znaleźć wektorów P 1, P 2,..., P k liniowo niezależnych takich, że oraz wszystkie, to punkt jest punktem wierzchołkowym zbioru wypukłego rozwiązań dopuszczalnych. X jest wektorem n- wymiarowym, którego n-k ostatnich elementów jest równych zeru. Dowód Załóżmy, że X nie jest punktem wierzchołkowym. Ponieważ jest rozwiązaniem dopuszczalnym może być wyrażony jako kombinacja wypukła dwóch dowolnych punktów X 1 i X 2 ze zbioru K co zapisujemy Ponieważ wszystkie elementy wektora X są nieujemne i wektory X 1 i X 2 przyjmują postać Ponieważ X 1 i X 2 są rozwiązaniami dopuszczalnymi zatem A X 1 =b i A X 2 =b. W postaci wektorowej równania te przyjmują postać Aby oba równania były zgodne musi być spełniony warunek Wobec tego punkt X nie może być wyrażony jako kombinacja wypukła X 1 i X 2 i musi być punktem wierzchołkowym

46 Twierdzenie.4. Jeśli jest punktem wierzchołkowym zbioru K, to wektory odpowiadające dodatnim x i tworzą zbiór liniowo niezależny. Dodatnich x i jest co najwyżej m. Wniosek 1. Każdemu punktowi wierzchołkowemu zbioru K odpowiada zbiór m wektorów liniowo niezależnych z danego zbioru P 1, P 2,..., P n. Twierdzenie.5. Punkt jest punktem wierzchołkowym zbioru K, wtedy i tylko wtedy, gdy w kombinacji linowej wektorów niezależnych P j Współczynniki x j są dodatnie Wnioski 1.Istnieje punkt wierzchołkowy zbioru K, w którym funkcja celu przyjmuje minimum 2.Każde bazowe rozwiązanie dopuszczalne jest punktem wierzchołkowym zbioru K 3.Każdemu punktowi wierzchołkowemu zbioru K odpowiada m wektorów liniowo niezależnych z danego zbioru n wektorów związanych z tym punktem.

47 Interpretacja geometryczna zadania PL Zagadnienie PL można przedstawić w postaci kanonicznej gdzie przestrzeń rozwiązań jest przestrzenia działania Znaleźć takie, że gdzie lub w przestrzeni wektorów, zwanej przestrzenią wymagań (ograniczeń) w postaci Znaleźć takie, że gdzie Hiperpłaszczyzną nazywamy obiekt określony jednym warunkiem liniowym w E n

48 Interpretacja geometryczna zadania PL W przestrzeni działań jeśli zbiór rozwiązań dopuszczalnych jest ograniczony, to tworzy on wielościan wypukły S. Wyrażenie z=cX określa w przestrzeni R n rodzinę równoległych hiperpłaszczyzn, prz czym wektor –c prostopadły do tych hiperpłaszczyzn wskazuje kierunek malenia funkcji z. Wychodząc z pewnej hiperpłaszczyzny należącej do tej rodziny i mającej wspólne punkty z wieloscianem S, przy przesuwaniu jej rónolegle w kierunku malenia z, można dojść do takiego jej położenia, że staje się ona hiperpłaszczyzną podpierającą. Jeśli ta hiperpłaszczyzna ma tylko jeden punkt wspólny ze zbiorem X 0 to punkt ten będzie punktem wierzchołkowym i zadanie PL ma jedyne rozwiązanie optymalne. x2x2 minimum Zbiór rozwiązań dopuszczalnych x1x1 -c-c -c-c -c-c x2x2 minimum Zbiór rozwiązań dopuszczalnych x1x1 -c-c -c-c -c-c

49 Interpretacja geometryczna zadania PL W przestrzeni wymagań R m zbiór wektorach P i, i=1,...,n generuje wypukły stożek wielościenny C. Jeśli wektor b (P 0 ) zawarty jest w tym stożku, to istnieje rozwiązanie dopuszczalne zadania PL. Przy założeniu, że rząd macierzy A jest równy m więc liniowo niezależnych wektorów P i jest tylko m, przy czym wektory te tworzą bazę w R m. Jeśli wektor b (P 0 ) należy do stożka rozpiętego na wektorach P i, i=1,...,m to rozwiązanie dopuszczalne jest rozwiązaniem bazowym jest ograniczony, b2b2 b1b1 P3P3 P2P2 P1P1 P0P0

50 Metoda sympleksów Rozwiązanie zadania PL metodą sympleksów polega na tym, że poczynając od określonego wierzchołka wielościanu wypukłego, będącego zbiorem rozwiązań dopuszczalnych, w kolejnych krokach wybieramy wierzchołki położone coraz bliżej wierzchołka optymalnego, tzn. odpowiadającemu optymalnemu bazowemu rozwiązaniu dopuszczalnemu. W metodzie sympleksów należy określić 1.Sposób przechodzenia z bazy do bazy 2.Kryterium zbieżności, kryterium zatrzymania procedury 3.Metodę wyznaczania początkowego bazowego rozwiązania dopuszczalnego 4.Sposób postępowania przy pojawieniu się zdegenerowanych rozwiązań bazowych

51 Metoda sympleks do rozwiązywania zadania PL W programowaniu liniowym szukamy optimum poruszając się po punktach ekstremalnych zbioru punktów dopuszczalnych Xo. W każdym punkcie ekstremalnym przynajmniej n-m zmiennych przyjmuje wartość zero. Reszta jest określona równaniem AX=b. Za pomocą metody sympleks przeszukujemy wierzchołki zbioru punktów dopuszczalnych w uporządkowany sposób, generując kolejne punkty x 1, x 2,...,x k. W każdym punkcie x k n-m zmiennych, które w punkcie x k mają wartości zerowe nazy- wamy zmiennymi niebazowymi (zbiór indeksów tych zmiennych oznaczymy N k ). Na- tomiast pozostałe m zmiennych nazywamy zmiennymi bazowym (zbór indeksów B k ). Wektor zmiennych oznaczamy X=[X B X N ] Odpowiednio macierz ograniczeń przyjmuje postać A=[A B A N ]

52 Macierz A B o wymiarze mxm nazywamy macierzą bazową, A N o wymiarze mx(n-m) macierzą niebazową. Macierz A B nie może być osobliwa. Dla zmiennych niebazowych Przyjmujemy wartość zero, a wartości zmiennych bazowych wybieramy tak, aby był spełniony układ pełnych ograniczeń liniowych. Wówczas równanie AX=b można zapisać Jeśli zmienne bazowe także przyjmują wartość zero wówczas mówimy o rozwiązaniu Zdegenerowanym. Punkt wierzchołkowy odpowiadający wybranej bazie ma następują- ce wartości współczynników

53 Kryterium optymalności bazowego rozwiązania dopuszczalnego Wartość funkcji celu w bazowym rozwiązaniu dopuszczalnym wyraża się wzorem Funkcję bazową wyrażoną za pomocą zmiennych niebazowych f(X N ) nazywamy funkcją zredukowaną. Jeśli wszystkie współczynniki w zredukowanej funkcji celu są większe lub równe zeru to rozwiązanie jest rozwiązaniem X k optymalnym. jest oznacza ceny zredukowane w bazowym rozwiązaniu dopuszczalny. Kryterium optymalności brzmi punkt X k jest optymalny, jeśli

54 Wektor zmiennych bazowych dla nowej zmiennej x q jest wyrażony wzorem Wektor a q oznacza kolumnę macierzy pełnych ograniczeń równościowych, odpowiadającą zmiennej x q, którą wprowadzamy do bazy. Jeśli d i <0 to zwiększenie x q zmniejsza wartość zmiennej bazowej x i Zmienna x i osiąga wartość 0 gdy Zatem indeks p zmiennej wyprowadzanej z bazy określa się jako Wybór zmiennej wprowadzanej do bazy Jeśli warunek nie jest spełniony to wybieramy nową zmienną x q, która wchodzi do bazy, przy czym ta zmienna jest wybierana na podstawie kryterium Wybór zmiennej wyprowadzanej z bazy

55 Tablicowa postać metody sympleks Wykorzystywane równania Organizacja danych

56 Dane: k=1 gdzie Wektor cen zredukowanych Sprawdzamy kryterium optymalności. Ponieważ jedna z cen nie jest dodatnia wyznaczony punkt nie jest optymalnym. Zmienna dla której wchodzi do nowej bazy. Jest to zmienna x 4.

57 W celu określenia zmiennej opuszczającej bazę sprawdzamy kryterium W naszym przypadku otrzymujemy min(0.5/3; -0.5/4) jest (-0.5/4) stąd zmienna x 2 opuszcza bazę k=2 Ponieważ wszystkie ceny zredukowane są dodatnie więc wyznaczony punkt jest punktem optymalnym.

58 podsumowanie c i - z i - wskaźniki optymalności. Dla zmiennych bazowych wskaźniki optymalności są zawsze równe zero Kryterium optymalności Rozwiązanie jest optymalne, jeżeli wartości wszystkich wskaźników optymalności są niedodatnie Kryterium wejścia do bazy Do bazy wchodzi zmienna, która ma największą wartość wskaźnika optymalności. Jeżeli największa wartość wskaźnika optymalności odpowiada więcej niż jednej zmiennej, wybieramy zmienną o najniższym indeksie. Kryterium wyjścia z bazy Obliczamy ilorazy wyrazów wolnych (kolumna b i ) przez elementy (tylko dodatnie) kolumny zmiennej wchodzącej do bazy. Bazę opuszcza ta zmienna, dla której obliczony iloraz jest najmniejszy. Jeżeli najmniejsza wartość ilorazu występuje dla więcej niż jednej zmiennej, to jako zmienną opuszczającą bazę można wybrać dowolną zmienną.

59 Metoda sympleksów - Przykład Standardowa postać zadania Znajdź wektor (x 1,...,x n ) który maksymalizuje kombinację liniową (funkcję celu) Przy ograniczeniach przy ograniczeniach n=5, m=3 Zminimalizować funkcję

60 cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi x3x3 0 x4x4 0 x5x5 0 Zj Cj-zj

61 cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi x3x x4x4 0 x5x5 0 Zj Cj-zj

62 cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi x3x x4x x5x5 0 Zj Cj-zj

63 cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi x3x x4x x5x zj=cbTxbzj=cbTxb 0*2+0* 1+0*4= c j-zj 2-0=23- 0 =3 000 Kryterium wejścia do bazy: max (c j - z j ); max(2,3,0,0,0)=3 zatem zmienna x 2 wchodzi do bazy wskaźnik optymalności

64 Kryterium wyjścia z bazy: min (b i /x2); min(7,4,-,)=4 zatem zmienna x 4 opuszcza bazę wskaźnik optymalności cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi b i/ x 2 x3x /2 =7 x4x /2= 4 x5x zj=cbTxbzj=cbTxb 0*2+0* 1+0*4= Cj-zj 2-0=23- 0 =3 000

65 Zatem zmienna x 2 wchodzi do bazy na miejsce zmiennej x 4. Teraz wektorami bazy są x 3, x 2, x 5. Dla nowych wektorów bazowych należy utworzyć macierz bazową Def.2a. Macierzą bazową B układu równań AX=b, rz(A)=m, n>m, nazywamy nieosobliwą macierz kwadratową o wymiarach mxm utworzoną z liniowo niezależnych kolumn a j macierzy A. W tym celu odejmujemy od pierwszego wiersza drugi i dzieląc drugi przez dwa otrzymujemy

66 Kryterium wejścia do bazy: max (c j - z j ); max(0.5,0,0,-1.5,0)=0.5 zatem zmienna x 1 wchodzi do bazy cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi b i/ x 2 x3x x2x2 3 1 / x5x zj=cbTxbzj=cbTxb Cj-zj

67 cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi b i/ x 2 x3x x2x2 3 1 / x5x zj=cbTxbzj=cbTxb Cj-zj /1=6 8 Kryterium wyjścia z bazy: min (b i /x2); min(6,8,4,)=4 zatem zmienna x 5 opuszcza bazę

68 cTxcTx23000 xbxb cbcb x1x1 x2x2 x3x3 x4x4 x5x5 bibi b i/ x 2 x3x /42 x2x /2-1/82 x1x /4 4 zj=cbTxbzj=cbTxb Cj-zj Zatem zmienna x 1 wchodzi do bazy na miejsce zmiennej x 5. Teraz wektorami bazy są x 3, x 2, x 1. Przeprowadzamy obliczenia (2w)*2, (1w)-(2w), (3w)/4 i (2w)-(3w), (1w)+(2w) i (2w)/ / /8 Ponieważ wszystkie wskaźniki optymalności są mniejsze bądź równe zero uzyskane rozwiązanie jest rozwiązaniem optymalnym, x 1 =4, x 2 =2, f(x 1, x 2 )=2* 4 +3* 2=14

69 Programowanie nieliniowe bez ograniczeń Minimum globalne Funkcja f(X) osiąga minimum globalne w punkcie jeśli dla każdego X należącego do zbioru rozwiązań dopuszczalnych S. Minimum lokalne Funkcja f(X) osiąga minimum lokalne w punkcie jeśli istnieje otwarte otoczenie U punktu, że f(x)f(x) x A B C D x A B C D f(x)f(x) x=b x=a E F

70 Gradient funkcji Definicja Jeżeli funkcja f(X) i jej wszystkie pierwsze pochodne są ciągłe na pewnym podzbiorze E n to dla każdego punktu w tym podzbiorze określamy n-elementowy wektor kolumnowy zwany gradientem f(X) w punkcie, jako jest wektorem prostopadłym do warstwicy f(X) przechodzącej wrzez X x2x2 x1x1 x2x2 f(x 1,x 2 )=const x3x3 x1x1 f(x 1,x 2,x 3 )=const f(x) x

71 Macierz Hessianu Definicja Jeżeli funkcja f(X) i jej wszystkie pierwsze i drugie pochodne są ciągłe na pewnym podzbiorze E n to dla każdego punktu w tym podzbiorze określamy nxn-elementową macierz zwaną macierzą Hessianu funkcji f(X) w punkcie, jako

72 Konieczne i wystarczające warunki optymalności Warunki jakie musi spełniać punkt optymalny nazywane są warunkami koniecznymi. Jeśli punkt nie spełnia tych warunków to nie jest punktem optymalnym. Spełnienie jednak tych warunków nie wystarcza do tego aby określić czy punkt jest optymalny. Punkt spełniający warunki konieczne jest punktem podejrzanym o to, że może być optymalny. Jeśli punkt spełniający warunki konieczne spełnia także warunki wystarczające wówczas Jest to punkt optymalny. Podsumowanie 1.Punkt optymalny musi spełniać warunki konieczne optymalności. Punkt, który nie s pełnia tych warunków nie może być punktem optymalnym. 2.Punkt spełniający warunki konieczne nie musi być optymalny np. punkty nieoptymalne mogą spełniać warunki konieczne 3.Punkt podejrzany o optimum i spełniający warunki wystarczające jest punktem optymalnym. 4.Jeżeli warunki wystarczające nie mogą być użyte lub nie są one spełnione to wówczas nie jesteśmy w stanie nic powiedzieć o optymalności punktu. Warunki optymalności są wykorzystywane w dwóch przypadkach: chcemy sprawdzić czy dany punkt projektowy może być punktem optymalnym warunków optymalności mogą być rozwiązane dla punktu, który może być optymalnym

73 Procedura określania warunków optymalności punktu spełniającego minimum lokalne funkcji f jednej zmiennej Warunki optymalności są używane do określania punktu minimum funkcji f(x) Warunki konieczne optymalności muszą być spełnione w punkcie minimum funkcji, w przeciwnym wypadku punkt ten nie może być punktem minimum. Niech będzie punktem lokalnego minimum funkcji f(x). Niech X będzie bliskim sąsiadem punku. Zdefiniujmy przyrost d zmiennej i wartości funkcji, oraz jej wartość w punkcie d warunek optymalności Jeżeli jest punktem minimum to zaburzając położenie nie zwiększamy wartości funkcji

74 Warunek konieczny optymalności pierwszego rzędu Rozwińmy w szereg Taylora funkcję f(x) w punkcie Pomijając wyrazy wyższego rzędu otrzymujemy Z warunku otrzymujemy Ponieważ d morze być zarówno dodatnie jak i ujemne więc aby był zawsze spełniony powyższy warunek pochodna funkcji musi być równa zero, co zapisujemy wówczas jest punktem minimum funkcji f.

75 Warunek wystarczający optymalności Punkt podejrzany o ekstremum musi spełniać konieczne warunki optymalności Podstawiając do szeregu Taylora otrzymujemy Z warunku otrzymujemy Warunek konieczny optymalności drugiego rzędu Jeśli wówczas nie możemy założyć, że punkt nie jest punktem minimum. Należy sprawdzić warunekjest to warunek konieczny drugiego rzędu. Jeśli punkt nie może być lokalnym minimum. W przypadku gdy należy sprawdzić jak zachowują się pochodne wyższych rzędów. Wartość nieparzystej pochodnej mówi nam czy są spełnione warunki konieczne optymalności, znak parzystej pochodnej mówi nam czy są spełnione warunki wystarczające i czy punkt wyznacza minimum funkcji.

76 Przykład 1. Określenie punktu minimum przy użyciu warunków koniecznych warunek konieczny warunek wystarczający Zatem x=2 jest minimum lokalnym funkcji f a jej wartość w tym punkcie wynosi 0. Przykład 2. Określenie punktu minimum przy użyciu warunków koniecznych warunek konieczny B A warunek wystarczający Punkt B jest lokalnym maksimum, zaś punkt A lokalnym minimum

77 Przykład 3. Określenie punktu minimum przy użyciu warunków koniecznych warunek konieczny warunek wystarczający Ponieważ druga pochodna funkcji f w punkcie x=0 jest równa zero należy zbadać znak trzeciej pochodnej Należy zatem policzyć kolejną pochodną Zatem punkt x=0 jest punktem lokalnego a także globalnego minimum.

78 Warunki optymalności dla funkcji wielu zmiennych f(X) Rozwińmy w szereg Taylora funkcję f(X) w punkcie (*) Załóżmy, że funkcja osiąga minimum w punkcie wtedy przyrost funkcji musi zatem spełniać warunek (**) Pomijając wyrażenia wyższego rzędu zauważamy, że warunek (**) dla dowolnego d jest spełniony gdy (***)(warunek konieczny I rzędu) Punkt spełniający warunek (***) jest nazywany punktem stacjonarności. Podstawiając (***) do wzoru (*) i uwzględniają (**) otrzymujemy dla dowolnego (****) (warunek konieczny II rzędu) Warunek (****) jest spełniony jeżeli macierz H jest dodatnio określona

79 Określanie formy macierzy Forma kwadratowa macierzy A wyrażona wzorem może być dodatnio określona, gdy dodatnio półokreślona, gdy niedodatnio określona, gdy dla każdego niedodatnio półokreślona, gdy nieokreślona, gdy Forma kwadratowa np.

80 Przykład 1. Określenie punktu minimum przy użyciu warunków koniecznych warunek konieczny Dla wszystkich X z wyjątkiem X=0 wyrażenie X T HX jest dodatnio określone warunek wystarczający x2x2 x1x X(2.5,-1.5) F(2.5,-1.5)=4.75

81 Metody numeryczne rozwiązywania zadań minimalizacji bez ograniczeń Powody dla których korzysta się z metod numerycznych przy rozwiązywaniu zadania optymalizacji: Zadanie optymalizacji posiada wiele zmiennych decyzyjnych Funkcja celu może cechować się nieliniowością wysokiego rzędu Funkcja celu może nie zależeć w sposób jawny od zmiennych decyzyjnych Optymalizacja bez ograniczeń Problem jednowymiarowy Znaleźć skalar *, które minimalizuje funkcję f( ) Problem wielowymiarowy Znaleźć punkt x*, który minimalizuje funkcję f(x)

82 Główne zasady działania algorytmu numerycznego Ogólny algorytm działania metod k numer iteracji d (k) dopuszczalny kierunek poszukiwań długość kroku Rozwiązywanie zadania optymalizacji przy użyciu metod numerycznych polega na przemierzaniu obszaru rozwiązań dopuszczalnych w poszukiwaniu ekstremum funkcji celu według iteracyjnego schematu wektor x (k+1)= x (k) + x (k),k=0,1,2,... składowe x i (k+1)= x i (k) + x i (k),k=0,1,2,...i=1 do n gdzie x (k) = k d (k) A B C x (k-1) x (k) x (k+1) d (k)

83 Procedury algorytmu numerycznego Krok 1. Wybór punktu startowego x (0). Iteracja początkowa k=0. Krok 2. Obliczenie kierunku poszukiwań d (k) w przestrzeni projektowej. Ten krok wymaga znajomości wartości funkcji celu i jej gradientów, oraz ewentualnie gradientów funkcji ograniczeń przy optymalizacji z ograniczeniami. Krok 3. Sprawdzenie zbieżności algorytmu. Jeśli kryterium zbieżności jest spełnione kończymy proces, w przeciwnym wypadku przechodzimy do dalszych kroków. Krok 4. Wyznaczenie długości kroku k. Krok 5. Obliczenie nowego punktu projektowego jako x (k+1)= x (k) + k d (k), teraz k=k+1 i powracamy do kroku 2.

84 Idea Procedury Iteracyjnej Załóżmy, że minimalizujemy funkcję f(x). Załóżmy, że w k-tej iteracji punkt x (k) nie jest punktem minimalnym. Nie są bowiem spełnione kryteria optymalności dla tego punktu. Jeśli x (k) nie jest punktem optymalnym należy znaleźć inny punkt x (k+1) dla którego wartość funkcji będzie malała, co można zapisać f(x (k+1) )0(**) Ponieważ możemy określić gradient funkcji celu zatem kierunek poszukiwań d (k) musi być dobrany tak aby spełniony był warunek (**)

85 Kierunek d (k) jest dopuszczalnym kierunkiem poprawy gdy iloczyn skalarny wektora d (k) i wektora gradientów funkcji celu jest mniejszy od zera. Tzn. wektor d (k) należy do stożka dopuszczalnych kierunków. Kąt pomiędzy d (k) i musi Się zawierać pomiędzy 90 a 270 stopni. x2x2 x1x stożek dopuszczalnych kierunków poprawy B

86 Problem określania długości kroku Załóżmy, że funkcja f(x (k) + k d (k) ) jest funkcją zmiennej tj. f=f( ). Gdy =0, f(0)= f(x (k) ). Gdy x (k) nie jest punktem minimum, wówczas można znaleźć dopuszczalny kierunek poprawy d (k). Małe zmiany funkcji wzdłuż tego kierunku zmniejszają wartości funkcji. Wykorzystując zależność (*) otrzymujemy f( )

87 Analityczne metody określania długości kroku Jeśli d (k) jest kierunkiem dopuszczalnym, wówczas musi być zawsze dodatnie aby był spełniony warunek Dla problemu jednowymiarowego należy określić = k takie aby f( ) osiągała minimum. Jeżeli f( ) jest funkcją prostą można wykorzystać warunki konieczne i dostateczne optymalności do wyznaczenia. Przy czym warunek konieczny jest zdefiniowany w postaci (*) zaś warunek wystarczający przyjmuje postać Licząc i podstawiając do otrzymujemy

88 Przykład w punkcie (1,2) i kierunku (-1,-1) określić długość kroku minimalizującą funkcję f(x) na danym kierunku. Dla punktu x (k) =(1,2), f(x (k) )=f(1,2)= =22, oraz d (k) =(-1,-1). Najpierw sprawdzamy, czy kierunek d (k) jest kierunkiem dopuszczalnym. W tym celu liczymy Gradient Z zależności zatem d (k) jest kierunkiem dopuszczalnym. Obliczamy następnie nową wartość zmiennej x (k+1)= x (k) + k d (k), Stąd x 1 (k+1)= 1 + k (-1), oraz x 2 (k+1)= 2 + k (-1). Podstawiając otrzymujemy

89 f( ) k f(0)=22 Warunek konieczny Warunek dostateczny Zatem nowy punkt projektowy

90 Numeryczne metody określania długości kroku Metoda równego połowienia f( ) q (q-1) (q+1) Jeśli wartość funkcji w punkcie q jest większa niż w punkcie (q+1) punkt optymalny jeszcze nie został osiągnięty Jeśli wartość funkcji w punkcie q jest mniejsza niż w punkcie (q+1) punkt optymalny został przekroczony. Aby wyznaczyć punkt optymalny można wykorzystać metodę złotego podziału rozważając przedział od q do (q+1)

91 Metoda złotego podziału dla zadania jednowymiarowego Niech punkt znajduje się w odległości od punktu Po podstawieniu otrzymujemy równanie którego rozwiązaniem są pierwiastki Kolejne rozważane punktu określane są ze wzoru

92 Algorytm metody złotego podziału dla zadania jednowymiarowego Obliczamy f( a ) i f( b ) Krok 1 Dla wybranego małego kroku spełniającego warunki f( ) (q-1) q (q-2) określamy Krok 2 Krok 3 Jeśli f( a ) < f( b ) wtedy punkt optymalny jest pomiędzy przyjmujemy obliczamy Sprawdzamy kryteria zbieżności. Jeśli nie są spełnione powracamy do punktu 3.

93 Interpolacja kwadratowa funkcji lub Jeśli mamy zadane trzy punkty l, u i pośrednią zawartą pomiędzy nimi i oraz znamy wartości funkcji w tych punktach f( l ), f( u ), f( i ), to rozważaną krzywą możemy aproksymować parabolą o równaniu f( ) (q-1) q (q-2) Położenie ekstremum paraboli q określamy z warunku Po rozwiązaniu układu równań otrzymujemy minimum gdy

94 Określanie minimum za pomocą Interpolacji kwadratowej-przykład Dane Współczynniki paraboli wynoszą kolejno

95 Określanie minimum za pomocą Interpolacji kwadratowej-przykład Następnie określamy ekstremum paraboli Wartość funkcji w punkcie jest równa Zauważamy, że Ponieważ należy przyjąć inny przedział poszukiwania ekstremum jako równy

96 Określanie minimum za pomocą Interpolacji kwadratowej-przykład Przechodzimy do drugiej iteracji Aktualizujemy współczynniki paraboli oraz punkt ekstremum i wartość funkcji w tym punkcie

97 Metody gradientowe-optymalizacja w kierunku największego spadku Niech f(x) będzie różniczkowalne względem x. Kierunek spadku wartości funkcji dla Dowolnego punktu jest okreslony Algorytm optymalizacji w kierunku realizowany jest w następujących krokach Określenie punktu startowego x (o), ustalenie parametrów zbieżności >0. Obliczenie gradientu funkcji f(x) w punkcie x (k) jako Obliczenie. Jeśli przerwij proces iteracyjny i przyjmij, że x*=x (k) jest punktem optymalnym. W przeciwnym wypadku przejdź do punktu Określ kierunek poszukiwań w punkcie x (k) optimum jako 4.Oblicz długość kroku k poprzez minimalizację wyrażenia 5.Uaktualnij wartości zmiennych decyzyjnych wg. Wzoru Przyjmij k=k+1 i powróć do punktu 2.

98 Metody gradientowe-optymalizacja w kierunku największego spadku Kierunek największego spadku jest prostopadły do gradientu funkcji Długość kroku określamy z warunku Otrzymujemy zatem gdzie

99 Optymalizacja w kierunku największego spadku-przykład znajdź Przyjmując, że punkt startowy ma współrzędne (1,0) 1.Określenie punktu startowego x (o) =(1,0) ustalenie parametrów zbieżności >0. 2.Obliczenie gradientu funkcji f(x) w punkcie x (k) jako Obliczamy 3. Określamy kierunek poszukiwań w punkcie x (k) optimum jako 4.Obliczamy długość kroku k poprzez minimalizację wyrażenia 5.Uaktualnij wartości zmiennych decyzyjnych wg. Wzoru Przyjmij k=k+1 i powróć do punktu 2.

100


Pobierz ppt "Programowanie matematyczne Programowanie Liniowe funkcja celu i funkcje ograniczeń są liniowe Programowanie Nieliniowe funkcja celu i/lub funkcje ograniczeń"

Podobne prezentacje


Reklamy Google