TRiL studia II stopnia W3. Optymalizacja z Matlabem

Transkrypt

TRiL studia II stopnia W3. Optymalizacja z Matlabem
Modelowanie i optymalizacja systemów technicznych
TRiL studia II stopnia
W3. Optymalizacja z Matlabem
Marek Markowski
Katedra Inżynierii Procesów Rolniczych,
UWM w Olsztynie
Wszystkie rysunki i przykłady pochodzą ze strony domowej firmy
The MathWorks, Inc.: www.mathworks.com
Optymalizacja z Matlabem
Przykład 1.
Znaleźć minimum funkcji Rosenbrocka:
przy ograniczeniu:
Minimum w punkcie: (0.7864, 0.8177); fmin = 0.0456766
Optymalizacja z Matlabem
Można zastosować graficzne, interaktywne środowisko: optimtool
3
Optymalizacja z Matlabem
1. Przed rozpoczęciem obliczeń należy zbudować funkcję celu i
zapisać ją w m-pliku o nazwie np. rosenbrock:
2. Ponadto należy zbudować funkcję ograniczeń i zapisać ją w mpliku o nazwie np. unitdisk:
W zmiennej c są zakodowane nierówności o zwrocie <, natomiast
w zmiennej ceq są zakodowane równości. Przy braku ograniczeń
równościowych zmienna ceq jest pusta ([]).
Optymalizacja z Matlabem
3. Należy wybrać solver, w tym wypadku to fmincon - Constrained
nonlinear minimization (minimalizacja funkcji nieliniowej z
ograniczeniami)
4. Należy wybrać algorytm (algorythm). W tym wypadku Active set
gdyż domyślny Trust region reflective nie nadaje się do zadania
z ograniczeniami.
5. Należy wybrać funkcję celu (objective function) i wprowadzić
@rosenbrock (znak @ oznacza, że „wciągany” plik jest
funkcją).
6. Należy wybrać punkt początkowy (Start point) i wprowadzić np.
[0 0].
7. Należy wybrać funkcję zawierającą ograniczenia (Nonlinear
constraint function) i wprowadzić @unitdisk.
Optymalizacja z Matlabem
Panel Problem Setup and Results powinien wyglądać wtedy
następująco:
Optymalizacja z Matlabem
8. W panelu Options pane (środek na dole) w menu Level of
display należy zaznaczyć opcję iterative, co wymusza
wyświetlanie wyników iteracji w oknie poleceń i wyników
Matlaba:
9. W oknie Run solver and view results należy nacisnąć przycisk
START.
Optymalizacja z Matlabem
10. W oknie pod przyciskiem START pojawi się tekst informujący
o wynikach obliczeń:
11. Rozwiązanie pojawi się w zakładce Final point:
Przetwarzanie wsadowe
Optymalizacja z Matlabem
9
Optymalizacja z Matlabem
Parametry optymalizacji (np. warunki stopu, dokładności, itp.)
ustawia się przy pomocy funkcji optimset wg schematu:
options = optimset(parametr1, wartość1, parametr1, wartość1, …)
Wywołanie funkcji optimset bez parametrów powoduje
wyświetlenie listy parametrów wraz z ich aktualnymi wartościami.
Optymalizacja z Matlabem
Rozwiązanie przykładu w trybie wsadowym:
1. Należy utworzyć strukturę options aby uaktywnić opcję
iterative dla wyświetlania wyników i algorytm active-set:
2. Należy uruchomić solver fmincon ze strukturą options, która
optymalną wartość zmiennych x1 i x2 zwraca w wektorze x oraz
optymalną wartość funkcji celu zwraca w zmiennej fval:
Sześć pustych nawiasów odpowiada sześciu domyślnym
ograniczeniom, które w tym przykładzie nie są wykorzystane.
Optymalizacja z Matlabem
3. W oknie poleceń Matlaba zostanie wyświetlony tekst:
Optymalizacja z Matlabem
4. Wcześniej w oknie poleceń Matlaba pojawi się tablica iteracji:
Dziękuję za uwagę