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

Συνεπώς, δεν έχω παρά να ευχαριστήσω θερμά τη Μάρω που το έθεσε.

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