Θέμα: Συναρτήσεις Άθροιση υπό όρους

Εμφάνιση ενός μόνο μηνύματος
  #27  
Παλιά 21-12-10, 02:53
Το avatar του χρήστη nisgia
nisgia Ο χρήστης nisgia δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή

Γεια και χαρά στη παρέα!

Μιας και (όπως λέτε) το θέμα βρίσκεται ακόμη στο "εργαστήριο", αν έχετε ακόμη όρεξη,
δείτε στο συνημμένο και μια δική μου (για την ώρα όχι και τόσο έξυπνη) πρόταση.

Χωρίς να έχω δει τις τελευταίες εξελίξεις, είχα σκεφτεί και εγώ τη χρήση αναδρομής (προφανώς Τάσο είχαμε συνάντηση πνευμάτων πάλι )
μιας και η σειριακή υλοποίηση τέτοιων περιπτώσεων μοιάζει αρκετά δύσκολη (αν όχι αδύνατη).

Η συνάρτηση SumNums στο συνημμένο, αθροίζει όσο γίνεται πιο κοντά στον στόχο τα διαθέσιμα ποσά, επαναλαμβάνει τη διαδικασία
καλώντας τον εαυτό της κάθε φορά με διαφορετική θέση εκκίνησης και στην επιστροφή της συγκρίνονται τα αθροίσματα
και επιλέγεται το μεγαλύτερο άρα και πιο κοντινό στο στόχο.
Για την ώρα, τα αθροίσματα που επιστρέφει είναι πάντα μικρότερα ή ίσα του στόχου.
(Αν φυσικά υπάρχει διαθέσιμο ποσό μικρότερο ή ίσο του στόχου.)

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

Στην περιοχή "Ομάδα1" του μοναδικού φύλλου έχει εισαχθεί η προσαρμοσμένη συνάρτηση χρήστη (UDF) SumTarget
ως τύπος πίνακα (Ctrl+Shift+Enter) πολλαπλών κελιών η οποία χρησιμοποιεί τη συνάρτηση SumNums
και επιστρέφει τα ποσά που επιλέχθηκαν για το άθροισμα-στόχο1.
Στις υπόλοιπες ομάδες ο τύπος λαμβάνει υπόψη τα ποσά που έχουν χρησιμοποιηθεί στις προηγούμενες ομάδες
ώστε να αποφευχθεί η επιλογή ενός διαθέσιμου ποσού άνω της μιας φοράς.

Αν δεν βαριέστε λοιπόν, κάντε μερικές δοκιμές, και αν προκύψουν, θέστε και τα σχόλια σας.

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

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

Εις το επανιδείν λοιπόν!
Γιάννης
Συνημμένα Αρχεία
Τύπος Αρχείου: zip SumToTarget.zip (19,9 KB, 15 εμφανίσεις)
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!
Απάντηση με παράθεση