Supply chain delays

In this tutorial you will learn:

  • How to use inference to query the model and reason about probabilities

  • How to perform inference in the model editor or the Python SDK

Supply chains are commonly disrupted by natural disasters or other unforseen events. It is therefore useful to be able to predict the probability of such disruptions based on local data. In this example we use a discrete Bayesian network that can be used to estimate the maritime transport delays due to earthquakes and subsequent tsunamis (Goerlandt and Islam 2021). The structure of this dataset and the general principles we discuss in this tutorial could be adapted to other scenarios including general supply chain delay prediction that does not involve natural disasters.

Problem statement: What delays around maritime transport are expected at specific routes of interest while transporting in a region that has just had an earthquake?

Network variables and categories

For this network we will use the following variables:

Variable
Category
Description

AD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Arrival-related delays on specific shipping routes

BSA

[Yes, No]

Is a bridge safety assessment required?

BSD

[Yes, No]

Is a bathymetric survey required at destination?

BSO

[Yes, No]

Is a bathymetric survey required at origin?

BVOR

[Yes, No]

Is there a bridge over navigation route?

CIDD

[Low, Medium, High]

Level of communication infrastructure damage at destination

CIDO

[Low, Medium, High]

Level of communication infrastructure damage at origin

CN

[Low, Medium, High]

Level of community needs

CSR

[Yes, No]

Communication system restoration required

DAC

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Delay due to arranging crew members at specific routes

DD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Departure-related delays at specific routes

DDG

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Delay in dangerous goods reporting at specific routes

DGR

[Yes, No]

Is dangerous good reporting required?

DL

[V_Isl_W, V_Isl_E, V_Isl_S]

Destination location name abbreviations

DTWD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Delay due to tsunami warning at destination

DTWO

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Delay due to tsunami warning at origin

EEL

[V_Isl_W_offshore, V_Isl_E_offshore, V_Isl_Inland, BC_ML]

Earthquake epicenter location name abbreviations

ESD

[VI_or_less, VII, VIII, IX, X_or_more]

Earthquake severity at destination (Richter scale)

ESO

[VI_or_less, VII, VIII, IX, X_or_more]

Earthquake severity at origin (Richter scale)

ESR

[VI_or_less, VII, VIII, IX, X_or_more]

Regional earthquake severity (Richter scale)

MMSC

[Yes, No]

Mandatory minimum ship crew required for transport?

OL

[V_Isl_W, V_Isl_E, V_Isl_S]

Origin location name abbreviation

PAD

[Low, Medium, High]

Personnel availability at destination

PAO

[Low, Medium, High]

Personnel availability at origin

RD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Route delay at specific routes

TBS

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for bridge safety assessment at specific routes

TBSD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for bathymetric survey at destination at specific routes

TBSO

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for bathymetric survey at origin at specific routes

TCSD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for communication system restoration at destination at specific routes

TCSO

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for communication system restoration at origin at specific routes

TIDD

[Low, Medium, High]

Terminal infrastructure damage at destination

TIDO

[Low, Medium, High]

Terminal infrastructure damage at origin

TTRD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for terminal recovery ops at destination at specific routes

TTRO

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Time required for terminal recovery ops at origin at specific routes

TWD

[Yes, No]

Tsunami warning at destination?

TWO

[Yes, No]

Tsunami warning at origin?

VD

[L0, B0_6, B6_12, B12_24, B24_48, M48]

Voyage-related delays at specific routes

VT

[BC_Ferries, Seaspan, Barge]

Vessel type used in transportation

WIDD

[Low, Medium, High]

Waterway infrastructure damage at origin

WIDO

[Low, Medium, High]

Waterway infrastructure damage at destination

Examining the network

Although the model is stored internally in Genius as a factor graph, it is often more intuitive to examine the Bayesian network. This network has the following structure:

Bayesian network for the earthquake dataset

Here are some things we can conclude from this network:

  • Route delays (RD) are dependent on arrival-related delays (AD), voyage-related delays (VD), and departure-related delays (DD).

  • Arrival-related delays (AD) are dependent on time required for terminal recovery ops at destination (TTRD), time required for bathymetric survey at destination (TBSD), and time required for communication system restoration at destination (TCSD).

  • Voyage-related delays (VD) is dependent on delay due to tsunami warning at destination (DTWD), delay in dangerous goods reporting (DDG), and delay due to tsunami warning at origin (DTWO).

  • Departure-related delays (DD) is dependent on time required for bathymetric survey at origin (TBSO), time required for communication system restoration at origin (TCSO), delay due to arranging crew members (DAC), time required for terminal recovery ops at origin (TTRO), and time required for bridge safety assessment (TBS).

Inference

Next, we use the network to answer our problem statement. Let's use the following fictitious scenario:

Suppose that a barge (VT) needs to use a maritime route in an area that just experienced an earthquake. There is high personnel available at the destination (PAD) but low personnel available at the origin (PAO). There is low communication damage at the destination (CIDD) but high communication damage at the origin (CIDO). Finally, there is earthquake damage at the origin (ESO) of level VII and earthquake damage at the destination (ESD) of level VIII as measured on the Richter scale. Our goal is to determine, given this information, the probability of route delays (RD) on the specific maritime routes used in transport.

In the following demonstration with the model editor and Python SDK we assume that the model is stored in the earthquake.json file.

First, click on the inference tab in the information panel and select RD.Then under "what do you want to observe?" set the following variables:

  • PAD - "High"

  • PAO - "Low"

  • CIDD - "Low"

  • CIDO - "High"

  • ESO - "VII"

  • ESD - "VIII"

Then click "Run".

Last updated