Moderators Spect~ Δημοσ. 30 Μαρτίου 2022 Moderators Δημοσ. 30 Μαρτίου 2022 Καλησπέρα, θα μπω απευθείας στο ψητο. Εχω να κανω μια δουλεια η οποια ειναι για τρελους οποτε θελω τα φωτα σας. Οτι φτιαξω θα γινει σε python. Εχω ενα εξελ το οποιο εχω σε καθε γραμμη ενα κωδικο και στις στηλες τις ποσότητες σε καθε αποθηκευτικο χώρο. Καποια απο αυτα τα ηδη εχουν αρνητικο υπολοιπο σε μια αποθηκη ενω σε αλλη εχει θετικο. Θελω με καποιο τρόπο να μου βγαλει τι κινησεις πρεπει να γινουν ώστε να μεταφερθουν υπολοιπα απο τα θετικα στα αρνητικα ωστε να εχω οσο το δυνατον λιγότερα αρνητικα αποθεματα. Αυτο που θελω να μου βγαλει ειναι τι ποσοτητα πρεπει να κινησω απο το καθε ειδος σε καθε αποθηκη για να μηδενισουν τα αρνητικα ουσιαστικα. Δηλαδη θελω να μου βγαλει οτι θα πρεπει πχ απο την Αποθηκη 00 -> 01 ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ . . Αποθηκη 00 -> 02 ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ . . Αποθηκη 02 -> 00 ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ ΚΩΔΙΚΟ ΕΙΔΟΥΣ - ΠΟΣΟΤΗΤΑ . . Οποιαδηποτε βοηθεια καλοδεχουμενη
DrKo Δημοσ. 30 Μαρτίου 2022 Δημοσ. 30 Μαρτίου 2022 (επεξεργασμένο) Αυτό που ζητάς, όπως το ζητάς, είναι πολύ απλό. Για κάθε κωδικό, εάν τα θετικά καλύπτουν τα αρνητικά, τότε παίρνεις από τα θετικά μέχρι να μηδενίσεις τα αρνητικά. Εάν δεν καλύπτουν, τότε παίρνεις όσα μπορείς έτσι ώστε να γίνει μηδέν σε κάποια (όσα μπορείς). Όμως, από εμπειρία βλέπω πως σε αυτό το πρόβλημα υπάρχουν κάποιες παράμετροι τις οποίες είτε παραβλέπεις ή δεν μας τις λες εδώ. Δηλαδή, εάν (π.χ.) έχεις τρεις αποθήκες, Α, Β, και Γ, δεν είναι ίδιο κόστος η μεταφορά από την Α στην Β με την μεταφορά από την Α στην Γ. Οπότε, εάν έχεις 2 στην Α και -1 στην Β και -1 στην Γ, τότε θα έχεις αναγκαστικά κάποια αποθήκη με -1 και θα πρέπει να επιλέξεις σε ποια. Επίσης, δεν χωράνε όλες οι αποθήκες το ίδιο και δεν έχουν όλες οι αποθήκες την ίδια κατανάλωση. Δηλαδή, και βάσει των αποπάνω, ίσως συμφέρει να έχεις μείον σε κάποια για κάποιο καιρό ή ακόμα και να δημιουργήσεις το μείον εσύ. Επεξ/σία 30 Μαρτίου 2022 από DrKo
Moderators Spect~ Δημοσ. 30 Μαρτίου 2022 Μέλος Moderators Δημοσ. 30 Μαρτίου 2022 Δεν μας απασχολει κοστος/χόρος για αυτο δεν αναφερθηκα καθολου σε αυτα. Το μονο προβλημα ειναι αυτο της επιλογης οταν εχουν 2 ή παραπανω αρνητικα. Εκτος εαν το πας σειριακα και οτι βγει. Αν και το καλυτερο ειναι να μηδενισεις οσο περισσότερα μπορεις. Απο την αλλη μπορεις να τρεξεις την μια φορα και στη δευτερη να βαλεις τις "νεες" αποθηκες.
DrKo Δημοσ. 30 Μαρτίου 2022 Δημοσ. 30 Μαρτίου 2022 (επεξεργασμένο) 9 λεπτά πριν, Spect~ είπε Δεν μας απασχολει κοστος/χόρος για αυτο δεν αναφερθηκα καθολου σε αυτα. Το μονο προβλημα ειναι αυτο της επιλογης οταν εχουν 2 ή παραπανω αρνητικα. Εκτος εαν το πας σειριακα και οτι βγει. Αν και το καλυτερο ειναι να μηδενισεις οσο περισσότερα μπορεις. Απο την αλλη μπορεις να τρεξεις την μια φορα και στη δευτερη να βαλεις τις "νεες" αποθηκες. Αυτό που σε ενδιαφέρει είναι να μηδενίσεις το αρνητικό. Εάν έχεις -1000 και -300, αρχίζεις από το -300. Εάν σου φτάσει, καλύπτεις όσο μπορείς από το -1000. Δηλαδή για κάθε κωδικό: Κοιτάς πόσο πλεόνασμα έχεις. Κάνεις sort το έλλειμα με αύξουσα σειρά. Καλύπτεις μέχρι είτε να μην έχεις άλλο έλλειμα ή να μην έχεις άλλο πλεόνασμα. Επαναλαμβάνεις για όλους τους κωδικούς. Επεξ/σία 30 Μαρτίου 2022 από DrKo 1
Moderators Spect~ Δημοσ. 30 Μαρτίου 2022 Μέλος Moderators Δημοσ. 30 Μαρτίου 2022 (επεξεργασμένο) 5 λεπτά πριν, DrKo είπε Αυτό που σε ενδιαφέρει είναι να μηδενίσεις το αρνητικό. Εάν έχεις -1000 και -300, αρχίζεις από το -300. Εάν σου φτάσει, καλύπτεις όσο μπορείς από το -1000. Δηλαδή: Κοιτάς πόσο πλεόνασμα έχεις. Κάνεις sort το έλλειμα με αύξουσα σειρά. Καλύπτεις μέχρι είτε να μην έχεις άλλο έλλειμα ή να μην έχεις άλλο πλεόνασμα. Χμμ. Οταν θα κανεις sort το ελλειμα ομως πως θα κρατας εικονα ποια αποθηκη ειναι ποια; εννοω παιρνεις μια γραμμη και εχεις 00: 1020 01:-200 02:300 03: -123 04:230 πως θα ξερεις απο που θα παρεις και που θα βαλεις; Επεξ/σία 30 Μαρτίου 2022 από Spect~
DrKo Δημοσ. 30 Μαρτίου 2022 Δημοσ. 30 Μαρτίου 2022 Αφού σε νοιάζει μόνο να μην έχεις αρνητικά, πάρε από τα περισσότερα πρώτα και βάλε στα λιγότερα μείον πρώτα. Το πώς θα ξέρεις ποιο έλλειμα πάει σε πόδια αποθήκη, λύνεται με ένα σκασμό τρόπους. Από δύο λίστες μέχρι και με numpy arrays όπου το sorting επιστρέφει και τα indices. Π.χ., μπορείς να έχεις το εξής: Έστω η λίστα Χ με τα πλεονάσματα και η λίστα Υ με τα ελλείμματα για έναν κωδικό (τα ελλείμματα σε απόλυτη τιμή) Για όσο υπάρχει αριθμός μεγαλύτερος του 0 στην Χ βρες τον μέγιστο αριθμό στην Χ. Για όσο ο μέγιστος είναι μεγαλύτερος του 0 Για όσο υπάρχει αριθμός μεγαλύτερος του 0 στην Υ Βρες τον ελάχιστο στην Υ Εάν ο μεγιστός της Χ είναι μεγαλύτερος ή ίσος, αφαίρεσε τον ελάχιστο της Υ και κάνε τον ελάχιστο 0 Εάν ο μέγιστος της Χ είναι μικρότερος, αφαίρεσε τον μέγιστο από τον ελάχιστο, και κάνε τον μέγιστο 0. Θέλει προσοχή πώς αλλάζεις τα στοιχεία της λίστας και πώς κάνεις τον έλεγχο για εάν υπάρχει μεγαλύτερος του 0 στην Χ Το αποπάνω είναι στο πόδι. Αλλά μία ιδέα την πήρες 3
spaniakos Δημοσ. 5 Απριλίου 2022 Δημοσ. 5 Απριλίου 2022 εγώ θα φόρτωνα τα excel στην μνήνη (σε cursor) (list). κάθε λίστα είναι μια αποθήκη. θα έκανα for loop για κάθε λίστα, και θα έλεγχα εάν ο κωδικός που διάβασα είναι αρνητικός. Εάν είναι θα τον έψαχνα στις άλλες λίστες για να δώ εάν είναι θετικός εκεί. Εάν είναι θα μετέφερα +- από την μία στην άλλη ποσότητα με μέγιστο τον θετικό αριθμό. Αυτήν την μεταφορά θα την έβαζα σε έναν πίνακα με string "Transfer from X list to Y list Z number for <Code>" όπως είπαμε θα έκανα for σε κάθε λίστα, άρα θα ελεγχθούν όλες οι τιμές κάθε λίστας για αρνητικά, και θα γίνουν όσες περισσότερες μεταφορές είναι δυνατών να γίνουν. Ουσιαστικά αυτό είναι το πρόγραμμα. Load list(s) From excel Loop each list and check for negative numbers For Each negative number, check other lists, and initialise transfer ( add to new list ) Print list( or better print new excels and add a sheet with transfers) End program 1
Moderators Spect~ Δημοσ. 6 Απριλίου 2022 Μέλος Moderators Δημοσ. 6 Απριλίου 2022 Θα το δω με την πρωτη ευκαιρία γιατι τωρα εχω ανοιξει αλλες πληγες με μετακομιησ/ανακαινιση και μηδενιζει η τσεπη μοΥ! Ευχαριστω!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα