Dariusz Skibicki dariusz.skibickiatutp.edu.pl Wydział Inżynierii Mechanicznej Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Optymalizacja konstrukcji
Plan wykładu 1. Konstruowanie a Konstrukcja dobra. Matematyczny model optymalizacji a Konstrukcja optymalna b Budowa modelu optymalizacji c Nieprawidłowe modele optymalizacji 3. Metody optymalizacji a Potrzeba metod optymalizacji b Błędy w metodach numerycznych c Poszukiwanie ekstremum na kierunku d Metody bezgradientowe 4. Oprogramowanie optymalizacyjne a Matlab b Ecel c Ansys 5. Polioptymalizacja 6. Metody globalne optymalizacji a Algorytmy genetyczne 7. Praktyka kiedy brak jawnej postaci modelu a MES b Aproksymacja, interpolacja e Metody gradientowe f Metody newtonowskie g Metody funkcji kary h Metoda simple
Konstruowanie 1. Projekt jest abstrakcyjnym obrazem wytworu.. Projekt jest zapisywany w postaci dokumentacji projektowej. 3. Projektowanie maszyn nazywa się konstruowaniem. 4. Konstruowanie polega na określeniu cech konstrukcyjnych: materiałowych, geometrycznych i montażowych. 5. Cechy konstrukcyjne dobieramy w oparciu o kryteria: - konstrukcyjne, - technologiczne, - eksploatacyjne. 3
Konstruowanie 1. Kryteria konstrukcyjne: właściwy układ przenoszenia obciążeń, wytrzymałość, sztywność.. Kryteria technologiczne: technologiczność, taniość i dostępność materiałów, łatwość montażu. 3. Kryteria eksploatacyjne: funkcjonalność, ergonomiczność, niezawodność, trwałość, sprawność, łatwość eksploatacji, naprawialność. 4
Konstruowanie Jeżeli każdej z cech konstrukcyjnych przypiszemy pewną liczbę, to całą konstrukcję możemy opisać zbiorem liczb. d w d w d w d z d z d z Matematyczny model konstrukcji 5
Konstruowanie Konstrukcja spełniająca wszystkie warunki konstrukcyjne nazywa się konstrukcją dobrą. d w d z, d w ϕ 0 1 d z Konstrukcja dobra 6
Konstruowanie Zadanie PKM Należy skonstruować wał drążony ze stali 55, której wytrzymałość na skręcanie wynosi k s =100 MPa. Wał powinien przenosić moment skręcający Ms=1000 Nm. Ze względów technologicznych, otwór wewnętrzny wału nie może być mniejszy niż 0% średnicy zewnętrznej oraz nie może być większy niż 80% tej średnicy. Ze względu na warunki montażu, średnica zewnętrzna wału nie powinna być większa od średnicy Ø50 mm otworu w korpusie maszyny. W osiągalnym asortymencie półwyrobów dostępne są pręty o średnicach nie mniejszych niż 38 mm. τ s k s 0. dw / d 0.8 38 d 50 z z 4 4 4 ϕ1 = d z + dw + 5.1 10 d z 0 ϕ = 0.d z d w 0 ϕ3 = 0.8d z + dw 0 ϕ4 = d z 50 0 ϕ5 = d z + 38 0 Różne konstrukcje dobre 7
Konstruowanie Zadanie PKM 4 4 4 ϕ1 = d z + dw + 5.1 10 d z 0 ϕ3 0.8d z + d 0 = w ϕ5 = d z + 38 0 4 4 4 ϕ1 = d z + dw + 5.1 10 d z 0 ϕ 0.d z d 0 = w ϕ5 = d z + 38 0 ϕ 0.d z d 0 = w ϕ4 d 50 0 = z ϕ3 0.8d z + d 0 = w ϕ4 d 50 0 = z d d z w = 50mm = 10mm d d z w = 50mm = 40mm Różne konstrukcje dobre 8
Matematyczny model optymalizacji Zmienne decyzyjne = [ ] 1... n Rozwiązanie optymalne Φ Q Funkcja celu Q Ograniczenia obszar rozwiązań dobrych ϕ 0 1 ϕ 0 dla j = 1, K q j, ϕ 0 ϕ5 0 ϕ 0 ϕ 0 3 4 1 Konstrukcja dobrą najlepszą ze względu na kryterium optymalizacji nazywamy konstrukcją optymalną. 9
Matematyczny model optymalizacji Model opisowy Model matematyczny Należy skonstruować wał drążony ze stali 55, której wytrzymałość na skręcanie wynosi k s =100 MPa. Wał powinien przenosić moment skręcający Ms=1000 Nm. Ze względów technologicznych, otwór wewnętrzny wału nie może być mniejszy niż 0% średnicy zewnętrznej oraz nie może być większy niż 80% tej średnicy. Ze względu na warunki montażu, średnica zewnętrzna wału nie powinna być większa od średnicy Ø50 mm otworu w korpusie maszyny. W osiągalnym asortymencie półwyrobów dostępne są pręty o średnicach nie mniejszych niż 38 mm. Wał powinien być najlżejszy z możliwych. Zmienne decyzyjne = Funkcja celu [ d z d ] w Q = d z d w Ograniczenia obszar rozwiązań dobrych 4 4 = z w z 4 ϕ1 d + d + 5.1 10 d 0 ϕ = 0.d z dw 0 ϕ3 = 0.8d z + dw 0 ϕ4 = d z 50 0 ϕ5 = d z + 38 0 Przykład przewodni 1 10
Matematyczny model optymalizacji Zmienne decyzyjne = [ d z d ] w Funkcja celu Q = d z d w Ograniczenia obszar rozwiązań dobrych 4 4 4 ϕ1 = d z + dw + 5.1 10 d z 0 ϕ = 0.d z dw 0 ϕ3 = 0.8d z + dw 0 ϕ4 = d z 50 0 ϕ5 = d z + 38 0 4 4 d 5.1 d 0. 5 ϕ1 dw z 10 : z ϕ : d 0. w d z ϕ 3 : d 0. 8 ϕ4 : d z ϕ5 : d z w d z 50 38 φ5 ˆ φ 1 φ 3 opt φ 4 φ Φ Graficzne przedstawienie matematycznego modelu optymalizacji 11
Matematyczny model optymalizacji Model opisowy Model matematyczny W przedsiębiorstwie złożonym z 4 wydziałów produkcyjnych, specjalizujących się w określonej obróbce, wytwarza się wyroby. Normy czasowe potrzebne do wykonania jednej sztuki wyrobu na odpowiednich wydziałach oraz moce produkcyjne, jakimi dysponują poszczególne wydziały zestawiono w tabeli. Nr wydziału Normy czasowe dla Moc produkcyjna wyrobu [godz.] wydziału [godz.] wyrób 1 wyrób 1 1 9 1 3 16 4 0 4 14 0 4 Na wyprodukowaniu jednej sztuki pierwszego wyrobu zakład zarabia 30 zł, zaś na wyprodukowaniu sztuki wyrobu drugiego 0 zł. Ile sztuk wyrobu pierwszego, a ile sztuk wyrobu drugiego powinno się produkować, aby w określonych powyżej warunkach produkcyjnych osiągnąć maksymalny zysk? Zmienne decyzyjne Funkcja celu [ 1 ] = Q = 301 + 0 Ograniczenia obszar rozwiązań dobrych ϕ1 = 1 + 1 0 ϕ = 11 + 9 0 ϕ3 = 41 + 0 16 ϕ4 = 01 + 4 14 ϕ ϕ 5 = 1 6 = 1 0 0 0 0 Przykład przewodni 1 1
Matematyczny model optymalizacji Zmienne decyzyjne [ 1 ] = Funkcja celu Q = 301 + 0 ϕ1 = 1 + 1 0 ϕ = 11 + 9 0 ϕ3 = 41 + 0 16 ϕ4 = 01 + 4 14 ϕ 5 = 1 ϕ = 6 0 0 0 0 ϕ ϕ 1 : 1 + ϕ ϕ ϕ ϕ = : 1 + 3 : 1 = 4 : = 5 : 1 = 6 : = = 4 3.5 0 0 6 4.5 φ3 φ 1 φ 4 ˆ φ Φ Graficzne przedstawienie matematycznego modelu optymalizacji 13
Matematyczny model optymalizacji ϕ 0 = ϕ 0 1 = Q Nieprawidłowe modele optymalizacyjne 14
Optymalizacja 1 1 3 3 obliczeń obliczeń = = 10 zmiennych podział 1 Metoda systematycznego przeszukiwania 15
Optymalizacja Załóżmy, że zadanie optymalizacji polega na skonstruowaniu najlżejszej kratownicy. Konstrukcja kratownicy złożona jest z 10 prętów. Żądamy spełnienia kryteriów wytrzymałościowych i sztywnościowych. Zakładamy, że średnica pręta może zmieniać się od 0 do 100 mm i że interesuje nas dokładność obliczeń rzędu 1 mm. Średnica każdego z 10 prętów może przyjąć więc jedną ze 100 wartości. Musimy sprawdzić, czy nie zostały naruszone ograniczenia dla każdej kombinacji danych. Dla rozwiązań dopuszczalnych musimy policzyć dodatkowo wartość funkcji celu. Jak łatwo sprawdzić, mamy do wykonania co najmniej 100 10 obliczeń. Pętlę 100 000 dodawania liczb całkowitych np. a=a+1, komputer z zegarem.4 MHz wykonuje w czasie 0.157 s. Wynika z tego, że jedna operacja dodawania trwa 1.57*10-6 s. >> Miliony_Lat = 100^10*1.57*10^-6/60/60/4/365/1000000 Miliony_Lat = 4.9 >> Miliony_Lat = 100^1*1.57*10^-6/60/60/4/365/1000000 Miliony_Lat = 4.9e+004 Potrzeba metod numerycznych 16
Błędy w komputerze 1. Błędy wejściowe: wyniki pomiarów, stałe fizyczne.. Błędy zaokrągleń >> = 0. >> for i=1:00 =+0., end = 40.0000000000003 3. Błędy obcięcia e 1 1 1 i n = = 1+ + +... + i! n! i= 0 +... 4. Uwarunkowanie zadania 1 + 1,1 1 + = 10 = 10,4 1 = 4, = 3 1 + = 10 1,05 1 + = 10,4 1 = 8, = 1 17
Metody poszukiwania ekstremum funkcji 1. Metody bezgradientowe. W przypadku tej grupy do znalezienia kierunku poprawy potrzebne są jedynie wartości funkcji. Do metod tej grupy zaliczyć można metody Gaussa- Seidla i Powella.. Metody gradientowe. Są to metody, których zastosowanie wymaga wyznaczenia wartości ś funkcji oraz jej gradientu. Jako przykłady posłużyć mogą: metoda gradientu prostego, metoda najszybszego spadku i metoda gradientu sprzężonego. 3. Metody newtonowskie. Są to metody w których procedura poszukiwania ekstremum funkcji wymaga wyznaczenia wartości, gradientu i hesjanu badanej funkcji. Takimi metodami są np. metoda Newtona-Raphsona i metoda Davidona-Fletchera-Powella. Ogólny podział metod 18
Metody bezgradientowe. Metody minimalizacji funkcji na kierunku Q 1. [ a ] 0 b 0 Qr0 Ql0. l r i i = b = a i i k b + k b i i 5 1 k = 0,618 a a i i Q a0 l0 ro b0 3. l i Q r i i+ 1 = a i Q i+ 1 i b = r a i+ 1 i Q l i > a = l Q r i i+ 1 i b = b 4. ε o a b i i a1 l1 l1 b1 5. = a b i i Metoda złotego podziału 19
Metody bezgradientowe. Metody minimalizacji funkcji na kierunku wielomian interpolacyjny f poszukiwane ekstremum nieznana funkcja Q ekstremum wielomianu interpolacyjnego Q f Qa Qc 0 Metoda interpolacji kwadratowej 1 c Q b a b Q a c a Q c b c Q b a b Q a c a Q c b m + + + + = c m a b b c a c b a c Q c b a b c a b Q c a b a c b a Q f + + = Qa Qb
Metody bezgradientowe 1. 0 = [ 1... n ] iteracja 1 0 ε 0, = 1 ε 1 0,1 etap 1 1, = 1,1 etap. 3. i-1 + j Q ε o = n i, j = 1 λ ε j j i i 1 min = j i 1, j 1 Metoda Gaussa-Seidela 1
Metody bezgradientowe 1. 0 = [ 1... n ] 0, ε 4 0,3 =1 1,. i-1 + j Q ε 3 ε 6 ε 5 i 1, n + 1 i 1, n 1,1 1,3 = 3. ε = n + 1 i 1, n + 1 i 1, n λ ε j j min 0 ε 1 ε ε 0,1 4. ε o i i 1 = ε 1 1 = n i, j = 1 j i 1, j Metoda Powella
Metody gradientowe 1. 0 = [ 1... n ] e. g i -1 = i-grad Q 1 g 5 β e βe 3 3. ε = g g i 1 i - 4 1 ε 0 g 1 e e 4. i i-1 = + eε i-1 g 0 0 i i-1 = + βeε i-1 1 Metoda największego spadku 3
Metody gradientowe 1. 0 = [ 1... n ] g g 1 3 1 i-1 3 g = grad Q. i -1 g 4 4 3. ε i 1 = g g i -1 ε 0 0 4. i-1 Q + λ ε i 1 i 1 min g 0 1 Metoda gradientu prostego 4
Szereg Taylora f i i 1 f f ' f '' + i 1 i i 1 + i 1 1 i i 1 f = 3 --5 f=inline'.^3-*-5'; f1p=inline'3*.^-'; fp=inline'6*'; ploti, fi1,'k*' ploti, fi1+... f1pi1*i-i1,'ko' ploti, fi1+... f1pi1*i-i1+... fpi1*i-i1.^/,'k+' 5
Metoda Newtona f i i 1 f f ' f f '' + i 1 i i 1 + i 1 1 i i 1 i 1 i i 1 + i 1 f ' = 0 f f i 1 i i 1 i 1 1 f = i f ' i 1 i i i-1 = + Poszukiwanie miejsc zerowych 6
Metoda Newtona i i 1 i 1 1 f = i f ' f 3 = 5 i i-1 = + f=inline'.^3-*-5'; f1p=inline'3*.^-'; for i=:6 i=i-1-fi-1/f1pi-1; end Poszukiwanie miejsc zerowych 7
Metody Newtonowskie Poszukiwanie miejsc zerowych i i 1 i 1 1 f = i f ' f Poszukiwanie ekstremum i i 1 i 1 1 f ' = i f '' f' Poszukiwanie ekstremum 8
Metody Newtonowskie f = 1 + G=inline'[*1; *]'; H=inline'[ *1+*; *1+* ]'; :,1=[1;1]; for i=:5 :,i=:,i-1-h:,i-1\g:,i-1; end Poszukiwanie ekstremum 9
Optymalizacja z ograniczeniami Modyfikacja funkcji celu Q Q k Q k Q k = Q + m j j= 1 ϕ j r Q funkcja kary =0. =1 Q = 10 ϕ 1 = + 0. 0 ϕ = 1 0 Q k r1 r = 10 + + + 0. 1 Metoda wewnętrznej funkcji kary 30
Optymalizacja z ograniczeniami Modyfikacja funkcji celu Q Q k Q k Q k m 1 = Q + ϕ j r i j= 1 funkcja kary =1 Q = 10 ϕ1 = [0, + 1 0] Q k = 1 10 + r 1 Metoda zewnętrznej funkcji kary 31
Optymalizacja z ograniczeniami opt Metoda zewnętrznej funkcji kary dla przykładu 1 3
Metoda simple ϕ 1 ϕ Q = + 1 Rozwiązanie optymalne ϕ 3 1 Iteracja metody gradientowej Iteracja metody Simple Liniowy model optymalizacji 33
Oprogramowanie optymalizacyjne Przykład 1 Przykład Ecel 34
Oprogramowanie optymalizacyjne Przykład 1 Ecel 35
Oprogramowanie optymalizacyjne Ecel 36
Oprogramowanie optymalizacyjne Przykład 1 Matlab 37
Oprogramowanie optymalizacyjne Przykład 1 Matlab 38
Oprogramowanie optymalizacyjne R1 Design variable OPVAR, H, DV, 0,H1-5,0.001 OPVAR, R1, DV, 5,H1/-X1//L*H-5,0.001 OPVAR, X1, DV, R1+5,L-R1-5,0.001 OPVAR, Y1, DV, X1/L*H+R1+5,H1-R1-5,0.001 X1 Y1 H State variable OPVAR, SMAX, SV,0,600,0.001 Objective function OPVAR, VOLUME, OBJ,,,0 Ansys 39
Polioptymalizacja Φ q a 3 a 1 a 4 a 1 a a 5 q min 1 q 1min q 1 zbiór rozwiązań polioptymalnych w zbiorze dopuszczalnym krzywa stanów polioptymalnych w zbiorze stanów osiągalnych Krzywa stanów polioptymalnych 40
Polioptymalizacja Q = p q + 1 1 pq q p 1 q = q 1 + p Q p krzywa stanów polioptymalnych w zbiorze stanów osiągalnych = m Q i= 1 p i q i q ˆ, q 1 ˆ q 1 Q = const Pseudopolioptymalizacja 41
Globalne metody optymalizacji 4
Globalne metody optymalizacji Algorytmy genetyczne 1975 L-systemy Zbiory rozmyte 1965 Fraktale 1975 lemu Skala rozwiązywanego probl Problemy klasy "NP" Sieci neuronowe 1943 Statystyka 181 Równania różniczkowe XVIII Automaty komórkowe 1948 Metody dyskretne MES - 1960 Pewność, dokładność i rozwią ązania 43
Globalne metody optymalizacji Liczba dziesiętna Liczba binarna 314 100100001010 [110111001001] Populacja [001111001011] [001111001011] Osobnik Chromosom [11011 1 001101] Osobnik Gen Algorytmy genetyczne 44
Globalne metody optymalizacji Start Losowanie populacji początkowej Selekcja wybór populacji rodzicielskiej Reprodukcja zastosowanie operatorów genetycznych Warunek zatrzymania Najlepszy osobnik Algorytmy genetyczne 45
Globalne metody optymalizacji Selekcja 46
Globalne metody optymalizacji Crossover Mutacja 1 0 1 0 0 1 0 1 0 1 0 1 1 0 Reprodukcja 47
Globalne metody optymalizacji 500 000 1500 y = + 1 1000 500 y - funkcja celu - zmienna decyzyjna 0 0 5 10 15 0 5 30 35 Problem optymalizacyjny: znaleść takie dla którego y osiągnie wartość maksymalną Przykład 48
Globalne metody optymalizacji Osobnik Chromosom y Przystosowanie 1 19 10011 73 0.45% 3 00011 19 0.54% 3 7 00111 99.80% 4 1 10101 883 4.97% 5 8 01000 19 3.65% 6 9 11101 1683 47.60% 000 1500 1000 6 47.60% 1 0.45% 0.54% 3.80% 500 0 0 4 6 8 10 1 14 16 18 0 4 6 8 30 5 3.65% 4 4.97% Przykład 49
Globalne metody optymalizacji Osobnik Chromosom y Przystosowanie 1 19 10011 73 0.45% 3 00011 19 0.54% 3 7 00111 99.80% 4 1 10101 883 4.97% 5 8 01000 19 3.65% 6 9 11101 1683 47.60% 6 47.60% 1 0.45% 0.54% 3.80% Nr Dystrubuanta 1 0.45% 0.98% 3 3.78% 4 48.76% 5 5.40% 6 100.00% Nr Losowanie 1 97 6 3 54 4 13 5 31 6 88 5 3.65% 4 4.97% Nr Dystrubuanta Wylosowane liczby 1 0.45% 13 0.98% 3 3.78% 4 48.76% 6 31 5 5.40% 6 100.00% 97 54 88 Osobnik populacji Osobnik rodzicielskiej populacji Pk Mk Chromosom 1 6 00110 4 00100 3 6 00110 4 1 00001 5 4 00100 6 6 00110 Przykład 50
Globalne metody optymalizacji Wylosowane pary Chromosomy 1 10011 4 10101 4 10101 6 11101 6 11101 6 11101 Punkt Podzielone Nowa krzyżowania chromosomy populacja 3 100** ***11 10001 101** ***01 10111 10*** **101 10101 11*** **101 11101 4 1110* *****1 11101 1110* *****1 11101 Przykład 51
Globalne metody optymalizacji Populacja Pk Osobnik Chromosom y 1 10011 19 73 00011 3 19 3 00111 7 99 4 10101 1 883 5 01000 8 19 6 11101 9 1683 Średnia: 589 Populacja Pk+1 Osobnik Chromosom y 1 10001 17 579 10111 3 1059 3 10101 1 883 4 11101 9 1683 5 11101 9 1683 6 11101 9 1683 Średnia: 16 000 000 1500 1500 1000 1000 500 500 0 0 4 6 8 10 1 14 16 18 0 4 6 8 30 0 0 4 6 8 10 1 14 16 18 0 4 6 8 30 Przykład 5
Globalne metody optymalizacji [001111001011] Wartość funkcji celu w pokoleniu 450 400 350 300 50 00 0 10 0 30 40 50 60 70 80 90 100 110 Kratownica 53
Praktyka kiedy brak jawnej postaci modelu 0 = ones3,1; [, fval] = fmincon @optym_fc_zuraw, 0,[],[],[],[],[],[], @optym_fo_zuraw function [c, ceq] = optym_fo_zuraw [U F Sigma Epsilon] = MESn, f, c,e, 0; end c = [ 5-; absu-; abssigma-100 ]; function waga = optym_fc_zuraw waga=sum; end MES 54
Praktyka kiedy brak jawnej postaci modelu Patrz Dodatek 1. Aproksymacja i interpolacja Aproksymacja i interpolacja 55