Εμφάνιση ενός μόνο μηνύματος
  #18  
Παλιά 25-10-10, 09:49
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα στην παρέα

Η βάση δεδομένων που επισυνάπτεται αποτελεί μια προσπάθεια επίλυσης του ζόρικου προβλήματος βελτιστοποίησης της κοπής, που έθεσε ο Σάκης.
Α. Λίγη θεωρία
Το πρόβλημα διατυπώνεται ως εξής: Θέλουμε να κόψουμε N κομμάτια. Να προσδιοριστούν τα κομμάτια που θα κοπούν από μία ράβδο μήκους L, ώστε το ρετάλι να είναι ελάχιστο.
Θεωρητικά από τη ράβδο μπορούμε να κόψουμε 1, 2,...N τεμάχια. Δηλαδή θα πρέπει να σχηματίσουμε όλους τους συνδυασμούς των N ανά 1, 2, ..., Ν και να επιλέξουμε εκείνον που εκμεταλλεύεται καλύτερα τη ράβδο. Η αντιμετώπιση αυτή είναι πολύ χρονοβόρα.
Για τη βελτίωση της ταχύτητας τα τεμάχια ταξινομούνται κατά αύξουσα σειρά ως προς το μήκος τους. Αυτό βοηθάει στον εύκολο αποκλεισμό των αδύνατων συνδυασμών (αυτών που δε χωρούν στη ράβδο).
Στον κώδικα έχουν υλοποιηθεί οι συνδυασμοί μέχρι 15 τεμαχίων.
Στις εφαρμογές βελτιστοποίησης η αύξηση του Ν αυξάνει απότομα το χρόνο υπολογισμού . Σε δοκιμές που έκανα αν το πλήθος των τεμαχίων υπερβεί το 30 μπορεί (ανάλογα και με το PC) να υπάρξουν προβλήματα (να φαίνεται σαν να κόλλησε το PC).

Β. Συνοπτικά η εφαρμογή
Έχει τη δυνατότητα οι ράβδοι από τις οποίες θα γίνει η κοπή να έχουν διαφορετικά μήκη.
Όλη η δουλειά γίνεται στη φόρμα frmTemahiaProsKopi. Εδώ καταχωρούνται τα μήκη των τεμαχίων που θα κοπούν, επιλέγεται το μήκος της πρώτη ράβδου, το πάχος της απώλειας κοπής και αν θα χρησιμοποιήσουμε ράβδους σταθερού μήκους. Στη συνέχεια πατώντας το κουμπί «βελτιστοποίηση κοπής» γίνεται ο υπολογισμός και τα αποτελέσματα αποθηκεύονται στον πίνακα tblBestKopis και εμφανίζονται στη φόρμα frmKopis.

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

Φιλικά/Γιώργος
Υ.Γ Πρώτη φορά χρησιμοποίησα την access 2007. Με εκνεύρισε. Ελπίζω να μη υπάρχει και πρόβλημα με το κόμμα στους αριθμούς.
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb BestCutting3.mdb (444,0 KB, 90 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 31-10-10 στις 18:02. Αιτία: άλλαγή στον κώδικα: από C(10) σε C(I10)
Απάντηση με παράθεση