Εργασία για το Σπίτι (2010-11-Ε1) ΠΡΟΑΙΡΕΤΙΚΗ ΑΣΚΗΣΗ: Προκαταρκτικός Σχεδιασμός Υπερηχητικού Αεροσκάφους Μέθοδος: Εξελικτικοί Αλγόριθμοι Καλείστε να σχεδιάσετε ένα δικινητήριο υπερηχητικό αεροσκάφος (Α/Φ) με σκοπό να επιλεγούν βασικές παράμετροι (αφενός μεν λειτουργικές, αφετέρου δε σχετικές με το σχήμα της κάτοψης της πτέρυγάς του) που να οδηγούν στην επίτευξη ενός ή περισσοτέρων (κατά περίπτωση) στόχων και την ικανοποίηση των περιορισμών (όπου και αν υπάρχουν, διαβάστε παρακάτω). Οτιδήποτε δεν αποτελεί μεταβλητή σχεδιασμού (ελεύθερη μεταβλητή του προβλήματος) θεωρείται σταθερό και αμετάβλητο. Δεν δίνονται αυτές οι τιμές, επιθυμώντας να κρατηθεί το πρόβλημα στο επίπεδο μιας γενικής άσκησης βελτιστοποίησης και να μην γίνει ένα εξειδικευμένο θέμα μόνο για αεροναυπηγούς. Ο σχεδιασμός βασίζεται σε εξισώσεις και εμπειρικές σχέσεις που διδάσκονται οι σπουδαστές του κύκλου ΜΜΕΕΜΜ στα βασικά τους μαθήματα. Όσες από αυτές τις εξισώσεις χρειάζονται ώστε να μπορούν να ερμηνευθούν τα αποτελέσματα της βελτιστοποίησης αναφέρονται παρακάτω («αναφέρονται» σημαίνει ή ότι αναγράφονται και εξηγούνται ή απλά σχολιάζεται από το τι εξαρτώνται). Οι τρεις ποσότητες που, όπως θα εξηγηθεί στο μάθημα, χρησιμοποιούνται άλλοτε ως στόχοι και άλλοτε ως περιορισμοί, είναι οι εξής: Το βεληνεκές (R) πτήσης του Α/Φ Το μήκος (L 1 ) του απαιτούμενου διαδρόμου απογείωσης Το μήκος (L 2 ) του απαιτούμενου διαδρόμου προσγείωσης R, σε km L1, σε m L2, σε m Οι εξι (6) ποσότητες που αποτελούν μεταβλητές του σχεδιασμού πινακοποιούνται στη συνέχεια Το βάρος καυσίμου (W fuel ) κατά την απογείωση WFUEL, σε kg Το εμβαδόν της πτέρυγας (S wing, είναι το εμβαδόν της κάτοψης και των δύο τμημάτων της πτέρυγας μαζί) SWING, σε m 2 Η γωνία οπισθόκλισης (a LE ) στην ακμή πρόσπτωσης της (οπισθοκλινούς) πτέρυγας (βλέπε σχήμα) ALE, σε μοίρες Ο λόγος της χορδής στο ακροπτερύγιο (C tip ) προς τη χορδή στη «ρίζα» CTCR, καθαρός (επίπεδο συμμετρίας) (C root ) της πτέρυγας. αριθμός Η γωνία οπισθόκλισης (a TE ) στην ακμή εκφυγής της (οπισθοκλινούς) ΑTE, σε μοίρες πτέρυγας (βλέπε σχήμα) Ο λόγος του βάρους προσγείωσης προς το βάρος απογείωσης του Α/Φ RATWEI, καθαρός αριθμός ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 1/7
Επιλεγμένα Στοιχεία θεωρίας: Η εξίσωση του Breguet δίνει το βεληνεκές του Α/Φ. Αυτή γράφεται ως εξής: V C L W start R = ln g sfc C D W end όπου: R (m) είναι το βεληνεκές πτήσης V (m/s) είναι η ταχύτητα πτήσης που καθορίζεται από τον αριθμό Mach (εδώ 1.4) και το υψόμετρο της πτήσης (εδώ, αυτό είναι επίσης σταθερό και, προφανώς, καθορίζει την ταχύτητα του ήχου) g (m/s 2 ) είναι η επιτάχυνση της βαρύτητας sfc (kg/n/s) είναι η ειδική κατανάλωση καυσίμου που και αυτή καθορίζεται από τον αριθμό Mach και το υψόμετρο της πτήσης C L /C D είναι ο λόγος των συντελεστών άνωσης και οπισθέλκουσας που, μεταξύ άλλων, σχετίζεται με την (άγνωστη, εδώ) γεωμετρία της πτέρυγας. Η συσχέτιση είναι εμπειρική και προγραμματισμένη στο λογισμικό που σας δίνεται W start (kg) είναι το βάρος του Α/Φ κατά την έναρξη της ευθείας πτήσης, που είναι ένα σταθερό ποσοστό (λ.χ. 95%) του βάρους απογείωσης W end (kg) είναι το βάρος του Α/Φ κατά το τέλος της ευθείας πτήσης, που εξαρτάται, μεταξύ άλλων, από το βάρους καυσίμου κατά την απογείωση. Μεταξύ άλλων, το λογισμικό που δίνεται, περιέχει εμπειρικές σχέσεις για: Μοντέλο ατμόσφαιρας. Μοντέλο κινητήρα (ώση, βάρος, βασική γεωμετρία). Τρόπο υπολογισμού επιμέρους βαρών (πτέρυγας που συναρτάται της γεωμετρίας της, ουραίου τμήματος, ατράκτου, κλπ). Μοντέλο αεροδυναμικής ανάλυσης (εμπειρικές σχέσεις για τους συντελεστές άνωσης και οπισθέλκουσας, συναρτήσει της γεωμετρίας της πτέρυγας και της ταχύτητας πτήσης). Λάβετε υπόψη σας ότι στην παρούσα εφαρμογή: Η αεροτομή της πτέρυγας θεωρείται γνωστή και δεν μεταβάλλεται κατά τη βελτιστοποίηση. Το ουραίο πτερύγιο του Α/Φ είναι σταθερό. Η άτρακτος έχει απλό κυλινδρικό σχήμα, στο βασικό της μήκος, και έχει σταθερή διάμετρο. Το μήκος της όμως αυξομειώνεται όσο αυξομειώνεται το βάρος του καυσίμου (θεωρείται ότι το καύσιμο καταλαμβάνει τμήμα της ατράκτου). ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 2/7
Γεωμετρία της Οπισθοκλινούς Πτέρυγας: C tip a LE a TE C root Συνεργασία του Εξελικτικού Αλγορίθμου με το Λογισμικό Αξιολόγησης: Αποκτάτε πρόσβαση στο λογισμικό EASY (Evolutionary Algorithm SYstem) που έχει αναπτυχθεί από το Εργαστήριο Θερμικών Στροβιλομηχανών του ΕΜΠ. Στο αρχείο δεδομένων καθορίζετε τις παραμέτρους ρύθμισης του ΕΑ, τα όρια των μεταβλητών σχεδιασμού και τον τρόπο κωδικοποίησης (λ.χ. δυαδική κωδικοποίηση, αριθμό bits για την κάθε μεταβλητή, κλπ). Η επικοινωνία του EA με το λογισμικό αξιολόγησης (κώδικας supercraft.exe, μεταφρασμένος για Windows) είναι απλή. Για κάθε υποψήφια λύση που πρέπει να αξιολογηθεί (σε οποιαδήποτε γενιά), ο EASY δημιουργεί το αρχείο task.dat. Αυτό έχει στην πρώτη γραμμή του το πλήθος των μεταβλητών σχεδιασμού και ακολουθούν τόσες γραμμές όσες ο ακέραιος αυτός, καθεμιά με την τιμή της αντίστοιχης μεταβλητής (εννοείται με τη σειρά που αυτές δόθηκαν στο αρχείο δεδομένων του EASY). Αν εκεί κάποια μεταβλητή δόθηκε με μηδενικό αριθμό bits (αυτό σημαίνει ότι έχει σταθερή τιμή, αυτήν του κάτω ορίου της που ορίσθηκε από το χρήστη) τότε η τιμή αυτή προφανώς περιέχεται και στο αρχείο task.dat, γιατί αναγκαστικά πρέπει να την πληροφορηθεί και να τη χρησιμοποιήσει το λογισμικό αξιολόγησης. Για παράδειγμα, αν έχει σχηματισθεί (μέσω διασταύρωσης, μετάλλαξης, κλπ), σε κάποια γενιά, η λύση που περιγράφεται από τις τιμές WFUEL=25000 kg, SWING=110.0 m 2, ALE=60.0 ο, CTCR=0.06, ΑTE=15.0 ο, RATWEI=0.70 (βάρος προσγείωσης= 70% του βάρους απογείωσης του Α/Φ), τότε το αντίστοιχο αρχείο task.dat θα έχει τη μορφή που φαίνεται δίπλα. 6 25000. 110.0 60. 0.06 15 0.7 ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 3/7
Στη συνέχεια, ο EASY τρέχει ένα αρχείο εντολών που ο χρήστης έχει δημιουργήσει και που ονομάζεται task.bat. Το αρχείο αυτό, στο πρόβλημα @echo off μας, έχει τη δίπλα μορφή. erase results.dat Η πρώτη γραμμή αποτρέπει την «ενόχληση» της οθόνης supercraft.exe >nul μας με το αποτέλεσμα των κλήσεων που ακολουθούν. Η postprocessor.exe >nul δεύτερη γραμμή μπήκε για να σβήσει το προηγούμενο αρχείο results.dat που δημιούργησε το εκτελέσιμο supercraft.exe, την προηγούμενη φορά που εκτελέστηκε. Έτσι, αν τώρα αποτύχει, να μην χρησιμοποιήσει λάθος (προηγούμενο) αρχείο αποτελεσμάτων και μπερδευτούν λύσεις και αποτελέσματα. Είστε υποχρεωμένοι, πάντα, να σβήνετε τα αποτελέσματα-αρχεία που θα βγάλει ο κώδικας αξιολόγησης που ακολουθεί. Η σύνταξη κώδικας.exe>nul σημαίνει να χρησιμοποιηθεί ως τυπική έξοδος του προγράμματος τα προσωρινό αρχείο nul (το οποίο σβήνεται με το τέλος της εντολής ενώ κατά την εκτέλεσή της δεν εμφανίζει αποτελέσματα στην οθόνη του χρήστη. Προσοχή: Το αρχείο supercraft.exe είναι έτοιμο για να το χρησιμοποιήσετε ως προς την είσοδο που λαμβάνει αλλά όχι ως προς την έξοδό του (εκεί μπορείτε να έχετε ευελιξία). Συγκεκριμένα, ως δεδομένο χρησιμοποιεί ένα αρχείο task.dat όπως ορίσθηκε προηγουμένως. Το αποτέλεσμα της ανάλυσης είναι το αρχείο results.dat με την παρακάτω δομή: ============= Engine Characteristics ============= 2.868198983740137E-005 SFC [kg/n/s] 39811.5659579464 Thrust / engine [N] ==================== Geometry ==================== 26.8875581857550 Fuselage Length [m] 16.3249448409199 Wing span [m] 12.7134989939498 Wing root chord [m] ===================== Weights ==================== 25000.0000000000 Fuel Weight [kg] 4771.70805547972 Wing Weight [kg] 293.671507392490 Tail Weight [kg] 2633.30239915641 Fuselage Weight [kg] 2190.26008550881 Landing Gear Weight [kg] 4029.82763927690 Propulsion System Weight [kg] 11808.6053634124 Other Weights [kg] 29756.5021377203 Zero Fuel Weight [kg] 54757.1546936011 Take Off Weight [kg] =================== Performance ================== 4868.34200406647 Range [km] 2206.75131915175 L1: Take-off Length [m] 1902.72114891417 L2: Landing Length [m] (ξέρετε λ.χ. ότι αν χρειαστείτε το μήκος απογείωσης θα το διαβάσετε από την 20ή γραμμή του αρχείου). Το σημαντικό είναι ότι ο EASY «περιμένει» ως «επιστροφή» ένα αρχείο που λέγεται task.res (έχει τόσες γραμμές όσοι οι στόχοι, δεν έχει επικεφαλίδα με το ακέραιο πλήθος τους, δεν την χρειάζεται, ο EASY γνωρίζει πόσοι είναι οι στόχοι). Για παράδειγμα, αν είχαμε δύο στόχους, μέγιστο βεληνεκές και ελάχιστο μήκος διαδρόμου απογείωσης, το -4868.34200406647 2206.75131915175 task.res πιθανόν να είχε τη δίπλα μορφή (είναι κατανοητό το «μείον» στον πρώτο στόχο; Ο EASY ελαχιστοποιεί, δεν μεγιστοποιεί, συναρτήσεις!!!). ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 4/7
Επίσης, ο EASY χρειάζεται και ένα δεύτερο αρχείο, το task.cns (εκ του «constraints») μόνο όμως στην περίπτωση που το πρόβλημα έχει περιορισμούς. Αυτό το αρχείο έχει τόσες γραμμές όσοι είναι οι περιορισμοί, κάθε γραμμή έχει την τιμή της συνάρτησης περιορισμού (που πρέπει να κρατηθεί μικρότερη από ένα όριο που έδωσε ο χρήστης). Αν λ.χ. στο πρόβλημά μας, έχουμε δύο περιορισμούς (λ.χ. η ώση-thrust να είναι μικρότερη από ένα όριο και το μήκος του διαδρόμου προσγείωσης να είναι μικρότερο από ένα όριο) τότε το αρχείο task.cns θα είχε τη μορφή που δίνεται δίπλα. 39811.5659579464 1902.72114891417 Με βάση τα προηγούμενα, ο σπουδαστής οφείλει απλά να γράψει έναν κώδικα (postprocessor.for, ακολουθεί δείγμα σε Fortran 77- δείτε επίσης ότι αυτό καλείται μέσα από το task.bat ως τελευταία εντολή) που να δημιουργεί τα αρχεία task.res (υποχρεωτικά) και task.cns (αν χρειάζεται). Στο παραπάνω εικονικό παράδειγμα, ο κώδικας αυτός θα είχε τη δίπλα μορφή. Μπορείτε να τον αλλάξετε ώστε να επιλέξει εκείνες τις ποσότητες τις οποίες θέλετε να βελτιστοποιήσετε και τους κατά περίπτωση περιορισμούς. Δεν χρειάζεται να διαγράφετε τα αρχεία task.res και task.cns. Αυτό γίνεται αυτόματα από τον EASY. Παρόλα αυτά, είναι ακίνδυνο να προσθέσετε στο task.bat και αυτές τις εντολές διαγραφής. program postprocessor implicit double precision(a-h,o-z) dimension f(20) open(1,file='results.dat') do 1 i=1,2 1 read(1,*)f(i) do 2 i=3,5 2 read(1,*)f(i) do 3 i=6,14 3 read(1,*)f(i) do 4 i=15,17 4 read(1,*)f(i) close(1) open(1,file='task.res') write(1,*)-f(15)! max -> min write(1,*)f(16) close(1) open(1,file='task.cns') write(1,*)f(2) write(1,*)f(17) close(1) end Όρια Μεταβολής των Μεταβλητών Σχεδιασμού: ΜΕΤΑΒΛΗΤΗ ΣΧΕΔΙΑΣΜΟΥ ΚΑΤΩ ΟΡΙΟ ΑΝΩ ΟΡΙΟ & Μονάδες WFUEL, σε kg 22000 34000 SWING, σε m 2 110 190 ALE, σε μοίρες 35 65 CTCR, καθαρός αριθμός 0.05 0.50 ΑTE, σε μοίρες 0 23 RATWEI, καθαρός αριθμός 0.68 0.82 Είναι προφανές ότι υπάρχουν συνδυασμοί τιμών (ακόμη και μέσα στα όρια που εδώ δίνονται) για τους οποίους ο κώδικας αξιολόγησης-ανάλυσης δεν βγάζει αποτελέσματα (π.χ. μπορεί να ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 5/7
ζητά τη ρίζα αρνητικού αριθμού, κλπ). Σε κάθε τέτοια περίπτωση, ο κώδικας αξιολόγησης που σας δίνεται δεν ολοκληρώνεται, άρα δεν βγάζει αρχείο αποτελεσμάτων. Ο ΕΑ αντιλαμβάνεται ότι δεν υπάρχει νέο αρχείο αποτελεσμάτων (προσοχή: γι αυτό σβήνουμε υποχρεωτικά το παλαιό!!!) οπότε θεωρεί τη λύση μη-αποδεκτή και την τιμωρεί με μια πολύ μεγάλη τιμή (θεωρητικά άπειρη!) της συνάρτησης κόστους (για προβλήματα ελαχιστοποίησης). Κατάλογος Προβλημάτων που καλείστε ΠΡΟΑΙΡΕΤΙΚΑ να λύσετε: Τα αποτελέσματά σας θα συγκριθούν «ζωντανά» την ώρα του μαθήματος. Για να υπάρχει, λοιπόν, ποικιλία και ενδιαφέρον, προτείνεται να χωριστείτε σε 3 ομάδες. Το θέμα είναι μεν προαιρετικό, αλλά από τη στιγμή π[ου θα αποφασίσετε να το κάνετε, οφείλετε να ακολουθήσετε τις παρακάτω ομάδες: Ομάδα Α: Σπουδαστές με επώνυμο που αρχίζει από Α ως και Ι. (Π1) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης χωρίς περιορισμούς. (Π2) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους απογείωσης χωρίς περιορισμούς. (Π3) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης με περιορισμό στο μήκος απογείωσης προσγείωσης. Το μέγιστο των δύο μηκών επιθυμούμε να είναι μικρότερο των 2600 m. (Π6) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς με ταυτόχρονη ελαχιστοποίηση του βάρους απογείωσης (δύο στόχοι) με περιορισμό το μήκος απογείωσης προσγείωσης, το οποίο επιθυμούμε να είναι μικρότερο από 2600 m. (Π7) Λύστε το (Π3) με χρήση Προσεγγιστικής Προ-Αξιολόγησης (IPE=Inexact Pre- Evaluation) και αποτιμήστε το κέρδος σε υπολογιστικό χρόνο. Ομάδα Β: Σπουδαστές με επώνυμο που αρχίζει από Κ ως και Ξ. (Π1) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης χωρίς περιορισμούς. (Π2) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους απογείωσης χωρίς περιορισμούς. (Π4) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης με περιορισμό στο μέγιστο βάρος απογείωσης, το οποίο θέλουμε να είναι μικρότερο από 67000 kg. (Π6) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς με ταυτόχρονη ελαχιστοποίηση του βάρους απογείωσης (δύο στόχοι) με περιορισμό το μήκος απογείωσης προσγείωσης, το οποίο επιθυμούμε να είναι μικρότερο από 2600 m. (Π8) Λύστε το (Π4) με χρήση Προσεγγιστικής Προ-Αξιολόγησης (IPE=Inexact Pre- Evaluation) και αποτιμήστε το κέρδος σε υπολογιστικό χρόνο. Ομάδα Γ: Σπουδαστές με επώνυμο που αρχίζει από Ο ως και Ω. (Π1) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης χωρίς περιορισμούς. (Π2) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους απογείωσης χωρίς περιορισμούς. (Π5) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους απογείωσης με περιορισμό στο μήκος απογείωσης προσγείωσης. Το μέγιστο των δύο μηκών επιθυμούμε να είναι μικρότερο των 2600 m. (Π6) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς με ταυτόχρονη ελαχιστοποίηση του βάρους απογείωσης (δύο στόχοι) με περιορισμό το μήκος απογείωσης προσγείωσης, το οποίο επιθυμούμε να είναι μικρότερο από 2600 m. (Π9) Λύστε το (Π5) με χρήση Προσεγγιστικής Προ-Αξιολόγησης (IPE=Inexact Pre- Evaluation) και αποτιμήστε το κέρδος σε υπολογιστικό χρόνο. ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 6/7
Διάφορα: Διαλέξτε ένα ή δύο (λ.χ. ένα πρόβλημα ενός στόχου και ένα άλλο με δύο στόχους) από τα παραπάνω προβλήματα, αλλάξτε τους πληθυσμούς ή τις παραμέτρους εξέλιξης του ΕΑ και διερευνήστε τη συμπεριφορά του. Ο EASY σας δίνει δυνατότητα για πολλές τέτοιες δοκιμές. Σχεδιάστε την κάτοψη της πτέρυγας (λ.χ. σε δύο ακραίες λύσεις του μετώπου Pareto). Ο σχεδιασμός μπορεί να γίνει εύκολα με οποιοδήποτε πακέτο γραφικών αφού η πτέρυγα έχει απλή μορφή κάτοψης. Παραδώστε ηλεκτρονικό κείμενο, μικρού μήκους, με αρκετές έγχρωμες εικόνες. Να φαίνεται κυρίως η «ιστορία» την οποία ακολουθήσατε!!!! Σε κάθε τρέξιμο τα αποτελέσματα του οποίου σχεδιάζετε, γράψτε δίπλα το μέγεθος κάθε πληθυσμού αλλά και, κυρίως, τον αριθμό αξιολογήσεων που χρειάστηκαν. Παραδώστε, ο καθένας, ένα σύνολο directories/folders με τα αποτελέσματά σας (και τα αρχεία δεδομένων), ώστε να μπορέσει να γίνει η σύγκριση την ώρα του μαθήματος. Θέλουμε τα log αρχεία που έβγαλε ο EASY. ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 7/7