Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie matematyczne

Podobne prezentacje


Prezentacja na temat: "Programowanie matematyczne"— 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 diagonalna Macierz jednostkowa Macierz trójkątna górna Macierz A jest symetryczna gdy A=AT tzn. aij=aij Macierz A jest skośnosymetryczna gdy aij=-aij

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

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

9 wyznacznik macierzy Jeśli macierz posiada kolumnę lub wiersz złożony z samych zer to Wartość wyznacznika nie zmienia się jeśli zmienimy ze sobą kolumny lub wiersze Jeśli B powstaje przez zamianę dwóch kolumn lub wierszy to Jeśli dwie kolumny lub wiersze macierzy B są równe to Pomnożenie elementów wiersza lub kolumny przez k jest równoznaczne z pomnożeniem wyznacznika przez k 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 Dij elementu aij jest wyznacznikiem otrzymanym z macierzy kwadratowej przez wykreślenie i-tego wiersza i j-tej kolumny Dopełnienie algebraiczne Aij elementu aij jest równe (-1)i+j Dij. Macierzą dołączoną macierzy A o wymiarach nxn jest macierz J=[Aij] 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 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 Własności wektorów w dwuwymiarowej przestrzeni euklidesowej E2
(0,0) u1 u2 (u1 ,u2) u Mnożenie wektorów przez skalar - własności u au u -au Prawo łączności Prawo rozdzielności

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

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

15 a2U2=[0 a2]T a1U1+ a2U2 =[a1 a2]T U2=[0 1]T a1U1=[a1 0]T U1=[1 0]T
Zbiór wektorów U1,U2, U3,...,Un nazywamy liniowo niezależnym, gdy dla wszystkich liczb a1, a2,...,an równość pociąga np. W przeciwnym razie zbiór jest liniowo zależny a2U2=[0 a2]T a1U1+ a2U2 =[a1 a2]T U2=[0 1]T a1U1=[a1 0]T U1=[1 0]T

16 n – wymiarowa przestrzeń euklidesowa En, jest zbiorem obiektów zwanych
wektorami, które posiadają własności opisane poprzednio; w przestrzeni En istnieje układ n niezależnych wektorów, ale każde n+1 wektorów w jest układem liniowo zależnym. Bazą w En 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 U1,U2, U3,...,Un nazywamy punkt U=a1U1+a2U2+... anUn gdzie ai są skalarami spełniającymi warunki i Podzbiór C w En jest wypukły wtedy i tylko wtedy, gdy dla każdej pary U1,U2 w C każda kombinacja wypukła U=a1U1+a2U2 lub gdy a1=1- a2 U= (1- a2)U1+a2U2 , również należy do C.

17 U U U-V W U-V W (W-V) V V -V -V Twierdzenie 1
Dowolny punkt leżący na odcinku łączącym dwa punkty w En 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. U V (W-V) -V W U-V U V a2(U-V) -V W U-V Ponieważ kombinacja liniowa jest wypukła gdy spełnia warunek W= (1- a2)V+a2U dla każdego przy Więc dla mamy W =V+a2(U-V) Zatem wektor W jest kombinacją wypukłą V i U.

18 Twierdzenie 2 (odwrotne)
Dowolny punkt, który może być wyrażony jako kombinacja wypukła dwóch punktów w En , 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. W U V C 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, a2 U także należy do S, gdzie a2 jest liczbą nieujemną. 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ż a2 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 E0 sympleksem jest punkt, w E1 prosta, zaś w E2 trójkąt. S

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

21 Obszar dopuszczalnych
Układ nierówności można zamienić na układ równości poprzez odjęcie (dodanie) zmiennej osłabiającej takiej, że wówczas x2 Obszar dopuszczalnych rozwiązań s2 x1>0 x1 x1 -s2=0 x1 =0

22 Twierdzenie Kroneckera-Capelli
Układ równań liniowych (*) ma rozwiązanie wtedy i tylko wtedy, gdy rząd macierzy rozszerzonej jest równy macierzy A, tj. 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<m, istnieje jedno rozwiązanie (*), lecz (m-n) równań jest zbędnych (redukcja) rz(A)=m<n, istnieje nieskończenie wiele rozwiązań układu (*), układ jest nieoznaczony Przykład. Obliczyć rząd macierzy

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

