Βελτιστοποίηση είναι η μέθοδος με την οποία αποκτά κανείς το βέλτιστο αποτέλεσμα κάτω από
κάποιες δεδομένες συνθήκες και περιορισμούς. Λόγω της ύπαρξης μιας τεράστιας ποικιλίας
διαφορετικών προβλημάτων βελτιστοποίησης, δεν υφίσταται καθολική μέθοδος η οποία να είναι
σε θέση να επιλύει κάθε πρόβλημα αποτελεσματικά. Αντιθέτως, υφίσταται μια πληθώρα
μεθόδων ικανές να λύσουν ορισμένους από αυτούς τους τύπους προβλημάτων αποτελεσματικά.
Οι μέθοδοι αυτές μελετώνται και αναπτύσσονται από το τομέα της «Επιχειρησιακής Έρευνας»
(Operations Research). Ο τομέας αυτός αποτελεί ένα παρακλάδι των μαθηματικών που
ασχολείται με την εφαρμογή επιστημονικών μεθόδων και τεχνικών σε προβλήματα λήψης
αποφάσεων, με στόχο την εύρεση των βέλτιστων λύσεων.
Στη παρούσα διπλωματική εργασία εξετάζεται η εφαρμογή σύγχρονων αλγορίθμων
πολυκριτηριακής βελτιστοποίησης σε δύο κλασικά προβλήματα Δομοστατικού μηχανικού.
Αποσκοπείτε η βελτιστοποίηση δύο σιδηρών κατασκευών (ενός επίπεδου 10-μελούς
δικτυώματος και ενός χωρικού 25-μελούς) ως προς το βάρος και τις μετατοπίσεις
συγκεκριμένων κόμβων. Χρησιμοποιούμε πέντε Γενετικούς αλγορίθμους (NSGA, NSGA-II,
SPEA, SPEA2, NPGA) και δύο αλγορίθμους Τεχνητής Νοημοσύνης (ACO, PSO). Όλοι οι
αλγόριθμοι αναπτύχθηκαν σε γλώσσα προγραμματισμού MATLAB.
Πιο συγκεκριμένα, αναλύονται και σχολιάζονται οι πηγές έμπνευσης των παραπάνω αλγορίθμων
καθώς και οι διαδικασίες που πραγματοποιούνται για τη προγραμματιστική τους κωδικοποίηση.
Όσων αφορά τους γενετικούς αλγορίθμους, μέσω παραλλαγών που παρουσιάζουμε στους
NSGA και NPGA γίνεται φανερή η σημασία της χρήσης ελιτισμού για τη βελτίωση της μορφής
του Pareto βέλτιστου μετώπου. Επίσης, εφαρμόζοντας αντίστοιχες παραλλαγές στους SPEA και
NPGA αποδεικνύεται ότι για τη σωστή κατανομή των λύσεων κατά μήκος του Pareto βέλτιστου
μετώπου απαιτείται η χρήση σχετικών συντεταγμένων αντί αυτών που προκύπτουν από τις τιμές
των αντικειμενικών συναρτήσεων. Πραγματοποιείται εν ολίγοις ένας εκτενής σχολιασμός των
διαφορετικών μεθόδων ομαδοποίησης των λύσεων που έχουν υιοθετηθεί από τις διάφορες
μορφές γενετικών αλγορίθμων. Παράλληλα, επισημαίνεται η ανωτερότητα των μεθόδων που
υιοθετούν διαδικασίες απόδοσης ποιότητας στα άτομα του εκάστοτε πληθυσμού οι οποίες δεν
απαιτούν τον εξαρχής προσδιορισμό πρόσθετων παραμέτρων όπως της ακτίνας γειτονιάς ( share σ )
στη περίπτωση της μοιρασμένης ποιότητας (fitness sharing). Η παρατήρηση αυτή γίνεται
κατανοητή συγκρίνοντας τα αποτελέσματα των NSGA και NSGA-II. Ακόμη, σχολιάζονται τα
μειονεκτήματα των αλγορίθμων NSGA και SPEA και παρουσιάζονται οι τρόποι με τους οποίους
οι δημιουργοί τους κατάφεραν να τα αντιμετωπίσουν και να δημιουργήσουν τις εξελιγμένες τους
μορφές (NSGA-II και SPEA2), αλγόριθμοι που αποτελούν πρότυπο στην επίλυση προβλημάτων
πολυκριτηριακής βελτιστοποίησης. Τέλος, παρουσιάζεται και ο τρόπος επιλογής των γονέων της
επόμενης γενιάς μέσω των Pareto domination tournaments, που υιοθετείται από τον αλγόριθμο
NPGA.
Όσον αφορά τους αλγόριθμους Τεχνητής Νοημοσύνης, αμφότεροι ανήκουν στη κατηγορία της
Νοημοσύνης των Σμηνών. Πρόκειται για αλγορίθμους που ασχολούνται με τη δημιουργία ενός
πλήθους αυτόνομων παρατηρητών, εμπνευσμένη από τη συλλογική συμπεριφορά εντόμων και
φυσικών οργανισμών που αποτελούν μέλη μιας μεγαλύτερης κοινωνίας. Ο πρώτος αλγόριθμος
είναι η βελτιστοποίηση με τη μέθοδο της Αποικίας Μυρμηγκιών, ο οποίος ουσιαστικά
προσομοιάζει τον τρόπο με τον οποίο τα μυρμήγκια επικοινωνούν μέσω της χημικής ουσίας της
φερομόνης και τελικώς ανακαλύπτουν τη βέλτιστη πηγή τροφής κοντά στη φωλιά τους. Η τροφή
προγραμματιστικά αντικαταστείτε από τη ποιότητα των διαφόρων λύσεων. Επίσης,
σχολιάζονται τα διάφορα στάδια εξέλιξης των αλγορίθμων από χώρους διακριτών λύσεων σε
συνεχής καθώς και από προβλήματα μιας αντικειμενικής συνάρτησης σε προβλήματα με
περισσότερες.
Παράλληλα, παρουσιάζουμε μια παραλλαγή της μεθόδου η οποία βασίζεται σε ορισμένες
βασικές αρχές τη Θεωρίας Παιγνίων που αφορούν τα παιχνίδια συνεργασίας μεταξύ δύο
παικτών. Η παραλλαγή αυτή εφαρμόζεται μόνο στο επίπεδο δικτύωμα όπου ο ένας παίκτης είναι
το βάρος και ο άλλος η μετατόπιση. Το αξιοσημείωτο στη περίπτωση αυτή είναι ότι μια
συντεταγμένη όλων των λύσεων του τελικού πληθυσμού που παράγεται συγκλίνει σε μία
συγκεκριμένη τιμή, γεγονός που δεν παρατηρείται σε κανέναν από τους υπόλοιπους
αλγορίθμους.
Τέλος, ο δεύτερος αλγόριθμος Τεχνητής Νοημοσύνης με τον οποίο ασχολούμαστε είναι η
βελτιστοποίηση με τη μέθοδο του Σμήνους Πουλιών. Ο αρμονικά διατεταγμένος τρόπος που
κινείται ένα σμήνος από πέρδικες, θυμίζοντας, καμιά φορά, μια αξιοθαύμαστη χορευτική
χορογραφία αποτέλεσε τη πηγή έμπνευσης του συγκεκριμένου αλγορίθμου. Κάθε μεμονωμένο
άτομο προσπαθεί να κινείται παράλληλα με την ομάδα του, διατηρώντας τη θέση του μεταξύ
των πλησιέστερων γειτόνων του, ενώ παράλληλα προσπαθεί να αποφύγει κάθε είδους
σύγκρουση με τα υπόλοιπα άτομα. Εν ολίγοις, προσαρμόζει τις κινήσεις του ώστε να βρίσκεται
διαρκώς σε συντονισμό με το υπόλοιπο σμήνος.
Εφαρμόζοντας όλες τις παραπάνω μεθόδους στα δύο προβλήματα Πολιτικού Μηχανικού
συμπεραίνουμε ότι όλοι αλγόριθμοι είναι λίγο πολύ ισάξιοι. Τα μέτωπα Pareto που προκύπτουν
σε κάθε έναν από αυτούς συγκλίνουν μεταξύ τους. Ορισμένες διαφορές παρατηρούνται στις
ακραίες τιμές του χώρου των λύσεων των αντικειμενικών συναρτήσεων, οι οποίες όμως δεν
είναι μεγίστης σημασίας καθώς τελικώς επιλέγεται μια μόνο λύση του μετώπου Pareto η οποία
δεν συνηθίζεται να ανήκει στα άκρα του.
Optimization is the method used to reach the optimal outcome of a problem which is dictated by
certain condition and constraints. Due to the existence of various types of optimization problems,
there is not a unique method for solving all of them successfully. Contrariwise, there are distinct
methods capable of producing efficient solutions to some of these types of problems. These
methods are studied and developed by the field of Operations Research. The particular field
belongs to the mathematical science and engages into the application of scientific methods and
techniques to decision making problems, with ultimate scope finding the set of optimal solutions
(Pareto front).
In the current thesis we examine the application of evolutionary multi-objective optimization
algorithms to two benchmark Civil Engineering problems. We try to produce the Pareto optimal
front of two steel structures, a ten element plain truss and a twenty-five element spacial truss.
Our objective functions are the weight and some nodal displacements of the trusses. We use five
different Genetic Algorithms (NSGA, NSGA-II, SPEA, SPEA2, NPGA) and two Artificial
Intelligence Algorithms (ACO, PSO). All simulations were developed using MATLAB.
We analyze and discuss the sources of inspiration of these algorithms as well as the processes
that are adopted in order to obtain the computational code. As far as the Genetic Algorithms are
concerned, we present some variations of NSGA and NPGA which prove the improvement of
the Pareto front by using elitism. Moreover, applying some changes to SPEA and NPGA we
conclude that in order to acquire a successful distribution of the solutions among the Pareto front
we must use relative coordinates rather than the values per se that are derived from the objective
functions. Furthermore, we note the superiority of algorithms that make use of procedures which
do not require additional determination of parameters such the niche radius of fitness sharing.
This observation is derived through the comparison of NSGA with NSGA-II. In addition, we
discuss the drawbacks of NSGA and SPEA and the processes that their creators resorted to in
order to deal with them and create two “state of the art” multi-objective Genetic Algorithms;
NSGA-II and SPEA2. We also present the alternative way of Pareto domination tournaments,
suggested by NPGA, in order to fill the mating pool.
As far as the Artificial Intelligence Algorithms are concerned, both of them belong to the Swarm
Intelligence field. In Swarm Intelligence, N agents in the swarm or a social group are
coordinating to achieve a specific goal by their behavior. This kind of collective intelligence
arises from large groups of relatively simple agents. The actions of the agents are governed by
simple local rules. The intelligent agent group achieves the goal through interactions of the entire
group. A type of “self-organization” emerges from the collection of actions of the group.
The first algorithm we present is Ant Colony Optimization, which simulates the way that ants
communicate through the traces of a chemical substance called pheromone. Their aim is to detect
the shortest route from their nest to the best source of food. Computationally the food is
substituted by the fitness of individual solutions. Moreover, we discuss the evolution of these
algorithms which were initially invented to solve discrete variable problems (such as the
Travelling Salesman Problem-TSP), as well as single objective optimization problems. We also
introduce a new concept in which basic principles of two person cooperative Game Theory are
incorporated to the initial algorithm in order to help the ants find the Pareto front. It is worth
noticing that one of the coordinates of the final population was the same for all individuals,
something that was not observed by the outcomes of the other algorithms.
Finally, the second Artificial Intelligence algorithm we discuss is Particle Swarm Optimization.
Consider for example, the movement of a bird in a flock, the bird adjusts its movements such
that it coordinates with the movements of its neighboring flock mates. The bird tries to move
along with its flock maintaining its movement along with the others and moves in such a way to
avoid collisions among them.
By applying all of the above algorithms to our benchmark problems we derive that all of them
produce, more or less, the same results. The Pareto fronts are identical. Some discrepancies may
be observed as far as the outliers of the objective space are concerned. However, since the
ultimate solution is unique and must be chosen from the Pareto set it usually belongs to the
central area of the front.