Taikomieji optimizavimo metodai

Σχετικά έγγραφα
Matematika 1 4 dalis

Dviejų kintamųjų funkcijos dalinės išvestinės

Vilniaus universitetas. Edmundas Gaigalas A L G E B R O S UŽDUOTYS IR REKOMENDACIJOS

1.4. Rungės ir Kuto metodas

X galioja nelygyb f ( x1) f ( x2)

Temos. Intervalinės statistinės eilutės sudarymas. Santykinių dažnių histogramos brėžimas. Imties skaitinių charakteristikų skaičiavimas

Matematika 1 3 dalis

Matematinės analizės konspektai

FUNKCIJOS. veiksmu šioje erdvėje apibrėžkime dar viena. a = {a 1,..., a n } ir b = {b 1,... b n } skaliarine sandauga

I dalis KLAUSIMŲ SU PASIRENKAMUOJU ATSAKYMU TEISINGI ATSAKYMAI

Specialieji analizės skyriai

AIBĖS, FUNKCIJOS, LYGTYS

1. Individualios užduotys:

IV. FUNKCIJOS RIBA. atvira. intervala. Apibrėžimas Sakysime, kad skaičius b yra funkcijos y = f(x) riba taške x 0, jei bet kokiam,

Specialieji analizės skyriai

Įžanginių paskaitų medžiaga iš knygos

MATEMATINĖ LOGIKA. Įžanginių paskaitų medžiaga iš knygos

2015 M. MATEMATIKOS VALSTYBINIO BRANDOS EGZAMINO UŽDUOTIES VERTINIMO INSTRUKCIJA Pagrindinė sesija. I dalis

ANALIZINĖ GEOMETRIJA III skyrius (Medžiaga virtualiajam kursui)

Ketvirtos eilės Rungės ir Kutos metodo būsenos parametro vektoriaus {X} reikšmės užrašomos taip:

Elektronų ir skylučių statistika puslaidininkiuose

Paprastosios DIFERENCIALINĖS LYGTYS

2009 m. matematikos valstybinio brandos egzamino VERTINIMO INSTRUKCIJA Pagrindinė sesija 1 6 uždavinių atsakymai

0.1. Bendrosios sąvokos

Paprastosios DIFERENCIALINĖS LYGTYS

06 Geometrin e optika 1

4.1 Skaliarinė sandauga erdvėje R n Tarkime, kad duota vektorinė erdvė R n. Priminsime, kad šios erdvės elementai yra vektoriai vektoriu

LIETUVOS JAUNŲ J Ų MATEMATIKŲ MOKYKLA

FDMGEO4: Antros eilės kreivės I

I.4. Laisvasis kūnų kritimas

ATSITIKTINIAI PROCESAI. Alfredas Račkauskas. (paskaitų konspektas 2014[1] )

Paprastosios DIFERENCIALINĖS LYGTYS

0.1. Bendrosios sąvokos

1 TIES ES IR PLOK TUMOS

EKONOMETRIJA 1 (Regresinė analizė)

Laboratorinis darbas Nr. 2

2008 m. matematikos valstybinio brandos egzamino VERTINIMO INSTRUKCIJA Pagrindinė sesija

VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA. Algoritmų teorija. Paskaitų konspektas

VIII. FRAKTALINĖ DIMENSIJA. 8.1 Fraktalinės dimensijos samprata. Ar baigtinis Norvegijos sienos ilgis?

2.5. KLASIKINĖS TOLYDŽIŲ FUNKCIJŲ TEOREMOS

DISPERSINĖ, FAKTORINĖ IR REGRESINĖ ANALIZĖ Laboratorinis darbas Nr. 1

1 Tada teigini Ne visi šie vaikinai yra studentai galima išreikšti formule. 2 Ta pati teigini galima užrašyti ir taip. 3 Formulė U&B C reiškia, kad

Statistinė termodinamika. Boltzmann o pasiskirstymas

DISPERSINĖ, FAKTORINĖ IR REGRESINĖ ANALIZĖ Laboratorinis darbas Nr. 2

4.3. Minimalaus dengiančio medžio radimas

Su pertrūkiais dirbančių elektrinių skverbtis ir integracijos į Lietuvos elektros energetikos sistemą problemos

Spalvos. Šviesa. Šviesos savybės. Grafika ir vizualizavimas. Spalvos. Grafika ir vizualizavimas, VDU, Spalvos 1

Matematinės analizės egzamino klausimai MIF 1 kursas, Bioinformatika, 1 semestras,

Ekonometrija. Trendas ir sezoninė laiko eilutės komponentė

Praeita paskaita. Grafika ir vizualizavimas Atkirtimai dvimatėje erdvėje. Praeita paskaita. 2D Transformacijos. Grafika ir vizualizavimas, VDU, 2010

1 Įvadas Neišspręstos problemos Dalumas Dalyba su liekana Dalumo požymiai... 3

ELEMENTARIOJI TEORIJA

Diskrečioji matematika

II dalis Teisingas atsakymas į kiekvieną II dalies klausimą vertinamas 1 tašku g/mol

Algoritmai. Vytautas Kazakevičius

Arenijaus (Arrhenius) teorija

Atsitiktinių paklaidų įvertinimas

III. MATRICOS. DETERMINANTAI. 3.1 Matricos A = lentele žymėsime taip:

Vilniaus universitetas Matematikos ir informatikos fakultetas Informatikos katedra. Gintaras Skersys. Mokymo priemonė

PNEUMATIKA - vožtuvai

FIZ 313 KOMPIUTERINĖ FIZIKA. Laboratorinis darbas FIZIKOS DIFERENCIALINIŲ LYGČIŲ SPRENDIMAS RUNGĖS KUTOS METODU

Vilius Stakėnas. Kodavimo teorija. Paskaitu. kursas

Analizės uždavinynas. Vytautas Kazakevičius m. lapkričio 1 d.

1 iš 15 RIBOTO NAUDOJIMO

LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS 2014 METŲ MATEMATIKOS VALSTYBINIO BRANDOS EGZAMINO REZULTATŲ

ŠVIESOS SKLIDIMAS IZOTROPINĖSE TERPĖSE

Įvadas į laboratorinius darbus

A priedas. Diagnostikoje naudojami tarptautiniai ISO standartai

1. Klasifikavimo su mokytoju metodai

Matematinė logika. 1 skyrius Propozicinės formulės. žodį, Graikiškas žodis logos (λóγoς) reiškia

Modalumo logikos S4 kai kurios išsprendžiamos klasės

04 Elektromagnetinės bangos

III.Termodinamikos pagrindai

MONTE KARLO METODAS. Gediminas Stepanauskas IVADAS Sistemos Modeliai Modeliavimas ir Monte-Karlo metodas...

KADETAS (VII ir VIII klasės)

eksponentinės generuojančios funkcijos 9. Grafu

V skyrius ĮVAIRŪS PALŪKANŲ APSKAIČIAVIMO KLAUSIMAI

Remigijus Leipus. Ekonometrija II. remis

Rinktiniai informacijos saugos skyriai. 3. Kriptografija ir kriptografijos protokolai: Klasikinė kriptografija

TEORIJA. RINKTINIAI MATEMATIKOS SKYRIAI (Informatikos spec., 2 srautas, magistrantūra, 1 semestras) PROGRAMA. su skaidžia savybe skaičiu

EUROPOS CENTRINIS BANKAS

t. y. =. Iš čia seka, kad trikampiai BPQ ir BAC yra panašūs, o jų D 1 pav.

MATEMATIKOS BRANDOS EGZAMINO PROGRAMA I. BENDROSIOS NUOSTATOS

Dirbtiniai neuroniniai tinklai

DISKREČIOJI MATEMATIKA

Integriniai diodai. Tokio integrinio diodo tiesiogin įtampa mažai priklauso nuo per jį tekančios srov s. ELEKTRONIKOS ĮTAISAI 2009

1. Vektoriu veiksmai. Vektoriu skaliarinė, vektorinė ir mišrioji sandaugos

Papildomo ugdymo mokykla Fizikos olimpas. Mechanika Dinamika 1. (Paskaitų konspektas) 2009 m. sausio d. Prof.

2014 M. FIZIKOS VALSTYBINIO BRANDOS EGZAMINO UŽDUOTIES VERTINIMO INSTRUKCIJA Pagrindinė sesija

Vilijandas Bagdonavi ius. Julius Jonas Kruopis MATEMATIN E STATISTIKA

Donatas Surgailis Finansų matematika

Balniniai vožtuvai (PN 16) VRG 2 dviejų eigų vožtuvas, išorinis sriegis VRG 3 trijų eigų vožtuvas, išorinis sriegis

8. LENKIAMŲ PLOKŠTELIŲ ELEMENTAI

3 modulis. Funkcijos sąvoka. Laipsninė, rodiklinė ir logaritminė funkcija

5 klasė. - užduotys apie varniuką.

4 laboratorinis darbas. PARAMETRŲ ĮVERČIAI IR STATISTINĖS HIPOTEZĖS

Pav1 Žingsnio perdavimo funkcija gali būti paskaičiuota integruojant VIPF. Paskaičiavus VIPF FFT gaunamo amplitudinė_dažninė ch_ka.

Pagrindiniai pasiekimai kokybin je molekulių elektronin s sandaros ir cheminių reakcijų teorijoje. V.Gineityt

TIKIMYBIU TEORIJA HAMLETAS MARK AITIS MYKOLO ROMERIO UNIVERSITETAS 2010

1. Pirštu atspaudu atpažinimas

Transcript:

Taikomieji optimizavimo metodai 1

LITERATŪRA A. Apynis. Optimizavimo metodai. V., 2005 G. Dzemyda, V. Šaltenis, V. Tiešis. Optimizavimo metodai, V., 2007 V. Būda, M. Sapagovas. Skaitiniai metodai : algoritmai, uždaviniai, projektai, V., 1998. R. Čiegis, V. Būda, Skaičiuojamoji matematika, V.,1997 V. Čiočys, R. Jasilionis. Matematinis programavimas. V., 1990 2

Pagrindinės tėmos Optimizavimo uždavinio matematinis formulavimas Vieno kintamojo funkcijų optimizavimas Daugelio kintamųjų funkcijų optimizavimas be apribojimų Daugelio kintamųjų funkcijų optimizavimas esant apribojimams Globalusis optimizavimas Tiesinio programavimo uždaviniai Daugiakriteriniai optimizavimo uždaviniai 3

Vertinimo tvarka 20% 20% 1 kolokviumas 10% 50% 2 kolokviumas Papildomi balai Egzaminas 4

Papildomi balai Savarankiški darbai Namų darbai Aktyvumas Teisingi atsakymai 5

Praktinis uždavinys Matematinis uždavinys Ką ir kiek gaminti, kad maksimizuoti pelną? Tiesinio programavimo gamybos planavimo uždavinys Kapitalo investavimas Stochastinis modeliavimas ir optimizavimas (Vertybinių popierių kainų svyravimų aprašymas) Projekto darbų tvarkaraščio sudarymas Tinklinio planavimo uždavinys 6

Problemos sprendimo schema Problema Interpretavimas Detalizavimas Klasifikavimas Modeliavimas Matematinis modelis Sprendimo algoritmas Metodo parinkimas Algoritmizavimas Programavimas Programa Rezultatas Skaičiavimai 7

Matematinio modelio sudarymo schema Įvedami kintamieji (nežinomieji) Užrašomi apribojimai kintamiesiems Užrašoma tikslo funkcija ir nurodoma min ar max jos reikšmė yra ieškoma Užrašomas uždavinio matematinis modelis 8

Problemos pavyzdys Swedbank SEB ŠB Antanas 5% 2% 5% 50 Leonas 25% 15% 40% 60 Petras 15% 30% 10% 10 100 45 60 9

Problemos matematinis modelis (Tiesinio programavimo uždavinys) min(0,05a1 0,02a2 0,05a3 0,25l1 0,15l2 0,4l3 0,15 p1 0,3 p2 0,1 p3 ) a1 a2 a3 50 l l l 60 1 2 3 p1 p2 p3 10 a1 l1 p1 100 a2 l2 p2 45 a3 l3 p3 60 a1 0, a2 0, a3 0, l1 0, l2 0, l3 0, p1 0, p2 0, p3 0. 10

Optimizavimo uždavinio matematinis formulavimas Matematiškai formuluojant optimizavimo uždavinį turi būti duoti bent du dalykai optimizuojamų elementų aibė ir tų elementų gerumo matas. Matematinis uždavinio modelis būtų: opt f ( X ) X D f(x): D Y yra gerumo matas, optimizavimo teorijoje vadinamas tikslo funkcija. D yra optimizuojamų objektų aibė, teorijoje vadinama leistinąja sritimi. opt yra geriausio elemento vertinimo būdas (pvz., pagal min ar max f(x) reikšmę). Y yra funkcijos reikšmių aibė. Funkcijos reikšmių aibė turi būti bent iš dalies sutvarkyta: jos elementai turi būti palyginami. Jei kuriems nirs elementams palyginimo santykis nenustatytas, jie laikomi ekvivalentiškais. 11

Optimizavimo uždavinio matematinis formulavimas Funkcijos reikšmių aibė turi būti bent iš dalies sutvarkyta jos elementai turi būti palyginami. T.y. Aibėje Y turi būti apibrėžtas dviejų aibės elementų palyginimo santykis. Jei kuriems nors elementams palyginimo santykis nenustatytas, jie laikomi ekvivalentiškais. Atvaizdavimas f(x): D Y aibėje D sukuria atitinkamą palyginimo santykį kriterijaus f(x) atžvilgiu. Be šio santykio negalėtume išrinkti geriausio elemento. y1 Taigi formuluojant optimizavimo uždavinį šis reikalavimas yra vianintelis būtinas formalus reikalavimas. Toliau konkretinant aibes D bei Y ir funkciją f(x) gaunamos įvairios optimizavimo uždavinių rūšys. 12

Funkcijos optimumas Funkcijos optimumu vadinamas toks Xopt, kuriam neegzistuoja X toks, kad f(x) geresnis už f(xopt). T.y. Aibėje D geresnių elementų nėra. Minimumo paieškos (arba minimizavimo) uždavinys yra ekvivalentus maksimizavimo uždaviniui su ta pačia tikslo funkcija, tik padauginta iš -1. 13

Aplinka ir atstumas Atstumas yra funkcija d, tenkinanti sąlygas: d(u,v) 0; d(u,v) = 0 tada ir tik tada, kai U = V; Atstumas teigiamas tik tarp skirtingų taškų. d(u,v) = d(v,u) ; Atstumas yra simetrinis; d(u,v) d(u,w) + d(w,v); Atstumas tenkina trikampio taisyklę. n d 1 X, Z = x i z i i=1 d 2 X, Z = n xi z i 2 i=1 d X, Z = max x i z i 1 i n 14

Aplinka ir atstumas Aibė, kurioje apibrėžtas atstūmas, vadinama metrine erdve. Metrinės erdvės elementai vadinami taškais. Jei aibė D būtų nesutvarkyta, ir jei neturėtume jokių žinių apie tikslo funkciją, tada praktiškai nebūtų įmanoma sukurti racionalų optimumo paieškos algoritmą. Pvz., apskaičiavus funkcijos reikšmę viename taške nebūtų galima pasakyti apie kitas reikšmes. Liktų tik perrinkti visus D elementus skaičiuoti jų tikslo funkcijos reikšmes ir išrinkti geriausią. Jei elementų daug ar net begalybė užduotis beviltiška. Todėl nagrinėjams tam tikros leistinųjų sričių ir tikslo funkcijų klasės. Praktikoje konkretų matematinį modelį padeda suformuluoti žinios apie uždavinį. 15

Aplinka ir atstumas Optimizavimo algoritmuose svarbi lokaliojo optimumo, t.y. optimumo tam tikroje aplinkoje sąvoka. Taško U ε-aplinka vadinsime aibę taškų, nenutolusių nuo U daugiau nei per ε: Nε(U) = {X: d(u,x) ε} Funkcijos lokuliuoju optimumu vadinamas taškas U, kuris leistinojoje srityje turi aplinką tik ne iš geresnių taškų. Optimumas visoje leistinojoje srityje vadinamas globaluoju optimumu. Daugelį uždavinių galima išspręsti efektyviais lokaliojo optimumo paieškos algoritmais. Tačiau jei funkcija turi daug lokaliųjų optimumų, tai paprastai sunku rasti globalųjį. 16

Optimumo egzistavimas. Ekstremalių reikšmių teorema Ieškant optimumo gera žinuoti, kad jis egzistuoja. Aibės D ribiniu tašku vadinamas taškas X, jei bet kurioje norimai mažoje jo aplinkoje atsiras tašįkas Z X. T.y. Taškas X nėra sankaupos taškas. Metrinės erdvės poaibis D vadinamas uždaru, jei kiekvienas jos ribinis taškas X priklauso D. Metrinės erdvės Q poaibis D vadinamas aprėžtu, jei egzistuoja metrinės erdvės taškas Z ir teigiamas skaliaras r, tokie, kad bet kuriam X iš D galioja d(x,z) r. T.y. jei D telpa į kokį nors hiperskritulį. Metrinės erdvės poaibis vadinamas kompaktu, jei jis yra uždaras ir aprėžtas. 17

Vėjerštraso ekstremalių reikšmių teorema Reali tolydi funkcija, apibrėžta kompakte, tame kompakte įgyja minimalią ir maksimalią reikšmes. 18

Uždavinių formulavimo pavyzdžiai Stačiakampio gretasienio tūris. Stačiakampio gretasienio sienų plotų suma lygi 1. Kokia turėtų būti stačiakampio gretasionio formos dėžė, kad jos tūris būtų maksimalus? 19

