Zahlen einer Liste so addieren, dass die Summe nächstmöglich an einen bestimmten Wert kommt |
20.03.2011, 00:20 | tda-me | Auf diesen Beitrag antworten » |
Zahlen einer Liste so addieren, dass die Summe nächstmöglich an einen bestimmten Wert kommt ich habe folgendes Problem: Ich habe eine Tabelle mit Zahlen. Nun will ich herausfinden, welche dieser Zahlen addiert werden müssen um nächstmöglich an eine Bestimmte Zhal zu kommen. Beispiel: Liste: 235,04 32,70 22,90 1254,50 100,20 175,30 253,60 23,58 87,33 ... Zielsumme: 1800 Wie kann ich nun herausfinden, welche dieser Zahlen aus der Liste addiert werden müssen, so dass deren Summe so nah wie möglich bei 1800 liegt? Die Quelle der Zahlen befindet sich in einer Access Datenbank. Als Ergebnis muss ich nicht nur die Summe kennen, sondern auch die Zahlen der Liste, welche addiert wurden. Möglicherweise bietet ja SQL oder eine interne VB-Funktion eine Lösung. Ansonsten muss ich wohl per irgendwelche Zahlen aufaddieren, deren Summe kleiner als 1800 ist und dann nach einer Zahl suchen, welche addiert zur ersten Summe so nahe wie möglich an 1800 heran kommt... Danke an alle im Voraus. |
||
20.03.2011, 19:44 | Abakus | Auf diesen Beitrag antworten » |
RE: Zahlen einer Liste so addieren, dass die Summe nächstmöglich an einen bestimmten Wert kommt Hallo, das ist ein Rucksack-Problem, eine Möglichkeit ist dynamische Programmierung. Grüße Abakus |
||
21.03.2011, 00:09 | tda-me | Auf diesen Beitrag antworten » |
RE: Zahlen einer Liste so addieren, dass die Summe nächstmöglich an einen bestimmten Wert kommt Hallo, Hmm...so ganz verstehe ich das nicht...ich habe jedoch gelesen, dass man bei vielen Werten die Rechenzeit exponentiell erhöht...ich habe zwischen 100 und 200 Werten mit je einer Datensatznummer (Gewicht) und einem Wert als Dezimalzahl... |
||
21.03.2011, 00:24 | Brinker1111 | Auf diesen Beitrag antworten » |
du könntest ja den betrag durch 1800 teilen dann weißt du wie viel prozent das von 1800 sind und so kann man es vielleicht leichter lösen oder da gab es doch irgend so ne excel funktion die das automatisch machte aber frag mich nicht wie es ging |
||
21.03.2011, 19:10 | Elvis | Auf diesen Beitrag antworten » |
Hast du schon den Excel-Solver ausprobiert, wobei du binäre Gewichte 0 und 1 variabel mit den gegebenen Zahlen multiplizierst, das Summenprodukt bildest, davon den Zielwert subtrahierst, womit du ein Minimalproblem hast. P.S.: Hab's ausprobiert, funktioniert prima. |
||
22.03.2011, 23:20 | tda-me | Auf diesen Beitrag antworten » |
Hallo, danke für die Antwort...leider muss ich das in Access VB programmieren. Ich glaube da habe ich keine Solver Funktion. Trotzdem danke für den Tip |
||
Anzeige | ||
|
||
23.03.2011, 18:16 | Elvis | Auf diesen Beitrag antworten » |
In Visual Basics for Applications kann man, zumindest aus Excel heraus, die Solver-Funktion starten. Bei MS Access kenne ich mich nicht so gut aus. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |