Pre-Berth Optimization
Minimize weighted admission delay through globally aware berth assignment. This layer determines when and where each vessel begins service.
Admission Scheduling Under Scarce Resources
Pre-Berth controls the time segment between vessel readiness and berth service start. It makes three key decisions that shape the entire downstream workflow.
Berth Assignment
Which vessel should use which berth, considering physical feasibility, yard proximity, and crane accessibility.
Service Start Timing
When berth service should begin for each vessel, balancing delay minimization against plan stability.
Admission Sequencing
How vessels should be ordered at each berth to minimize total weighted delay and downstream disruption.
- --x_{v,b} in {0,1}: vessel v assigned to berth b
- --s_v: berth service start time for vessel v
- --u_{i,j,b} in {0,1}: sequencing indicator -- vessel i before j on berth b
- --Vessel readiness: s_v >= r_v (cannot start before ready)
- --One berth assignment: each vessel assigned to exactly one berth
- --Berth feasibility: infeasible vessel-berth pairs forbidden
- --Same-berth non-overlap: no temporal overlap at a single berth
- --Marine admission: pilot, tug, tide, channel constraints respected
- --Level 1: min SUM w_v (s_v - r_v) -- primary weighted admission delay
- --Level 2: min SUM C^plan_v -- plan stability / churn cost
- --Level 3: min SUM C^risk_v -- fragility / robustness cost
- --Secondary: min SUM C^priority_regret_v -- sequencing regret
- --Graph nodes: SHIP, VOYAGE, BERTH, STS_CRANE
- --Key edge: VOYAGE -> DOCKS_AT -> BERTH
- --Input: vessel readiness times, priority weights, feasibility matrix
- --Output: BerthPlan (vessel_id, berth_id, planned_berth_start, ...)
- --Receives downstream feedback from Service Layer
VOYAGE → DOCKS_AT → BERTH
Lexicographic Admission Optimization
A multi-level objective that first minimizes weighted delay, then preserves plan stability, then maximizes robustness under uncertainty.
where: w_v = priority weight of vessel v s_v = berth service start time r_v = readiness time (fixed) Since r_v is fixed, equivalent to: min SUM w_v * s_v
Minimize the total weighted admission delay across all vessels. Higher-priority vessels carry more weight, ensuring their delays are penalized proportionally.
where: C^plan = replanning / churn cost C^risk = fragility cost (slack-poor plans) C^regret = bad sequencing regret
The full objective augments primary delay minimization with plan stability, robustness, and sequencing quality penalties weighted by tunable lambda coefficients.
Level 1 (primary): Minimize weighted admission delay Level 2 (secondary): Minimize plan churn / instability Level 3 (tertiary): Minimize fragility under ETA uncertainty Each level is solved strictly in priority order. Lower levels cannot degrade higher-level solutions.
The lexicographic structure ensures delay minimization is never sacrificed for stability, and stability is never sacrificed for robustness.
Runs before vessel admission. Re-triggered on ETA shifts, priority changes, or downstream feedback.
w_v -- vessel priority weight
s_v -- berth service start time
r_v -- vessel readiness time
C^plan -- replanning churn cost
C^risk -- fragility / robustness cost
// BerthPlan schema
vessel_id
berth_id
planned_berth_start
priority_weight
estimated_work_profile
marine_access_window
MILP, CP-SAT, or decomposition-based admission scheduler
Hard & Soft Boundaries
Hard constraints define physical and operational feasibility. Soft constraints guide solution quality toward globally efficient admission patterns.
Hard Constraints
s_v >= r_v -- berth service cannot begin before the vessel is ready. Readiness depends on arrival, pilot availability, and tug allocation.
SUM_b x_{v,b} = 1 -- every vessel must be assigned to exactly one berth. No vessel left unassigned, no double-booking.
x_{v,b} = 0 if (v,b) not in F -- infeasible vessel-berth pairs are forbidden. Feasibility considers LOA, draft, cargo type, and equipment reach.
Two vessels assigned to the same berth cannot have overlapping service windows. Mandatory mooring/unmooring buffers included.
Pilot, tug, tide, and channel constraints must all be satisfied for the planned start time. No vessel begins service without valid marine access.
Soft Constraints
Prefer berth assignments that reduce AGV travel distance to the primary yard blocks for that voyage's containers.
Avoid scheduling adjacent vessels in ways that create peak contention for the shared STS crane pool.
Factor expected STS inefficiency, AGV congestion, and yard-crane pressure from Service Layer feedback into admission ordering.
High-priority vessels (contractual deadlines, alliance commitments) should be sequenced earlier when hard constraints permit.
Downstream Feedback Integration
Pre-Berth is not a blind local optimizer. It receives structured feedback from the Service Layer to make globally informed admission decisions.
The Service Layer provides estimates of downstream cost under each candidate admission plan. Pre-Berth uses these signals to avoid plans that look locally optimal but create systemic congestion or fragility.
How long the Service Layer estimates quay operations will take under the candidate berth plan.
Projected crane idle time and interference cost from the proposed vessel-berth-time arrangement.
Downstream estimates of horizontal transport and yard-crane pressure given the admission pattern.
How fragile the plan is under ETA uncertainty -- plans with thin slack buffers score higher risk.
Impact of the current plan on berth availability for vessels arriving in the next planning horizon.
Pre-Berth receives structured downstream signals and uses them to adjust berth assignment and sequencing decisions. A locally minimal-delay plan that creates severe crane contention or yard congestion will be penalized.
Service Layer → Pre-Berth feedback loop. Signals include expected durations, inefficiency metrics, congestion forecasts, and robustness assessments.
BerthPlan: vessel_id, berth_id, planned_berth_start, priority_weight, estimated_work_profile, marine_access_window
Rolling Replan Triggers
Pre-Berth replans only when measurable thresholds are breached. The rolling-horizon approach preserves committed plans while adapting to new information.
ETA shift exceeds admission slack buffer
Re-solve berth assignment for impacted vessel and adjacent berth occupants. Preserve unaffected assignments.
Marine resource unavailability (pilot, tug, tide window missed)
Shift planned start time forward to next valid marine access window. Cascade downstream only if non-overlap is violated.
Service Layer reports significant inefficiency under current plan
Evaluate alternative berth assignments or sequence swaps that reduce projected downstream cost.
Priority vessel arrives with urgent contractual deadline
Inject priority vessel into sequence with bounded disruption. Stability penalty applies to displaced vessels.
Pre-Berth uses a rolling-horizon approach. Only the impacted portion of the plan is re-optimized; committed assignments are preserved unless thresholds are breached.
Scope: Smallest feasible replan scope. Re-optimize only the affected vessel(s) and their berth neighbors.
Stability: Plan-change cost (C^plan) is an explicit lexicographic objective (Level 2).
Cascading: Downstream layers (Service, Yard, Gate) adapt to the new plan within their own cadences.
Warm-start: Previous solution used as warm-start for the solver. Full cold-start re-optimization is avoided.