Wir freuen uns, die sofortige Verfügbarkeit des Lokad Private Beta für differenzierbares Programmieren bekannt zu geben, das für die Optimierung von quantitativen Lieferketten vorgesehen ist. Differenzierbares Programmieren ist der Nachfolger des Deep Learning und stellt die Konvergenz zweier algorithmischer Bereiche dar: Maschinelles Lernen und numerische Optimierung.

Zeitleiste des differenzierbaren Programmierens bei Lokad

Differenzierbares Programmieren entsperrt eine Reihe von Lieferketten-Szenarien, die bisher als weitgehend unlösbar angesehen wurden: gemeinsame Optimierung von Preisen und Beständen, assortimentsgesteuerte Optimierung, Prognose der Nachfrage nach nicht standardmäßigen Produkten (z. B. Edelsteine, Kunstwerke), Optimierung des Flusses in mehreren Ebenen im großen Maßstab, gemeinsame Optimierung in vielen Kanälen, Bestandsoptimierung bei teilweise falschen elektronischen Bestandswerten, Maximierung des Flusses im großen Maßstab unter vielen Einschränkungen usw. Für viele andere Szenarien, die bereits mit alternativen Methoden angegangen werden konnten, liefert differenzierbares Programmieren überlegene numerische Ergebnisse mit nur einem Bruchteil des Aufwands sowohl in Bezug auf die Bemühungen der Datenwissenschaftler als auch auf die Rechenressourcen.

Anwendung auf Lieferketten

Im Kern bietet das differenzierbare Programmieren (DP) einen Weg, um Probleme zu vereinheitlichen, die zu lange voneinander getrennt waren, und löst sie gemeinsam: Sortiment, Preisgestaltung, Prognose, Planung, Merchandising. Eine solche Vereinheitlichung mag unrealistisch ehrgeizig erscheinen, aber die Realität ist, dass Unternehmen bereits eine enorme Menge an Klebeband auf ihre eigenen Prozesse aufbringen, um mit den endlosen Problemen umzugehen, die dadurch entstehen, dass diese Herausforderungen von Anfang an innerhalb der Organisation isoliert waren. Zum Beispiel wirkt sich die Preisgestaltung offensichtlich auf die Nachfrage aus, und dennoch werden sowohl die Planung als auch die Prognose fast immer durchgeführt, ohne die Preise überhaupt zu berücksichtigen.

DP bietet die enorme Möglichkeit, annähernd korrekte Entscheidungen aus einer ganzheitlichen Perspektive auf das Geschäft zu treffen, anstatt genau falsch zu sein und Probleme innerhalb der Organisation zu verlagern, anstatt sie zu lösen. Anekdotisch gesehen ist die Suche nach annähernder Korrektheit unter Berücksichtigung des gesamten Geschäfts genau das, worum es den meisten organisationsgetriebenen Tabellenkalkulationsunternehmen geht. Und mangels einer Technologie - wie DP - die in der Lage ist, eine ganzheitliche Geschäftsperspektive zu erfassen, bleiben Tabellenkalkulationen die am wenigsten schreckliche Option.

E-Commerce: Die Möglichkeit, 100% der verkauften Einheiten bekannten Kunden zuzuordnen, stellt eine enorme Menge an latenten Informationen über den Markt dar. Wenn es jedoch um die Preisgestaltung und die Optimierung des Lagerbestands geht, werden die Kundenbindungsinformationen heutzutage in der Regel nicht einmal verwendet. DP bietet die Möglichkeit, von einer Zeitreihen-Prognose zu einer temporalen Graphen-Prognose überzugehen, bei der jede einzelne beobachtete Kunden-Produkt-Kombination wichtig ist und zu intelligenteren Entscheidungen sowohl für Bestände als auch für Preise führt.

Luxusmarken: Die Optimierung von Preisen und Sortimenten - bis hin zur Filialebene - galt lange Zeit als weitgehend unlösbar aufgrund der Spärlichkeit der Daten, d. h. des sehr geringen Absatzvolumens pro Artikel pro Geschäft - so niedrig wie ein verkauftes Stück pro Produkt pro Geschäft pro Jahr. DP bietet Ansätze, um Lösungen für solch extrem spärliche Daten zu liefern, da sie darauf ausgelegt sind, eine viel größere Dateneffizienz als herkömmliche Deep-Learning-Methoden zu bieten.

