MATLAB OKTATÁS 5. ELŐADÁS FELTÉTEL NÉLKÜLI ÉS FELTÉTELES OPTIMALIZÁLÁS. Dr. Bécsi Tamás Hegedüs Ferenc

Hasonló dokumentumok
MATLAB OKTATÁS 4. ELŐADÁS LINEÁRIS, NEMLINEÁRIS ÉS DIFFERENCIÁL- EGYENLETRENDSZEREK MEGOLDÁSA. Dr. Bécsi Tamás Hegedüs Ferenc

Numerikus matematika

Konjugált gradiens módszer

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

OPTIMALIZÁCIÓ november 6. 1 Dr Laky Piroska

Genetikus algoritmusok megvalósítása MATLAB segítségével

MATLAB alapismeretek IV. Eredmények grafikus megjelenítése: vonalgrafikonok

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

NEMLINEÁRIS EGYENLETRENDSZEREK MEGOLDÁSA

Komputeralgebra rendszerek

Matematika III előadás

Numerikus matematika

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

A Newton és Gauss-Newton módszerek alkalmazása egyenletrendszerek megoldására és nemlineáris optimalizálásra

KIEGYENLÍTŐ SZÁMÍTÁSOK II.

Totális Unimodularitás és LP dualitás. Tapolcai János

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

A lineáris programozás alapjai

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

P 2 P ábra Az f(x) függvény globális minimuma (P 1 ) és egy lokális minimuma (P 2 ).

MAK511 ÖDEV 6 ÇÖZÜM. a) FFD tasarımı ile Kriging modeli. function HW6_FFD clc clear all. addpath('c:/dace')

Numerikus matematika vizsga

Komputeralgebra rendszerek

Nagy András. Feladatok a logaritmus témaköréhez 11. osztály 2010.

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

1 Lebegőpontos számábrázolás

Matlab Fuzzy Logic Toolbox

Gauss-Seidel iteráció

Optimális mérési elrendezés hidraulikus hálózatokon

Feladatok a logaritmus témaköréhez 11. osztály, középszint

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

Numerikus módszerek 1.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Opkut deníciók és tételek

EuroOffice Optimalizáló (Solver)

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Dinamikus modellek szerkezete, SDG modellek

VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja

Szakdolgozat. Miskolci Egyetem. Nemlineáris programozás. Készítette: Horváth Gábor Programtervező informatikus hallgató

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással

NEMLINEÁRIS EGYENLETEK GYÖKEI

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

Kétváltozós függvények differenciálszámítása

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Komputeralgebra Rendszerek

Feladatsor A differenciálgeometria alapja c. kurzus gyakorlatához

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

Szemidenit optimalizálás és az S-lemma

Matematikai programok

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx =

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan!

Annak a function-nak a neve, amiben letároltuk az egyenletünket.

Függvények Megoldások

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek

Algoritmusok Tervezése. 1. Előadás MATLAB 1. Dr. Bécsi Tamás

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

ODE SOLVER-ek használata a MATLAB-ban

Kétváltozós függvény szélsőértéke

Baran Ágnes. Gyakorlat Halmazok, függvények, Matlab alapok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 34

Nemlineáris programozás 2.

Nem-lineáris programozási feladatok

3. előadás. Termelési és optimalizálási feladatok. Dr. Szörényi Miklós, Dr. Kallós Gábor

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

SCILAB programcsomag segítségével

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Baran Ágnes. Gyakorlat Numerikus matematika. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 79

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

Függvényegyenletek 1. feladat megoldása

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Számítási feladatok a Számítógépi geometria órához

First Prev Next Last Go Back Full Screen Close Quit

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék. Dr. Kulcsár Gyula egyetemi docens

9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA. 9.1 Metrika és topológia R k -ban

Nemlineáris programozás: algoritmusok

Nemlineáris jelenségek és Kao2kus rendszerek vizsgálata MATHEMATICA segítségével. Előadás: Szerda, 215 Labor: 16-18, Szerda, 215

I. LABOR -Mesterséges neuron

Pere Balázs október 20.

A szimplex tábla. p. 1

1. Határozzuk meg, hogy mikor egyenlő egymással a következő két mátrix: ; B = 8 7 2, 5 1. Számítsuk ki az A + B, A B, 3A, B mátrixokat!

Mintafeladat az RSA algoritmus szemléltetésére

Gépi tanulás a gyakorlatban. Lineáris regresszió

Függvények ábrázolása, jellemzése II. Alapfüggvények jellemzői

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Széchenyi István Egyetem

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

NUMERIKUS MÓDSZEREK I. BEUGRÓ KÉRDÉSEK

Algoritmuselmélet 7. előadás

rank(a) == rank([a b])

Matematika (mesterképzés)

1. Parciális függvény, parciális derivált (ismétlés)

Átírás:

MATLAB OKTATÁS 5. ELŐADÁS FELTÉTEL NÉLKÜLI ÉS FELTÉTELES OPTIMALIZÁLÁS Dr. Bécsi Tamás Hegedüs Ferenc

FELTÉTEL NÉLKÜLI OPTIMALIZÁLÁS (FMINSEARCH) Feltétel nélküli optimalizálásra a MATLAB az fminsearch függvényt kínálja. Az fminsearch függvény a min f x feltétel nélküli minimumkeresési probléma x x megoldását szolgáltatja, ahol x vektor vagy mátrix, f(x) pedig skalárértékű függvény. Szintaktika: [x_m, f_m] = fminsearch(f, x_0, opts) Működés: Az fminsearch az x_0 pontból kiindulva megpróbálja az f függvény mutatóval megadott f(x) függvény minimumát megtalálni, az opts argumentumban megadott beállítások mellett. A visszatérési érték a talált minimum helye x_m és értéke f_m (f m = f(x m )). Az opts argumentumban átadott beállítás struktúra az optimset függvény segítségével készíthető el.

FMINSEARCH BEÁLLÍTÁSOK (OPTIMSET) Név Érték Display (kijelzés) off or none nincs iter információ minden iterációs lépésben final (*) csak végleges információ TolFun (függvényérték tűrés) TolX (lépés méret tűrés) MaxFunEvals (függvény kiértékelések maximális száma) MaxIter (iterációk maximális száma) Kilépési tűrés a függvényértékre, pozitív skalár. Az alapértelmezett érték 1e-4. Kilépési tűrés a lépés méretére, pozitív skalár. Az alapértelmezett érték 1e-4. A költségfüggvény kiértékeléseinek maximálisan megengedett száma, pozitív egész. Az alapértelmezett érték 200-szor a változók száma. Az iterációk maximálisan megengedett száma, pozitív egész. Az alapértelmezett érték 200-szor a változók száma. PlotFcn (grafikus megjelenítő függvény) @optimplotx aktuális pont ábrázolása @optimplotfval függvényérték ábrázolása * Alapértelmezett opció. ** A többi megoldóval ellentétben az fminsearch csak a TolX és TolFun tűrések együttes kielégítése mellett áll le.

FELTÉTEL NÉLKÜLI OPTIMALIZÁLÁS (FMINSEARCH) PÉLDA optim/evalrsb.m optim/rsb.m optim/minsearch.m optim/minunc_plot.m %% Unconstrained optimization of the % Rosenbrock function % Function handle fcn = @(X) rsb(x(1), X(2)); % Optimalization options. opts = optimset('display', 'Iter',... 'MaxFunEvals', 500,... 'MaxIter', 500,... 'TolFun', 1e-6,... 'TolX', 1e-3); % Run optimization. X_0 = [10, 10]; [X_min, z_min] = fminsearch(fcn,... X_0,... opts); % Display results disp(x_min); disp(z_min); % Rosenbrock function is a test function % for numerical optimization solvers function z = rsb(x, y) % Coefficients. a = 1; b = 100; % Min is at (x,y)=(a,a^2) f(x,y)=0. z = (a - x).^2 + b * (y - x.^2).^2; end min x,y f x, y = 1 x 2 +100 y x 2 2 x, y = 1, 1, f = 0

FELTÉTEL NÉLKÜLI OPTIMALIZÁLÁS (FMINUNC) Feltétel nélküli optimalizálásra az Optimization Toolbox az fminunc függvénye is használható. Az fminunc függvény a min f x feltétel nélküli minimumkeresési probléma x x megoldását szolgáltatja, ahol x vektor vagy mátrix, f(x) pedig skalárértékű függvény. Szintaktika: [x_m, f_m] = fminunc(f, x_0, opts) Működés: Az fminunc az x_0 pontból kiindulva megpróbálja az f függvény mutatóval megadott f(x) függvény minimumát megtalálni, az opts argumentumban megadott beállítások mellett. A visszatérési érték a talált minimum helye x_m és értéke f_m (f m = f(x m )). Az opts argumentumban átadott beállítás struktúra az optimoptions függvény segítségével készíthető el.

FMINUNC BEÁLLÍTÁSOK (OPTIMOPTIONS) Név Érték Algorithm (algoritmus) quasi-newton (*) trust-region Display (kijelzés) off or none nincs iter információ minden iterációs lépésben final (*) csak végleges információ FunctionTolerance (függvényérték tűrés) StepTolerance (lépés méret tűrés) OptimalityTolerance (optimalitás tűrés) MaxIterations (iterációk maximális száma) MaxFunctionEvaluations (függvény kiértékelések maximális száma) Kilépési tűrés a függvényértékre, pozitív skalár. Az alapértelmezett érték 1e-6. Kilépési tűrés a lépés méretére, pozitív skalár. Az alapértelmezett érték 1e-6. Kilépési tűrés az elsőrendű optimalitásra, pozitív skalár. Az alapértelmezett érték 1e-6. Az iterációk maximálisan megengedett száma, pozitív egész. Az alapértelmezett érték 400. A költségfüggvény kiértékeléseinek maximálisan megengedett száma, pozitív egész. Az alapértelmezett érték 100-szor a változók száma. PlotFcn (grafikus megjelenítő függvény) @optimplotx aktuális pont ábrázolása @optimplotfval függvényérték ábrázolása @optimplotstepsize aktuális lépés méret ábrázolása * Alapértelmezett opció.

FELTÉTEL NÉLKÜLI OPTIMALIZÁLÁS (FMINUNC) PÉLDA optim/evalrsb.m optim/rsb.m optim/minunc.m optim/minunc_plot.m % Unconstrained optimization of the Rosenbrock % function % Function handle fcn = @(X) rsb(x(1), X(2)); % Optimalization options. opts = optimoptions('fminunc',... 'Algorithm', 'quasi-newton',... 'Display', 'iter',... 'OptimalityTolerance', 1e-6); % Run optimization. X_0 = [10, 10]; [X_min, z_min] = fminunc(fcn,... X_0,... opts); % Display results disp(x_min); disp(z_min); min x,y f x, y = 1 x 2 +100 y x 2 2 x, y = 1, 1, f = 0

FELTÉTELES OPTIMALIZÁLÁS (FMINCON) Feltételes optimalizálásra, nemlineáris programozási feladatok megoldására az Optimization Toolbox az fmincon függvénye használható. Az fmincon függvény a min x f x, c(x) 0 c eq x = 0 Ax b A eq x = b eq lb x ub feltételes minimumkeresési probléma x megoldását szolgáltatja, ahol x, lb, ub vektor vagy mátrix, A és A eq mátrix, b és b eq vektor, f(x) skalárértékű, c(x) és c eq x pedig vektorértékű függvények. Szintaktika: [x_m, f_m] = fmincon(f, x_0, A, b, A_eq, B_eq, lb, ub, c_f, opts)

FELTÉTELES OPTIMALIZÁLÁS (FMINCON) Működés: Az fmincon az x_0 pontból kiindulva megpróbálja az f függvény mutatóval megadott f(x) függvény minimumát megtalálni az A mátrixszal és b vektorral adott lineáris egyenlőtlenség típusú korlátok Ax b, az A_eq mátrixszal és b_eq vektorral adott lineáris egyenlőség típusú korlátok A eq x = b eq, az lb és ub vektorokkal adott alsó és felső határok lb x ub, és a c_f függvény mutatóval adott nemlineáris egyenlőség és egyenlőtlenség típusú korlátok c eq x = 0, c(x) 0 között, az opts argumentumban megadott beállítások mellett. A nemlineáris korlátokat szolgáltató c_f függvényt az fmincon az alábbi alakban várja: [c, c_eq] = c_f(x) A visszatérési érték a talált minimum helye x_m és értéke f_m (f m = f(x m )). Az opts argumentumban átadott beállítás struktúra az optimoptions függvény segítségével készíthető el.

FMINCON BEÁLLÍTÁSOK (OPTIMOPTIONS) Név Érték Algorithm (algoritmus) interior-point (*) trust-region-reflective sqp active-set Display (kijelzés) off or none nincs iter információ minden iterációs lépésben final (*) csak végleges információ FunctionTolerance (függvényérték tűrés) StepTolerance (lépés méret tűrés) OptimalityTolerance (optimalitás tűrés) MaxIterations (iterációk maximális száma) MaxFunctionEvaluations (függvény kiértékelések maximális száma) Kilépési tűrés a függvényértékre, pozitív skalár. Az alapértelmezett érték 1e-6. Kilépési tűrés a lépés méretére, pozitív skalár. Az alapértelmezett érték 1e-6. Kilépési tűrés az elsőrendű optimalitásra, pozitív skalár. Az alapértelmezett érték 1e-6. Az iterációk maximálisan megengedett száma, pozitív egész. Az alapértelmezett érték 400. A költségfüggvény kiértékeléseinek maximálisan megengedett száma, pozitív egész. Az alapértelmezett érték 100-szor a változók száma. PlotFcn (grafikus megjelenítő függvény) @optimplotx aktuális pont ábrázolása @optimplotfval függvényérték ábrázolása @optimplotstepsize aktuális lépés méret ábrázolása * Alapértelmezett opció.

FELTÉTELES OPTIMALIZÁLÁS (FMINCON) PÉLDA optim/evalrsb.m optim/rsb.m optim/rsb_con.m optim/mincon.m optim/mincon_plot.m % Optimization options opts = optimoptions('fmincon',... 'Algorithm', 'interior-point',... 'Display', 'iter',... 'OptimalityTolerance', 1e-6); X_0 = [0, 0]; % Cost function handle fcn = @(X) rsb(x(1), X(2)); % Constraint function handle con = @(X) rsb_con(x(1), X(2), 3, 2, 40); % Run optimization [X_min, z_min] = fmincon(fcn, X_0, [], [], [], [], [], [], con, opts); % Display results disp(x_min); disp(z_min); min x,y f x, y = 1 x 2 +100 y x 2 2, x 2 2 + y 40 2 3 2 % (x-x_o)^2 + (y-y_o)^2 <= r^2) function [c, c_eq] = rsb_con(x, y, r, x_o, y_o) c = (x - x_o)^2 + (y - y_o)^2 - r^2; c_eq = []; end x, y 4.9850, 39.7005, f 22068.6