SAARA KUISMANEN ELLIPSOIDIALGORITMIN KÄYTTÖ SÄÄTÖSUUNNITTELUS- SA

Samankaltaiset tiedostot
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 1, MALLIRATKAISUT

Tehtävä 2 Todista luennoilla annettu kaava: jos lukujen n ja m alkulukuesitykset. ja m = k=1

J1 (II.6.9) J2 (X.5.5) MATRIISILASKENTA(TFM) MALLIT AV 6

Matematiikan tukikurssi

Johdatus lukuteoriaan Harjoitus 1 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Tehtävä 3. Määrää seuraavien jonojen raja-arvot 1.

Differentiaali- ja integraalilaskenta 1 Ratkaisut 1. viikolle /

funktiojono. Funktiosarja f k a k (x x 0 ) k

2 Taylor-polynomit ja -sarjat

[ ] [ 2 [ ] [ ] ( ) [ ] Tehtävä 1. ( ) ( ) ( ) ( ) ( ) ( ) 2( ) = 1. E v k 1( ) R E[ v k v k ] E e k e k e k e k. e k e k e k e k.

Joulukuun vaativammat valmennustehtävät ratkaisut

V. POTENSSISARJAT. V.1. Abelin lause ja potenssisarjan suppenemisväli. a k (x x 0 ) k M

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ylioppilastutkintolautakunta S tudentexamensnämnden

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

Ennen kuin mennään varsinaisesti tämän harjoituksen asioihin, otetaan aluksi yksi merkintätekninen juttu. Tarkastellaan differenssiyhtälöä

2.8 Mallintaminen ensimmäisen asteen polynomifunktion avulla

Pyramidi 3 Analyyttinen geometria tehtävien ratkaisut sivu 139 Päivitetty a) 402 Suplementtikulmille on voimassa

Sattuman matematiikkaa III

MS-A0402 Diskreetin matematiikan perusteet

Matemaattinen Analyysi

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

9 Lukumäärien laskemisesta

III. SARJATEORIAN ALKEITA. III.1. Sarjan suppeneminen. x k = x 1 + x 2 + x ,

Harjoitus 4: Matlab - Optimization Toolbox

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Estimointi Laajennettu Kalman-suodin. AS , Automaation signaalinkäsittelymenetelmät Laskuharjoitus 4

M 2 M = sup E M 2 t. E X t = lim. niin martingaalikonvergenssilauseen oletukset ovat voimassa, eli löydämme satunnaismuuttujan M, joka toteuttaa ehdon

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

VÄRÄHTELYMEKANIIKKA SESSIO 19: Usean vapausasteen systeemin liikeyhtälöiden johto Newtonin lakia käyttäen

STOKASTISET DIFFERENTIAALIYHTÄLÖT 7

Todennäköisyyslaskenta IIa, syys lokakuu 2019 / Hytönen 1. laskuharjoitus, ratkaisuehdotukset

Riemannin sarjateoreema

Luento 8: Epälineaarinen optimointi

Luku kahden alkuluvun summana

Luento 9: Yhtälörajoitukset optimoinnissa

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Lineaariset kongruenssiyhtälöryhmät

KKT: log p i v 1 + v 2 x i = 0, i = 1,...,n.

z z 0 (m 1)! g(m 1) (z0) k=0 Siksi kun funktioon f(z) sovelletaan Cauchyn integraalilausetta, on voimassa: sin(z 2 dz = (z i) n+1 k=0

Todennäköisyysjakaumat 1/5 Sisältö ESITIEDOT: todennäköisyyslaskenta, määrätty integraali

DEE Lineaariset järjestelmät Harjoitus 5, harjoitustenpitäjille tarkoitetut ratkaisuehdotukset

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Hannu Pajula. Stirlingin luvuista

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Vakuutusteknisistä riskeistä johtuvien suureiden laskemista varten käytettävä vakuutuslajiryhmittely.

Interaktiiviset menetelmät

Matriisien tulo. Matriisit ja lineaarinen yhtälöryhmä

C (4) 1 x + C (4) 2 x 2 + C (4)

VALIKOITUJA KOHTIA LUKUTEORIASTA

MS-C1340 Lineaarialgebra ja

Kimppu-suodatus-menetelmä

Mat Dynaaminen optimointi, mallivastaukset, kierros Vaimennetun heilurin tilanyhtälöt on esitetty luennolla: θ = g sin θ r θ

Eksponentti- ja logaritmiyhtälö

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Naulalevylausunto Kartro PTN naulalevylle

1 Rajoittamaton optimointi

Perustehtäviä. Sarjateorian tehtävät 10. syyskuuta 2005 sivu 1 / 24

1. YKSISUUNTAINEN VARIANSSIANALYYSI: AINEISTON ESITYSMUODOT

(0 desimaalia, 2 merkitsevää numeroa).

4.3 Erillisten joukkojen yhdisteet

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Luento 8: Epälineaarinen optimointi

S Hahmontunnistus ihmisläheisissä käyttöliittymissä Kasvojen tunnistus ja identiteetin tarkistus: ZN-Face

Inversio-ongelmien laskennallinen peruskurssi Luento 2

termit on luontevaa kirjoittaa summamuodossa. Tällöin päädymme lukusarjojen teoriaan: a k = s.

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

1 Lineaariavaruus eli Vektoriavaruus

Hanoin tornit. Merkitään a n :llä pienintä tarvittavaa määrää siirtoja n:lle kiekolle. Tietysti a 1 = 1. Helposti nähdään myös, että a 2 = 3:

Ominaisvektoreiden lineaarinen riippumattomuus

[xk r k ] T Q[x k r k ] + u T k Ru k. }.

Määritelmä 1. Olkoot V ja W lineaariavaruuksia kunnan K yli. Kuvaus L : V. Termejä: Lineaarikuvaus, Lineaarinen kuvaus.

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja

Osakesalkun optimointi

5 OMINAISARVOT JA OMINAISVEKTORIT

802320A LINEAARIALGEBRA OSA III

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Ratkaisuehdotukset LH 8 / vko 47

ELEMENTTIMENETELMÄN PERUSTEET SESSIO 12: Tasokehän palkkielementti, osa 2.

Osoita, että täsmälleen yksi vektoriavaruuden ehto ei ole voimassa.

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

Ominaisarvot ja ominaisvektorit 140 / 170

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Paikannuksen matematiikka MAT

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Jos siis ohjausrajoitusta ei olisi, olisi ratkaisu triviaalisti x(s) = y(s). Hamiltonin funktio on. p(0) = p(s) = 0.

Talousmatematiikan perusteet: Luento 15. Rajoitettu optimointi Lagrangen menetelmä Lagrangen kerroin ja varjohinta

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

17. Differentiaaliyhtälösysteemien laadullista teoriaa.

Matematiikan tukikurssi

Olkoot X ja Y riippumattomia satunnaismuuttujia, joiden odotusarvot, varianssit ja kovarianssi ovat

DEE Lineaariset järjestelmät Harjoitus 2, ratkaisuehdotukset. Johdanto differenssiyhtälöiden ratkaisemiseen

Optimaalisuusehdot. Yleinen minimointitehtävä (NLP): min f(x) kun g i (x) 0 h j (x) = 0

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Talousmatematiikan verkkokurssi. Koronkorkolaskut

Iteratiiviset ratkaisumenetelmät

Transkriptio:

