a<x

Transkrypt

a<x
Modelowanie
i obliczenia techniczne
Metody numeryczne w modelowaniu:
Optymalizacja
Zadanie optymalizacji
Optymalizacja to ulepszanie lub poprawa jakości danego
rozwiązania, projektu, opracowania.
Celem optymalizacji jest osiągnięcie możliwie dobrego
rozwiązania pod względem wybranego kryterium jakości, np.
ergonomia uchwytu, sprawność silnika, doskonałość profilu
skrzydła, itd.
Jeżeli kryterium jakości można wyrazić w postaci zależności
funkcyjnej od parametrów projektu czy rozwiązania, to możliwe
jest zastosowanie metod numerycznych w celu przeprowadzenia
optymalizacji.
2
Definicja optymalizacji
Zazwyczaj kryterium jakości definiuje się jako funkcję kosztu
(funkcję celu) lub błąd. Wówczas optymalizacja polega na
minimalizacji tego kryterium, czyli poszukiwaniu minimum
funkcji kosztu.
Innymi słowy, jeżeli dana jest funkcja
f : A → R, A ⊂ R n
to optymalizacja polega na znalezieniu takiego punktu
x* ∈ R n
że dla każdego
{ } zachodzi nierównosc :
x ∈ A \ x*
f ( x ) > f  x* 
 
3
Przykład naturalnej optymalizacji
– minimalizacja energii potencjalnej
Układ fizyczny dąży do stan minimalnej energii potencjalnej.
Nie zawsze jest to możliwe (minima lokalne).
f(x)
y
Minimum
lokalne
Minimum
globalne
x
4
Techniczne zastosowania
optymalizacji
Projektowanie konstrukcji architektonicznych
Projektowanie maszyn i narzędzi
Projektowanie pojazdów i innych środków lokomocji
Projektowanie obwodów elektronicznych, np. komputerów
Projektowanie sieci energetycznych, informatycznych,
telekomunikacyjnych itd.
Planowanie trasy
Logistyka
Wiele innych.
5
Przykład – optymalizacja narzędzia
Czy można zoptymalizować młotek?
Parametry:
- masa obucha,
- długość trzonka
Przykładowa funkcja kosztu:
- zmęczenie podczas wbijania 1000
gwoździ
(trudna do pomierzenia)
Inna definicja – czas wbicia 1000
gwoździ.
Zachodzi konieczność ustalenia innych
parametrów, np. rozmiar gwoździa,
kondycja i wytrenowanie pracownika.
6
Przykładowe kryteria optymalizacji
Masa
Wytrzymałość
Trwałość
Wielkość
Cena
Sprawność
Poziom wytwarzanego hałasu, zakłóceń, spalin itd.
Niektóre z kryteriów należy maksymalizować, ale można zmienić
znak funkcji kosztu i zadanie sprowadzić do minimalizacji.
7
Ograniczenie przestrzeni
poszukiwania minimum
W zastosowaniach technicznych często narzucane są wartości
graniczne parametrów rozwiązania, co prowadzi do ograniczenia
zakresu poszukiwania minimum. Utworzony obszar może być
skończony lub nieskończony – ograniczony.
b
b
a
a
8
Cele optymalizacji
Optymalizacja lokalna – poszukiwanie pojedynczego minimum,
zazwyczaj metody gradientowe (wykorzystujące pochodną albo
jej numeryczne przybliżenie)
Optymalizacja globalna – poszukiwanie minimum globalnego w
obecności wielu minimów lokalnych. Zazwyczaj wykorzystywane
są metody bazujące na wielokrotnym losowaniu punktu
startowego.
9
Metody optymalizacji
Analityczne
- problemy liniowe (LP) – kryterium jest liniową funkcją
parametrów
- problemy kwadratowe (QP) – kwadratowe kryterium
Numeryczne
– dotyczą problemów nieliniowych (NP). Wykorzystują iteracyjne
techniki poszukiwania minimum na podstawie analizy wartości
funkcji kosztu w wielu punktach przestrzeni parametrów.
10
Przykład rozwiązywania równań
nieliniowych przez optymalizację
Przykład poszukiwania pierwiastka
kwadratowego liczby x
f(y)
y = x ⇒ x = y2
równianie nieliniowe : y 2 − x = 0
(
funkcja kosztu : y → y 2 − x
)
2
y
Poszukiwanie pierwiastków równania można sprowadzić do
poszukiwania minimum odpowiednio zdefiniowanej funkcji kosztu.
Jeżeli można wyznaczyć pochodne cząstkowe funkcji kosztu, to zadanie
11
optymalizacji można sprowadzić do rozwiązywania układów równań.
Optymalizacja jednowymiarowa
- metoda złotego podziału
Jeżeli w przedziale <a,b> wartość
funkcji dla:
a<x1<x2<b
spełnia nierówność:
f(x1), f(x1) < f(a), f(b), to dla i-tej
iteracji:
( )
( )
dla f x1(i ) > f x2(i )
a (i +1) = x1(i ) , b (i +1) = b (i ) ,
 (i +1)
