Zahlen einer Liste so addieren, dass die Summe nächstmöglich an einen bestimmten Wert kommt

Neue Frage »

tda-me Auf diesen Beitrag antworten »
Zahlen einer Liste so addieren, dass die Summe nächstmöglich an einen bestimmten Wert kommt
Hallo Zusammen,

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.
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 smile
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...
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
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. smile
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
 
 
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.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »