Metody Optymalizacji Laboratorium nr 7 Zagadnienia optymalizacji

Transkrypt

Metody Optymalizacji Laboratorium nr 7 Zagadnienia optymalizacji
Laboratorium Metod Optymalizacji 2016
Metody Optymalizacji Laboratorium nr 7
Zagadnienia optymalizacji wielokryterialnej
1. Zadanie 1:
Zadanie polega na stworzeniu losowej listy 20 samochodów o losowych parametrach. Każdy
samochód posada trzy cechy: cena, moc silnika, zużycie paliwa l /100 km .
Numer samochodu
1
....
20
cena
Zakres ceny od
20 000 do 40 000
moc silnika
Zakres mocy silnika
od 110 do 160
zużycie paliwa
Zużycie paliwa od 6
do 10 litrów
Należy wybrać najlepszy samochód stosując się do założeń:
- minimalizacja ceny samochodu.
- maksymalizacja mocy silnika.
- minimalizacja zużycia paliwa.
Do rozwiązania zadania wykorzystać metodę diagram Hassego.
2. Zadanie 2:
Wykorzystując dane z poprzedniego zadania rozwiązać zadanie z wykorzystaniem kryterium
wagowego (należy przeskalować wyniki, aby każda cecha należała z zakresu 0 do 1) dla
dwóch klientów.
Klient
I klient
II klient
Waga ceny
0.3
0.5
Waga dla mocy silnika
0.7
0.2
Waga dla zużycia paliwa
0.4
0.6
3. Zadanie 3:
Dobrać parametry filtru liniowego (FIR) dolnoprzepustowego z amplitudą równą jeden dla
częstotliwości od 0 do 0,15 Hz i amplitudą zero dla częstotliwości od 0,2 Hz do 1 Hz z
wykorzystanie funkcji fgoalattain. Do ustawienie parametrów funkcji użyć optimoptions.
Aby wykonać zadanie należy:
1. Napisać funkcję filtmin zwracającej wartość wyjściową dla filtru. Funkcja posiada dwa
parametry a i w.
 Należy sprawdzić długość a( wzmocnień filtra FIR);
 Napisać funkcję obliczającą wartośc wyjściową filtra.
( )=
( )cos (2
)
2. Napisać drugą funkcję wykorzystującą funkcje pierwszą:
 Sygnał wejściowy dla określonych częstotliwości
 Przedział częstotliwości
 Określenie problemu:
 Określenie jaki sygnał wyjściowy dla jakich częstotliwości
 określenie wagi dla wszystkich próbek
 Wywołanie funkcji optymalizacji
Opracował: Krzysztof Jaroś
Strona 1
Laboratorium Metod Optymalizacji 2016
options = optimoptions('fgoalattain','EqualityGoalCount',length(goal));
[a,fval,attainfactor,exitflag]=fgoalattain(@(x)filtmin(x,w0),...
a0,goal,weight,[],[],[],[],[],[],[],options)
4. Zadanie 4:
Aby wykonać zadanie, należy skopiować poniższy kod i utworzyć z niego osobny m plik,
który będzie później wywoływany. Wywołanie danego kodu spowoduje uruchomienie
symulacji, która jest wbudowana w środowisko Matlab-simulink. Kod ten służy do
optymalizacji parametrów regulatora PID. Funkcja ta posiada dwie zmienne a1 i a2, które
przekazywane są do transmitancji obiektu w symulacji. W zadaniu należy zapoznać się z
działaniem poniższej funkcji oraz przekształcenie jej do postaci umożliwiającej optymalizacje
parametrów regulatora PID dla dowolnej transmitancji drugiego rzędu. Aby wykonać to
zadanie, należy po jednokrotnym uruchomieniu programu zmienić parametry transmitancji
obiektu, aby wszystkie one były podawane w czasie wywołania funkcji. Program należy
przetestować na dowolnej transmitancji drugiego rzędu.
function [Kp, Ki, Kd] = runtrackmm
optsim % initialize Simulink(R)
pid0 = [0.63 0.0504 1.9688];
% a1, a2, yout are shared with TRACKMMOBJ and TRACKMMCON
a1 = 3; a2 = 43; % Initialize plant variables in model
yout = []; % Give yout an initial value
pold = []; % tracks last pid
options = optimoptions('fminimax','Display','iter');
pid = fminimax(@trackmmobj,pid0,[],[],[],[],[],[],...
@trackmmcon,options);
Kp = pid(1); Ki = pid(2); Kd = pid(3);
function F = trackmmobj(pid)
% Track the output of optsim to a signal of 1.
% Variables a1 and a2 are shared with RUNTRACKMM.
% Variable yout is shared with RUNTRACKMM and
% RUNTRACKMMCON.
updateIfNeeded(pid)
F = yout;
end
function [c,ceq] = trackmmcon(pid)
% Track the output of optsim to a signal of 1.
% Variable yout is shared with RUNTRACKMM and
% TRACKMMOBJ
updateIfNeeded(pid)
end
c = -yout(20:100)+.95;
ceq=[];
Opracował: Krzysztof Jaroś
Strona 2
Laboratorium Metod Optymalizacji 2016
function updateIfNeeded(pid)
if ~isequal(pid,pold) % compute only if needed
Kp = pid(1);
Ki = pid(2);
Kd = pid(3);
myobj = sim('optsim','SrcWorkspace','Current');
yout = myobj.get('yout');
pold = pid;
end
end
end
Sprawozdanie powinno zawierać:
Zadanie1:
 treść wszystkich m-plików
 tabela danych
 rozwiązania diagram Hassego wraz z uzasadnieniem

wnioski spostrzeżenia
Zadanie 2:
 treść wszystkich m-plików
 obliczone wagi dla wszystkich samochodów
 rozwiązania z wykorzystaniem metody wagowej
 wnioski i spostrzeżenia
Zadanie 3:
 treść wszystkich m-plików
 wykres Amplitudowo fazowy obliczonego filtra oraz sygnał wejściowy i wyjściowy
dla sygnału o różnych częstotliwościach.
 wnioski i spostrzeżenia
Zadanie 4:
 transmitancję
 przekształconą treść m pliku
 wyniki symulacji
 wnioski i spostrzeżenia
Pomoc:
Zadanie 1
Graf Hassego:
Jest grafem skierowanym ( , ), gdzie X jest zbiorem porównywanych elementów, a R jest relacją
częściowego porządku, określoną na elementach zbioru X w taki sposób, że
R ↔ "lepszy od"
Opracował: Krzysztof Jaroś
Strona 3
Laboratorium Metod Optymalizacji 2016
Lepsze rozwiązanie jest to które jest lepsze we wszystkich cechach, jeżeli nie można stwierdzić
jednogłośnie że rozwiązanie jest lepsze to rozwiązań nie można porównać. Najlepszym rozwiązaniem
jest przypadek kiedy rozwiązanie danego jest lepsze od pozostałych przypadków z którymi mógł
zostać porównany.
Materiały pomocnicze:
Wykład
Zadanie 2
W metodzie wagowej należy przyporządkować pewną wagę ( ważność) każdej z cechy w
rozwiązaniu. Przed rozpoczęciem jednak tej czynności należy znormalizować przedziały
otrzymywanych wartości żeby mogły one być ze sobą porównywane.
Przykład normalizacji:
ść
ść =
ść
Obliczanie wartości oceny produktu:
ść
=
∗
ść
Materiały pomocnicze:
Wykład
Zadanie 3
Odpowiedź częstotliwościowa
( ) dla filtru FIR
( )=
( )=
ℎ( )
( )cos (2
)
gdzie
( )- jest amplitudą odpowiedzi częstotliwościowej
a(n)- biorąc pod uwagę funkcję fgoalattainbędzie zmieniać wzmocnienia aby obliczyć wartość
odpowiedzi w pożądanej tolerancji.
Opcje dla fgoalattain
options = optimoptions('fgoalattain','EqualityGoalCount',length(cel));
Materiały pomocnicze:
http://www.mathworks.com/help/optim/ug/example-signal-processing-usingfgoalattain.html#f25076
Zadanie 4
Materiały pomocnicze:
Plik
źródłowy
-http://www.mathworks.com/help/optim/ug/example-using-fminimax-with-asimulink-model.html
Opracował: Krzysztof Jaroś
Strona 4