Stačiakampio gretasienio tūris Tūris: f ( X ) = x1 x2 x3. Apribojimai: D = { X R : x i 0, i = 1,2,3 ; 2 x 1 x 2 2 x 1 x 3 2 x 2 x 3 = 1 }. 3 20

Netiesinė regresija Aproksimavimo uždavinys: eksperimentų rezultatai aproksimuojami funkcija su nežinomais parametrais. Parametrų reikšmės gaunamos minimizuojant skirtumus tarp eksperimento rezultatų ir funkcijos reikšmių. Teoriniam idealių dujų atvejui galioja lygtis PV = RT. Kur P slėgis, V molinis tūris, T temperatūra, R universali dujų konstanta, lygi 82,06. Tikrovėje yra kitaip. Buvo pasiūlyta keletas neidealių dujų dėsnių, vienas iš jų Redliko-Kvongo lygtis P= RT a. V b T V (V + b) 21

Netiesinė regresija Lygtyje yra du nežinomi patrametrai a ir b. Pi, Vi, ir Ti yra žinomi iš eksperimentų rezultatų. Parametrai a ir b randami minimizuojant eksperimentų rezultatų ir teorinio P skirtumų kvadratų sumą y: min = min a,b a,b { n i=1 [ ( RT i a Pi V i b T i V i (V i + b) )] } 2. 22

Gaisrininkų paskyrimas Miško gaisras plinta 2 km ruožu 32 m/min greičiu. Jį galima sustabdyti pastačius užtvarą. Vienas darbininkas per minutę gali pastatyti 2 m užtvaros. Darbininko atvežimas į darbo vietą ir atgal kainuoja 20 eu. Darbo užmokėstis 6 eu/val. Miško 1 km2 kaina 20000 eu. Kiek reikia darbininkų, kad nuostoliai būtų minimalūs? 23

Gaisrininkų paskyrimas Minimizuosime nuostolius N nuo gesinimo pradžios: N = M + D. M sudegusio miško kaina; D išmokos darbininkams. Miško degimo trukmė yra T = t + l. l darbininkų pristatymo į gesinimo vietą laikas, t gaisro gesinimo trukmė. Per laiką T sudegs 64000T m2 miško. Nuostoliai sudarys: M = 64000(t+l) 20000 = 1280(t+l). 1000000 Tarkime, gaisra gesins x darbininkų. Vieno darbininko darbo kaina yra ( 20 + 6 ) 1 t. 60 24

Gaisrininkų paskyrimas Tuomet x darbininkų darbas kainuos ( D = x 20 + 6 ) 1 t = x (20 + 0,1 t). 60 Nuostolio funkcija bus y = 1280(t+l) + x (20+0,1t). Yra lygybinis apribojimas per laik1 t darbininkai turi pastatyti 2000 m užtvara: 2tx = 2000. 25

Gaisrininkų paskyrimas Apribojimą, kartu ir nežinomą kintamąjį t, galima eliminuoti, jį išreiške per x: t= Iš čia išplaukia: y = 1280( 2000 1000 =. 2x x 1000 1000 1280000 +l) + x(20+0,1 )= + 20 x + 100 + 1280 l. x x x Gavome minimizavimo uždavinį su sveikuoju kintamuoju: min y = min x x { } 1280000 + 20 x + 100 + 1280 l. x 26

Būtinos optimumo sąlygos Būtina optimumo sąlyga yra sąlyga, kuri visada galioja, jei taške yra optimumas. Lokaliojo minimumo sąlygos idėja: visomis galimomis kryptimis iš optimumo taško funkcija nemažėja. Konstruojant optimizavimo metodus ir įrodant tų metodų bei optimumų savybes funkcijos dažnai aproksimuojamos Teilogo daugianatiais. Teiloro teorema. Jei funkcija f(x) yra n+1 kartą tolydžiai diferencijuojama taško X aplinkoje Nε(X) = {Z: d(x,z) ε}, tada kiekviename tos aplinkos taške Z ją galima išreikšti Teiloro skleidiniu: n n f (Z ) =... i 1=0 i n=0 { } i i n+1 f (X ) i i... ( z x )...( z x ) + O ( Z X ). 1 1 n n i i i!... i! x1 xn 1 n 1 n 1 1 n n 27

Būtinos optimumo sąlygos Iš teoremos matome, kad visada atsiras pakankamai maža taško X aplinka, kurioje funkcija f(x) galima norimu tikslumu aproksimuoti n-ojo laipsnio daugianariu. Tai išplaukia iš visų Teilogo skleidinio narių tolydumo ir iš to, kad liekamasia narys yra aukštesnio laipsnio ir mažindami ε, paklaida galime pafdaryti norimai mažą. Apibrėžimas. Diferencijuojamos funkcijos f: Rn R gradientą (dalinių išvestinių taške X vektorių) pažymėkime f(x). Gradientas? 28

Būtinos optimumo sąlygos Vieną arba du kartus tolydžiai diferencijuojamų funkcijų pirmosios ar antrosios eilės Teiloro skleidiniai taške Z = X + λ p vektorine forma atitinkamai užrašomi taip: f (Z ) = f ( X +λ p) = f ( X ) + λ f ( X ) p + O ( λ p ), T 2 2 2 3 T 3 f (Z ) = f ( X ) + λ f ( X ) p + λ p H ( X ) p + O ( λ p ), 2 T Čia λ skaliaras, p n-matis vektorius, T transponavimo ženklas, H hesianas. 29

Būtinos optimumo sąlygos Jei funkcija yra tolydžiai diferencijuojama, tai kryptinė išvestinė kryptimi p d f (X ) = d p lim f ( X + h p) f ( X ) h 0 h yra lygi f(x)pt, čia p yra vienetinis krypties vektorius. Tai tiesiogiai išplaukia iš Teiloro teoremos pirmosios eilės Teiloro skleidiniui. Apibrėžimas. Taške X iš D vektorius p vadinamas leistinąja kryptimi, jei egzistuoja toks ρ>0, kad X+λp priklauso D visiems 0 λ ρ. T.y. leistinoji kryptis yra kryptis, nevedanti už leistinuosios srities ribų bent jau taško X aplinkoje. 30

Būtinos optimumo sąlygos Teorema. Jei taške X* iš D yra lokalusis minimumas, sritis D iškila, o funkcija f tolydžiai diferencijuojama, tai kryptinės išvestinės visomis taške X* leistinomis kryptimis p yra neneigiamos: T f ( X ) p 0. 31

Būtinos optimumo sąlygos Kagangi sritis iškila, kiekvieną lokaliojo minimumo taško X* aplinkos tašką X galime sujungti su tašku X* leistinąja kryptimi p, kurios visoje atkarpoje [X; X*] tenkinama nelygybė f(z) f(x*), X Z X*. Iš Teiloro teoremos turime: * * * T 2 2 f (Z ) = f ( X + λ p) = f ( X ) + λ f ( X ) p + O (λ p ) = = f ( X )+λ { f ( X ) p + O (λ p ) }. * * 2 T Kadangi išvestinės tolydžiai diferencijuojamos, nelygybė f ( X + λ p) f ( X ) = λ { f ( X ) p + O (λ p ) } 0. * * galioja bet kokiems mažiems λ tik jei * T * T 2 f ( X ) p 0. 32

Būtinos optimumo sąlygos Kai uždavinys neturi apribojimų, būtina optimumo sąlyga f X * pt 0 turi galioti visomis kryptimis. Tai gali būti tik jei f ( X * ) = 0. Apibrėžimas. Taškai, kuriuose gradientas yra nulinis, vadinami stacionariaisiais. Sąlyga f ( X * ) = 0 vadinama pirmosios eilės būtina optimumo sąlyga. Pirmosios eilės optimumo sąlyga yra tik būtina, bet ne pakankama minimumo sąlyga ir gali būti tenkinama tiek minimumo, tiek maksimumo, tiek balno taške. Norėdami nustatyti optimumo tipą, remsimes antrosios eilės išvestinėmis, kurių matricų savybės pasako apie tikslo funkcijos iškilumą ar įgaubtumą. 33

Būtinos optimumo sąlygos Tarkime, kad funkcija f yra dukart tolydžiai diferencijuojama funkcija, t. y. Turi tolydžių antujų išvestinių matricą H(X). Tada funkciją galime skleisti antrosios eilės Teiloro daugianariu: 2 3 * T 3 f ( X ) = f ( X + λ p) = f ( X ) + λ f ( X ) p + λ p H ( X ) p + O ( λ p ). 2 * Iš nelygybės * * * T * f ( X + λ p) f ( X ) 0 išplaukia: * f ( X ) = 0. * Jei f ( X ) = 0, tai * T p H ( X ) p 0. 34

Antrosios eilės būtinos minimumo sąlygos Teorema. Jei taške X* iš D yra lokalusis minimumas, sritis D iškila, o funkcija f dukart tolydžiai diferencijuojama, tai visoms taške X* leistinomis kryptimis p galioja būtinos minimumo sąlygos: * f ( X ) = 0. Jei * f ( X ) = 0, tai * T p H ( X ) p 0. Prisiminsime, kad jei bet kuriems vektoriams X galioja XAXT > 0, tai kvadratinė forma ir atitinkama kvadratinė matrica A vadinamos teigiamai apibrėžtomis. Jei nėra apribojimų, tai iš šios teorėmos tiesiogiai išplaukia kita teorema. 35

Antrosios eilės būtinos minimumo sąlygos Teorema. Jei taške X* iš Rn yra lokalusis minimumas, o funkcija f dukart tolydžiai diferencijuojama, tai taške X* galioja šios būtinos minimumo antrosios eilės sąlygos: * f ( X ) = 0. Hesianas H(X*) yra neneigiamai apibrėžtas 36

Pakankamos optimumo sąlygos Pakankamosiomis vadinamos egzistavimas duotame taške. Teorema. Tarkime, kad funkcija f dukart tolydžiai diferencijuojama. Jei taške X* iš Rn tenkinamos šios antrosios eilės pakankamos minimumo sąlygos: tos sąlygos, iš kurių išplaukia optimumo * f ( X ) = 0. Hesianas yra teigiamai apibrėžtas. tai taške X* yra lokalusis minimumas. 37

Pakankamos optimumo sąlygos Įrodymas. Kadangi f ( X * ) = 0, antrosios eilės Teiloro daugianarį perrašome taip: f ( X ) = f ( X * + λ p) = f ( X * ) + λ 2 { } 1 3 p H ( X *) pt + O ( λ p ). 2 ph(x*)pt > 0, todėl kiekvienam p atsiras toks λm, kad visiems λ iš intervalo (0; λm] galios nelygybė f(x) > f(x*). Parodėme, kad galiojant teoremos sąlygoms egzistuoja taško X* aplinka, kurioje f(x) > f(x*). 38

Pavyzdys. Kopečių ilgis Kopečios turi remtis į sieną, grindis ir į a x b dydžio dėžės briauną. Optimizavimo tikslas rasti tokį kampą x, kad kopečių ilgis y būtų mažiausias. 39

Optimizavimo algoritmų sustojimo sąlygos Optimizavimo algoritmas generuoja taškų seką {Xn} taip, kad sekos ribiniai taškai artėtų prie optimumų. Lokaliojo, o kartais ir globaliojo optimumo paieškos algoritmams reikia nurodyti pradinį tašką X0 bei sustojimo sąlygų parametrus. Dažniausiai naudojami sustojimo sąlygos: pagal gradiento normą, pagal tikslo funkcijos reikšmes, pagal argumento reikšmes: f ( X k ) < ε. Algoritmo generuojama seka gali nepasiekti pakankamai mažos gradiento normos arba funkcija gali būti nediferencijuojama. Be to, jei tikslo funkcijos paviršios turi griovių, tai algoritmas gali šokinėti apie optimuma mažais žingsneliais. Todėl tikslinga stabdyti algoritmą, kai tikslo funkcijos arba argumento reikšmės per iteracija mažai pakinta: f ( X k) f ( X k 1 ) < ε. X k X k 1 < ε. 40

Optimizavimo uždavinių klasifikacija Klasifikacija nėra formalus dalykas. Kiekvienai klasei sukurti specifiniai sprendimo metodai pagal tos klasės savybes. Klasifikuojama pagal tikslo funkciją / apribojimus bei argumentus. Tiesinis programavimas: tikslo funkcija ir apribojimai yra tiesiniai. Netiesinis programavimas: tikslo funkcija ar apribojimai yra netiesiniai. Iškilusis programavimas: tikslo funkcija ir leistinoji kintamųjų sritis yra iškilos. Diskretus programavimas: kintamųjų aibė yra diskreti. Sveikaskaitis programavimas: argumentai yra sveikieji skaičiai. Bulinis programavimas: kintamieji įgyja reikšmes 0 arba 1. 41

Optimizavimo uždavinių klasifikacija Atsižvelgiant ir į tikslo funkciją ir, į apribojimus, optimizavimo uždaviniai skirstomi į lokaliojo optimizavimo (vienaekstremius) ir globaliojo optimizavimo (daugiaekstremius) uždavinius. 42

Optimizavimo metodų palyginimas Universalių optimizavimo metodų nėra! Kiekvienas metodas turi savo stipriąsias ir silpnąsias puses. Net ir tobuliausiam metodui galima sukurti specialų uždavinį, kurio metodas «neįkas». Metodų palyginimo rezultatai gali priklausyti nuo to kaip metodas suprogramuotas; kokios sustojimo sąlygos; kokios metodo specifinių parametrų reikšmės; kaip parinktas pradinis taškas; koks parinktas pradinis žingsnio ilgis. 43

Optimizavimo metodų palyginimas Pagrindiniais lyginimo kriterijais laikytini šie: tam tikros uždavinių klasės optimumo radimo sėkmė; tikslo funkcijos reikšmių skaičiavimų skaičius; programos atlikimo trukmė; Reikia atkreipti dėmesį į tai, kad programa gali «įstrigti» dar nepasiekus optimumo, kai tikslo funkcija netenkina prielaidų, kuriomis pagrįstas metodas, o programuotojai tokių avarinių atvejų nemumatė. 44

Optimizavimo metodų palyginimas Optimumo radimo sėkmė yra glaudžiai susijusi su sprendinio tikslumu. Vienos uždavinių klasės tikslumas gali būti nepriimtinas kitai uždavinių klasei. Pvz., lokaliesiems metodams, kuriais sprendžiami vienaekstremiai uždaviniai, keliami aukšti tikslumo reikalavimai. Tuo tarpu spręsdami globaliojo optimizavimo uždavinius su daugelio kintamųjų ir sudėtinga tikslo funkcija esame priversti tenkintis apytiksliais sprendiniais. 45

Optimizavimo metodų palyginimas Tikslumas matuojamas surasto optimalaus taško Xk atstumu tuo tikrojo optimalaus taško X*, arba TF reikšmių skirtumu: X = X k X *, f = f X k f X *. Tikslumo matas parenkamas atsižvalgiant į TF pobūdį. Jei optimumo aplinkoje TF kinta nedaug, racionalu vartoti matą ΔX. Matas ΔX paplitęs uždaviniuose, kai lokalusis optimumas yra labai toli nuo globaliojo optimumo, tuo tarpu atitinkamos TF reikšmės mažai skiriasi. Jei uždavinys sprendžiamas norimu tikslumu ε, metodo efektyvumo kriterijumi įprasta laikyti TF skaičiuojamų reikšmių skaičių. Šis matas pasiteisina, kai apskaičiuoti TF reikšmę duotajame taške yra brangu, reikia daug skaičiavimo laiko. 46

Optimizavimo metodų palyginimas Jei metodas yra skirtas optimizuoti greitai skaičiuojamas funkcijas, tada kaip lyginimo kriterijus naudojamas skaičiavimo laikas. Taikant sudėtingus optimizavimo metodus, skaičiavimo laiką lemia pats metodas, tad skaičiavimo laikas gerai atspinti tikrąją metodo vertę. Naudojant skirtingų charaktarsitikų kompiuterius, reikia į tai atsižvalgti, vertinant optimizavimo metodų tyrimo rezultatus. Be to, skaičiavimo laiką dar lemia programavimo kultūra ir stilius. Efektyvumas priklauso ir nuo įvairiausių iš anksto parenkamų parametrų, kurių apstu daugelyje metodų. Parametrų parinkimas savaime tampa atskiru optimizavimo uždaviniu. Be to, labai didelė yra ir testinių uždavinių parinkimo įtaka. 47

Optimizavimo metodų palyginimas. Testiniai uždaviniai Testinių uždavinių pobūdis turėtų būti kuo artimesnis praktiniams uždaviniams, tačiau pageidautina, kad jie būtų sprendžiami sparčiai eksperimentuojant, juos tenka spręsti daug kartų. Testiniuoje uždaviniuose stengiamasi koncentruoti spendimo metodui neparankias savybes ir sunkumus: lokaliesiems metodams parenkamitestiniai uždaviniai su grioviais funkcijos reikšmių paviršiuje globaliesiems su daugeliu minimumų, daugelių kintamųjų. 48

Optimizavimo metodų palyginimas. Testiniai uždaviniai Tiriant lokaliuosius metodus kaip testinė funkcija dažnai naudojama Rozenbroko funkcija, kuruos paviršius yra lenktas griovys. n 1 f X = [ 100 x i 1 x i 1 x i ], 2 2 2 n X ℝ. i=1 49

Optimizavimo metodų palyginimas. Dviejų kintamųjų Rozenbroko funkcija 2 2 2 f x 1, x 2 = 100 x 2 x 1 1 x 1. 50

Optimizavimo metodų palyginimas. Dviejų kintamųjų Bilo funkcija 2 2 2 3 2 f x 1, x 2 = a x 1 x 1 x 2 b x x 1 x 2 c x 1 x 1 x 2 51

Optimizavimo metodų palyginimas. Dviejų kintamųjų Buto funkcija 2 2 f x 1, x 2 = a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 52