24 Metoda Eliminacji Gaussa
Definiujemy n-1 czynników Mnożymy pierwsze równanie przez m21 a następnie odejmujemy je od równania drugiego. Następnie mnożymy pierwsze równanie przez m31 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 (
Mnożymy drugie równanie układu (**) przez mi2 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ą xn. Podstawienie jej do równania otrzymanego wcześniej prowadzi do wyrażenia na zmienną xn-1, tzn. w ogólnym przypadku

26 Metoda Eliminacji Gaussa - przykład
Definiujemy n-1 czynników Mnożymy pierwsze równanie przez m21 a następnie odejmujemy je od równania drugiego. Następnie mnożymy pierwsze równanie przez m31 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ą xn. Podstawienie jej do równania otrzymanego wcześniej prowadzi do wyrażenia na zmienną xn-1, tzn. w ogólnym przypadku

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

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

30 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 Podstawmy wartości wektora P1 do macierzy A otrzymujemy . 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 P1, P2i P3 są linowo niezależne.

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

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

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

34 Sprowadzenie ogólnych zadań programowania liniowego
do postaci standardowej Pełne ograniczenie nierównościowe typu ograniczenie sprowadzamy do postaci równościowej przez dodanie zmiennej dopełniającej s>0 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 Obszar dopuszczalnych
Podstawowe definicje Def.1. Rozwiązaniem dopuszczalnym zagadnienia PL jest wektor X= (x1,...,xn) spełniający warunki (1.2) i (1.3). a) d) Obszar dopuszczalnych rozwiązań a) b) c) d) (2,1) C (1,0) b) (0,1) c) 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 aj macierzy A.

36 Def.2a. Rozwiązaniem bazowym układu równań AX=b , rz(A)=m, n>m, nazywamy
wektor XB=B-1b utworzony ze zmiennych odpowiadających kolumnom aj macierzy bazowej B. Składowe wektora XB 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 Bi, 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 -x1+2x2=8 B A C x1+x2=10 D 2x1+x2=16
(0,6) (0,4) (6,0) x2 x1+x2=10 -x1+2x2=8 2x1+x2=16 A B C D Zbiór rozwiązań dopuszczalnych x1 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.

40 Rząd macierzy A jest równy 4, zatem macierze bazowe Bi utworzone będą z 4 kolumn
macierzy A, a każde niezdegenerowane dopuszczalne rozwiązanie bazowe powinno zawierać 4 zmienne bazowe niezerowe. 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 X1 i X2. Mamy zatem A X1=b dla i A X2=b dla Dla niech będzie wypukłą kombinacja liniową wektorów X1 i X2. Zauważmy, że wszystkie elementy wektora X są nieujemne, tj. . Zatem X jest rozwiązaniem dopuszczalnym ponieważ X1 C X2 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. x1 x2 X1 X2 X3 X4 X5 X6 Xo K Xo minimalne rozwiązanie dopuszczalne Xp punkty wierzchołkowe, p=1,..,6 f(X) funkcja celu warunek minimalizacji dla każdego K Załóżmy, że Xo nie jest punktem wierzchołkowym (patrz rys.) wtedy Xo 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 P1, P2,
Twierdzenie.3. Jeśli można znaleźć wektorów P1, P2,..., Pk 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 X1 i X2 ze zbioru K co zapisujemy Ponieważ wszystkie elementy wektora X są nieujemne i wektory X1 i X2 przyjmują postać Ponieważ X1 i X2 są rozwiązaniami dopuszczalnymi zatem A X1=b i A X2=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 X1 i X2 i musi być punktem wierzchołkowym

46 Twierdzenie.4. Jeśli jest punktem wierzchołkowym zbioru K, to wektory odpowiadające dodatnim xi tworzą zbiór liniowo niezależny. Dodatnich xi 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 P1, P2,..., Pn . Twierdzenie.5. Punkt jest punktem wierzchołkowym zbioru K, wtedy i tylko wtedy, gdy w kombinacji linowej wektorów niezależnych Pj Współczynniki xj są dodatnie Wnioski Istnieje punkt wierzchołkowy zbioru K, w którym funkcja celu przyjmuje minimum Każde bazowe rozwiązanie dopuszczalne jest punktem wierzchołkowym zbioru K 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 Hiperpłaszczyzną nazywamy obiekt określony jednym warunkiem liniowym w En

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 Rn 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 X0 to punkt ten będzie punktem wierzchołkowym i zadanie PL ma jedyne rozwiązanie optymalne. x2 minimum Zbiór rozwiązań dopuszczalnych x1 -c x2 -c minimum -c -c Zbiór rozwiązań dopuszczalnych x1

49 Interpretacja geometryczna zadania PL
W przestrzeni wymagań Rm zbiór wektorach Pi, i=1,...,n generuje wypukły stożek wielościenny C. Jeśli wektor b (P0) 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 Pi jest tylko m, przy czym wektory te tworzą bazę w Rm. Jeśli wektor b (P0) należy do stożka rozpiętego na wektorach Pi, i=1,...,m to rozwiązanie dopuszczalne jest rozwiązaniem bazowym jest ograniczony, P3 P2 b2 P0 P1 b1

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ć Sposób przechodzenia z bazy do bazy Kryterium zbieżności, kryterium zatrzymania procedury Metodę wyznaczania początkowego bazowego rozwiązania dopuszczalnego 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 x1, x2, ... ,xk. W każdym punkcie xk n-m zmiennych, które w punkcie xk mają wartości zerowe nazy- wamy zmiennymi niebazowymi (zbiór indeksów tych zmiennych oznaczymy Nk). Na- tomiast pozostałe m zmiennych nazywamy zmiennymi bazowym (zbór indeksów Bk). Wektor zmiennych oznaczamy X=[XB XN] Odpowiednio macierz ograniczeń przyjmuje postać A=[AB AN]