SAARA KUISMANEN ELLIPSOIDIALGORITMIN KÄYTTÖ SÄÄTÖSUUNNITTELUS- SA Kandidaatintyö Tarastaja: Simo Ali-Löytty ja Terho Jussila

I TIIVISTELMÄ SAARA KUISMANEN: Ellipsoidialgoritmin äyttö säätösuunnittelussa Tampereen tenillinen yliopisto Kandidaatintyö, 21 sivua, 8 liitesivua Tououu 2017 Tenis-luonnontieteellinen oulutusohjelma Pääaine: Matematiia Tarastaja: Simo Ali-Löytty ja Terho Jussila Avainsanat: ellipsoidialgoritmi, deep-cut, vasionvesi optimointi, taaisinytentä Ellipsoidimenetelmä on optimointiin taroitettu iteratiivinen algoritmi, jona avulla voidaan löytää halutun vasionvesin funtion minimoija. Joaisella iteraatioierrosella ellipsoidin tilavuus pienenee, ja iteraatioita jatetaan, unnes ellipsoidi täyttää halutut ehdot. Ellipsoidimenetelmästä on olemassa myös ehittyneempiä ja tehoaampia versioita, joista ysi on deep-cut -menetelmä. Tässä andidaatin työssä tutitaan ellipsoidialgoritmin hyödyntämistä säätösuunnittelussa. Alusi esitellään ellipsoidialgoritmin teoreettinen tausta seä deep-cut -versio ja todistetaan ellipsoidialgoritmin suppeneminen. Perinteisen ellipsoidialgoritmin toimintaa havainnollistetaan ysinertaisella lineaarisella esimerillä. Ellipsoideja uvataan myös MATLAB-ohjelmistolla tehdyillä uvilla. MATLAB-funtio lqr äydään läpi lyhyesti, jona jäleen menetelmiä sovelletaan taaisinytentävahvistusen optimointiin MATLAB -ohjelmiston avulla. Sovellus-osiossa esitetään lasentatulosia tauluoituna seä uvaajien avulla. Tulosia verrataan lqr-funtion antamiin tulosiin.

II SISÄLLYS 1. Johdanto.................................... 1 2. Ellipsoidimenetelmä.............................. 2 2.1 Ellipsoidimenetelmän idea........................ 2 2.2 Ellipsoidimenetelmän suppenemisen todistus.............. 7 2.3 Deep-cut.................................. 8 2.4 Esimeri ellipsoidimenetelmästä.................... 9 3. Ellipsoidialgoritmin soveltaminen....................... 11 3.1 Ongelman esittely............................. 12 3.2 Lineaaris-neliöllinen regulaattori..................... 14 3.3 Ellipsoidimenetelmän äyttö....................... 14 4. Yhteenveto................................... 18 Lähteet....................................... 19 Liite A: Kappaleen 2.4 esimerin MATLAB-oodit............... 22 Liite B: Kappaleen 3 MATLAB-oodit...................... 24 Liite C: Ominaisarvon derivaatta vahvistusmatriisin suhteen.......... 28

III LYHENTEET JA MERKINNÄT LTI lqr TTY Lineaarinen aiainvariantti Matlab:n lisäosan Control System Toolbox funtio Tampereen tenillinen yliopisto A 1 Matriisin A inverssi A 1 2 Matrisiin A ollessa symmetrinen semipositiividefiniitti A 1 2 = X on matriisin A neliöjuuri, jolle XX = A. A T A B A B β n B n det(a) E f : A B f F lqr g J J e J lqr ln(x) Matriisin A transpoosi Jouo A on jouon B osajouo. Jouojen A ja B leiaus. n-ulotteisen ysiöpallon tilavuus Pallo Matriisin A determinantti Ellipsoidi, alaindesi viittaa iteraatioierroseen f on funtio jouosta A jouoon B Funtion f(x) minimiarvo lqr-funtion tuottama taaisinytentävahvistus Gradientti Kustannusfuntio Ellipsoidialgoritmin antaman rataisun ustannusfuntion arvo lqr-funtion antaman rataisun ustannusfuntion arvo Luonnollinen logaritmi muuttujasta x n, m Positiivisia oonaisluuja N Positiivisten oonaisluujen jouo P,A Ellipsoidimenetelmän ellipsoidin määrittelymatriiseja R Reaaliluujen jouo R n m Re(x) tr(a) V E x ẋ x x A Z f(x) Reaalinen n ertaa m matriisi. Komplesimuuttujan x reaaliosa Matriisin A jäli, eli diagonaalialioiden summa. Ellipsoidin E tilavuus Minimisoija Muuttujan x derivaatta Ellipsoidin E esipiste x on jouon A alio Koonaisluujen jouo Funtion f aii subgradientit pisteessä x

IV λ A x x n Σ i=0 x Matriisin A ominaisarvot Kaii-vanttori, aiilla x Olemassaolo-vanttori, on olemassa x Summa nollasta luuun n asti. Vetorin x Eulidinen normi

1 1. JOHDANTO Optimoinnilla taroitetaan joninlaisen hyödyn masimointia tai haitan minimointia ottamalla huomioon mahdolliset olemassa olevat rajoitteet. Optimoinnissa on ohdefuntio, muuttujat seä rajoitteet. Optimointia on lähes aiialla; niin ysilön tehdessä valintoja tulevaisuuttaan varten uin insinöörin ehittäessä tehdasjärjestelmää tai auppiaan tehdessä hintavalintoja tuotteilleen. Näitä aiia yhdistää pyrimys optimoida join ohde, uten esimerisi hinta, voitto, laatu tai mielihyvä. Matemaattinen optimointi voidaan lyhyesti määritellä tieteenä, joa pyrii löytämään parhaan rataisun matemaattisesti asetettuihin ongelmiin. [27] Optimointiongelmat voivat olla muun muassa stoastisia, epälineaarisia ja onveseja. Optimointia on ollut olemassa jo vuosituhansia erinäisissä muodoissaan, mutta tietooneiden ja niiden lasentatehon ehittymisen myötä optimointimenetelmiä luotiin ja ehitettiin useita lisää. Ysi tunnetuimmista numeerisen optimoinnin menetelmistä on Simplex algoritmi, jona ehitti George B. Dantzig vuonna 1947. Muita tunnettuja menetelmiä ovat muun muassa Quasi-Newtonin menetelmä, Spherical Quadratic Steepest Descent -menetelmä seä ellipsoidimenetelmä. [7, 24] Monissa lineaarisissa säätösuunnittelun ongelmissa voidaan hyödyntää vasionveseja optimointimenetelmiä. Tässä työssä tutitaan vasionvesisen ellipsoidimenetelmän yyä rataista taaisinytennän vahvistusen optimointiongelma. Ellipsoidimenetelmän tuottamia rataisuja verrataan MATLAB-ohjelmiston funtion lqr avulla tuotettuun tuloseen. Optimointitehtävänä on löytää lineaariselle järjestelmälle sopivan säätimen vahvistusmatriisi, jona avulla voidaan minimoida ustannusfuntio J. Tässä työssä rajoitutaan systeemeihin, jota ovat lineaarisia aiainvariantteja, eli LTI-systeemejä. [17, 26] Ensin esitellään ellipsoidimenetelmä seä siitä ehittyneempi versio deepcut. Ellipsoidialgoritmin suppeneminen rajoittamattomalle tapauselle todistetaan. Ysinertainen esimeri esitellään. Kappaleessa olme tutitaan ellipsoidialgoritmin soveltavuutta säätösuunnittelussa.

