About this course
Research and education in the field of Operations Research (OR) and supply chain management (SCM) is spurred by the growing availability of data in supply chains and interest on how to use the available data in making supply chain decisions. Modern supply chains get more and more digitalised, and more and more data is recorded and stored. Data science is presented as a new discipline but is in fact a merger of existing knowledge in mathematical modelling and optimization (i.e. Decision Science, OR, Statistics, Econometrics), computer science, and information technology and management.
The field of data analytics is divided into descriptive analytics, predictive analytics, and prescriptive analytics. Prescriptive analytics prescribes decision to be made, and often relates to solving an optimization problem. Descriptive analytics describes the available data, and may help to detect clusters of similar data points, outliers, and trends. Predictive analytics aim at making predictions of a real value or class to which a data point belongs. A special class of prediction methods is time series forecasting. Examples of SCM questions that can be answered using data analytics methods are:
 Can one predict failures of products or machines?
 Can one predict the return of products by consumers?
 What data is needed to better predict the demand?
 By how much can one reduce food waste by better predicting the demand or a product’s remaining shelf life (quality)?
The latter question is triggered by the fast amount of food that is wasted every year: UNFAO reports show that about 30% of all food produced is not consumed in the end.
In this course you will learn to apply Machine Learning (ML) methods to assess the impact on relevant performance measures such as profit, service level, and food waste, students learn to develop a simulation model of (part of) a food supply chain in Python. The techniques you learn are transferable to other applications.
As optimization models are covered in many other courses offered by the ORL group, we focus in this course more on descriptive and predictive analytics to answer question like the ones above. Data analytics helps in identifying the design of and values of input parameters of optimization models. Output of data analytics models, like clustering and classification methods, can also be used solving optimization problems that are too large to solve to optimality. For example, many optimization problems require aggregation or decomposition of the problem, which can be achieved by clustering methods. Many of the methods that we will study and apply are based on machine learning (ML), therefore gaining skills in computer coding is relevant both for processing large datasets that are inconveniently large to deal with in Excel, as well as to apply tool boxes available in Python libraries such as Sklearn. Most ML algorithms boil down to optimization problems well known in OR.
In this course we address a number of typical supply chain decisions, and discuss
the most relevant machine learning techniques that can be applied. Students gain handson experience with ML tool boxes in Python. We focus on descriptive and predictive analytics using methods like knearest neighbour, regression, ridge, lasso, support vector machines, and the basis of neural networks for classification and regression problems. We briefly touch on the mathematics of some ML algorithms, but mostly focus on introducing the methods and the good use of such methods and potential application in supply chain management. We also show how ML can be used in combination with mathematical modelling and/or simulation, e.g. to evaluate supply chain performance, and to speed up the solution process of large scale optimization problems.
Learning outcomes
Required prior knowledge
Assumed Knowledge:
Although no required, students may find it helpful when they have prior knowledge on:

supply chain management: basics, SC planning matrix, inventory management, forecasting;

quantitative methods: basic mathematics, linear programming, statistics, mean, variance, correlation, regression, probability distributions;

computer programming (Python/ Matlab/ R/ Mosel Xpress/...): basic data structures, for/whileloop, preferably in Python. In the first week we introduce/refresh relevant skills in programming with Python. Students who do not have affinity with programming may experience a steep learning curve and benefit from preparing for the course, see Preparation instructions.
PREPARATIONS:
 Install Python by installing Anaconda distribution (https://www.anaconda.com/download), which includes relevant libraries and the Spyder IDE that we recommend to use.
 Refresh or get introduced to programming with Python. We teach programming in Python in week 1, but you will only learn by applying it for some time. If you have no prior knowledge on programming, you will experience a steep learning curve and a high workload. Therefore we recommend you to prepare by

reviewing or studying an online tutorial that teaches you basic concepts and constructs in Python such as basic data structures, ifelse statements, for/whileloop, etc. (e.g. study the first 7 chapters of https://docs.python.org/3/tutorial/index.html).

An introduction to the Spyder IDE (a program in which you can enter and execute Python code) can be found at https://docs.spyderide.org/current/index.html.
During the course you will learn and apply toolboxes for descriptive and predictive analytics in Python, and do some basic programming using tools from the libraries Sklearn, Numpy, Pandas.