Optimizavimo metodų palyginimas. Dviejų kintamųjų Matyaso funkcija 2 2 f x 1, x 2 = a x 1 x 2 b x 1 x 2 53

Optimizavimo metodų palyginimas. Kupranugario funkcija 6 x1 2 4 2 f x 1, x 2 = 2 x 1 1,05 x 1 x 1 x 2 x 2 6 54

Optimizavimo metodų palyginimas. Testiniai uždaviniai Tiriant globaliuosius optimizavimo metodus kaip testinė funkcija dažnai naudojama daugiaekstremė Rastrigino funkcija: n f X = 10 n x i 10 cos 2 x i, 2 n X ℝ. i=1 55

Globalusis optimizavimas. Daugiaekstremiai uždaviniai Dviejų kintamųjų Rastrigino funkcija: 2 2 f x 1, x 2 = 20 x 1 x 2 10 cos 2 x 1 10 cos 2 x 2. 56

Optimizavimo metodų palyginimas. Testiniai uždaviniai globaliesiems metodams Isomo funkcija: f x 1, x 2 = cos x 1 cos x 2 e x 1 2 x 2 2. 57

Optimizavimo metodų palyginimas. Testiniai uždaviniai globaliesiems metodams Himelblau funkcija: 2 2 2 2 f ( x 1, x 2 ) = ( x 1 + x 2 11) + ( x 1 + x 2 7). 58

Daugelio kintamųjų funkcijų optimizavimo (be apribojimų) metodų palyginimas. Kursinio darbo planas ( ~25 psl.) 1. 2. 3. 4. 5. 6. 7. 8. Įvadas (problema, problemos aktualumas, istorinė/bibliografinė apžvalga). Metodas X. Metodas Y. Aprašymas. Privalumai. Trūkumai. Schema. Testinė funkcija (R2 ir Rn). Aprašymas, grafikas. Eksperimentų serijos (testavimo plano) aprašymas: tikslumas (10-2, 10-4, 10-8), tikslumo matai (ΔX, Δf) ir sustojimo salygos, metodų parametrų ir pradinių taškų parinkimas. Skaičiavimų rezultatai (lentelės, vizalizavimas). Rezultatų analizė ir išvados. Literatūra. Priedai. 59

Daugelio kintamųjų funkcijų optimizavimo metodai Negradientiniai metodai Simplekso / Nelderio-Mido metodas Koordinatinės paieškos metodas Huko-Dživso paieškos metodas Pauelo jungtinių krypčių metodas Gradientiniai nusileidimo metodai Greičiausio nusileidimo metodas Niutono metodas Broideno metodas Devidono-Fletčerio-Pauelo (DFP) metodas Broideno Fletčerio Goldfarbo Šano (BFGS) metodas (1) (2) (3) (4) (5) (6) (7) (8) (9) 60

Vieno kintamojo funkcijų optimizavimas. Uždavinių savybės Nagrinėsime vieno kintamojo f(x): R R tolydžių funkcijų optimizavimą. Vienmatė paieška neatsiejama daugelio kintamųjų funkcijų optimizavimo metodų sudedamoji dalis. Monotoniškumas. Jei bet kuriems X1 < X2 iš srities D galioja f(x1) > f(x2), tai funkcija yra monotoniškai mažiejanti, o jei f(x1) < f(x2), tai funkcija yra monotoniškai didėjanti srityje D. Unimodali funkcija. Funkcija yra unimodali atkarpoje tada ir tik tada, jei ji monotoniška abipus vienintelio šiame intervale optimumo taško. 61

Vieno kintamojo funkcijos optimumo identifikavimas Tarkime, vieno kintamiojop funkcija f(x) yra apibrėžta intervale (a, b) ir šiame intervale n+1 kartą diferencijuojama. Jei a < x* < b ir a < x* + ε < b, tuomet pagal Teiloro teoremą taške x* + ε funkciją galime išskleisti Teiloro skleidiniu: 2 n 2 * n * f x = f x f ' x f x... f x O n 1, 2! n! * * * kur On+1(ε) skleidinio paklaida, proporcinga εn+1; mažindami ε, galime kiek norime sumažinti paklaidą. 62

Vieno kintamojo funkcijos optimumo identifikavimas Jei x* yra lokaliojo minimumo taškas intervale (a, b), tada turi egzistuoti tam tikra taško x* ε-aplinka, kuruios visiems taškams x* ε x x* + ε galioja f(x) > f(x*). Iš čia išplaukia, jog 2 n 2 * n * f x f x = f ' x f x... f x O n 1 0 2! n! * * * Jei ε mažas, didžiausią įtaką turi pirmasis narys. ε gali būti ir teigiamas, ir neigiamas, todėl nelygybė bus tenkinama tik kai f '(x*) = 0. Analogiškai mąstant nesunku įsitikinti, kad nelygybė bus teisinga tik kai f (2)(x*)>0. Teorema. Būtina sąlyga, kad x* būtų lokaliojo minimumo taškas: f '(x*) = 0; f (2)(x*) > 0. Būtina sąlyga, kad x* būtų lokaliojo maksimumo taškas: f '(x*) = 0; f (2)(x*) < 0. 63

Vieno kintamojo funkcijos optimumo identifikavimas. Pakankamos ekstremumo egzistavimo sąlygos Jei funkcija f(x) yra dukart diferencijuojama taške x* ir f '(x*) = 0; f (2)(x*) > 0, tai taške x* funkcija turi lokalujį minimumą. Jei funkcija f(x) yra dukart diferencijuojama taške x* ir f '(x*) = 0; f (2)(x*) < 0, tai taške x* funkcija turi lokalujį maksimumą. Tarkime, kad f(x) yra n kartų diferencijuojama taške x*. Tegu f (k)(x*) = 0, kai k = 1,... n-1, o f (n)(x*) 0. Jei n yra lyginis, tai f(x) taške x* turi minimumą, jei f (n)(x*) > 0, arba maksimumą, jei f (n)(x*) < 0. Jei n yra nelyginis ekstremumo nėra. 64

Vieno kintamojo funkcijos optimumo identifikavimas Kaip rasti vieno kintamojo funkcijos globalųjį minimumą paprasčiausiu būdu? Sprendžiamas uždavinys min f x. x [a, b] Randame visus kritinius taškus atkarpoje [a, b]: {xk}. Apskaičiuojame {f(xk)}, f(a), f(b). Globalųjį minimumą atitiks min{{f(xk)}, f(a), f(b)}. Pavyzdys. Rasti funkcijų minimumus srytyje D = {x: -2 x 4} 3 2 f ( x) = x + 3 x + 9 x + 10 g ( x) = x 4 + 32 x 3 65

Interpoliaciniai optimizavimo algoritmai Šiuose algoritmuose nauji bandymo taškai randami taikant tikslo funkcijos ekstrapoliaciją ir interpoliaciją. Funkcija aproksimuojama daugianariu, ir kaip naujas taškas imamas to daugianario minimumo taškas. Deviso-Sveno-Kempi algoritmas Pauelo algoritmas Kvadratinė interpoliacija su išvestinėmis Vieno kintamojo funkcijos minimizavimas dažnai būna pagalbinis veiskmas daugelio kintamųjų funkcijos minimizavimo algoritmuose. Pastaruosiuose dažnai naudojamos išvestinės. Todėl ir vienmačiame algoritme tikslinga panaudoti jau turimą išvestinės pagal kryptį reikšmę. 66

Deviso-Sveno-Kempi algoritmas (Davies-Swann-Campey) 1. Taikomas Sveno metodas minimumo taško intervalui [Xn; Xn+2] nustatyti. 2. Prie trijų paskutinių Sveno metodo sekos taškų Xn, Xn+1, Xn+2 pridedamas trečias (tarp Xn+1 ir Xn+2 ). 3. Iš keturių vienodais atstumais išdėstytų taškų atmetamas vienas iš kraštinių, kuris yra toliau nuo X, atitinkančio mažiausią rastą funkcijos reikšmę. 4. Pagal tris atrinktus taškus, tikslo funkciją aproskimuojame parabole. 5. Sprendinį patikslinti galima sumažinus Sveno metodo žingsnį ir startuojant iš 4 žingsnyje rasto artinio. Algoritmą tikslinga stabdyti, kai tikslo funkcijos arba argumento reikšmės per iteraciją mažai pakinta. f ( X k) f ( X k 1 ) < ε. X k X k 1 < ε. 67

Pauelo algoritmas Atliekama kvadratinė aproksimacija pagal tris nebūtinai vienodai vienas nuo kito nutolusius taškus, kutie gaunami pradžioje padarius bandamuosius žingsnius iš pradinio taško. Algoritmui duodamas pradinis taškas, pradinis žingsnis ΔX ir tikslumas. 1. Pagal pradinį tašką X1 skaičiuojame X2 = X1 + ΔX. 2. Imame dar vieną tašką X3 funkcijos mažėjimo kryptimi (žingsnis ΔX). 3. Pagal tris atrinktus taškus, tikslo funkciją aproskimuojame parabole. Surandame aproksimuojančios parabolės stacionarūjį tašką: 2 2 2 2 2 2 ( X 2 X 3 ) f ( X 1 )+( X 3 X 1 ) f ( X 2 )+( X 1 X 2 ) f ( X 3 ) X = 1 2 ( X 2 X 3 ) f ( X 1 )+( X 3 X 1 ) f ( X 2 )+( X 1 X 2 ) f ( X 3 ) 4. Paieška baigiama, jei parabolės vuršunės taškas nuo nors iš X 1, X2, X3 nenutolęs daugiau nei duotas tikslumas pagal argumentą. 5. Priešingu atvėju iš taškų, negretimų minimumo taškui, išmetamas didžiausios funkcijos reikšmės taškas. 6. Toliau vykdomas 3 žingsnis. 68

Pauelo algoritmas Skaitiniai eksperimentai parodė, kad DSK ir Pauelo algoritmų junginys yra efektyvesnis už DSK. Pradžioje atliekami 1-5 DSK žingsniai ir Pauelo algoritmo sustojimo sąlygų tikrinimas, toliau kartojami Pauelo algoritmo 3 žingsnis ir sustojimo sąlygų tikrinimas. Pauelo interpoliacijos kartojimas yra efektyvesnis už DSK kartojimą, nes taikant Pauelo algoritmą interpoliaciniai taškai neturi būti vienodai nutolę, todėl panaudojami ankstesnėse iteracijose gauti taškai. 69

Kvadratinė interpoliacija su išvestinėmis Vieno kintamojo funkcijos minimizavimas dažnai būna pagalbinis veiksmas daugelio kintamųjų funkcijos minimizavimo algoritmuose. Daugelio kintamųjų funkcijos minimizavimo algoritmuose dažnai naudojamos išvestinės nusileidžiama antigradiento kryptimi, ar kita kryptimi, gauta naudojant gradientą. Todėl ir vienmačiame algoritme tikslinga panaudoti jau turimą išvestinės pagal kryptį reikšmę. 70

Kvadratinė interpoliacija su išvestinėmis Tarkime, pradiniame taške x1 turime funkcijos ir jos išvestinės reikšmes f(x1) ir f'(x1). Taip pat taške x2 turime funkcijos reikšmę f(x2). Rasime funkcijos f(x) aproksimacijos y(x) = a x2 + b x + c minimumo tašką x*. Turime trijų lygčių sistemą su trimis nežinomaisiaias: { f 1 = f ( x 1 ) = a x 21 + b x 1 + c f 2 = f ( x 2 ) = a x 22 + b x 2 + c f d = f ' ( x 1 ) = 2 a x1 + b 71

Kvadratinė interpoliacija su išvestinėmis 72

Kvadratinė interpoliacija su išvestinėmis 73

Kvadratinė interpoliacija su išvestinėmis 74

Laboratorinis darbas 2. Empiriniai duomenys {xk} (pvz., grąžos) Hipotetinis pasiskirstymo dėsnis F(x,Θ). Θ dėsnio parametrų vektorius. 75

Laboratorinis darbas 2. Jei imtyje {xk} yra n elementų ir N(x) imties elementų, mažesnių už x, skaičius, tai empirinė pasiskirstymo funkcija n 1 1 F n x = N x = H x x k n n k =1 Empirinė pasiskirstymo funkciją galima skaičiuoti pozicinių statistikų pagalba { 0, x x 1, F n x = k, x k x x k 1, n 1, x x n. 76

Laboratorinis darbas 2. Du algoritmai empirinei pasiskirstymo funkcijai skaičiuoti 77

Maksimalaus tikėtinumo metodas Tikėtinumo funkcija n L = f x k,, k=1 kur f(x,θ) hipotetinio dėsnio tankio funkcija. Logaritminė suvidurkinta tikėtinumo funkcija n 1 W (Θ) = ln f ( x k, Θ). n k=1 Maksimalaus tikėtinumo įverčiai = arg min [ W ]. 78

Daugelio kintamųjų funkcijų optimizavimas be apribojimų Nagrinėsime daugelio kintamųjų funkcijų f: Rn R minimizavimo be apribojimų uždavinius: min f ( X ), X Rn kur X yra n kintamųjų vektorius. Praktiniai uždaviniai paprastai turi apribotą leistinąją sritį. Tačiau uždavinių su apribojimais sprendimo metodai arba grindžiami optimizavimo be apribojimo metodų idėjomis, arba tie metodai tiesiogiai naudojami. 79

Daugelio kintamųjų funkcijų optimizavimas be apribojimų Ekstremumus galima ieškoti, keičiant minimizavimo uždavinį sistemos grad f(x)=0 sprendimu. Taip randami funkcijos stacionarieji taškai kurie gali būti min, max arba balno taškais. Gerai, jei sistemą pavyksta išspręsti analiziškai, tačiau dažnai šią sistemą išspręsti nė kiek ne lengviau nei tiesioginį minimizavimo uždavinį (pvz., Himelblau funkcija) 80

Daugelio kintamųjų funkcijų optimizavimas be apribojimų Taigi, minimizavimo uždavinį ne visada pavyksta pakeisti lygčių sistemos grad f(x)= 0 sprendimu, todėl sukurta įvairių minimizavimo be apribojimų metodų. Nagrinėsime šiuos optimizavinmo metodus: 1. Negradientinius metodus, grindžiamus tik TF reikšmių skaičiavimu. 2. Nusileidimo metodus, kuriuose naudojamos išvestinės. Gradientiniai metodai, kuriuose naudojamos TF pirmosios eilės išvestinės; Antrosios eilės metodai, kuriuose naudojamos TF pirmųjų ir antrųjų išvestinių reikšmės. Idealaus metodo nėra. Todėl pagal situaciją ir galimybes pasirenkamas vienas iš galimų metodų, viena iš tinkamų turimų programų. 81

Negradientiniai metodai Pagrįsti šiomis prielaidomis: f(x) tolydi; išvestinės gali ir neegzistuoti, nei jų reikšmės skaičiavimuose nenaudojamos. Šiais metodais randami lokalieji optimumai. Nagrinėsime metodus Simplekso metodas (nepainioti su tiesinio programavimo simplekso metodu!); Koordinatinės paieškos metodas; Huko-Dživso metodas; Pauelo jungtinių krypčių metodas. 82

Simplekso metodas n-matėje erdvėje konstruojamas simpleksas, kuris, vykstant skaičiavimams, vartomas. Simpleksas yra trikampio apibendrinimas tai n-matis iškilas daugiakampis su n+1 tiesiškai nepriklausoma viršune. Simpleksas vadinamas taisyklingu, jei viršūnės vienodai nutolusios viena nuo kitos. Vykdant algoritmo skaičiavimus, konstruojamas naujas simpleksas viena iš viršunių perkeliama į naują vietą. Naujoji viršnė yra ant tiesės, nubrėžtos per likusių viršunių svorio centrą. Ji tiek pat nutolusi nuo svorio centro, kaip iki perkelimo, tik į priešingą pusę. 83

Simplekso metodo algoritmas 1. Sudaromas pradinis simpleksas. Jo viršunėse apskaičiuojamos f(x) reikšmės. Simplekso dydį regulioja parametas α. 2. Randama didžiausia f(x) reikšmė ir ją atitinkanti viršūnė. 3. Ši viršūnė perstumiama tiese, nubrėžta per likulių viršūnių svorio centrą, ir tampa nauja simplekso viršūne. Taip kiekvienoje iteracijoje panaikinama simplekso viršūnė su didžiausia funkcijos reikšme. 4. 2-3 žingsniai kartojami tol, kol simpleksas neuždengs minimumo taško arba neprasidės ciklinis šokinėjimas tarp dviejų ar daugiau simpleksų. 84

Simplekso metodo algoritmas Žingsnių kartojimo ciklas gali būti nutraukiamas pagal kurią nors iš trijų sąlygų: 1) Naujoje viršūnėje funkcijos reikšmė didesnė nei kitose viršūnėse. Taip gali atsitikti kai minimumo taškas uždengtas simpleksu arba kai simpleksas yra siauro griovio dugne. Tada toliau žengiama iš viršūnės, kurio pagal funkcijos dydį yra antra. 2) Ciklinis jūdėjimas. Jei kuri nors simplekso viršunė neišmetama per daugiau nei M iteracijų, M = [1,65 n + 0,05 n2], būtina sumažinti simplekso dydį. Naujo simplekso bazinis taškas parenkamas ten, kur senajame buvo mažiausia f(x) reikšmė. Kiekviena naujojo simplekso kraštinė sutrumpinama: α1 = K α0, K < 1. 3) Parenkamos sustojimo sąlygos. Skaičiavimai baigiami, kai: simpleksas tampa mažas; funkcijos reikšmės simplekso viršūnėse tampa panašios; viršijamas leistinas funkcijos reikšmių skaičiavimų kiekis. Pagal šį algoritmą atliekami dviejų tipų skaičiavimai: 1. Taisyklingojo simplekso sudarymas pagal duotą bazinį tašką ir mastelį α. 2. Naujos simplekso viršunės skaičiavimai. 85

Simplekso sudarymas Duotas bazinis taškas X0 = (x01,, x0n) ir koeficientas α. Kitos taisyklingo simplekso viršūnės skaičiuojamos taip: { n + 1 + n 1 α, n 2 n + 1 1 α, x0 j + n 2 x0 j + Xi = j i, i, j = 1,..., n ; j=i Parinkus α=1, simplekso kraštinė būtų lygi 1. α parenkamas eksperimentiškai. 86

Naujos viršūnės skaičiavimas Jei atmetame Xj, n viršūnių svorio centras lygus: n Xc= 1 X. n i=0 i i j Per taškus Xj ir Xc nubrėžtos tiesės lygtis: X = X j + λ ( X c X j ). Taigi nauja simplekso viršūnė X new = X j + 2 X c. 87

Simplekso algoritmo savybės Paprastas. Nedaug valdymo parametrų: mastelio koeficientas α; simplekso mažinimo daugiklis K; skaičiavimo pabaigos parametrai. Algoritmas efektyvus net kai TF reikšmės skaičiuojamos su didelėmis paklaidomis. Reikia nedaug kompiuterinės atminties tik n(n+2) dydžio masyvo. 88

Simplekso algoritmo trūkumai Koeficientas α bendras visoms simplekso kraštinėms. Trūkumas šalinamas taip normuojant kintamuosius, kad suvienodėtų funkcijos kitimas visomis kryptimis. Lėtas, nes neįvertinami ankstesniai žingsniais gauti rezultatai. Gali labai sumažėti α. Pvz., kai simpleksas apeina «kalną», arba praeina siaurą griovį. 89

Nelderio ir Mido metodas [ND] Siekdami išvengti dalies simplekso metodo problemų, Nelderis ir Midas (1965 m.) pasiūlė simplekso metodo modifikaciją su netaisyklingu deformuojamu simpleksu jis gali ir plėstis ir trauktis bet kuria kryptimi. Žr. R. Čiegis, V. Būda, Skaičiuojamoji matematika, V.,1997 90

Koordinatinės paieškos metodas Pradinis taškas X0 = (x01,, x0n). Paieška vykdoma cikliškai keičiamomis kryptimis. Kryptis turi būti tiesiškai nepriklausomos. Paprastai naudojama erdvės Rn bazė iš ortogonalių vektorių: e 1 = 1 ; 0 ; 0 ;... ; 0 ; 0, e 2 = 0 ; 1 ; 0 ;... ; 0 ; 0,... e n = 0 ; 0 ; 0 ;... ; 0 ; 1. 91

Koordinatinės paieškos metodo algoritmas 1. k = 0. 2. i = 1. 3. Xk+1 = Xk + α ei, k = k + 1. Čia α yra daugiklis parenkamas išsprendus vienmačio minimizavimo uždavinį: = arg min f X k e i. 4. i = i+1; jei i n, einama į 3 žingsnį. 5. Jei algoritmo sustojimo sąlygos netenkinamos, einama į 2 žingsnį. Algoritmo sustojimo sąlygos: atliktas fiksuotas iteracijų skaičius (iteracija tai 2-4 žingsnių skaičiavimai, kai i=1,...,n); gretimų iteracijų TF reikšmės skiriasi mažiau nei tam tikras tikslumas ε. Algoritmo trūkumas cikliškai kartojamos vienmatės paieškos: daug TF skaičiavimų. 92

Huko-Dživso paieškos metodas Metodo idėja: paieška vykdoma kryptimi di = Xi Xi-1. Tai labai paspartina konvergavimą lyginant su koordinatine paieška, nes taip sudarytos kryptys d turi tendenciją išsidėstyti išilgai TF paviršiaus griovio. Svarbiausia čia jau įvertinami ankstesnėse iteracijose gauti rezultatai. Metodas susideda iš dviejų dalių: tiriamosios paieškos su cikliniu kintamųjų keitimu greitėjančios paieškos pagal pavyzdį. 93

Tiriamoji paieška Tiriamoji paieška turi nustatyti lokalias TF savybes ir rasti krypti išilgai griovio. Tiriamosios paieškos taško X0 aplinkoje algoritmas: 1. Startuojame iš bazinio taško X0 = (x01,, x0n) ir formuojame naują tašką X1 = (x11,, x1n). Priskiriame X1 = X0. Naudosime pagalbinį tašką Xp. 2. Priskiriame Xp = X1. Keičiame pirmąją taško Xp koordinatę: xp1 = x11 + Δ1 ir skaičiuojame f(xp). Jei f(xp) < f(x1), tai X1 = Xp. Priešingu atvėju xp1 = x11 Δ1 ir skaičiuojame f(xp). Jei f(xp) < f(x1), tai X1 = Xp. 3. Tą patį atliekame su antrąja, trečiąja,, n-ąja taško Xp koordinate. Jei tiriamosios paieškos algoritmu gautas taškas X1 nesutampa su tašku X0, tai X1 tampa nauju baziniu tašku. 94

Paieška pagal pavyzdį Žymėjimai: X einamasis bazinis taškas, k Xk-1 ankstesnis bazinis taškas, Pk+1 taškas, gautas judant pagal pavyzdį, Xk+1 naujas bazinis taškas. Žengiama iš taško Xk išilgai tiesėsm jungiančios šį tašką su Xk-1 : P k +1 = X k + ( X k X k 1). 95

Huko Dživso metodo algoritmas 1. Pradžioje nustatome algoritmo parametrus: pradinį bazinį tašką X ir prieaugius Δ, i=1,, n; 0 i žingsnio mažinimo koeficientą α > 0 ir paieškos pabaigos parametrą ε > 0. Atliekame tiriamąją paiešką iš bazinio taško. Jei tiriamoji paieška buvo sėkminga eiti į 5 žingsnį, ne į 4 žingsnį. Tikriname pabaigos sąlygą ar Δ < ε. Jei ne sumažinti prieaugius Δi = Δi / α, ir eiti į 2 žingsnį. P k+1 = X k + ( X k X k 1). Atliekame paiešką pagal pavyzdį: Atliekame tiriamąją paiešką, kaip bazinį tašką naudodami Pk+1.Tiriamosios paieškos rezultatą pažymėkime Xk+1. 2. 3. 4. 5. 6. 7. Jei f(xk+1) < f(xk), tai Xk-1 = Xk, Xk = Xk+1 ir eiti į 5 žingsnį. Priešingai - eiti į 4 žingsnį su baziniu tašku Xk. 96

Pauelo jungtinių krypčių metodas Metodas sukurtas su prielaida, kaf TF yra kvadratinė. Gali būti taikomas bet kokios iškilos tolydžios funkcijos optimizavimui, nes tokios funkcijos minimumo taške funkciją to taško aplinkoje galima gana tiksliai aproksimuoti kvadratine funkcija. Kvadratinė funkcija vektorinėmis operacijomis užrašoma taip: T g X = a bx 1 T XCX 2 1 2 5 x 1 g X = 8 1 ; 3 x 1 x 1 ; x 2 2 1 0 x 2 x2 97

Kvadratinė funkcija Atliekant koordinatinę paiešką, reikėtų žengti daug žingsnių «pjūklu». Sumažinti žingsnių skaičių galima pasukus koordinačių ašis. Šiuo atveju pradėję paiešką iš bet kurio taško, funkcijos minimumą rasime tik viena koordinatinės paieškos iteracija. 98

Jungtinės kryptys Tarkime, C yra kvadratinė simetrinė n eilės matrica. Kryptys s1, s2,..., sr, r n, vadinamos C jungtinėmis, jei jos yra tiesiškai nepriklausomos ir T si C s j = 0, i j. Nagrinėkime kvadratinę formą Q(X) = XCXT. Ieškosime transformacijos R, kuri kvadratinę formą transformuotų į diagonaliąją: XT = RZT, čia T matrica, Z naujų kintamųjų vektorius. Taigi, Q(X) = ZRTCRZT = ZDZT. Čia D diagonalinė matrica. Turime n X = RZ = R zj, T T j j =1 čia R<j> - matricos R j-asis stulpelis. 99

Jungtinės kryptys Kitaip tariant, gauname naują koordinačių sistemą R<j>, j = 1,..., n, sudarytą iš C jungtinių krypčių, kurios matricą C transformuoja į diagonalinę: T R C R = D, j T R C R k = { dkk, 0, j=k, j k. Taigi gauname n n 1 1 T T j 2 g X = a bx XCX = a b R z j d j j z j = 2 2 j=1 j =1 n n 1 j 2 = a b b R z j d j j z j = a G j z j. 2 j =1 j=1 100

Jungtinės kryptys Funkcija g(z) priklauso nuo vieno kintamojo funkcijų sumos. Toks optimizavimo uždavinys suvedamas į n vieno kintamojo uždavibių sprendimą: min [ G j z j ], j=1,..., n. zj Išvada: sudarę vektorių R<j>, j = 1,..., n sistemą, dar vadinama jungtinių krypčių sistema, kvadratinės funkcijos optimumą rasime per n vienmačių pasieškų kryptimis R<j>. Kaip rasti D? Jei C žinoma problemos nėra. Tinka Gauso-Žordano metodas. Mūsų atveju C nėra žinoma. Tačiau vis tiek problemą spręsime naudodamiesi kvadratinės funkcijos savybėmis. 101

Lygiagretaus poerdvio savybė Tarkime, turime kvadratinę funkciją g(x); du taškus X ir X ; 1 2 T g X = a bx 1 T XCX 2 skaliarą λ; kryptį d. Tada jei taškas Y1 minimizuoja g(x1+λd), o taškas Y2 minimizuoja g(x2+λd), tai kryptys (Y2 Y1) ir d yra jungtinės matricos C atžvilgiu. 102

Jungtinės kryptys plokštumoje Dviem vienmatėmis paieškomis randame Y1 ir Y2. Minimumo tašką rasime judėdami kryptimi Y2-Y1. Taigi dviejų kitamųjų atveju po dviejų vienmačių paieškų galima sudaryti jungtinių krypčių sistemą, o trečiąja paieška rasti kvadratinės funkcijos minimumą. 103

Lygiagretaus poerdvio savybė Grįžkime prie bendro pobūdžio kvadratinės funkcijos T g X = a bx 1 T XCX 2 Tiesės iš taško X1 kryptimi d lygtis yra X = X1 + λ d. Funkcijos g(x) minimumas iš taško X1 kryptimi d randamas ieškant tokio λ*, kad g'λ(x) = 0. g g X T. = = b XC d X Tarkime, minimumas yra taške Y1, todėl (b + Y1C)dT = 0. Tarkime, minimumas tiesėje X = X2 + λ d yra taške Y2, todėl (b + Y2C)dT = 0. Turime (Y2 Y1)CdT = 0. Taigi kryptys (Y2 Y1) ir d yra jungtinės. 104

Lygiagretaus poerdvio savybė Matome, kad jungtinės kryptys nustatomos pagal du taškus ir kryptį. Tai nepatogu geriau turėti vieną tašką ir einant iš jo konstruoti jungtines kryptys. Tegul tai taškas X0. Kaip pagrindą imsime koordinatinius vekorius e1 = (1 ; 0 ; 0 ;... ; 0 ; 0), e 2 = (0 ; 1; 0 ;... ; 0 ; 0),... e n = (0 ; 0 ; 0 ;... ; 0 ; 1). Tai ne jungtinės kryptys! 105

Lygiagretaus poerdvio savybė Nagrinėsime atvejį, kai n = 2. Tegu X1 = X0 + λ0 e1. Čia λ0 koeficientas, minimizuojantis f(x0 + λ0 e1). Tegu X2 = X1 + λ1 e2. Čia λ1 koeficientas, minimizuojantis f(x1 + λ e2). Tegu X3 = X2 + λ2 e1. Čia λ2 koeficientas, minimizuojantis f(x2 + λ e1). Gavome: kryptys (X3 X1) ir e1 yra jungtinės, nes kryptimi e1 atlikome dvi paieškas: iš X0 į X1 ir iš X2 į X3. Jei funkcija yra kvadratinė, tai atlikę paiešką kryptimis e1 ir X3 X2 gauname funkcijos minimumo tašką X*. 106

Pauelo jungtinių krypčių metodo algoritmas 1. Pasirenkame pradinį tašką X0 ir tiesiškai nepriklausomų krypčių sistemą s1=e1,..., sn=en. Sudarome sąrašą krypčių, kuriomis minimizuosime: sn, s1,..., sn. 2. Minimizuojame f(x) iš eilės visomis n+1 kryptimis. 3. Randame naują jungtinę kryptį. 4. Iš krypčių sąrašo išmetame dvi pirmasias kryptis, sarašo priekyje ir gale įrašome 3 žingsniu gautą jungtinę kryptį. (Taip minimumai kure bus nustatomi 2 žingsniu einant sąrašo pirmąja ir paskutiniąja kryptimi, bus gaunami nuosekliai minimizuojant tomis pačiomis jungtinėmis kryptimis. Todėl tuos minimumo taškus jungianti tiesė bus nauja jungtinė kryptis). Einame į 2 žingsnį. Būtina patikrinti gautų krypčių tiesinį nepriklausomumą (jei TF nekvadratinė). Jei nauja kryptis yra tiesiškai priklausoma nuo saraše esančių krypčių, ji į sąrašą neįtraukiama. 107

Gradientiniai nusileidimo metodai Ieškant funkcijos minimumo nusileidimo metodais generuojama seka taškų {Xk}, kurių funkcijos reikšmės monotoniškai mažėja. Taškas Xk+1 randamas iš taško Xk leidžiantis funkcijos mažėjimo kryptimi. Idėja. Funkcijos gradiento vektorius yra nukreiptas greičiausio funkcijos augimo kryptimi; antigradientas nukreiptas greičiausio funkcijos mažėjimo kryptimi; 108

Privalumai Nusileidmo metodų iteracinė schema labai paprasta ir akivaizdi: X k 1 = X k k S k, čia Sk nusileidimo krypties vektorius k-toje iteracijoje; αk > 0 žingsnio daugiklis; jei krypties vektorius normuotas, αk yra žingsnio ilgis. 109

Trūkumai Gradientas teikia nedaug informacijos apie funkcijos savybes, nes taikoma tik tiesinė funkcijos aproksimacija taško aplinkoje. Jei funkcijos paviršius turi griovį, algoritmo generuojama seka gali šokinėti nuo vieno griovio krašto ant kito, o funkcijos reikšmės mažėti labai lėtai. Naudojamos išvestinės, kurių išraiškas galima gauti ne visada (pvz., kai funkcijos reikšmės gaunamos modeliavimo būdu). Bandant išvengti šių trūkumų buvo pasiūlyta sudėtingesnių metodų (Niutono ir kintamos metrikos), kuriuose naudojamos antrosios eilės išbestinės arba jų aproksimacijos. Šiuose metoduose nusileidimo krypčių formulės grindžiamos TF aproksimavimu kvadratine funkcija. Tai didina metodo sudėtingumą, tačiau tokie algoritmai konverguoja žymiai greičiau. 110

Išvestinių skaitinės formulės Dažnai išvestinių reikšmės gaunamos skaitiniais metodais, pvz., paprastomis skirtuminėsmis formulėmis: f X f x 1,..., x i,..., x n f X xi f x1,..., xi,..., x n f x 1,..., x i,..., xn f X xi 2 Vienpusei formulei reikia n papildomų TF reikšmių kiekvienam gradientui. Minimumo aplinkoje, gradientui artėjant prie 0, vienpusė formulė nėra tiksli. Tenka naudoti dvipuses diferencijavimo formules, kur reikia 2n TF reikšmių. 111

Greičiausio nusileidimo metodas Metodo idėja: eiti nusileidimi kryptimi iki pirmo lokaliojo minimumo šia kryptimi. X k +1 = X k α k f ( X k ), α k = arg min f ( X k α f ( X k )). α 0 Tiksliai minimizuoti pagal kryptį nereikia, nes tai reikalauja daug skaičiuojamųjų resursų, o kryptis tik išimtimiais atvejais tiksliai veda link TF minimumo. Kiek paėjus antigradiento kryptimi ir radus apytikrio minimumo tašką, šiame taške skaičiuojama nauja kryptis. 112

Greičiausio nusileidimo metodo konvergavimas Teorema. Tarkime, TF f: Rn R yra diferencijuojama ir aprėžta iš apačios. Tada greičiausio nusileidimo metodu generuojama taškų seka su monotoniškai mažėjančiomis TF reikšmėmis ir gradiento norma artėja į nulį. Griečiausio nusileidimo metodas yra paprastas ir stabilus. Bet jei TF paviršius turi griovį, tikslinga taikyti jungtinių krypčių metodą ar metodus su antromis išvestinėmis. Jie taikytini ir optimumo aplinkoje, nes joje TF gerai aproksimuojama kvadratine funkcija. f X = 10 x 21 2 x1 x 2 3 x 22 113

Greičiausio nusileidimo metodas f X = 10 x 21 2 x1 x 2 3 x 22 114

Niutono metodas Niutono metode panaudojama TF aproksimacija antros eilės Teiloro daugianariu: 1 T T f X f X k f X k X X k X X k H X k X X k. 2 Pažymėkime Xk = Xk+1 Xk. Funkcijos aproksimacijoje X pakeitę į Xk+1, gauname: g X k 1 = f X k f X k X k T 1 X k H X k X k T. 2 Tai kvadratinė funkcija. Ieškosime tokio Xk, kad Xk+1 būtų funkcijos g(xk+1) stacionarusis taškas. 115

Niutono metodas Diferencijuojame g(xk+1) pagal vektoriaus Xk komponentes ir išvestines prilyginame nuliui: f X k X k H X k = 0. Išsprendę gauname kvadratinei funkcijai optimalų žingsnį: X k = f X k H 1 X k. Iš čia lengva užrašyti Niutono metodo iteracinę formulę: 1 X k +1 = X k f ( X k ) H ( X k ). 116

Niutono-Rafsono metodas Jei TF būtų iškila kvadratinė funkcija, jos minimumą pasiektume vienu žingsniu. Bendru atveju atliekama daugiau žingsniu, todėl rastas optimalus žingsnio ilgus netenka prasmės. Tenka įvesti žingsnio ilgio parametrą: 1 X k 1 = X k k Žingsnio ilgį žymesime k = f X k H X k f X H X k 1 k k f X k H 1 X k.. Iš čia lengva užrašyti Niutono-Rafsono metodo iteracinę formulę: 1 X k 1 = X k k f X k H X k. k = arg min f X k f X k H 1 X k. 0 117

Niutono metodo trūkumai Kai TF lokalioje srityje tiksliai aproksimuojama kvadratine funkcija ir kai matrica H-1 teigiamai apibrėžta, galime tikėtis greito sprendimo. Šis reikalavimas gadina viską. Nes tik jei matrica, atvirkštinė Hesės matricai yra teigiamai apibrėžta, garantuojama, kad TF reikšmė sumažės. Geometriškai tai paaiškinama paparastai. Kvadratinė aproksimacija geometriškai reiškia apvalią arba elipsinę idubą, turinčią lokalųjį minimumą tik kai matrica yra teigiamai apibrėžta. Kitais atvejais aproksimuojanti funkcija gali virsti balno paviršiumi, ir krypties vektorius užuot rodęs tiksliausią kryptį link minimumo taško, rodys kryptį į balno tašką. 118

Modifikuotas Niutono metodas Minėtą trūkumą galima pašalinti, pakoregavus H-1 taip, kad ji visada būtų teigiamai apibrėžta. Jei invertuotant Hesės matricą, gaunamas požymis, kad atvirkštinė matrica nėra teigiamai apibrėžta, tada žengiamas paprastas greičiausio nusileidimo žingsnis. Kita Niutono metodo modifikacija: 1 X k 1 = X k k f X k H X 0, k = arg min f X k f X k H 1 X 0. 0 Atvirkštinė Hesės matrica skaičiuojama tik vieną kartą ir naudojama visose iteracijose. Ši modifikacija labai sumažina skaičiavimų apimtį, tačiau iteracinis procesas konverguoja daug lečiau nei Niutono-Rafsono metodo iteracinis procesas. 119

Niutono metodas 120

Niutono metodas 121

Skaitinis diferencijavimas 122

Kintamos metrikos metodai Kintamos metrikos metodose bandyta išvengti Niutono metodo trūkumų: nereikia kiekviename žingsnyje apversti Hesės matricos ir skaičiuoti antrųjų išvestinių. Pagrindinė metodų idėja: vietoj tikslios atvirkštinės Hesės matricos naudojama aproksimuojanti matrica 1 X k H X k, kuriai gauti panaudotos tik pirmųjų išvestinių reikšmės. Naujo taško koordinatės skaičiuojamos pagal iteracinę formulę: X k 1 = X k k f X k X k. k = arg min f X k f X k X k. 0 123

Kintamos metrikos metodai η(xk) vadinama krypčių matrica. Jei ši matrica būtų vienetinė, tai turėtume greičiausio nusileidimo metodą. Niutono metodė ši matrica yra H-1(Xk). Prisiminkime gradiento Teiloro skleidinį: f ( X ) = f ( X k ) + ( X X k ) H ( X k ). X pakeitę į Xk+1, ir padauginę abi lygties puses iš H-1(Xk), gauname: X k 1 X k = [ f X k 1 f X k ] H 1 X k X = Y H 1. Žiūrėkime į šią lygtį kaip į n tiesnių lygčių sistemą, turinčią n nežinomų parametrų, kuriais aproksimuojama H-1, kai X ir Y yra žinomi. Ši aproksimavimo idėja, sudarant ir sprendžiant tokią tiesinių lygčių sistemą, konkrečiuose kintamos metrikos metoduose realizuojama įvairiai. 124

Kintamos metrikos metodai Daugumoje metodų H-1 aproksimuojanti matrica ηk+1 sudaroma iš ankstesnio žingsnio krypčių matricos ηk+1= ηk + ηk. Įvairūs kintamos metrikos metodai iš esmės skiriasi tik matricos ηk apskaičiavimo būdu. 1. Broideno metodas 2. Devidono-Fletčerio-Pauelo (DFP) metodas 3. Broideno Fletčerio Goldfarbo Šano (BFGS) metodas 125

Broideno metodas Broideno metode panaudota ši matricos ηk perskaičiavimo formulė: k = X k Y k k T X k Y k k Y k X k Y k k X k = X k 1 X k, T. Y k = f X k 1 f X k. Yra įrodyta, kad jei TF kvadratinė, tai Broideno metodu iš bet kokios pradinės teigiamai apibrėžtos krypčių matricos η0 jau po n žingsnių gausime ηn = H-1. Bendru atveju, vartojant šį metodą, galimos šitokios komplikacijos: 1. ηk+1 gali nebūti teigiamai apibrėžta, tada tenka imtis jos koregavimo priemonių; 2. ηk+1 matricos narių reikšmės gali labai išaugti, susikaupus apvalinimo paklaidoms; 3. Atsitiktinai sutapus gretimų žingsnių Xk kryptims, susidaro avarinės situacijos. 126

Broideno metodo algoritmas 1. Apibrėžti tikslumą ε, pradinį tašką X0 ir pradinę teigiamai apibrėžtą krypčių matricą ηk = η(x0), k = 0. Pvz., η0 = E. 2. Rasti paieškos kryptį Sk = f(xk) ηk. 3. Rasti žingsnio ilgį paieškos kryptimi: 4. Xk = αksk ; Xk+1 = Xk + Xk. 5. Rasti Yk : k = arg min f X k S k. 0 Y k = f X k 1 f X k. 6. Jei Xk > ε iteracinis procesas tesiamas. Priešingu atveju: X* Xk+1. 7. Perskaičiuoti krypčių matricą ηk+1= ηk + ηk, padidinti iteracijų skaitiklį k = k + 1 ir grįžti į 2 žingsnį. k = X k Y k k T X k Y k k T Y k X k Y k k. 127

Kintamos metrikos metodu gauta traektorija Rozenbroko funkcijai 128

Devidono-Fletčerio-Pauelo metodas DFP metode (vienas iš populiariausiu, kartu su BFGS, kintamos metrikos metodas) vartojama matricos ηk perskaičiavimo formulė: T k = X k X k T X k Y k T T k Y k Y k k T Y k k Y k. Kaip ir taikydami Broideno metodą kvadratinei funkcijai, po n žingsnių turėsime ηn = H -1. 129

Devidono-Fletčerio-Pauelo metodo algoritmas 1. Apibrėžti tikslumą ε, pradinį tašką X0 ir pradinę teigiamai apibrėžtą krypčių matricą ηk = η(x0), k = 0. 2. Rasti paieškos kryptį Sk = f(xk) ηk. k = arg min f X k S k. 3. Rasti žingsnio ilgį paieškos kryptimi: 4. Xk = αksk ; Xk+1 = Xk + Xk. 5. Rasti Yk : 0 Y k = f X k 1 f X k. 6. Jei Xk > ε iteracinis procesas tesiamas. Priešingu atveju: X* Xk+1. 7. Perskaičiuoti krypčių matricą ηk+1= ηk + ηk, padidinti iteracijų skaitiklį k = k + 1 ir grįžti į 2 žingsnį. T k = X k X k T X k Y k T T k Y k Y k k T Y k k Y k. 130

Devidono-Fletčerio-Pauelo metodas Paprastai imama vienetinė pradinė matrica (nors gali būti ir bet kuri teigiamai apibrėžta matrica). Tuomet pirmasis žingsnis atliekamas greičiausio nusileidimo kryptimi. Tolimesniais žingsniais, matricai ηn artėjant prie H -1, palaipsniui pereinama iš gradiento krypties į Niutono kryptį. Kadangi vis perskaičiuojant matricą ηn kaupiasi paklaidos, gali susidaryti skaičiavimo požiūriu neparankių situacijų. Norint jų išvengti, matrica periadiškai atnaujinama, t. y. padaroma vienetine. Taikant Niutono ir kintamos metrikos metodus labai aktualus klausimas, ar priimtina išvestines skaičiuoti ne analiziškai, o pagal skirtumines firmules. Tyrimai parodė, kad tai leistina, tačiau pageidautina, kad skaičiavimo tikslumas nebūtų mažas, nes priešingu atveju daugėja skaičiavimo žingsnių. 131

Broideno Fletčerio Goldfarbo Šano metodo algoritmas 1. Apibrėžti tikslumą ε, pradinį tašką X0 ir pradinę teigiamai apibrėžtą krypčių matricą ηk = η(x0), k = 0. 2. Rasti paieškos kryptį Sk = f(xk) ηk. 3. Rasti žingsnio ilgį paieškos kryptimi: 4. Xk = αksk ; Xk+1 = Xk + Xk. 5. Rasti Yk : k = arg min f X k S k. 0 Y k = f X k 1 f X k. 6. Jei Xk > ε iteracinis procesas tesiamas. Priešingu atveju: X* Xk+1. 7. Perskaičiuoti krypčių matricą ηk+1= ηk + ηk, padidinti iteracijų skaitiklį k = k + 1 ir grįžti į 2 žingsnį. k = X k T X k Y k X k T Y k k Y k T T 2 Y k X k X k T Y k k k Y k T X k Y k X k T 132

Stochastinis paieškos metodas Stochastinis iteracinis procesas: X k 1 = X k Z k, čia Zk atsitiktinis vektorius, paimtas iš mažos taško Xk aplinkos, Jo pasiskirstymo dėsnis gali priklausyti nuo ankstesnių paieškos rezultatų, 133

Stochastinis paieškos metodo algoritmas 1. Apibrėžti tikslumą ε, pradinį tašką X0, pradinį spindulį r, spindulio mažinimo koeficientą β < 1, taškų skaičių n ir periodą 2p. Apibrėžiama sustojimo sąlyga. Iteracijų skaitiklis i = 1. 2. Aplinkoje ρ(xi-1, r) atsitiktinai parenkami n taškai {Yk}. Xi = arg min {f(yk)}. 3. Vykdoma vienmatė paieška Pi-1 = Xi - Xi-1 kryptimi: i 1 = arg min f X i 1 P i 1. 0 4. Xi+1 = Xi-1 + αi-1pi-1. 5. Tikrinama sustojimo sąlyga. Jei sustojimo sąlyga nėra patenkinta, tai didinti iteracijų skaitiklį: i = i + 2, ir grįžti į 2 žingsnį (jei periodas yra iteracijos numerio kartotinis sumažinti spindulį: r = β r). 134

Stochastinis paieškos metodas Paieška galėtų būti efektyvesnė, jei tolimesnėse iteracijose, atsižvelgdami į ankstesnius rezultatus, atsitiktinai imtume taškus ne visame apskritime, o tik jo dalyje. Nors stochastinė paieška nėra labai efektyvi, tačiau ji paprasta, nesunkiai realizuojama programiškai, ir gali būti modifikuota, atsižvelgiant į sprendžiamo uždavinio specifiką. Buto funkcija 2 2 f x 1, x 2 = a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 135

Daugelio kintamųjų funkcijų optimizavimas esant apribojimams Uždavinys formuluojamas taip: min f ( X ), X D kai leistinąją sritį D apibrėžia nelygybių ir lygybių sistema: { g i X 0, i = 1,..., m1, h j X = 0, j = 1,..., m2. Nelygybinių ir lygybinių apribojimų vektorius žymėsime atitinkamai g(x) ir h(x). 136

Kintamųjų transformacijos Pagrindinės nelygybinių apribojimų klasės: [ ] xi a, xi a, a xi b, a xi b Kiekvienai klasei parinkus atitinkama kintamųjų transformaciją, optimizavimą su apribojimais galima suvesti į optimizavimą be apribojimų. 137

Kintamųjų transformacijos. Neneigiamumo reikalavimas Neneigiamumo reikalavimas x 0 gali būti eliminuotas taikant keitinį 2 x=y. Analogiškai eliminuojami apribojimai [ 2 x a x=a y, x a x = a y2. ] Tačiau nors šios transformacijos yra paprastos ir nesunkiai pritaikomos, neneigiamumo apribojimai yra eliminuojami TF ir likusių apribojimų netiesiškumo didinimo kaina, kas, savo ruožtu, mažina optimizacijos proceso efektyvumą. 138

Kintamųjų transformacijos. Neneigiamumo reikalavimas 2 2 2 min f ( X ) = x 1 + 3 x 2 2 x 3 + x 1 x 2 x1 x 3 X 0 { x 12 + x 22 + x 23 25 =0 8 x 1 + 14 x 2 7 x 3 52 = 0 139

Kintamųjų transformacijos. Teigiamumo reikalavimas Teigiamumo reikalavimas x > 0 gali būti eliminuotas taikant keitinį y x=e. Analogiškai eliminuojami apribojimai [ 2 2 x>a x<a y x=a+e, x = a ey. 2 ] 2 min f ( X ) = ( x 1 + x 2 11) + ( x 1 + x 2 7) X >0 140

Kintamųjų transformacijos. Teigiamumo reikalavimas 2 2 2 2 min f ( X ) = ( x 1 + x 2 11) + ( x 1 + x 2 7) X >0 141

Kintamųjų transformacijos. Griežti intervaliniai apribojimai Greižtų intervalinių apribojimų a < x < b eliminavimui gali būti taikomos funkcijos, 1D erdvę (- ; ) atvaizduojančias į atkarpą. [Bet kokia glodi pasiskirstymo funkcija tinka!]. Kombinuojant tokias funkcijas su tiesine transformacija u= b a b+a v+, 2 2 gausime atvaizdį iš begalinio intervalo (- ; ) į atvirą intervalą (a; b). [ f (t) = tanh t, f (t) = arctan t, f (t) = e t e 1 γ γ f (t) = t (1 + t ) ] 142

Lagranžo funkcija ir uždavinio su apribojimais stacionarieji taškai Tegu optimizavimo uždavinio TF ir apribojimų funkcijos yra tolydžiai diferencijuojamos. Nagrinėsime minimizavimo uždavinį min f ( X ) X D1 h( X ) = 0 Ieškodami TF ekstremumo, judame daugiamačiu paviršiumi D1 = {X: h1(x) = 0}. min x 2 y+5 z=0 2 2 x +y +z 2 143

Lagranžo funkcija ir uždavinio su apribojimais stacionarieji taškai Taškas X* bus optimizavimo uždavinio stacionarusis taškas, jei gradiento f(x*) proekcija į paviršių D1 bus nulinė. Tiksliau, jei nulinė bus proekcija į hiperplokštumą, liečiančią paviršių D1 taške X*. Taip bus, jei gradienatas f(x*) bus lygiagretus paviršiaus D1 normalei h(x*): * * f X = h X, čia λ yra skaliaras, vadinamas Lagranžo daugikliu. Taigi staciaonarusis taškas yra taškas, tenkinantis šias sąlygas: { f ( X ) = λ h( X ) h( X ) = 0 144

Lagranžo funkcija ir uždavinio su apribojimais stacionarieji taškai Salygas galima užrašyti, naudojant Lagranžo funkciją L(X,λ): L X, = f X h X. Taškai, tenkinantys sąlygą L(X,λ) = 0 yra stacionarūs, nes { X L X, = L X, = f X h X = 0, h X = 0. 145

Lagranžo funkcija ir uždavinio su apribojimais stacionarieji taškai Daugelio lygybinių apribojimų atveju leistinoji sritis yra apribojimų paviršių sankirta. TF gradiento projekcija į ytą sankirtą stacionariame taške turi būti nulinė. TF gradientas turi būti lygiagretus kuriai nors apribojimų funkcijų gradientų tiesinei kombinacijai: m2 f X = j h j X. j=1 Lagranžo funkcija šiuo atveju yra m2 L( X, Λ) = f ( X ) λ j h j ( X ). j=1 Lagranžo daugiklių metodas susideda iš n + m2 lygčių sistemos L(X,Λ) = 0 sprendimo. Sprendinių (X*, Λ*) komponentės yra optimizavimo uždavinio su lygybiniais apribojimais stacionarieji taškai. Dalis jų gali būti lokaliųjų minimumu taškai, jei tokių minimumų yra. 146

Lagranžo funkcija ir uždavinio su apribojimais stacionarieji taškai min 2 2 2 x 2 y+5 z min x + 2 y 2 x2 + y2 = 1 2x + 6y + z =1 2 2 1 (2 x + 6 y ) x 2 y+5 z = 1 max 2 min(4 y 2 z) 2x y z = 2 x2 + y 2 =1 { 147

Lagranžo funkcija ir uždavinio su apribojimais stacionarieji taškai min x y x2 y2 + =1 8 2 max 2 2 (x + 1) + 2 y = 1 1 10 x2 5 y2 148

Lagranžo funkcija nelygybinių apribojimų atveju Tegu optimizavimo uždavinio TF ir apribojimų funkcijos yra tolydžiai diferencijuojamos. Nagrinėsime minimizavimo uždavinį min f X X D { gi X 0, h j X = 0, i = 1,..., m1 j = 1,..., m2. Leistinojoje srityje D nelygybiniai apribojimai gali būti lygūs nuliui (tada jie vadinami aktyviais) arba didesni už nulį tai neaktyvūs apribojimai. 149

Lagranžo funkcija nelygybinių apribojimų atveju Aktyvių apribojimų atveju Lagranžo funkcija formuojama panašiai kaip lygybinių apribojimų atveju, imdami tik neneigiamus Lagranžo daugiklius. Neaktyvūs apribojimai neturi jokios įtakos nei taško stacionarumo sąlygai, nei gradiento stracionariame taške reikšmei. Jei stacionariame taške visi apribojimei neaktyvūs, tai turime atvejį, ekvivalentų optimizavimui be apribojimų. Taigi neaktyvių apribojimų Lagranžo koeficientai turi būti nuliniai. Tai pasieksime su sąlyga μi g i ( X ) = 0, i = 1,..., m1, t. y. arba apribojimas yra nenulinis (neaktyvus) ir atitinkamas koeficientas lygus nuliui, arba apribojimas nulinis, ir atitinkamas koeficientas teigiamas, 150

Lagranžo funkcija nelygybinių apribojimų atveju Turime Lagranžo funkcija: m1 m2 j=1 j=1 L( X, Λ, M ) = f ( X ) μ j g j ( X ) λ j h j ( X ). Taigi nelygybinių apribojimų atveju Lagranžo daugiklių metodas suvedamas į šios sistemos sprendimą kintamųjų X, Λ, M atžvilgiu: { L( X Λ, M ) = 0, μi g i ( X ) = 0, i = 1,..., m1, μi 0, i = 1,..., m1. Šios sistemos pagrindu formuluojamos Karušo-Kuno-Takerio (KKT) optimumo sąlygos. 151

Karušo-Kuno-Takerio optimumo sąlygos Formulavimas: V. Karušas (magistro darbas, 1939 m.) Įrodymas: V. Karušas (disertacija, 1942 m.) Nepriklausomai: H. Kunas ir A. Takeris (publikacija konferencijos darb., 1951 m.) Paprastai vadinami Kuno-Takerio sąlygomis. Būtinos optimumo sąlygos. Tarkime, X* yra optimizavimo su apribojimais uždavinio lokaliojo minimumo taškas, o TF ir apribojimų funkcijos yra tolydžiai diferencijuojamos. Tada egzistuoja konstantos λ 0, μi 0, λi iš kurių bent viena nelygi nuliui ir { m1 m2 j=1 j=1 λ f ( X * ) μ j g j ( X * ) λ j h j ( X *) = 0 * μi g i ( X ) = 0, i = 1,..., m1. 152

Karušo-Kuno-Takerio optimumo sąlygos Pakankamos optimumo sąlygos. Tarkime, TF ir apribojimų funkcijos yra tolydžiai diferencijuojamos, funkcija f iškila, funkcijos gi įgaubtos (iškilos į viršu, arba tai ekvivalentu - iškilos yra (-gi)), o funkcijos hi tiesinės. Tada jei leistinam taškui X* egzistuoja tokios konstantos μi 0, ir λi, kad galiotų { m1 m2 j=1 j=1 f ( X *) μ j g j ( X *) λ j h j ( X *) = 0, * μi g i ( X ) = 0, i = 1,..., m1, tai X* yra šio optimizavimo uždavinio globaliojo minimumo taškas. 153

Iškila funkcija. Iškila aibė. Funkcija f: D R, apibrėžta aibėje D (aibė D yra iškila) yra vadinama iškila, jei bet kokiems X1 ir X2 iš D ir 0 t 1 f (t X 1 + (1 t) X 2 ) t f ( X 1 ) + (1 t) f ( X 2 ). Aibė D yra iškila, jei bet kokiems X1 ir X2 iš D ir 0 t 1: t X 1 + (1 t) X 2 D. 154

Lagranžo funkcijos (LF) minimakso taškai. Dualumas. Parodėme, kad optimizavimo uždavinio su apribojimais sprendiniai yra LF stacionarieji taškai. Parodysime, kad tie taškai nėra LF ekstremumai, bet balno taškai. min f ( X ) X D Turime uždavinį: Kai X tenkina apribojimus, tai L(X, Λ) = f(x) su bet kokiomis Λ reikšmemis. Taigi {h j ( X ) = 0, j = 1,..., m2. * f ( X ) = min f ( X ) = min max L( X, Λ). X X Λ Kei apribojimai netenkinami, tei bent viena hj(x) 0, todėl R( X ) = max L( X, Λ) =. Λ Taigi apribojimų netenkinantys taškai X nėra funkcijos R(X) minimumo taškai. 155

Lagranžo funkcijos (LF) minimakso taškai. Dualumas. min f ( X ) Taigi vietoje uždavinio su apribojimais X D {h j ( X ) = 0, turime uždavinį be apribojimų j = 1,..., m2. min max L( X, Λ), X Λ su trūkia TF. Šį uždavinį galima apversti sukeisti vietomis min ir max. Funkcija G(Λ, M ) = inf L( X, Λ, M ) X D vadinama optimizavimo su apribojimais uždavinio dualiąją funkcija, Lagranžo daugiklaiai dualiais kintamaisiais, dualios funkcijos maksimizavimo uždavimys dualiu uždaviniu. 156

Lagranžo funkcijos (LF) minimakso taškai. Dualumas.. Dualios funkcijos maksimumas yra uždavinio min f X X D { gi X 0, h j X = 0, i = 1,..., m1 j = 1,..., m2. minimumo įvetis iš apačios, nes bet kuriems Λ 0 ir M galioja nelygybė * G(Λ, M ) f ( X ). Iškilojo programavimo uždaviniui galioja stipresnis teiginys tiesioginio minimizavimo uždavinio ir dualaus uždavinio TF reikšmės sprendinių taškuose sutampa. Iškilojo programavimo uždavinio TF yra iškila, nelygybinių apribojimų funkcijos įgaubtos, lygybinių apribojimų funkcijos tiesinės. 157

Sleiterio sąlyga.. Taškas Z vadinamas uždavinio min f X X D { gi X 0, h j X = 0, i = 1,..., m1 j = 1,..., m2. Sleiterio tašku, jei g(z) > 0 ir h(z) = 0. Jei uždavinio leistinoji sritis turi Sleiterio tašką, sakoma, kad uždavinys tenkina Sleiterio sąlygą. Jei uždavinys iškilojo programavimo su apribojimais uždavinys tenkina Sleiterio sąlygą ir turi sprendinį X*, tai * f ( X ) = max G (Λ, M ). Λ, M 158

Baudos funkcijų metodas. min f ( X ) Nagrinėsime uždavinį X D {g j ( X ) 0, j = 1,..., m. Apibrėžkime funkciją F(X) = f(x) + P(X), čia P( X ) = { 0, X D,, X D. Kaip atrodo funkcijų F, f ir P grafikai? 159

Baudos funkcijų metodas. Funkciją P(X) galima interpretuoti kaip begalinę baudą už leistinuosios srities pažeidimą. X* yra pradinio sąlyginio optimizavimo uždavinio sprendinys tada ir tik tada, kai X* yra nesąlyginio optimizavimo uždavimio min F(X) sprendinys. Be to, F(X*) = f(x*). Taigi sąlyginį uždavinį galima pakeisti nesąlyginiu. Problema:. Taikant baudos funkcijų metodą, funkcija P(X) aproksimuojama paprastesnių funkcijų {Bk(X)} seka: lim Bk ( X ) = P( X ), k lim ( f ( X ) + B k ( X )) = f ( X ) + P ( X ) = F ( X ). k 160

Baudos funkcijų metodas. Seką {Bk(X)} sudarome šitaip. Pasirenkame funkcija { 0, X D, c > 0, X D, ir skaičių seką {rk}, rk > 0, rk > rk+1, lim r k = 0. B( X ) = k Tada funkcijų seka {B(X) / rk} aproksimuoja funkciją P(X), o seka {F(X,rk)}, kai F ( X, rk ) = f ( X ) + 1 B( X ), rk k = 1,2,..., aproksimuoja funkciją F(X). B(X) vadinama baudos funkcija. Dažniausiai naudojamos šitokios baudos funkcijos: m 2 B( X ) = [ max { g i ( X ), 0 }], i=1 m B( X ) = max { g i ( X ), 0 }. i=1 161

Baudos funkcijų metodas. 1 B( X ), rk Tarkime, kad funkcijų seka F ( X, r k ) = f ( X ) + k = 1,2,..., yra sudaryta ir kiekviena sekos funkcija F(X,rk) turi minimumo tašką Xk. Minimumo taškų sekos {Xk} savybes nusako dvi teoremos. Sekai {Xk} teisingos šitokios nelygybės: F ( X k, r k ) F ( X k +1, r k+1 ), B( X k ) B( X k +1 ), f ( X k ) f ( X k+1 ). Tegu sąlyginis optimizavimo uždavinys turi sprendinį X*; TF, apribojimų funkcijos ir baudos funkcija yra tolydžios; visų funkcijų F(X,rk) minimumų taškai{xk} yra tam tikroje aprėžtoje uždaroje aibėje. Tada bet kuris sekos {Xk} konverguojantis posekis konverguoja į sprendinį X* ir * lim F ( X k, r k ) = f ( X ). k 162

Baudos funkcijų metodas. Iš antros teoremos išplaukia, kad sprendžiant sąlyginį optimizavimo uždavinį, galima naudotis nesąlyginias metodais. Tuo tikslu pradinį uždavinį keičiame nesąlyginių uždavinių seka { ( min f ( X ) + X R n )} 1 B( X ). rk Išsprendę sekos k-ąjį uždavinį, gauname pradinio uždavinio sprendinio artinį Xk. Taikant baudos funkcijų metodą, dažniausiai tenka optimizavimo uždavinius spręsti artutiniais skaičiavimo metodais. Apskaičiuoti Xk+1 žinant Xk nėra sudėtinga, nes jei rk+1 nedaug skiriasi nuo rk, tai ir Xk+1 nedaug skiriasi nuo Xk. Todėl ieškant Xk+1, pradiniu artiniu galima imti Xk. 163

Baudos funkcijų metodas. 2 min x 4 x x 1 164

Baudos funkcijų metodas. { } 1 B( X ) rk Seka aproksimuoja funkciją F(X) iš leistinosios aibės išorės. Ir seka {Xk} iš išorės artėja prie optimumo taško. Todėl šis metodas kartais vadinamas išorinių baudų funkcijų metodu. Taikant kitą metodą funkcija P( X ) = { 0, X D,, X D. aproksimuojama seka funkcijų, kurios apibrėžtos tik leistinųjų vektorių aibės viduje. Toks metodas vadinamas vidinių baudų funkcijų metodu arba barjerų metodu. 165

Barjerų metodas. Kai uždavinio funkcijos už leistinosios srities ribų neapibrėžtos, taikomas barjerų metodas. Nagrinėsime uždavinį min f ( X ) X D {g j ( X ) < 0, j = 1,..., m, kur funkcijos f(x) ir gi(x) yra tolydžios, aibė D aprėžta, o jos vidinių taškų aibė netuščia. Aibėje D apibrėžkime tolydžią funkciją B(X), tenkinančią šias sąlygas: B(X) > 0, B(X), kai X artėja prie aibės D krašto. Imkime skaičių seką skaičių seką {rk}, rk > 0, rk > rk+1, lim r k = 0. k Aibėje D seka {rkb(x)} aproksimuoja funkciją P(X), čia P( X ) = { 0, X D,, X D. 166

Barjerų metodas. Aibėje D seka {F(X, rk)}, kai F ( X, r k ) = f ( X ) + r k B( X ), X D, k N, aproksimuoja funkciją F(X). Funkcija B(X) vadinama barjerų funkcija. Galima imti m B( X ) = i=1 1, gi ( X ) m B X = ln g i X. i=1 167

Barjerų metodas. Taikant barjerų metodą pradinis uždavinys pakeičiamas uždavinių seka: min F ( X, r k ), k N. X D Metodo esmė išplaukia iš šių teiginių. Teorema 1. Egzistuoja toks Xk iš D, kad min F ( X, r k ) = F ( X k, r k ), k N. X D Teorema 2. Seka {Xk} turi tokias savybes: F ( X k, r k ) F ( X k +1, r k+1 ), B( X k ) B( X k +1 ), f ( X k ) f ( X k+1 ). 168

Barjerų metodas. 2 min ( x 4 x) x<1 169

Barjerų metodas. 2 min ( x 4 x) x<1 170

Modifikuotos Lagranžo funkcijos metodas. Nagrinėtų baudų metodų trūkumas tas, kad ieškant minimumo, kuris yra ant leistinosios srities ribos, barjerų metodu gautas sprendinys tos ribos nepasiekia arba šiek tiek išeina už leistinosios srities, jei naudojamas išorinės baudos metodas. Be to, baudos sukuria griovius palei apribojimus. Lagranžo daugiklių metodu galima rasti tikslų sprendinį, tačiau tai iš tikrųjų įmanoma tik sprendžiant iškilojo programavimo arba nesudėtingus uždavinius. Bendru atveju surastas Lagranžo funkcijos stacionarusis taškas nebūtinai yra minimumas jis gali būti maksimumo arba persilenkimo taškas. 171

Modifikuotos Lagranžo funkcijos metodas. Todėl naudojama modifikuota Lagranžo funkcija prie Lagranžo funkcijos pridedama bauda, kuri pati ir jos išvestinės lygios nuliui stacionariame taške ir auga tolstant nuo jo. m2 [ ] 1 ML( X, Λ, M, r) = f ( X ) λ j h j ( X ) r j h2j ( X ) 2 j=1 m1 j=1 { 1 μ j g j ( X ) r j g 2j ( X ), 2 μ 2j, 2rj μj jei g j ( X ) <, rj μj jei g j ( X ). rj 172

Modifikuotos Lagranžo funkcijos metodas. k-oje iteracijoje naudojamus daugiklius pažymėkime λ jk, μjk ir rjk. Tada k-oje iteracijoje minimizuojame ML( X, Λ k, M k, r k ) su ankstesnės iteracijos daugikliais ir gauname minimumo tašką Xk+1. Tada galioja lygybė ML( X k+1, Λ k, M k, r k ) = 0, iš kurios galima gauti f(xk+1) priklausomybę nuo Λk ir Mk. Siekdami, kad taškas Xk+1 būtų ir Lagranžo funkcijos stacionarusis taškas, taip perskaičiuojame daugiklius λjk, μjk, kad galiotų lygybė m1 m2 j=1 j=1 f ( X k+1 ) μ j, k +1 g j ( X k+1 ) λ j, k +1 h j ( X k +1 ) = 0. 173

Modifikuotos Lagranžo funkcijos metodas. Sulyginė iš lygites ML X k 1, k, M k, r k = 0, gautą f(xk+1) išraišką su m1 m2 j=1 j=1 f ( X k+1 ) μ j, k +1 g j ( X k+1 ) λ j, k +1 h j ( X k +1 ) = 0. Turime daugiklių Λ ir M perskaičiavimo kitai iteracijai formules: { λ j, k +1 = λ j, k r j, k h j ( X k +1 ), μ j, k +1 = max [ μ j, k r j, k h j ( X k+1 ), 0 ]. 174

Modifikuotos Lagranžo funkcijos metodas. Taigi kiekvienoje algoritmo k-je iteracijoje sprendžiamas minimizavimo be apribojimų uždavinys X k +1 = arg min ML( X, Λk, M k, r k ), X Lagranžo daugikliai Λ ir M perskaičiuojami pagal formules { λ j, k +1 = λ j, k r j, k h j ( X k +1 ), μ j, k +1 = max [ μ j, k r j, k h j ( X k+1 ), 0 ] ir padidinami baudos daugikliai rjk. Baudos daugiklis didinamas (paprastai dešimteriopai), kai apribojimų pažeidimai lėtai mažėja. Jei apribojimai yra lygybiniai, tai baudos daugiklis rjk didinamas, kai h j ( X k+1) > 0,25 h j ( X k ). Jei apribojimai yra lygybiniai, tai baudos daugiklis rjk didinamas, kai min [ g j ( X k +1), 0 ] > 0,25 min [ g j ( X k ), 0 ]. 175

Gradiento projekcijų (leistinųjų krypčių) metodas. Kai nusileidimo kryptis (pvz., antigradientas) veda už leistinosios srities ribų, tadi ji keičiama kryptimi, kuri yra kuo mažiau nutolusi nuo gautos nusileidimo krypties ir neveda už srities ribų. Metodas paprastai taikomas tiesiniams (hiperplokštuminiams) apribojimams ir nauja nusileidimo kryptis gaunama nusileidimo kryptį projektuojant į aktyvių apribojimų sankirtos hiperplokštumą. Aktyviais apribojimais vadinami tie apribojimai, kurie nagrinėjamame taške įgyja nulinę reikšmę, t. y. tame taške nusako leistinosios srities ribą. Kelių aktyvių apribojimų sankirta yra mažesnio skeičiaus matmenų hiperplokštuma. TF antigradiento ortogonali projekcija į tą hiperplokštumą yra nusileidimo kryptis ir sudaro mažiausią kampą iš visų leistinųjų krypčių kampų su antigradientų. Aprašysime projektavimo operatorių. 176

Gradiento projekcijų (leistinųjų krypčių) metodas. Tiesiniai apribojimai yra šio pavidalo: { a i1 x 1 + ai n x n + bi 0, a i1 x 1 + ai n x n + bi = 0, i = 1,..., m1, i = m1+1,..., m1+m2. Įveskime matricą A(X), kurios elementai yra aktyvių apribojimų koeficientai aij. Tai koeficientai tų apribojimų, kurie taške X lygus nuliui. Tada projektavimo operatorius yra T T 1 P( X ) = I A( X ) ( A( X ) A( X ) ) A( X ). 177

Gradiento projekcijų metodo iteracinio proceso schema. X k +1 = X k + α k S k, kur α k = arg min f ( X k + α S k ), 0 α d f ( X k) T Sk = P ( X k ). f ( X k ) Žingsnio daugiklio apribojimas 0 α d nurodo, kiek galima nueiti kryptimi Sk, iki bus prieitas naujas aktyvus apribojimas. 178

Gradiento projekcijų (leistinųjų krypčių) metodas. 2 2 min( x1 + ( x 2 + 3) ) { 9 x 1 12 x 2 + 36 0 x1 + x2 + 2 0 x1 0 x2 0 x0 = (4; 0) 179

Globalusis optimizavimas. Daugiaekstremiai uždaviniai Praktikoje susiduriama su globaliojo optimizavimo uždaviniais, kai lokialiųjų minimumų yra ne vienas. Jų skaičius gali būti didžiulis. 2 2 f x 1, x 2 = 20 x 1 x 2 10 cos 2 x 1 10 cos 2 x 2. 180

Paprasčiausia atsitiktinė paieška Tai yra pasyvus metodas, kai parenkant bandymų taškus neatsižvelgiama į anksčiau atliktų bandymų rezultataus. Leistinojoje srityje parenkami N bandymų taškai {Xk} ir juose apskaičiuojamos TF reikšmės {f(xk)}. Apytiksliu sprendiniu laikoma minimali gautoji TF reikšmė ir atitinkamas minimumo taškas. min f ( X k ), 1 k N * X arg min f ( X k ) 1 k N 181

Paprasčiausia atsitiktinė paieška Metodo sėkmė priklauso nuo to, kaip parinkdime bandymų taškas. Retai kada turime apriorinių žinių apie TF pobūrį, todėl bet kuris leistinosios srities taškas laikomas vienodai perspektyviu. Tolkiomis sąlygomis bandymų taškus leistinojoje srityje tikslinga išdėstyti kuo tolugiau. Tolygiai išdėstyti taškus paptasti tik retais atv., pvz., kai leistinoji sritis vienmatė atkarpa, daugiamatis kubas arba gretasienis. Bendru atveju tolygaus išdėstymo algoritmai sunkaiu realizuojami kai matmenų skaičius n > 1; kai bandymų skaičius N 2n; kai bandymų skaičius N reikia didinti nepažeidžiant taškų išdėstymo tolygumo. 182

Paprasčiausia atsitiktinė paieška Taškai išdėstomi tikimybine prasme tolygiai paprasčiausiu atsitiktinės paieškos Monte Karlo metodu, kai bandymų taškų koordinatės nepriklausomi a.d., tolygiai pasiskirstę daugiamatėje leistinojoje srityje. Kai TF yra tolydi, tokiu metodu priartėjama prie sprendinio su tikimybe 1. Nemažindami bendrumo laikysime, kad leistonosios srtities tūris lygus 1. Tarkime, X* yra minimumo taškas, U norimai maža šio taško aplinka, kurios tūris lygus V. Tikimybė, kad per N nepriklausom bandymų į aplinką U nepateks nei vienas taškas lygi (1-V)N. Tikimybė, kad nors vienas iš N taškų pateks į minimumo aplika lygi 1-(1-V)N. Kai N, ši tikimybė artįja prie 1. Taigi gauta tolydžios funkcijos minimali reikšmė min f(xk) stochastiškai artėja prie funkcijos minimumo. 183

Paprasčiausia atsitiktinė paieška Kai leistinoji sritis yra nesudėtingo pavidalo, tada Monte Karlo metodas yra paprastas skaičiavimo požiūriu. Vietoje bandymų taškų koordinačių pakanka imti tolygiai pasiskirsčiusius pseudoatsitiktinius skaičius. Jei leistinoji sritis yra n-matis gretasienis, aprašomas nelygybėmis aj < xj < bj, tai taško Xi koordinatės generuojamos taip: xij = aj + rij (bj aj). Čia rij ~ R(0;1). 184

LP paieška Nagrinėsime LP sekas, taikomas vietoje atsitiktinių skaičių Monte Karlo metoduose, taip pat sprendžiant optimizavimo uždavonius. Taškų pasiskirstymo tolydumas gali būti suprantamas įvairiai. Kartais manoma, kad daugiamačiai taškai tolygiausiai išdėstomi vadinamaisiais kubiniais tinklieliais. Tačiau optimizavimo algoritmuose naudojant taip išdėstytus taškus, rezultatas būtų blogesnis negu su atsitiktiniais taškais. Kokio pobūdžio tašku išdėstymo tolygumas reikalingas? n kintamųjų TF teoriškai priklauso nuo visų n kintamųjų, tačiau praktiniuose uždaviniuose jų priklausomumo laipsnis nėra vinodas. Būna esminių kintamųjų, kurių įtaka didesnė, nei kitų. Tarkime, kad TF iš tikrųjų priklauso nuo k esminių kintamųjų. Tuomet svarbus ne bandymo taškų išdėstymo n-mačiame kube, o taškų projekcijų į atitinkamą k-matę kubo hiperbriauną tolygumas. 185

LP paieška Iš anksto patikrinti, kurie kintamieji ar jų gruopės dominuoja, beveik neįmanoma. Galima manyti, kad TF labiausiai priklauso nuo bet kurio pavienio kintamojo, nuo bet kurios kintamųjų poros ir t.t. Kadangi iš anksto nežinome TF struktūros, turime konstroti taškų sistemas, kurių projekcijos į visas galimas įvairias matmenų skaičiaus kubo hiperbriaunas būtų išdėstytos tolygiai. 186

LP sekų programiniai generatoriai 1) 2) 3) Kuriant LP sekų programinisu generatorius buvo keliami šie reikalavimai: Generuojamų taškų tolygumas turi būti asimptotiškai optimalus; Taškai tūri būti išdėstomi tolygiai ne tik kai N, bet ir kai N mažas; Generuojamų taškų koordinačių apskaičiavimo algoritmas turi būti palyginti paprastas, kad generatoriausprograminė įranga taškus generuotų maždaug tiek pat laiko kaip standartiniai pseudoatsitiktinių skaičių generatoriai. Pirmasis reikalavimas LP sekoms tenkinamas automatiškai. Turėta sunkumų tik su antruoju ir trečiuoju reikalavimais. Sukurtieji LP generatoriai, esant mažiems N, taškus išdėsto tolygiausiai, kai N = 2m 1. 187

LP sekos daugiamačiame vienetiniame kube generavimo algoritmas n-mačių LP sekos taškų koordinates pažymėkime {Xi}, Xi = (xi1,, xin), i = 1,, N. Taško numerį užrašykime kaip dvejetainį skaičių: i = emem-1 e2e1. LP taškų koordinatės randamos atlikus tokią operaciją: m x ij = XOR (e k V j k ) k=1 Dydžiai Vjs imami iš lentelių. Lentalių apimtis yra 1 s 20, 1 j 51, taigi pagal jas galima rasti n-mačius taškus Xi, kai n < 51 ir N < 221. Pirmasis taškas visada būna kubo centre, t. y. xi1 = 1,, xin = 0,5. 188

Vjs koeficientai 189

LP2 seka (N = 3000) 0.5000 0.5000 0.2500 0.7500 0.7500 0.2500 0.1250 0.6250 0.6250 0.1250 0.3750 0.3750 0.8750 0.8750 0.0625 0.9375 0.5625 0.4375 0.3125 0.1875 190

Pastabos Kai matmenų skaičius n > 3, teoriškai neįmanoma sukonstruoti tokių generatorių (tiksliau, parinkti tokių dydžių Vjs), kad visos galimos pirmųjų taškų projekcijos būtų tolygiai išdėstytos. Generatorių autoriai stengėsi, kad bent jau pirmosios taškų Xi koordinatės būtų išdėstytos tolygiai. Todėl dudėjant koordinatės, o kartu ir TF kintamojo numeriui, projekcijų kokybė ir LP paieškos metodo efektyvumas mažėja. Kai j = 8-10, jo efektyvumas pasidaro artimas atsitiktinio ie6kojimo metodo efektyvumui. Vadinasi, LP paie6kos metodo efektyvumas priklauso nuo kintamųjų numeravimo tvarkos ir reikia stengtis, kad pirmieji būtų esminiai kintamieji, kurių įtaka didžiausia. 191

Pasyviųjų metodų efektyvumas Paieškos metodų privalumai: 1) TF gali būti bet kokia: daugiaekstremia, su trūkiais, be išvestinių. Svarbu tik, kad galėtume rasti jos reikšmę. 2) Taikant šiuos metodus, pačiam metodui sunaudojama labai negaug skaičiavimo laiko. Įvertinkime N kiek bandymų reikėtų atlikti, kad išspręstume uždavinį norimu tikslumu. Tikimybė p, kad nors vienas iš N taškų pataikys į globaliojo minimumo taško aplinką, kurios tūris lygus V, lygi 1-(1-V)N. Taigi N= ln (1 p) ln (1 V ) Formulė rodo ir trečią privalumą: efektyvumas nepriklauso nuo TF kintamųjų skaičiaus n. Ar taip yra iš tikrųjų? 192

Pasyviųjų metodų efektyvumas Norint pasiekti didelį tikslumą (mažą V): ir didelę pataikymo tikimybę p, reikia atlikti ne tiek jau daug bandymų: Atrodytų nesunku kad ir tūkstantį kartų apskaičiuoti sudėtingoa TF reikšmes. Užtat su tikimybe 0,99 rastume globaliojo minimumo taško aplinką, kurios tūris V sudaro 0,005 dalį viso srities tūrio. 193

Pasyviųjų metodų efektyvumas Deja, daugiamačiu atveju metodas visiškai naefektyvus, nes tikslumą apibūdina ne minimumo aplinkos tūris V, o tos aplinkos (tarkime, ji daugiamačio rutulio formos) spindulio ilgis, t. y. tikslumas pagal koordinates. Vn = n 2 π Rn n Γ +1 2 ( ) Kai V = 0,001 ir n = 60, paklaida lygi _, o kintamojo kitimo intervalo ilgis lygus 1. Paradoksas atsiranda dėl daugiamatės erdvės savybių, nes joje objektų projekcijos ir tūriai susiję kitaip nei esame įpratę. 194

Kartotiniai nusileidimai Paprasčiausi euristiniai (intuicija pagrįsti) globaliojo optimizavimo klasės metodai sudaryti apibendrinant lokaliųjų metodų idėjas. Tarkime, leistinosios srities D dalyje Di (tegu tokių dalių yra m) TF yra unimodali ir turi minimumo tašką Mi. Tada mums jau žinomais lokaliojo optimizavimo metodais iš bet kurio pradinio srities Di taško Pi galima rasti atitinkamą lokaliojo minimumo tašką Mi. Srities D dalis Di yra vadinama lokaliojo minimumo taško Mi traukos sritimi. Jei turime pradinių taškų {Pi} seką, tai globaliojo optimizavimo uždaviniui išspręsti pakanka išspręsti m lokaliojo optimizavimo uždavinių. Deja iš anksto nežinomas ne tik lokaliųjų minimumų skaičius m, bet ir apskritai ar uždavinys yra vieno, ar daugelio ekstremumų. 195

Kartotiniai nusileidimai Vienas paprasčiausių būdų pradinius nusileidimo taškus rasti vienų iš tolygaus taškų išdėstymo metodų. Nusileisdami iš atsitiktinio arba LP sekos taško į artimiausią lokalųjį minimumą, tarsi patiksliname netikslų pasyvios paieškos sprendinį. Tokie metodai yra neracionalūs iš daugelio pradinių taškų kartais leidžiamės į tą patį lokalųjį minimumą, o globalųjį galima ir praleisti. Todėl taikomos įvairios pradinių taškų atrinkimo taisyklės, leidžiamasi lygiagrečiai iš daugelios pradinių taškų, o vėliau blogesni iš jų atmetami. 196

Atsitiktinė paieška klasterizavimo būdu Algoritmas pagrįstas daugamatės statistikos pricedūra klasterine analize, kuri tiria taškų daugiametėje erdvėje grupavimą į vadinamuosiuis klasterius. Analizuojant atstumus tarp taškų nustatomos taškų sutankėjimo sritys, klasterių centrai, ir taškai priskiriami kuriam nors klasteriui. 1) 2) 3) 4) Atsitiktinės paieškos klasterizavimo būdu algoritmą sudaro šie etapai: Pradinių tašku parinkimas; Lokalioji paieška; Klasterių radimas; Pradinių taškų skaičiaus mažinimas. Po ketvirtojo etapo, jei uždavinys dar neišspręstas, vėl grįžtama į antrąjį etapą. 197

Atsitiktinė paieška klasterizavimo būdu Per pimąjį etapą leistinojoje srityje tolygiai parenkamas tam tikras pradinių atsitiktinių taškų skaičius. Per antrąjį etapą vienu iš lokaliųjų metodu iš visų pradinių taškų leidžiamasi į lokaliuosius minimumus. Gautas apytikslis sprendinys yra pradinis taškas tolimiems žingsniams. Per trečiąjį etapą analizuopjami nauji taškai. Jei taškai sudaro klasterį, spėjama, kad jie yra iš to paites lokaliojo minimumo traukos srities. Taigi iš jų visų leistis toliau neracionalu. Per ketvirtąjį etapą taškų skaičius palaipsniui mažinamas, tačiau patikimumui padidinti klasteryje paliekama daugiau nei vienas tolesnio nusileidimo taškas. Šiuo metodu randami ne tik globalieji, bet ir lokalieji minimumai, o tai dažnai domina specialistus. 198

Klasterinė analizė Taikydami KA, nustatome objektų panašumą ir suskirstome juos į klasterius. Klasteris panašių objektų grupė. Klasterinės analizės tikslas suskirstyti objektus taip, kad skirtumai klastrių viduje būtų kuo mažesni, o tarp klasterių kuo didesni. Skirstydami objektus į klasterius dažniausiai nežinome, kiek klasterių realiai egzistuoja. 199

Klasterinė analizės etapai 1. Pasirinkti klasterizuojamus objektus. 2. Nuspręsti, pagal kokius požymius klasterizuojame. 3. Pasirinkti objektų panašumo matą. 4. Vienu ar kitu metodu suskirstyti objektus į klasterius. 5. Peržiūrėti gautus rezultatus. 200

Objektų panašumo matai (metriniai atstumo matai) Daugelis metrinių atstumo matų yra metrikos. Metrika tai skaitinė neneigiama dviejų objektų X ir Y funkcija d(x,y), tenkinanti sąlygas: 1) 2) 3) 4) Simetriškumo: d(x,y) = d(y,x). Trikampio nelygybės: d(x,y) d(x,z) + d(z,y). Netapačių objektų atskiriamumo: jei X Y, tai d(x,y) 0. Tapačių objektų neatskiriamumo: jei d(x,y) = 0, tai X = Y. 201

Metriniai atstumo matai Atstumas Euklido d(x,y) X Y = m ( xi y i)2 i =1 m Euklido atstumo kvadratas X Y = ( xi y i)2 Minkovskio ( i =1 m i=1 xi yi 1 l l ), l>0 m Manheteno (blokinis) xi y i i=1 Čebyšovo max x i yi Mahalanobio atstumo kvadratas (X Y ) V (X Y ), m 1 vij = ( xi x )( y i y ) m i =1 i T 1 V vektorių kovariacinė matrica 202

Klasterinės analizės metodų klasifikacija Skiriamos dvi pagrindinės KA metodų klasės hierarchiniai ir nehierarchiniai metodai. Hierarchinių metodų rezultatai nusako klasterių tarpusavio hierarchiją. Taikydami hierarchinius metodus, nustatome bendrą visų klasterių tarpusavio priklausomybių struktūrą ir tik po to sprendžiame, koks klasterių skaičius yra optimalus. Hierarchiniai metodai skirstomi į jungimo ir skaidymo metodus. Jungimo metodai smulkius klasterius jungia vis į stambesnius, kol galu gale lieka vienas. Skaidymo metodai yra jungimo metodų priešingybė: vienintelis klasteris nuosekliai skaidomas Nehierarchiniai metodai paprastai taikomi tada, kai iš anksto žinomas (arba pasirenkamas) klasterių skaičius ir norima tiriamus objektus klasterizuoti. 203

Jungimo metodai Hierarchinių jungimo metodų strategiją galima apibrėžti taip: 1) Turime N klasterių po 1 objektą ir simetrinę atstumų matricą D. 2) Pagal atstumų matricą nustatome du klasterius, tarp kurių atstumas yra mažiausias. Tarkime, kad tai klasteriai U ir V. 3) Sujungiame klasterius U ir V. Naują klasterį pavadiname [UV]. Tada atstumų matricą pakeičiame taip: a) išbraukiame stulpelius ir eilutes, atitinkančius klasterius U ir V; b) pridedame eilutę ir stulpelį su atstumais tarp [UV] ir likusiųjų klasterių. 4) Kartojame 2 ir 3 žingsnius (N-1) kartą. Procesą baigiame, kai visi objektai yra viename klasteryje. Tyrėjas pats sprendžia, kuriuo etapu objektų paskirstymas į klasterius yra optimalus. Dažnai optimalus klasterių skaičius randamas matematiškai parenkamas skaidymo kokybės funkcionalas ir žiūrima, kuriuo hierarchinės klasterizacijos etapu jis minimalus. SKF pavyzdys gali būti objektų atstumų iki klasterių centrų sumos. 204

Klasterių panašumo matai ir jungimo metodai Atstumas d(u,v) Vienetinės jungties (artimiausio kaimyno) d (U,V ) = Pilnosios jungties (tolimiausio kaimyno) d (U,V ) = Vidutinės jungties d (U,V ) = Centrų min X i U, Y j V max X i U, Y j V 1 n U nv d ( X i,y j ) d ( X i,y j ) d ( X i, Y j) X i U Y j V, V ) d (U,V ) = d ( U 2 Vordo d (U,V ) = U V 1 1 + nu nv 205

Klasterių panašumo matai ir jungimo metodai Jungimo metodas, kai atstumas tarp klasterių yra vienetinės jungties, vadinamas vienetinės jungties metodu ir t.t.: Pavyzdys. Žinomas 5 automobilių galingumas (a.j.) ir kiek jie sunaudoja benzino 100 km. Šiuos automobilius norima suskirstyti į klasterius (vienetinės jungties metodu ir Vordo metodu). Automobilių skirtumams įvertinti naudosime Euklido atstumo kvadratą. Automobilis Galingumas Degalai 1 Renault 95 8 2 Audi 92 8 3 Subaru 95 10 4 Kia 94 6 5 Opel 93 5 206

Klasterių panašumo matai ir jungimo metodai Koks metodas yra geriausias? Vienareikšmiško atsakymo nėra: klasterius apibudina daug charakteristikų: požymių vektorių skaida nuo klasterio centro, forma ir t.t. Neturint išankstinės informacijos apie nagrinėjamų duomenų struktūras, gautus rezultatus lyginti sunku. Todėl objektų klasterizavimui rekomenduojama taikyti keletą klasterizavimo metodų. Tikslumo taisyklė. Sprendžiant klasterizavimo uždavinius, visados pravartu žinoti atsakymą. 207

Klasterizavimo metodų savybės Centrų metodų klasterizavimo eigoje atstumai tarp klasterių dažnai mažėja, nors iš tiesų jungiami vis mažiau ir mažiau panašūs klasteriai (tai ne pranašumas!). Taikant Vordo metodą gaunama daug mažų klasterių. Vordo metodo rezultatams labai didelę įtaką daro objektai su požymių išskirtimis. 208

Genetiniai algoritmai, evoliucinės strategijos Šie euristiniai metodai mėgdžioja biologinę evoliuciją ir natūralią atranką. Naudojama adaptyvi paieškos procedūra, besiremianti kandidatų į sprendinio tašką populiacija. Kiekvienoje iteracijoje atmetami prasčiausi kandidatai į optimalų sprendinį. Geriau prisitaikę kandidatai «kryžminami» su kitais sukeičiant jų komponentes. Taip gaunama nauja kandidatų karta. Galimos ir «mutacijos» - nežymūs kai kurių kandidatų komponenčių pakeitimai. Nuoseklūs kryminimai iš mutacijos sukuria naujus sprendinius, kurie palaipsniai artėja globaliojo optimumo link..įvairiuose metoduose naudojamos įvairios kryžminimo, mutacijos ir kandidatų atmetimo taisyklės. Pradinė populiacijos aibė susideda iš N taškų, kuriose TF reikšmės žinomos. Toliau vykdomas sutraukimo procesas, artinantis taškus link globaliojo optimumo aplinkos. 209

Valdomos atsitiktinės paieškos algoritmas (Price, 1978) 1) Generuojame pradinę populiacijos aibę S = {Xi}, i = 1,...,N. Taškai leistinojoje srityje generuojami pagal tolygų skirstinį. Randamos reikšmės {f(xi)}. Pageidautina, kad N >> n, kur n TF kintamųjų skaičius. Populiacijos kartų skaitykliui k suteikime nulinę reikšmę, k = 0. 2) Randame blogiausią ir geriausią aibės S taškus; Xmin ir Xmax, atitinkančius fmin ir fmax. Jei sustojimo sąlyga (fmax fmin < ε) patenkinta, sustojame. 3) Atsitiktinai parenkame (tai būtų selekcija) n+1 tašką iš S: {Yi}, i = 1,..., n+1. Generuojame naują tašką (tai būtų mutacija): Xnew = 2 C Yn+1. Čia C yra taškų {Yi} svorio centras (skaičiuojamas kaip taškų {Yi}, i = 1,..., n aritmetimis vidurkis). Jei Xnew nepriklauso leistinajai sričiai, kartojame trečią žingsnį; priešingu atveju randame f(xnew). Jei f(xnew) > f(xmax), taip pat kartojame trečią žingsnį. 4) Keičiame aibę S ir padidinę generacijų skaitiklio reikšmę k = k+1 grįžtame į antrą žingsnį. S=S { X new } { X max } 210

Atkaitinimo modeliavimo metodas Simulated annealing (Kirkpatrick, 1983) Metodas grindžiamas analogija tarp įkaitinto metalo atvėsimo proceso ir minimizavimo metodo. Atkaitinimas pagrįstas faktu, kad įkaitintas metalasvėsdamas ir stingdamas įgauna kristalines minimalios energijos struktūras. Jei aušinimas pakankamai lėtas, metalo atomai suformuoja struktūrą, kurios energija globaliai minimali. 211

Atkaitinimo modeliavimo metodas 212

Atkaitinimo modeliavimo metodo algoritmas Algoritmas susideda iš dviejų ciklų Vidiniame cikle generuojamas atsitiktinis taškas, kurio skirstinio tankis didžiausias aplink geriausią vidiniame cikle surastą tašką (rekordą). Jei naujame taške TF reikšmė mažiausia iš surastų, jis pakeičia ankstesnį rekordą. Su tikimybe, kuri mažėja «šąlant», geriausias iš vidiniame cikle surastų taškų gali būti keičiamas blogesniu (taip vykdoma globalesnė paieška). Išoriniame cikle mažinama temperatūra ir taškų skirstinio dispersija. Todėl paieška darosi vis lokalesnė. 213

Atkaitinimo modeliavimo metodo algoritmo schema. 1 žingsnis. Nustatomas pradinis taškas (jis kartu ir geriausias taškas, ir rekordas): X opt = X 0, X rek = X 0. Nustatoma pradinė temperatūra. T opt = T 0. Nustatomas pradinis dispersijos parametras d = d0. Nustatomas dispersijos parametro mažinimo koeficientas β: 0 < β < 1. Nustatomas temperatūros mažinimo koeficientas α: 0 < α < 1. Nustatomas leistinas nesėkmingų bandymų pagerinti rekordą skaičius, k. Nustatoma galutinė temperatūra, Tgal. 214

Atkaitinimo modeliavimo metodo algoritmo schema. 2 žingsnis. Atsitiktinai generuojamas naujas taškas: X = X rek + d Z. Čia Z atsitiktinis taškas (vektorius su nuliniu vidurkiu). opt rek xi = xi d r, r ~ R[ 1 ; 1] Jei f(x) < f(xopt), tai keičiamas geriausias taškas: X opt = X. Jei f(x) < f(xrek), tai eiti į 4 žingsnį; priešingu atveju su tikimybe P = min 1, e f X f X rek T eiti į 4 žingsnį ir nauju rekordu laikyti blogesnį tašką: X rek = X. 215

Atkaitinimo modeliavimo metodo algoritmo schema. 2 žingsnis. Metropolio sąlyga 216

Atkaitinimo modeliavimo metodo algoritmo schema. 3-6 žingsniai. 3 žingsnis. Vidinio ciklo baigimo sąlyga: jei f(xopt) nebuvo pagerintas per k TF skaičiavimų, eiti į 5 žingsnį. 4 žingsnis. Su X rek = X 5 žingsnis. Jei T < Tgal, bagiti algoritmo darbą, o minimumo aproksimacija laikyti eiti į 2 žingsnį. tašką Xopt. 6 žingsnis. Nustatyti Xrek = Xopt, T = αt, d = β d ir eiti į 2 žingsnį. Pastaba. Atkaitinimo modeliavimo metodas retai įstringa lokaliojo minimumo taške. Šis metodas išsiskiria galimybe atsisakyti pasiekto lokalaus rekordo ir pereiti į blogesnį tašką. 217

Globaliojo optimizavimo metodų testavimas. Standartinės testinės funkcijos Daugelio GO metodų prielaidų bei efektyvumo teoriškai dažniausiai neįmanoma patikrinti. Todėl jų kokybė yra vertinama eksperimentiškai sprendžiant uždavinius. Paprastai metodams įvertinti kuriamos specialios testinės funkcijos. Kupranugario funkcija; Rastrigino funkicija; Himelblau funkcija; Branino funkcija; Branino ir Hu funkcija; Goldšteino-Praiso funkcija. 218

Standartinės testinės funkcijos Kupranugario funkcija 6 x1 2 4 2 f x 1, x 2 = 2 x 1 1,05 x 1 x 1 x 2 x 2 6 219

Testiniai uždaviniai Tiriant globaliuosius optimizavimo metodus kaip testinė funkcija dažnai naudojama daugiaekstremė Rastrigino funkcija: n f X = 10 n x i 10 cos 2 x i, 2 n X ℝ. i=1 220

Rastrigino funkcija Dviejų kintamųjų Rastrigino funkcija: 2 2 f x 1, x 2 = 20 x 1 x 2 10 cos 2 x 1 10 cos 2 x 2. 221

Testiniai uždaviniai globaliesiems metodams Himelblau funkcija: 2 2 2 2 f ( x 1, x 2 ) = ( x 1 + x 2 11) + ( x 1 + x 2 7). 222

Testiniai uždaviniai globaliesiems metodams Branino funkcija: 223

Testiniai uždaviniai globaliesiems metodams Branino funkcijos lygio linijos: 224

Testiniai uždaviniai globaliesiems metodams Branino ir Hu funkcija: 225

Testiniai uždaviniai globaliesiems metodams Goldšteino-Praiso funkcija: 226

Testiniai uždaviniai globaliesiems metodams Testinių funkcijų kūrimas GO metodams sudėtingas procesas. Vizulaliai įvertinti TF savybes įmanoma tik jei matmenų skaičius n < 3. GO uždavinio sudėtingumas priklauso ne tiek nuo lokaliųjų minimumų skaičiaus, kiek nuo jų išsidėstymo chaotiškumo. Galima išskirti lokalijųjų minimumų struktūras. Pirmojo lygio minimumai tai visi lokalieji minimumai. Antrojo lygio minimumai išskiriami išanalizavus pirmojo lygio lokalijųjų minimumų kaimynystės santykius. Kaimynai yra tie lokalieji minimumai, kurių traukos zonos liečiasi. Antrojo lygio minimumai yra tie, kurių visi kaimynai didesni. Analogiškai iš antrojo lygio išskiriami trečio lygio lokalieji minimumai ir t.t. Kuo daugiau lokaliųjų minimumų aukštesniuose lygiuose, tuo sunkesnis darodi optimizavimo uždavinys. Todėl testinėse funkcijuose pageidautina galimybė keisti lokaliųjų minimimų skaičių įvairiuose lygiose. 227 Taip galima nustatyti norima testinio uždavinio sunkumą.

Testiniai uždaviniai globaliesiems metodams 228

Tiesiniai matematiniai modeliai Gamybinėje ir paslaugų teikimo srityse svarbi yra turimų išteklių panaudojimo problema. Šiai problemai sėkmingai spręsti gali būti naudojami įvairūs matematiniai metodai. Tuo atveju, kai tarp kintamųjų, ir ribotų išteklių bei siekiamų tikslų kriterijų nustatomos tiesinės priklausomybės, taikytini tiesinio programavimo uždavinių sprendimo metodai. Gamybos planavimo uždavinys Transporto uždavinys Dietos uždavinys Darbų paskyrimo uždavinys 229

Tiesiniai matematiniai modeliai Tiesinio programavimo uždavinys yra formuluojamas kaip dalinis bendrojo optimizavimo uždavinio atvejis, jo išraiška yra tokia: n z = c j x j max (arba min) tikslo funkcija j=1 { n aij x j bi, i = 1,, m pagrindiniai apribojimai (,, = ) j=1 x j 0, j = 1,, n neneigiamumo reikalavimas xj galima interpretuoti kaip gaminamos produkcijos kiekį (gamybos planas), bi turimų išteklių kiekį; čia i išteklių tipas, j produkcijos rūšis. 230

Tiesinio programavimo uždavinių formos Atsižvelgiant į tai, kad 1) TP uždavinio TF galio reikėti maksimizuoti arba minimizuoti, 2) Pagrindiniuose apribojimuose gali būti lygybės arba nelygybės (, ), 3) Visiems arba nevisiems kintamiesiems gali būti neneigiamumo reikalavimas, TP uždavinius galima užrašyti įvairiomis formomis. Kmax: maksimizavimo uždavinys kanonine forma. Kmin: minimizavimo uždavinys kanonine forma. Smax: maksimizavimo uždavinys standartine forma. Smin: minimizavimo uždavinys standartine forma. Bmax: bendros formos maksimizavimo uždavinys. Bmin: bendros formos minimizavimo uždavinys. BF: bendriausias TP uždavinių pavidalas. 231

TP maksimizavimo uždavinys kanonine forma Kmax 1) TF reikia maksimizuoti; 2) Pagrindiniai apribojimai yra lygybių pavidalo; 3) Visi kintamieji yra neneigiami. ( ) n max j=1 { cjxj tikslo funkcija n j=1 a ij x j = b i, i = 1,, m pagrindiniai apribojimai x j 0, j = 1,, n papildomi apribojimai 232

TP minimizavimo uždavinys kanonine forma Kmin 1) TF reikia minimizuoti; 2) Pagrindiniai apribojimai yra lygybių pavidalo; 3) Visi kintamieji yra neneigiami. ( ) n min j=1 { cj x j tikslo funkcija n j=1 a ij x j = b i, i = 1,, m pagrindiniai apribojimai x j 0, j = 1,, n papildomi apribojimai 233

TP maksimizavimo uždavinys standartine forma Smax 1) TF reikia maksimizuoti; 2) Pagrindiniai apribojimai yra nelygybių pavidalo; 3) Visi kintamieji yra neneigiami. ( ) n max j=1 { cjxj tikslo funkcija n j=1 a ij x j b i, i = 1,, m pagrindiniai apribojimai x j 0, j = 1,, n papildomi apribojimai 234

TP minimizavimo uždavinys standartine forma Smin 1) TF reikia minimizuoti; 2) Pagrindiniai apribojimai yra nelygybių pavidalo; 3) Visi kintamieji yra neneigiami. ( ) n min j=1 { cj x j tikslo funkcija n j=1 a ij x j b i, i = 1,, m pagrindiniai apribojimai x j 0, j = 1,, n papildomi apribojimai 235

Bendros formos maksimizavimo uždavinys Bmax 1) TF reikia maksimizuoti; 2) Pagrindiniai apribojimai yra lygybių ir nelygybių pavidalo; 3) Kintamieji nebūtinai yra neneigiami. ( ) n max c j xj j=1 { n a ij x j bi, i = 1,, m1 a ij x j = bi, i = m1 + 1,, m j=1 n j=1 x j 0, j = 1,, n1, x j R, j = n1 + 1,, n. Smax yra atskiras Bmax atvejis, kai m1 = m ir n1 = n. Kmax yra atskiras Bmax atvejis, kai m1 = 0 ir n1 = n. 236

Bendros formos minimizavimo uždavinys Bmin 1) TF reikia maksimizuoti; 2) Pagrindiniai apribojimai yra lygybių ir nelygybių pavidalo; 3) Kintamieji nebūtinai yra neneigiami. ( ) n min cjxj j=1 { n a ij x j bi, i = 1,, m1 a ij x j = bi, i = m1 + 1,, m j=1 n j=1 x j 0, j = 1,, n1, x j R, j = n1 + 1,, n. Smin yra atskiras Bmin atvejis, kai m1 = m ir n1 = n. Kmin yra atskiras Bmin atvejis, kai m1 = 0 ir n1 = n. 237

Bendriausias TP uždavinio pavidalas Bmin 1) TF reikia maksimizuoti arba minimizuoti; 2) Pagrindiniai apribojimai yra lygybių ir nelygybių pavidalo; 3) Kintamieji nebūtinai yra neneigiami. { }( c x ) min max { n j=1 j j n aij x j bi, i = 1,, m1 aij x j bi, i = m1 + 1,, m2 aij x j = bi, i = m2 + 1,, m j=1 n j=1 n j=1 x j 0, j = 1,, n1, x j R, j = n 1 + 1,, n. 238

TP uždavinių formų transformacijos Tarp formų yra ryšiai, t. y. nuo vienos formos galima pereiti prie kitos. 1) Norint pakeisti nelygybės ženklą, reikia jos abi puses padauginti iš neigiamo skaičiaus. 2) Norint iš nelygybės gauti lygybę, reikia prie nelygybės kairiosios pusės pridėti neneigiamą papildomą kintamąjį. 3) Norint iš nelygybės gauti lygybę, reikia iš nelygybės kairiosios pusės atimti neneigiamą papildomą kintamąjį. 4) Norint iš lygybės gauti nelygybę arba, reikia lygybę parašyti kaip dviejų nelygybių sistemą ir po to vieną nelygybę padauginti iš neigiamo skaičiaus. 5) Jeigi kintamajam nėra neneigiamumo reikalavimo, tai jį galima užrašyti, kaip dviejų neneigiamų kintamųjų skirtumą. 6) Minimizavimo uždavinį galima suvesti į maksimizavimo (iš atvirkščiai), pasinaudojus lygybe min z = - max (-z). 239

Geometrinis TP uždavinių sprendimo metodas Geometriškai galima spręsti TP uždavinius dviem atvejais: 1) n =2. 2) Uždavinys duotas kanonine forma ir n r = 2. Čia n nežinomųjų skaičius, r lygčių sistemos rangas. Pirmuoju atveju uždavinys gali buti duotas bet kokiame pavidale. Tarkime, BF max: ( ) 2 max j=1 { cj xj 2 a ij x j bi, i = 1,, m1 a ij x j bi, i = m 1 + 1,, m 2 a ij x j = bi, i = m2 + 1,, m j=1 2 j=1 2 j=1 x j 0, j J {1, 2 } 240

Geometrinis TP uždavinių sprendimo metodas Išspresti šį uždavinį geometriškai, vadinasi, rasti tokį apribojimų srities tašką, kurio koordinatės suteiktų TF maksimalią reikšmę. Lygybės ai1 x1 + ai2 x2 = bi geometrinis vaizdas yra tiesė plokštumoje x1ox2. Pvz., 3x1 + 4x2 = 12. 241