⇒  x1 = x2(i ) ,
 (i +1)
(i +1)
(i +1)
(i +1)
x
=
a
+
b
−
a
⋅k
2

(
( ) ( )
(i )
(i )
dla f x1 < f x2
5 −1
2
)
a (i +1) = a (i ) , b (i +1) = x1(i ) ,

⇒  x2(i +1) = x1(i ) ,
 (i +1)
(i +1)
(i +1)
(i +1)
⋅k
 x1 = b − b − a
(
k=
f(x)
a
x1
x2
x
b
)
k – współczynnik złotego podziału.
12
Optymalizacja jednowymiarowa
- metoda interpolacji kwadratowej
Metoda polega na dopasowaniu
paraboli
f(x)
y=ax2+bx+c
do wartości funkcji dla trzech
punktów x1,x2,x3
Nowy punkt x4 jest miejscem xmin
minimum paraboli:
xmin=-b/2a
x1
x2 xmin
x
x3
Wybór kolejnej trójki jest zależny od
wartości f(xmin).
13
Optymalizacja wielowymiarowa
Funkcja kosztu często jest
funkcją
n parametrów. Wówczas
optymalizacja sprowadza się
do poszukiwania minimum
funkcji
w n wymiarach.
Przykład dwuwymiarowy
14
Optymalizacja wielowymiarowa
- metody bezgradientowe
Metody bezgradientowe nie wykorzystują
informacji o pochodnych cząstkowych funkcji
(gradiencie). Często nie można wyznaczyć
pochodnych, albo jest to kosztowne obliczeniowo.
Metoda Simplex - w n-wymiarowej przestrzeni na
bazie n+1 punktów (wierzchołków) buduje się
figurę nazywaną simplexem. Dla n=2 jest to
trójkąt.
Optymalizacja polega na budowaniu kolejnych
przybliżeń, gdzie punkt o największej wartości jest
symetrycznie „odbijany” od naprzeciwległej ściany.
Jednocześnie może nastąpić rozszerzenie lub
zawężenie simplexu. Warunkiem zakończenia jest
jego zmniejszenie poniżej wartości progowej.
max
15
Optymalizacja wielowymiarowa
- metody gradientowe
Metody gradientowe wykorzystują informację o
pochodnych cząstkowych funkcji (gradiencie).
Metoda największego spadku - polega na tym, że
minimum funkcji jest poszukiwane w kierunku przeciwnym
do gradientu:
d = −∇f (x )
Metoda polega na wykonaniu dwóch kroków w każdej iteracji:
-wyznaczenie kierunku największego spadku w punkcie,
-poszukiwanie minimum metodami jednowymiarowymi.
Inne metody wykorzystujące pierwsze pochodne to tzw. metody
gradientów sprzężonych.
16
Nieliniowa najmniejsza suma
kwadratów (NLS)
Metoda jest wykorzystywana przy dopasowaniu funkcji do
danych pomiarowych, np. podczas identyfikacji obiektów
dynamicznych. Niech kryterium minimalizacji ma postać:
f (x ) = ∑ Fi (x ) = F (x ) F(x )
2
T
i
Metoda Gaussa-Newtona: kierunek d wyznacza się z wzoru:
J (x ) J (x )d = − J (x ) F(x )
T
T
Metoda Levenberga-Marquardta: kierunek d wyznacza się z wzoru:
[J(x) J(x) + λI]d = −J(x)F(x)
T
J jest jakobianem wektora F, λ jest współczynnikiem zbieżności.
17
Przykład – identyfikacja parametrów
układu dynamicznego
Identyfikacja parametrów transmitancji filtru pasmowo-przepustowego
przez dopasowanie jego odpowiedzi jednostkowej do ciągu
pomierzonych próbek.
C
R1
R3
1
uI
R
C2
uO
2
Aśr
T (s ) =
ωśr
s
U O (s )
Q
=
U I (s ) s 2 + ωśr s + ω 2
śr
Q
W tym przypadku dobre efekty daje zastosowanie metod gradientowych
poszukiwania optymalnych parametrów filtru.
18
Przykład – problem komiwojażera
Problem polega na znalezieniu
najkrótszej trasy podróży przy
założeniu jednokrotnego
odwiedzenia każdego z miast.
(
n − 1)!
liczba _ mozliwosci =
2
Brak danej analitycznie, różniczkowalnej funkcji. Nie
można zastosować gradientowych metod optymalizacji.
19
Unikanie zatrzymania optymalizacji
w minimum lokalnym
W przypadku występowania wielu minimów lokalnych istnieje
niebezpieczeństwo „utknięcia” algorytmu optymalizacji w jednym
z nich.
Istnieje szereg metod skutecznie unikających tego problemu
przez generowanie dodatkowych punktów startowych, np.:
Symulowane wyżarzanie
Algorytmy ewolucyjne
Algorytmy genetyczne
20