Differenzierbares Programmieren

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 ist1.
  • 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) 2, 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 Forests3.

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 Frameworks4 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 liefern5. 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ühren6. 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 LearningDifferenzierbares 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 OptimierungDifferenzierbares 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.