Skip to content

Latest commit

 

History

241 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Airplane Optimization Program

Το πρόγραμμα Airplane Optimization χρησιμοποιεί αλγόριθμο βελτιστοποίησης VRP (Vehicle Routing Problem) και υπολογιστικό τύπο Haversine για να υπολογίζει τις βέλτιστες διαδρομές αεροπλάνων με βάση τα δεδομένα των προορισμών και άλλων παραμέτρων.

Οδηγίες Εκτέλεσης

Ακολουθήστε τα παρακάτω βήματα για να τρέξετε το πρόγραμμα.

1. Εκτέλεση μέσω GitHub

Αν έχετε λογαριασμό GitHub:

  • Επισκεφτείτε το GitHub repository.
  • Αντιγράψτε το URL του repository.
  • Στο cmd, εκτελέστε τις παρακάτω εντολές:
git clone https://github.com/AnastasiosDrimis/My-Project-Repository.git
cd My-Project-Repository
cd airplaneoptimization
cd src
cd main
cd java
cd com
cd codewarrios
java CombinedApplication

2. Εκτέλεση χωρίς GitHub

Αν δεν έχετε GitHub:

  • Επισκεφτείτε το GitHub repository.
  • Πατήστε το κουμπί Code και επιλέξτε την επιλογή Download ZIP.
  • Αποσυμπιέστε το ZIP στον υπολογιστή σας.
  • Ανοίξτε τα αρχεία του project και εκτελέστε το .jar αρχείο (βρίσκεται στον target φάκελο).

3. Εκτέλεση μέσω Command Line

Αν έχετε το .jar αρχείο, μπορείτε να το εκτελέσετε με την παρακάτω εντολή:

java -jar airplaneoptimization-1.0-SNAPSHOT.jar

Λειτουργία του Προγράμματος

Login

Κατά την εκκίνηση της εφαρμογής, εμφανίζεται το παράθυρο Login. Μπορείτε να συνδεθείτε με τους εξής λογαριασμούς:

  • Για χρήστη:

    • Username: user
    • Password: user123
  • Για διαχειριστή (admin):

    • Username: admin
    • Password: admin123

Διαχείριση Admin

Αν συνδεθείτε ως admin, θα εμφανιστεί το παράθυρο επιλογής για τους διαχειριστές, το οποίο επιτρέπει στον admin να:

  • Δημιουργεί νέους χρήστες/admins με διαφορετικούς κωδικούς.
  • Προσθέτει αεροδρόμια δίνοντας τα απαραίτητα στοιχεία.

Σε περίπτωση λάθους κατά την εισαγωγή στοιχείων, το πρόγραμμα εμφανίζει τα κατάλληλα μηνύματα σφάλματος. Όσο δεν κλείνετε την εφαρμογή, μπορείτε να κάνετε login με τα στοιχεία των νέων χρηστών που δημιουργείτε, αλλά και να βλέπετε στην λίστα τους προορισμούς που προσθέσατε.

Διαχείριση Χρήστη

Αν συνδεθείτε ως user, το πρόγραμμα θα ζητήσει να εισάγετε:

  1. Αριθμό αεροπλάνων που θέλετε να χρησιμοποιήσετε.
  2. Αριθμό προορισμών που επιθυμείτε να προσθέσετε.

Στη συνέχεια, θα εμφανιστεί ένας πίνακας με τους προορισμούς. Μπορείτε να επιλέξετε τους προορισμούς που θέλετε να επισκεφτείτε κρατώντας πατημένο το Control και κάνοντας κλικ σε κάθε προορισμό. Πατώντας Submit, θα εμφανιστούν:

  • Τα αεροπλάνα που θα χρησιμοποιηθούν.
  • Οι διαδρομές των αεροπλάνων.
  • Η συνολική χιλιομετρική απόσταση που διανύει το κάθε αεροπλάνο.

Δομή περιεχομένων αποθετηρίου

Στο αποθετήριό μας στο github βρίσκεται ένας φάκελος airplaneoptimization. Εκεί περιέχονται όλα τα απαραίτητα αρχεία για το πρόγραμμά μας. Επίσης, υπάρχει το file license, με την απαραίτητη άδεια του προγράμματος. Υπάρχει η φωτογραφία για το uml. Τέλος, υπάρχει το file readme.

Σφάλματα Εισαγωγής

Σε περίπτωση που εισάγονται λάθος στοιχεία ή δεν είναι έγκυρες οι εισαγωγές, το πρόγραμμα εμφανίζει τα κατάλληλα μηνύματα σφάλματος.

Τεχνικά Στοιχεία

Το πρόγραμμα χρησιμοποιεί:

  • Πίνακες, λίστες, μεταβλητές, μέθοδοι και κλάσεις για την αποθήκευση και επεξεργασία δεδομένων.
  • Υπολογιστικό τύπο Haversine για τον υπολογισμό της χιλιομετρικής απόστασης μεταξύ προορισμών με βάση το γεωγραφικό πλάτος και ύψος.
  • Αλγόριθμο βελτιστοποίησης VRP σε απλή μορφή για την εύρεση των καλύτερων διαδρομών.

Διάγραμμα UML

UML Airplane Optimization

Συμβουλές

  • Βεβαιωθείτε ότι έχετε το JDK εγκατεστημένο στον υπολογιστή σας για να μπορέσετε να μεταγλωττίσετε και να τρέξετε το πρόγραμμα μέσω του javac ή του java.
  • Αν η εφαρμογή δεν λειτουργεί σωστά, ελέγξτε τα δεδομένα εισόδου και βεβαιωθείτε ότι οι κωδικοί και οι παράμετροι εισαγωγής είναι σωστοί.

Άδειες Χρήσης

Το συγκεκριμένο project έχει την άδεια Apache License 2.0 - πάτα το αρχείο LICENSE για περισσότερες λεπτομέρειες.

About

Ergasia Prog 2

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages