Εργασία για το Σπίτι (2017-18-Ε1) ΠΡΟΑΙΡΕΤΙΚΗ ΑΣΚΗΣΗ: Προκαταρκτικός Σχεδιασμός Υπερηχητικού Αεροσκάφους Μέθοδος: Εξελικτικοί Αλγόριθμοι Σχεδιάζετε δικινητήριο υπερηχητικό αεροσκάφος (Α/Φ) με σκοπό να επιλεγούν βασικές λειτουργικές και γεωμετρικές παράμετροι που να οδηγούν στην επίτευξη ενός ή περισσοτέρων (κατά περίπτωση) στόχων, ικανοποιώντας κατά περίπτωση περιορισμούς. Οτιδήποτε δεν αποτελεί μεταβλητή σχεδιασμού θεωρείται σταθερό και αμετάβλητο. Δεν δίνονται αυτές οι τιμές, επιθυμώντας να κρατηθεί το πρόβλημα στο επίπεδο μιας γενικής άσκησης βελτιστοποίησης και όχι εξειδικευμένου θέματος για αεροναυπηγούς. Ο σχεδιασμός βασίζεται σε εξισώσεις και εμπειρικές σχέσεις που διδάσκονται στη Σχολή μας σε σχετικά μαθήματα. Όσες από αυτές τις εξισώσεις χρειάζονται ώστε να ερμηνευθούν τα αποτελέσματα της βελτιστοποίησης αναφέρονται παρακάτω, στην πρέπουσα έκταση. Οι έξι (6) ποσότητες που χρησιμοποιούνται άλλοτε ως στόχοι και άλλοτε ως περιορισμοί, είναι οι εξής: Το βεληνεκές (R) πτήσης του Α/Φ Ο συντελεστής οπισθέλκουσας (C D ) του Α/Φ Το μήκος (L 1 ) του απαιτούμενου διαδρόμου απογείωσης Το μήκος (L 2 ) του απαιτούμενου διαδρόμου προσγείωσης Το βάρος ατράκτου (W fus ) Το βάρος απογείωσης (TOW) R, σε km CD, καθαρός αριθμός L1, σε m L2, σε m WFUS, σε kg TOW, σε kg Οι επτά (7) ποσότητες που αποτελούν μεταβλητές σχεδιασμού πινακοποιούνται παρακάτω: Βάρος καυσίμου (W fuel ) κατά την απογείωση WFUEL, σε kg Διάμετρος ατράκτου (D fus ) DFUS, σε m Εμβαδόν πτέρυγας (S wing, είναι το εμβαδόν της κάτοψης και των δύο τμημάτων της πτέρυγας μαζί) SWING, σε m 2 Γωνία οπισθόκλισης (a LE ) στην ακμή πρόσπτωσης της (οπισθοκλινούς) πτέρυγας (βλέπε σχήμα) ALE, σε μοίρες Λόγος χορδής στο ακροπτερύγιο (C tip ) προς χορδή στη «ρίζα» CTCR, καθαρός (επίπεδο συμμετρίας) (C root ) της πτέρυγας. αριθμός Γωνία οπισθόκλισης (a TE ) στην ακμή εκφυγής της (οπισθοκλινούς) ΑTE, σε μοίρες πτέρυγας (βλέπε σχήμα) Λόγος του βάρους προσγείωσης προς το βάρος απογείωσης του Α/Φ RATWEI, καθαρός αριθμός ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 1/7
Επιλεγμένα Στοιχεία θεωρίας: Η εξίσωση του Breguet που δίνει το βεληνεκές R (σε m) ενός Α/Φ γράφεται ως εξής: V C L W start R = ln g sfc C D W end όπου: V (m/s) είναι η ταχύτητα πτήσης που καθορίζεται από τον αριθμό Mach (υπερηχητικός) και το υψόμετρο της πτήσης (επίσης σταθερό επηρεάζει την ταχύτητα του ήχου) 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=31000 kg, DFUS=2.0 m, SWING=110.0 m 2, ALE=65.0 ο, CTCR=0.056, ΑTE=22.0 ο, RATWEI=0.79, τότε το αντίστοιχο αρχείο task.dat θα έχει τη μορφή που φαίνεται δίπλα. Το εκτελέσιμο supercraft.exe που θα τρέξει για αυτό το αεροσκάφος, με σκοπό να το αναλύσει, θα διαβάσει αυτό το αρχείο. 7 31000. 2.0 110.0 65. 0.056 22 0.79 ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 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.80082518210865731E-005 SFC [kg/n/s] 37133.652352545629 Thrust / engine [N] ==================== Geometry ==================== 28.905179279621805 Fuselage Length [m] 15.033003932030260 Wing span [m] 13.858396783190170 Wing root chord [m] ===================== Weights ==================== 31000.000000000000 Fuel Weight [kg] 5539.5454051414972 Wing Weight [kg] 311.94800705026807 Tail Weight [kg] 3361.1299741849280 Fuselage Weight [kg] 2599.8532351261101 Landing Gear Weight [kg] 4317.6305777284642 Propulsion System Weight [kg] 13549.376249285968 Other Weights [kg] 33996.330878152752 Zero Fuel Weight [kg] 64997.046280645991 Take Off Weight [kg] =================== Performance ================== 6287.5590900816351 Range [km] 3231.0122872803086 L1: Take-off Length [m] 2348.9285703588325 L2: Landing Length [m] 5.54826697328848900E-002 Cd: Drag Coefficient Ξέρετε λ.χ. ότι αν χρειαστείτε το μήκος απογείωσης θα το διαβάσετε από την 20ή γραμμή του αρχείου. Το σημαντικό είναι ότι ο EASY «περιμένει» ως «επιστροφή» ένα αρχείο που λέγεται task.res (έχει τόσες γραμμές όσοι οι στόχοι, δεν έχει επικεφαλίδα με το ακέραιο πλήθος τους, δεν την χρειάζεται, ο EASY γνωρίζει πόσοι είναι οι στόχοι). Για παράδειγμα, αν είχαμε δύο στόχους, μέγιστο βεληνεκές και ελάχιστο μήκος διαδρόμου απογείωσης, το -6287.5590900816351 3231.0122872803086 task.res πιθανόν να είχε τη δίπλα μορφή (το «μείον» στον πρώτο στόχο τίθεται γιατί ο EASY ελαχιστοποιεί, δεν μεγιστοποιεί, συναρτήσεις!!!). ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 4/7
Επίσης, ο EASY χρειάζεται και ένα δεύτερο αρχείο, το task.cns (εκ του «constraints») μόνο όμως στην περίπτωση που το πρόβλημα έχει περιορισμούς. Αυτό το αρχείο έχει τόσες γραμμές όσοι είναι οι περιορισμοί, κάθε γραμμή έχει την τιμή της συνάρτησης περιορισμού (που πρέπει να κρατηθεί μικρότερη από ένα όριο που έδωσε ο χρήστης). Αν λ.χ. στο πρόβλημά μας, έχουμε δύο περιορισμούς (λ.χ. η ώση-thrust να είναι μικρότερη από ένα όριο και το μήκος του διαδρόμου προσγείωσης να είναι μικρότερο από ένα όριο) τότε το αρχείο task.cns θα είχε τη μορφή που δίνεται δίπλα. Με βάση τα προηγούμενα, ο σπουδαστής οφείλει απλά να γράψει έναν κώδικα (postprocessor.for, ακολουθεί δείγμα σε Fortran 77- δείτε επίσης ότι αυτό καλείται μέσα από το task.bat ως τελευταία εντολή) που να δημιουργεί τα αρχεία task.res (υποχρεωτικά) και task.cns (αν χρειάζεται). Στο παραπάνω εικονικό παράδειγμα, ο κώδικας αυτός θα είχε τη δίπλα μορφή. Μπορείτε να τον αλλάξετε ώστε να επιλέξει εκείνες τις ποσότητες τις οποίες θέλετε να βελτιστοποιήσετε και τους κατά περίπτωση περιορισμούς. Μια χρήσιμη λεπτομέρεια: κανονικά, δεν χρειάζεται να διαγράφετε τα αρχεία task.res και task.cns. Αυτό γίνεται αυτόματα από τον EASY. Παρόλα αυτά, είναι ακίνδυνο να προσθέσετε στο task.bat και αυτές τις εντολές διαγραφής. 37133.652352545629 2348.9285703588325 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,18 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 21000 35000 DFUS, σε m 1.9 2.3 SWING, σε m 2 105 195 ALE, σε μοίρες 38 68 CTCR, καθαρός αριθμός 0.05 0.50 ΑTE, σε μοίρες 0 22 RATWEI, καθαρός αριθμός 0.66 0.84 Είναι προφανές ότι υπάρχουν συνδυασμοί τιμών (ακόμη και μέσα στα όρια που εδώ δίνονται) για τους οποίους ο κώδικας αξιολόγησης-ανάλυσης δεν βγάζει αποτελέσματα (π.χ. μπορεί να ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 5/7
ζητά τη ρίζα αρνητικού αριθμού, κλπ). Σε κάθε τέτοια περίπτωση, ο κώδικας αξιολόγησης που σας δίνεται δεν ολοκληρώνεται, άρα δεν βγάζει αρχείο αποτελεσμάτων. Ο ΕΑ αντιλαμβάνεται ότι δεν υπάρχει νέο αρχείο αποτελεσμάτων (προσοχή: γι αυτό σβήνουμε υποχρεωτικά το παλιό!!!) οπότε θεωρεί τη λύση μη-αποδεκτή και την τιμωρεί δίνοντας μια πολύ μεγάλη τιμή (θεωρητικά άπειρη!) στη συνάρτηση κόστους (για προβλήματα ελαχιστοποίησης). Κατάλογος Προβλημάτων που καλείστε ΠΡΟΑΙΡΕΤΙΚΑ να λύσετε: Τα αποτελέσματά σας θα συγκριθούν (ως ένα βαθμό) «ζωντανά» την ώρα του μαθήματος. Για να υπάρχει, λοιπόν, ποικιλία και ενδιαφέρον, προτείνεται να χωριστείτε σε 3 ομάδες. Το θέμα είναι μεν προαιρετικό, αλλά από τη στιγμή που θα αποφασίσετε να το κάνετε, οφείλετε να ακολουθήσετε τις παρακάτω ομάδες: Ομάδα Α: Σπουδαστές με επώνυμο που αρχίζει από Α ως και Ι. (Π1) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης χωρίς περιορισμούς. (Π2) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους ατράκτου (fuselage weight) χωρίς περιορισμούς. (Π3) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης με περιορισμό στο μέγιστο βάρος απογείωσης, το οποίο θέλουμε να είναι μικρότερο από 50000 kg. (Π4) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς με ταυτόχρονη ελαχιστοποίηση του βάρους ατράκτου (δύο στόχοι) με περιορισμό το μέγιστο μεταξύ του μήκους απογείωσης και προσγείωσης, το οποίο επιθυμούμε να είναι μικρότερο από 2100 m. (Π5) Λύστε το (Π3) με χρήση Προσεγγιστικής Προ-Αξιολόγησης (IPE=Inexact Pre- Evaluation) και αποτιμήστε το κέρδος σε υπολογιστικό χρόνο. Ομάδα Β: Σπουδαστές με επώνυμο που αρχίζει από Κ ως και Ξ. (Π1) Λύστε το πρόβλημα ελαχιστοποίησης του συντελεστή οπισθέλκουσας χωρίς περιορισμούς. (Π2) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους απογείωσης χωρίς περιορισμούς. (Π3) Λύστε το πρόβλημα ελαχιστοποίησης του βάρους απογείωσης με περιορισμό στο συντελεστή οπισθέλκουσας που θέλουμε να είναι μικρότερος από 0.50. (Π4) Λύστε το πρόβλημα ελαχιστοποίησης του συντελεστή οπισθέλκουσας με ταυτόχρονη ελαχιστοποίηση του βάρους απογείωσης (δύο στόχοι) με περιορισμό το βάρος ατράκτου, το οποίο επιθυμούμε να είναι μικρότερο από 3600 kg. (Π5) Λύστε το (Π3) με χρήση Προσεγγιστικής Προ-Αξιολόγησης (IPE=Inexact Pre- Evaluation) και αποτιμήστε το κέρδος σε υπολογιστικό χρόνο. Ομάδα Γ: Σπουδαστές με επώνυμο που αρχίζει από Ο ως και Ω. (Π1) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης χωρίς περιορισμούς. (Π2) Λύστε το πρόβλημα ελαχιστοποίησης του μεγιστού μεταξύ του μήκους απογείωσης και προσγείωσης χωρίς περιορισμούς. (Π3) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς πτήσης με περιορισμό το βάρος ατράκτου να είναι μικρότερο από 3000 kg. (Π4) Λύστε το πρόβλημα μεγιστοποίησης του βεληνεκούς με ταυτόχρονη ελαχιστοποίηση του βάρους απογείωσης (δύο στόχοι) με περιορισμό το μήκος απογείωσης προσγείωσης, το οποίο επιθυμούμε να είναι μικρότερο από 2100 m. (Π5) Λύστε το (Π3) με χρήση Προσεγγιστικής Προ-Αξιολόγησης (IPE=Inexact Pre- Evaluation) και αποτιμήστε το κέρδος σε υπολογιστικό χρόνο. ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 6/7
Διάφορα: 1. Διαλέξτε ένα ή δύο (λ.χ. ένα πρόβλημα ενός στόχου και ένα άλλο με δύο στόχους) από τα παραπάνω προβλήματα, αλλάξτε τους πληθυσμούς ή τις παραμέτρους εξέλιξης του ΕΑ και διερευνήστε τη συμπεριφορά του. Ο EASY σας δίνει δυνατότητα για πολλές τέτοιες δοκιμές. 2. Σχεδιάστε την κάτοψη της πτέρυγας (λ.χ. σε δύο ακραίες λύσεις του μετώπου Pareto). Ο σχεδιασμός μπορεί να γίνει εύκολα με οποιοδήποτε πακέτο γραφικών αφού η πτέρυγα έχει απλή μορφή κάτοψης. 3. Παραδώστε ηλεκτρονικό κείμενο (pdf), με αρκετές έγχρωμες (ουσιαστικές) εικόνες. Να φαίνεται κυρίως η «ιστορία» την οποία ακολουθήσατε!!!! Σε κάθε τρέξιμο τα αποτελέσματα του οποίου σχεδιάζετε, γράψτε δίπλα το μέγεθος κάθε πληθυσμού αλλά και, κυρίως, τον αριθμό αξιολογήσεων που χρειάστηκαν. 4. Παραδώστε, ο καθένας, ένα σύνολο directories/folders με τα αποτελέσματά σας (και τα αρχεία δεδομένων), ώστε να μπορέσει να γίνει η σύγκριση την ώρα του μαθήματος. Θέλουμε τα log αρχεία που έβγαλε ο EASY, μόνο για τα προβλήματα μονοκριτηριακής βελτιστοποίησης (Π1, Π2 και Π4) σε κάθε ομάδα. ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ - Κ. ΓΙΑΝΝΑΚΟΓΛΟΥ 7/7