Mode-Marken: Die gemeinsame Optimierung von Beständen und Preisen ist eine klare Anforderung - da die Nachfrage nach vielen Artikeln stark vom Preis abhängig sein kann - jedoch konnte die gemeinsame Optimierung von Einkauf und Preisgestaltung aufgrund des Mangels an einem Werkzeug, das dieses Kopplung - d. h. die Fähigkeit, bei niedrigerem Preis mehr zu kaufen, mehr Nachfrage zu generieren (und umgekehrt) - überhaupt erfassen kann, nicht erreicht werden. DP bietet die Ausdruckskraft, um diese Herausforderung anzugehen.

Fertigung: Die numerische Optimierung von umfangreichen Mehr-Ebenen-Netzwerken scheitert, wenn sie mit klassischen numerischen Solvern versucht wird (siehe “Über die Optimierung von Branch-and-Cut hinaus” unten). Tatsächlich werden diese Solver weitgehend unpraktisch, wenn es um Millionen von Variablen oder stochastisches Verhalten geht. Leider weist die Fertigung sowohl viele Variablen als auch stochastisches Verhalten auf. DP bietet einen praktischen Ansatz, um mit Mehr-Ebenen umzugehen, ohne die Komplexität der tatsächlichen Flussmuster im Netzwerk zu verraten.

MRO (Wartung, Reparatur, Überholung): Wenn ein Teil, das für die Reparatur eines Systems benötigt wird, fehlt, bleibt das gesamte System - das möglicherweise ein Flugzeug ist - stehen. Wahrscheinlichkeitsprognosen sind der erste Schritt, um mit solchen unregelmäßigen und intermittierenden Nachfragemustern umzugehen, aber die Feinheiten der gleichzeitigen Vorkommen der benötigten Teile herauszufinden und diese Analyse in handlungsfähige Bestandsempfehlungen umzusetzen, war zu komplex, um praktisch nutzbar zu sein. DP vereinfacht die Lösung solcher Probleme.

Einzelhandelsnetzwerke: Kannibalisierungen innerhalb von Einzelhandelsnetzwerken - normalerweise zwischen Produkten, manchmal aber auch zwischen Filialen - wurden schon lange als von grundlegender Bedeutung erkannt. Dieses Problem wird durch Promotions verstärkt, die genau dazu dienen, Kunden von einer Marke zur anderen zu lenken. DP bietet die Möglichkeit, Kannibalisierung in Anwesenheit von Promotions anzugehen. Anstatt nur “Promotions vorherzusagen”, bietet DP die Möglichkeit, Promotions zu optimieren für das, was sie sind: profitable Deals, die gemeinsam vom Vertriebskanal und der Marke betrieben werden.

Jenseits des Hypes um Künstliche Intelligenz

Künstliche Intelligenz (KI) war sicherlich das Technik-Schlagwort des Jahres 2018 und der Hype hält auch 2019 noch an. Lokad verwendet zwar umfangreich Techniken, die normalerweise für das KI-Schlagwort qualifizieren - z. B. Deep Learning -, aber wir haben uns dagegen entschieden, den Schwerpunkt auf den “KI”-Teil von Lokads Technologie zu legen. Tatsächlich funktioniert verpackte KI einfach nicht, wenn es um quantitative Supply Chain-Optimierung geht. Supply Chains sind nichts wie zum Beispiel Computer Vision: Daten, Metriken und Aufgaben sind alle extrem heterogen. Unternehmen, die vermeintlich “fertige” KI-Lösungen gekauft haben, erkennen langsam, dass diese Lösungen einfach nicht funktionieren werden, außer vielleicht in den einfachsten Situationen, in denen auch “dumme” regelbasierte Systeme gut funktioniert hätten.

Im Kern sind Supply Chains komplexe, von Menschen geschaffene Systeme, und es ist in der Regel unrealistisch zu erwarten, dass das KI-System - basierend auf Daten allein - grundlegende Erkenntnisse über das Fachgebiet von selbst wiederentdeckt, wie zum Beispiel:

  • Werbung für eine Luxusmarke ist ein absolutes No-Go.
  • Negative Verkaufsaufträge im ERP sind tatsächlich Produktretouren.
  • Frischeprodukte müssen innerhalb bestimmter Temperaturbereiche transportiert werden.
  • Varianten in Farben können gute Kleidungsersatz sein, aber nicht Varianten in Größen1.
  • Flugzeugwartung wird durch Flugstunden und Flugzyklen gesteuert.
  • Der Umsatz in Großbritannien erfolgt tatsächlich in GBP, auch wenn das ERP EUR als Währung anzeigt.
  • Menschen kaufen Autoteile für ihre Fahrzeuge, nicht für sich selbst.
  • Jeder Diamant ist einzigartig, aber die Preise hängen hauptsächlich von Karat, Reinheit, Farbe und Schliff ab.
  • Jedes fehlende NOGO-Teil an einem Flugzeug führt dazu, dass das Flugzeug am Boden bleibt.
  • Viele chemische Anlagen benötigen Wochen, um nach dem Abschalten wieder hochgefahren zu werden.

In einer fernen Zukunft könnte es eine Zeit geben, in der maschinelles Lernen erfolgreich menschliche Intelligenz emuliert und Ergebnisse bei der Bewältigung von komplexen Problemen erzielt2. Bisher wurden jedoch nur Ergebnisse bei relativ “engen” Problemen erzielt. Die Technologien des maschinellen Lernens erweitern jedoch jedes Jahr die Grenzen dessen, was ein “enges” Problem ausmacht. Nach jahrzehntelangen Bemühungen sind wichtige Probleme wie sicheres autonomes Fahren und anständige automatisierte Übersetzungen gelöst oder kurz davor, gelöst zu werden.

Trotzdem bleiben Lieferketten, wie in der obigen Liste dargestellt, für eine direkte Anwendung von verpackten maschinellen Lernalgorithmen verzweifelt zu heterogen. Auch wenn Deep Learning die stärksten Generalisierungsfähigkeiten bietet, die es bisher gibt, erfordert es immer noch die Eingabe eines “Supply Chain Scientist”, um die Herausforderung so eng zu definieren, dass Algorithmen überhaupt funktionieren können.

In dieser Hinsicht war Deep Learning außerordentlich erfolgreich, weil es im Gegensatz zu vielen früheren Ansätzen im maschinellen Lernen zutiefst kompositionell ist: Es ist möglich, die Modellstruktur umfassend an eine bestimmte Situation anzupassen. Die Anpassung der Modellstruktur unterscheidet sich von der Anpassung der Modell-Eingabe - einer Aufgabe, die als Feature Engineering bekannt ist - die typischerweise die einzige verfügbare Option für die meisten nicht-tiefen maschinellen Lernalgorithmen wie Random Forests war3.

Allerdings wurden Deep Learning-Frameworks aus den “großen Problemen” des maschinellen Lernens entwickelt, nämlich Computer Vision, Spracherkennung, Sprachsynthese, automatische Übersetzung. Diese Frameworks wurden für Szenarien entwickelt, die absolut nichts mit den Problemen in Lieferketten zu tun haben. Daher war es zwar möglich, diese Frameworks4 für die Optimierung von Lieferkettenzwecken zu nutzen, aber es war keine einfache oder leichte Aufgabe.

Zusammenfassend lässt sich sagen, dass mit Deep Learning-Frameworks viel für Lieferketten erreicht werden kann, aber die Impedanzanpassung zwischen Lieferketten und bestehenden Deep Learning-Frameworks ist stark. Dies erhöht die Kosten, Verzögerungen und begrenzt die praktische Anwendbarkeit dieser Technologien.

differentiable programming

Jenseits der Branch-and-Cut-Optimierung

Die meisten Probleme in Lieferketten haben sowohl einen Lernaspekt - verursacht durch unvollständiges Wissen über die Zukunft, unvollständiges Wissen über den aktuellen Stand des Marktes und manchmal sogar unvollständiges Wissen über das Lieferketten-System selbst (z.B. Bestandsungenauigkeiten) - als auch einen numerischen Optimierungsaspekt. Entscheidungen müssen gegen wirtschaftliche Treiber optimiert werden, während viele nichtlineare Einschränkungen erfüllt werden müssen (z.B. Mindestbestellmengen beim Einkauf oder Losgrößen bei der Produktion).