2 2. ELLIPSOIDIMENETELMÄ Matemaattinen rajoitettu optimointiongelma voidaan irjoittaa muodossa arg min x R n f(x) (2.1) ehdoin l i (x) 0, i = 1,..., m, missä f : R n R on tavoitefuntio, vetori x R n, funtion minimoija, on ongelman rataisu, ja l i : R n R ovat rajoitefuntioita. [5, 22] Optimointiongelmalla ei aina ole olemassa rataisua. Optimointialgoritmien loppuehtoina on usein joo optimaalisen (tai tarpeesi lähellä optimaalista rataisua olevan) rataisun löytäminen, tai toteaminen, ettei rataisua ole olemassa. Ongelmasta riippuen funtiolla voi myös olla monta optimaalista rataisua. Kvasionvesin optimoinnin ideana on löytää minimoija x, jolla rataistaan aiemmin mainittu optimointiongelma, missä funtiot f(x) ja l(x) ovat vasionveseja. Määritelmä 2.1 Funtio f : R n R on vasionvesi, jos pätee f(γa + (1 γ)b) max{f(a), f(b)} (2.2) aiille a, b R n ja aiille γ [0, 1] [4]. 2.1 Ellipsoidimenetelmän idea Ellipsoidialgoritmin juuret ovat 1970-luvulla. Alun perin ellipsoidimenetelmän yleisille onvesisille optimointiongelmille suunnittelivat Shor seä Yudin ja Nemirovsii. Menetelmä nousi pinnalle vuonna 1979 L. G. Khachiyanin julaiseman artielin myötä. Siinä osoitettiin, että menetelmällä voidaan rataista lineaarisia optimpointiongelmia polynomiajassa. Tämä taroittaa sitä, että algoritmi on ertaluoaa O(n ), missä on positiivinen oonaisluu ja n on inputin oo. Ellipsoidialgoritmia voidaan esimerisi hyödyntää löytämään taroja tai liimääräisiä rataisuja säätö- ja suodatinsuunnitteluongelmissa. [3, 14, 22, 25]

2.1. Ellipsoidimenetelmän idea 3 Ellipsoidimenetelmän ideana on löytää ustannusfuntion f(x) minimoija x ellipsoidien sisältä. Menetelmän avulla haetaan jono pieneneviä ellipsoideja, joista joaisen sisällä on yseinen x. Joaisella iteraatioierrosella ellipsoidin tilavuus pienenee. Ellipsoidin esipisteestä lasetun subgradientin avulla voimme löytää ellipsoidin puoliaan, joa ei sisällä vasionvesin funtion f minimoijaa x. Tämän perusteella voimme lasea uuden pienemmän ellipsoidin, joa sisältää minimoijan. [4,9] Ellipsoidimenetelmän hyötyjä ovat muun muassa se, että äyttö vaatii vain yvyn lasea miä tahansa funtion subgradientti. Monissa muissa vasionvesien algoritmien toteutusissa on lasettava subgradientti spesifiin suuntaan, miä voi olla huomattavasti haastavampaa. Menetelmän hyötynä ovat myös ysinertaiset loppuehdot. Ellipsoidimenetelmä uitenin suppenee melo hitaasti, minä taia se ei usein ole paras mahdollinen menetelmä. [4, 11] Määritelmä 2.2 Ellipsoidi on vetorijouo E R n, un E = {z (z a ) T A 1 (z a ) 1}, (2.3) missä A on symmetrinen (A = A T ) positiividefiniitti (x T Ax > 0 un x 0) n n -matriisi. Tällöin ellipsoidin esipiste on a R n. [10] Matriisin A ominaisarvoista saadaan ellipsoidin puoliaselit; ominaisarvojen neliöjuuret ovat ääntäen verrannollisia puoliaseleiden pituusiin [8]. Ellipsoidin tilavuus on [4] V E = β n det(a), (2.4) missä β n on n-ulotteisen ysiöpallon tilavuus β n = π n/2 Γ(n/2 + 1). (2.5) Reaalimuuttujan gammafuntio Γ on positiivisille oonaisluvuilla n [1] Γ(n) = (n 1)!. (2.6) Määritelmä 2.3 Oloon vetori g R n ja funtio f : R n R. Vetori g on

2.1. Ellipsoidimenetelmän idea 4 funtion f subgradientti, jos f(x) f(ˆx) + g T (x ˆx), aiille x, ˆx R n. (2.7) Funtion f(x) subgradienttien jouosta äytetään merintää f(x). Jos f on vasionvesi, niin f(x) silloin, un x uuluu funtion f määrittelyjouoon. Jos f on derivoituva, funtion gradientti pisteessä x on sen subgradientti. [18] Ellipsoidin E esipiste oloon x ja subgradientti g. Jos g = 0, niin yseinen piste on minimi vasionvesisuuden ansioista eiä iteraatioita tarvitse suorittaa. Subgradientin ollessa erisuuri uin nolla, seuraava minimoijan sisältävä ellipsoidi on [4] missä esipiste x +1 ja ellipsoidimatriisi Ẽ = {z (z x +1 ) T A 1 +1 (z x +1) 1}, (2.8) x +1 = x A g n + 1 A +1 = n2 n 2 1 ( A 2 n + 1 A g g T A ) (2.9a) (2.9b) ja g on normalisoitu subgradientti g = g g T A g. (2.10) Aluellipsoidi ja sen esipiste voidaan valita aavoilla A 1 = n 4 diag(xmax x min ) (2.11a) x 1 = xmax + x min, (2.11b) 2 missä x max ja x min ovat ylä- ja alarajat muuttujille, ja diag(x) on diagonaalinen neliömatriisi, jona diagonaalialiona on vetorin x aliot. Ylä- ja alarajat lasetaan tässä työssä hyödyntämällä lqr-funtion palauttamaa vahvistusta. [16] Kuvassa 2.1 on uvattuna ahden iteraatioierrosen ellipsoidit, niiden esipisteet seä subgradientit.

2.1. Ellipsoidimenetelmän idea 5 5 4 3 2 1 0 g c c +1-1 -2-3 -4-5 E -6-4 -2 0 2 4 6 E +1 Kuva 2.1 Kahden iteraatioierrosen esipisteet ã, niiden ellipsoidit seä subgradientti g. Funtion minimoija sijaitsee eltaisella alueella. Algoritmi pätee ellipsoidijouoille, joille n 2. Aluellipsoidi valitaan niin, että se sisältää minimoijan x. Kosa on siis olemassa x E, niin pätee f = f(x ) f(x ) + g T (x x ), (2.12) jollein x E, ja missä funtion f arvot lähestyvät minimiä iteraatioiden määrän lähestyessä ääretöntä. Siten f(x ) f g T (x x ) max x E g T (x x ). (2.13) Kosa matriisi A on symmetrinen ja I = A 0 = A 1 2 A 1 2, lausee gt (x x ) voidaan laajentaa muotoon g T A 1 2 A 1 2 (x x ) = ( A 1 2 g ) T (A 1 2 (x x )). Matriisi A 1 2 on matrisiin A neliöjuuri ja matriisi A 1 2 neliöjuuren inverssi. Tehdään muuttujanvaihto w = A 1 2 (x x ) ja b = A 1 2 g, jolloin masimointitermi muuntuu muotoon max b T w = b w = b w cos(α), (2.14)

2.1. Ellipsoidimenetelmän idea 6 missä α on vetoreiden b ja w välinen ulma. Ehto muuntuu nyt muotoon (x x ) T A 1 (x x ) = (x x ) T A 1 2 A 1 2 (x x ) = w T w 1. (2.15) Vetori w on ysiöpallon sisällä, joten vetoreiden ollessa samansuuntaiset löydetään masimi. Siis α = 0 ja 1 max( b w max(α)) = max( b cos(0)) = max( b ) = b = A 2 g = A 1 2 g A 1 2 g = (A 1 2 g ) T A 1 2 g = g T A 1 2 A 1 2 g = g T A g. (2.16) Loppumisehtomme on siis g T A g ɛ, (2.17) jossa siis lopetettua rataisu f(x ) on etäisyyden ɛ päässä minimoijasta f. [4] Optimoinnissa on uitenin yleensä muana vasionveseja rajoitteita. Raenne on samanlainen un aiemmassa algoritmissa, mutta joaisella iteraatioierrosella algoritmi löytää normalisoidun gradientin tavoitefuntiolle f(x) jos x on äypä tai rajoitefuntiolle l(x), jos x ei ole äypä [22]. Iteraatioita jatetaan lopettamisehtoon [4] asti, jota ovat nyt l(x ) 0 g T A g ɛ. (2.18a) (2.18b) Algoritmi rajoitteiden anssa on tiivistetty Algoritmiin 1.

2.2. Ellipsoidimenetelmän suppenemisen todistus 7 Algoritmi 1 Ellipsoidialgoritmi [4, 21] 1: Valitaan x 1, A 1 2: = 1 3: while l(x ) > 0 tai g T A g > ɛ do 4: if l(x ) > 0 (x ei ole äypä) then 5: Lasetaan join h l(x ) 6: g = h h T A h 7: if l(x ) h T A h > 0 then 8: Ei ole olemassa optimipistettä, ja algoritmi eseytetään. 9: end if 10: else 11: Lasetaan join g f(x ). 12: g = 13: end if g g T A g 14: Asetetaan x +1 = x A g n+1. 15: Asetetaan A +1 = n2 n 2 1 (A 2 n+1 A g g T A ). 16: = + 1 17: end while Tämä algoritmi toteutetaan MATLAB-ohjelmalla appaleessa 3. 2.2 Ellipsoidimenetelmän suppenemisen todistus Tässä osassa todistetaan, että ellipsoidimenetelmän algoritmi suppenee vasionveseille funtioille. Ellipsoidien tilavuus pienenee joaisella iteraatioierrosella, sillä missä n Z. [21] V E+1 = ( ) n+1 ( ) n 1 n n V E n + 1 n 1 < 1 e 2n VE, (2.19) Oletetaan, että z E 1 ja joaiselle iteraatiolle pätee f(x ) > f(z ) + ɛ, missä ɛ on positiivinen. Joaiselle ellipsin pisteelle z, jota ei oteta muaan seuraavalle iteraatiolle pätee f(z) > f(z ) + ɛ, sillä poisjätetyt funtion arvot ovat aina suurempia, un f(x ). Oloon G = max g (2.20) x E on subgradienttien masimipituus ensimmäisessä ellipsoidissa, missä g f(x) ja

2.3. Deep-cut 8 x E 1. Oloon myös B n pallo B n = {z z z ɛ/g}, (2.21) jolle pätee B n E. Siis myös pallon B n tilavuus on pienempi uin ellipsoidin E. Käyttäen nyt hyödysi yhtälöä ( 2.19) päätellään epäyhtälö e K 2n VE (ɛ/g) n β n, (2.22) missä K N on iteraatioiden masmimäärä. Ensimmäisen ellipsoidin tilavuus voidaan ilmaista muodossa P n β n, missä β n on ysiöpallon tilavuus. Sijoittamalla tämän yllä olevaan yhtälöön, ottamalla logaritmit puolittain ja sieventämällä saadaan K 2n 2 ln P G (2.23) ɛ Minimoijan f saavuttaminen masimivirheellä ɛ edellyttää oreintaan 2n 2 ln P G ɛ iteraatiota. [4] 2.3 Deep-cut Perinteisen ellipsoidialgoritmin suppenemisnopeutta voidaan parantaa. Ysi vaihtoehto on deep-cut menetelmä, jona ideana on leiata pois aiempaa suurempi osa edellistä ellipsoidia tulosena aiempaa pienempi jatossa äypä jouo. [2] Oletetaan, että on olemassa join x, joa ei ole äypä, osa l(x) > 0. Aiemman algoritmin perusteella haetaan subgradientti h f(x). Joaiselle äypälle pisteelle z pätee h T ( z x) f(x) (2.24) Nyt voidaan hylätä hauavaruuden osa {z h T (z x) > f(x)}. (2.25) Nyt minimitilavuusinen ellipsoidi, joa sisältää minimoijan on muotoa D = E {z h T (z x ) f(x )}. (2.26) Jos tämä alue D on tyhjä, niin ei ole olemassa äypää rataisua. Tällainen tilanne tulee jos ja vain jos Tällöin iterointi lopetetaan, eiä minimoijaa ole. [4] h T A h < f(x ). (2.27)

2.4. Esimeri ellipsoidimenetelmästä 9 Algoritmi etenee samanaltaisesti uin perinteinen menetelmä. Nyt iteraatioiden parametrit ovat esipiste c +1 ja matriisi P +1. Ne määritellään [3, 4] missä P +1 = n2 (1 α 2 ) n 2 1 c +1 = c 1 + nα 1 + n P h (2.28) ( P 2(1 + nα ) ) (1 + n)(1 + α ) P h ht P, (2.29) α = f(x ) h T P h (2.30) ja h on normalisoitu subgradientti h = h h T P h. (2.31) 2.4 Esimeri ellipsoidimenetelmästä Havainnollistetaan ellipsoidialgortimin ulua ysinertaisella esimerillä. Alla on esitelty tuloset; varsinaiset lasutoimituset löytyy Matlab -oodina (Liite A). Tutitaan tilannetta, jossa halutaan löytää piste x, joa toteuttaa ehdot l(x) 0. Ongelmassa ei ole varsinaista tavoitefuntiota, vaan rataisusi riittää äypä piste. Ehdot ovat matriisimuodossa (Ax b 0) [ 2 0 0 2 ] [ x 1 x 2 ] [ ] 1 + 0 (2.32) 2 Tässä n = m = 2 ja aloitusellipsoidin esipisteesi valitaan x 1 = [0, 0] T. Ellipsoidin matriisi A 1 voidaan valita tällaisessa lineaarisessa tapausessa esimerisi siten, että A 1 = 2 L I, missä I on identiteettimatriisi ja L on inputdatan pituus lasettuna aavalla [10]: L = Σ i,j log 2 ( a i,j + 1) + Σ i log 2 ( b i + 1) + log 2 (n) + log 2 (m) + (nm + m). (2.33) Tässä esimerissä L = 15, joten matriisi A 1 on A 1 = [ 32768 0 0 32768 ]. (2.34)

2.4. Esimeri ellipsoidimenetelmästä 10 Alupiste ei ole äypä, joten ensimmäisesi subgradientisi valitaan rajoitefuntion avulla h 1 = [ 2, 0] T. Subgradientti normalisoituna on g 1 = [ 52 9413, 0]T. Nyt x 2 = [ ] 6215 103 0 ja A 2 = [ ] 131072 0 9. (2.35) 131072 0 3 Piste x 2 ei ole äypä, vaan rioo rajoitetta 2, joten valitaan uudesi subgradientisi h 2 = (0, 2) T. Tällöin normalisoitu subgradientti on g 2 = (0, 52 9413 )T ja ellipsoidin esipisteesi x 3 ja matriisisi A 3 saadaan x 3 = [ ] 6215 103 14562 181 ja A 3 = [ ] 252435 0 13. (2.36) 84145 0 13 Tämä toteuttaa halutut rajoitteet. Kuvassa 2.2 näyy olmen iteraation ellipsoidit seä äypä alue. Kuva 2.2 Kuvassa on iteraatioden ellipsoidit E ja esipisteet c, seä sininen varjostusen uvaama äypä alue. Kahden ensimmäisen ellipsoidin esipisteet eivät uulu alueeseen, mutta olmannen uuluu.

11 3. ELLIPSOIDIALGORITMIN SOVELTAMINEN Kun optimoitavana ongelmana on säätösuunnittelun ongelma, niin joissain tapausissa voidaan uvata optimoitavaa järjestelmää tilamallilla ẋ = Φx + Γu (3.1) y = Cx, missä u R p on ohjausinputvetori, y R r outputvetori, x R q tilavetori ja Φ R q q, Γ R q p, C R r q ovat vaiomatriiseja [26,28]. Muuttujat u, y ja x ovat ajan funtiota, missä t [0, ). Optimointiongelmana on löytää vahvistusmatriisi F, joa määrittelee säätölain u = F y = F Cx = F x, (3.2) missä F = F C (3.3) ja F R p q minimoi ustannusfuntion J = 0 (x T W x + u T Ru)dt, (3.4) missä W R q q on semipositiividefiniitti (x T W x 0 aiille x) vaiomatriisi systeemin tilojen painoarvoille ja R R p p on positiividefiniitti (x T Rx > 0 un x ei ole nollavetori) vaiomatriisi ohjausen painoarvoille [6, 16]. Säätöä tarvitaan muun muassa sisi, että x(0) (eli tilavetorin x aluarvo) ei täytä haluttuja tavoite-ehtoja. Systeemin stabiilisuuteen vaaditaan, että matriisin Φ ΓF ominaisarvot ovat omplesitasossa imaginaariaselin vasemmalla puolella, toisin sanoen Re(λ Φ ΓF ) < 0. Stabiilille suljetulle systeemille ustannusfuntio on [23] J = x(0) T Kx(0) = tr(kx(0)x(0) T ), (3.5)

3.1. Ongelman esittely 12 missä x(0) on systeemin tilan aluarvo ja matriisi K toteuttaa Lyapunovin yhtälön (Φ ΓF ) T K + K(Φ ΓF ) = (W + F T RF ). (3.6) Jos aluarvo x(0) tulitaan satunnaisvetorisi, jona esineliö on identiteettimatriisi I, voidaan ongelma irjoittaa muodossa min tr(k) (3.7) ehdolla Re{λ Φ ΓF } < 0. [16, 28] Määritetään muuttujavetorin aliot aavalla z a+q(b 1) = f a,b, missä q on matriisin Φ dimensio, ja vahvistusen F aliot ovat f a,b (a uvaa sijaintia pystysuunnassa ja b vaaasuunnassa). Tämä tehdään, osa ellipsoidialgoritmi vaatii muuttujat vetorimuodossa ja taaisinytennän vahvistus F voi olla matriisi. MATLABohjelmistossa tämä onnistuu omennolla z = F (:) [16] 3.1 Ongelman esittely Ohjattavasi systeemisi valitaan Kuvan 3.1 havainnollistama servojärjestelmä. Sen avulla voi suorittaa monenlaisia ohjausoeita. QUBE saa energiansa DC-moottorilta. Tavoitteena on ohjata laitteen päällä pyörivää heiluria taaisinytennän avulla. Kuvassa 3.1 on yseinen systeemi.

3.1. Ongelman esittely 13 Kuva 3.1 Kuvassa on pohjalla Quanser CUBE-Servo 2 -järjestelmä, johon on meritty θ ulma [20]. Kulma α on liiuvan punaisen tangon poieama laation yläannen ulonormaalin suunnasta. Jos herätteenä on moottorin jännite u, ja ulostulona (eli ohjattavana suureena) ulma θ, voidaan systeemi irjoittaa tilamallina ( 3.1). Tilavetorina on x(t) = [θ α θ α] T, (3.8) missä θ on uution ja pyörivän osan välinen ulma seä α on liiuvan punaisen tangon poieutusulma laation yläannen ulonormaalin suunnasta. Matriisit Φ, Γ ja C ovat [12] 0 0 1 0 0 0 0 0 1 Φ = 0 149.2751 0.0104 0, Γ = 0 49.7275 ja C = I R4 4. (3.9) 0 261.6091 0.0103 0 49.1493 Valitaan ustannusfuntion painomatriisit W = I R 4 4 ja R = 1. Kosa ohjaussuureita on vain ysi, niin matriisi R on salaari. [12]

3.2. Lineaaris-neliöllinen regulaattori 14 3.2 Lineaaris-neliöllinen regulaattori Matlab:ssa on funtio lqr, joa lasee vahvistusmatriisin K. Syntasi on muotoa F = lqr(φ,γ,w,r,n) (3.10) missä matriisit Φ ja Γ tulevat systeemimallista ( 3.1) ja matriisit W ja R tulevat ustannusfuntiosta ( 3.4), joa minimoi taaisinytentä säätölain u = F x. Funtio toimii tiettyjen ehtojen täyttyessä. Nämä ehdot ovat Systeemimalli (Φ, Γ) täytyy olla stabiloitavissa R > 0 ja W NR 1 N T 0 Parilla (W NR 1 N T,Φ ΓR 1 N T ) ei ole yhtään ei-tarailtavissa olevaa moodia imaginaariaselilla. Kustannusfuntion integrandiin voidaan lisätä vetoreiden x ja u bilineaarinen termi 2x T Nu, mutta se asetetaan tässä nollasi. [17, 19] 3.3 Ellipsoidimenetelmän äyttö Tavoitteena on löytää matriisi F, jona avulla minimoimme tavoitefuntion J = tr(k). Matriisi F on tässä tapausessa R 1 4 matriisi. Ongelman vapaat muuttujat ovat matriisin F aliot f 1, f 2, f 3 ja f 4. Ellipsoidialgoritmin muuttujana on ellipsoidien esipistevetori, joa on pystyvetori, joten algoritmissa meritään tätä merinnällä F, joa on vetorin F transpoosin estimaatti iteraatiossa. Systeemeille joille pätee C = I tavoitefuntion gradientin transpoosi saadaan yhtälöstä tr(k) = 2(RF Γ T K)L, (3.11) missä matriisi K saadaan yhtälöstä ( 3.6) ja L R q q rataisu [16] missä I R q q on identiteettimatriisi. on Lyapunovin yhtälön (Φ ΓF )L + L(Φ ΓF ) = I, (3.12) Rajoitefuntion gradientti lasetaan suurimman ominaisarvon derivaattana vahvistusmatriisin F elementtejen suhteen aavalla λ = (wt Γ) T (Cv) T. (3.13) F w T v

