Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

S ystems Analysis Laboratory Helsinki University of Technology SNOPT - yleistä Soveltuu sekä lineaaristen että epälineaaristen ongelmien ratkaisemiseen.

Samankaltaiset esitykset


Esitys aiheesta: "S ystems Analysis Laboratory Helsinki University of Technology SNOPT - yleistä Soveltuu sekä lineaaristen että epälineaaristen ongelmien ratkaisemiseen."— Esityksen transkriptio:

1 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - yleistä Soveltuu sekä lineaaristen että epälineaaristen ongelmien ratkaisemiseen Perustuu SQP-algoritmille Hakusuunta QP-tehtävän ratkaisuna Askelpituus minimoimalla meriittifunktiota Iteraatio suppenee kohti ratkaisua, joka toteuttaa 1. asteen optimaalisuusehdot

2 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - rajapinnat Toteutettu Fortran 77 –ohjelmointikielellä Kätevintä käyttää kääntämällä kirjastoksi Useita rajapintoja Jos Jakobin matriisi on rakenteeltaan harva: snOptA, snOptB, snOptC Jos taas tiheä: npOpt (sama rajapinta kuin NPSOL:issa)

3 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - snOptA Ongelman formaatti Ratkaisuvektori, ala- ja ylärajat x(n), xlow(n), xupp(n) Rajoitteet, ala- ja ylärajat F(m), Flow(m), Fupp(m) Kohdefunktio F(ObjRow) Jakobin matriisin G nollasta poikkeavat alkiot G(nG) Jos alkion koordinaatit ovat i = iGfun(k), j = jGvar(k), niin G(k) = G ij

4 S ystems Analysis Laboratory Helsinki University of Technology SNOPT – snOptA xlow(1) = 0 xupp(1) = bigbnd xlow(2) = -bigbnd xupp(2) = bigbnd Flow(1) = -bigbnd Fupp(1) = bigbnd Flow(2) = -bigbnd Fupp(2) = 4 Flow(3) = -bigbnd Fupp(3) = 5 F(1) = x(2) F(2) = x(1)**2 + 4*x(2)**2 F(3) = (x(1) – 2)**2 + x(2)**2 G(1) = 1 G(2) = 2*x(1) G(3) = 8*x(2) G(4) = 2*(x(1) – 2) G(5) = 2*x(2) iGfun(1) = 1, jGvar(1) = 2 iGfun(2) = 2, jGvar(2) = 1 iGfun(3) = 2, jGvar(3) = 2 iGfun(4) = 3, jGvar(4) = 1 iGfun(5) = 3, jGvar(5) = 2 Huom! G:tä ei ole pakko määritellä!

5 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - snOptA Apufunktiot Rajat ja G:n rakenne ennen snOptA:n kutsumista F ja G lasketaan usrfun -rutiinissa snInit : optimoijan alustus snSpec : optioiden lukeminen tiedostosta snJac : määrittelee J :n rakenteen automaattisesti snMem : määrittelee työvektorien minimikoon Ulostulona INFO, joka kertoo iteraation lopputuloksen

6 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - npOpt Ongelman formaatti Ratkaisuvektori x(n), kohdefunktio fObj Lineaaristen rajoitteiden kerroinmatriisi A(nclin,n) Epälineaariset rajoitteet fCon(ncnln) Ala- ja ylärajat bl(n + nclin + ncnln), bu(n + nclin + ncnln) Jakobin matriisi gCon(ncnln,n)

7 S ystems Analysis Laboratory Helsinki University of Technology SNOPT – npOpt bl(1) = -bigbnd bu(1) = bigbnd bl(2) = 0 bu(2) = bigbnd bl(3) = -bigbnd bu(3) = 4 bl(4) = -bigbnd bu(4) = 5 fObj = x(2) gObj(1) = 0 gObj(2) = 1 fCon(1) = x(1)**2 + 4*x(2)**2 fCon(2) = (x(1) – 2)**2 + x(2)**2 gCon(1,1) = 2*x(1) gCon(1,2) = 8*x(2) gCon(2,1) = 2*(x(1) – 2) gCon(2,2) = 2*x(2) Huom! gObj:ia ja gCon:ia ei ole pakko määritellä!

8 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - npOpt Apufunktiot Rajat määriteltävä ennen npOpt:in kutsumista fObj lasketaan funobj -rutiinissa fCon ja gCon lasketaan funcon -rutiinissa npInit : optimoijan alustus npSpec : optioiden lukeminen tiedostosta npMem : määrittelee työvektorien minimikoon Ulostulona INFO, joka kertoo iteraation lopputuloksen

9 S ystems Analysis Laboratory Helsinki University of Technology SNOPT - skaalaus Skaalaus vaikuttaa algoritmin suorituskykyyn Muuttujat, kohdefunktio ja rajoitteet ”samalle hehtaarille” Esim. Valitaan skaalauskertoimet esim. siten, että Jos muuttujilla ala- ja ylärajat, niin esim.


Lataa ppt "S ystems Analysis Laboratory Helsinki University of Technology SNOPT - yleistä Soveltuu sekä lineaaristen että epälineaaristen ongelmien ratkaisemiseen."

Samankaltaiset esitykset


Iklan oleh Google