Im Bereich der numerischen Optimierung dominieren seit Jahrzehnten Ganzzahligkeitsprogrammierung und damit verbundene Techniken wie Branch-and-Cut. Diese Branch-and-Cut-Algorithmen und ihre zugehörigen Softwarelösungen sind jedoch größtenteils gescheitert5, um die Flexibilität und Skalierbarkeit bereitzustellen, die erforderlich sind, um operative Lösungen für viele, wenn nicht die meisten, Herausforderungen in Lieferketten zu liefern. Ganzzahligkeitsprogrammierung ist ein fantastisch leistungsfähiges Werkzeug, wenn es darum geht, enge Probleme mit wenigen Variablen zu lösen (z.B. Komponentenplatzierung in einem Verbraucherelektronikgerät), zeigt jedoch drastische Einschränkungen bei groß angelegten Problemen, bei denen Zufälligkeit eine Rolle spielt (z.B. Ausgleich von Beständen zwischen 10 Millionen SKUs bei gleichzeitig probabilistischer Nachfrage und probabilistischen Transportzeiten).

Einer der am meisten unterschätzten Aspekte des Deep Learning ist, dass sein Erfolg sowohl auf Durchbrüchen auf der Lern-Seite als auch auf Durchbrüchen auf der Optimierungs-Seite beruht. Die wissenschaftliche Gemeinschaft hat herausgefunden, dass enorm effiziente Algorithmen große Optimierungen im großen Maßstab durchführen6.

Diese “Deep Learning”-Optimierungsalgorithmen, die alle auf dem stochastischen Gradientenabstieg basieren, sind nicht nur wesentlich effizienter als ihre Branch-and-Cut-Pendants, sondern sie passen auch viel besser zu den von uns verwendeten Hardwarekomponenten, nämlich SIMD-CPU und (GP)GPU, was in der Praxis eine Geschwindigkeitssteigerung um den Faktor zwei oder drei ermöglicht.

Diese Durchbrüche in der reinen numerischen Optimierung sind für Lieferketten von hoher Relevanz, um Entscheidungen zu optimieren. Wenn die Deep Learning-Frameworks bereits etwas ungeeignet waren, um Lern-Probleme in Lieferketten anzugehen, sind sie noch weniger geeignet, um die Optimierungs-Probleme in Lieferketten anzugehen. Tatsächlich hängen diese Optimierungsprobleme noch stärker von der Ausdrucksfähigkeit des Frameworks ab, um den Lieferkettenwissenschaftlern das Implementieren der jeweiligen Einschränkungen und Metriken zu ermöglichen, die jeweils durchgesetzt und optimiert werden sollen.

Auf dem Weg zur differenzierbaren Programmierung

In der Theorie gibt es keinen Unterschied zwischen Theorie und Praxis. Aber in der Praxis gibt es einen. Walter J. Savitch, Pascal: Eine Einführung in die Kunst und Wissenschaft des Programmierens (1984)

Differenzierbare Programmierung (DP) ist die Antwort, um Lieferketten das Beste zu bieten, was Deep Learning sowohl auf der Lern- als auch auf der numerischen Optimierungsseite zu bieten hat. Durch DP können Lieferkettenwissenschaftler das Beste aus ihren menschlichen Erkenntnissen machen, um numerische Rezepte zu erstellen, die in Bezug auf die Geschäftsziele in die Tiefe gehen.

Es gibt keine absolute Abgrenzung zwischen Deep Learning und differenzierbarer Programmierung: Es handelt sich eher um einen Kontinuum von den skalierbarsten Systemen (Deep Learning) zu den ausdrucksstärksten Systemen (differenzierbare Programmierung) mit vielen Programmierkonstrukten, die allmählich verfügbar werden - auf Kosten der Rohskalierbarkeit - wenn man sich der differenzierbaren Programmierung nähert.

Unsere Erfahrung bei Lokad zeigt jedoch, dass der Übergang von Werkzeugen, die hauptsächlich für die Bildverarbeitung entwickelt wurden, zu Werkzeugen, die für Herausforderungen in Lieferketten entwickelt wurden, genau den Unterschied zwischen einem “interessanten” Prototypen, der es nie in die Produktion schafft, und einem industrietauglichen System ausmacht, das im großen Maßstab eingesetzt wird.

Deep Learning Differenzierbare Programmierung
Hauptzweck Lernen Lernen+Optimierung
Typische Verwendung Einmal lernen, mehrmals auswerten Einmal lernen, einmal auswerten
Eingabegranularität Große Objekte (Bilder, Sprachsequenzen, Lidar-Scans, vollständige Textseiten) Kleine Objekte (Produkte, Kunden, SKUs, Preise)
Eingabevariabilität Homogene Objekte (z.B. Bilder mit demselben Höhen-/Breitenverhältnis) Heterogene Objekte (relationale Tabellen, Graphen, Zeitreihen)
Eingabevolumen Von Megabytes bis Petabytes Von Kilobytes bis zu zehn Gigabytes
Hardwarebeschleunigung Außergewöhnlich gut Gut
Ausdrucksfähigkeit Statische Graphen von Tensoroperationen (Fast) beliebige Programme
Stochastische numerische Rezepte Integriert Ebenfalls integriert

Die typische Verwendung ist ein subtiler, aber wichtiger Punkt. Aus der Perspektive von “Big AI” kann die Trainingszeit (fast) beliebig lang sein: Es ist in Ordnung, ein Rechenmodell über Wochen oder sogar Monate hinweg zu trainieren. Später muss das resultierende Rechenmodell in Echtzeit ausgewertet werden (z. B. Mustererkennung für autonomes Fahren). Dieser Aspekt unterscheidet sich vollständig von Supply Chains, bei denen die besten Ergebnisse erzielt werden, indem das Modell jedes Mal neu trainiert wird. Darüber hinaus sind die trainierten Parameter häufig die eigentlichen Ergebnisse, die wir erzielen möchten, was die Einschränkung der Echtzeitauswertung irrelevant macht.

Die Erwartungen an die Eingabedaten hinsichtlich Granularität, Vielfalt und Volumen sind ebenfalls sehr unterschiedlich. Die Perspektive von “Big AI” legt typischerweise nahezu unendliche Mengen an Trainingsdaten nahe (z. B. alle Textseiten des Webs), wobei die Hauptherausforderung darin besteht, enorm skalierbare Methoden zu finden, die effektiv auf diese massiven Datensätze zugreifen können. Im Gegensatz dazu müssen Supply-Chain-Probleme mit einer begrenzten Menge hochstrukturierter, aber vielfältiger Daten angegangen werden.

Dies führt dazu, dass Deep Learning auf tensorbasierten Frameworks basiert, die durch dedizierte Hardware für Berechnungen massiv beschleunigt werden können, zunächst durch GPUs und nun zunehmend durch TPUs. Differenzierbare Programmierung, die auf stochastischem Gradientenabstieg basiert, weist ebenfalls viele gute Eigenschaften für die Hardwarebeschleunigung auf, wenn auch in geringerem Maße im Vergleich zu statischen Graphen von Tensoroperationen.

Die Bedeutung der stochastischen numerischen Rezepte ist zweifach. Erstens spielen diese Rezepte aus Lernperspektive eine wichtige Rolle. Variational Autoencoder oder Dropouts sind Beispiele für solche numerischen Rezepte. Zweitens spielen diese Rezepte auch aus einer Modellierungsperspektive eine wichtige Rolle, um probabilistische Verhaltensweisen innerhalb der Supply-Chain-Systeme angemessen zu berücksichtigen (z. B. variierende Vorlaufzeiten).

Umgekehrt besteht eine große Kluft zwischen differenzierbarer Programmierung und gemischt-ganzzahliger Programmierung - der dominante Ansatz in den letzten Jahrzehnten bestand darin, komplexe numerische Optimierungen durchzuführen.