3.3. Ellipsoidimenetelmän äyttö 15 Tämä aava ei oleta, että C = I. Todistus on liitteessä C. Käytetään hyväsi MATLAB-funtion lqr antamaa vahvistusen arvoa määrittämään ylä- ja alarajat. [16] MATLAB-funtio lqr antaa optimaalisesi taaisinytennän vahvistusesi F lqr = [ ] 1.0000 34.2418 1.2254 3.0770. (3.14) Tämän ustannusfuntion arvo on J lqr = 55.2519. Määritetään ylä- ja alarajat aavoilla x min = min(0.2f lqr, 2F lqr ) ja x max = max(0.5f lqr, 2F lqr ), (3.15) jota lasetaan alioittain. Näin saadaan aluellipsoidisi ja sen esipisteesi 1.5 0 0 0 0 51.3628 0 0 A 1 = 0 0 1.8381 0 0 0 0 4.6155 1.2500 ja x 42.8023 1 = 1.5318 3.8462 (3.16) Valitsemalla ɛ = 0.0001, saadaan vahvistusesi F tauluon perinteisellä seä deep-cut -menetelmällä. 3.1 muaiset arvot F i J e Perinteinen [-1.0000 34.2410-1.2254 3.0769] 275 55.2519 Deep-cut [-0.9926 34.2023-1.2238 3.0708] 119 55.2521 Tauluo 3.1 Vahvistusen arvoja ellipsoidimenetelmällä seä tarvittavien iteraatioiden määrä i seä ustannusfuntion arvo J e Havinnollistetaan ellipsoidialgoritmin suppenemista ohti rataisua. Seuraavissa uvissa 3.2 ja 3.3 on piirretty iteraatioiden funtiona lqr-funtion ja ellipsoidialgoritmin antaman tulosen ustannusfuntion arvojen erotusen itseisarvo logaritmisella asteiolla.

3.3. Ellipsoidimenetelmän äyttö 16 10 2 FA(lqr) - FA(ea) 10 0 Erotusen itseisarvo 10-2 10-4 10-6 10-8 10-10 0 50 100 150 200 250 300 Iteraatioiden lm Kuva 3.2 Kustannusfuntion arvojen erotusen itseisarvo iteraatioiden funtiona perinteiselle menetelmälle. 10 2 FA(lqr) - FA(ea) 10 0 Erotusen itseisarvo 10-2 10-4 10-6 10-8 0 20 40 60 80 100 120 Iteraatioiden lm Kuva 3.3 Kustannusfuntion arvojen erotusen itseisarvo iteraatioiden funtiona deepcut menetelmälle. Kuvista huomataan, että funtion arvo ei lähesty tasaisesti optimaalista rataisua, vaia stabiiliin rataisuun päädytäänin. Kuvaan 3.4 on piirretty deepcut

3.3. Ellipsoidimenetelmän äyttö 17 -algoritmin ellipsoidien tilavuudet iteraatioiden funtiona. Tilavuusien arvot pienenevät iteraatioierrosilla. 14 12 Ellipsoidin E tilavuus 10 8 6 4 2 0 0 20 40 60 80 100 120 140 160 Iteraatioiden lm Kuva 3.4 Ellipsoidien tilavuudet iteraatioiden funtiona.

18 4. YHTEENVETO Tässä työssä esiteltiin ellipsoidialgoritmin perusversio seä deep-cut -versio. Algoritmien hyödyntämistä taaisinytennän vahvistusen optimoinnissa verrattiin MATLAB-ohjelmiston lqr-funtioon. Testausessa ellipsoidimenetelmät tuottavat samansuuntaisia tulosia uin lqr. Testausessa voidaan myös huomata, että deepcut -menetelmällä voidaan löytää rataisu pienemmällä määrällä iteraatioita. Tämä perustuu siihen, että deep-cut -versioissa on mahdollista poistaa suurempi osa tarasteltavasta alueesta erralla. Ellipsoidialgoritmien implementointi on melo helppoa. Subgradientisi voidaan valita miä tahansa subgradientti yseisessä pisteessä. Koodi on mahdollista myös irjoittaa melo pienellä rivimäärällä. Algoritmi vaatii uitenin melo paljon iteraatioita, jos halutaan taraan tuloseen. Painofuntiot W ja R valitaan tuottamaan hyvä säätötulos. Tässä työssä ne valittiin ysinertaisemmalla tavalla. Muita tapoja valita esittelee muun muassa lähde [15]. Testausen avulla huomattiin, että ellipsoidimenetelmiin perustuvia algoritmeja voidaan äyttää säätösuunnittelun ongelmissa. Toteutusessa on otettava uitenin huomioon mahdolliset algoritmin rajoitteet. Algoritmit saattavat tuottaa vahvistusia, jota aiheuttavat liian voimaaita ohjausmuutosia. Algoritmien tuottamaa vahvistusta ei voi siis suoraan äyttää sovellusissa ilman, että ohjausen sopivuus taristetaan.

19 LÄHTEET [1] George B. Arfen and Hans J. Weber. Mathematical Methods for Physicists. Elsevier Academic Press, 2005. [2] Dane Baang. Improved ellipsoid algorithm for LMI feasibility problems. International Journal of Control, Automation, and Systems, 7(6):1015 1019, 2009. [3] Amir Bec and Shoham Sabach. An improved ellipsoid method for solving convex differentiable optimization problems. Operations Research Letters, 40(2012):541 545, 2012. [4] Stephen Boyd and Craig Barratt. Linear Controller Design: Limits of Performance. Prentice-Hall, 1991. [5] Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge University Press, 2004. [6] Tianyou Chai, Weinan Gao, Mengzhe Huang, and Zhong-Ping Jiang. Sampleddata-based adaptive optimal output-feedbac control of a 2-degree-of-freedom helicopter. IET Control Theory Appl., 10(12):1440 1447, 2016. [7] R. Fletcher. Practical Methods of Optimization. John Wiley & Sons, 1987. [8] P.E. Gill and W. Murray. Numerical Methods For Constrained Optimization. Academic Press Inc, 1974. [9] Phillip E. Gill, Walter Murray, and Margaret H. Wright. Practical Optimization. Academic Press Inc, 1981. [10] Igor Griva, Stephen G. Nash, and Ariela Sofer. Linear and Nonlinear Optimization. Siam, 2009. [11] Ki Hong Im and Dane Baang. Optimized ellipsoid algorithm for LMI feasibility problems. International Journal of Control, Automation, and Systems, 12(4):915 917, 2014. [12] Quanser Inc. Qube-servo worboo. http://www.quanser.com/content/ CoursewareNavigators/qubeservo_matlab/Courseware/Fundamental% 20Control%20Labs/Rotary%20Pendulum/LQR%20Control/Worboo/ QUBE-Servo%20LQR%20Control%20Worboo%20(Student).pdf, 2014. [13] Glyn James, David Burley, and Dic Clements. Advanced Modern Engineering Mathematics. Prentice Hall, 2011.

