Dynamic and Stochastic Berth and Quay Crane Allocation, TSL Workshop, 2013
-
Upload
alan-erera -
Category
Business
-
view
230 -
download
2
Transcript of Dynamic and Stochastic Berth and Quay Crane Allocation, TSL Workshop, 2013
Berth and Quay Crane Allocation Problems: Dynamic Modeling and Nested Tabu Search
Alan Erera1, Xiaole Han2
1 School of Industrial and Systems Engineering, Georgia Tech 2 Department of Mechanical Engineering, Shanghai Jiao Tong
TSL Workshop 2013
What to remember
1. Berth and quay crane allocation problems are dynamic and stochastic
2. List-based multi-layer tabu search heuristics fast and effective for dynamic problems
3. Multistage problems with stochastic arrival times can be solved effectively with two-stage rolling horizon approximation models that minimize sample average cost
Costly, bottleneck resources
• Multiple vessel berthing areas
Costly, bottleneck resources
• Quay cranes
Berth and crane allocation
• Assign berthing time, berthing position, and crane assignment to vessels
1 2 3 4 5 6 7 8 9 10
1
2
3
4
5
6
7
Time
Be
rth
Time period
Ber
thin
g a
rea
(dis
cret
ized
) Vessel
1
2
3
Berth and crane allocation
• Minimize– Total dwell (flow) time – Total vessel delay time
vessel arrival
berthed departed
scheduled depart
dwell (flow) time
delay (non-negative)
Dynamic BAP: Relative Position MIP
• Pack vessel rectangles in time and space, and ensure no pairwise overlap
Deterministic Dynamic BAP
• Solving Relative Position MIP– Difficulty arises when vessel arrival times clustered
and when berth length accommodates several heterogeneous length vessels
– Short berth problems remain NP-hard: single machine scheduling problem with release time minimizing total completion (flow) time
– CPLEX for easier problems– Nested Tabu Search (Ak, 2008) for harder problems
Nested Tabu Search for BAP
• Solution encoding–L : Vessel priority list
–B : Berth location of vessels
(2,1,3,4,5)
Nested Tabu Search for BAP
• Fast search– Default decoding: first-fit bin packing– Second layer: berth position tweaking only for
primal non-tabu listsInitial Solution
L
B
Move 1
Move 2
Iter
atio
n
1Move 1
Move 2
Ite
rati
on
1
Move 1
Move 2
Ite
rati
on
2Move 1
Move 2
Iter
atio
n
2
LAYER 1: PRIORITY LIST MOVESLAYER 2: BERTH MOVES
Best Solution
First Fit
L P
Dynamic BAP Results
• Easier instances– 10, 12, 14 vessels– Berth length per avg vessel length: 3– Arrival times in [0, 10], processing times in [1, 6]
• Harder instances– 20, 25, 30 vessels– Berth length per avg vessel length: 6– Arrival times in [0, 20], processing times in [1, 6]
Dynamic BAP Results
• Easier instances– 69% solved to optimality by CPLEX– Tabu search finds equal or better solutions in every
instance• Harder instances
– None solved to optimality by CPLEX– Best lower bounds found by machine scheduling lower
bounding approach– Tabu search improves initial solutions by ~ 70%, similar
to performance on easier instances
Dynamic BAP Results
• Tabu search is fast– Computation time in seconds
Dynamic BQCAP Modeling
• Vessel processing times depend on number of quay cranes assigned– Assume crane assignment fixed for a shift– Completion time for a vessel is equal to start
time plus required crane-time divided by cranes assigned
– Fixed number of cranes available3
4
1
5
6 10
7
2
9
Time
Berth space
k-1 k k+1 k+2 k+3
8
11
12
13
Crane amount
Dynamic and Stochastic BQCAP
• Decision stages: shifts• Information dynamics
– Vessel arrival times stochastic– Known with certainty as arrival time nears
• Decision dynamics– Berthing time, crane assignment adjustable each
shift– Berth position fixed in advance, for effective
container yard operations
Dynamic and Stochastic BQCAP
• Assumptions– Vessels arriving, and arrival times, during a shift known– Berth position fixed one shift in advance
3
4
1
5
6 10
7
2
9
Time
Berth space
k-1 k k+1 k+2 k+3
8
11
12
13
A: berthed but unfinished at shift k
B: not berthed at shift k, but will arrive during k
C: uncertain arrival during k+1, k+2, …
num cranes
berth time*, num cranes**
berth pos, time**, cranes**
Decisions
Modeling approach
• Multi-stage expected cost minimization (dynamic program)
• Approximate solution approach– Rolling horizon (roll-out)– Two-stage sample-average stochastic program
• In each scenario, assume that all arrival times are known at shift k+1
• Note that some actually some will indeed only become known later: approximation!
C Type Vessel
cA
Two-stage approximation scheme
k k+1 k+m+1
AB ,bB
Par
amet
er AA, bA, sA
CA
1st stage 2nd stage
uB, sB0, cB0
bC
B1 B1,s c C C,s c
Certain info Uncertain scenarios
Fixed decisions
Recourse decisions under each scenario
executed adjustable by scenario
Fixed cost expected recourse cost
dec
isio
ns
3-Layer Nested Tabu Search
TS1 LcA
uB,sB0,cB0
TS2
TS3
Decode
Re-decode
Pass 1
Pass 2
Supplement
Re-supplement
L
cA,cB0
bC
cA
uB,sB0,cB0
Pass 1
Pass 2 bC
L Pass 2
Pass 2
AA, AB
AA, AB
B1 B1
C C
,
,
s c
s c
B1 B1
C C
,
,
s c
s c
2 ( )L
CB1,A A
B1 C,A A
CB1,A A
B1 C,A A
0k
01k
k
k
k
1k Scenario decision
Executed decision
Best Fit
Sampled scenarios
Certain info &
expected uncertain
info
3-Layer Nested Tabu Search
• Ideas– Greedy decisions (most cranes, earliest possible
berthing time) are used when decoding– Neighborhoods all variations of swap
• Swap positions of two vessels in priority lists• Swap one or more cranes between two vessels of the
same category that are simultaneously berthed
Dynamic BQCAP Results
• “Easier” instances than Ak (2008)– Meisel & Bierwirth (2009)– 1000m quay, 10m sections, 1 hr time buckets, 10
quay cranes– 20, 30, 40 vessels per week– Two weeks– Shift length 24 hrs; horizon length 72 hrs– Minor arrival time uncertainty: +/- 3 hrs
Dynamic BQCAP Results
• CPLEX solvable a posteriori
20 30 400
50
100
150
200
250
300
350
posterior cplex
rolling cplex
one-sample dynamic
calling vessel # per week
tota
l dw
ell
tim
e (
hr)
Dynamic BQCAP Results
• CPLEX solvable a posteriori
20 30 400
2000
4000
6000
8000
10000
12000
14000
16000
2883
10854
14671
107 94 2931 4 22
posterior cplex
rolling cplex
one-sample dynamic
calling vessel # per week
cp
u r
un
tim
e (
s)
Dynamic BQCAP Results
• CPLEX solvable a posteriori
20 30 400
2000
4000
6000
8000
10000
12000
14000
16000
2883
10854
14671
107 94 2931 4 22
posterior cplex
rolling cplex
one-sample dynamic
calling vessel # per week
cp
u r
un
tim
e (
s)
Two-stage outperforms one-stage
• CPLEX solvable a posteriori
20 30 400.00%
1.00%
2.00%
3.00%
4.00%
5.00%
6.00%
1.49%
2.07%
5.31%
2.22%
5.07%
5.67%
0.67% 0.84%
1.70%
rolling cplex-expect
rolling cplex-estimate
30-sample dynamic
calling vessel # per week
op
tim
alit
y g
ap
of
tota
l dw
ell
tim
e
Dynamic BQCAP Results
• CPLEX cannot solve a posteriori in 16 hours– measure gap to best upper bound
0 20000 40000 60000 800000.00%
1.00%
2.00%
3.00%
4.00%
5.00%
6.00%
7.00%
8.00%
9.00%
10.00%
0.37%
1.90%
9.09%
3.31%
rolling cplex-expect
rolling cplex-estimate
30-sample dynamic
one-sample dynamic
rolling cplex
cpu run time (s)
ga
p o
f to
tal d
we
ll ti
me
What to remember
1. Berth and quay crane allocation problems are dynamic and stochastic
2. List-based multi-layer tabu search heuristics fast and effective for dynamic problems
3. Multistage problems with stochastic arrival times can be solved effectively with two-stage rolling horizon approximation models that minimize sample average cost