Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΛΟΓΙΣΜΙΚΟ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ MERLIN / MCL 3.0 ΠΕΡΙΒΑΛΛΟΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΛΟΓΙΣΜΙΚΟ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ MERLIN / MCL 3.0 ΠΕΡΙΒΑΛΛΟΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ."— Μεταγράφημα παρουσίασης:

1 ΛΟΓΙΣΜΙΚΟ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ MERLIN / MCL 3.0 ΠΕΡΙΒΑΛΛΟΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ

2 Merlin & ΜCL Merlin  Τι είναι το Merlin Πακέτο λογισμικού που προσφέρει ένα περιβάλλον κατάλληλο για επίλυση προβλημάτων ελαχιστοποίησης. MCL MCL  Τι είναι η MCL (Merlin Control Language) Γλώσσα ελέγχου του περιβάλλοντος κατάλληλη για τον προγραμματισμό "στρατηγικών" ελαχιστοποίησης.

3 Τι προβλήματα αντιμετωπίζονται  Ελαχιστοποίηση πολυδιάστατων συνεχών συναρτήσεων.  Περιορισμοί ορίων για κάθε μεταβλητή.  Ειδική μέριμνα για συναρτήσεις που είναι άθροισμα τετραγώνων.  Συστήματα μη γραμμικών εξισώσεων.

4 Τρόπος αντιμετώπισης  Παροχή εύχρηστου συστήματος επικοινωνίας με τον χρήστη.  Υλοποίηση μιας πλειάδας στιβαρών αλγορίθμων βελτιστοποίησης.  Παροχή συστήματος βοήθειας χρήσης.  Ύπαρξη γλώσσας προγραμματισμού.

5 Αλγόριθμοι Μέθοδοι χωρίς χρήση παραγώγων  Simplex (Nelder and Mead )  Roll (Pattern Search ) Μέθοδοι με χρήση παραγώγων  Συζυγών κλίσεων (Τρεις αλγόριθμοι )  Μεταβλητής μετρικής (BFGS, DFP )  Levenberg-Marquardt

6 Tι απαιτείται από τον χρήστη Το λογισμικό έχει γραφτεί σε Fortran-77 Το λογισμικό έχει γραφτεί σε Fortran-77. Το Merlin χωρίζεται σε τρία μέρη  Ένα μικρό κυρίως πρόγραμμα.  Ένα σύνολο υποπρογραμμάτων που υλοποιούν το όλο περιβάλλον. Υποπρογράμματα που υλοποιούν την αντικειμενική συνάρτηση και προαιρετικά τις παραγώγους της.  Υποπρογράμματα που υλοποιούν την αντικειμενική συνάρτηση και προαιρετικά τις παραγώγους της.

7 O χρήστης πρέπει να κωδικοποιήσει σε ANSI Fortran - 77 τα προγράμματα:  Αντικειμενική συνάρτηση: (υποχρεωτικά)  Την κλίση: (προαιρετικά)  Τον Εσσιανό πίνακα: (προαιρετικά)

8 Όταν η συνάρτηση είναι άθροισμα τετραγώνων...  Εάν δηλαδή: Τότε αντί της συνάρτησης f(x) μπορεί να προγραμματιστούν μόνο οι όροι f k (x).  Προαιρετικά δε μπορεί να προγραμματιστεί και η Ιακωβιανή:

9 Ενα απλό παράδειγμα...  Ελαχιστοποίηση της:  Η κλίση:  Ο Εσσιανός πίνακας:

10 FUNCTION FUNMIN(X,N) DIMENSION X(N) FUNMIN= X(1)**2 + (X(2)-1)**4 END SUBROUTINE GRANAL(N,X,GRAD) DIMENSION X(N),GRAD(N) GRAD(1)= 2*X(1) GRAD(2)= 4*(X(2)-1))**3 END SUBROUTINE HANAL(H,LD,N,X) DIMENSION X(N),H(LD,N) H(1,1)= 2. H(2,1)= 0. H(2,2)= 12*(X(2)-1)**2 END Μόνο το κάτω μέρος του Εσσιανού πίνακα H(I,J), υπολογίζεται. Η κλίση αντιστοιχεί στο άνυσμα GRAD Η αντικειμενική συνάρτηση (γενικής μορφής).

11 Αθροισμα τετραγώνων...  Η συνάρτηση μπορεί να γραφτεί ως: Η Ιακωβιανή:

12 SUBROUTINE SUBSUM(M,N,X,F) DIMENSION X(N),F(M) F(1)= X(1) F(2)= (X(2)-1)**2 END SUBROUTINE JANAL(M,N,X,FJ,LD) DIMENSION X(N),FJ(LD,N) FJ(1,1)= 1. FJ(1,2)= 0. FJ(2,1)= 0. FJ(2,2)= 2*(X(2)-1) END Οι όροι f k (x), ένας προς ένας. Οι όροι J ki (x), ένας προς ένας.

13 Προσαρμογή δεδομένων. Ένα συχνά εμφανιζόμενο πρόβλημα. Δεδομένων των σημείων (x i,y i ), i=1,2,...,M προσαρμόστε μια αναλυτική μορφή N(x,p) (με παραμέτρους p i ) που αναπαριστά τα δεδομένα ικανοποιητικά. x y

14 Προσαρμογή δεδομένων με χρήση Τεχνητών Νευρωνικών δικτύων  Ενα σιγμοειδές Perceptron με ένα κρυφό επίπεδο έχει την μορφή: Όπου η σιγμοειδής συνάρτηση δίδεται από:

15 Η προσαρμογή επιτυγχάνεται ελαχιστοποιώντας την παράσταση: Η Ιακωβιανή έχει την μορφή:

16 Η κλίση γράφεται ως: Ο Εσσιανός πίνακας δε, ως εξής:

17 Υλοποίηση subroutine ann(p,nodes,x,per) implicit double precision (a-h,o-z) dimension p(3*nodes) per = 0 do 1 i=1,nodes arg = p(3*i-1)*x + p(3*i) per = per + p(3*i-2)/(1.+exp(-arg)) 1 continue end Νευρωνικό δίκτυο p (input) οι παράμετροι nodes (input) οι κόμβοι x (input) per (output) το δίκτυο subroutine gann(p,nodes,x,gper) implicit double precision (a-h,o-z) dimension p(3*nodes),gper(3*nodes) do 1 k=1,3*nodes,3 arg = p(k+1)*x+p(k+2) sig = 1./(1+exp(-arg)) gper(k)= sig gper(k+2)= p(k)*sig*(1-sig) gper(k+1)= x*gper(k+2) 1 continue end Η κλίση του δικτύου. p (input) οι παράμετροι nodes (input) οι κόμβοι x (input) gper (output) η κλίση Ο κώδικας για τον Εσσιανό πίνακα δεν έχει υλοποιηθεί και αφήνεται σαν άσκηση για τον αναγνώστη.

18 subroutine subsum ( m, n, p, f ) implicit double precision (a-h,o-z) save parameter(mx=8000) dimension p(n), f(m) common/xydata/x(mx),y(mx),mm data itric /0/ if(itric.eq.0) then itric = 1 if(m.gt.mx) stop mm=m if( (n/3)*3.ne. n) stop nodes = n/3 open(1,file='xy.data',status='old') do 10 i=1,m read(1,*)x(i),y(i) 10 continue close(1) endif do 1 i = 1,m call ann(p,nodes,x(i),per) f(i)= per-y(i) 1 continue end Υπολογισμός των επι μέρους όρων. Το υποπρόγραμμα: SUBROUTINE SUBSUM Τα σημεία x-y είναι στο αρχείο: xy.data Η διαδικασία αυτή εκτελείται μόνο την πρώτη φορά που καλείται η ρουτίνα SUBSUM

19 Υπολογισμός της Ιακωβιανής. Το υποπρόγραμμα: SUBROUTINE JANAL subroutine janal ( m, n, p, fj, ld ) implicit double precision (a-h,o-z) save parameter(mx=8000,nx=250) common/xydata/x(mx),y(mx),mm dimension p(n), fj(ld,n),gper(nx) nodes = n/3 do 1 i=1,m call gann(p,nodes,x(i),gper) do 2 j=1,n fj(i,j) = gper(j) 2 continue 1 continue end

20 Η κλίση της αντικειμενικής συνάρτησης. Το υποπρόγραμμα: SUBROUTINE GRANAL subroutine granal ( n, p, grad ) implicit double precision (a-h,o-z) save parameter(mx=8000,nx=250) common/xydata/x(mx),y(mx),mm dimension p(n),grad(n),ff(mx),g(nx) nodes = n/3 call subsum ( mm, n, p, ff ) do 10 i=1,n grad(i)=0 10 continue do 1 l=1,mm call gann(p,nodes,x(l),g) do 2 j=1,n grad(j)= grad(j) + 2*ff(l)*g(j) 2 continue 1 continue end


Κατέβασμα ppt "ΛΟΓΙΣΜΙΚΟ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ MERLIN / MCL 3.0 ΠΕΡΙΒΑΛΛΟΝ ΕΛΑΧΙΣΤΟΠΟΙΗΣΗΣ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google