LÄHTEET 20 [14] S. Kanev, B. De Schutter, and M. Verhaegen. The ellipsoid algorithm for probabilistic robust controller design. Proceedings of the 41st IEEE Conference on Decision and Control, pages 2248 2253, December 2002. [15] Vinodh E. Kumar, Jovitha Jerome, and K. Srianth. Algebraic approach for selecting the weighting matrices of linear quadratic regulator. In International Conference on Green Computing Communication and Electrical Engineering (ICGCCEE), 2014. [16] M. Kupferschmid, K. Mohrmann, J. G. Ecer, and H. Kaufman. Aircraft control gain computation using an ellipsoid algorithm. Proceedings of the 21st IEEE Conference on Decision and Control. Orlando, Florida, 1982. [17] MATLAB. version 9.1.0.441655 (R2016b). The MathWors Inc., Natic, Massachusetts, 2016. [18] Constantin P. Niculescu and Lars-Eri Persson. Convex Functions and Their Applications: A Contemporary Approach. Sprnger, 2006. [19] B. Pluymers, M.V. Kothare, J.A.K. Suyens, and B. De Moo. Robust synthesis of constrained linear state feedbac using LMIs and polyhedral invariant sets. In Proceedings of the American Control Conference, pages 881 886, 2006. [20] Quanser Inc. QUBE-Servo 2 User Manual, 2016. [21] Steffen Rebennac. Ellipsoid method. Encyclopedia of Optimization, pages 890 899, 2008. [22] Sharmila Shah, John E. Mitchell, and Michael Kupferschmid. An ellipsoid algorithm for equality-constrained nonlinear programs. Computers & Operations Research, 28(2001):85 92, 1999. [23] Raphael Siva and Shlomo Shalvi. On the existence of optimal solutions for the linear system quadratic cost problem. IEEE Transactions on Automatic Control, 13(2):188 191, 1968. [24] Jan A. Snyman. Practical Mathematical Optimization. Springer Science+Business Media, Inc., 2005. [25] David Terr. Polynomial time. from mathworld a wolfram web resource, created by eric w. weisstein.. http://mathworld.wolfram.com/polynomialtime. html. [26] H. T. Toivonen and P. M. Mäilä. Newton s method for solving parametric linear quadratic control problems. INT. J. CONTROL, 46(3):897 911, 1987.

LÄHTEET 21 [27] Xin-She Yang. Introduction to Mathematical Optimization. Cambridge International Science Publishing, 2007. [28] Karl J. Åström and Richard M. Murray. Feedbac Systems: An Introduction for Scientists and Engineers. Princeton University Press, 2011.

22 LIITE A: KAPPALEEN 2.4 ESIMERKIN MATLAB-KOODIT % Kappaleen 2. 1. 3 e s i m e r i. A = 2 eye ( 2 ) ; b = [ 1 ; 2 ] ; n = size (A, 2 ) ; % M a t r i i s i n A dimensio m = size (b, 1 ) ; L = sum(sum( c e i l ( log2 ( abs (A) +1) ) ) )+sum( c e i l ( log2 ( abs (b)+1) ) )... +c e i l ( log2 ( abs ( n ) ) )+c e i l ( log2 ( abs (m) ) )+n m+m% Input datan p i t u u s x1 = [ 0 ; 0 ] % A l u e s i p i s t e A1 = 2^L eye ( 2 ) ;% A l u e l l i p s o i d i aypyys = r a j o i t t e e t (A, b, x1 ) % Kaypyys v e t o r i n a l i o t suurempia uin n o l l a > e i % aypa. % Rioo molempia r a j o i t e f u n t i o i t a, ja v a l i t a a n nyt % ensimmainen. S u b g r a d i e n t i s i h t u l e e : h1 = [ 2 ; 0 ] ; % Nyt s i i s n o r m a l i s o i d u s i s u b g r a d i e n t i s i g t u l e e : g1 = h1/ sqrt ( h1 A1 h1 ) ; Ag = A1 g1 ; % Uuden e l l i p s o i d i n e s i p i s t e x2 ja m a t r i i s i A2 : x2 = x1 (1/( n+1) ) Ag A2 = ( n^2/(n^2 1) ) (A1 (2/(n+1) ) Ag Ag ) % Nyt t e s t a t a a n u u d e l l e e s i p i s t e l l e aypyyytta aypyys = r a j o i t t e e t (A, b, x2 ) % R a j o i t e f u n t i o n 2 ehdot e i t a y t y. Tehdaan s i i s uusi i t e r a a t i o. % Valitaan r a j o i t t e e n 2 muaan ; h2 = [ 0 ; 2 ] ; g2 = h2/ sqrt ( h2 A1 h2 ) ;

Liite A: Kappaleen 2.4 esimerin MATLAB-oodit 23 Ag2 = A2 g2 ; % Uuden e l l i p s o i d i n e s i p i s t e e s e x3 ja m a t r i i s i s i A3 t u l e e : x3 = x2 (1/( n+1) ) Ag2 A3 = ( n^2/(n^2 1) ) (A2 (2/(n+1) ) Ag2 Ag2 ) % Testataan aypyys : aypyys = r a j o i t t e e t (A, b, x3 ) % Tama t o t e u t t a a r a j o i t t e e t. h a l u t u t Rajoitteet -funtio: function [ c ] = r a j o i t t e e t (A, b, x ) % Funtion r a j o i t t e e t (A, b, x ) a v u l l a voidaan t a r i s t a a, % r i o t a a n o a s e t e t t u j a % r a j o i t t e i t a. % % Input : % A: nxn m a t r i i s i % b : nx1 v e t o r i % x : nx1 v e t o r i % Output : % c : nx1 v e t o r i % c = A x+b ;

24 LIITE B: KAPPALEEN 3 MATLAB-KOODIT Perinteinen ellipsoidialgoritmi: function [ F, x, y, v ] = e l l i p s o i d i a l g o r i t m i ( phi, gamma, F, R, W, A, eps, n i t e r ) % Funtio e l l i p s o i d i a l g o r t i m i e t s i i o p t i m i r a t a i s u a % t a a i s i n y t e n t a v a h v i s t u s e l l e. % I n p u t i t : % phi = t i l a m a l l i n phi % gamma = t i l a m a l l i n gamma % eps = v i r h e m a r g i n a a l i % n i t e r = masimi i t e r a a t i o i d e n maara, e t t e i i t e r a a t i o i e r r o s e t j a t u % l o p u t t o m i i n % A = a l u e l l i p s o i d i % F = A l u e s i p i s t e % n = size ( phi, 1 ) ; for i= 1 : n i t e r i f r a j o i t e ( phi,gamma, F) >0 % F e i o l e aypa, j o t e n l a s e t a a n g r a d i e n t t i r a j o i t e f u n t i o s t a. g = h g r a d i e n t t i ( phi, gamma, F) ; g = g /( sqrt ( g A g ) ) ; i f r a j o i t e ( phi,gamma, F) sqrt ( g A g )>0 % Algoritmi l o p e t e t a a n, s i l l a aypa alue on t y h j a. disp ( Ei o l e olemassa optimia. ) disp ( I t e r a a t i o i d e n maara : ), i return end else % Jos F on aypa, g r a d i e n t t i l a s e t a a n t a v o i t e f u n t i o s t a. g = f g r a d i e n t t i ( phi,gamma, F, R, W) ; g = g /( sqrt ( g A g ) ) ;

