Programming paradigms as Supply Chain theory - Lecture 1.4

While mainstream supply chain theory struggles to prevail in companies at large, one tool; namely Microsoft Excel, has enjoyed considerable operational success. Re-implementing the numerical recipes of the mainstream supply chain theory via spreadsheets is trivial, yet, this is not what happened in practice despite awareness of the theory. We demonstrate that spreadsheets won by adopting programming paradigms that proved superior to deliver supply chain results.

In this lecture, Joannès discusses just why Excel is so successful, however spreadsheets are not the ultimate endgame. So much more can be achieved, but the right tools, mindset and; above all, programming paradigms are needed. Just what are programming paradigms? It’s a field of study that has gained a lot of traction in the last few years, with large libraries of resources available. Here, Joannès presents a selection of paradigms such as “Static Analysis”, “Array Programming”, and “Differentiable Programming”. The paradigms presented in this lecture are all used within Lokad’s technology.

In supply chain, the main question is: how do you deal with complexity? Supply chains are incredibly intricate and interwoven systems. Often you end up facing hundreds of tables with dozens of fields in order to deal with all the various elements. For example, when thinking about something as seemingly simple as inventory replenishment within a warehouse there are already so many things to take into account: MOQ’s, price breaks, forecasts, reception capacity limits, expiry dates etc. the list can seem almost endless.

When faced with such complexity, “move fast and break things” is a motto that might work well for other companies but that is certainly not the right mentality for supply chain, where any mistake can be costly and ultimately deadly for the business. Supply chain optimization relies on a principle of “correctness by design”, as supply chains do not have the luxury of pausing the system and spending three months in order to re-write faulty code. Instead, it’s more akin to fixing a train’s engine while it’s still driving at full speed. This is one of the reasons why, despite its popularity, that Python isn’t a language that fully lends itself to supply chain optimization. This, amongst other factors, pushed Lokad into developing its own Domain Specific Programming Language (DSL) dedicated wholly to supply chain. Lokad’s DSL is named “Envision”.

To wrap up the lecture, Joannès discusses the increased importance of secure programming, with the rise of cyber attacks and ransomwares this is has now become a real concern for any business. Therefore, when doing something software driven, it is important to ask yourself, “Am I actually making my company more vulnerable to cyber risks?” Python and Excel are not strong on these fronts, due to their programmability.

To conclude, Joannès answers questions from the audience, going into more detail about dynamic programming and why it isn’t a programming paradigm but an algorithmic technique, product cannibilization, stochastic gradient descents and why Lokad doesn’t use graph databases in the canonical sense.


00:28 Introduction

03:03 The story so far

06:52 A selection of paradigms

08:20 Static Analysis

18:26 Array programming

28:08 Hardware miscibility

35:38 Probabilistic programming

40:53 Differentiable programming

55:12 Versioning code+data

01:00:01 Secure programming

01:05:37 In conclusion, tooling matters in Supply Chain too

01:06:40 Questions from the audience