PDA

Vollständige Version anzeigen : Optimierungsproblem - überhaupt lösbar ??


Berti_S
26.02.2008, 13:03
Hallo an alle,

ich kämpfe mit einem für mich schier unüberwindlichen Optimierungsproblem:

ich habe "Produktkombinationen" mehrerer Produkte bzw. auch nur einzelne Produkte, welche mit Buchstaben gekennzeichnet sind.
Für diese Kombinationen existieren aktuelle Stückzahlen sowie eine gewünschte Untergrenze der Stückzahl (2.500 Stck.)
Bei Kombinationen setzt sich die Stückzahl aus den einzelnen Komponenten zusammen: 2.500 Stück "AB" entspricht 2.500 Stck. "A" und 2.500 Stck. "B"
Für die Zusammensetzung der Kombis gibt es außer der Mindeststückzahl nur die Forderung: jeder Buchstabe nur einmal.

Hier ein Beispiel:

Kombi Stck.

A 450
AB 2.976
ABC 5.790
ABCD 8.948
ABCDE 5.956
ABCDF 11.578
ABCE 6.324
ABCEF 306
ABCF 2.714
ABEF 153
ABEH 2.740
ABF 3.222
ABH 1.073
AC 2.454
ACE 496
ACEGH 1.382
ACF 337
ACG 2.502
ACGH 155
AE 45
AEGH 2.926
AG 1.460
AGH 2.063

1) Ich könnte nun bspw. alle Kombinationen eliminieren, welche die Mindeststückzahlgrenze unterschreiten. Das ist kein Problem.

2) Ich könnte aber auch z.B. aus der Kombination ACE das "E" streichen, damit steigt die Kombination "AC" über die Mindestgrenze.
Oder aus "AGH" streiche das "H", dann ergibt sich ein korrektes "AG".
Oder aus allen kleinen Kombis eliminiere alle Buchstaben außer "A", dann ergibt sich ein korrektes "A".
Die "gestrichenen" Buchstaben verschwinden dann aus der Liste (werden gesondert behandelt), ergeben also keine neue Kombination !

Hat jemand eine Idee, wie ich 2) per VBA angehen könnte ??


Berti

freak1982
26.02.2008, 14:45
Du hast die einzelnen Buchstaben ausser A nicht alleine defniert.
Sind die einzelnen Teile austauschbar?
Kannst du mal ein konkretes Bsp nennen.
Ich kann mir bis jetzt darunter nichts vorstellen.

Berti_S
26.02.2008, 15:05
Konkreter geht es leider nicht - das Demo ist ein Praxisbeispiel.

Die "Buchstaben" müssen nicht einzeln definiert sein, obwohl sich dahinter durchaus konkrete Produkte befinden.
Hier interessieren nur die existenten Kombinationen (das Beispiel ist schon ziemlich heavy, obwohl es auch noch schlimmer geht - bis ca. 40 verschiedene Kombis habe ich schon gehabt).

Austauschbar : innerhalb einer Kombination kann ich alle oder einzelne Buchstaben herauslösen, nichts aber hinzufügen.
Das Kritische daran ist, dass sich als Ergebnis eines Herauslösens ja neue Kombinationen bilden, wie oben dreifach beschrieben.

Stell dir einfach einen Haufen von Schubfächern vor, in welche einzelne Produkte oder mehrere Produkte (Kombinationen) gelegt werden sollen.
Der Arbeiter bereitet zuerst die verschiedenen existenten Kombinationen vor und füllt dann die Schubfächer.
Da der Arbeiter aber faul ist, nimmt er eine Untergrenze an, unterhalb welcher er keinen Finger rührt.
Ich will jetzt die vorhandenen Kombinationen so optimieren, dass der Arbeiter so viel wie möglich arbeiten muss und so wenig wie möglich Produkte "wegfallen" (also Buchstaben * Stückzahl, die wegfallen).


Berti