52 Macierz AB o wymiarze mxm nazywamy macierzą bazową, AN o wymiarze mx(n-m)
macierzą niebazową. Macierz AB 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(XN) 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 Xk optymalnym. jest oznacza ceny zredukowane w bazowym rozwiązaniu dopuszczalny. Kryterium optymalności brzmi punkt Xk jest optymalny, jeśli

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

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 x4.

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 x2 opuszcza bazę k=2 Ponieważ wszystkie ceny zredukowane są dodatnie więc wyznaczony punkt jest punktem optymalnym.

58 podsumowanie ci- zi - 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 bi) 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
Znajdź wektor (x1,...,xn) który maksymalizuje kombinację liniową (funkcję celu) Przy ograniczeniach Standardowa postać zadania Zminimalizować funkcję przy ograniczeniach n=5, m=3

60 cTx 2 3 xb cb x1 x2 x3 x4 x5 bi Zj Cj-zj

61 cTx 2 3 xb cb x1 x2 x3 x4 x5 bi 1 14 Zj Cj-zj

62 cTx 2 3 xb cb x1 x2 x3 x4 x5 bi 1 14 8 Zj Cj-zj

63 Kryterium wejścia do bazy: max (cj- zj); max(2,3,0,0,0)=3
cTx 2 3 xb cb x1 x2 x3 x4 x5 bi 1 14 8 4 16 zj= cbTxb 0*2+0*1+0*4=0 cj-zj 2-0=2 3-0=3 wskaźnik optymalności Kryterium wejścia do bazy: max (cj- zj); max(2,3,0,0,0)=3 zatem zmienna x2 wchodzi do bazy

64 Kryterium wyjścia z bazy: min (bi/x2); min(7,4,-,)=4
cTx 2 3 xb cb x1 x2 x3 x4 x5 bi bi/x2 1 14 14/2=7 8 8/2=4 4 16 - zj= cbTxb 0*2+0*1+0*4=0 Cj-zj 2-0=2 3-0=3 wskaźnik optymalności Kryterium wyjścia z bazy: min (bi/x2); min(7,4,-,)=4 zatem zmienna x4 opuszcza bazę

65 Zatem zmienna x2wchodzi do bazy na miejsce zmiennej x4
Zatem zmienna x2wchodzi do bazy na miejsce zmiennej x4. Teraz wektorami bazy są x3 , x2 , x5. 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 aj macierzy A. W tym celu odejmujemy od pierwszego wiersza drugi i dzieląc drugi przez dwa otrzymujemy

66 Kryterium wejścia do bazy: max (cj- zj); max(0.5,0,0,-1.5,0)=0.5
cTx 2 3 xb cb x1 x2 x3 x4 x5 bi bi/x2 1 -1 6 1/2 4 16 zj= cbTxb Cj-zj 1.5 0.5 -1.5 Kryterium wejścia do bazy: max (cj- zj); max(0.5,0,0,-1.5,0)=0.5 zatem zmienna x1 wchodzi do bazy

67 Kryterium wyjścia z bazy: min (bi/x2); min(6,8,4,)=4
cTx 2 3 xb cb x1 x2 x3 x4 x5 bi bi/x2 1 -1 6 1/2 4 16 zj= cbTxb Cj-zj 6/1=6 8 1.5 3 1.5 0.5 -1.5 Kryterium wyjścia z bazy: min (bi/x2); min(6,8,4,)=4 zatem zmienna x5 opuszcza bazę

68 Zatem zmienna x1wchodzi do bazy na miejsce zmiennej x5
Zatem zmienna x1wchodzi do bazy na miejsce zmiennej x5. Teraz wektorami bazy są x3, x2 , x1. Przeprowadzamy obliczenia (2w)*2, (1w)-(2w), (3w)/4 i (2w)-(3w), (1w)+(2w) i (2w)/2 cTx 2 3 xb cb x1 x2 x3 x4 x5 bi bi/x2 1 -1 -1/4 1/2 -1/8 1/4 4 zj= cbTxb Cj-zj 2 3 1.5 1/8 -1.5 -1/8 Ponieważ wszystkie wskaźniki optymalności są mniejsze bądź równe zero uzyskane rozwiązanie jest rozwiązaniem optymalnym, x1=4, x2=2, f(x1, x2 )=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) C C E A A x=a x x x=b F B B D D

70 Gradient funkcji Definicja Jeżeli funkcja f(X) i jej wszystkie pierwsze pochodne są ciągłe na pewnym podzbiorze En 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 x1 x2 f(x1,x2)=const f(x) x x3 x1 f(x1,x2,x3)=const x2

71 Macierz Hessianu Definicja Jeżeli funkcja f(X) i jej wszystkie pierwsze i drugie pochodne są ciągłe na pewnym podzbiorze En 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 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. Punkt spełniający warunki konieczne nie musi być optymalny np. punkty nieoptymalne mogą spełniać warunki konieczne Punkt podejrzany o optimum i spełniający warunki wystarczające jest punktem optymalnym. 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 warunek optymalności Jeżeli jest punktem minimum to zaburzając położenie nie zwiększamy wartości funkcji d

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ć warunek jest 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
2 4 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 1 2 5 -2 B A warunek konieczny 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 Forma kwadratowa np. 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

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

81 Optymalizacja bez ograniczeń
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 a* , które minimalizuje funkcję f(a) 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) +Dx(k) , k=0,1,2,... składowe xi(k+1)= xi (k) +Dxi (k) , k=0,1,2,... i=1 do n gdzie Dx(k) = akd(k) A B C x(k-1) x(k) x(k+1) ad(k) 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 ak. Krok 5. Obliczenie nowego punktu projektowego jako x(k+1)= x(k) + ak 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) )<f(x(k)) Jeśli do powyższego wyrażenia wprowadzimy zależność określającą x(k+1) otrzymujemy f(x(k)+ ak d(k) )<f(x(k)) (*) Rozwijając w szereg Taylora funkcję f(x(k)+ ak d(k) ) względem punktu x(k) otrzymujemy pomijając człony wyższego rzędu i podstawiając do powyższej nierówności (*) otrzymujemy dla ak >0 (**) Ponieważ możemy określić gradient funkcji celu zatem kierunek poszukiwań d(k) musi być dobrany tak aby spełniony był warunek (**)

85 x2 x1 10.0 8.0 6.0 5.0 stożek dopuszczalnych kierunków poprawy B 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.

86 Problem określania długości kroku
Załóżmy, że funkcja f(x(k)+ ak d(k) ) jest funkcją zmiennej a tj. f=f(a). Gdy a=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(a)<f(0) Aby spełnić powyższy warunek f(a) musi mieć ujemne nachylenie w punkcie a=0. Malejąco rosnący charakter funkcji f(a) wynika z faktu, że a musi być dodatnie. a f(a) ak

87 Analityczne metody określania długości kroku
Jeśli d(k) jest kierunkiem dopuszczalnym, wówczas a musi być zawsze dodatnie aby był spełniony warunek Dla problemu jednowymiarowego należy określić a= ak takie aby f(a) osiągała minimum. Jeżeli f(a) jest funkcją prostą można wykorzystać warunki konieczne i dostateczne optymalności do wyznaczenia a. 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 a 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) + ak d(k) , Stąd x1(k+1)= 1 + ak (-1), oraz x2(k+1)= 2 + ak (-1). Podstawiając otrzymujemy

89 f(a) a ak 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(a) a a* d 2d qd (q-1)d (q+1)d 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 qd do (q+1) d

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
Krok 1 f(a) Dla wybranego małego kroku d spełniającego warunki określamy a* a (q-2)d (q-1)d qd Krok 2 Obliczamy f(aa) i f(ab) Krok 3 Jeśli f(aa) < f(ab) 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
Jeśli mamy zadane trzy punkty al, au i pośrednią zawartą pomiędzy nimi ai oraz znamy wartości funkcji w tych punktach f(al), f(au), f(ai), to rozważaną krzywą możemy aproksymować parabolą o równaniu f(a) a a* (q-1)d qd (q-2)d lub Po rozwiązaniu układu równań otrzymujemy Położenie ekstremum paraboli q określamy z warunku 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 e>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 3. 3. Określ kierunek poszukiwań w punkcie x(k) optimum jako Oblicz długość kroku ak poprzez minimalizację wyrażenia 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) Określenie punktu startowego x(o)=(1,0) ustalenie parametrów zbieżności e>0. Obliczenie gradientu funkcji f(x) w punkcie x(k) jako Obliczamy 3. Określamy kierunek poszukiwań w punkcie x(k) optimum jako Obliczamy długość kroku ak poprzez minimalizację wyrażenia Uaktualnij wartości zmiennych decyzyjnych wg. Wzoru Przyjmij k=k+1 i powróć do punktu 2.

100


Pobierz ppt "Programowanie matematyczne"

Podobne prezentacje


Reklamy Google