Στην παρούσα διπλωματική εργασία παρουσιάζεται ένας εξελικτικός αλγόριθμος για τον προγραμματισμό πολλαπλών έργων, με πολλαπλούς τρόπους εκτέλεσης και περιορισμένους πόρους (Multi-project M-RCPSP), βασισμένος στην βελτιστοποίηση με αποικία μυρμηγκιών (Ant Colony Optimization - ACO).
Η δομή του προβλήματος αποτελείται από ένα σύνολο παράλληλων έργων και ένα σύνολο κοινών για όλα τα έργα πόρων, που περιέχει ανανεώσιμους και μη-ανανεώσιμους πόρους. Οι πόροι έχουν περιορισμένη διαθεσιμότητα ανά περίοδο. Τα έργα μπορεί να είναι ανεξάρτητα μεταξύ τους ή και όχι. Κάθε έργο έχει ένα σύνολο δραστηριοτήτων, οι οποίες μπορούν να εκτελεστούν με έναν ή περισσότερους τρόπους, όπου κάθε τρόπος αντιστοιχεί σε διαφορετικό τύπο και απαιτούμενη ποσότητα πόρων και οδηγεί σε διαφορετική διάρκεια δραστηριότητας.
Η συνήθης μέθοδος όσον αφορά το πρόβλημα προγραμματισμού πολλαπλών έργων είναι η μετατροπή του προβλήματος πολλαπλών έργων σε πρόβλημα ενός έργου μέσω συγχώνευσης των δικτύων των έργων. Η μέθοδος αυτή μπορεί να οδηγήσει σε δυσεπίλυτα δίκτυα των οποίων η επίλυση μπορεί να είναι ιδιαίτερα χρονοβόρα. Εδώ παρουσιάζεται μια νέα μέθοδος, βασισμένη στη βελτιστοποίηση με αποικία μυρμηγκιών (ACO), η οποία διαφοροποιείται με βάση την ύπαρξη ή όχι συσχετίσεων μεταξύ μιας ή περισσότερων δραστηριοτήτων ενός έργου με ένα ή περισσότερα άλλα έργα. Έτσι, παράγονται δύο σύνολα έργων, ένα σύνολο ανεξάρτητων έργων και ένα σύνολο έργων με εξωτερικές εξαρτήσεις. Το σύνολο των έργων με εξωτερικές εξαρτήσεις διαιρείται σε υποσύνολα με βάση τον αριθμό των εξαρτήσεων, με σκοπό τη δημιουργία δύο ή τριών υποσυνόλων: υψηλής, μεσαίας και χαμηλής εξάρτησης. Τα έργα έπειτα προγραμματίζονται σύμφωνα με το σύνολο στο οποίο ανήκουν. Τα έργα που ανήκουν στο σύνολο υψηλής εξάρτησης και έχουν υψηλότερες απαιτήσεις σε πόρους κατηγοριοποιούνται και προγραμματίζονται πρώτα, ακολουθούν εκείνα που έχουν ακόμη υψηλό βαθμό εξωτερικών εξαρτήσεων αλλά χαμηλότερες απαιτήσεις σε πόρους και ούτω καθεξής. Η διαδικασία προγραμματισμού χρησιμοποιεί έναν Διαχειριστή (Moderator) ACO που χειρίζεται τη σειρά προγραμματισμού και συνακόλουθα την κατηγοριοποίηση των συνόλων και την τυχαιοποίηση των έργων του ιδίου συνόλου, και την εκχώρηση των τρόπων εκτέλεσης των δραστηριοτήτων και έναν δεύτερο ACO αλγόριθμο για το RCPSP.
Τα σύνολα δεδομένων πολλαπλών τρόπων (multi-mode data sets) της διαδικτυακής βιβλιοθήκης PSP-Lib συνδυάστηκαν για να δώσουν μια ποικιλία συνόλων πολλαπλών έργων και χρησιμοποιήθηκαν για να αποδειχθεί η αποδοτικότητα και η αποτελεσματικότητα της προτεινόμενης προσέγγισης.
An evolutionary algorithm for the multi-project, multi-mode resource constrained project scheduling (M-RCPSP), based on ant colony optimization (ACO) is proposed.
The problem setting consists of several parallel projects and a number of shared resource pools containing renewable and non-renewable resources. All the resources are supplied limitedly. The projects can be independent with each other or not. Each project has a number of activities that can be executed in one or more modes (multi-mode) where each mode corresponds to different resource type and amount requirements and leads to different activity duration.
The common method about the multi-project scheduling problem is converting the multiple projects problem into a single project problem through the merger of a number of network plans. This method can lead to cumbersome networks that their solution can be very time consuming. In this paper a new method based on ant colony optimization (ACO) is proposed.
The process is differentiated based on the existence of relations between one or more activities of a project with the activities of one or more other projects or not. This way two project sets are generated, a set of independent projects and a set of projects with outer dependencies. The set of projects with outer dependencies is divided in subsets based on the number of outer dependencies in order to form two or three subsets: of low, medium and high dependency. The projects are then ordered and scheduled based on the set that they belong. This way, all the projects that belong to the high dependency set and have higher resource requirements will be prioritized and scheduled up front, then those that still have high degree of outer dependencies but low resource requirements and so on. The scheduling process uses an adapted ACO algorithm for the M-RCPSP scheduling and another ACO algorithm handles the scheduling order and therefore the prioritization of the sets and the randomization of the projects in the same set.
The multi-mode PSP Lib data sets were combined to give a variety of multi-project data sets and used to prove the efficiency and effectiveness of the proposed approach.