Berth Allocation Optimization
Jun 2020 ~ Port of Amsterdam
Length: 2mo (at 0.25 FTE) + 1mo (at 1.0 FTE)
Programming language: Python (Pandas, NumPy, Math, GeoPandas, Matplotlib, seaborn,
Plotly, datetime, pytz, random, scikit-learn, LightGBM, requests, Beautiful Soup, PuLP, Flask)
Data:
Berth size requirements
Signals sent by ships at various times containing their location, speed,
orientation, size, etc (AIS)
Detailed operations data, such as the quantity of the cargo and its type,
the pump start and end times, etc
Problem description:
Explore and evaluate berth allocation strategies using linear programming
Approach:
Port of Amsterdam wanted to assess the potential benefits of alternative berth allocation
strategies beyond the current First Come, First Served (FCFS) approach, especially once the
new sea lock allows more and larger ships to dock in the harbor. To answer the research
question, four linear programming models were designed, namely:
FCFS with fixed arrival times: ships arriving first are scheduled first
No FCFS with fixed arrival times: ships can be scheduled in any order
48 Hour Relaxation: ships can be scheduled as early as 48 hours before their ETA
Complete Relaxation: ships can be scheduled at any time before their ETA
These models were then implemented in Python using the PuLP package and compared
against each other using a rolling time window (for each day within the time range, a
two-week schedule was optimized and its objective value recorded). Besides timing, each
model considers berth and vessel sizes, ensuring that a ship can only be assigned to
a berth that physically fits it.
Results:
After comparing average completion times, there was no substantial difference between the
FCFS and No FCFS models because current traffic levels are too low for scheduling to
have an impact. On the other hand, the models with time relaxation allowed
achieved significant efficiency gains, although scheduling vessels before their ETA is not
realistic in practice.
Finally, the entire simulation was repeated with a proportion of vessels enlarged. The
results indicate improvements of up to 3% in completion time (depending on the percentage
of boats enlarged) when switching from FCFS to No FCFS, and up to 42% when comparing FCFS
to the unrealistic Complete Relaxation strategy.
