AGH, Wydział Elektrotechiki, Automatyki Iformatyki i Elektroiki Katedra Automatyki METODY OPTYMALIZACJI Wojciech Grega Notatki do wykładu Kraków, Ostatia aktualizacja: //4 Wykład I - -
. Wykład I. Wprowadzeie W roku 997 obchodzoo lat owożytej teorii optymalizacji w związku z pioierskimi pracami matematyków i fizyków XVII wieku. Jedak problematyka optymalizacji jest iemal tak stara jak historia cywilizacji. Poiżej przedstawioo krótkie zestawieie ajważiejszych wydarzeń istotych dla rozwoju optymalizacji tej dziedziy wiedzy oraz listę azwisk uczoych, których prace przyczyiły się do rozwoju tej dziedziy wiedzy. Wergiliusz (poeta rzymski 7-9 p.. Chr.): Eeida: historia założeia Kartagiy (85 p..chr. ): zaleźć krzywą zamkiętą a płaszczyźie o daej długości, która zawiera maksymalą powierzchię. 697: Joha Beroulli ogłosił kokurs a rozwiązaie problemu brachistochroy (gr.): zaleźć krzywą a płaszczyźie, łączącą dwa pukty A i B ie leżące w pioie, wzdłuż której pukt materialy, poruszający się pod działaiem siły ciężkości, przebywa drogę w ajkrótszym czasie (Rozwiązaie: łuk cykloidy). Wpłyęło sześć prawidłowych rozwiązań od astępujących matematyków i fizyków: Leibitza, Johaa Beroulliego, Jakub Beroulliego, Newtoa, l Hopitala, Tschirhausa A? B Rys.. Problem brachistochroy Początek rachuku wariacyjego: Lagrage (76-8), Hamilto (85-865), Weierstrass (85-897), Potryagi 99: Współczese metody optymalizacji Wykład I - -
problemy logistyki związae z plaowaiem operacji w czasie II wojy światowej programowaie liiowe (Datzig), programowaie całkowitoliczbowe wybór spośród skończoej liczby decyzji: (Cabot, Balas), teoria programowaia ieliiowego (Kuh,Tucker,Georffrio), rozwój obliczeń komputerowych spowodował wzrost zaiteresowaia algorytmami umeryczymi (Powell, Rose, Fletcher), programowaie dyamicze- zaiteresowaie procesami z pamięcią (Bellma, Riccati), badaia kosmicze: optymalizacja kostrukcji rakiet, problemy sterowaia lotem w stratosferze i w kosmosie optymalizacja procesów ekoomiczych: problemy alokacji produkcji, optymaly skład portfela iwestycyjego, problemy wielkie (ag. large scale) i związae z imi metody dekompozycji (Lasdo, Fideise) soft computig : Joh Hollad (Uiversytet Michiga),975: Adaptatio i Natural ad Artifical Systems Ewolucja podejścia do problemów optymalizacji Aalitycze metody klasycze, czyli metody górskiej wspiaczki : modele stworzoe przez matematyków XVII-XIX wieku: ieskażoy świat kwadratowych fukcji celu i wszechobecych pochodych. Dawały możliwości rozwiązywaia problemów szkolych. Rozwój obliczeń komputerowych: modyfikacje metod klasyczych, algorytmizacja obliczeń umożliwiła zastosowaie do praktyczych problemów auki i techiki, w tym do fukcji ieaalityczych. Softcomputig metody odpore : algorytmy ewolucyje, geetycze, sieci euroowe: zastosowaie metod optymalizacji do złożoych modeli procesów (rys..). Wykład I - -
F=(exp(..*x/pi).*abs(si(4.*x))).*(exp(..*y/pi).*abs(si(.*y))); Rys.. Przykład zadaia wymagającego podejścia odporego. Bibliografia i ie źródła. Fideise W. Szymaowski J, Wierzbicki A.- Teoria i metody obliczeiowe optymalizacji, PWN, Warszawa 98.. Seidler I., Badach A., Molisz W. - Metody rozwiązywaia zadań optymalizacji, WNT, Warszawa, 98. Wit R. Metody programowaia ieliiowego, WNT, Warszawa 986 4. Martos B. Programowaie ieliiowe, PWN, Warszawa 98 5. Gass S.I. Programowaie liiowe, PWN, Warszawa, 97 6. Khachiya L.G., 979- A polyomial algorithm i liear programmig Soviet Mathematics Doklady, (979), 9-94 7. Ogata 8. Turowicz 9. Korytowski A., Ziółko M. - Metody optymalizacji, Skrypt AGH, Kraków 99.Wismer D., Chattergy R. - Itroductio to Noliear Optimizatio, North Hollad 978.Fletcher R.: Practical Methods of Optimizatio, J. Wiley, New York 987 Wykład I - 4 -
.Bertsekas D.P. Noliear Programmig, Athea Scietific, Massachuset, 997.Brdyś M., Ruszczyński A. - Metody optymalizacji w zadaiach WNT, Warszawa, 985 4.Stachurski A., Wierzbicki A.P. Podstawy optymalizacji, Oficya Wydawicza Politechiki Warszawskiej, Warszawa, 5.A. Bhati, Practical Optimizatio Methods, Spriger, 6. Nocedal J., Wright S.J. Numerical Optimizatio, Spriger 999 7.Lasdo, L.S., Optimizatio Theory for Large Scale Systems, McMilla, 97 8.Tamura, H. Decetralized Optimizatio for Distributed lag Models of Discrete Systems, Automatica,, 975, 59-6 9.Grega W. Rozwiązywaie iewypukłych zadań programowaia ieliiowego metodą zbiorów poziomicowych, Elektrotechika, t.8, z., wyd. AGH 989.Grega W., Performace evaluatio of model-referece cotrol, 7th IEEE Iteratioal Coferece o Methods ad Models i Automatio ad Robotics, Międzyzdroje, s. 47 4.David E. Goldberg, Algorytmy geetycze i ich zastosowaie, WNT, 995.Osowowski S., Sieci Neuroowe Oficya Wydawicza Politechiki Warszawskiej, 994..Rutkowscy D. i L., Piliński M. Sieci euroowe, algorytmy geetycze i systemy rozmyte PWN, Warszawa Łódź 997 4.Tag K.S., Ma K.F., Kwog S. Ad He Q., Geetic Algorithms ad their Applicatios, IEEE Sigal Processig Magazie, November 996 5.Putyra M. Algorytmy geetycze, Praca Dyplomowa (opieku W. Grega), Katedra Automatyki AGH, 998 6. Optimizatio Toolbox - MathWorks Ic 7.FTPAK TM Versio. Tutorial Guide Flexible Itelligece Group, L.L.C Stroy www, p.: http://www.ece.orthwester.edu/otc/, rys.. Wykład I - 5 -
Rys.. Stroa www poświęcoa optymalizacji. Formułowaie zadań optymalizacji Dążeie człowieka do perfekcji zajduje swój wyraz w optymalizacji. Zajmuje się oa tym, jak opisać i osiągąć Najlepsze, gdy wiemy już jak mierzyć i zmieiać Dobre i Złe. (Beightler, Philips, 979: Foudatios of Optimizatio) Wykład I - 6 -
maks F(x) y x mi Rys..4 Podstawowe pytaie optymalizacji: Jak realizować proces w ajlepszy sposób?, (x) F - ocea jakości, x,y zmiee decyzyje Wykład I - 7 -
Proces Model x F,X, algorytm xˆ Rys..5 Formułowaie i rozwiązywaie zadaia optymalizacji Proces: zjawisko fizycze, proces techologiczy, system ekoomiczy, plaowaie produkcji, trasportu... Model: jego opis matematyczy sformułoway pod kątem optymalizacji x - zmiea decyzyja ("maipulacyja"), F (x) - ocea jakości (fukcja (-e) celu, kryterium jakości..), X - zbiór rozwiązań dopuszczalych, X - przestrzeń rozwiązań, xˆ - rozwiązaie (optymala wartość zmieej decyzyjej). W dalszym ciągu będziemy się zajmowali problemami optymalizacji, które moża przedstawić jako zadaie stadardowe :: mi{ F ( x)} x X X Wykład I - 8 -
Większość problemów moża sprowadzić do zadaia miimalizacji..4 Przegląd zadań optymalizacji JEDNOKRYTERIALNA POLIOPTYMALIZCJA Optymalizacja globala Optymalizacja Optymalizacja sieci i grafów Statycza Dyamicza Aproksymacja Bez ograiczeń Rówaia ieliiowe Z ograiczeiami Programowaie liiowe R Z Z R Programowaie kwadratowe R :a kieruku Programowaie dyskrete R :a kieruku Rys..6 Podział zadań optymalizacji Wraz z rozwojem metod optymalizacji ukształtowały się określoe działy tej auki, dla których charakterystycze były metody formułowaia i rozwiązywaia zadań. (Rys..6) A. Optymalizacja statycza A. Ciągłe zadaia programowaia (ZPN) Wykład I - 9 -
X = R Y = R F( x) : R R specjaly przypadek: poszukiwaie jedowymiarowe ( = ): X = R A.. Bez ograiczeń Y = R F ( x) : R R X = X = R A.. Z ograiczeiami X = g( x ) : { x : g( x ) =, h( x ) } R R m, h( x ) : R R p specjaly przypadek: ograiczeia proste (kostkowe): a x b A... Zadaia programowaia liiowego (PL). Samodziely kieruek tzw. badań operacyjych z liczymi zastosowaiami w ekoomii i zarządzaiu. X = R Y = R F( x) = C X = T x { x : Ax b, x } A. Dyskrete zadaia programowaia (całkowitoliczbowe) X = Z Y = R R F( x) : Z R X = X (bez ograiczeń) lub X X (z ograiczeiami) specjaly przypadek programowaie biare: X = B Z B. Optymalizacja dyamicza, związaa z zastosowaiami w mechaice, automatyce X = H (przestrzeń fukcyja) F Y = R [ x( t) ]: H R (fukcjoał) Wykład I - -
X -więzy Dla każdego z wymieioych zadań moża sformułować zadaie optymalizacji wielokryterialej Polioptymalizacja (zadaie p-kryteriale, optymalizacja statycza): X = R Y = R p F( x) : R R p X = = X R lub X X ograiczeiami)) (odpowiedio: zadaie polioptmalizacji bez ograiczeń (z.5 Przykłady zadań optymalizacji Przykład.: Optymalizacja kostrukcji Trasport m chemikaliów musi być zrealizoway w szczelych, prostopadłościeych pojemikach (Rys..7). Góra A B B A x Do x x Rys..7 Pojemik a chemikalia Budowa pojemika: - materiał a górą powierzchię kosztuje $/m - boki A kosztują $/m - boki B i Do muszą być wykoae z odpadów, które ic ie kosztują, ale moża je użyć tylko w ilości m a pojemik - trasport kosztuje $ od pojemika Celem optymalizacji jest miimalizacja kosztów wysyłki. Sformułowaie problemu Koszt jedego pojemika wyosi: + x x + x x Wykład I - -
Liczba pojemików wyosi: z = x x x Ogóly koszt wysyłki wyosi: Ograiczeia: xx x x x x, x + x x 4 + + x x, x, Zadaie optymalizacji moża sformułować w sposób astępujący: mi xx x ( x x x ) X 4 + + x x = { x, x, x : x, x, x, x x + x x, X R } Klasyfikacja zadaia: zadaie optymalizacji statyczej, programowaie ieliiowe Przykład kodu MATLABA rozwiązującego zadaie. %Optymalizacja kształtu koteera op=foptios; op()=; op()=.; op()=.; op xpocz=[6 6 ] % ograiczeia proste dogr=[...] gogr=[ ] x=costr('koteer',xpocz,op,dogr,gogr) fuctio [f,g]=koteer(x) %fukcja celu; f=/(x()*x()*x())+4/x()+/x(); %ograiczeie g()=*x()*x()+x()*x()-; Wykład I - -
Przykład.: Optymalizacja kostrukcji : optymalizacja kształtu budyku h,5 d w l Rys..8 Część adziema i podziema projektowaego budyku Ozaczeia: - liczba pięter d zagłębieie w ziemi h wysokość poad ziemią l długość podstawy w szerokość podstawy Założeia projektowe: powierzchia użytkowa ie miejsza iż m, podstawa w żadym wymiarze ie przekroczy 5 m, stosuek długości do szerokości musi spełiać waruki złotego podziału (.68), wysokość pięter,5 m, koszty ogrzewaia ie mogą przekroczyć 5 $, przy założeie, że rocze koszty ogrzewaia wyoszą $ od m budyku poad powierzchią ziemi, Wykład I - -
Zadaie: Określić wymiary budyku w ziemi (koszty wykopu). Pierwsze sformułowaie: Fukcja celu: F ( d, l, w) = dlw d, l, w, h, tak, aby zmiimalizować koszt zagłębieie Ograiczeia: lw l 5, w 5 l =.68w d + h =.5 (hl + hw + lw) 5, d, h, l, w Zmiee decyzyje: d, l, w, h, Drugie sformułowaie: Elimiując ograiczeia rówościowe: d + h =.5, l =.68w otrzymujemy zadaie w R, mi F ( d, w) = mi.68 dw X = d x = w h (5.6 hw +.68 w ) 5.68 w 5 x : }.46857( d + h) w,, d h w { Przykład kodu MATLABA rozwiązującego zadaie. %Budyek - procedura glowa %foptios opcje default op=foptios; op()=; op()=.; op()=.; op(4)=.; op Wykład I - 4 -
xpocz=[5 5 5] dogr=[ ] gogr=[ ] [x,optios]=costr('budyek',xpocz,op,dogr,gogr) fuctio [f,g]=budyek(x) f=.68*x()*x()*x(); g()=*(5.6*x()*x()+.68*x()*x())-5; g()=.68*x()-5; g()=-.46857*(x()+x())*x()*x()+; Przykład.: Zwalczaie szkodików (alokacja zasobów) Zadaie polega a rozmieszczeiu pojemików ze środkiem owadobójczym pośród giazd os a platacji w kształcie kwadratu o boku m, tak aby wytępić maksymalą liczbę os. Każde giazdo os ma określoe położeie za pomocą współrzędych (Wx i, Wy i ) i szacukową liczbę os określoą przez wartość W i. Każdy pojemik posiada swoje współrzęde położeia (Cx i, Cy i ), tab.. Tab.. Liczba Położeie giazd os W i Wx i Wy i 5 65 8 7 7 44 95 5 45 69 54 56 65 67 78 678 4 75 4 76 8 66 89 945 84 4 967 4 Wykład I - 5 -
Położeie giazd y 8 6 4 x 5 Rys..9 Rozmieszczeie giazd os Sformułowaie problemu: Fukcja celu: gdzie: F ( C xi, C yi ) i= = i= K W i i k + k + k, gdy k + k + k < W i K i = i=,,.., W i, w przeciwym przypadku gdzie: k j - liczba os wytępioych za pomocą pojemika j=,, jest określoa jako: k j = Wx i Cx j W i + 4.4 Wy Cy i j +. Ograiczeia: współrzęde pojemików : Cx j, Cy j Klasyfikacja zadaia: zadaie programowaia ieliiowego z ograiczeiami, X =. 6 X R Wykład I - 6 -
Przykład.: Optymalizacja produkcji. Rafieria wytwarza dwa rodzaje bezy w dwóch procesach produkcyjych (I i II a Rys..), składających się z cykli produkcyjych. Wykorzystuje się przy tym dwa rodzaje surowców: ropę A i B. Efektywość poszczególych procesów przedstawioo w Tab.. A B pr.i pr.ii X Y zysk Rys.. Schemat produkcji Tab.. Wejście Wyjście Zysk Proces Ropa A Ropa B Bezya X Bezya Y I II 6 Ograiczeia: Ilość dostępej ropy A ie przekracza 6 [j]. Ilość dostępej ropy B ie przekracza 9 [j]. Aaliza ryku wykazała, że są zamówieia a co ajmiej [j] bezyy X i [j] bezyy Y. Jak sterować produkcją, aby maksymalizować zysk? Sformułowaie problemu: Zmiee decyzyje: x - liczba cykli produkcyjych procesu I, x - liczba cykli produkcyjych procesu II. Ograiczeia produkcji: x x + x + 6x 6 9 Waruki sprzedaży: x x + x + x Zysk: F ( x, x ) = x + x Wykład I - 7 -
Klasyfikacja zadaia: zadaie programowaia liiowego, całkowitoliczbowe. X = X Z Przykład.4: Aaliza daych pomiarowych [Matlab] W wyiku przeprowadzoego eksperymetu uzyskao dae pomiarowe, jak a rys... Należy przybliżyć je w sposób optymaly wybraą krzywą aalityczą. 6 5 4 y datai Iput data x i y datai 5.8955..569..57..979.4.899.5.98.6.59.7.96.8.4.9.845..6856..6..59..946.4.9.5.5474.6.459.7.7.8..9.74..66..4.6.8..4.6.8 x i Rys.. Dae pomiarowe Sformułowaie zadaia: Dla przybliżeia wybrao 4-parametrową krzywą wykładiczą w postaci: f(x) = c()*exp(-lam()*x) + c()*exp(-lam()*x) Parametry: c ( ), c(), lam(), lam() Fukcja celu: F( c(), c(), lam(), lam()) = [ f ( xi, c(), lam(), c(), lam()) ydata i ]. i Klasyfikacja zadaia: zadaie programowaia ieliiowego (kwadratowego), bez ograiczeń, X = =. 4 X R Rozwiązaie przedstawia rys... Wykład I - 8 -
6 Iput data 5 4 f(x) = c()*exp(-lam()*x) + c()*exp(-lam()*x)..4.6.8..4.6.8 Rys.. Rozwiązaie zadaia aproksymacji Przykład.6: Sterowaie serwomechaizmem DC Laboratoryjy serwomechaizm składa się z silika DC z obciążeiem (hamulec) i układu pomiarowego prędkości i położeie (Rys..,.4). Zadaiem sterowaia jest optymale adążaie za zadaym w czasie położeiem wału serwomechaizmu. Wykład I - 9 -
Rys.. Laboratoryjy serwomechaizm DC hamulec wiroprądowy silik DC przekładia x tachoprądica DC u ekoder x Rys..4 Schemat serwomechaizm DC. Sformułowaie problemu: Więzy systemu (liowy model dyamiki systemu): p x X = { x : x& = Ax + Bu, x() = x, y = Cx} u U = C [, TK ] C, T ] - przestrzeń fukcji ciągłych, T ]. [ K gdzie: [ K C A B K S = s = C = T S T S,,, gdzie: x oraz x są odpowiedio położeiem i prędkością kątową wału silika, T,K parametrami serwomechaizmu. Fukcjoał jakości dla tego zadaia zadao w postaci: J ( u ) = x(tk ) + x(tk ) + u ( t )Ru( t )] dt Należy zaleźć sterowaie u( t) U sprowadzające sta systemu do zera, które miimalizuje fukcjoał jakości a odciku czasu, T ], a rówocześie zapewia spełieie: x X. [ K Jest to zatem zadaie optymalizacji dyamiczej, z kwadratowym fukcjoałem. T K T s s, C s są Wykład I - -
Zadaie takie moża sprowadzić do zadaia optymalizacji statyczej, tak jak pokazao to w rozdziale xxx. Przykład.7 Optymalizacja parametrycza regulatora PID dla serwomechaizmu DC d y - K r T s i Td s ( + std / K d ) + + + G ( s ) y Rys..5 Stabilizujące sprzężeie zwrote z regulatorem PID Dla przykładu.6 zastosowao stabilizujące sprzężeie zwrote od położeia wału, z regulatorem PID (rys..5). W rozważaym przykładzie model serwomechaizmu sformułoway jest w postaci trasmitacji: Y(s) G(s) = = U(s) G (s) = C ( G (s) si - A) - c K s (c /c ) K s s (T s+) s (T s+) B = s = c s = c K K s s T s+ T s+ s s C s K s s (T s+) s K s T s s+ y (t) K = r K =.4 r t Rys..6 Symulacja działaia regulatora PID dla serwomechaizmu DC Wykład I - -
Do stabilizacji serwomechaizmu zastosowao regulator PID o trasmitacji daej a rys..6, a jakość regulacji oceiao poprzez kwadratowy fukcjoał, o postaci: J(K,T,T ) = e dt r i d gdzie d K,T, T są parametrami regulatora PID, e t) = y ( t) y ( ). Zadaie optymalizacji r i d parametryczej może być sformułowae teraz jako mi e ( t ) dt Kr,T i,t d Przy ograiczeiu wyikającym z dyamiki systemu ( t E(s) G(s)= = Yd (s) +G (s) G (s) r s oraz dostępego zakresu astaw K mi r K r K max r, T mi i T T Przy wykorzystaiu twierdzeia Parsevala wartość fukcji celu moża wyliczyć bez przechodzeia a postać czasową, jako i max i, T mi d T d T max d T ( - K K T ) J(K,T,T ) = e (t) dt = i s r s r i d. K K [T +T (K K T - )] s r s i r s d co sprowadza zadaie do statyczego problemu ieliiowego z ograiczeiami. Rys..6 pokazuje wpływ wzmocieia regulatora PID a przebieg sygału wyjściowego modelu układu stabilizacji z Rys..5. Jak widać a przykładzie.6 i.7 dla daego systemu dyamiczego moża formułować zadaia sterpwaia optymalego(.6) ale także zadaia optymalizacji parametryczej (.7). Wykład I - -