VBA Code zur Optimierung einer Zuordnung
23.07.2015 03:55:15
Matze
Ich versuche gerade die Verteilung von Gewichtseinheiten zu Optimieren und stecke fest.
Das Prinzip der Aufgabe ist recht simpel: Ein Kunde liefert Gewichtseinheiten an eine Spedition, wobei er nach Realgewicht bezahlt. Allerdings muss er für jede Einheit, welche unter dem Minimalgewicht bleibt, eine Strafe von 1,5 Euro/KG für das Untergewicht bezahlen. Um diese Strafe zu umgehen darf er Einheiten in Perioden zusammenfügen und kann so das Untergewicht einer Einheit mit dem Übergewicht einer anderen Einheit ausgleichen. Diese Perioden dürfen Einheiten von 5 oder weniger AUFEINANDER FOLGENDEN Tagen beinhalten, wobei sich die Perioden überlappen können. Sprich die verschiedenen Einheiten eines Tages können auf verschiedene Perioden verteilt werden, jedoch darf jede Einheit natürlich nur einer einzigen Periode angehören.
Ich habe das ganze in der angehängten Datei einmal dargestellt und Formeln eingesetzt, sodass man nur noch die Periodenzuordnung optimieren muss. Im linken Kasten sind die Daten der Einheiten zu finden, der rechte obere Kasten dient der Berechnung des Untergewichts und der rechte untere Kasten dient der Berechnung der Periodendauer.
Die gelben Felder sind also die änderbaren Variablenzellen, das grüne Feld zeigt das zu minimierende Untergewicht an und in rot sieht man die anfallende Strafzahlung.
Kann mir jemand einen VBA Code basteln, welcher die Optimierung der Einheitenzuordnung durchführt und dabei die Nebenbedingungen einhält? Mit dem Excel Solver habe ich es schon erfolglos versucht, diese Rechnung ist dafür zu komplex.
Vielen Dank schon mal und viele Grüße!
Matthias
https://www.herber.de/bbs/user/99025.xlsx