Microsoft Excel

Herbers Excel/VBA-Archiv

einsacken | Herbers Excel-Forum


Betrifft: einsacken von: andreas
Geschrieben am: 22.01.2012 19:46:21

Hallochen ersteinmal,

schön dass ich euch gefunden habe und nun nicht mehr so alleine rumwurschteln muss.

Im Anhang sind meine ersten Bemühungen zum einsacken von bis zu 13 kleinen Beuteln in max 6 große Beutel verdeutlicht.

https://www.herber.de/bbs/user/78553.xlsx

Hier habe ich mal meine Überlegungen dazu aufgeschrieben.

1. die kleinen Beutel dürfen nicht geteilt werden
2. die Obergrenze des großen Beutel soll eingegeben oder optimiert vorgeschlagen (1500) werden
3. Es können auch mehr als 6 große Beutel werden, derzeit jedoch nicht erforderlich
4. Anzahl der benötigten großen Beutel soll definiert gerundet und minimiert optimiert weren.
5. Einzelne kleine Beutel können selten die Obergrenze (1600) leicht überschreiten.
6. Wenn kleiner beutel weit über Obergrenze für großen Beutel z.B. 2500 ) dann in diesen in einzelnen großen Beutel.
7. Die Anzahl kleinen Beutel ist jedesmal unterschiedlich. Momentan maximal 13
8. Die Summen in den großen Beuteln sollten angeglichen (harmonisiert) sein
9. Eine Lösung ohne VBA wird es wohl nicht geben?
10 Die Werte (Inhalte) der kleinen Beutel werden aus anderer Tabelle übernommen

Hört sich kompliziert an, ist es auch. Eine Lösung benötige ich jedoch nicht unbedingt, ist mit der weile eine art Sport geworden. Möchte nur zu gern wissen wie und ob es funktioniert. Vor vielen Jahren habe ich mal mit Basic am c64 kleine Spielchen entwickelt, so dass ich denke mich auch in VBA einzufuchsen.

Gruß Andreas

  

Betrifft: AW: einsacken von: Dirk aus Dubai
Geschrieben am: 23.01.2012 06:39:49

Hallo!

Was meinst Du mit 'Einzelne kleine Beutel können selten die Obergrenze (1600) leicht überschreiten' ?
Ist 1600 die Obergrenze oder nicht? Falls ja sollte bei Ueberschreitung ein neuer Beutel befuellt werden.

Was soll das mit dem optimierten Vorschlag fuer die grossen Beutel? Falls da eine definierte Obergrenze ist gibts nichts zu optimieren. ggf. kann der Gesammtbetrag gleichmaessig auf alle Beutel aufgeteilt werden.

So ganz verstehe ich nicht, was Du eigentlich erreichen willst. Was ist denn das Ziel dieser rechnerei?

gruss

Dirk aus Dubai


  

Betrifft: AW: einsacken von: Andreas
Geschrieben am: 24.01.2012 13:38:41

Hallo und Danke für Dein Interesse,

Was meinst Du mit 'Einzelne kleine Beutel können selten die Obergrenze (1600) leicht überschreiten' ?

Ist 1600 die Obergrenze oder nicht? Falls ja sollte bei Ueberschreitung ein neuer Beutel befuellt werden.

In Prinzip ist 1600 Euro die Obergrenze. Um jedoch zu vermeiden, dass ein weiter großer Sack befüllt wird, weil z.B. 2 große Säcke schon mit 1531 ; 1554; befüllt sind und noch ein kleiner Sack mit 70 übrig ist, darf dieser schon mit in einen der schon befüllten rein. Also Obergrenze Großer Sack 1600 + einige % ja.

Was soll das mit dem optimierten Vorschlag fuer die grossen Beutel?

Falls da eine definierte Obergrenze ist gibts nichts zu optimieren. ggf. kann der Gesammtbetrag gleichmaessig auf alle Beutel aufgeteilt werden.

Ein Optimierungsvorschlag für große Beutel ist die gleichmäßige Aufteilung auf große Beutel, wobei der Inhalt der kleinen Beutel als ganzes verwendet werden muss. Es ist keine Teilung erlaubt.

Der Unterschied zwischen vers.2 und vers.3 ist die Vorgabe des MaxBag. Also wieviel max in Großen Beutel darf.

wie viel. Das kann auch mal weniger als 1600 sein.

So ganz verstehe ich nicht, was Du eigentlich erreichen willst. Was ist denn das Ziel dieser rechnerei?

Glaube ich gerne, also eine Zusammenfassung von einer Anzahl von kleinen Beutel mit unterschiedlichen summen in eine Anzahl von Großen Beutel mit möglichst gleichen Summen, ohne die kleinen Beutel zu teilen. Siehe vers.3

Dieses ist mir leider noch nicht gelungen, da wie in vers.2 ich immer erst nur die kleinsten werte der kleinen Beutel addiere bis die Obergrenze erreicht ist. Übrig bleiben dann die großen Werte der kleinen Beutel. Diese ist nicht so schön, weil damit keine harmonische Angleichung der großen beutel mehr möglich ist.

Gruß


  

Betrifft: AW: einsacken von: Andreas
Geschrieben am: 26.01.2012 19:30:03

Hallochen.

habe schon einige Verbesserungen erreicht, leider noch keine Lösung. Bitte um HILFE ...

https://www.herber.de/bbs/user/78610.xls

Schöne Grüße


  

Betrifft: AW: einsacken von: fcs
Geschrieben am: 29.01.2012 01:04:08

Hallo Andreas,

hier mein Lösungsvorschlag mit Makro.
Die Strategie der Lösung ist so, dass beim Einsacken immer nach dem größten Betrag gesucht wird, der noch nicht eingesackt wurde und in die Restkapazität des jeweiligen Sackes passt. Dies wird solange wiederholt, bis der Sack voll ist oder alle Beträge eingesackt sind.

Ich bin mir nicht sicher, ob so die optimale/gleichmäßigste Füllung erreicht wird, aber man ist meines Wissens ziemlich dicht dran, wenn man nach dieser Strategie vorgeht.

Ich hab die Ausgabe so gemacht, dass die Nummern der Kassen eingetragen werden, deren Inhalt in den jeweiligen Sack gehört, kann man aber noch relativ einfach auf den Betrag ändern. Die Summenformeln für den Gesamtbetrag in den Säcken ist angepasst.

Gruß
Franz
https://www.herber.de/bbs/user/78639.xlsm


  

Betrifft: AW: einsacken von: Andreas
Geschrieben am: 01.02.2012 21:10:07

Hallochen und 1000 x Danke,


habe erstmal ein wenig getestet. Ja Felder Dimensionieren und Vergleichen lassen. So hatte ich mir das auch schon ausgemalt. Anzahl der Kassen hoch Anzahl der Bags, oh je eine große Zahl.

Mhm ja deine strategie ist gut, allein den Restbetrag loszuwerden scheint schwirig, ohne den Maxbetrag zu sehr zu überfüllen.

Es geht ja darum, die Menge an Säcken zu verringern, wobei zu beachten ist das die neuen Säcke noch geschleppt werden können. :-) Also die Obergrenze von 1600 ist nich so eng zu sehen, doch da wird es schon recht schwer.

Die Ausgabevariante gefällt mir auch. Besser noch als meine Idee dort die Einzelbeträge einzusetzen.

Nun ob es jemals ohne Macro ? (trau mich garnicht zu Fragen) ;-) klappen kann?