Verfahren und System zur Maximierung des Bereichs von Abdeckungsprofilen bei der Bestandsverwaltung
Die vorliegende Erfindung betrifft ein Verfahren zur Optimierung der Transportplanung und insbesondere ein Verfahren zur Optimierung der Lagerreichweiten in einem mehrere Verteilebenen aufweisenden Transportnetzwerk durch die Verwendung eines rechnergestützten Optimierungsalgorithmus, insbesondere zur schnellen Bestimmung von Terminplänen für Versand und Produktion.
Allgemeiner Stand der Technik:
In vielen Industriebereichen, die die Fertigung und Verteilung von Gütern betreffen, besteht ein Bedarf an der Zuteilung von Bestands- und Transportressourcen. Diese Zu- teilungsentscheidungen sind in der Regel Beschränkungen hinsichtlich Ausrüstung, Zeit, Kosten, Lagerkapazität und anderen Parametern unterworfen, die das Ergebnis eines Distributionsprozesses, insbesondere eines Warenverteilungs- prozesses, beeinflussen. Als Beispiel, das hier von beson- derem Interesse ist, besteht ein Bedarf daran, die Distri- butions- und Bestandsgrößen einer Versorgungskette zu optimieren, in der mehrere Produktionsstätten existieren, wobei mehrere Verteilzentren strategisch in der Nähe von Kunden lokalisiert sind. Entscheidungen über die Zuteilungen von Ressourcen sind in der Regel Beschränkungen unterworfen. Einerseits sind Ressourcen von ihrer Gesamtverfügbarkeit immer begrenzt, und außerdem kann die Nützlichkeit einer bestimmten Ressource in einer bestimmten Anwendung ebenfalls be- grenzt sein. So ist beispielsweise die Verkehrsführungs-
kapazität jeder einzelnen Verbindungsstrecke in einem Te- lekommunikationssystem begrenzt, während der dem Kommunikationssystem angebotene Gesamtverkehr ebenfalls begrenzt ist. Die einzelne Zuteilung einer Ressource weist eine "Rendite" auf, d.h. die Kosten oder den Gewinn für diese Zuteilung. Das Problem besteht somit darin, die Ressourcen derart zuzuteilen, daß alle Beschränkungen berücksichtigt sind und gleichzeitig die Rendite maximiert wird, d.h. die Nachteile, z. B. Kosten, minimiert bzw. die Vorteile, z. B. Gewinne, maximiert werden.
Ein Verfahren, derartige Zuteilungsentscheidungspro- bleme darzustellen, ist als das Lineare Programmiermodell bekannt. Ein derartiges Modell besteht aus einer Reihe von linearen Beziehungen, die in einer Matrixform dargestellt werden und quantitativ die Beziehungen zwischen Zuteilungen, Beschränkungen und den Ergebnissen des Optimierungsprozesses repräsentieren. In den linearen Beziehungen wird die Summe aus konstanten Koeffizienten multipliziert mit unbekannten Zuteilungswerten dargestellt. Eine derartige Modellierung der Linearen Programmierung wird in einem mehrdimensionalen Raum erzielt, wobei mehrdimensionale Vektoren eine mehrdimensionale Figur bzw. ein Polytop liefern, wobei jede Facette auf einer Fläche davon durch Gleichungen begrenzt wird, die Beziehungen zwischen zuge- teilten Ressourcen in dem Prozeß definieren. Ein Lösungsansatz des linearen Programmierproblems stellt beispielsweise der Simplexalgorithmus dar, der 1947 von George Dantzig entwickelt wurde. Eine Lösungsalternative ist der Karmarkar-Algorithmus . Es gibt weitere Optimierungsalgo- rithmen, mit denen Mindestkosten-Flußnetzwerkprobleme gelöst werden können. Netzwerkflußproblerne stellen dabei einen Sonderfall der linearen Programmierung dar.
Netzwerkflußalgorithmen finden bei Planungsproblemen in der Industrie vielseitig Anwendung. Sie können bei-
spielsweise bei Problemstellungen hinsichtlich Zuordnung, Transport, Mindestkostenfluß, kürzestem Weg und größtem Fluß durch ein Netzwerk angewandt werden.
Bei Zuordnungsproblemen gibt es einen zweiseitigen (bipartiten) Graph, der eine Anzahl produktiver Knoten und verbrauchender Knoten (beispielsweise Arbeitern und Aufgaben) umfaßt. Die Bögen zwischen den Arbeitern und den Aufgaben werden mit Kosten für die Zuordnung des Arbeiters zu der Aufgabe gewichtet. Das Optimierungsproblem besteht bei diesem Szenarium in der Zuordnung einer Aufgabe zu jedem Arbeiter derart, daß die Gesamtkosten auf ein Minimum reduziert werden. Bei Transportproblemen gibt es einen zweiseitigen Graph, bei dem die produktiven und verbrauchenden Knoten Fabrikanlagen und Verteilzentren sind. Jede Fabrik- anläge produziert Einheiten, und jedes Distributionszentrum hat einen Bedarf an diesen Einheiten. Die Bögen zwischen Fabrikanlagen und den VerteilZentren werden durch Transportkosten der Einheiten gewichtet. Das Optimierungsproblem besteht in diesem Fall darin, die Transportkosten auf ein Minimum zu reduzieren, unter der Auflage daß alle Bedarfe in den Verteilzentren erfüllt werden. Das Mindest- kostenflußproblem ist lediglich das Transportproblem mit Zwischenknoten in dem Netzwerk. Außerdem können die Bögen eine kleinste und größte Kapazität aufweisen. Bei dem Problem des kürzesten Weges liegt ein Graph mit positiv gewichteten Bögen vor. Das Optimierungsproblem besteht darin, zwischen zwei gegebenen Knoten in dem Transportnetzwerk den kürzesten Weg zu finden. Das Problem des größten Flusses durch ein Netzwerk ist ähnlich dem Transportproblem, mit der Ausnahme, daß die Bögen zwischen den Knoten begrenzte Transportkapazitäten, aber keine Transportkosten aufweisen. Das Optimierungsproblem besteht darin, ohne Verletzung der Transportkapazitäten einen größten Fluß durch das Netzwerk transportiert zu bekommen.
Jedoch sind im Stand der Technik Netzwerkflußprobleme auf Netzwerke mit Knoten und Bögen dazwischen begrenzt, wobei der Fluß durch Transportkosten zwischen ihnen mit einer linearen Strafe belegt wird. Es besteht ein Bedarf an einer Netzwerkflußlösung, bei der die Minimierung der Transportkosten eine niedrigere Priorität hat und bei der die Maximierung des Bereichs von Abdeckungsprofilen in den Verbrauchsknoten von herausragender Wichtigkeit ist. Dieses Problem kann weder, wie im Stand der Technik, als li- neares Optimierungsproblem noch als Netzwerkflußproblem formuliert werden.
Kurze Darstellung der Erfindung:
Die Aufgabe der vorliegenden Erfindung besteht in der Schaffung eines neuen Algorithmus für die Maximierung des Bereichs von Abdeckungsprofilen bei dem Verteilungsproblem, das sich bei PlanungsSystemen in der industriellen Produktion ergibt. Es werden mehrere Algorithmen vorgeschlagen, die auf dieses Problem anwendbar sein sollen. Die Entscheidung hinsichtlich der Frage, welcher Algorithmus für ein gegebenes Verteilungsproblem angemessen ist, hängt von der Größe des Problems und der maximal akzepta- blen CPU-Zeit für die Berechnung ab. Die vorliegende Erfindung schlägt eine neue Formulierung des Netzwerkflußproblems vor, die unterschiedliche Transportarten, Zeit- und Terminbeschränkungen, Bedarfsprioritäten und festgelegte Produktionsflüsse berücksichtigt. Die algorithmische Funktion wird dann auf diese Formulierung angewendet.
Die Aufgabe des Algorithmus besteht darin, die freien Variablen der Bereichsprofilformulierung derart zu wählen, daß zuerst der Bereich von Abdeckungsprofilen maximiert wird und danach die Transportkosten minimiert werden. Der
vorgeschlagene Algorithmus kann als grundlegenden Baustein jeden beliebigen Mindestkostenflußalgorithmus verwenden.
Ausführliche Beschreibung der Erfindung:
Die vorliegende Erfindung betrifft ein Planungssystem zum Optimieren des Flusses von Waren und Gütern in komplizierten Distributionsnetzwerken unter Verwendung eines neuen, effizienten Algorithmus. Zunächst wird die Formulierung des Planungssystemε erörtert, danach werden die auf diese Formulierung anzuwendenden neuen Algorithmen eingeführt. Beim Aufbau des Szenariums, in dem der Algorithmus angewendet werden soll, wird von der Annahme ausgegangen, daß das für die betrachtete Zeitperiode zu verteilende Produk- tionsvolumen bereits festgelegt ist und daß auch Bedarfsdaten bekannt sind. Der hier beschriebene Verteilungsalgorithmus soll hauptsächlich auf Störungen im Produktionsprozeß oder auf kurzfristige Veränderungen im Verteilungsprozeß reagieren. Das System eignet sich gut für Produkte, die in großen Mengen produziert werden und bei denen der Bedarf stark schwankt. Der hier dargelegte Optimierungsprozeß versucht, durch Zukunftsplanung (Push-Distribution) Transportkosten auf ein Minimum zu reduzieren und Engpässe zu vermeiden. Wenn es dennoch zu Engpässen kommt, wird an- gestrebt, optimal zu reagieren (Fair-Share-Distribution) , indem für den Bedarf Prioritäten gesetzt werden.
Die grundlegende Struktur eines Systems zum Verteilen von Waren, auf die die vorliegende Erfindung angewendet werden kann, umfaßt aus drei Elemente: die Produktionsan- lagen, die zentralen Lagerhäuser und die Verteilzentren.
Kurze Beschreibung der Zeichnungen:
Die Erfindung wird nachfolgend anhand in Figuren dargestellter Ausführungsbeispiele näher erläutert. Es zeigen:
Figur 1 eine graphische Darstellung eines einfachen Distributionsnetzwerkes .
Figur 2 eine grapische Darstellung eines komplizierten Distributionsnetzwerkes . Figur 3 eine graphische Darstellung des Zuordnungsproblems in Form eines zweiseitigen Graphen.
Figur 4 eine graphische Darstellung eines Netzwerkes mit ausgeglichener Distribution. Figur 5 eine graphische Darstellung von Produktions- und Bedarfsknoten mit verschiedenen möglichen Zuordnungen. Figur 6 eine Produktionsanlage mit Angebot und Bedarf. Figur 7 eine graphische Darstellung eines Distributionsnetzwerkes mit mehreren Transportarten. Figur 8 eine graphische Darstellung eines optimierten Di- stributionsnetzwerkes mit mehreren Transportarten.
Figur 9 ein Flußdiagramm sowohl möglicher als auch optimierter Transportstrecken.
Figur 10 ein weiteres Beispiel möglicher und optimierter Transportstrecken . Figur 11 den Einfluß unzulässiger Perioden auf die möglichen Transportoptionen in einem Distributionsnetzwerk. Figur 12 eine graphische Darstellung eines einfachen Distributionsnetzwerkes mit Zeitwerten auf den Bögen. Figur 13 eine graphische Darstellung der Produktions- und Bedarfsprofile eines Distributionsnetzwerkes.
Figur 14 eine graphische Darstellung eines globalen Bereichspro ils für eine mögliche Zuordnung.
Figur 15 eine graphische Darstellung für ein globales Bereichsprofil für eine weitere mögliche Zuordnung. Figur 16 ein Beispiel für einen monotonen optimalen Transportplan. Figur 17 die Suche nach dem maximalen monotonen Bereichsprofil .
FIG. 1 zeigt den einfachsten Fall eines Distributionsnetzwerkes . In einer Produktionsanlage 102 können unter Einsatz von Produktionseinrichtungen, welche begrenzt verfügbar sind Waren produziert werden. Diese Waren werden anschließend (z. B. in Lagerhäusern) zwischengelagert 104. Um kurze Warentransportstrecken zu Kunden und um eine schnelle und wirtschaftliche Anlieferung zu garantie- ren, sind Zwischenlagereinrichtungen bzw. Verteilzentren 106 erforderlich. Mit den Zwischenlagereinrichtungen (Zwischenknoten) bzw. den zentralen Lagerhäusern 104 kann ein größeres Transportvolumen erzielt werden. Der Einsatz zentraler Lagerhäuser 104 führt zu längeren Anlieferzeiten, aber auch zu niedrigeren Transportkosten. Ein Verteilzentrum kann, falls erforderlich, auch eine direkte Anlieferung erhalten. Diese besondere Darstellung gibt nur eine schematische Struktur wieder. In der Praxis können Netzwerkstrukturen viel größere Abmessungen mit einer großen Anzahl von Anlagen, Lagerhäusern und Verteilzentren erreichen. Wie in FIG 2 dargestellt, umfassen diese Netzwerkstrukturen mehrere Herstellungsanlagen 202, zentrale Lagerhäuser 204 und Verteilzentren 206.
Die Aufgabe des Verteilungsproblems kann wie folgt zusammengefaßt werden. In der typischen Versorgungskette gibt es Quellen, Senken und ein Transportnetzwerk. Die Quellen sind Anlagen, für die ein geplantes Produktionsprofil vorliegt. Die Senken sind die Verteilzentren, für die ein Bedarfsprofil (Kundenaufträge oder ein prognosti-
zierter Bedarf) vorliegt. Das Transportnetzwerk besteht aus Bögen mit Transportkosten und Zeitwerten zwischen den Zwischenknoten. Die vorliegende Erfindung sucht nach der optimalen Zuordnung der räumlich und zeitlich verteilten Produktion zu dem ebenfalls räumlich und zeitlich verteilten Bedarf, so daß die Lagerreichweite von Abdeckungspro- filen maximiert wird. Wie oben erwähnt, werden zwei Fälle unterschieden. In dem "Push"-Fall übersteigt die Anzahl der zur Verfügung stehenden Produkte den Bedarf, und die Produkte werden derartig verteilt, daß der Bereich der Abdeckung von jedem gleichförmig zunimmt. In dem "Fair Sha- re"-Fall liegt die Anzahl der zur Verfügung stehenden Produkte unter dem Bedarf, und die Produkte werden derartig verteilt, daß wichtigere Kunden bevorzugt beliefert werden und Kunden mit gleicher Priorität ähnlich behandelt werden. Die Erfindung verhindert, einen Kundenbedarf mit niedrigerer Priorität zu bedienen, bevor ein Kundenbedarf mit höherer Priorität bedient wird. In dem "Push"-Fall wird das Minimum des Bereichs von Abdeckungsprofilen auf alle Verteilzentren angewendet. Für den "Fair Share"-Fall wird jede Prioritätsklasse sequentiell behandelt, und die Abdeckung wird maximiert, um diese Bedarfe mit hoher Priorität zu bedienen. Wenn darüber hinaus verschiedene Transportarten, Transportwege und Angebotsquellen zur Verfügung stehen, sollte weiterhin der gesamte Verteilplan so optimiert werden, daß die Gesamtkosten so niedrig wie möglich sind.
Bei dem Ansatz zur Lösung des oben beschriebenen Verteilungsproblems spielt das Transportproblem bzw. das Zu- ordnungsproblem eine zentrale Rolle. Das zugrunde liegende Zuordnungsproblem ist wie folgt definiert: in einer zweiseitigen graphischen Darstellung mit einer gleich großen Anzahl linker und rechter Knoten sollte jeder Knoten auf der linken Seite einem Knoten auf der rechten Seite zuge-
ordnet sein, so daß jeder Knoten genau einen Partner hat. Die resultierende Verbindung ("Bogen") zwischen zwei Knoten ist mit bestimmten Kosten verbunden. Die resultierenden Gesamtkosten sollten minimal sein. FIG. 3 beschreibt das Zuordnungsproblem in Form einer graphischen Darstellung. Der Pfeil 302 stellt eine mögliche Zuordnung einer Quelle 304 auf der linken Seite zu einer Senke 306 auf der rechten Seite dar. Die Kosten von Zuordnungen sind als Werte 308 der Bögen eingetragen. Das klassische Transport- proble unterscheidet sich von dem Zuordnungsproblem dahingehend, daß ein Knoten auf der linken Seite (nun als "Produzent" bezeichnet) einer beliebigen Anzahl von Knoten auf der rechten Seite (nun als "Verbraucher" bezeichnet) zugeordnet sein kann. Das zu lösende Problem besteht dar- in, wie zwischen den Knoten eine geeignete Verteilung von Materialien gefunden werden kann, so daß der sogenannte Bestandsbereich maximiert wird. Dies bedeutet, den kleinsten Bestand über alle Knoten und Perioden hinweg zu maxi- mieren. Außerdem soll aus den möglichen Lösungen (Lösungs- schar) die Lösung mit den geringsten Transportkosten gewählt werden. Der Lagerbereich eines Lagerhauses ist als die Anzahl nacheinanderfolgender Perioden (einschließlich der gegenwärtigen Periode) definiert, für die der aktuelle Bestand ausreicht. Ein Bereich von 1 bedeutet somit, daß der Bestand exakt den Bedarf einer einzigen, nämlich der gegenwärtigen Periode abdeckt.
Die Entwicklung des Problems, auf die die vorgeschlagenen Algorithmen angewendet werden sollten, wird nun näher beschrieben.
DER KLASSISCHE FALL
Im einfachsten Fall betrachte man ein einfaches zweiseitiges Netzwerk mit Produktionsanlagen (PA) auf der einen Seite und Verteilzentren (Verteilzentrum) auf der anderen
Seite. In diesem klassichen Fall erfolgen die Anlieferungen immer von den Anlagen zu den Verteilzentren und nicht in der entgegengesetzten Richtung. Eine PA kann ein beliebiges VerteilZentrum versorgen. FIG. 4 zeigt ein Beispiel mit zwei Anlagen 402, 404 und zwei Zentren 406, 408. Normalerweise wird man wesentlich mehr Verteilzentren als Produktionsanlagen haben.
Eine Produktionsanlage i weist in einer Periode t eine Produktionsrate p (t) auf. In einem Verteilzentrum j liegt eine Kundennachfrage von Oj (t) vor. Der anfängliche Bestand aller Anlagen und Zentren beträgt Null. Wenn der Bereich für 1 Periode gesetzt ist (d.h. der Bestand eines VerteilZentrums muß in einer bestimmten Periode nur genau für diese Periode reichen) , kommt es zu folgender Situation: Der Bedarf eines VerteilZentrums j in einer Periode t kann durch alle Produktionen abgedeckt werden, die rechtzeitig dem VerteilZentrum angeliefert werden können (das heißt nicht später als Periode t) . Um diesen Bedarf abzudecken, könnte deshalb die Produktion aller Anlagen i in allen Perioden t '≤ t-T±j (wobei ±j die Transportzeit ist) verwendet werden. Bei diesem ersten Beispiel sind die Transportzeiten gleichförmig auf eine Periode eingestellt. Beim Transport einer Materialeinheit entstehen Transportkosten Cij . FIG. 5 zeigt in unserem Netzwerk diejenige Si- ' tuation, bei der das Fenster auf drei nachfolgende Perioden erweitert wird (wodurch in die Netzwerkberechnung die zusätzliche Variable der Zeit eingeführt wird) . Die Anzahl der berücksichtigten Perioden wird als der Horizont bezeichnet. Bei diesem neuen Szenarium steht jeder Knoten 502 in der Darstellung nun für eine Tagesproduktion bzw. einen Tagesbedarf. Die Pfeile 504 entsprechen nicht mehr direkt den Transportwegen, sondern entsprechen stattdessen der logischen Zuordnung zwischen einer bestimmten Produktionseinheit und einer bestimmten Bedarfseinheit. Jeder
Bogen kann deshalb durch den Ort der Quelle und des Ziels (i and j ) und durch den Anfangs- und Endzeitpunkt ( ti and tj ) eindeutig identifiziert werden. Die Zuordnung einer bestimmten Materialmenge von einem Knoten auf der linken Seite zu einem Knoten auf der rechten Seite wird als der Fluß auf dem Bogen bezeichnet. Dieser Fluß führt zu Kosten in der Höhe der entsprechenden Transportkosten dj in dem Distributionsnetzwerk .
Wie man sehen kann, ist dies ein klassisches, verein- fachtes Transportproblem, wie es aus Operations Research bekannt ist. Als solches kann es über einen standardmäßigen Ansatz aus Operations Research gelöst werden (beispielsweise über den MODI-Algorithmus, wie er aus dem Stand der Technik bekannt ist) . Da der eigentliche Opti- mierer auf der Ebene des Transportproblems arbeitet, wird das Transportnetzwerk von jetzt ab als das Optimierungsnetzwerk bezeichnet, und der Optimierer wird als der Transportoptimierer bezeichnet. Die Knoten in dem Verteilnetz werden als die Distributionsnetzwerkknoten bezeich- net, die Knoten in dem Optimierungsnetzwerk als Optimierungsnetzwerkknoten , wenn auf beide Bezug genommen wird. Die Knoten in dem Optimierungsnetzwerk werden in Quellen und Senken unterteilt.
Dieser besondere Fall eines Distributionsnetzwerks ist einfacher zu behandeln, da hier Produktion und Bedarf des optimierenden Netzes genau denen in dem Distributionsnetzwerk für eine einzelne Periode entsprechen. Wenn der Bereich auf mehrere Zeitperioden vergrößert wird, ist dies nicht mehr der Fall. Die genaue Übertragung dieser Werte aus dem Verteilnetz in das optimierende Netz wird in dem nächsten Abschnitt beschrieben.
VON DEM VERTEILUNGSPROBLEM ZU DEM TRANSPORTPROBLEM IN DEM KLASSISCHEN FALL.
In dem vorausgegangenen Abschnitt wurde das Vertei- lungsproblem für einen festgelegten Bereich von einer Pe- riode auf das Transportproblem projiziert. Das Ziel besteht nunmehr darin, die Projektion für jeden möglichen Bereich zu verallgemeinern. Da die Werte der Senken in dem optimierenden Netzwerk bereits um einen Bereich von mehr als einer Periode von dem Bedarf in dem Verteilnetz abwei- chen und da, die Quellenwerte sich von den Produktionswerten in einem Distributionsnetzwerk unterscheiden können, wird eine weitere Unterscheidung hinsichtlich der Daten des optimierenden Netzwerks spezifisch von den Originaldaten in dem Verteilnetz vorgenommen. Im Weiteren wird bezo- gen auf das optimierende Netzwerk immer von Angebot und Bedarf gesprochen - die Ausdrücke Produktion und Auftrag beziehen sich immer auf die Werte in dem Verteilnetz. Das Angebot in einer Periode t eines Knotens i in dem optimierenden Netz ist als s (t) definiert, und der Bedarf ist als d∑ (t) definiert.
Definition des Bereichs der Abdeckung
Der Zielbestand L2 (t) in einer Periode t für einen gegebenen Bereich R (t) , ergibt sich aus den Aufträgen der nach- folgenden Perioden (die Einbeziehung des Sicherheitswaren- bestand πii (t) erfolgt hierbei noch nicht) :
t+ [R (t) J L1 (t) = Σ oΣ (τ) + (R (t) - LR (t) Jo1 (t+fR (t) 1) τ=t + l
Alternative Definition / Verallgemeinerung des Bereichs der Abdeckung
Die allgemeine Aussage über den Bereich der Abdeckung (Lagerreichweite) kann alternativ so geschrieben werden, daß sie eine Maximierung des Multiplikators des Sieher eitswa- renbestands enthält:
Li(t) = θi(t) + R(t) * Sicherheitswarenbestand oder allgemein für jede monoton ansteigende Funktion f mit t) = f (R(t)) .
Der Übersichtlichkeit halber wird im folgenden nur die erstgenannte Definition des Bereichs der Abdeckung betrachtet .
Im Fall eines VerteilZentrums hängt der Bedarf 2 (t) von der Differenz des Zielbestands L1 (t) - (t-1) ab, der wiederum von dem Bereich R (t) ) und dem Kundenauftrag o2 (t) ) abhängt. Der Bedarf d (t) ergibt sich zu:
Verteilzentren: dx (t) = o1 (t) + L (t) - L1 (t -1 )
[Die Bedingungen : dλ (t) ≥0 <=> R (t) ≥ R (t -l ) -1 soll ten hierbei erfüll t sein . ] Das Angebot s (t) einer Anlage entspricht bei diesem einfachen Modell der realen Produktion. Eine Anlage weist normalerweise keinen Eigenbedarf auf, das heißt sie hat keinen Zielbereich, der erreicht werden muß. Das Angebot der Anlage s (t) ergibt sich zu:
s (t) = px (t)
Nun kann das Transportproblem, wie es in dem vorausgegangenen Abschnitt gezeigt ist, definiert werden. In FIG. 5 muß lediglich pλ (t) durch s2 (t) und o (t) durch d∑ (t) ersetzt werden.
VON DEM VERTEILUNGSPROBLEM ZU DEM TRANSPORTPROBLEM IN DEM ALLGEMEINEN FALL.
Die Modelle zum Projizieren des bisher gezeigten Trans- portproblems sind auf wesentliche Werte begrenzt. Es wird nun ein Modell erstellt, bei dem Sicherheitswarenbestände und Aufträge mit mehreren Prioritätsklassen berücksichtigt werden :
t+R (t)
L, (t) = m] (t+R (t) ) + ∑ ∑ of (τ) τ=t+l P≤Pprognostiziert
(Verallgemeinerung für nichtganz zahl ige R (t) siehe oben)
Anmerkung: Wenn auch Durchgangsfrachten tr (t) (festgelegte Anlieferungen) berücksichtigt werden, dann reduziert sich der Bedarf zu:
dλ (t) = o ( t) - trx (t) + Lx (t) - L (t -1 ) .
Immer dann, wenn die Durchgangsfracht groß genug ist, kann dieser Bedarf möglicherweise negativ werden, d.h. dieser Knoten verändert sich zu einem Angebotsknoten mit positi- vem Angebot:
Si (t) = - ( oλ (t) - trλ (t) + Lx (t) - Lλ (t-1 ) ) .
Das bedeutet, daß immer dann, wenn die festgelegte Anlie- ferung tr (t) groß genug ist, ein Verteilzentrum zu einem bestimmten Zeitpunkt t ein Angebotsknoten (anstelle eines Bedarfsknotens) werden kann. In diesem Fall kann ein derartiges Angebot eines Verteilzentrums i zu einem bestimmten Zeitpunkt t hinsichtlich der Transportzeit einem be- liebigen Bedarf eines anderen Knotens zugeordnet werden. Insbesondere die Transportzeit und die Transportkosten für
die zukünftigen Bedarfe des gleichen VerteilZentrums i werden auf Null gesetzt. Zu Beginn des Planungshorizonts t = 0 kann der anfängliche Bestand von Verteilzentren durch festgelegte Anlieferungen tr (0) modelliert werden. FIG. 6 zeigt ein kleines Netzwerk mit einer Herstellungs- anlage 602 und zwei Verteilzentren 604, 606. In dem Verteilzentrum 1 beispielsweise liegt aufgrund eines sehr großen anfänglichen Bestands in Periode 1 ein Überangebot vor. Dies kann nun dem Bedarf der Periode 2 608 oder dem Bedarf des VerteilZentrums 2 zugeordnet werden.
UNTERSCHIEDLICHE TRANSPORTMÖGLICHKEITEN
In dem vorausgegangenen Abschnitt wurde ein sehr einfaches
Netzwerk mit nur einem Transportmittel zwischen zwei Kno- ten berücksichtigt. Es wird nun die Veränderung untersucht, die zu dem Prozeß führt, eine Lösung zu finden, wenn verschiedene Transportverfahren zur Verfügung stehen. Verschiedene Transportverfahren bedeutet nicht notwendigerweise verschiedene Transportmittel, es kann sich auch auf Alternativen bei dem Weg beziehen (beispielsweise für den Fall von Lastwagentransporten) . Der längere Weg muß es wert sein, das heißt er ist nur dann sinnvoll, wenn dadurch niedrigere Transportkosten entstehen.
FIG. 7 veranschaulicht ein Distributionsnetzwerk mit mehreren möglichen Mitteln für den Transport wie beispielsweise durch Lastwagen 702 oder durch Flugzeuge 704. Verschiedene Bögen entsprechen in diesem Fall verschiedenen Transportmitteln. Die Strecken sind immer mit den verwendeten Transportmitteln und mit der Zeit 706 des Trans- ports (in Perioden) markiert. In der Darstellung des optimierenden Netzwerks korreliert jeder Bogen mit einer maximalen Transportdauer. Beispielsweise kann für die Zuordnung eines Angebots aus Periode 1 zu einem Bedarf in Periode 2 lediglich ein Transportmittel gewählt werden, das
zum Transport nicht mehr als eine Periode benötigt. Außerdem ist es sinnvoll, nicht lediglich eine durchführbare Möglichkeit, sondern die beste Möglichkeit zu wählen. Man kann dann die grundlegende Annahme formulieren, daß für den Fall, daß ein langsameres Transportmittel gewählt wird, es auch das preiswertere ist. Diese zusätzliche Annahme verändert im Prinzip deshalb nur die Kosten der Zuordnung in dem entsprechenden Transportproblem. Die Verbindung mit dem Transportproblem ist in FIG. 8 gezeigt, in welcher ein Optimierungsnetz dargestellt ist, in dem mehrere Transportarten vorliegen. Die Projizierung der Transportkosten wird durch die verschiedenen genutzten Transportarten erweitert.
TRANSPORT ÜBER ZWISCHENLAGEREINRICHTUNGEN.
Im Weiteren wird zunächst der Fall mit nur einer Möglichkeit des Transports für jede direkte Strecke zwischen zwei Knoten betrachtet . Anschließend wird die Veränderung berücksichtigt, die sich ergibt, wenn für eine derartige Strecke mehrere Alternativen zugelassen werden.
ZWISCHENLAGEREINRICHTUNGEN IM FALL EINER MÖGLICHKEIT DES TRANSPORTS PRO STRECKE. Bisher wurde lediglich ein zweistufiges Distributionsnetz- werk berücksichtigt. Die Verbraucher (in diesem Fall die Verteilzentren) werden von den Herstellungsanlagen direkt beliefert. Oftmals benutzen Distributionsnetzwerke auch zentrale Zwischenlagereinrichtungen. Durch Einführen dieser Einrichtungen können die Transportwege zu den Verteil- Zentren nun teilweise zusammengebündelt werden. Anlieferungen können ebenfalls gebündelt und somit möglicherweise preiswerter gemacht werden. Das zentrale Lagerhaus funktioniert wie eine Durchgangsstation, um die Anlieferungsoptimierung zu unterstützen. Aus diesem Grund kann die
Produktion der Anlagen den Verteilzentren direkt zugeordnet werden. Für die Dauer des Gesamttransports (über die Zwischenlagereinrichtung) kann die Summe der Transportzeit zu dem zentralen Lagerhaus und von dort zu dem Verteilzen- trum verwendet werden. Die Transportzeiten schließen gegebenenfalls bereits die Ein- und Auslagerzeiten mit ein. Da das erfindungsgemäße Verfahren den Bereich der Abdeckungsprofile der Lagerhäuser maximieren soll, sind möglichst frühe Anlieferungen und deshalb kurze Transportzeiten von Vorteil. Aus diesem Grund wird immer der schnellste Weg zwischen zwei Knoten bevorzugt, selbst wenn er nicht notwendigerweise der direkte Weg ist. In der graphischen Darstellung der Transportzeiten ist, um die kürzeste Ge- samttransportdauer zwischen zwei beliebig gewählten Knoten zu erhalten, die transitive Hülle der graphischen Darstellung zu berechnen. FIG. 9 zeigt ein Beispiel mit der kürzesten Transportzeit zwischen zwei Knoten, oben ist das gegebene Netz dargestellt, unten die dazugehörende transitive Hülle. In dem ersten Flußdiagramm 902 sind die verschiedenen Transportstrecken und -zeiten gezeigt. Es dauert drei Perioden, um von Knoten 904 zu Knoten 906 zu kommen. Um allerdings von Knoten 904 durch Knoten 908 zu Knoten 906 zu kommen, dauert es nur zwei Perioden. Unter Berücksichti- gung dieser Angaben wird das Flußdiagramm 910 erstellt, das die Mindestzeiten zeigt, die erforderlich sind, um sich zwischen den Knoten zu bewegen.
Wenn die Zeitdauer des schnellsten Wegs auf diese Weise berechnet worden ist, werden dann die damit verbun- denen Kosten berechnet. Analog zu den Zeiten setzen sie sich aus der Summe der Kosten für jeden Teil des Wegs zusammen. Gibt es mehrere schnelle Wege, werden die Kosten des effizientesten und/oder günstigsten unter ihnen verwendet .
ZWISCHENSPEICHEREINRICHTUNGEN IM FALL VON ALTERNATIVEN MÖGLICHKEITEN DES TRANSPORTS FÜR JEDE STRECKE. Wie oben erläutert, können mit dem erfindungsgemäßen Verfahren auch alternative Bögen in dem Distributionsnetzwerk berücksichtigt werden. Beim Transport über Zwischenknoten stellt sich die Frage, welcher Bogen für die verschiedenen Segmente verwendet werden soll . Wenn alle Kombinationen zugelassen werden, dann ergeben sich bei mehreren Zwischenknoten schnell sehr viele Möglichkeiten des Trans- ports zwischen den Endknoten. Bei näherer Untersuchung allerdings stellt sich heraus, daß nicht jede dieser Bogen- kombinationen sinnvoll ist. Zum Beispiel würde man normalerweise nicht in einem ersten Segment eine Expreßverbindung und in einem zweiten Segment eine langsame Verbindung benutzen. Aus diesem Grund ist zur Eingabe der Verbindungen folgendes Verfahren gewählt worden:
Zunächst wird die Anzahl der maximal zulässigen Transportarten in dem Netz spezifiziert. Die Transportarten entsprechen hier verschiedenen Geschwindigkeitsklassen (bei- spielsweise Normal und Expreß) . Wenn nun zwischen zwei Knoten eine direkte Verbindung definiert werden soll, dann gibt man für jede Transportart (d.h. Geschwindigkeit, Klasse, usw.) die Kosten und die Dauer an. Der Optimierer berechnet dann für jede Klasse getrennt den besten Weg, wie in dem letzten Abschnitt beschrieben. Diese Daten werden dann in dem Optimierungsnetzwerk verwendet. Bei Wegen mit mehreren Segmenten werden die Transportarten nicht miteinander vermischt. Wenn dennoch auf einer Strecke nur eine Transportmöglichkeit zugelassen werden soll, dann werden für alle Transportarten die gleichen Daten verwendet. FIG. 10 zeigt ein Beispiel. Die Zeichnung zeigt oben das eingegebene Netzwerk, und unten das daraus durch den Optimierer erstellte Netzwerk. Der Weg 1002 zeigt ein Herstellungszentrum 1004, ein zentrales Lagerhaus 1006 und
ein Verteilzentrum 1008. Er zeigt einen Transportweg 1010 per Zug, der 1 Periode benötigt, Transportweg 1012 per Lastwagen, der 3 Perioden benötigt, Transportwege 1014, 1016 per Flugzeug, die jeweils 1 Periode benötigen. Die Bögen des Normalmodus sind mit Punkten gezeigt, die Bögen der Expreßbetriebsarten sind mit Linien gezeigt. Zwischen den Knoten 1006 und 1008 gibt es nur eine reale Verbindung, nämlich den Transport per Flugzeug. Der Weg 1018 zeigt die von dem Optimierer zwischen dem Herstellungszen- trum 1004, dem zentralen Lagerhaus 1006, und dem Verteilzentrum 1008 komprimierten Wege.
UNZULÄSSIGE PERIODEN
Im folgenden wird die Implementierung von unzulässigen Bö- gen erörtert. Jede Transportverbindung und jeder Distribu- tionsknoten kann mit einer Liste unzulässiger Perioden versehen werden. Unzulässige Perioden sind Zeitfenster wie beispielsweise Feiertage, an denen der Transport ruht oder an denen keine Waren angenommen oder ausgegeben werden können. Es wird an den oben beschriebenen klassischen Fall erinnert, in dem jeder Knoten in dem Optimierungsnetz für einen Ausgangspunkt i, einen Startzeitpunkt t2 , einen Zielort j und eine bestimmte Zielzeit t3 einer bestimmten Materialzuweisung steht. Um Feiertage zu berücksichtigen, wird jeder Bogen soweit in die Zukunft geschoben, bis tλ auf eine zulässige Periode zur Ausgabe von Waren beim Knoten i fällt (das heißt, sowohl zu der Startzeit als auch zu der Zielzeit wird ein gemeinsames Zeitdelta addiert) . Danach wird tj ebenfalls solange verschoben, bis die Sum- men der zulässigen Transportperioden zwischen t und t3 für den entsprechenden Transport ausreichen, und bis t3 auf eine zulässige Periode zur Annahme von Waren beim Knoten j fällt. FIG. 11 zeigt ein optimierendes Netzwerk mit einem
Horizont aus sechs Perioden 1102, 1104, 1106, 1108, 1110,
1112. Die Knoten sind mit der Distributionsnetzknotennum- mer i und der zugehörigen Periodennummer t± markiert. Die unzulässigen Perioden sind jeweils schraffiert/grau dargestellt. In Periode 2 ist die Warenannahme im Distributi- onsnetzknoten 1 verboten. Die Warenabgabe ist in Knoten 2 in Periode 5 unzulässig. In Periode 3 1114 ist der Transport unzulässig. Die beschriebene Distribution der unzulässigen Perioden ist natürlich ein Extremfall. In den meisten Fällen wird der Feiertag wenigstens die gleichzei- tig warenempfangenden und warenausgebenden Bereiche tangieren.
DIE SUCHE NACH DEM MAXIMALEN BEREICHSPROFIL.
Das Ziel der vorliegenden Erfindung besteht darin, die Verteilzentren der Bedarfsknoten mit dem zur Verfügung stehenden Material derart zu beliefern, daß das Reichweitenprofil des Bestands über alle Lager maximiert wird. Die Aufgabe besteht deshalb darin, eine geeignete Zuordnung von den Angebotsknoten zu den Bedarfsknoten zu finden. Bisher wurde dargestellt, wie eine Zuordnung zu einem gegebenen Bereichsprofil bestimmt wird, welche die oben angeführten Bedingungen erfüllt (minimale Transportkosten, die Feiertage usw. berücksichtigen) . Dies geschieht durch die Abbildung eines Transportproblems und Lösung desselben unter Verwendung eines effizienten Transportalgorithmus, beispielsweise des MODI-Algorithmus, der als Grundlage für den von der vorliegenden Erfindung vorgeschlagenen verbesserten Algorithmus dienen kann. Nachfolgend wird das Problem der Maximierung des Bereichs der Abdeckung definiert.
MAXIMIERUNG DER REICHWEITENPROFILE BEI ÜBERANGEBOT Ein Überangebot bedeutet, daß dem geplanten Kundenbedarf vollständig entsprochen werden kann. Somit hat der Trans- portoptimierer bei dem minimalen Reichweitenprofil von ei- ner Periode über alle Verteilzentren und Zeitpunkte hinweg eine Lösung gefunden. Nun muß das Reichweitenprofil maximiert werden. Auf den ersten Blick besteht die einzige Option darin, mit den gegebenen Möglichkeiten verschiedene Profile auszuprobieren und allmählich auf das Optimum hin- zuarbeiten, z. B. durch ein Trial-and-Error-Verfahren. Annahmen hinsichtlich der existierenden Angebots- und Bedarfssituation, die die allgemeine Gültigkeit des Prozesses nicht übermäßig einschränken, können allerdings die Suche stark beschleunigen. Man muß allerdings das Risiko akzeptieren, daß man nicht immer eine optimale Lösung finden kann. Vor einer ausführlicheren Erörterung sollte die Frage beantwortet werden, was unter einem maximalen Reichweitenprofil zu verstehen ist.
WIE SIEHT EIN MAXIMALES REICHWEITENPROFIL AUS?
Wenn man die Reichweite aller Verteilzentren in dem Netzwerk beschreiben will, dann ist das Reichweitenprofil jedes einzelnen Verteilzentrums zu beschreiben. Da die erfindungsgemäße Aufgabe allerdings darin besteht, die Reichweiten zwischen den Lägern zu einem gegebenen bestimmten Zeitpunkt soweit wie möglich auszugleichen, reicht es aus, nur von einem globalen Reichweitenprofil zu sprechen, das dann für jedes VerteilZentrum als unterer Grenzwert gültig ist. Genauer gesagt ist das globale Pro- fil R (t) das Minimum für das örtliche Profil Rλ (t) über den Knoten I . Die örtlichen Profile können möglicherweise zuweilen über dem globalen Profil liegen; sie können allerdings niemals darunter liegen, d. h. es gilt: R (t) = min {Rx (t) } .
Wie bisher, wird im Weiteren nur von dem Reichweitenprofil gesprochen (das alle Verteilzentren betrifft) . Man würde intuitiv vermuten, daß das maximale Bereichsprofil dasjenige Profil ist, das in jeder Periode maximal ist. Dieses trifft nicht zu. Die maximale Reichweite in einer bestimmten Periode kann sich signifikant von der Reichweite einer anderen vorausgehenden Periode unterscheiden.
FIG. 12 zeigt als Beispiel ein Netzwerk mit zwei Herstellungsanlagen und zwei Verteilzentren. Auf den Bögen sind die entsprechenden Transportzeiten eingetragen. In FIG. 13 sind die zugehörigen Produktions- und Bedarfsprofile gezeigt. Das Beispiel ist gemäß dem einfachen Modell eines Distributionsnetzwerkes aufgebaut und beinhaltet keine Sicherheitswarenbestände, Initiallagerbestände oder feste Zugänge. Alle Bedarfsklassen weisen gleiche Priorität auf, und es gibt nur eine Transportart. Für die folgende Betrachtung des Reichweitenprofils wird immer dieses einfache Modell verwendet. In einer bestimmten Periode ist die maximal mögliche globale Reichweite diejenige Reich- weite, die beide Verteilzentren in dieser Periode gleichzeitig erreichen können. In Periode 2 weist die Reichweite einen Wert Drei auf. Dieser Wert wird nur dann erreicht, wenn die Produktion der ersten Periode von Werk 1202(40 Einheiten) den Verteilzentren zu gleichen Teilen zugeord- net wird. Das Werk 1202 hat keinen Einfluß auf den Bereich in der zweiten Periode, da das Material von diesem Werk 1202 nicht vor der dritten Periode angeliefert werden kann. Bei dieser Zuordnung ergibt sich für das Verteilzentrum 1 in der vierten Periode automatisch eine Reichweite von Eins, da dieses VerteilZentrum von dem Werk 2 erst in der fünften Periode erreicht wird und da die anfängliche Produktion der Herstellungsanlage 1 bereit "aufgebraucht" ist. FIG. 14 zeigt die maximale globale Reichweite für diese erste Zuordnung. Die minimalen Lagerbestände beider
Zentren 1206, 1208 zu Beginn jeder Periode sind in Klammern gezeigt. Es ergibt sich immer dann eine unendliche Reichweite, wenn der Lagerbestand mindestens für alle folgenden Perioden ausreicht, da für Perioden jenseits des Horizontes ein Bedarf von null Einheiten angenommen wird.
Will man nun die globale Reichweite in Periode 4 von
1 auf 2 anheben, bietet sich folgende Zuordnung an. Von den in Periode 1 von Werk 1202 produzierten 40 Einheiten werden 30 Einheiten dem Verteilzentrum 1206 und 10 Einhei- ten dem Verteilzentrum 1208 zugeordnet. Von den 40 Einheiten der ersten Periode in Anlage 1204 ordnet man mindestens 20 Einheiten dem Verteilzentrum 1208 zu. Bei einer geeigneten Verteilung der restlichen Produktion von Anlage 1202 (beispielsweise auf beide Zentren 1206, 1208" in glei- chen Teilen) wird die in FIG. 15 gezeigte globale Reichweite erreicht .
Diese Zuordnung hat den zusätzlichen Vorteil, daß das Minimum des globalen Bereichs über alle Perioden von 1 auf
2 angestiegen ist. Dieses Beispiel zeigt, daß es nicht im- mer günstig ist, bei Beginn die größtmögliche globale
Reichweite aufzubauen. Dies verhindert manchmal die Möglichkeit, zu einem späteren Zeitpunkt ein Minimum der globalen Reichweite auszugleichen. Dieser Prozeß des Ausglei- chens des Bestands ist in jedem Fall wünschenswert, um ein gutes Gesamtprofil zu erhalten. Die Reichweitenprofile in Fig. 14 und Fig. 15 müssen deshalb so eingestuft werden, daß das Reichweitenprofil in Fig. 15 bei Bewertung sich als besser als das Profil in Fig. 14 herausstellt. Es reicht nicht aus, nur das globale Minimum der Profile zu vergleichen (wie man denken könnte) , da die anderen Perioden, bei denen eine Reichweite möglicherweise nur knapp über dem Minimum liegt, bei einem Vergleich nicht berücksichtigt werden. Es wird für das globale Reichweitenprofil deshalb die folgende Ordnung definiert:
Einstufung für das globale Bereichsprofil:
Für zwei globale Bereichsprofile R1 und R2 gilt:
R1 > R2 : t=> in{Rl (t) \ R (t) ≠R2 (t) } > min{R2 (t) /R1 (t) ≠R2 (t) }
Für die Vollständigkeit dieser Einstufung ist zu zeigen, daß wenn zwei Elemente nicht verglichen werden können (die Profile weisen bei verschiedenen Punkten das gleiche Minimum auf) , es immer ein Element gibt, das größer ist als die beiden anderen Elemente.
DAS MONOTONE REICHWEITENPROFIL
Es ist sehr zeitaufwendig, mit den bekannten Verfahren (Trial-and-Error-Verfahren) das optimale Reichweitenprofil zu bestimmen, wenn beispielsweise das folgende Verfahren angewandt wird: Beginnend mit einer minimalen gleichmäßigen Reichweite von 1 zu jedem bestimmten Zeitpunkt vergrößert man die Reichweite in Periode 1 um ein kleines Delta der Reichweite. Wenn eine Lösung gefunden wird, vergrößert man die Reichweite in Periode 2 ebenfalls und so weiter. Nachdem alle Perioden behandelt worden sind, beginnt der Prozeß wieder bei der ersten Periode. Falls die Reichweite in einer bestimmten Periode nicht vergrößert werden kann, wird diese Periode bei den weiteren Iterationen von den
Vergrößerungen ausgenommen. Die zeitliche Komplexität dieses Ansatzes wird durch 0 (Rmax/Rmιn ■ H) Aufrufe des Trans- portoptimierers begrenzt, was möglicherweise zuviel Zeit in Anspruch nimmt, wobei Rmax als die optimale Reichweite definiert ist, der in der Periode auftreten kann; wobei
Rmm als die Präzision bzw. Granularität definiert ist, mit der dieser Bereich bestimmt werden soll, und H für den Horizont steht. In diesem Fall muß der Optimierer immer die Daten des gesamten Horizonts optimieren.
Aus diesem Grund werden erfindungsgemäß zunächst monotone Reichweitenprofile betrachtet. In einem zweiten Schritt wird dieser Ansatz auf nicht monotone Bereiche von Reichweitenprofilen verbessert. Da bei einer monoton steigenden Funktion das Minimum immer am Anfang liegt, ist das Profil, das unter den monoton steigenden Profilen das Maximum ist, das erste (mit dem kleinsten t) , das einen größeren Wert als die anderen Profile erreicht. Ein Transportplan, der auf der Grundlage des maximalen monotonen Bereichsprofils berechnet wird, ist sehr gut, doch ist er leider nicht immer optimal. Dies zeigt ein Beispiel. Die Tabelle in FIG. 16 zeigt eine mögliche Situation in einem Distributionsnetzwerk mit einem Werk und zwei Verteilzentren. Die Transportzeit ist gleichmäßig eine Periode .
Das maximale monotone Reichweitenprofil R" 1602 weist in jeder Periode einen Wert von 1 auf (mit Ausnahme der letzten Periode, da für den Bedarf von Perioden jenseits des Horizonts der Wert 0 angenommen wird) , da in Periode 5 kein größerer Bereich möglich ist. Die Tabelle zeigt den Plan, der sich ergibt, wenn in dem Optimierungsnetz das Angebot dem Bedarf zugeordnet wird und wenn die Anlieferung sofort beginnt. Bei ZM 1604 beispielsweise wird die Produktion von 30 Einheiten in der ersten Periode den ersten drei Bedarfen des Verteilzentrums 1206 (s. Fig. 12) zugeordnet. Wenn alle 3 zugeordneten Anlieferungen sofort beginnen, d. h. in dieser ersten Produktionsperiode, dann findet ein Gesamttransport von 30 Einheiten zu dem Verteilzentrum 1206 statt. Der Transportplan ZM 1604 reicht für das maximale monotone
Reichweitenprofil aus; er bildet aber eine tatsächliche globale Reichweite (das heißt das Minimum der tatsächlichen Reichweite der Verteilzentren) von R'M, 1606, der kleiner ist als der maximal mögliche Bereich R 1608 (bei der Zuordnung Z) . Mit anderen
Worten, der Plan ZM 1604 ist für den maximalen monotonen Bereich sehr gut (er ist monoton-optimal) , ist aber nicht völlig optimal.
Ein optimaler Transportplan für die erste Periode ergibt sich wie folgt: Die Zuordnung von Angebot der ersten Periode sollte keinen negativen Effekt auf den Bereich in sämtlichen Perioden haben. Durch die folgende Annahme kann der Aufwand einer derartigen Suche gemäß diesem Plan wesentlich reduziert werden. Um den monotonen optimalen Transportplan der ersten Periode zu erhalten, reicht es aus, die Suche nach dem maximalen Bereichsprofil auf solche Profile zu beschränken, die nur in dem Anfangsbereich nicht konstant sind, das heißt bei t ≤ max1 / J {T1J} mit T2J Transportzeit zwischen den Knoten i und j . Man muß das Reichweitenprofil nur bis zu der Periode der maximalen Transportzeit erhöhen; in allen folgenden Perioden kann das Profil einen konstanten Wert aufweisen.
Wenn bei der Bestimmung des Optimierungsnetzwerkes nicht der gesamte Horizont H betrachtet wird, sondern nur die Perioden t ≤ Hlaιrz bis zu einem bestimmten Zeitpunkt Hterz < H , das heißt wenn bei t ≤ Htore lediglich Angebot s (t) und Bedarf d (t) berücksichtigt werden, dann liefert das Optimierungsnetzwerk ein maximales Reichweitenprofil ?_^ , das in jeder Periode mindestens so groß ist wie
das maximale Profil i?max über den gesamten Horizont hinweg :
Vt ≤ H^ : RZ' (t) ≥ Rw (t) .
SCHNELLE BEREICHSPROFILSUCHE
Nachdem der kurze Horizont definiert worden ist, soll er auf eine Periode verkürzt werden. Das resultierende Optimierungsnetzwerk (das nur dann sinnvoll ist, wenn es möglich ist, den Transport in einer Periode auszuführen) , ist sehr klein, und die Bogenflüsse können sehr schnell berechnet werden. Die maximale Reichweite in Periode 1 wird durch eine binäre Suche ermittelt. In dem nächsten Schritt wird die zweite Periode hinzugefügt, und es wird versucht, über beide Perioden hinweg ein maximales Bereichsprofil zu finden. Dabei wird das Reichweitenprofil aus dem ersten Schritt, das bis jetzt nur für die erste Periode gilt, beibehalten, und die zweite Periode wird mit dem Wert der vorausgegangenen Periode (in diesem Fall der ersten) initialisiert. Falls eine Lösung für dieses Profil gefunden wird, kann die Reichweite der zweiten Periode wieder unter Verwendung einer binären Suche maximiert werden, usw. Falls für einen kurzen
Horizont Hkun die Reichweite R (Hkurz ) von R (Hlaιrz -l ) übernommen wird, das heißt falls keine Lösung gefunden wird, wird die Reichweite in der Periode Htor- um eine
Periode gesenkt. Das resultierende Profil wird immer monoton gehalten, das heißt in allen Perioden t < Hlmrz wird die Reichweite auf R (t) = min {R (t) , R ( Htor- } gesetzt . Spätestens jetzt muß eine Lösung möglich sein, da sich eine Reichweite von
R (Hkurz ) = R (Hkurz -1) -1 us de Bereich R fH^ -1) in Periode Hkurτ z ergibt. Nun wird nochmals versucht, den
Wert dieser und der folgenden Perioden zu erhöhen, beginnend mit der ersten Periode, in der bei diesem Schritt eine Reichweite verändert wurde. Der betrachtete Horizont bleibt bei H^ . Nachdem TmΛX = maxy { T j } mit dem kurzen Horizont bestimmt wurde, werden im nächsten Schritt alle darauffolgenden
Perioden wie eine einzige Periode behandelt. Der betrachtete Horizont wird auf den Gesamthorizont erweitert, und alle folgenden Perioden werden auf den
Wert R (Hk rz ) gesetzt. Nach diesem Schritt ist das Verfahren beendet, und das maximale monotone Profil ist gefunden worden. Es steigt bis zu einem Punkt Tιmx an und bleibt danach konstant.
FIG. 17 zeigt ein Beispiel gemäß dem erfindungsgemäßen Verfahren. Schritt 4 1702 zeigt einen Rückschritt. Die Reichweite in Periode (Zeitintervall) 4 kann nicht auf dem Wert aus Periode 3 gehalten werden und wird deshalb auf einen Wert von 1,25 reduziert. Alle vorherigen Perioden mit einem größeren Bereich werden auf diesen Bereich reduziert. Danach beginnt man wieder, den Bereich der betroffenen Periode zu vergrößern. In jedem Schritt stellt der in der letzten Periode des gerade betrachteten Horizonts für die Reichweite gefundene Wert, das heißt R fH^ ) , eine Obergrenze für die Reichweite dar, die in dieser Periode erreicht werden kann . Da das maximale monotone Profil auch Transportpläne toleriert, die es unmöglich machen, ein allgemeines maximales Profil (beispielsweise in diesem Abschnitt) zu erreichen, kann man diese Grenzwerte verwenden, um einen
möglichen Fehler in dem berechneten monotonen Profil sichtbar zu machen und möglicherweise darauf interaktiv zu reagieren.
Ist Opt(H) die Laufzeit des Transportoptimierers für den Horizont H, dann ist die Laufzeit im ungünstigsten Fall:
O dog iR^ /R^ ) ■ rmax • Opt (Hπ x ) ) .
Rπax ist die maximale Reichweite, die in einer Periode auftreten kann, R . ist die Genauigkeit (Granularität) , mit der diese Reichweite bestimmt werden kann, Tπax ist die maximale Transportzeit zwischen zwei Knoten (bei der langsamsten Transportart) und Htolal ist der Gesamthorizont (für die
Gesamtlaufzeit einschließlich der Laufzeit für den Transportoptimierer) .
Bei der praktischen Anwendung stellte es sich heraus, daß ein Rücksetzschritt kaum erforderlich ist. Wenn man davon ausgeht, daß Engpässe mit größerer Wahrscheinlichkeit am Anfang auftreten und daß das Produktionsvolumen insgesamt das Bedarfsvolumen geringfügig übersteigt (Push-Distribution) , dann findet in dem letzten Schritt (in dem alle Perioden nach 7^ in das Optimierungsnetz aufgenommen sind) kein
Rücksetzschritt statt, und die Anzahl der Aufrufe des Transportoptimierers beträgt nur log ( RmΛX /?mx ) für den
Gesamthorizont. Dann ergibt sich zusammen mit dem Aufwand für den Anfangsbereich folgende Laufzeit:
O dog iR^ /R^ ) ■ (T^ - Opt (Tm ) +Opt (Htotal ) ) )
Das erfindungsgemäße Verfahren erzeugt schnell einen monotonen optimalen Transportplan für die erste Periode .
NICHT AUSREICHENDES ANGEBOT
In dem vorausgegangenen Abschnitt wurde angenommen, daß die Produktion immer ausreicht, um alle Bedarfe immer zeitig abzudecken. Dies ist natürlich nicht immer der Fall. Wenn ein nicht ausreichendes Angebot vorliegt, muß die Bedarfssituation auf geeignete Weise gelockert werden. Dies kann auf zweierlei Weise geschehen:
1. der Bedarf selber wird reduziert, das heißt einige wenige Kundenaufträge werden nur teilweise oder überhaupt nicht ausgeführt.
2. Es wird eine Verzögerung bei der Erfüllung der Aufträge gestattet.
Auch können beide Varianten kombiniert werden. Eine Kombination ist insbesondere dann sinnvoll, wenn ein nicht ausreichendes Angebot nicht lediglich ein kurzfristiges Problem ist, das heißt wenn die Produktion allgemein unter dem Bedarf liegt. In dieser Situation würden sich Verzögerungen ohne Bedarfskürzung weiterhin anhäufen.
BEDARFSKÜRZUNG
Wenden wir uns nun dem ersten Fall zu (keine
Verzögerung) . Um den Bedarf auf geeignete Weise zu verkürzen, werden Kundenaufträgen unterschiedliche
Prioritäten zugewiesen. Eine Bestellung of (t) des
Verteilnetzknotens i in der Periode t wird zusätzlich mit ihrer Priorität P markiert. Die unwichtigen Prioritätsklassen (das heißt Aufträge in diesen
Klassen) werden soweit gestrichen, bis das zur Verfügung stehende Materialvolumen ausreicht, die noch verbleibenden Aufträge rechtzeitig zu erfüllen. Es wird der gleiche erfindungsgemäße Ansatz wie vorgenannt erwähnt. Der ganzzahlige Teil LR (t) J spezifiziert die Anzahl der Prioritätsklassen, deren Aufträge vollständig erfüllt werden. Der rationale
Teil R (t) - LR (t) J ist derjenige Teil, der von der nächsten Prioritätsklasse erfüllt wird. Zum Beispiel werden 4 Prioritätsklassen definiert:
1- Phoch: Kundenbedarfe mit hoher Priorität.
2. normi '• Kundenbedarfe mit normaler Priorität.
3- Pmedrg: Kundenbedarfe mit niedriger Priorität.
4. Pprognostiziert : Zusätzlicher Bedarf, der nur prognostiziert ist, aber noch nicht von einem Kunden bestellt worden ist
Ein Abdeckungsbereich R(t) = 2,7 würde bedeuten, daß zum Zeitpunkt t alle Bedarfe für Kunden mit hoher und normaler Priorität erfüllbar sind. Für Kunden mit niedriger Priorität beträgt der Erfüllungsgrad 70 %.
Die erfindungsgemäße Definition eines maximalen Reichweitenprofils garantiert, daß kein Bedarf mit höherer Priorität zuungunsten eines Bedarfs mit niedrigerer Priorität erfüllt wird.
ANLIEFERUNG MIT VERZÖGERUNG
Bei den obigen Überlegungen war keine verzögerte Anlieferung gestattet. Dies bedeutet, daß immer dann, wenn ein Auftrag nicht rechtzeitig angeliefert werden konnte, er überhaupt nicht angeliefert wurde. Beispiel: Wenn ein Bedarf hoher Priorität für t = 1 und einen Bedarf niedriger Priorität für t = 2 vorliegt und wenn das erste Angebot bei t = 2 ankommt,
dann wird der Bedarf mit niedriger Priorität das ganze Angebot erhalten, aber der Bedarf mit hoher Priorität wird nichts erhalten.
Dieses Problem wird erfindungsgemäß durch Einführen zusätzlicher Bögen mit reduzierter Transportzeit gelöst. Die Anlieferung mit einer Verzögerungszeit Δ entspricht der Reduzierung der entsprechenden Transportzeit um Δ.
Für diese zusätzlichen Bögen werden die Kosten wie folgt definiert:
Strafe = Δ2 * 2C„
Δ : die Verzögerungszeit
Cmax : maximalen Kosten der Bögen ohne
Verzögerungszeit
Der Ausdruck 2 Cmax garantiert, daß durch einen Wechsel, d.h. durch Vertauschen der Zuordnung s1(t1)-> d-,(t-,) und s1-(t1-)-> d-,-(t-|') durch ;tx)-> d-, - ( t-, - ) und Si' ti- ■> d1(t1 eine Verzögerung nicht verhindert werden kann.
Wenn es bei den vertauschten Zuordnungen keine Verzögerungen gibt, dann sind ihre Kosten ≤ 2Cmax < Δ 2^ + 2Cmaχ und somit billiger als die Zuordnungen ohne eine Verzögerung. Der Optimierer wird aus diesem Grund niemals eine Lösung mit einer Verzögerung produzieren, die durch einen Tausch verhindert werden könnte.
Analog dazu garantiert der Ausdruck Δ2, daß eine lange Verzögerung durch einen Tausch nicht verkürzt werden kann.
BESCHREIBUNG DER PROJEKTION DES DEPLOYMENTPROBLEMS IN DAS VERTEILUNGSPROBLEM.
Im weiteren wird die Darstellung der bisher hinsichtlich des Transportproblems gezeigten Verteilungsprobleme nochmals in mathematischer Form zusammengefaßt .
FALL 1 : ÜBERANGEBOT
VORAUSGEHENDE BERECHNUNG
Zuerst müssen Produktion und Bedarf des
Optimierungsnetzwerks berechnet werden:
Verteilzentren :
Dj(t) = ∑ o (t) - tr (t) + Lj(t-1)-Lj(t) } P
Falls D,(t) > 0 , dann gilt d,(t) = D,(t) {Bedarfsknoten}
Sonst gilt s,(t) = -D,(t) {Angebot knoten}
mit einem angestrebten Lagerbestand der Verteilzentren:
L](t l-R(t)-LR(t)))-L(tiR(t)J)^(R(t)-LR(t)J)-L'l(t,FR(t) ) t+r
Lj'(t,r)= m t+r) + ∑ ∑of(τ) τ=t+l P
Herstellungsanlagen : sl(0)=p,(0)+La ngl,ch
Vt>0:s,(t)=P,(t)
DAS OPTIMIERUNGS PROBLEM
Minimiere:
Transportkosten
Unter den folgenden Nebenbedingungen: Beschränktes Angebot: Vϊ . sl(tl)=2LlyltJ
Beschränkter Bedarf : v/ ■
•
FALL 2A: VERRINGERUNG DES BEDARFS BEI UNTERANGEBOT VORAUSGEHENDE BERECHNUNG
Zunächst müssen wieder Produktion und Bedarf des Optimierungsnetzes berechnet werden:
Verteilzentren: D t) = ∑o (t) tr t) + L
j(t-1)-L
j(t)}
Falls D,(t) > 0 , dann gilt d,(t) = D,(t) {Bedarfsknoten} Sonst gilt s,(t) = -D,(t) {Angebotsknoten}
bei einem angestrebten Lagerbestand der
Verteilzentren:
L/ ^l-RftflRf ^ UR j+fR -Rf j-L/t/R ) t+r
Anmerkung: Der ganzzahlige Teil [R (t) J spezifiziert die Anzahl der Prioritätsklassen, deren Aufträge
vollständig erfüllt werden. Der rationale Teil R (t) - LR (t) J ist derjenige Teil, der von der nächsten Prioritätsklasse erfüllt wird.
Herstellungsanlagen: s,(0) = p(0)+La "g ch Vt s,(t) = P,(t)
DAS OPTIMIERUNGSPROBLEM Minimiere : Transportkosten =
Unter den folgenden Nebenbedingungen: Beschränktes Angebot: Vz : s
l(t
l) = ∑
Jy
lιi,J>, if ,
Beschränkter Bedarf : \jj : d (t, ) = ∑jylt
.,t. 'J'>
FALL 2B: VERZÖGERUNG MIT UNTERANGEBOT VORAUSGEHENDE BERECHNUNG
Wieder müssen auf die gleiche Weise wie oben Produktion und Bedarf des Optimierungsnetzes zunächst berechnet werden, nur ändert sich die Optimierungsfunktion durch Belegen der Verzögrungsbögen mit Strafkosten. Es können auch die zeitlichen Verzögerungen durch Einführung lediglich dieser zusätzlichen Bögen mit einer annehmbaren Verzögerung begrenzt werden.
DAS OPTIMIERUNGSPROBLEM
Minimiere:
Kosten = Transportkosten + Verzögerungsstrafkosten
Transportkosten =
Verzögerungsstrafkosten :
Unter den folgenden Nebenbedingungen: Beschränktes Angebot: Vz . sl (tl)=∑yu ',)>,
Beschränkter Bedarf : V : dJ (tl )=£ly„ ,
Maximalverzögerungsbeschränkung :
Vi,t, , j, tj: ylt Jtj definiert <=> t, +T1j*d-— - tj < AJtj
VARIABLE UND KONSTANTE Freie Entscheidungsvariablen: ya = Teil des Angebots von Anlage oder Werk i zum Zeitpunkt t der dem Bedarf des Verteilzentrums j zum Zeitpunkt tj zugeordnet ist
Gebundene Variablen (mit beschränkter Entscheidung R(t) zu maximieren) :
R(t) = Reichweite aller Verteilzentren zum
Zeitpunkt t L t) = Angestrebter Bestand im Verteilzentrum j
zum Zeitpunkt / (als Funktion der Reichweite R(t) ) s,(t) = Angebot des Knotens ( Produktionswerk) i zum Zeitpunkt t d t) - Bedarf bei Knoten (Verteilzentrum) j zum Zeitpunkt t
Konstanten:
P,(t) = Produktionsrate in Produktionsanlage i zu einem bestimmten Zeitpunkt t tr (t) = Zuvor festgelegtes Angebot (im
Durchgang) im Verteilzentrum oder zentralen Lagerhaus j zum bestimmten
Zeitpunkt t i^ nghch =t∑ι (0) = anfänglicher Bestand in
Produktionsanlage z oder Verteilzentrum i
P - Bedarf spriorität P, Pe{Ph
0Ch,- ■ ■ ,P prognostiziert} = {1, 2, 3, . . .} WObei
<- ■ ■ <P prognostiziert θ
j P(t) - Auftrag (=angehäufter Bedarf) für
Prioritätsklasse P für Verteilzentrum j zum Zeitpunkt t m t) = Sicherheitslagerbestand im VerteilZentrum j zum Zeitpunkt t
D = Transportart
D e {langsamste, . . ., schnellste}
C,j D = Transportkosten für Transport einer
Materialeinheit mit Transportart D
zwischen Knoten i und j r D Transportzeit für den Transport einer
Materialeinheit mit Transportart D zwischen Knoten i und j
D s,chnellste Schnellste Transportart: VD,i,j: rp Dschnellste <-r D 1 V -1 V
L> langsamste Langsamste Transportart : VD,i,j: T,j Dlangsamste langsamere (D) Nächstlangsamste Transportart nach
Transportart D :
^3D':[\/ij:T,J D≤rv D'< 'lJ langsamere(DJJ
A J>, Maximal zulässige Verzögerung eines
Bedarfs vom Verteilzentrum j zu einem bestimmten Zeitpunkt t}
ALGORITHMEN
Nachdem die Formulierung des Problems erfolgt ist, wird der anzuwendende Algorithmus erörtert. Die grundlegende Idee des Algorithmus besteht darin, das Reichweitenprofil R (t) solange inkremental zu mutieren, bis das optimale Profil ermittelt ist. Die grundlegenden Verf hrensschritte des Algorithmus umfassen die folgenden Punkte:
1. Initialisieren das Reichweitenprofils R (t) (z.B. R (t) =l ) .
2. Berechnen der erforderlichen Bedarfe 7 (t) in den Bedarfsknoten, um Profilbeschränkungen zu erfüllen.
3. Konstruieren des preiswertesten Fluß für diese Bedarfe unter Verwendung eines beliebigen Minimalkostenflußalgorithmus .
4. Wenn keine Lösung gefunden wird, Verkleinern des
Reichweitenprofils R (t) , ansonsten Vergrößern des Reichweitenprofil R (t) . 5. Zurückgehen zu Schritt 2, wenn die optimale Lösung nicht gefunden wird.
Schritt 2 ist der gleiche für alle Algorithmen, wie in den Abschnitten oben beschrieben: d/t) = ∑offO- tr/ +L/t-lH/t) } p wobei Lj(t)=(l-R(t)-lR(t)J)-L (t (t)J+(R(t)-LR(t)J- L (t/R(t) ) t+r
L/' t,r)= m t+r) - ∑ ∑of(τ) τ=t+l P
Verschiedene erfindungsgemäße Alternativen zu Schritt 4 werden in dem folgenden Abschnitt vorgeschlagen. Zunächst wird das Gesamtproblem erörtert, d.h. die effiziente Konstruktion eines maximalen Bereichs von Reichweitenprofilen. Dieser Algorithmus kann durch die Einschränkung auf einen monotonen Bereich von Reichweitenprofilen, der unten beschrieben wird, beträchtlich beschleunigt werden. Im folgenden wird ein schneller Algorithmus für monotone Profile für die Maximierung des Reichweitenprofils angegeben.
A. MAXIMALER BEREICH DES ABDECKUNGSPROFILS
Zum Konstruieren des maximalen (ganzzahligen) Bereichs des Reichweitenprofils wird das tatsächliche Profil immer dann iterativ um 1 vergrößert, wenn dies für jeden Zeitschritt, der den gesamten Planungshorizont mehrmals überstreicht, möglich ist.
Algorithmus für Schritt 4
While Profile_enlarged do begin
{Den Planungshorizont überstreichen}
enlarged = false;
for all t (Planungshorizont) do begin R(t):=R(t) + l ; { R vergrößern} Generate min_cost_flow problem F (R) for profile R (t)
{= 2. Schritt (s.o. ) } If min_cost_flow (F(R)) solvable then enlarged = true eise R(t):=R(t)-l {Rücksetzen}; end; end;
Die Verallgemeinerung zum Vergrößern des Profils um eine kleinere Schrittweite Δ < 1 anstatt 1 ergibt:
Algorithmus von Schritt 4 mit Schrittweite Δ für Profil R
While Profile_enlarged do begin {Den Planungshorizont überstreichen} enlarged = false;
for all t < Planungshorizont do begin
R(t):=R(t)+ Δ ; { R vergrößern} Generate min_cost_flow problem F(R) for profile R(t)
{= 2. Schritt (s.o. ) } if min_cost_flow (F (R) ) solvable then enlarged = true e\se R(t):=R(t)-Δ {Rücksetzen}; end; end;
B. MAXIMALER MONOTONER BEREICH VON REICHWEITENPROFILEN
Die grundlegende Idee besteht darin, das Problem induktiv zu lösen:
• Initialisieren mit einem leeren Profil.
• Konstruieren einer Lösung für t Zeitschritte und diese Lösung für t+1 Zeitschritte verbessern.
• Bis t = Planungshorizont iterieren.
Algorithmus für Schritt 4
Initialize R (t) : Vt : R (t) =0 t=to; {Planungsstartzei tpunkt } While t < Planungshorizont do begin {Induktionsschritt} R(t+l)=R(t) ;
Generate min_cost_flow problem F(R) for profile R (t)
{ = 2 . Schritt (s.o. ) }
If min_cost_flow (F(R)) solvable
Then Begin { R (t+1 ) vergrößern} Repeat
R(t+l):=R(t+l)+l ; Generate min_cost_flow problem F(R) for profile R(t) Until min_cost flow (F(R)) not solvable R(t+l):=R(t+l)-l {Rücksetzen}
End Else { R verkleinern}
Repeat
Rmαx=R(t+l) tR = min{t | R(t) = R™" - 1};
W>tR: R(t') = R" - 1;
Generate min_cost_flow problem F(R) for profile R(t) Until min_cost_flow (F (R) ) solvable
Algorithmus für Schritt 4 - monotoner Bereich von
Reichweitenprofilen mit Schrittweite Δ
Die Verallgemeinerung zum Vergrößern des Profils um einen kleineren Schritt Δ<1 anstatt 1 ergibt:
Initialize R(t): Vt:R(t)=0 t=tO; (Planning_Start ) While t < Planungshorizont do begin {Induktionsschritt}
R(t+l)=R(t) ; Generate min_cost_flow problem F(R) for profile R(t)
{= 2. Schritt (s.o.)}
If min_cost_flow (F(R)) solvable
Then Begin {R(t+1) } vergrößern}
Repeat
R(t+l):=R(t+l)+ Δ; Generate min_cost_flow problem F(R) for profile
R(t) Until min_cost_flow (F(R)) not solvable R(t+l):=R(t+l)- Δ {rücksetzen}
End Else {R verkleinern}
Repeat
Rmax. =R(t+1 t tR=min{t' /R(t')>Rmax - Δ}
W≥R: Rft^R" - Δ;
Generate min_cost_flow problem F(R) for profile R(t)
Until min_cost_flow (F(R)) solvable
C. EFFIZIENZVERBESSERUNG FÜR ROLLENDES PLANUNGSSCHEMA
Für das rollende Planungsszenarium muß lediglich bekannt sein, wohin die Produktion zum Startzeitpunkt t0, versandt werden soll, d.h. die Versandplanung ylt0 J zum Zeitpunkt t0 sollte auf eine optimale Planung erweiterbar sein, allerdings ist die Versandplanung für die folgenden Zeitschritte möglicherweise nicht optimal. Sie werden erfindungsgemäß durch Verschiebung des Planurigsfensters korrigiert . Im folgenden werden die Reichweitenprofile auf den folgenden Typ eingeschränkt: Gleichmäßig bis zur maximalen
Transportzeit tmax und konstant nach tmax Solange dieses monotone Profil unlösbar ist, wird der letzte konstante
Funktionsteil verringert.
Algorithmus für Schritt 4 - rollendes Planungsschema
Vorgegeben ist die maximale Transportzeit, i.e. tmax
Ermittle das maximale monotone Reichweitenprofil Rmax(t) innerhalb des Planungsfensters [planning_start, planning_start+ tmax] ;
Initialisiere R (t) : {konstante Fortsetzung von R] Vt ^RQ- T
*®
Rmax:=Rmax(tma) {letzten konstanten Teil von R verändern}
Bestimme min_cost_flow problem F(R) für das Profil R(t)
While min_cost_f low(F(R)) not solvable do begin
t
R=min{t /R(t)≥R
max-l} Vt≥
R:R(t)=R
max-l;
Bestimme min_cost_flow problem F(R) für das Profil R (t)
End;
VERALLGEMEINERUNGEN
Zum Konstruieren von nicht ganzzahligen Kapazitätsprofilen muß die Schrittweite Δ der möglichen Werte für den Bereich des Abdeckungsprofils R (t) begrenzt werden. Wenn die
Schrittweite Δ klein ist, sind viele Iterationen erforderlich, bis das maximale Profil gefunden ist. In den folgenden Abschnitten wird beschrieben, wie die Suche nach maximalen monotonen Profilen durch einen binären Suchprozeß beschleunigt werden kann.
1. BINÄRE SUCHE NACH MAXIMALEN MONOTONEN PROFILEN Bei dem Algorithmus für den maximalen monotonen Bereich von Abdeckungsprofilen mit Schrittweite Δ werden zwei Teile berücksichtigt: " R (t) vergrößern" and " R (t) verkleinern". In beiden Fällen wird die Suche nach der optimalen Abstimmung des letzten konstanten Teils des Kapazitätsprofils unter Verwendung einer binären Suche beschleunigt. Eine einfache Erweiterung des erfindungsgemäßen Algorithmus mit einem binären Suchprozeß wird nachfolgend angegeben. Aus Gründen der Deutlichkeit sind alternative Varianten ausgelassen (z.B. Wahl der Schrittweite δ der binären Suche mit durch Erfahrung gelernten Werten anstelle des kleinstmöglichen Werts δ=Δ) .
ALGORITHMUS FÜR SCHRITT 4 - MONOTONER BEREICH VON ABDECKUNGSPROFILEN MIT SCHRITTWEITE Δ (BINÄRE SUCHE)
Initialize R(t): Vt:R(t)=0 t=to; {Planungsstartzeitpunkt} While t < Planungshorizont do begin {Induktionsschritt} R(t+l)=R(t)\ Generate min_cost_flow problem F(R) for profile R(t) {=Schritt 2}
If min_cost_flow (F(R)) solvable
Then Begin {R(t+1) vergrößern}
Ö:=Δ;
Repeat {binäre Suche-£ vergrößern}
R(t + 1) :=R(t + l)+δ δ:=2*δ;
Generate min_cost_flow problem F(R) for profile R(t)
Until min_cost_flow (F (R) ) not solvable Repeat {binäre Suche-«!) verkleinern}
R(t + 1) :=R(t + l)+δ; δ:=δ/2; Generate min_cost_flow problem F(R) for profile R(t) If min_cost_flow (F(R)) solvable
Until
If min_cost_flow (F(R)) not solvable Then R(t + 1) :=R(t + l)-δ
End
Else [R verkleinern} δ:=Δ;
Repeat {binäre Suche- δ vergrößern} R
max:=R(t + l) ; δ:=2*δ;
Vt'≥tR:R(t')=Rmax-δ; Generate min_cost_f low problem F(R) for profile R(t)
Until min_cost_f low (F(R)) solvable
Repeat {binäre Suche- δ verkleinern} R
max:=R(t + l) ; δ:=δ/2;
Generate min_cost_flow problem F(R) for profile
R(t)
If min_cost_flow (F (R) ) solvable
3. Wenn nicht das ganze Profil festgelegt wird, dann gehe zurück zu Schritt 1 (und löse den restlichen Teil) .
Für Schritt 2 müssen die Zeitschritte t gewählt werden, bei denen
Ff (t) <Rja (t + l ) => R" (t) =R (t) f d.h. die stark monoton ansteigenden Teile des maximalen monotonen Bereichs des Reichweitenprofils können festgelegt werden. Außerdem kann auch das Ende des Planungshorizonts festgelegt werden:
Rm (planning_end) =R (planning_end) Deshalb kann das Planungsfenster mindestens um 1 reduziert werden (eventuell um mehr, wenn wir auch gewisse festgelegte, stark monoton ansteigende Teile von R™ reduzieren können) . Damit ist sichergestellt, daß die obige Schleife höchstens I Schritte wiederholt wird, wobei T=planning_end-planning__start (Anzahl der Zeitschritte in dem Planungsfenster) , d.h. die zeitliche Komplexität wird durch T*0 (Rm> begrenzt, wobei 0 (Rtn) die zeitliche Komplexität des Algorithmus für den maximalen monotonen Bereich des Abdeckungsprofils ist. Die algorithmische Komplexität steigt im Vergleich zu monotonen Profilen vorteilhaft höchstens um einen Faktor T, was es ermöglicht, auch umfangreiche Reichweitenprofile mit herkömmlichen Rechneranlagen überhaupt zu berechnen.