2 OPTIMIZACIONI PROBLEMI BEZ OGRANIČENJA Matematičk i zapis neograničenog optimizacionog problema glasi min () x fx (15) gde vektor 1 2 T n x xx x predstavlja optimizacione promenljive, a () f predstavlja funkciju cilja (kriterijumsku funkciju). Cilj je da se odredi vektor x tako da je vrednost funkcije cilja minimalna. Ovaj optimizacioni problem predstavlja minimizacioni problem. Maksimizacioni problem (funkcija () f treba da dosegne maksimalnu vrednost) rešava se preko minimizacionog problema koristeći funkciju () f . 35
37
Embed
2 OPTIMIZACIONI PROBLEMI EZ OGRANIČENJA · promenljivima jednaki su nula Rešavanjem prethodnih jednačina dobijaju se ekstremne tačke od kojih neke mogu biti optimalne. Rezavanje
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
2 OPTIMIZACIONI PROBLEMI BEZ OGRANIČENJA Matematičk i zapis neograničenog optimizacionog problema glasi
min ( )x
f x (15)
gde vektor 1 2
T
nx x x x predstavlja optimizacione promenljive, a ( )f
predstavlja funkciju cilja (kriterijumsku funkciju).
Cilj je da se odredi vektor x tako da je vrednost funkcije cilja minimalna. Ovaj
optimizacioni problem predstavlja minimizacioni problem.
Maksimizacioni problem (funkcija ( )f treba da dosegne maksimalnu vrednost)
rešava se preko minimizacionog problema koristeći funkciju ( )f .
35
2.1 ANALITIČKA REŠENJA I METODE ZA GRAFIČKO REŠAVANJE
MINIMIZACIONOG PROBLEMA Iz matematike je poznato da dovoljni uslovi za neograničeni optimizacioni
problem glase: u optimalnoj tački x prvi izvodi funkcije cilja po optimizacionim
promenljivima jednaki su nula
Rešavanjem prethodnih jednačina dobijaju se ekstremne tačke od kojih neke
mogu biti optimalne.
Rezavanje ovih jednačina može biti teško u slučaju optimizacionih problema sa
većim brojem promenljivih.
Grafičkim metodama mogu se rešiti optimizacioni problemi sa jednom i dve
promenljive, dok sa tri i više promenljivih ne mogu.
36
Primer 7. Koristeći grafičke i analitičke metode ispitati optimalnost funkcije iz
Zaključ: Za različite početne tačke, dobijaju se različite optimalne tačke.
Dobijene optimalne tačke nazivaju se lokalni minimumi. Globalni i lokalni
minimumi se mogu prikazati na krivoj.
45
U Matab-u (Global Optimization Toolbox) postoje specijalizovane funkcije za
nalaženje globalnog minimuma, kao što su: patternsearch, ga i GlobalSearch.
46
2.4 REŠAVANJE OPTIMIZACIONIH PROBLEMA KORIŠĆENJEM
GRADIJENATA FUNKCIJE Kada brzina konvergencije optimizacionog problema postane spora, mogu se koristiti informacije o gradijentu funkcije kako bi se ovaj proces ubrzao.
Primer 10. Za datu funkciju naći minimum.
Rešenje.
% Grafik funkcije
[x,y]=meshgrid(0.5:0.01:1.5);
z=100*(y.^2-x).^2+(1-x).^2;
contour3(x,y,z,100),
zlim([0,310])
f=@(x)100*(x(2)-x(1)^2)^2+(1-x(1))^2;
ff=optimset;
ff.TolX=1e-10;
ff.TolFun=1e-20;
47
%Poziv funkcije bez koriscenja gradijenta
x=fminunc(f,[0;0],ff)
% Odredjivanje gradijenta
syms x1 x2;
f=100*(x2-x1^2)^2+(1-x1)^2;
J=jacobian(f,[x1,x2])
% Poziv funkcije sa gradijentom
ff.GradObj='on';
x=fminunc(@fun_sa_Jacobian,[0;0],ff)
% Funkcija + gradijent
function [y,Gy]=fun_sa_Jacobian(x)
y=100*(x(2)-x(1)^2)^2+(1-x(1))^2;
Gy=[-400*(x(2)-x(1)^2)*x(1)-2+2*x(1); 200*x(2)-
200*x(1)^2];
end
48
Grafik funkcije z=100*(y.^2-x).^2+(1-x).^2 dobijen pomoću contour3.
49
3 OPTIMIZACIONI PROBLEMI SA OGRANIČENJIMA Ukoliko nametnemo ograničenja po promenljivim, dobija se sledeći
optimizacioni problem sa ograničenjima
gde ispod min stoje ograničenja.
Opšti opis optimizacionog problema glasi
gde je 1 2
T
nx x x x vektor promenljivih, a ( ) 0G x predstavlja ograničenje.
Ograničenja mogu biti tipa nejednakosti ili jednakosti, koja mogu biti linearna
ili nelinearna. Takođe postoje ograničenja po slobodnim promenljivim.
Oblast rešenja x koja zadovoljava ograničenja ( ) 0G x naziva se “dopustivi
region” (feasible region).
50
3.1 REŠAVANJE PROBLEMA LINEARNOG PROGRAMIRANJA Problemi linearnog programiranja predstavljaju specijalni slučaj ograničenih
problema programiranja čija funkcija cilja, kao i ograničenja su linearne
funkcije po x .
Opšti matematički opis je:
Ograničenja su podeljena na:
linearna ograničenja tipa jednakosti eq eq
A x B ,
linearna ograničenja tipa nejednakosti Ax B
ograničenja po promenljivim m M
x x x
Postoji veliki broj algoritama za ovu vrstu optimizacije. Simpleks algoritam je
jedan od najefikasnijih i implementiran je u Matlab funkciji linprog().
51
, , , ,eq eq
f A b A b imaju isto značenje kao u opisu optimizacionog problema, dok
su: ,m M
x lb x ub
52
Primer 12. Rešiti sledeći problem linearnog programiranja