Design, Scheduling, and Routing of Transportation Systems
Quantitative Approaches for Logistics Planning and Optimization
An introduction to transportation systems, optimization, and logistics decisions.
What You’ll Learn
This course examines the design, scheduling, and routing of different modes of transportation within supply chain management:
Assessment
| Component | Weight |
|---|---|
| Assignment 1 | 25% |
| Assignment 2 | 30% |
| Written Exam | 45% |
Pass requirements: Exam ≥5.5, Overall ≥5.5
By the end of this course, you will be able to:
Weekly Activities
Workload (140 hours)
Teaching Approach: Flipped classroom with pre-recorded videos, interactive sessions, and hands-on Python exercises.
| Deadline | Date | Description |
|---|---|---|
| Assignment 1 | March 7 | Vehicle Routing Problem |
| Assignment 2 | April 4 | Network Design |
| Exam (1st) | April 15 | 3-hour written exam |
| Assignment Repairs | May 9 | Resubmission deadline |
| Exam (2nd) | July 3 | Retake opportunity |
Important
Late submissions receive a 1-point penalty per day. Extensions only with valid documentation.
A directed, weighted graph \(G=(V,E)\):
Shortest-path query: find a minimum-cost path from origin \(s\) to destination \(t\).
One-way streets make “geographically closer” routes infeasible or expensive.
We’ll compute shortest distances from S.
dist[S]=0, others ∞Step 1: settle S with dist=0
relax S->A (w=1): dist[A]=1 prev[A]=S
relax S->C (w=2): dist[C]=2 prev[C]=S
Step 2: settle A with dist=1
relax A->B (w=1): dist[B]=2 prev[B]=A
Step 3: settle C with dist=2
relax C->T (w=2): dist[T]=4 prev[T]=C
Step 4: settle B with dist=2
Step 5: settle T with dist=4
Final distances: {'S': 0, 'A': 1, 'B': 2, 'C': 2, 'T': 4}
Examples:
If negative edges exist (but no negative cycles), use Bellman—Ford:
Model: each edge has a travel-time function \[ \tau_{uv}(t) = \text{time to traverse }(u,v)\text{ if departing at time }t \]
Key property: FIFO
Nodes: \(S \rightarrow A \rightarrow T\) and direct \(S \rightarrow T\)
\[ \tau_{AT}(t)= \begin{cases} 5, & t < 08{:}00\\ 20, & t \ge 08{:}00 \end{cases} \]
If you depart S at 07:55
If you depart S at 07:54
Ford—Fulkerson solves maximum flow: push as much as possible from source to sink given capacities. (Ford and Fulkerson 1956)
T&L examples:
Relationship to shortest paths:
They are foundational, not always best in practice for modern routing workloads.
Two different claims:
If your workload is:
| Algorithm | Applies when | Time complexity (typical) | What it solves | Source |
|---|---|---|---|---|
| Dijkstra | edge weights nonnegative | \(O((|V|+|E|)\log |V|)\) | shortest paths | (Dijkstra 1959; Cormen et al. 2009) |
| Bellman—Ford | negative edges allowed (no neg cycles) | \(O(|V||E|)\) | shortest paths | (Bellman 1958; Cormen et al. 2009) |
| Time-dependent Dijkstra (FIFO) | FIFO time-dependent costs | depends on arc eval; label-setting works under FIFO | shortest paths by departure time | (Dean 2004) |
| Ford—Fulkerson | capacities on edges | depends on augmenting-path choices | max flow (not shortest path) | (Ford and Fulkerson 1956; Ahuja et al. 1993) |
| Contraction Hierarchies (speedup) | repeated queries on road-like graphs | preprocess + very fast queries | shortest paths (exact) | (Geisberger et al. 2008) |