Optimal design: Transport und Materialfluss

Definition

Müs­sen Res­sour­cen auf ver­schie­de­ne Orte ver­teilt wer­den und ist die Ver­tei­lung nur ent­lang bestimm­ter Wege mög­lich, dann spricht man von einem Tou­ren­pla­nungs­pro­blem. Dazu zählt auch das Design opti­ma­ler Flüs­se von Gütern, Ener­gie, oder Infor­ma­tio­nen durch kom­pli­zier­te Netzwerke.

Dies sind Pro­ble­me, die beson­ders häu­fig im Trans­port­sek­tor auf­tre­ten, wo sie sich äus­sern als Fra­gen nach den kür­zes­ten Rou­ten für Güter­trans­por­te. Da gemäss z.B. der Stu­die [1] typi­scher­wei­se bis zu 13 % der Gesamt­her­stel­lungs­kos­ten eines Pro­duk­tes auf Trans­port­kos­ten ent­fal­len, erge­ben sich hier enor­me Einsparmöglichkeiten.

Ursprung Tourenplanung

Das soge­nann­te Tra­vel­ling Sales­per­son Pro­blem (TSP) ist ein arche­ty­pi­sches Tou­ren­pla­nungs­pro­blem, das schon im 19. Jahr­hun­dert mathe­ma­ti­sche for­mu­liert wur­de. Beim TSP soll ein Händ­ler eine Aus­wahl an Orten abfah­ren und dabei die Rei­hen­fol­ge der Orte so wäh­len, dass die Gesamt­dau­er der Tour mini­miert wird.

Das Pro­blem wirkt tri­vi­al, ist aber nach­ge­wie­se­ner­mas­sen eines der schwie­rigs­ten mathe­ma­ti­schen Pro­ble­me. Zudem ist es uner­war­tet rele­vant auch aus­ser­halb des Trans­port­we­sens. Daten­clus­te­ring, Ver­ka­be­lung von Mikro­chips, die Anord­nung von Halb­lei­ter­kom­po­nen­ten zu einem inte­grier­ten Schalt­kreis, Flug­ha­fen­de­sign, und die Steue­rung gros­ser Tele­sko­pe zwecks Anzie­lung meh­re­rer Him­mels­kör­per las­sen sich alle­samt in der Spra­che der Tou­ren­pla­nung for­mu­lie­ren. Sie­he z.B. [2].

TSP: Beispiel

Das TSP ist ein Pro­to­typ für vie­le Trans­port- und Res­sour­cen­fluss­pro­ble­me. Schon eine Instanz mit weni­gen zu besu­chen­den Orten ver­deut­licht die Schwie­rig­kei­ten. Es sei­en 4 Orte so zu besu­chen, sodass die Rei­se­zeit mini­mal wird. Wir ver­zich­ten der Ein­fach­heit hal­ber auf die Neben­be­din­gung, dass Start­punkt und End­punkt iden­tisch sein sollen.

Abbil­dung 1: Illus­tra­ti­on von Rei­se­dau­ern in einem Tou­ren­pla­nungs­pro­blem. 4 Orte mit bekann­ten Abstän­den von­ein­an­der sol­len durch­lau­fen wer­den. (a), (b). Die Zeit­dau­ern für eini­ge der Rou­ten sind in © festgehalten.

Die kür­zes­te Tour im obi­gen Bei­spiel ist \(1\rightarrow 2\rightarrow 3\rightarrow 4\) mit 10h Rei­se­dau­er. Die­ses Resul­tat ist jedoch erst ersicht­lich, nach­dem alle \(4!=4*3*2*1=24\) mög­li­chen Tou­ren durch­ge­rech­net und deren Län­gen ver­gli­chen wur­den. Die­ses Ver­fah­ren basie­rend auf der Durch­sicht aller mög­li­chen Optio­nen ver­liert mit zuneh­men­der Anzahl an Ziel­or­ten rapi­de an Prak­ti­ka­bi­li­tät. Für 12 Orte müs­sen bereits 500 000 000 Optio­nen durch­ge­rech­net wer­den. Die Ein­füh­rung von Neben­be­din­gun­gen und kom­ple­xe­ren Ziel­funk­tio­nen erfor­dert einen kom­plett ande­ren Ansatz zur Lösung des Problemes.

Optimierungsformulierung

