d) Definiowanie macierzy z wykorzystaniem funkcji systemu Matlak

Podobne dokumenty
Przegląd metod optymalizacji numerycznej. Krzysztof Malczewski

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

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

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

OBLICZENIA OPTYMALIZACYJNE W MATLABIE. WEiTI PW

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Metody i analiza danych

maj 2014 Politechnika Gdańska Wydział Oceanotechniki i Okrętownictwa St. II stop., sem. I

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Algebra macierzy

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Wprowadzenie do Scilab: macierze

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Laboratorium Metod Optymalizacji

MATLAB - laboratorium nr 1 wektory i macierze

Wprowadzenie do środowiska

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

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

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie do Scilab: macierze

Zad. 3: Układ równań liniowych

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Matematyka II nazwa przedmiotu SYLABUS A. Informacje ogólne

Matlab - zastosowania Matlab - applications. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Podstawowe operacje na macierzach

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

Matlab Składnia + podstawy programowania

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

SZTUCZNA INTELIGENCJA

Laboratorium: sprawdzian MATLAB

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

PRZEWODNIK PO PRZEDMIOCIE

Egzamin / zaliczenie na ocenę*

Laboratorium nr 3. Projektowanie układów automatyki z wykorzystaniem Matlaba i Simulinka

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

2.1. Postać algebraiczna liczb zespolonych Postać trygonometryczna liczb zespolonych... 26

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie do Scilab: macierze

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

Metody numeryczne Laboratorium 2

Funkcje analityczne. Wykład 3. Funkcje holomorficzne. Paweł Mleczko. Funkcje analityczne (rok akademicki 2016/2017) z = x + iy A

Podstawy MATLABA, cd.

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni 30 30

Metody systemowe i decyzyjne w informatyce

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

MATLAB tworzenie własnych funkcji

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Macierze. Rozdział Działania na macierzach

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Metody optymalizacji - wprowadzenie do SciLab a

Matematyka liczby zespolone. Wykład 1

Wprowadzenie do Mathcada 1

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Obliczenia w programie MATLAB

Optymalizacja systemów

Metody Optymalizacji Laboratorium nr 4 Metoda najmniejszych kwadratów

OPIS MODUŁ KSZTAŁCENIA (SYLABUS)

GEODEZJA I KARTOGRAFIA I stopień (I stopień / II stopień) Ogólnoakademicki (ogólnoakademicki / praktyczny)

Z-ID-103 Algebra liniowa Linear Algebra

φ(x 1,..., x n ) = a i x 2 i +

WYDZIAŁ MECHANICZNO-ENERGETYCZNY KARTA PRZEDMIOTU

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

1. Liczby zespolone i


Projekt Informatyka przepustką do kariery współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

A A A A A A A A A n n

Geodezja i Kartografia I stopień (I stopień / II stopień) Ogólnoakademicki (ogólnoakademicki / praktyczny) Stacjonarne (stacjonarne / niestacjonarne)

Metody systemowe i decyzyjne w informatyce

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.2 Formuły i funkcje macierzowe, obliczenia na liczbach zespolonych, wykonywanie i formatowanie wykresów.

ARKUSZ KALKULACYJNY MICROSOFT EXCEL

Zadania egzaminacyjne

INFORMATYKA TECHNICZNA Komputerowe Wspomaganie Obliczeń Wykład 3. Komputerowe wspomaganie obliczeń w programie Mathcad. dr inż.

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

Elementy metod numerycznych - zajęcia 9

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Zaawansowane metody numeryczne

18. Obliczyć. 9. Obliczyć iloczyn macierzy i. 10. Transponować macierz. 11. Transponować macierz. A następnie podać wymiar powstałej macierzy.

1 Macierze i wyznaczniki

Równania nieliniowe, nieliniowe układy równań, optymalizacja

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

