Ανάπτυξη κώδικα βελτιστοποίησης με χρήση εξελικτικών αλγορίθμων. Εφαρμογή στην βελτιστοποίηση σχεδίασης στοιχείων μηχανών - Νανόπουλος, Σωτήρης-Αλέξανδρος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ναυπηγών Μηχανολόγων Μηχανικών, 2016)
Η περιγραφή του κόσμου με χρήση περίπλοκων μοντέλων και προσομοιώσεων γεννά την ανάγκη για ανάπτυξη προγραμμάτων βελτιστοποίησης τα οποία θα μπορούν να βελτιστοποιήσουν τις παραμέτρους των μοντέλων αυτών. Για τη βελτιστοποίηση τέτοιων πολύπλοκων μοντέλων, η μέθοδος με την οποία προκύπτουν τα καλύτερα δυνατά αποτελέσματα είναι αυτή της χρήσης των εξελικτικών αλγορίθμων βελτιστοποίησης. Οι εξελικτικοί αλγόριθμοι, παρότι προσφέρουν, εν γένει, ιδιαίτερα ικανοποιητική εξερεύνηση του πεδίου ορισμού των αντικειμενικών συναρτήσεων, έχουν το μειονέκτημα ότι απαιτούν μεγάλο αριθμό υπολογισμών για να καταλήξουν στη βέλτιστη λύση του προβλήματος.Το μειονέκτημα αυτό είναι τόσο σημαντικό που εμποδίζει την ευρεία χρήση των εξελικτικών αλγορίθμων σε βιομηχανικές εφαρμογές. Ένας άλλος επιστημονικός κλάδος, αυτός της τεχνητής νοημοσύνης, παρέχει εργαλεία στους ερευνητές της βελτιστοποίησης ώστε να μειώσουν το μεγάλο αριθμό των υπολογισμών που απαιτούνται από τους εξελικτικούς αλγορίθμους. Το σημαντικότερο εργαλείο είναι αυτό των νευρωνικών δικτύων, τα οποία χρησιμοποιούνται με διάφορους τρόπους για να επιταχυνθεί η σύγκλιση των εξελικτικών αλγορίθμων. Στην παρούσα εργασία πραγματοποιήθηκε ανάπτυξη ενός προγράμματος βελτιστοποίησης το οποίο βασίζεται στους εξελικτικούς αλγορίθμους. Για να γίνει το πρόγραμμα αυτό ανταγωνιστικό ως προς τα υπόλοιπα ακαδημαϊκά/εμπορικά προγράμματα βελτιστοποίησης, αναπτύχθηκε στο πλαίσιο της εργασίας αυτής ένας αλγόριθμος για την προεκβολή ενός μετώπου Pareto, ο οποίος επιταχύνει την σύγκλιση των εξελικτικών αλγορίθμων. Ο αλγόριθμος αυτός εκμεταλλεύεται τα νευρωνικά δίκτυα και τους προηγούμενους υπολογισμούς, με σκοπό να μπορέσει να βρει καινούργια άτομα τα οποία υπερισχύουν των προηγουμένων ατόμων του πληθυσμού, με έναν ψευδο-ντετερμινιστικό τρόπο. Οι κλασικές μέθοδοι εξελικτικής βελτιστοποίησης και ο αλγόριθμος προεκβολής αναπτύχθηκαν σε περιβάλλον προγραμματισμού C++. Ταυτόχρονα, με στόχο την αύξηση της χρηστικότητας του προγράμματος αναπτύχθηκε ένα γραφικό περιβάλλον το οποίο παρέχει τη δυνατότητα στον χρήστη να παρακολουθεί διαγραμματικά σε πραγματικό χρόνο την πορεία της βελτιστοποίησης. Η αποτελεσματικότητα του προγράμματος βελτιστοπόιησης και του αλγορίθμου προεκβολής ποσοτικοποιήθηκε μέσα από ένα σύνολο εννέα προβλημάτων. Από αυτά, τα πέντε είναι προβλήματα μαθηματικής βελτιστοποίησης, τα οποία έχουν σχεδιαστεί με σκοπό να χρησιμοποιούνται ως αναφορά μεταξύ των διαφόρων αλγόριθμων βελτιστοποίησης. Τα επόμενα τέσσερα είναι προβλήματα βελτιστοποίησης που ανήκουν στον χώρο τον προβλημάτων της βέλτιστης σχεδίασης στοιχείων μηχανών. Πιο συγκεκριμένα, τα τρία επόμενα προβλήματα αφορούν την βέλτιστη σχεδίαση υδροφοβικής επιφάνειας εδράνου ύπο από διαφορετικές συνθήκες λειτουργίας, ενώ το τέταρτο πρόβλημα αφορά την βέλτιστη σχεδίαση της γεωμετρίας ωστικού μικρο-εδράνου με τεχνητή επιφανειακή τραχύτητα.