Die For­mu­lie­rung von Tou­ren­pla­nungs­pro­ble­men wie dem TSP ist mit­tels gemischt-ganz­zah­li­ger linea­rer Opti­mie­rung mög­lich. Dazu wer­den binä­re Varia­blen \(x_{ij}\in \{0,1\}\) ein­ge­führt, die anzei­gen, ob der Direkt­weg von Punkt \(i\) nach Punkt \(j\) zurück­ge­legt wird oder nicht. Mit \(c_{ij}\) den Rei­se­dau­ern zwi­schen den Punk­ten \(i\) und \(j\) ergibt sich das Opti­mie­rungs­pro­blem [3]

$$\begin{align} \min{x_{ij}} ~~~ & \sum_{i=1}^n \sum_{j=1, j\neq i}^n c_{ij}x_{ij} &&\\ \text{s.t.} ~~~& \sum_{i=1, i \neq j}^n x_{ij}=1 &&j=1, …, n \\ &\sum_{j=1, j\neq i}^n x_{ij}=1 && j=1, …, n \\ & \sum_{i \in Q} \sum_{j\in Q, j\neq i} x_{ij}\le |Q|-1 && \forall Q\underset{\neq}{\subset} \{1, … , n\}, |Q|\ge 2 \end{align}$$

Die Rol­le der Neben­be­din­gun­gen besteht im Erzwin­gen eines Flus­ses auf dem Trans­port­netz, bei dem jeder Ort genau ein­mal ange­fah­ren und auch ver­las­sen wird und der kei­ne Schlei­fen beinhaltet.

Generalisierung

Um der Kom­ple­xi­tät fon Echt­welt­pro­ble­men gerecht zu wer­den, erwei­sen sich in der Pra­xis wei­te­re Neben­be­din­gu­gen und Modell­de­tails als nötig. So sind unter ande­rem fol­gen­de Sach­ver­hal­te zu modellieren:

  • Die Anwe­sen­heit meh­re­rer Trans­port­ve­hi­kel und die Mög­lich­keit zur Anmie­tung weiterer
  • Kapa­zi­täts­be­schrän­kun­gen der aus­lie­fern­den Vehikel
  • Maxi­ma­le zuläs­si­ge Fahrt­dau­ern und fixe Zeit­rah­men für Lieferungen
  • Gleich­zei­ti­ges Aus­lie­fern und Produktrücknahmen
  • Ver­trags­stra­fen bei nicht getä­tig­ten Lieferungen
  • Zufäl­li­ge Effek­te und robus­te Tourenpläne

All dies sorgt dafür, dass Tou­ren­pla­nungs­pro­ble­me oft sehr kom­pli­zier­te mathe­ma­ti­sche For­mu­lie­run­gen haben mit einer unüber­sicht­li­chen men­ge an Gleichungen.

Beispiel

Es ste­hen 3 Vehi­kel zur Ver­fü­gung. Die­se soll­ten eine Men­ge von \(n=45\) Orten \(v_i, i=1, … n\) so abfah­ren, dass die Län­ge der längs­ten Tour mini­miert wird. Dies kann z.B. for­mu­liert wer­den als das Opti­mie­rungs­pro­blem [4, p. 154]

