Συγκριτική ανάλυση αλγορίθμων για το πρόβλημα δρομολόγησης οχημάτων
Abstract
Σε αυτή την εργασία θα ασχοληθούμε εκτεταμένα με το Πρόβλημα Δρομολόγησης
Οχημάτων με Περιορισμούς Χωρητικότητας (Capacitated Vehicle Routing Problem).
Πρόκειται για ένα πρόβλημα που ανήκει στη κατηγορία προβλημάτων NP – Hard, τα
οποία και θεωρούνται ως τα πιο δύσκολα προβλήματα Μη Πολυωνυμικού Χρόνου.
Το Πρόβλημα Δρομολόγησης Οχημάτων, είναι ένα κοινότυπο πρόβλημα στον
τομέα των μεταϕορών όλων των ειδών. Αντιμετωπίζεται από όλες τις μεταϕορικές
εταιρείες και παρουσιάζει εξαιρετική ποικιλομορϕία. Είναι εξίσου πολλοί οι
παράγοντες που μπορούν να οδηγήσουν σε αυτή τη ποικιλομορϕία, όπως ο χρόνος,
ο χώρος, οι πελάτες και πολλά άλλα. Στη συνέχεια της εργασίας θα αναλύσουμε
πως οι παράγοντες που αναϕέραμε επηρεάζουν τα διάϕορα είδη του προβλήματος
καθώς επίσης και ποια είναι αυτά τα είδη.
Στα πλαίσια της εργασίας θα αναλύσουμε το Πρόβλημα Δρομολόγησης
Οχημάτων. Θα παρουσιάσουμε αναλυτικά τα δύο μοντέλα ακέραιου γραμμικού
προγραμματισμού τα οποία υλοποιήσαμε σε γλώσσα C. Ως εκ τούτου, για την
επίτευξη των καλύτερων αποτελεσμάτων χρησιμοποιήσαμε τον λύτη CPLEX. Τέλος,
θα κάνουμε δοκιμές στα δύο μοντέλα προκειμένου να τα συγκρίνουμε μεταξύ τους,
όσον αϕορά τους χρόνους εκτέλεσης και τις απαιτήσεις του κάθε ενός μοντέλου, με
σκοπό να καταλήξουμε στα γενικά συμπεράσματα μας.
In this work we will study the Capacitated Vehicle Routing Problem. This is a
problem belonging to the category NP - Hard problems, which are considered as the
most difficult problems of Non-Polynomial Time.
The Vehicle Routing Problem is a common transport problem of all kinds. It is
handled by all shipping companies and exhibits exceptional diversity. There are just
as many factors that can lead to this diversity, such as time, space, customers and
much more. In the following section, we will analyze how the factors we mentioned
affect the different types of problem as well as what these types are.
As part of this work we will analyze the Vehicle Routing Problem. We will present
in detail the two models of integer programming that we implemented in C. Therefore,
we used the CPLEX solver to achieve the best results. Finally, we will test the two
models in order to compare each other in terms of execution times and requirements
of each model, in order to arrive at our general conclusions.