Gemischt-ganzzahlige Programmierung Differenzierbare Programmierung
Hauptzweck Optimierung Lernen+Optimierung
Eingabegranularität und -variabilität Kleine Objekte, heterogen Ebenfalls integriert
Eingabevolumen Von Bytes bis zu zehn Megabytes Von Kilobytes bis zu zehn Gigabytes
Hardwarebeschleunigung Schlecht Gut
Ausdrucksfähigkeit Ungleichungen über lineare und quadratische Formen (Fast) beliebige Programme
Stochastische numerische Rezepte Keine Ebenfalls integriert

Im Verteidigung der gemischt-ganzzahligen Programmierungstools können diese Tools - wenn sie erfolgreich ein Problem lösen - manchmal im mathematischen Sinne beweisen, dass sie die optimale Lösung gefunden haben. Weder Deep Learning noch differenzierbare Programmierung liefern in dieser Hinsicht einen formalen Beweis.

Schlussfolgerungen

Differenzierbare Programmierung ist ein großer Durchbruch für Supply Chains. Sie baut auf Deep Learning auf, das sich bei der Lösung vieler “Big AI” Probleme wie der Bilderkennung als enorm erfolgreich erwiesen hat, wurde jedoch im Kern so umgestaltet, dass es für die realen Herausforderungen geeignet ist, mit denen reale Supply Chains konfrontiert sind.

Lokad hat auf seiner Deep Learning Prognosetechnologie aufgebaut, um den Übergang zur differenzierbaren Programmierung zu vollziehen, die die nächste Generation unserer Vorhersagetechnologie darstellt. DP ist jedoch mehr als nur vorhersagend, es vereint Optimierung und Lernen und ermöglicht Lösungen für eine Vielzahl von Problemen, für die zuvor keine praktikablen Lösungen existierten.

Interessiert daran, an unserem privaten Beta-Test teilzunehmen? Schreiben Sie uns eine E-Mail an contact@lokad.com


  1. Es gibt eine Ausnahme, bei der die Größe von Kleidung nicht so wichtig ist und dennoch als gute Alternative dient: Kinderkleidung. Tatsächlich kaufen Eltern mit begrenztem Budget häufig mehrere Größen im Voraus für ihre Kinder, um ihr Wachstum vorherzusehen, wenn ein starker Preisnachlass angeboten wird. ↩︎

  2. Viele, wenn nicht die meisten, Supply-Chain-Probleme sind “wicked” im Sinne von Problemen, deren soziale Komplexität bedeutet, dass es keinen bestimmten Endpunkt gibt. Siehe wicked problem auf Wikipedia. ↩︎

  3. Random Forests bieten nur wenige, geringfügige Optionen für eine Meta-Parameterisierung des Modells selbst: maximale Tiefe des Baums, Abtastrate. Das bedeutet, dass alle Muster, die der Random Forest nicht erfassen kann, aufgrund fehlender besserer Optionen manuell entwickelt werden müssen. Siehe auch Columnar Random Forests↩︎

  4. Die Tatsache, dass Deep Learning-Frameworks überhaupt für Supply-Chain-Zwecke funktionieren, ist ein Zeugnis für die enorme Kraft hinter diesen Durchbrüchen, deren Prinzipien weit über den ursprünglichen Anwendungsbereich hinausgehen, der diesen Frameworks zugrunde liegt. Siehe auch Deep Learning bei Lokad. ↩︎

  5. Optimierungssoftware wie CPLEX, Gurobi und mittlerweile deren Open-Source-Äquivalente sind seit mehr als 3 Jahrzehnten verfügbar. Theoretisch sollten mit dieser Software alle Einkaufssituationen, bei denen Mindestbestellmengen (MOQs) oder Preisnachlässe eine Rolle spielen, mit ähnlichen Funktionen abgedeckt werden können. Dennoch habe ich in den letzten zehn Jahren in vielen Branchen mit über 100 Unternehmen Kontakt gehabt und noch nie eine Einkaufsabteilung gesehen, die eines dieser Tools verwendet. Meine eigene Erfahrung mit solchen Tools zeigt, dass nur wenige Probleme in eine Reihe von statischen Ungleichungen passen, die nur lineare und quadratische Formen enthalten. ↩︎

  6. Der Algorithmus Adam (2015) ist wahrscheinlich der beste Vertreter dieser einfachen, aber enorm effizienten Optimierungsalgorithmen, die das gesamte Gebiet des maschinellen Lernens vorangebracht haben. ↩︎