$$\begin{align} \min_{x_{ij}} ~~~& \max\big(\sum_{i<j} x_{ij}x_{ij}^1, && \sum_{i<j}c_{ij}x_{ij}^2, ~~~~~ \sum_{i<j} c_{ij}x_{ij}^3\big) \\ \text{s.t.} ~~~& x(\delta(\{v_0\}))=6 && \\ &x(\delta(\{v_i\})=2 && i=1, …, n \\ & x(\delta(S)) = 6 && S\subseteq V\setminus\{v_0\} \\ & 0 \le x_{0j}^k \le 2 && j=1, …, n ~~~ k=1, 2, 3 \\ & 0 \le x_{ij}^k \le 1 && i < j~~~ i,j =1, …, n ~~~ k=1, 2, 3 \\ & x_{ij}^k \in \mathbb{Z} && i\le j ~~~ i,j=1, …, n ~~~ k=1, 2, 3 \end{align} $$

Hier­bei ist \(x_{ij}^k\) eine Indi­ka­tor­va­ria­ble, die anzeigt, ob das Vehi­kel \(k\) von \(i\) nach \(j\) fährt, \(V=\{v_0, …, n_n\}\) ist die Men­ge aller Orte inklu­si­ve des Start- und End­punk­tes \(v_0\) und \(\delta(S)\) ist die Men­ge der Ver­bin­dun­gen aus der Men­ge \(S\) hin­aus. Der Term \(x(\delta(S))\) ist die Sum­me der tat­säch­lich abge­fah­re­nen Ver­bin­dun­gen aus der Men­ge \(S\) hinaus.

Abbil­dung 2: Zwei zufäl­li­ge Pro­blem­in­stan­zen, bei denen die Orte der \(n=45\) Punk­te zufäl­lig aus­ge­wählt wur­den (a), (b). Die opti­ma­le Tou­ren­pla­nung mit 3 Vehi­keln ist in ©, (d) dar­ge­stellt. Sie mini­miert die maxi­ma­le Tourenlänge.

Lösung

Man beach­te, dass die For­de­rung \(x(\delta(S))=6 \forall S \subseteq V \setminus \{v_0\}\) eine Glei­chung für jede Unter­men­ge von \(V=\{v_1, … ‚v_n\}\) beinhal­tet. Da sind expo­nen­ti­ell vie­le Glei­chun­gen und im obi­gen Bei­spiel unge­fähr \(2^{45}\approx 35\) Bil­lio­nen. Die­se sind weder per Hand for­mu­lier­bar noch lös­bar und auch für einen nor­ma­len Com­pu­ter nicht zugänglich.

Es exis­tiert jedoch leis­tungs­fä­hi­ge Soft­ware, die die­se Pro­ble­me mit­tels Heu­ris­ti­ken appro­xi­ma­tiv löst. Wie haben für das obi­ge Bei­spiel die Pro­gramm­bi­blio­thek OR-Tools von Goog­le ver­wen­det — eine Tool­box mit Python Inter­face, die sich expli­zit mit der Bereit­stel­lung von Algo­rith­men für das Ope­ra­ti­ons rese­arch beschäf­tigt. Mehr Infor­ma­tio­nen zu dem mass­geb­lich von Lau­rent Per­ron und Vin­cent Fur­non ent­wi­ckel­ten und öffent­lich ver­füg­ba­ren Paket fin­den Sie hier .

Praktisches

Auf­grund der Schwie­rig­keit, Tou­ren­pla­nungs­pro­ble­me exakt zu lösen, wur­den Algo­rith­men ent­wi­ckelt, die schnell zu guten aber ver­mut­lich nicht opti­ma­len Tou­ren füh­ren. Auf­grund der wirt­schaft­li­chen Bedeu­tung von Trans­port­pro­ble­men ist viel Arbeit in die Ent­wick­lung diver­ser Heu­ris­ti­ken geflos­sen und es sind eini­ge prak­ti­sche Regeln ent­stan­den, die ohne grös­se­ren Rechen­auf­wand ad-hoc von Anwen­dern benutzt wer­den können.

Ein Bei­spiel dafür ist die lar­gest-gap-stra­tegy, nach der Gabel­stap­ler­fah­re­rIn­nen ihre Rou­ten in einem Waren­la­ger wäh­len [5]. Tou­ren­pla­nungs­pro­ble­me sind dem­nach noch immer nicht exakt lös­bar aber zumin­dest appro­xi­ma­tiv. Und die durch Opti­mie­rung gefun­de­nen Rou­ten sind oft um 10–15% bes­ser als manu­ell geplan­te [4, p. 153].

Code & Quellen

Bei­spiel­code: OD_routing.py in unse­rem Tuto­ri­al­fol­der

[1] Owoc, M., & Sar­gious, M. A. (1992). The Role of Trans­por­ta­ti­on in Free Trade Com­pe­ti­ti­on. In N. Waters (ed.), Cana­di­an Trans­por­ta­ti­on: Com­pe­ting  in a Glo­bal Con­text. Banff, Alber­ta, Canada.

[2] Len­s­tra, J. K. & Rin­nooy, K. (1975). Some Simp­le Appli­ca­ti­ons of the Tra­vel­ling Sales­man Pro­blem. Ope­ra­tio­nal Rese­arch Quar­ter­ly, 26(4), 717–733.

[3] Dant­zig, G., Ful­ker­son, R., & John­son, S. (1954). Solu­ti­on of a lar­ge-sca­le Tra­vel­ling Sales­man Pro­blem. Jour­nal of the Ope­ra­ti­ons Rese­arch Socie­ty of Ame­ri­ca, 2(4), 393–410.

[4] Appa, G. M., Pitsou­lis, L., & Wil­liams, H. P. (2006). Hand­book on Model­ling for Dis­crete Optimi­zation. Ber­lin, Hei­del­berg: Springer.

[5] Peter­sen, C. G. (1997). An Eva­lua­ti­on of Order Picking Rou­ting Poli­ci­es. Inter­na­tio­nal Jour­nal of Ope­ra­ti­ons & Pro­duc­tion Manage­ment, 17, 1096–1111.