Liite B: Kappaleen 3 MATLAB-oodit 25 end % Lasetaan uusi e s i p i s t e ja uusi e l l i p s o i d i. Ag = A g ; F = F Ag/(n+1) ; A = ( n^2/(n^2 1) ) (A (2/(n+1) ) Ag Ag ) ; i f ( r a j o i t e ( phi,gamma, F) <0) && ( sqrt ( g Ag)< eps ) % Algoritmin l o p p u e h t o j e n t a y t t y e s s a l o p e t e a a n. disp ( Optimi l o y d e t t y : ),F disp ( I t e r a a t i o i d e n maara : ), i return end end Deep-cut -versio: function [ F ] = deepcut ( phi, gamma, F, R, W, A, eps, n i t e r ) % Funtio e l l i p s o i d i a l g o r t i m i e t s i i o p t i m i r a t a i s u a % t a a i s i n y t e n t a v a h v i s t u s e l l e. % I n p u t i t : % eps = v i r h e m a r g i n a a l i % n i t e r = masimi i t e r a a t i o i d e n maara, e t t e i i t e r a a t i o i e r r o s e t j a t u % l o p u t t o m i i n % A = a l u e l l i p s o i d i % F = a l u e s i p i s t e % n = size ( phi, 1 ) ; for i= 1 : n i t e r r = r a j o i t e ( phi,gamma, F) ; i f r >0 % F e i o l e aypa, j o t e n l a s e t a a n g r a d i e n t t i r a j o i t e f u n t i o s t a. g = h g r a d i e n t t i ( phi, gamma, F) ; g = g /( sqrt ( g A g ) ) ; i f r sqrt ( g A g )>0 % Algoritmi l o p e t e t a a n, s i l l a aypa alue on

Liite B: Kappaleen 3 MATLAB-oodit 26 end t y h j a. disp ( Ei o l e olemassa optimia. ) disp ( I t e r a a t i o i d e n maara : ), i return end alpha = r /( sqrt ( g A g ) ) ; Ag = A g ; F = F ((1+n alpha ) /(n+1) ) (A g ) ; A = ( n^2/(n^2 1) ) (1 alpha ^2) (A (2 (1+n alpha ) / ( ( n+1) (1+ alpha ) ) )... Ag Ag ) ; else % Jos F on aypa, g r a d i e n t t i l a s e t a a n t a v o i t e f u n t i o s t a. g = f g r a d i e n t t i ( phi,gamma, F, R, W) ; g = g /( sqrt ( g A g ) ) ; Ag = A g ; F = F (Ag) /(n+1) ; A = ( n^2/(n^2 1) ) (A (2/(n+1) ) Ag Ag ) ; end i f ( r a j o i t e ( phi,gamma, F) <0) && ( sqrt ( g A g )< eps ) % Algoritmin l o p p u e h t o j e n t a y t t y e s s a l o p e t e a a n. disp ( Optimi l o y d e t t y : ),F disp ( I t e r a a t i o i d e n maara : ), i return end Gradienttien lasemiseen tarvittavat funtioit fgradientti seä hgradientti: function g = f g r a d i e n t t i ( phi,gamma, F, R, W) % Funtio f g r a d i e n t t i l a s e e g r a d i e n t i n t a v o i t e f u n t i o s t a % a a v a l l a % g = 2(RF t r a n s p ose (gamma)k)l % missa m a t r i i s i t K ja L saadaan lyapunovin y h t a l o i d e n % a v u l l a. Oletusina, e t t a C=I ja dim (u) =1. K = lyap ( ( phi gamma F ),W+F R F ) ;

Liite B: Kappaleen 3 MATLAB-oodit 27 n = size ( phi, 1 ) ; L = lyap ( phi gamma F, eye (n) ) ; g = 2 (R F gamma K) L ; g = g ; function h = h g r a d i e n t t i ( phi, gamma, F, R, W) % Tama f u n t i o l a s e e r a j o i t e f u n t i o n g r a d i e n t i n % ominaisarvon d e r i v a a t a n a v u l l a. Oletusena, e t t a C=I. F = F ; C = eye ( 4 ) ; M = phi gamma F ; [w, D1 ] = e i g s (M, 1, l r ) ; [ v, D2 ] = e i g s (M, 1, l r ) ; h = ( ((gamma w) /(w. v ) ) ( v ). ) ; Rajoitefuntion arvon lasemiseen tarvittava funtio rajoite: function c = r a j o i t e ( phi, gamma, F) % Funtio r a j o i t e l a s e e r a j o i t e f u n t i o n arvon p i s t e e s s a F. % Rajoite ehtona on, e t t a m a t r i i s i n phi gamma F % ominaisarvojen r e a a l i o s a t ovat % n e g a t i i v i s i a, j a tama f u n t i o p a l a u t t a a r e a a l i o s a l t a a n % suurimman ominaisarvon r e a a l i o s a n. oa = eig ( phi gamma F ) ; c = max( real ( oa ) ) ;

28 LIITE C: OMINAISARVON DERIVAATTA VAHVISTUSMATRIISIN SUHTEEN Oloon matriisi M parametrin a funtio. Tällöin myös sen ominaisarvot riippuvat parametrista a. Matriisin A ominaisarvo ja siihen liittyvä ominaisvetori v voidaan määritellä aavalla Mv = λv, (4.1) missä λ on ominaisarvo. Matriisilla ja sen transpoosilla on samat ominaisarvot. [13] Matriisin M transpoosin ominaisarvoihin liittyvät ominaisvetorit saadaan yhtälöstä M T w = λw, (4.2) jona transpoosi on w T M = w T λ (4.3) Meritään tässä derivaattaa parametrin a suhteen pisteellä. Kun derivoidaan yhtälö ( 4.1) puolittain parametrin a suhteen saadaan Ṁv + M v = λv + λ v. (4.4) Kerrotaan tämä yhtälö puolittain vasemmanpuoleisen ominaisvetorin w transpoosilla. w T Ṁv + w T M v = w T λv + w T λ v (4.5) Yhtälön ( 4.3) perusteella saadaan w T Ṁv + w T λ v = w T λv + w T λ v. (4.6) Salaaria λ siirtämällä ja yhtälön puolien yhtäsuuret toiset termit puolittain vähentämällä saadaan Ehdolla w T v 0 tästä saadaan w T Ṁv = w T v λ. (4.7) λ = wt Ṁv w T v. (4.8) Kun ohteena on taaisinytennän vahvistus, tutitaan matriisia M = Φ ΓF C. Halutaan selvittää yseisen matriisin ominaisarvon λ derivaatat vahvistusmatriisin

Liite C: Ominaisarvon derivaatta vahvistusmatriisin suhteen 29 F elementtejen suhteen. Joaisen elementin derivaatta on Sijoitetaan tutittava matriisi yhtälöön ( 4.8). D ij = λ F ij (4.9) D ij = wt (Φ ΓF C) F ij v w T v = Φ wt F ij v w T v ΓF C wt F ij v w T v = wt Γ F F ij Cv w T v = 0 wt Γ F F ij Cv w T v = wt Γ[L ij ]Cv, w T v (4.10) missä L ij on saman ooinen matriisi uin F, jona aii elementit elementtiä i, j luuunottamatta L ij ovat nollia voidaan irjoittaa myös tulona L ij = L(:, i) L(j, :). (4.11) Merintä j viittaa matriisin saraeeseen ja i riviin. Sijoitetaan tämä yhtälön ( 4.10) osoittajaan ja hyödyntämällä salaaritulon vaihdantalaia saadaan D ij = (wt Γ)L(:, i) L(j, :)(Cv) w T v = L(j, :)(Cv) (wt Γ)L(:, i). (4.12) w T v Tämä voidaan irjoittaa muodossa D ij = [ ] (Cv)(wT Γ) = w T v ji [ ( ) T ] (Cv)(wT Γ) w T v ij. (4.13) Siis derivaatta voidaan lasea aavalla D = ( ) T (Cv)(wT Γ) = (wt Γ) T (Cv) T w T v w T v (4.14)