Differenzierbares Programmieren stammt von Deep Learning und stellt das Zusammentreffen zweier algorithmischer Bereiche dar, nämlich des
maschinellen Lernens und der numerischen Optimierung. Durch das differenzierbare Programmieren sind einige Supply Chain Szenarien, die bisher größtenteils als unlösbar galten, nahbar: die gemeinsame Optimierung von Preis und Bestand, die Optimierung des Sortiments auf Grundlage der Kundenbindung, die Bestandsprognose für seltene Produkte (z.B. Edelsteine, Kunstwerke), mehrstufige Flussoptimierung bei Großunternehmen, gemeinsame Optimierung mehrerer Kanäle, Bestandsoptimierung bei teilweise fehlerhaften elektronischen Bestandszahlen, Flussmaximierung unter vielzähligen Beschränkungen bei Großunternehmen, usw. Für viele andere Szenarien, die bereits mit anderen Methoden bearbeitet wurden, liefert differenzierbares Programmieren bessere numerische Ergebnisse mit nur einem Bruchteil an Mehraufwand, was die Data Scientists und die Rechenressourcen betrifft.
Differenzierbares Programmieren im Gange
Anwendung auf Lieferketten
Von Kern auf bietet Differenzierbares Programmieren (DP) einen Weg, Probleme, die schon viel zu lange getrennt behandelt werden, zu vereinen, um sie
zusammen zu lösen: Sortiment, Preisgestaltung, Prognose, Planung, Vermarktung. Auch wenn eine solcher Zusammenschluss unrealistisch ambitioniert erscheinen mag, muss man sich vor Augen führen, dass Unternehmen jede Menge Notlösungen und Umwege für die eigenen Prozesse finden müssen, um mit den unzähligen Problemen zurechtzukommen, die gerade aufgrund der
Trennung dieser Herausforderungen im Unternehmen entstanden sind. Beispielsweise wirkt sich die Preisgestaltung logischerweise auf den Bedarf aus, jedoch werden Planungen und Prognosen fast immer ohne jegliche Berücksichtigung von Preisen erstellt.
DP bietet eine unglaubliche Gelegenheit, ungefähr richtige Entscheidungen aus einer ganzheitlichen Perspektive auf das Unternehmen zu liefern, statt genau falsche Entscheidungen, bei denen die Probleme im Unternehmen verstreut, statt gelöst werden.
Einzelbeobachtungen zur Folge kann man sagen, dass das Streben nach einer ungefähren Richtigkeit bei Betrachtung des Unternehmens als Ganzes genau das ist, was die meisten Unternehmen, die auf Kalkulationstabellen zurückgreifen, tun; in Ermangelung einer Technologie, wie DP, die in der Lage ist, eine ganzheitliche Unternehmensperspektive zu nutzen, sind Kalkulationstabellen die weniger furchtbare Option.
E-Commerce
Die Möglichkeit, 100 % der verkauften Einheiten bekannten Kunden zuzuordnen, stellt eine unglaublich große Menge latenter Information über den Markt dar. Dennoch werden heutzutage bei der Preis- und Bestandsoptimierung nicht einmal Informationen aus Kundenbindungsprogrammen genutzt. DP bietet die Gelegenheit, von der Prognose über
Zeitreihen zur Prognosen über
Zeitgraphen übergehen, bei denen jedes jemals beobachtetes Kunden-Produkt-Paar mit einfließt, was zu klügeren Entscheidungen für Bestände und Preise führt.
Luxusmarken
Lange galt die Optimierung von Preisen und Sortiment, bis auf Ladenebene, aufgrund der Seltenheit der Daten, d.h. kleinen Absatzvolumina pro Geschäft und Artikel – bis hin zu einem einzelnen Artikel pro Geschäft und Jahr – als größtenteils unlösbar. DP bietet verschiedene Perspektiven, um Arten von Lösungen zu liefern, die bei solchen ultraseltenen Daten funktionieren, weil sie von Grund auf mit einer viel höheren
Dateneffizienz als die gängigen Deep Learning Methoden arbeiten.
Modemarken
Die gleichzeitige Optimierung von Beständen und Preisen ist eine klare Anforderung, da der Bedarf für viele Artikel stark von dem Preis abhängen kann. Dennoch konnte die gleichzeitige Optimierung des Einkaufs und der Preise bisher nicht erreicht werden, da es kein Tool gab, dass dieses Paar erfassen konnte – also, dass die Fähigkeit, mehr zu einem geringeren Preis kaufen zu können, den Bedarf erhöht (und umgekehrt). DP bietet ausreichende Ausdrucksfähigkeit, um sich dieser Herausforderung anzunehmen.
Herstellung
Die numerische Optimierung mehrstufiger und umfangreicher Netzwerke scheitert, wenn man mit klassischen numerischen Lösern herangeht (s. „Jenseits der Branch-and-Cut Optimierung“ unten). In der Tat sind diese Löser recht unpraktisch, wenn man es mit Millionen von Variablen bzw. mit stochastischem Verhalten zu tun hat. Leider geht die Herstellung sowohl mit einer Vielzahl von Variablen sowie mit stochastischem Verhalten einher. Hier bietet DP eine praktische Perspektive, mit der man der Mehrstufigkeit Herr wird, ohne die Komplexität der tatsächlichen Flussmuster im Netzwerk zu vernachlässigen.
MRO (Wartung, Reparatur und Betrieb)
Fehlt ein Teil für die Reparatur eines Systems, kann das ganze System, das beispielsweise sogar ein Flugzeug sein kann, außer Betrieb bleiben. Probabilistische Vorhersagen stellen den ersten Schritt dar, um mit solchen schwankenden und sporadischen Bedarfsmustern zurechtzukommen. Doch die Funktionsweise der Kookurrenzen der nötigen Teile zu verstehen und diese Analyse in umsetzbare Empfehlungen für den Bestand umzuwandeln, war leider zu komplex, als dass sie praktisch gewesen wäre. DP vereinfacht die Lösung solcher Probleme.
Einzelhandelsnetzwerke
Seit langem ist die vorrangige Bedeutung der Kannibalisierung innerhalb von Einzelhandelsnetzwerken – oft zwischen Produkten, aber manchmal auch zwischen Geschäften – bekannt. Das Problem wird durch Aktionen, mit denen Kunden von einer Marke zu einer anderen geführt werden sollen, verschärft. DP bietet die Möglichkeit, Kannibalisierung im Zusammenhang mit Aktionen festzustellen. Statt lediglich „Aktionen zu prognostizieren“, bietet DP die Möglichkeit, Aktionen für ihren eigentlichen Zweck zu
optimieren: rentable Angebote, die gemeinsam durch Vertriebskanal und Marke gestaltet werden.
Jenseits des Hypes um die Künstliche Intelligenz
Künstliche Intelligenz (KI) war in Tech-Kreisen zweifelsohne das Schlagwort des Jahres 2018 und lässt auch 2019 noch von sich hören. Obwohl wir bei Lokad eine Vielzahl an Techniken nutzen, die unter das Schlagwort KI fallen, etwa Deep Learning, scheuen wir uns davor, den KI-Teil von Lokads Technologie in den Mittelpunkt zu stellen. Denn was die Optimierung quantitativer Lieferketten betrifft, funktionieren vorgefertigte KI-Anwendungen einfach nicht. Lieferketten sind in keinster Weise etwa der Computer Vision ähnlich, die Daten, Kennzahlen und Aufgaben sind extrem vielfältig. Folglich entdecken Unternehmen, die theoretisch einsatzfertige KI-Lösungen erworben haben, nach und nach, dass diese – außer evtl. bei den einfachsten Fällen, in denen es ein simples regelbasiertes System auch getan hätte – nie funktionieren werden. Lieferketten sind grundsätzlich komplexe von Menschen geschaffene Systeme. Es wäre unvernünftig zu erwarten, dass ein KI-System, das sich lediglich auf Daten stützt, von selbst auf wesentlichen Einblicke in die Branche kommt, wie etwa:
- Aktionen für eine Luxusmarke sind ein großes Tabu.
- negative Kundenaufträge im ERP sind eigentlich Rücksendungen.
- Frischware muss bei einer spezifischen Temperatur innerhalb der angegebenen Spanne transportiert werden.
- Farbvarianten können bei Kleidung gut als Ersatz dienen, was bei Größen eher nicht der Fall ist.
- die Instandhaltung von Flugzeugen richtet sich nach Flugstunden und -zyklen.
- Umsätze in UK sind tatsächlich in GBP, auch wenn im ERP unter Währung EUR angezeigt wird.
- Menschen kaufen Autoteile für ihre Autos und nicht für sich selbst.
- jeder Diamant ist einzigartig, aber die Preise hängen von den Karat, der Reinheit, der Farbe und dem Schliff ab.
- jegliche fehlende NOGO-Teile eines Flugzeugs führen dazu, dass dieses nicht abheben darf.
- viele Chemieanlagen brauchen nach Ausschaltung Wochen für einen Neustart.
In der fernen Zukunft mag vielleicht eine Zeit kommen, in der maschinelles Lernen menschliche Intelligenz erfolgreich nachahmen kann und bei komplexen Problemen (
wicked problems) , Ergebnisse liefert. Bislang waren die Ergebnisse jedoch nur bei relativ
begrenzten Problemen zu sehen. Jährlich rütteln die Technologien für maschinelles Lernen an der Definition eines „begrenzten Problems“ und nach Jahrzehnten von Anstrengungen sind wichtige Probleme wie etwa ein sicheres autonomes Fahren und brauchbare automatisierte Übersetzung gänzlich oder fast gelöst. Dennoch sind Lieferketten, wie aus der obigen Liste hervorgeht, weiterhin zu vielseitig für die direkte Anwendung von Algorithmen für maschinelles Lernen „von der Stange“. Auch wenn Deep Learning die bis heute beste Verallgemeinerungsfähigkeit bietet, ist immer noch das Input eines
Supply Chain Scientist nötig, um das Problem so einzugrenzen, dass Algorithmen überhaupt funktionieren.
In dieser Hinsicht war Deep Learning unglaublich erfolgreich, weil es im Gegensatz zu früheren Ansätzen im maschinellen Lernen sehr
kompositorisch ist, d.h. die
Struktur des Modells kann umfangreich angepasst werden, um in einer bestimmten Situation besser zu lernen. Zu unterscheiden ist die Anpassung der Struktur des Modells vom
Input des Modells – auch als Feature Engineering bekannt –, das gewöhnlich die einzige verfügbare Option für Algorithmen für maschinelles Lernen war, die nicht zum Deep Learning gehörten, wie etwa Random Forests
3.
Doch aus den „großen Problemen“ des maschinellen Lernens, also Computer Vision, Spracherkennung, Sprachsynthese und automatisierte Übersetzung, kamen Deep Learning-Frameworks hervor, die für Szenarien, die sich von den Problemen in Lieferketten kaum mehr unterscheiden könnten, entwickelt und tiefgreifend angepasst wurden. Auch wenn
es möglich ist, diese Frameworks zum Zweck der Lieferkettenoptimierung einzusetzen, ist es weder ein
einfaches noch ein
leichtes Vorhaben. Zusammenfassend kann man mit Deep-Learning-Frameworks viel im Bereich Lieferketten erreichen, doch die Impedanz-Fehlanpassung zwischen Lieferketten und dem bestehenden Deep-Learning ist groß, was Kosten und Verzögerungen erhöht und die Anwendbarkeit solcher Technologien auf echte Szenarien einschränkt.
Jenseits der Branch-and-Cut Optimierung
Die meisten Probleme im Zusammenhang mit der Lieferkette haben einerseits einen Lernaspekt – aufgrund des lückenhaften Wissens über die Zukunft sowie dem aktuellen Zustand des Marktes und manchmal sogar des eigenen Lieferkettensystems (z.B. Fehler im Lagerbestand) – andererseits verfügen sie auch über den Aspekt der numerischen Optimierung. Entscheidungen müssen in Bezug auf Wirtschaftstreiber
optimiert werden, während auch viele nichtlineare Beschränkungen (z.B. Mindestbestellmengen beim Einkauf oder Losgrößen bei der Produktion) berücksichtigt werden.
Was die numerische Optimierung betrifft, wird der Bereich seit Jahrzehnten von der ganzzahlige lineare Optimierung und den verwandten Techniken, wie etwa Branch-and-Cut beherrscht. Doch diese Branch-and-Cut Algorithmen und die entsprechenden Software-Lösungen konnten meist nicht die für viele, oder gar die meisten, Lösungen für Lieferkettenprobleme nötige Flexibilität und Skalierbarkeit liefern. Die ganzzahlige lineare Optimierung bietet ein einmaliges Werkzeug zur Lösung lokalisierter Probleme mit wenigen Variablen (z.B. Komponentenplatzierung in einem Unterhaltungselektronikgerät), jedoch kommen drastische Einschränkungen zu Tage, wenn es um umfangreiche Probleme geht, bei denen auch der Zufall eine Rolle spielt (z.B. bei der Anpassung von Lagerbeständen bei 10 Millionen SKUs und gleichzeitigem probabilistischem Bedarf und probabilistischen Transportzeiten).
Eines der Aspekte des Deep Learning, der am wenigsten Beachtung findet, ist, dass sein Erfolg auf den Ergebnissen von Durchbrüchen sowohl im
Lernen als auch in der
Optimierung beruht. Das liegt an der Entdeckung der Wissenschaftler, dass ungeheuerlich effiziente Algorithmen umfangreiche Optimierungen durchführen. Diese „Deep-Learning-Optimierungsalgorithmen“ – die sich um den
stochastischen Gradientenabstieg drehen – sind nicht nur deutlich effizienter als das entsprechende Branch-and-Cut Pendant, sondern passen auch viel besser zu unserer Hardware, also SIMD CPU und (GP)GPU, was in der Praxis zu einer zusätzlichen Geschwindigkeit von zwei bis drei Größenordnungen führt. Diese Durchbrüche in der reinen
numerischen Optimierung sind von größter Bedeutung zur Optimierung von
Entscheidungen im Zusammenhang mit Lieferketten. Bedenkt man jedoch, dass Deep Learning-Frameworks schon für die Lösung von
Lernproblemen in Lieferketten ungeeignet waren, sind sie für
Optimierungsprobleme in Lieferketten noch ungeeigneter. Tatsächlich hängen diese Optimierungsprobleme noch mehr von der Ausdrucksfähigkeit des Frameworks ab, damit der Supply Chain Scientist in der Lage ist, Beschränkungen und Kennzahlen
einzuführen, sodass diese auch eingehalten und optimiert werden.
Auf dem Weg zum differenzierbaren Programmieren
Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis. Aber in der Praxis schon.
Walter J. Savitch, Pascal: An Introduction to the Art and Science of Programming (1984)
Differenzierbares Programmieren (DP) ist der Schlüssel, um Lieferketten das Beste aus dem Deep Learning für das Lernen und für die numerische Optimierung zu bieten. Mit DP können Supply Chain Scientists ihre menschlichen Einblicke komplett einbringen, um numerische Rezepte zu schaffen, die stark an die Unternehmensziele gekoppelt sind. Zwischen Deep Learning und dem Differenzierbaren Programmieren gibt es keine klare Trennlinie, vielmehr handelt es sich um ein Kontinuum, das von der höchsten Skalierbarkeit (Deep Learning) zur höchsten Ausdrucksfähigkeit (Differenzierbares Programmieren) geht; zwischen den beiden kommen nach und nach auf dem Weg zum Differenzierbaren Programmieren und auf Kosten der Skalierbarkeit verschiedene Programmierungsmöglichkeiten auf. Doch unserer Erfahrung nach stellt gerade der Übergang von Tools, die hauptsächlich für Computer Vision erstellt wurden, zu Tools, die speziell für Herausforderungen in Lieferketten entwickelt wurden, den Unterschied zwischen einem „interessanten“ Prototypen, der nie produktiv gehen wird, und einem industrietauglichen System dar, das in Großbetrieben eingesetzt wird.
| Deep Learning | Differenzierbares Programmieren |
Hauptziel |
Lernen |
Lernen+Optimierung |
Typische Anwendung |
einmaliges Lernen, mehrmalige Bewertung |
einmaliges Lernen, einmalige Bewertung |
Granularität der Eingabe |
fat Objekte (Bilder, Tonsequenzen, Lidar-Scans, Seiten Volltext) |
thin Objekte (Produkte, Kunden, SKUs, Preise) |
Eingabevarianten |
homogene Objekte (z.B. Bilder mit der gleichen Höhe/Breite-Proportion) |
heterogene Objekte (relationale Tabellen, Graphen, Zeitreihen) |
Eingabevolumen |
Von Megabytes zu Petabytes |
Von Kilobytes zu Dutzenden Gigabytes |
Hardwarebeschleunigung |
außerordentlich gut |
gut |
Ausdrucksfähigkeit |
Statische Graphen von Tensorrechnungen |
(fast) beliebige Programme |
Stochastische numerische Rezepte
| integriert |
auch |
Die typische Anwendung ist ein subtiler aber wichtiger Punkt. Von der Perspektive der „großen KI“ aus, darf die Trainingszeit (fast) beliebig lang sein und es ist in Ordnung, ein Netzwerk wochenlang, wenn nicht gar monatelang, zu trainieren. Zu einem späteren Zeitpunkt muss das Netzwerk gewöhnlich in Echtzeit bewertet werden (z.B. Mustererkennung beim autonomen Fahren). Dieser Ansatz ist gänzlich vom Vorgehen bei Lieferketten unterschiedlich, bei denen die besten Ergebnisse erreicht werden, wenn das System jedes Mal neu trainiert wird. Zusätzlich sind aus einer DP-Perspektive die Trainingsparameter gerade die eigentlichen
Ergebnisse, die wir erreichen möchten, wodurch die Beschränkung der Echtzeitbewertung in Frage gestellt wird. Die Erwartungen rund um die Dateneingabe, sowohl was die Granularität betrifft, aber auch die Varianten und das Volumen, gehen ebenfalls weit auseinander. Gewöhnlich stellt die große KI-Perspektive eine praktisch unendliche Menge an Trainingsdaten in den Fokus (z.B. alle Textseiten im Web), wo die Hauptherausforderung darin besteht, unglaublich skalierbare Methoden zu finden, um diese massiven Datasets anzuzapfen. Im Gegensatz hierzu müssen sich Probleme im Zusammenhang mit Lieferketten auf eine begrenzte Anzahl hochstrukturierter obgleich auch diverser Daten beziehen.
Dies lenkt Deep Learning zu tensorbasierten Frameworks, die über spezifische Hardware, anfänglich GPUs und nun auch zunehmend TPUs, beschleunigt werden können. Da sich Differenzierbares Programmieren auf den stochastischen Gradientenabstieg stützt, verfügt es auch über günstige Eigenschaften zur Hardwarebeschleunigung, wenn auch in einem kleineren Ausmaß im Vergleich zu statischen Graphen von Tensorrechnungen. Stochastische numerische Rezepte haben zweierlei Bedeutung. Einerseits spielen diese Rezepte eine wichtige Rolle aus der
Lernperspektive. Variationale Autoencoder oder Dropouts sind Beispiele solcher numerischer Rezepte. Andererseits spielen diese Rezepte auch eine wichtige Rolle aus der Sicht der Modellierung, um probabilistisches Verhalten (z.B. abweichende Durchlaufzeiten) in die Lieferkettensysteme einbinden zu können. Umgekehrt ist die Kluft zwischen dem Differenzierbaren Programmieren und der gemischt ganzzahligen linearen Optimierung groß – in den letzten Jahrzehnten lag der vorherrschende Ansatz in der Durchführung komplexer numerischer Optimierungen.
| Gemischt ganzzahlige lineare Optimierung | Differenzierbares Programmieren |
Hauptziel |
Optimierung |
Lernen+Optimierung |
Granularität und Varianten der Eingabe |
thin Objekte, heterogene |
auch |
Eingabevolumen |
von Bytes zu Dutzenden Megabytes |
von Kilobytes zu Dutzenden Gigabytes |
Hardwarebeschleunigung |
schlecht |
gut |
Ausdrucksfähigkeit |
Ungleichungen zu linearen und quadratischen Formen |
(fast) beliebige Programme |
Stochastische numerische Rezepte |
keine |
integriert |
Zur Verteidigung der Tools für gemischt ganzzahlige lineare Optimierung kann man sagen, dass – wenn sie ein Problem lösen – dies im mathematischen Sinne
beweisen kann, dass die optimale Lösung gefunden wurde. Weder Deep Learning noch das Differenzierbare Programmieren bieten in dieser Hinsicht jegliche formale Beweise.
Schlussfolgerungen
Differenzierbares Programmieren stellt für Lieferketten einen Durchbruch dar. Es wurde auf Grundlage des
Deep Learning entwickelt – das viele der großen KI-Probleme, wie etwa Computer Vision, erfolgreich gelöst hat – und von Kern auf für reale Herausforderungen, wie etwa bei Lieferketten, angepasst. Lokad hat ihre Deep Learning Prognosetechnologie ausgebaut, um Ihnen den Übergang zum Differenzierbaren Programmieren, der nächsten Generation unserer prädiktiven Technologie, zu bieten. Doch DP ist weitaus mehr als nur
prädiktiv, es führt
Optimierung und
Lernen zusammen und ermöglicht somit Lösungen für eine Vielzahl bisher praktisch unlösbarer Probleme.