OPTYMALIZACJA W ŚRODOWISKU MATLAB. Cel ćwiczeń Celem ćwiczeń jest zaznajomienie studentów z podstawową obsługą środowiska obliczeń inżynierskich Matlab oraz zapoznanie się z możliwościami przeprowadzenia procesu optymalizacji w tym środowisku. Po ukończeniu tych zajęć student powinien umieć samodzielnie utworzyć plik funkcyjny zawierający funkcję celu, zdefiniować ograniczenia oraz uruchomić procedurę optymalizacji.. MATLAB podstawowe operacje a) Definiowanie macierzy i wektorów X=[ 3 8] przez podanie kolejnych elementów, X=[:7] przez podanie zakresu, X=[::3] przez podanie zakresu oraz skoku, X=[ 3 8; 4 5 6; 3 8] podawanie elementów, X=[-5:; :7; ::3] operowanie zakresem i skokiem b) Odwołania do elementów macierzy i wektorów X(,) odwołanie do jednego elementu, X(:,4:7) odwołanie zakresowe, X(:,::7) odwołanie zakresowe ze skokiem c) Składanie macierzy i wektorów A=[:4, 4:7], B=[::8, 0:0:40], C=[A;B] składanie w pionie, C=[A,B] składanie w poziomie, C=[A,B;B,A] składanie mieszane d) Definiowanie macierzy z wykorzystaniem funkcji systemu Matlak X=eye(5) macierz jednostkowa 5x5, X=ones(5) macierz jedynkowa 5x5, X=zeros(5) - macierz zerowa 5x5, X=rand(5) - macierz losowa 5x5, X=randn(5) - macierz losowa o rozkładzie normalnym 5x5, X=linspace(x,x,N) wektor liniowy, X=logspace(x,x,N) wektor logarytmiczny e) Manipulacje macierzami A=rot90(B) obrót, A=flipr(B) odbicie w pionie,

A=flipuprot90(B) odbicie w poziomie, A=reshape(B,,5) połamanie wektora, A=diag(B) macierz diagonalna f) Działania na macierzach i wektorach C=A+/-B dodawanie i odejmowanie macierzy, C=A*B mnożenie macierzy, C=A.*B mnożenie tablicowe macierzy, C=A transponowanie macierzy, C=A^(-) odwrotność macierzy, C=A.^ podniesienie do potęgi elementów macierzy, C=A./B dzielenie tablicowe g) Inne funkcje macierzowe Rank(A) rząd macierzy [m,n]=size(a) wymiar macierzy, N=length(X) długość wektora, Inv(A) macierz odwrotna, h) Liczby zespolone 5+6i, 5+6*sort(-) deklaracja liczby zespolonej, abs(z) moduł liczby zespolonej, angle(z) argument liczby zespolonej, real(z) część rzeczywista liczby zespolonej, imag(z) część urojona liczby zespolonej, conj(z) sprzężenie liczby zespolonej, Dokładniejszy opis poszczególnych funkcji oferowanych przez system Matlab znaleźć można w rozległej literaturze [,,3,4] oraz systemie pomocy Matlaba. 3. OPTYMALIZACJA bez ograniczeń - fminunc Zadanie: Znajdź minimum nieograniczonej funkcji wielu zmiennych min f ( x), gdzie x jest wektorem zmiennych decyzyjnych a f(x) funkcją celu. Składnia funkcji fminunc: x = fminunc(fun,x0) x = fminunc(fun,x0,options) x = fminunc(fun,x0,options,p,p,...) [x,fval] = fminunc(...) [x,fval,exitflag] = fminunc(...) [x,fval,exitflag,output] = fminunc(...) [x,fval,exitflag,output,grad] = fminunc(...) [x,fval,exitflag,output,grad,hessian] = fminunc(...) x

