Session 1 - Principles of Logistics

Session 1 - Principles of Logistics #

Dr Panagiotis Angeloudis

In the first session of our freight transportation block of lectures, we will be introducing the principles of logistics and freight transportation modeling.

Module Introduction #

Download slides

Part 1 - Introduction to Logistics #

View in Panopto

Download slides

Part 2 - Costs of Freight Trasport #

View in Panopto

Download slides

Part 3 - Inventory Management #

View in Panopto

Download slides

Part 4 - Demand Forecasting #

View in Panopto

Download slides

Seminar - Introduction to Python #

In this video, Miss He-In Cheong provides an introduction to the Python programming language. Python is an interpreted high-level scripting language used widely for data science and supporting object-oriented programming.

Its open-source nature with a comprehensive standard library, particularly for scientific programming, makes the language very popular amongst engineers.

We will be using Python and Jupyter notebooks to demonstrate some of the analytical concepts that we will be covering in this module. Python will be used for some aspects of your assignments.

We expect that you will be all familiar with some elementary programming concepts through your undergraduate studies. Nevertheless, the materials that we are providing will assume no previous exposure to Python.

To support you at the beginning of your journey in the world of programming, in this seminar we will be explaining the basics of the Python language, and will also discuss the differences between Matlab (which is commonly taught in undergraduate Engineering degrees) and Python.

Questionnaire #

Before going through the seminar materials, we would kindly request that you fill in this questionnaire.

Seminar Video #

View in Panopto

Download slides

Getting Started #

Since most of you will be using Python and Anaconda for the first time, we have produced the following step by step guides to help you get set up.

The most efficient way to get Jupyter up and running is using a terminal - as we expect that this is going the first time that many of you will be using this functionality, we have included some guidance on how to access it, and on how you can use it to navigate your filesystem.

Guidance for Windows users

Guidance for macOS users

For further guidance regarding the use of the Jupyter interface, you can also refer to the following guides:

Jupyter Notebook: The Definitive Guide (Datacemp)

Jupyter Notebook: An Introduction (Real Python)

Codes #

During the seminar, He-In used the Fibonacci algorithm as an example of how you could use Python to implement algorithms. In the links below you can find the codes that were used (as well as an equivalent Matlab version, for reference)

Python version

Jupyter notebook version (right-click on the link and save as)

Matlab version

We would recommend that you open these codes and see how they work. If you encounter any issues, please do not hesitate to ask for support!

Assignment 1 #

Once you have viewed the seminar video and the accompanying material, you should draw your attention to Assignment 1, which is intended to help you develop a range of essential Python skilled in a structured way.

Please keep in mind that you should complete the four modules by the 10th of February.

Jupyter Notebooks #

Notebook 1.1 - Forecasting Methods #

In this notebook, we demonstrate the use of the statsmodel package, which includes many useful statistical model implementations, including the Simple Exponential and Holt-Winters models. We also include a demonstration of the seasonal decomposition function, provided by the same library.

Notebook 1.2 - Inventory Management #

This notebook provides an implementation of an inventory system, implemented using Python’s SimPy library (you can also have a look at the file, which contains the actual implementation of the processes in the inventory system). This particular example goes beyond the remit of this course, but we include it as a demonstration of what is possible to achieve with the right set of Python libraries.

We do encourage you to experiment with the parameters of the model, to explore the dynamics that are present in inventory systems.

Download all notebooks

Tutorial Questions #

Tutorial 1 - Questions

Tutorial 1 - Answers

Files #

You can find a list of all files that we used this week here (Box).