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: UN-FAO 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 on 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 hands-on experience with ML tool boxes in Python. We focus on descriptive and predictive analytics using methods like k-nearest 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.
After successful completion of this course students are expected to be able to:
- explain the application of data driven methods in (food) supply chain management;
- apply Python (and associated tools in libraries/packages) for data analysis and processing, feature engineering, clustering, classification, regression, and forecasting to a provided data set;
- create a data driven model for a provided context in Python;
- evaluate the performance of a data driven model;
- understand the impact of features and parameters of machine learning methods in relation to the (statistical) performance of a model;
- analyse the impact of features and parameters of machine learning methods in relation to the (statistical) performance of a model;
- evaluate the impact of applying data and data science techniques to a particular decision problem within the supply chain, by a simulation or optimisation model.
Teaching method and examination
The examination will be based on Assignments, and short in-class tests/final exam.
- assignments (60%);
- final exam (40%).
A subgrade >= 5 for the final exam is condition to pass the course.
Handing in an assignment too late or not at all implies score 0 for that assignment. Assignments cannot be re-examined, neither can one revise or improve to obtain a higher grade for individual parts.
In case of an insufficient final grade, a student should contact the coordinator as soon as possible to discuss the opportunities to correct/resit.
Practical attendance and participation:
At our university, practical’s are by default compulsory. No active participation, or missing too many practicals may disqualify a student from the course. Individual cases will be decided about by the course coordinator.
Cases of plagiarism will be reported to the examination board. Also the name of the source is communicated to the examination board. This holds in particular to grading items C and D.
Required prior 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/while-loop, preferably in Python.
We will focus on applying toolboxes in Python and do some basic programming using Sklearn, Numpy, Pandas for descriptive and predictive analytics. Programming in Python will be taught in the first 1-2 weeks along examples of SCM.