Wyjaśnienie występujących oznaczeń: fun funkcja celu, musi być zdefiniowana w pliku funkcyjnym matlaba, x wektor zawierający optimum, x0 punkt startowy optymalizacji, fval wartość funkcji celu odpowiadająca w optimum, exitflag znacznik wyjścia, output zawiera ogólne informacje dotyczące procesu optymalizacji, grad gradient, hessian wartość hessiana funkcji celu options opcje optymalizacji, ustawiane poleceniem optimset Opcje optymalizacji funkcja optimset: LargeScale On/Off, Display On/Off TolX tolerancja na wektor X, TolFun tolerancja funkcji celu 4. OPTYMALIZACJA z definicją gradientu Ten typ optymalizacji pozwala zdefiniować dodatkowo gradient funkcji celu. Składnia: [x,fval,exitflag,output]=fminunc({@fcelu,@fgradientu},x0,options) Jedyną różnicą pomiędzy tym rodzajem optymalizacji, a zwykłą optymalizacją bez ograniczeń jest konieczność zdefiniowania funkcji gradientu. Jest to osobny m-plik funkcyjny zawierający wyrażenia na pochodne cząstkowe funkcji celu po poszczególnych zmiennych decyzyjnych. 5. OPTYMALIZACJA z ograniczeniami - fmincon Zadanie: Znajdź minimum ograniczonej funkcji wielu zmiennych min f ( x), gdzie x jest wektorem zmiennych decyzyjnych a f(x) funkcją celu oraz: ( x) 0 ( x) = 0 c ceq A x b Aeq x beq lb b ub gdzie x, b, beq, lb oraz ub są wektorami, A i Aeq są macierzami, c(x) i ceq(x) są funkcjami zwracającymi wektory oraz f(x) jest funkcją zwracającą skalar. Funkcje f(x), c(x) i ceq(x) mogą być funkcjami nieliniowymi. x 3

Składnia funkcji: x = fmincon(fun,x0,a,b,aeq,beq) x = fmincon(fun,x0,a,b,aeq,beq,lb,ub) x = fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon) x = fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options) x = fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options,p,p,...) [x,fval] = fmincon(...) [x,fval,exitflag] = fmincon(...) [x,fval,exitflag,output] = fmincon(...) [x,fval,exitflag,output,lambda] = fmincon(...) [x,fval,exitflag,output,lambda,grad] = fmincon(...) [x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...) Funkcja nonlcon może być użyta do wygodnego definiowania wszystkich ograniczeń nieliniowych w osobnym pliku funkcyjnym, zamiast ich definiowania podczas wywoływania procedury optymalizacji. 6. Przykłady Przykład x Znajdź minimum funkcji x y = e + e, dla następujących ograniczeń równościowych: x()^+x()^-9=0 oraz nierównościowych x -x +<0, -x <0; x >0 Rozwiązanie: x=[. funkcji celu = 6.6843.], wartość Przykład Znajdź minimum funkcji y = x + x + ( ) ( ) x + 0.04 x ( ) + + 5 + 4 x x w granicach x =[-:0.:5] i x =[- :0.:4]; Rozwiązanie: x=[.844,.4047], wartość funkcji celu = 0. 4

Przykład 3 Znajdź minimum funkcji danej wzorem: ( x, y) = 00( y x ) + ( x) f Jest to funkcja, którą trudno jest zoptymalizować. Dlatego należy zastosować optymalizację z gradientem. Punkt startowy: x0=[-.9, ]; Minimum należy poszukiwać w granicach x <, >, y <, 3 > W celu rozwiązania zadania należy wyznaczyć pochodne cząstkowe funkcji celu: f = 400( y x ) x ( x) x f = 00( y x ) y Przed wywołaniem funkcji optymalizującej należy poprawnie ustawić opcje optymalizacji: Options=optimset( largescale, off, linesearchtype, cubicpoly, gra dobj, on ) Wyniki optymalizacji: wartość funkcji celu w optimum 8.9856e-009, dla x =.000 oraz y =.000 7. Zadania do samodzielnego wykonania. Zadanie x + y Znajdź optimum funkcji f ( x, y) = e 0xy w granicach x = [-.:.], y = [-:]. Zadanie Znajdź optimum funkcji ( ) ( y 0.5) ( x ) ( 0.3 e ) f x, y = w granicach x = [0:], y = [-.:.]. 5

Zadanie 3 3 Znajdź optimum funkcji ( x, y) = x + y + x y + 4y + 3 [0:0]. 8. Literatura f w granicach x = [4:3], y = [] A.Zalewski, R.Cegieła: Matlab obliczenia numeryczne i ich zastosowania. Wydawnictwo Nakom, Poznań 996 [] W. Regel: Obliczenia symboliczne i numeryczne w programie Matlab. Wydawnictwo Mikom, Warszawa 004 [3] M.Czajka: Matlab ćwiczenia. Wydawnictwo Helion, Gliwice 005 [4] B.Mrozek, Z.Mrozek: Matlab uniwersalne środowisko do obliczeń naukowo technicznych. Wyd.3, Warszawa 996 6