SlideShare a Scribd company logo
1 of 137
Slide 1
The Application of Genetic
Algorithms to the Berth
Allocation Problem
Foo Hee Meng
18 August, 2000
Slide 2
Quick Summary
• The Berth Allocation Problem (BAP)
– Allocation of berthing space to container
vessels (ships) in a transshipment port
• Objective
– Minimize container handling effort
• Solution Method
– Genetic Algorithm (GA)
• Focus of Thesis
– devise good way to apply GA to BAP
– what are the problems, how to deal with them.
Slide 3
Presentation Outline
• Introduction
– The Berth Allocation Problem (BAP)
– Focus of thesis
• “Traditional” GA applied to the BAP
• Our solution - The BAP-GGA
• System Implementation
• Experimentation
• Conclusion
Slide 4
Vessels
Yard Cranes
Quay Crane
Prime
Mover
Section 1
Section
2
Container Yard Area
Wharf Area
The Port
Slide 5
The Berth Allocation Problem
Section 1
Section 2
Section 3
Planning Window
15 3
20
10
5
12
25
3045
20
(say 1 week)
Transshipment
Slide 6
Container Handling Effort
Section 1
Section 2
Section 3
Trans. Cost = sum of all {cross section distance moved for each container}
Crosssectiondistance
15 3
20
10
5
12
25
3045
20
Slide 7
Container Handling Effort
Section 1
Section 2
Section 3 15 3
20
10
5
12
300
300
Trans. Cost = (300  10) + (300  5) + (300  20) + (600  3) + (300  12) + (300  15)
= 20400
Slide 8
Why is this Problem Important?
• Large potential savings in container
handling costs
– worldwide traffic doubled between 1990 - 1998
to 175mil. TEU (World Bank)
– PSA handled 16 mil. TEU in 1999 (ST)
• Recurring costs
– Container traffic seasonal
• Limited land area
Twenty-foot Equivalent Units
Small percentage savings
mean large dollar savings
Plan for 1 week
use for next few weeks
Slide 9
Previous Work
• Leong and Hum 1992
– Modeled problem as a network flow problem.
– Did not consider cross-sectional distances.
• Important - PPT, Europe (Pallotino)
• Loh 1996
– Modeled BAP as a generalization of the QAP
– QAP = Quadratic Assignment Problem
– QAP factors in distances of assignment locations
– QAP is NP-Hard
– Proposed a Genetic Algorithm (GA) solution
Slide 10
Focus of Loh’s Work
• Establish basic Problem Model
– QAP  BAP
• Demonstrated feasibility of GA solution
– eval. QAP benchmarks using BAP
• Proof of concept system
– tested with 2 small, hand-crafted data sets
• (50 vessels, 3 sections)
Start of R&D effort by RAS Group
Slide 11
Our Adopted Solution Approach
Vessels Sections
1. Section Assignment
(Partitioning)
Allocation of vessels to
sections.
2. Wharf mark assignment
(Packing)
Assign wharf locations to
vessels within allocated
sections.
Slide 12
Partitioning?
Section 1
Section 2
Section 3
Planning Window
15 3
20
10
5
12
25
3045
20
Slide 13
Partitioning!
3
5
13
11
1
2
4
6
7
8
9
10
12
15 3
20
10
5
12
25
3045
20
Each vessel rep. by node
Transshipment flow rep. by directed edge
 min-cut multi-way partitioning problem
Slide 14
Assumptions
• Any vessel can be assigned to any section
– no bias
• All vessels are berthed upon arrival
– no delay
• Vessels can berth along the whole length of
the section
– no berthing between sections
Slide 15
The BAP Partitioning Problem
• Allocation of sections to vessels to minimize transshipment cost
• Do not consider which wharf location to allocate each vessel to.
• Hence, the need to incorporate capacity constraint
Slide 16
The Berth Capacity Constraint
• At any instance of time within the planning period, the total berth usage of all
vessels assigned to each section cannot exceed the length of that section.
t
0    L t S

Slide 17
The RAS BAP Road Map
[Loh96]
Date: 1996
Partitioning
Packing
Exptn.
System
Devt.
Delay
BAP-GA
1.0
Heuristic
Packer
[LeKu96]
Port
Survey
[Foo96]
Data
Gen.
[FoOn96]
Expt. &
Analysis
[FoOn96]
BAPS
GUI
[FYP97]
BAPS 1.0 Date: Aug 97
BAP-GA
2.0
BAP-GP
[Ong00]
BAP-BB
[Xu99]
DSA
[Quek98]
BAP-Pack
[Chen99]
Expt. &
Analysis
[FoOn98]
BAPS
GUI 2.0
[Ong00]
Interactive
BAPS
[Sim99]
Interactive
BAPS 2.0
[Nisha00]
Date: May 2000BAPS 2.0
BAP-MP
[Li99]
Slide 18
The BAP Partitioners
BAP-GA
1.0
BAP-GA
2.0
BAP-GP
[Ong00]
BAP-BB
[Xu99]
Slide 19
BAP-GA
1.0
BAP-GA
2.0
BAP-GP
[Ong00]
BAP-BB
[Xu99]
GAApproach
Objectives:
• Evaluate Loh’s
engine to realistic
data sets.
Lessons:
• Traditional GA -
do not solve BAP
Partitioning well.
• Not scalable.
Branch & Bound
(BAP-BB)
Optimal
Solutions
Very Slow
Modified
Fidducia-
Mattheyses
(BAP-GP)
Locally
Optimal Solutions
Very Fast
The BAP Partitioners
GA
Objectives:
• Address drawbacks
of [Loh96].
• Answer question:
why traditional GA
not suitable?
Slide 20
Modified
[Loh96]
BAP-GA
2.0
BAP-GP
[Ong00]
BAP-BB
[Xu99]
GAApproach
Objectives:
• 1st cut solver.
• Initial results.
Lessons:
• Traditional GA -
do not solve BAP
Partitioning well.
• Not scalable.
Branch & Bound
(BAP-BB)
Optimal
Solutions
Very Slow
Modified
Fidducia-
Mattheyses
(BAP-GP)
Good Solutions
Very Fast
GA
Better
Solutions
Fast
The BAP Partitioners
Slide 21
Focus of Thesis
• Devise a suitable GA for solving the BAP
Partitioning Problem
– Good (in terms of quality) solutions
– reasonable planning time (say 1 night)
• Answer question why “traditional” GA
methods fail
Slide 22
Thesis Contributions
• Devised good GA for BAP Partitioning
– < 19% improvement for 40% data sets over GP
– Locate feasible allocations where GP could not
– < 6 hrs on P2-300Mhz
• Identified reasons for “traditional” GA failure
– unsuitable encoding
– problem with busy schedules
• Conducted Extensive Experimentation
– ~60,000 individual expt. runs on various GA param. combi.
Slide 23
• No real data
• GA Evaluation Problem
– Many parameters to tune
– Long running times
• No real data
– Generate Realistic Data
• GA Evaluation Problem
– Adopt Successive Refinement Strategy
Difficulties Faced
Slide 24
Presentation Outline
• Introduction
• “Traditional” GA applied to the BAP
• Our solution - The BAP-GGA
• System Implementation
• Experimentation
• Conclusion
Slide 25
Genetic Algorithms
• A class of stochastic, population based, search
algorithms that mimic the process of natural
selection in the natural world.
– One class of Evolutionary Algorithms (EA)
• Genetic Programming, Simulated Evolution
• Some history
– John Holland at the Univ. of Michigan 1970s
• Formal model of natural selection and genetics
– Ken. DeJong - late 70s
• Experimental work to verify Holland’s theory
– David Goldberg (at U. Mich.) 1980s
• first applied GA to solve a real-world problem
Slide 26
Applying GA to Optimization
Problem
Chromosomes
Encoding
Solution
Decoding
Genetic
Algorithm
Fittest
Chromosome
Slide 27
Generation
The GA Process
Randomly
Generate
Initial Population of
chromosomes
Select
chromosomes
for
Mating
based on
Fitness
Select
Survivors
based on
Fitness
Perform
Mutation
on
chromosomes
Put
Children
back into
Population
Recombine
chromosomes
to
Produce
Children
(Mating)
Evaluate
chromosomes
in
Population
based on
Fitness
N
Y
Stop?
Done
Slide 28
Applying GA To Problem
• Define Encoding scheme
– solution instance chromosome
• Define Fitness Function
– measure of individual’s (associated to chromosome) survivability
• Define Selection scheme
– ie. How to choose who should mate
• Define Crossover scheme
– recombination procedure (mating)
• Define Mutation scheme
– variation procedure
• Define Replacement scheme
– ie. Who should live and who should die
• “Roulette wheel” or proportional selection
– fitter have higher probability of getting to mate.
• Steady State Replacement
– replace fixed number of least fit in population with children.
Slide 29
Encoding The BAP
3
5
13
11
1
2
4
6
7
8
9
10
12
15 3
20
10 5
12
25
3045
20
2 3 4 5 6 7 8 9 131211101Vessel Number :
Section Number :
BAP Chromosome
Genes
Slide 30
Section 1
Section 2
Section 3
Encoding The BAP
3
5
13
11
1
2
4
6
7
8
9
10
12
15 3
20
10 5
12
25
3045
20
2 3 4 5 6 7 8 9 131211101
1 1 1 2 2 2 2 2 33331
Vessel Number :
Section Number :
BAP Chromosome
Object Membership Encoding
Slide 31
Performing Crossover
3 1 2 1 3 3 1 2 2 2113
1 1 1 2 2 2 2 2 33331
Cross-point Cross-point
Slide 32
Performing Crossover
1 1 1 1 3 3 1 2 2 3333
2 Point Crossover
Slide 33
Performing Mutation
1 1 1 1 3 3 1 2 2 33332
Mutated Gene
Flip Mutator
Slide 34
Applying GA To Problem
• Define Encoding scheme
– solution instance chromosome
• Define Fitness Function
– measure of individual’s (associated to chromosome) survivability
• Define Selection scheme
– ie. How to choose who should mate
• Define Crossover scheme
– recombination procedure (mating)
• Define Mutation scheme
– variation procedure
• Define Replacement scheme
– ie. Who should live and who should die
Slide 35
Calculating Fitness
• Objective Function
= Transshipment Cost + (   Overshoot Cost)
• BAP Objective is to Minimize
• But GA Objective is to Maximize Fitness
– Need to convert Min problem to Max problem
Primary Objective • Relaxation of Berth
Capacity Constraint
• Penalize infeasible
allocations.
• Discriminate among
infeasible allocations
• >> Trans. Cost
• Differentiate
feasible and
infeasible obj.
values
Slide 36
Calculating Overshoot
Planning Window
10 5
315
12
20
300
300
Slide 37
Calculating Overshoot
Planning Window
• Overshoot Cost = Average Overshoot + Max. Overshoot

Slide 38
• Object Membership Encoding
• Crossover schemes
– 2 point
• Mutation schemes
– flip
• Selection - Roulette Wheel
• Steady State Replacement
• popsize = 50, numgen = 50, 500
BAP-GA 1.0 (Prelim. Study)
• Object Membership Encoding
• Crossover schemes
– 1 point, 2 point, Uniform
• Mutation schemes
– flip, Neighborhood Search (NS)
• Selection - Roulette Wheel
• Steady State Replacement
• popsize = 50, numgen = 50, 500
Neighborhood Search:
1-move, best neighbor
Best GA
Slide 39
Literature Survey
• Revisit of GA fundamentals
– Introductions: [Gold89], [Mich92], [Reev93]
– Theory: [Holl75]
• GAApplications to similar problems
– Jones and Beltramo [JoBe91]
• Initial application of GA on clustering/partitioning
– Bui and Moon ([BuMo94] and [BuMo94a])
• multiway partitioning and ratio-cut partitioning
– Kochhar and Heragu [KoHe98]
• GA approach to Multi-Floor Facility Layout (MFFLP)
– Falkenauer [Falk97]
• Grouping GA (GGA) for grouping problems
Slide 40
Key Survey Findings
• Better understanding of how GA works
– [Holl75], [Gold89], [Mich92], [Falk97]
• Which are the more important GA operators
– Encoding scheme
– Crossover scheme
– Mutation scheme
– [Reev93], [Falk97], [Kers97]
– The Focus of our study is on these 3 operators
Slide 41
“Traditional”
GA
Domain Specific
• Object Membership Encoding
– reordering of chromosome [BuMo94]
– multi-point crossovers [BuMo94]
– swap mutator [JoBe91]
• Object Membership/Neighborhood Search Hybrid
– Limited NS [BuMo94] [BuMo94a]
– NS post-process [BuMo94] [BuMo94a]
• Order Based Encoding
– PMX, OX, CX crossovers [JoBe91]
– Greedy decoder [JoBe91]
– First Fit decoder [KoHe98]
• Grouping GA (GGA) [Falk97]
Key GAApproaches Studied
(Classified According to Encoding Scheme)
Slide 42
The Order Based Encoding
• [JoBe91] - clustering/partitioning,
[KoHe98] - Multi-floor facility layout
• Initially used to solve the TSP
• To solve other problems - need decoder
5 3 10 8 1 11 6 4 12 97132
5 3 10 8 1 11 6 4 12 97132
Decoding
Procedure
Section 1
Section 2
Section 3
3
5
13
11
1
2
4
6
7
8
9
10
12
15 3
20
10 5
12
25
3045
20
Slide 43
Unsuitability of Order Based GA
• The encoding scheme is very bad
• “Incompleteness” of decoder
– difficult (when solving practical problems) to
guarantee completeness of decoder
• Very high redundancy of encoding
– Number of possible permutations is n!
– Number of possible Object Membership
configurations is only mn
– Level of redundancy is (n! / mn)
• 100 vessels, 4 sections - (100! / 4100) ~ (10157/1060)
– Most of the time GA is doing nothing useful!
Slide 44
• Order Based Encoding
– Redundant and incomplete encoding
• Object Membership Encoding
– Context insensitivity of crossover
– Problems handling busy schedules
• Object Membership/Neighborhood Search Hybrid
– GA/NS Contribution
– Problems with NS Methods dealing with busy periods
Unsuitability of Traditional GA
Slide 45
Unsuitability of Obj. Mem. GA
(Context Insensitivity of Crossover)
Section 1
Section 2
Section 3
3
5
11
13
10
2
4
6
7
8
9
1
12 15 3
20
10 5
12
25
3045
20
2 3 4 5 6 7 8 9 131211101
1 1 1 2 2 2 2 2 33313
Vessel Number :
Section Number :
BAP Chromosome
Reason:
Traditional
crossover works
object-wise - not
group wise
Slide 46
Inversion or Reordering
• [BuMo94] - multiway partitioning
[BuMo94a] - ratio-cut partitioning
• Cluster groups of genes together so that
crossover has less chance of breaking up
good subgroups
• Use WDFSR preprocess - Weighted Depth
First Search Reordering
• However, still has high prob. of breaking up
good subgroups
Slide 47
• Random initialization - population infeasible
• GA waste time getting to feasible region

numgen
Unsuitability of Obj. Mem. GA
(Problem dealing with Busy Schedules)
Slide 48
Limitations of NS Methods
• BAPS 1.0 Partitioner, [Ong00] - BAP-GP
• NS Methods - Local Adjustment
– cumulatively improve solution by performing small adjustments
• Choice of neighborhood
– 1-move? 2-move? How to choose?
• The Problem maneuvering busy periods
– Overflow bucket [Ong00]
Slide 49
• Unsuitable encoding
– Use Grouping GA (GGA) encoding
• Difficulty locating feasible allocations
– Use greedy initializer
– Use timezone mutator
How we deal with Traditional GA
Limitations
• Unsuitable encoding
• Difficulty locating feasible allocations
Slide 50
Falkenauer’s Insights on Encoding
• Good solutions of Grouping problems
usually composed of subgroups of objects
with high affinity to one another.
– Meaning of affinity - diff. for diff. prob.
– For BAP Partitioning - large transshipment
connections + “knapsack”-type goodness-of-fit
• GA encoding and recombination should
facilitate the creation and exchange of
subgroups with high affinity.
Slide 51
The GGA Encoding
Section 1
Section 2
Section 3
3
5
13
11
1
2
4
6
7
8
9
10
12 15 3
20
10
5
12
25
3045
20
1 2 3
1
2
3
4
5
6
7
8
10
11
12
13
9
Group
Part
Object
Part
2 Crossover schemes
• Inject crossover (Falkenauer)
• 1 point crossover (our own)
Slide 52
Inject Crossover
1 2 3
1
2
3
4
5
6
7
8
10
11
12
13
9
1 2 3
1
5
6
10
2
4
7
11
3
8
9
13
12
Slide 53
Inject Crossover
1
1
2
3
4
2
5
6
7
8
9
3
10
11
12
13
1
1
5
6
10
2
2
4
7
11
12
3
3
8
9
13
Slide 54
Inject Crossover
1
1
2
3
4
2
5
6
7
8
9
3
10
11
12
13
2
2
4
7
11
12
Recombination
of subgroups
Slide 55
Inject Crossover
1
1
2
3
4
2
5
6
7
8
9
3
10
11
12
13
2
2
4
7
11
12
Duplicates
Slide 56
Inject Crossover
1
1
2
3
4
2
5
6
7
8
9
3
10
11
12
13
2
2
4
7
11
12
Duplicates
Slide 57
Inject Crossover
1
1
2
3
4
2
5
6
7
8
9
3
10
11
12
13
2
4
11
12 • Removal of Duplicates
- use heuristic procedure
that makes use of affinity
of objects to choose
between 2 groups
• Mutation - use another
heuristic procedure
Slide 58
1-point Crossover
1 2 3
1
2
3
4
5
6
7
8
10
11
12
13
9
1 2 3
1
5
6
10
2
4
7
11
3
8
9
13
12
Slide 59
1-point Crossover
1
1
2
3
4
2
2
4
7
11
12
3
3
8
9
13
Duplicates
Slide 60
1-point Crossover
1
1
2
4
2
7
11
12
3
3
8
9
13
5 6 10Missing
Slide 61
1-point Crossover
1
1
2
4
2
7
11
12
3
3
8
9
135
6
10
• Removal of Duplicates
- use heuristic procedure
• Add Missing - use same
heuristic procedure
Slide 62
Affinity - The Greedy Heuristic
• Primary Heuristic - allocate to section to
cause least increase in transshipment cost.
• Secondary Heuristic - allocate to section
with largest available capacity
3
5
13
11
1 2
4
6
7
8
9
10
12 15 3
20
10 5
12
25
3045
20
3
Slide 63
Resolving Busy Schedules
• Random initialization - infeasible allocations
– Greedy Initializer
• Problem with Neighborhood Search
– Timezone Reallocator (mutator)
• Generate a random permutation of all the vessels
• Apply Greedy Heuristic on the list
• Higher density time periods are more likely to be cause of
infeasibility.
• However, cannot discount lower density time periods.
• k-move heuristics have problems dealing with them
• Instead of performing local adjustment - empty and reallocate
Slide 64
Time Zones
• Chop up planning window into non-interfering time periods called
time-zones
z1 z2 z4 z5 z6 z7 z8 z9z3
Slide 65
Zone Densities
•Make use of proportional selection to choose time-zone to have vessels
emptied and reallocated (greedy)
z1 z2 z4 z5 z6 z7 z8 z9z3
Timezone Mutator
13 15 16% 12 11 9 7 610
Slide 66
Summary of BAP-GGA Features
• Unsuitable encoding
– Grouping GA (GGA) encoding and crossover
• Busy schedules
– Greedy Initializer
– Timezone mutator
Slide 67
Presentation Outline
• Introduction
• “Traditional” GA applied to the BAP
• Our solution - The BAP-GGA
• System Implementation
• Experimentation
• Conclusion
Slide 68
BAPS
The BAP Architecture
BAP
PackageData Sources
BAP
Solver
BAP-XX
Packer
BAP-XX
Packer
BAP-XX
PackerBAP-XX
Partitioner
BAP-XX
Partitioner
BAP-GA
Partitioner
Analysis
Module
Display
Module
Operations
System
(Interactive)
Slide 69
Structure of BAP-GGA.
GA Genetic Algorithm
GA Population
BAP
GGA
Chromosome
BAP
GGA
Chromosome
BAP
GGA
Chromosome
...
Chromosome Handling Functions
• Crossover - inject, 1-point
• Mutator - timezone, flip
Standard GA Processes
• Roulette wheel selector, Steady-state replacement
BAP
Fitness Function
GALib
Component
Self
implemented
Slide 70
Presentation Outline
• Introduction
• “Traditional” GA applied to the BAP
• Our solution - The BAP-GGA
• System Implementation
• Experimentation
– Data Generation
– Experimentation System
– Evaluating the various GA studied
– Result Analysis
• Conclusion
Slide 71
Data Generation
• Obtain Domain Information
– Port Survey [Foo96]
– publicly available sources (PortView, WWW)
– domain data for data generation
• Design and build data generation system
– BAP Expt. Framework [Foo99]
– Flexible, comprehensive
• Generated 100 realistic data sets
– The BENCHMARK data set collection
Slide 72
BENCHMARK Data Set Collection
Port Structures
5 (Brani)1 2 3 4
60
16696 240 240 240
208120 302 302 302
250144 362 362 362
292422 422 422
0.25
0.4
0.5
0.6
0.7
A
B
D*
• 5 data sets in each
box.
• Num. in box is num.
of vessels
Port Section
Layouts
* Average Berthing Demand
600m
600m
600m
600m
600m
600m
600m
600m
600m
600m1,800m
1,200m
1,200m
600m
480m
800m
200m
Slide 73
BAP Experimentation System
BAP
Experimental
Framework
Result
Analysis
Subsystem
Data
Generation
Subsystem
Expt. Run Subsys.
BAPS
BAP
Package
BAP
Solver
BAP-XX
Packer
BAP-XX
Packer
BAP-XX
PackerBAP-XX
Partitioner
BAP-XX
Partitioner
BAP-XX
Partitioner
Slide 74
• Object Membership Encoding
– WDFS Reordering, multi-point crossovers [BuMo94]
– swap mutator [JoBe91]
• Object Membership/Neighborhood Search Hybrid
– Various hybridization schemes
• Order Based Encoding
– PMX, OX, CX crossovers [JoBe91]
– Greedy decoder [JoBe91], First Fit decoder [KoHe98]
• Grouping GA (GGA) [Falk97]
– Random, Greedy initialization
– Inject, 1-point crossover
– flip, timezone mutator
GA Combinations Evaluated
110 Various GA
Combinations!
Slide 75
Strategy for GA Evaluation Problem
• Focus on GA elements that give biggest payoff
– Encoding, Crossover, Mutation
• Quick prototyping of GA solvers
– Use library of GA components (GALib)
• “Production-line” experimentation system
– BAP Experimental Framework
– Automate expts, clone
• Successive Refinement
– Progressively evaluate larger data sets
– 4 stage evaluation process
Slide 76
Other Data Set Collections
• BENCHSUB collection
– 15 representative data sets from BENCHMARK
• SMALLDATA collection
– 16 data sets (26-42 vessels, 2-3 sections) - opt.
– Created by Xu in [Xu99]
• TESTDATA collection
– 21 data sets (6-15 vessels, 2-3 sections) - opt.
– handcrafted
Slide 77
Stage 0
PMX O
X
CX
First Fit
Greedy
Crossover
Decoder
Crossover
Mutator
Reordering
1pt 2pt 3pt 4pt 5pt
No Reorder
WDFS Reorder
flip
swap
Uniform
1pt
random
Inject
flip
timezone
Crossover
Mutator
greedy Initializer
BAP-GGA
Object
Membership
Order
Based
Slide 78
Stage 3
PMX O
X
CX
First Fit
Greedy
Crossover
Decoder
Crossover
Mutator
Reordering
1pt 2pt 3pt 4pt 5pt
No Reorder
WDFS Reorder
flip
swap
Uniform
1pt
random
Inject
flip
timezone
Crossover
Mutator
greedy Initializer
BAP-GGA
Object
Membership
Order
Based
Data sets:
- BENCHSUB collection
- 15 data sets from
BENCHMARK.
Popsize/numgen:
- 50/100, 50/400,
100/200
Limited Experimention
(still open)
Slide 79
The Elimination of Order Based
Ratio of Optimal
oga21 oga22 oga23 oga24 oga25 oga26
d011 1.97 1.97 1.97 1.97 1.97 1.97
d013 1.97 1.97 1.97 1.97 1.97 1.97
d015 1.97 1.97 1.97 1.97 1.97 1.97
d017 1.97 1.97 1.97 1.97 1.97 1.97
d021 1.08 1.08 1.08 1.08 1.08 1.08
d023 1.08 1.08 1.08 1.08 1.08 1.08
d025 1.08 1.08 1.08 1.08 1.08 1.08
d027 1.08 1.08 1.08 1.08 1.08 1.08
d031 1.13 1.13 1.13 1.13 1.13 1.13
d033 1.13 1.13 1.13 1.13 1.13 1.13
d012 inf inf inf inf inf inf
d014 inf inf inf inf inf inf
d016 inf inf inf inf inf inf
d018 inf inf inf inf inf inf
d022 1.00 1.00 1.00 1.00 1.00 1.00
d024 1.00 1.00 1.00 1.00 1.00 1.00
d026 1.00 1.00 1.00 1.00 1.00 1.00
d028 1.00 1.00 1.00 1.00 1.00 1.00
d032 inf inf inf inf inf inf
d034 inf inf inf inf inf inf
d041 1.00 1.00 1.00 1.00 1.00 1.00
Ratio of Optimal
gr001 ff001 gr010 ff010
d011 1.97 1.97 1.97 1.97
d013 1.97 1.97 1.97 1.97
d015 1.97 1.97 1.97 1.97
d017 1.97 1.97 1.97 1.97
d021 1.08 1.08 1.08 1.08
d023 1.15 1.08 1.08 1.08
d025 1.08 1.08 1.08 1.08
d027 1.08 1.15 1.08 1.08
d031 1.32 1.51 1.13 1.51
d033 1.13 1.51 1.13 1.51
d012 inf inf inf inf
d014 inf inf inf inf
d016 inf inf inf inf
d018 inf inf inf inf
d022 1.00 1.00 1.00 1.00
d024 1.00 1.00 1.00 1.00
d026 1.00 1.00 1.00 1.00
d028 1.00 1.00 1.00 1.00
d032 inf inf inf inf
d034 inf inf inf inf
d041 1.01 1.00 1.01 1.00
Incompleteness of Decoder
Random
Decoding
Slide 80
The Elimination of Order Based
oga01 oga02 oga03 oga04 oga05 oga06 oga11 oga12 oga13 oga14 oga15 oga16 oga21 oga22 oga23 oga24 oga25 oga26
d011 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
d012 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
d013 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
d014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
d015 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
d016 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
d017 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
d018 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
d021 30 31 28 30 31 28 139 110 109 139 110 109 22 26 24 22 26 24
d022 39 39 42 39 39 42 86 39 65 86 39 65 11 9 10 11 9 10
d023 48 33 17 48 33 17 129 61 130 129 61 130 12 21 25 12 21 25
d024 14 20 23 14 20 23 51 138 97 51 138 97 17 13 4 17 13 4
d025 24 36 16 24 36 16 169 174 191 169 174 191 11 24 1 11 24 1
d026 28 28 38 28 28 38 86 147 63 86 147 63 4 17 18 4 17 18
d027 42 52 27 42 52 27 107 137 73 107 137 73 19 13 10 19 13 10
d028 49 38 18 49 38 18 63 55 77 63 55 77 10 10 8 10 10 8
d031 58 71 63 58 71 63 148 121 207 148 121 207 13 34 7 13 34 7
d032 43 37 28 43 37 28 175 141 181 175 141 181 26 37 19 26 37 19
d033 39 44 46 39 44 46 177 127 183 177 127 183 26 25 43 26 25 43
d034 41 44 44 41 44 44 188 163 160 188 163 160 21 25 19 21 25 19
Points of Stability
100 gen. 400 gen. 100 gen.
Redundant Encoding
Slide 81
Stage 3
PMX O
X
CX
First Fit
Greedy
Crossover
Decoder
Crossover
Mutator
Reordering
1pt 2pt 3pt 4pt 5pt
No Reorder
WDFS Reorder
flip
swap
Uniform
1pt
random
Inject
flip
timezone
Crossover
Mutator
greedy Initializer
BAP-GGA
Object
Membership
+
NS
Postprocess
Order
Based
Best BAP-GGA
• GGA encoding
• Inject crossover
• timezone mutator
• greedy and random init.
Limited Experimention
(still open)
Slide 82
BAP-GGA Compared with B&B
Objective Cost Ratio of Optimal (bb001)
ABD gga45 gga46 gga47 gga48 optimal gga45 gga46 gga47 gga48
d212 0.55 1.61E+05 1.61E+05 1.61E+05 1.61E+05 1.61E+05 1.00 1.00 1.00 1.00
d213 0.57 1.62E+05 1.62E+05 1.69E+05 1.62E+05 1.62E+05 1.00 1.00 1.04 1.00
d215 0.56 1.45E+05 1.45E+05 1.45E+05 1.45E+05 1.45E+05 1.00 1.00 1.00 1.00
d217 0.68 2.02E+05 1.69E+05 1.69E+05 1.69E+05 1.69E+05 1.19 1.00 1.00 1.00
d341 0.35 4.86E+04 4.86E+04 4.86E+04 4.86E+04 4.86E+04 1.00 1.00 1.00 1.00
d342 0.40 6.45E+04 6.45E+04 6.45E+04 6.45E+04 6.45E+04 1.00 1.00 1.00 1.00
d343 0.37 5.67E+04 5.67E+04 5.67E+04 5.67E+04 5.67E+04 1.00 1.00 1.00 1.00
d344 0.39 6.39E+04 6.39E+04 6.39E+04 6.39E+04 6.39E+04 1.00 1.00 1.00 1.00
d345 0.38 9.69E+04 9.69E+04 9.69E+04 9.69E+04 9.69E+04 1.00 1.00 1.00 1.00
d346 0.47 2.23E+05 1.97E+05 1.97E+05 1.97E+05 1.97E+05 1.13 1.00 1.00 1.00
d347 0.49 1.25E+05 1.10E+05 1.10E+05 1.10E+05 1.10E+05 1.13 1.00 1.00 1.00
d348 0.49 2.37E+05 2.48E+05 2.01E+05 2.35E+05 2.01E+05 1.18 1.23 1.00 1.17
d349 0.47 9.39E+04 9.39E+04 9.39E+04 9.39E+04 9.39E+04 1.00 1.00 1.00 1.00
d350 0.47 1.25E+05 1.25E+05 1.25E+05 1.25E+05 1.25E+05 1.00 1.00 1.00 1.00
d351 0.55 3.95E+05 4.45E+05 3.41E+05 3.22E+05 3.22E+05 1.23 1.38 1.06 1.00
d352 0.59 3.50E+05 3.14E+05 2.85E+05 2.73E+05 2.73E+05 1.28 1.15 1.04 1.00
gga45 - random Init, 1-pt Crossover
gga46 - greedy Init, 1-pt Crossover
gga47 - random Init, inject Crossover
gga48 - greedy Init, inject Crossover
SMALLDATA
collection (26-42 vessels)
Slide 83
BAP-GA
2.0
BAP-GP
[Ong00]
BAP-BB
[Xu99]
Branch & Bound
(BAP-BB)
Optimal
Solutions
Very Slow (> 1 hour)
Modified
Fidducia-
Mattheyses
(BAP-GP)
Good Solutions
(~ 87 % Best)
Very Fast
(< 1 min per run)
GA
Better
Solutions
(~ 95% Best)
Fast
(~ 1 min per run)
The BAP Partitioners
Slide 84
Compared with BAP-GA 1.0
BAP-GGA is best (<= 1.0)
BAP-GGA is worse than BAP-GA 1.0 (feasible) < 1.2
BAP-GGA did not find feasible soln (BAP-GA 1.0 did not)
BAP-GGA found feasible soln (BAP-GA 1.0 did not)
BAP-GGA worse than BAP-GA 1.0 (feasible) > 1.2
Port Structure
51 2 3 4
60
16696 240 240 240
208120 302 302 302
250144 362 362 362
292422 422 422
0.25
0.4
0.5
0.6
0.7
A
B
D
BAP-GGA did not find feasible soln (BAP-GA 1.0 found)
BAP-GA 1.0 Hybrid GA
- ~ 5 hours per run (10 runs)
BAP-GGA
- < 10 mins per run (10 runs)
72
21
1
0
6
0
Best Ratio
0.74
Slide 85
Compared with BAP-GP (800 runs)
BAP-GGA is best (<= 1.0)
BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2
BAP-GGA did not find feasible soln (BAP-GP-800 did not)
BAP-GGA found feasible soln (BAP-GP-800 did not)
BAP-GGA worse than BAP-GP-800 (feasible) > 1.2
Port Structure
51 2 3 4
60
16696 240 240 240
208120 302 302 302
250144 362 362 362
292422 422 422
0.25
0.4
0.5
0.6
0.7
A
B
D
BAP-GGA did not find feasible soln (BAP-GP-800 found)
BAP-GGA
- < 10 mins per run (10 runs)
- low mutation rate (0.05)
38
53
0
0
7
2
Best Ratio
0.81
• Large solution space
- 5 sections
• All sections are small
• GA has not stabilized.
Slide 86
BENCHMARK Data Set Collection
Port Structures
5 (Brani)1 2 3 4
60
16696 240 240 240
208120 302 302 302
250144 362 362 362
292422 422 422
0.25
0.4
0.5
0.6
0.7
A
B
D*
• 5 data sets in each
box.
• Num. in box is num.
of vessels
Port Section
Layouts
* Average Berthing Demand
600m
600m
600m
600m
600m
600m
600m
600m
600m
600m1,800m
1,200m
1,200m
600m
480m
800m
200m
Slide 87
Longer BAP-GGA Runs
BAP-GGA is best (<= 1.0)
BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2
BAP-GGA did not find feasible soln (BAP-GP-800 did not)
BAP-GGA found feasible soln (BAP-GP-800 did not)
BAP-GGA worse than BAP-GP-800 (feasible) > 1.2
Port Structure
51 2 3 4
240
302
362
422
0.25
0.4
0.5
0.6
0.7
A
B
D
BAP-GGA did not find feasible soln (BAP-GP-800 found)
BAP-GGA
- double num of gen. (1000)
- < 20 mins per run (10 runs)
- low mutation rate (0.05)
Best Ratio
0.96
Slide 88
Increasing Population Size
BAP-GGA is best (<= 1.0)
BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2
BAP-GGA did not find feasible soln (BAP-GP-800 did not)
BAP-GGA found feasible soln (BAP-GP-800 did not)
BAP-GGA worse than BAP-GP-800 (feasible) > 1.2
Port Structure
51 2 3 4
240
302
362
422
0.25
0.4
0.5
0.6
0.7
A
B
D
BAP-GGA did not find feasible soln (BAP-GP-800 found)
BAP-GGA
- double popsize (100)
- < 20 mins per run (10 runs)
- low mutation rate (0.05)
Best Ratio
0.95
Larger solution space
requires larger GA
coverage
Slide 89
Compared with BAP-GP (800 runs)
BAP-GGA is best (<= 1.0)
BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2
BAP-GGA did not find feasible soln (BAP-GP-800 did not)
BAP-GGA found feasible soln (BAP-GP-800 did not)
BAP-GGA worse than BAP-GP-800 (feasible) > 1.2
Port Structure
51 2 3 4
60
16696 240 240 240
208120 302 302 302
250144 362 362 362
292422 422 422
0.25
0.4
0.5
0.6
0.7
A
B
D
BAP-GGA did not find feasible soln (BAP-GP-800 found)
BAP-GGA
- < 10 mins per run (10 runs)
- low mutation rate (0.05)
38
53
0
0
7
2
Best Ratio
0.81
• Exisitence of very
small section (200m)
• Multi-start (800)NS
could not resolve.
Slide 90
Increasing Mutation Rate (Timezone)
BAP-GGA is best (<= 1.0)
BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2
BAP-GGA did not find feasible soln (BAP-GP-800 did not)
BAP-GGA found feasible soln (BAP-GP-800 did not)
BAP-GGA worse than BAP-GP-800 (feasible) > 1.2
Port Structure
51 2 3 4
250
292
0.25
0.4
0.5
0.6
0.7
A
B
D
BAP-GGA did not find feasible soln (BAP-GP-800 found)
BAP-GGA
- < 20 mins per run (10 runs)
- mutation rate (0.5)
Best Ratio
0.91
Slide 91
Summary of Analysis
• BAP-GGA gives good results but in longer
time (compared to BAP-GP).
– How long depends on size of solution space.
– < 19% better results possible
– finds feasible solutions where NS type methods have diff.
– < 20mins per run on slow P2-300Mhz
– < 6hrs total planning time
• BAP-GGA performs better than traditional GA
– Strength of GGA encoding, Inject crossover
• BAP-GGA able to resolve busy schedules
– Strength of Timezone mutator
Slide 92
Presentation Outline
• Introduction
• “Traditional” GA applied to the BAP
• Our solution - The BAP-GGA
• System Implementation
• Experimentation
• Conclusion
Slide 93
Contributions
• Identified key problems of Traditional GA approaches
to solve the BAP Partitioning Problem
– unsuitable encoding
– difficulty handling busy schedules
• Devised GA (BAP-GGA) using techniques that address
these problems
– GGA encoding
– Greedy Initialization
– Timezone based reallocation
Slide 94
BAP-GA
2.0
BAP-GP
[Ong00]
BAP-BB
[Xu99]
Branch & Bound
(BAP-BB)
Optimal
Solutions
Very Slow
Modified
Fidducia-
Mattheyses
(BAP-GP)
Good Solutions
Very Fast
GA
Better
Solutions
Fast
The BAP Partitioners
Each addresses a different planning need
Slide 95
Short Term Extensions
• Other GA Operators
– Selection scheme
• rank-based [Whit89], stochastic univ. sel. [Hanc91]
– Replacement scheme
• replace-bad (not worst) [Reev97], replace-old [Mich91]
• Objective Function
– what is a good value for ?
• Incorporation of fast FM heuristic [Ong00]
– how to incorporate?
Slide 96
Long Term Extensions
• Incorporate Yard Capacity to model.
– Container handling rate of Quay and Yard cranes.
– Storage capacity of Yard
• Study effects of various port structures.
• Study of solutions generated by various
combinations of Partitioning and Packing
solvers
Slide 97
The End
Slide 98
Premature Convergence
Slide 99
Dealing with Premature Convergence
• Standard way - Increase Population Size
– costs - memory, running time
– increase cautiously
• Adaptive mutation
– drastically increase rate of mutation
• 0.05 to 1.0
– change mutation scheme (and inc. mut. rate)
• time-zone to flip
Slide 100
Schema
0
1
1
1
0
1
1
1
0
1
1
1
H1 = 1** H2 = *0* H3 = **1
Slide 101
0
1
1
1
101
Slide 102
The Berth Allocation Problem
Section 1
Section 2
Section 3
Slide 103
The Quadratic Assignment Problem
• Facility Layout Problem
• Given a floor area of a factory evenly partitioned into n equal blocks and n departments,
we want to assign all departments to floor blocks so as to minimize the total material
handling cost.
• NP-Hard
Slide 104
A Special Case of the BAP
• n vessels assigned to n sections to minimize container handling effort.
• Each vessel must be assigned a unique section.
• Same problem as QAP.
Slide 105
The General BAP
• n vessels assigned to m sections (m < n) to minimize transshipment cost.
• Vessels must be assigned a sections that have space to accommodate them.
• Generalization of QAP.
• NP-Hard
Slide 106
Planning Window
Applying GA To The BAP
15 3
20
10
5
12
25
3045
20
300
300
Slide 107
Key Ideas Behind GA
• All organisms endowed with different traits (attributes)
– eg. number of fingers, webbed feet, long neck
– determined at birth by their genes inherited from parents
• Genes encapsulated into structures called chromosomes
• Some traits are better suited for survival
– eg. long neck for reaching leaves on trees
• Fitness
– ie. how well each individual is able to survive in the environment
• All individuals compete for survival and mating
– strong will flourish, weak will die off
– genes from stronger individuals get passed on to next generation
• Mutation introduces variation to the genes
– new traits also appear
Slide 108
Key GAAbstractions
• Organism = chromosome = organism
– the chromosome is the organism
• Chromosome = string of chars
– each string element represents a gene
• Fitness = fitness function
– maps chromosome to a real number
– usually dependant on values of string elements
• Who lives and dies based on fitness value
– replacement scheme
• Selection for mating also based on fitness value
– ie. fitter organisms get to mate more
• Mutation acts to alter string elements
Slide 109
BAPS 1.0 Experimentation
• Focus - to perform evaluation of Loh’s proposed
GA combinations
• Constructed 100 realistic data sets
– BENCHMARK data set collection
• Best GA:
– Uniform crossover
– NS/flip mutator
• Long running times - days
– unbounded NS
• Compared not favorably with BAP-GP
– FM based partitioner (fast)
Slide 110
An Appeal
• Please support Open Source software efforts
and the Free Software Movement
• This research has benefited much from the
fact that there is a freely available,
powerful, stable OS from which to run
expts on cheap PCs.
Slide 111
Running the GA
Slide 112
Running the GA
•Wide coverage of solution space
•Not susceptible to local optima
Slide 113
Section 2
Section 1
Section 3
Encoding The BAP
3
5
13
11
1
2
4
6
7
8
9
10
12
15 3
20
10 5
12
25
3045
20
2 3 4 5 6 7 8 9 131211101
3 1 2 1 3 3 1 2 2 2113
Vessel Number :
Section Number :
BAP Chromosome
Slide 114
Strategy for GA Evaluation Problem
• Focus on GA elements that give biggest payoff
– Which are they?
• Quick prototyping of GA solvers
– Use library of GA components (GALib)
• “Production-line” experimentation system
– BAP Experimental Framework
– Automate expts, clone
• Successive Refinement
– 4 stage evaluation process
Slide 115
Calculating Fitness
• Objective Function
= Transshipment Cost + (  Overshoot Cost)
– relaxation of Berth Capacity Constraint
– deal with infeasible allocations
–  is a very large number
•  >> Transshipment Cost
• differentiate feasible and infeasible allocations
• BAP Objective is to Minimize
• But GA Objective is to Maximize Fitness
– Need to convert Min problem to Max problem
Slide 116
BAPS 1.0 Conclusions
• Results
– GA without NS perform badly
– Results not very good compared with BAP-GP
• Questions
– Why does GA (without NS) perform badly?
– What is NS contribution to search?
Slide 117
The Fitness Landscape
• Height of each point
- determined by fitness function
• How points located next to
one another - determined by the
neighborhood function
• Encoding, crossover and mutation
scheme determine the landscape
Slide 118
Data Generation Parameters
• Port Structure
– section lengths, distances between them
• Berthing Demand
– how busy the port is
• Planning window - 84 hrs (1/2 week)
• Mix of vessels - 70% SML, 30% MED class
• Num. containers moved ~ 50% of capacity
Slide 119
Port Structures
• Port Structure 1
• Port Structure 2
• Port Structure 3
• Port Structure 4
• Port Structure 5 (Brani)
600m
section 1
600m
section 2
600m
section 1
600m
section 2
600m
section 4
600m
section 5
600m
section 3
1200m
section 1
1200m
section 3
600m
section 2
600m
section 1
600m
section 3
1800m
section 2
600m
section 1
480m
section 2
800m
section 3
200m
section 4
Slide 120
Total Berth Demand
The Average Berth Demand
Planning Window
Total
Berthing
Length
• ABD = Total Berth Demand / (Total Berthing Length × Planning Window)
Density
Slide 121
Port Survey
• Objective - to obtain primary data figures
and gather domain related info.
• All info. from publicly available sources
– PortView, WWW
• Documented in [Foo96] (same title)
– RAS Internal document
• Key primary data:
– vessel classes (eg. panamax, post-panamax)
• vessel lengths, durations of stay, capacities
– port structures
Slide 122
Order Based Expt. Grid
PMX OX CX
First Fit
Greedy
Crossover
Decoder
Slide 123
Object Membership Expt. Grid
Crossover
Mutator
Reordering
1pt 2pt 3pt 4pt 5pt
No Reorder
WDFS Reorder
flip
swap
Uniform
Slide 124
Hybrid GA Expt. Grid
POST
LOCAL
Hybridization Scheme
FLIPN
LOCAL
1STEP
LOCAL
RANDOM
LOCAL
Slide 125
GGA Expt. Grid
Initializer
1pt
random
Inject
flip
timezone
Crossover
Mutator
greedy
Slide 126
Choice of Hybridization Scheme
Objective Cost Ratio of Optimal
RND 1STEP FLIPN POST optimal RND 1STEP FLIPN POST
d011 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00
d013 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00
d015 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00
d017 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00
d021 1.89E+05 1.89E+05 1.89E+05 1.82E+05 1.59E+05 1.19 1.19 1.19 1.15
d023 2.31E+05 2.31E+05 1.87E+05 1.87E+05 1.59E+05 1.46 1.46 1.18 1.18
d025 1.59E+05 1.59E+05 1.67E+05 1.67E+05 1.59E+05 1.00 1.00 1.05 1.05
d027 1.99E+05 1.99E+05 2.32E+05 1.83E+05 1.59E+05 1.26 1.26 1.46 1.15
d031 2.10E+08 2.10E+08 1.65E+05 1.65E+05 1.39E+05 1512.73 1512.73 1.19 1.19
d033 2.69E+05 2.69E+05 1.10E+08 2.69E+05 1.39E+05 1.94 1.94 793.45 1.94
d012 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00
d014 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00
d016 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00
d018 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00
d022 3.15E+04 3.15E+04 8.00E+04 6.30E+04 0.00E+00 inf inf inf inf
d024 0.00E+00 0.00E+00 1.26E+05 6.75E+04 0.00E+00 1.00 1.00 inf inf
d026 9.10E+04 9.10E+04 9.00E+04 0.00E+00 0.00E+00 inf inf inf 1.00
d028 5.60E+04 5.60E+04 1.43E+05 0.00E+00 0.00E+00 inf inf inf 1.00
d032 2.10E+08 2.10E+08 0.00E+00 0.00E+00 0.00E+00 inf inf 1.00 1.00
d034 2.21E+05 2.21E+05 1.10E+08 9.00E+04 0.00E+00 inf inf inf inf
d041 1.44E+13 1.44E+13 1.44E+13 1.44E+13 1.44E+13 1.00 1.00 1.00 1.00
Slide 127
Applying GA To The BAP
Planning Window
15 3
20
10
5
12
25
3045
20
300
300
Slide 128
Encoding The BAP
3
5
13
11
1
2
4
6
7
8
9
10
12
15 3
20
10
5
12
25
3045
20
Slide 129
Selecting Who Should Mate
• Standard way (Holland) -
known as “roulette wheel” or
proportional selection.
• Individuals in population have
probability of being selected
based on their fitness relative
to the population average.
• Fitter have higher prob. of
mating.
Fitness Roulette
1000
2000
5000
8000
1000
Individual 1
Individual 2
Individual 3
Individual 4
Individual 5
Slide 130
Fitness Roulette
1000
2000
5000
8000
1000
Individual 1
Individual 2
Individual 3
Individual 4
Individual 5
Fitness Roulette
6%
12%
29%
47%
6%
Individual 1
Individual 2
Individual 3
Individual 4
Individual 5
Proportional Selection
Slide 131
More Fit
Individuals
Less Fit
Individuals
Who Should Live and Who Should Die
Population of
Generation n
Individuals
From
Generation n
New
Individuals
Population of
Generation n+1
Number of individuals to kill = Number of children to produce
= Replacement Rate × Population Size
Steady State Replacement
Slide 132
Stage 1
PMX O
X
CX
First Fit
Greedy
Crossover
Decoder
Crossover
Mutator
Reordering
1pt 2pt 3pt 4pt 5pt
No Reorder
WDFS Reorder
flip
swap
Uniform
1pt
random
Inject
flip
timezone
Crossover
Mutator
greedy Initializer
BAP-GGA
Object
Membership
Order
Based
Data sets:
- TESTDATA collection
- 6-15 ves., 2-3 sect.
Popsize/numgen:
- 5/100, 5/400, 20/100
Slide 133
Stage 2
PMX O
X
CX
First Fit
Greedy
Crossover
Decoder
Crossover
Mutator
Reordering
1pt 2pt 3pt 4pt 5pt
No Reorder
WDFS Reorder
flip
swap
Uniform
1pt
random
Inject
flip
timezone
Crossover
Mutator
greedy Initializer
BAP-GGA
Object
Membership
Order
Based
Data sets:
- SMALLDATA
- 26-42 ves., 2-3 sect.
Popsize/numgen:
- 20/100, 20/400, 80/100
Slide 134
Elimination of Flip Mutator (BAP-GGA)
ggaX1 ggaX2 ggaX3 ggaX4 ggaX5 ggaX6 ggaX7 ggaX8
gga2X 0 1 6 9 7 9 11 11
gga3X 4 8 8 9 12 14 14 13
gga4X 5 10 12 11 14 11 14 15
ggaX1 ggaX2 ggaX3 ggaX4 ggaX5 ggaX6 ggaX7 ggaX8
gga2X 2.58 1.60 1.30 1.10 1.13 1.08 1.04 1.03
gga3X 1.38 1.19 1.20 1.08 1.02 1.01 1.01 1.02
gga4X 1.59 1.13 1.08 1.05 1.05 1.05 1.01 1.01
Optimal Count (of 16 data sets)
Average Ratios over Optimal
Flip Timezone
Slide 135
BAP-GGA : Inject over 1-pt Crossover
gga55 gga56 gga57 gga58 gga65 gga66 gga67 gga68 gga75 gga76 gga77 gga78
d105 1.70 1.02 1.02 1.03 1.16 1.02 1.02 1.03 1.19 1.01 1.01 1.00
d144 12.11 13.83 2.31 1.23 1.46 5.98 1.07 1.00 1.55 3.30 1.04 1.00
d164 2.48 1.38 1.39 1.16 1.70 1.16 1.05 0.98 1.64 1.23 1.10 0.91
d181 1.85 1.60 1.50 1.40 1.32 1.37 1.18 1.23 1.39 1.42 1.18 1.19
d126 1.56 1.56 1.63 1.52 1.25 1.33 1.17 1.17 1.35 1.37 1.25 1.22
d146 3.54 2.40 1.52 1.45 1.72 1.63 1.06 1.14 1.72 1.71 1.06 0.96
d166 1.71 1.51 1.42 1.36 1.36 1.25 1.18 1.05 1.42 1.33 1.14 1.08
d186 48.48 1.55 1.49 1.46 1.32 1.36 1.16 1.24 1.37 1.45 1.19 1.22
d131 1.55 1.55 1.62 1.55 1.27 1.34 1.16 1.21 1.34 1.39 1.28 1.23
d151 2.24 1.81 1.44 1.38 1.51 1.44 0.97 1.02 1.55 1.48 1.04 0.95
d171 1.63 1.63 1.43 1.51 1.35 1.39 1.24 1.18 1.41 1.44 1.27 1.20
d191 1760.62 622.52 1353.64 537.37 644.76 521.11 500.22 427.24 842.87 409.69 588.11 100.05
d140 987.41 220.48 851.97 130.80 627.67 123.79 560.61 87.09 659.37 24.05 526.61 1.30
d160 522.77 1.62 50.88 1.32 1.30 1.34 0.94 0.97 1.35 1.38 1.06 0.95
d200 126.74 42.26 78.57 35.74 60.65 31.81 42.94 29.84 63.53 33.40 48.94 14.48
Ratios over best BAP-GA 1.0
50/100 50/400 100/200
ggaX5, ggaX6 - 1-pt
ggaX7, ggaX8 - Inject
Slide 136
Calculating Transshipment Cost
Planning Window
10 5
315
12
20
300
300
Slide 137
Another View of the Port
Section 1
Section 2
Section 3
Time8am 10am 12pm 1pm
Cagney
Lacey
12
Transshipment

More Related Content

Similar to The application of Genetic Algorithms to the Berth Allocation Problem

Evolutionary Technique for Combinatorial Reverse Auctions
Evolutionary Technique for Combinatorial Reverse AuctionsEvolutionary Technique for Combinatorial Reverse Auctions
Evolutionary Technique for Combinatorial Reverse Auctions
Shubhashis Shil
 
linearprogramingproblemlpp-180729145239.pptx
linearprogramingproblemlpp-180729145239.pptxlinearprogramingproblemlpp-180729145239.pptx
linearprogramingproblemlpp-180729145239.pptx
KOUSHIkPIPPLE
 
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMSTUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
Avay Minni
 
MOMDPSO_IDETC_2014_Weiyang
MOMDPSO_IDETC_2014_WeiyangMOMDPSO_IDETC_2014_Weiyang
MOMDPSO_IDETC_2014_Weiyang
MDO_Lab
 
Linear programming
Linear programmingLinear programming
Linear programming
Krantee More
 
Fluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptxFluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptx
LibinAbrahamKonattu
 
Welch Verolog 2013
Welch Verolog 2013Welch Verolog 2013
Welch Verolog 2013
Philip Welch
 

Similar to The application of Genetic Algorithms to the Berth Allocation Problem (20)

Hyperheuristics in Logistics - kassem danach
Hyperheuristics in Logistics - kassem danachHyperheuristics in Logistics - kassem danach
Hyperheuristics in Logistics - kassem danach
 
Andrew rusling 21 experiments to increase velocity
Andrew rusling 21 experiments to increase velocityAndrew rusling 21 experiments to increase velocity
Andrew rusling 21 experiments to increase velocity
 
21 experiments to increase velocity
21 experiments to increase velocity21 experiments to increase velocity
21 experiments to increase velocity
 
Evolutionary Technique for Combinatorial Reverse Auctions
Evolutionary Technique for Combinatorial Reverse AuctionsEvolutionary Technique for Combinatorial Reverse Auctions
Evolutionary Technique for Combinatorial Reverse Auctions
 
linearprogramingproblemlpp-180729145239.pptx
linearprogramingproblemlpp-180729145239.pptxlinearprogramingproblemlpp-180729145239.pptx
linearprogramingproblemlpp-180729145239.pptx
 
A GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERING
A GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERINGA GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERING
A GENETIC-FROG LEAPING ALGORITHM FOR TEXT DOCUMENT CLUSTERING
 
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHMSTUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
 
Backtracking & branch and bound
Backtracking & branch and boundBacktracking & branch and bound
Backtracking & branch and bound
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT Evaluation
 
MOMDPSO_IDETC_2014_Weiyang
MOMDPSO_IDETC_2014_WeiyangMOMDPSO_IDETC_2014_Weiyang
MOMDPSO_IDETC_2014_Weiyang
 
Linear programming
Linear programmingLinear programming
Linear programming
 
modeling.ppt
modeling.pptmodeling.ppt
modeling.ppt
 
Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
 
Bayesian Model-Agnostic Meta-Learning
Bayesian Model-Agnostic Meta-LearningBayesian Model-Agnostic Meta-Learning
Bayesian Model-Agnostic Meta-Learning
 
Least Square Optimization and Sparse-Linear Solver
Least Square Optimization and Sparse-Linear SolverLeast Square Optimization and Sparse-Linear Solver
Least Square Optimization and Sparse-Linear Solver
 
Fluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptxFluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptx
 
Welch Verolog 2013
Welch Verolog 2013Welch Verolog 2013
Welch Verolog 2013
 
A General Purpose Exact Solution Method For Mixed Integer Concave Minimizatio...
A General Purpose Exact Solution Method For Mixed Integer Concave Minimizatio...A General Purpose Exact Solution Method For Mixed Integer Concave Minimizatio...
A General Purpose Exact Solution Method For Mixed Integer Concave Minimizatio...
 
1907555 ant colony optimization for simulated dynamic multi-objective railway...
1907555 ant colony optimization for simulated dynamic multi-objective railway...1907555 ant colony optimization for simulated dynamic multi-objective railway...
1907555 ant colony optimization for simulated dynamic multi-objective railway...
 
21 Experiments to Increase Throughput
21 Experiments to Increase Throughput21 Experiments to Increase Throughput
21 Experiments to Increase Throughput
 

More from Heemeng Foo (6)

Using ml to accelerate failure analysis
Using ml to accelerate failure analysisUsing ml to accelerate failure analysis
Using ml to accelerate failure analysis
 
Cyclomatic and cognitive complexity
Cyclomatic and cognitive complexityCyclomatic and cognitive complexity
Cyclomatic and cognitive complexity
 
Machine learning testing survey, landscapes and horizons, the Cliff Notes
Machine learning testing  survey, landscapes and horizons, the Cliff NotesMachine learning testing  survey, landscapes and horizons, the Cliff Notes
Machine learning testing survey, landscapes and horizons, the Cliff Notes
 
Testing in digital agriculture
Testing in digital agricultureTesting in digital agriculture
Testing in digital agriculture
 
Device lab trials and tribulations
Device lab trials and tribulationsDevice lab trials and tribulations
Device lab trials and tribulations
 
An introduction to AI in Test Engineering
An introduction to AI in Test EngineeringAn introduction to AI in Test Engineering
An introduction to AI in Test Engineering
 

Recently uploaded

Pteris : features, anatomy, morphology and lifecycle
Pteris : features, anatomy, morphology and lifecyclePteris : features, anatomy, morphology and lifecycle
Pteris : features, anatomy, morphology and lifecycle
Cherry
 
COMPOSTING : types of compost, merits and demerits
COMPOSTING : types of compost, merits and demeritsCOMPOSTING : types of compost, merits and demerits
COMPOSTING : types of compost, merits and demerits
Cherry
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
Cherry
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
levieagacer
 
PODOCARPUS...........................pptx
PODOCARPUS...........................pptxPODOCARPUS...........................pptx
PODOCARPUS...........................pptx
Cherry
 

Recently uploaded (20)

Pteris : features, anatomy, morphology and lifecycle
Pteris : features, anatomy, morphology and lifecyclePteris : features, anatomy, morphology and lifecycle
Pteris : features, anatomy, morphology and lifecycle
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
COMPOSTING : types of compost, merits and demerits
COMPOSTING : types of compost, merits and demeritsCOMPOSTING : types of compost, merits and demerits
COMPOSTING : types of compost, merits and demerits
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
 
Role of AI in seed science Predictive modelling and Beyond.pptx
Role of AI in seed science  Predictive modelling and  Beyond.pptxRole of AI in seed science  Predictive modelling and  Beyond.pptx
Role of AI in seed science Predictive modelling and Beyond.pptx
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
 
Efficient spin-up of Earth System Models usingsequence acceleration
Efficient spin-up of Earth System Models usingsequence accelerationEfficient spin-up of Earth System Models usingsequence acceleration
Efficient spin-up of Earth System Models usingsequence acceleration
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .
 
Site specific recombination and transposition.........pdf
Site specific recombination and transposition.........pdfSite specific recombination and transposition.........pdf
Site specific recombination and transposition.........pdf
 
ABHISHEK ANTIBIOTICS PPT MICROBIOLOGY // USES OF ANTIOBIOTICS TYPES OF ANTIB...
ABHISHEK ANTIBIOTICS PPT MICROBIOLOGY  // USES OF ANTIOBIOTICS TYPES OF ANTIB...ABHISHEK ANTIBIOTICS PPT MICROBIOLOGY  // USES OF ANTIOBIOTICS TYPES OF ANTIB...
ABHISHEK ANTIBIOTICS PPT MICROBIOLOGY // USES OF ANTIOBIOTICS TYPES OF ANTIB...
 
Kanchipuram Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Kanchipuram Escorts 🥰 8617370543 Call Girls Offer VIP Hot GirlsKanchipuram Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Kanchipuram Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
 
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsTransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
Cyanide resistant respiration pathway.pptx
Cyanide resistant respiration pathway.pptxCyanide resistant respiration pathway.pptx
Cyanide resistant respiration pathway.pptx
 
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort ServiceCall Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
 
Genome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptxGenome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptx
 
Cot curve, melting temperature, unique and repetitive DNA
Cot curve, melting temperature, unique and repetitive DNACot curve, melting temperature, unique and repetitive DNA
Cot curve, melting temperature, unique and repetitive DNA
 
GBSN - Microbiology (Unit 3)Defense Mechanism of the body
GBSN - Microbiology (Unit 3)Defense Mechanism of the body GBSN - Microbiology (Unit 3)Defense Mechanism of the body
GBSN - Microbiology (Unit 3)Defense Mechanism of the body
 
PODOCARPUS...........................pptx
PODOCARPUS...........................pptxPODOCARPUS...........................pptx
PODOCARPUS...........................pptx
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 

The application of Genetic Algorithms to the Berth Allocation Problem

  • 1. Slide 1 The Application of Genetic Algorithms to the Berth Allocation Problem Foo Hee Meng 18 August, 2000
  • 2. Slide 2 Quick Summary • The Berth Allocation Problem (BAP) – Allocation of berthing space to container vessels (ships) in a transshipment port • Objective – Minimize container handling effort • Solution Method – Genetic Algorithm (GA) • Focus of Thesis – devise good way to apply GA to BAP – what are the problems, how to deal with them.
  • 3. Slide 3 Presentation Outline • Introduction – The Berth Allocation Problem (BAP) – Focus of thesis • “Traditional” GA applied to the BAP • Our solution - The BAP-GGA • System Implementation • Experimentation • Conclusion
  • 4. Slide 4 Vessels Yard Cranes Quay Crane Prime Mover Section 1 Section 2 Container Yard Area Wharf Area The Port
  • 5. Slide 5 The Berth Allocation Problem Section 1 Section 2 Section 3 Planning Window 15 3 20 10 5 12 25 3045 20 (say 1 week) Transshipment
  • 6. Slide 6 Container Handling Effort Section 1 Section 2 Section 3 Trans. Cost = sum of all {cross section distance moved for each container} Crosssectiondistance 15 3 20 10 5 12 25 3045 20
  • 7. Slide 7 Container Handling Effort Section 1 Section 2 Section 3 15 3 20 10 5 12 300 300 Trans. Cost = (300  10) + (300  5) + (300  20) + (600  3) + (300  12) + (300  15) = 20400
  • 8. Slide 8 Why is this Problem Important? • Large potential savings in container handling costs – worldwide traffic doubled between 1990 - 1998 to 175mil. TEU (World Bank) – PSA handled 16 mil. TEU in 1999 (ST) • Recurring costs – Container traffic seasonal • Limited land area Twenty-foot Equivalent Units Small percentage savings mean large dollar savings Plan for 1 week use for next few weeks
  • 9. Slide 9 Previous Work • Leong and Hum 1992 – Modeled problem as a network flow problem. – Did not consider cross-sectional distances. • Important - PPT, Europe (Pallotino) • Loh 1996 – Modeled BAP as a generalization of the QAP – QAP = Quadratic Assignment Problem – QAP factors in distances of assignment locations – QAP is NP-Hard – Proposed a Genetic Algorithm (GA) solution
  • 10. Slide 10 Focus of Loh’s Work • Establish basic Problem Model – QAP  BAP • Demonstrated feasibility of GA solution – eval. QAP benchmarks using BAP • Proof of concept system – tested with 2 small, hand-crafted data sets • (50 vessels, 3 sections) Start of R&D effort by RAS Group
  • 11. Slide 11 Our Adopted Solution Approach Vessels Sections 1. Section Assignment (Partitioning) Allocation of vessels to sections. 2. Wharf mark assignment (Packing) Assign wharf locations to vessels within allocated sections.
  • 12. Slide 12 Partitioning? Section 1 Section 2 Section 3 Planning Window 15 3 20 10 5 12 25 3045 20
  • 13. Slide 13 Partitioning! 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20 Each vessel rep. by node Transshipment flow rep. by directed edge  min-cut multi-way partitioning problem
  • 14. Slide 14 Assumptions • Any vessel can be assigned to any section – no bias • All vessels are berthed upon arrival – no delay • Vessels can berth along the whole length of the section – no berthing between sections
  • 15. Slide 15 The BAP Partitioning Problem • Allocation of sections to vessels to minimize transshipment cost • Do not consider which wharf location to allocate each vessel to. • Hence, the need to incorporate capacity constraint
  • 16. Slide 16 The Berth Capacity Constraint • At any instance of time within the planning period, the total berth usage of all vessels assigned to each section cannot exceed the length of that section. t 0    L t S 
  • 17. Slide 17 The RAS BAP Road Map [Loh96] Date: 1996 Partitioning Packing Exptn. System Devt. Delay BAP-GA 1.0 Heuristic Packer [LeKu96] Port Survey [Foo96] Data Gen. [FoOn96] Expt. & Analysis [FoOn96] BAPS GUI [FYP97] BAPS 1.0 Date: Aug 97 BAP-GA 2.0 BAP-GP [Ong00] BAP-BB [Xu99] DSA [Quek98] BAP-Pack [Chen99] Expt. & Analysis [FoOn98] BAPS GUI 2.0 [Ong00] Interactive BAPS [Sim99] Interactive BAPS 2.0 [Nisha00] Date: May 2000BAPS 2.0 BAP-MP [Li99]
  • 18. Slide 18 The BAP Partitioners BAP-GA 1.0 BAP-GA 2.0 BAP-GP [Ong00] BAP-BB [Xu99]
  • 19. Slide 19 BAP-GA 1.0 BAP-GA 2.0 BAP-GP [Ong00] BAP-BB [Xu99] GAApproach Objectives: • Evaluate Loh’s engine to realistic data sets. Lessons: • Traditional GA - do not solve BAP Partitioning well. • Not scalable. Branch & Bound (BAP-BB) Optimal Solutions Very Slow Modified Fidducia- Mattheyses (BAP-GP) Locally Optimal Solutions Very Fast The BAP Partitioners GA Objectives: • Address drawbacks of [Loh96]. • Answer question: why traditional GA not suitable?
  • 20. Slide 20 Modified [Loh96] BAP-GA 2.0 BAP-GP [Ong00] BAP-BB [Xu99] GAApproach Objectives: • 1st cut solver. • Initial results. Lessons: • Traditional GA - do not solve BAP Partitioning well. • Not scalable. Branch & Bound (BAP-BB) Optimal Solutions Very Slow Modified Fidducia- Mattheyses (BAP-GP) Good Solutions Very Fast GA Better Solutions Fast The BAP Partitioners
  • 21. Slide 21 Focus of Thesis • Devise a suitable GA for solving the BAP Partitioning Problem – Good (in terms of quality) solutions – reasonable planning time (say 1 night) • Answer question why “traditional” GA methods fail
  • 22. Slide 22 Thesis Contributions • Devised good GA for BAP Partitioning – < 19% improvement for 40% data sets over GP – Locate feasible allocations where GP could not – < 6 hrs on P2-300Mhz • Identified reasons for “traditional” GA failure – unsuitable encoding – problem with busy schedules • Conducted Extensive Experimentation – ~60,000 individual expt. runs on various GA param. combi.
  • 23. Slide 23 • No real data • GA Evaluation Problem – Many parameters to tune – Long running times • No real data – Generate Realistic Data • GA Evaluation Problem – Adopt Successive Refinement Strategy Difficulties Faced
  • 24. Slide 24 Presentation Outline • Introduction • “Traditional” GA applied to the BAP • Our solution - The BAP-GGA • System Implementation • Experimentation • Conclusion
  • 25. Slide 25 Genetic Algorithms • A class of stochastic, population based, search algorithms that mimic the process of natural selection in the natural world. – One class of Evolutionary Algorithms (EA) • Genetic Programming, Simulated Evolution • Some history – John Holland at the Univ. of Michigan 1970s • Formal model of natural selection and genetics – Ken. DeJong - late 70s • Experimental work to verify Holland’s theory – David Goldberg (at U. Mich.) 1980s • first applied GA to solve a real-world problem
  • 26. Slide 26 Applying GA to Optimization Problem Chromosomes Encoding Solution Decoding Genetic Algorithm Fittest Chromosome
  • 27. Slide 27 Generation The GA Process Randomly Generate Initial Population of chromosomes Select chromosomes for Mating based on Fitness Select Survivors based on Fitness Perform Mutation on chromosomes Put Children back into Population Recombine chromosomes to Produce Children (Mating) Evaluate chromosomes in Population based on Fitness N Y Stop? Done
  • 28. Slide 28 Applying GA To Problem • Define Encoding scheme – solution instance chromosome • Define Fitness Function – measure of individual’s (associated to chromosome) survivability • Define Selection scheme – ie. How to choose who should mate • Define Crossover scheme – recombination procedure (mating) • Define Mutation scheme – variation procedure • Define Replacement scheme – ie. Who should live and who should die • “Roulette wheel” or proportional selection – fitter have higher probability of getting to mate. • Steady State Replacement – replace fixed number of least fit in population with children.
  • 29. Slide 29 Encoding The BAP 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20 2 3 4 5 6 7 8 9 131211101Vessel Number : Section Number : BAP Chromosome Genes
  • 30. Slide 30 Section 1 Section 2 Section 3 Encoding The BAP 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20 2 3 4 5 6 7 8 9 131211101 1 1 1 2 2 2 2 2 33331 Vessel Number : Section Number : BAP Chromosome Object Membership Encoding
  • 31. Slide 31 Performing Crossover 3 1 2 1 3 3 1 2 2 2113 1 1 1 2 2 2 2 2 33331 Cross-point Cross-point
  • 32. Slide 32 Performing Crossover 1 1 1 1 3 3 1 2 2 3333 2 Point Crossover
  • 33. Slide 33 Performing Mutation 1 1 1 1 3 3 1 2 2 33332 Mutated Gene Flip Mutator
  • 34. Slide 34 Applying GA To Problem • Define Encoding scheme – solution instance chromosome • Define Fitness Function – measure of individual’s (associated to chromosome) survivability • Define Selection scheme – ie. How to choose who should mate • Define Crossover scheme – recombination procedure (mating) • Define Mutation scheme – variation procedure • Define Replacement scheme – ie. Who should live and who should die
  • 35. Slide 35 Calculating Fitness • Objective Function = Transshipment Cost + (   Overshoot Cost) • BAP Objective is to Minimize • But GA Objective is to Maximize Fitness – Need to convert Min problem to Max problem Primary Objective • Relaxation of Berth Capacity Constraint • Penalize infeasible allocations. • Discriminate among infeasible allocations • >> Trans. Cost • Differentiate feasible and infeasible obj. values
  • 36. Slide 36 Calculating Overshoot Planning Window 10 5 315 12 20 300 300
  • 37. Slide 37 Calculating Overshoot Planning Window • Overshoot Cost = Average Overshoot + Max. Overshoot 
  • 38. Slide 38 • Object Membership Encoding • Crossover schemes – 2 point • Mutation schemes – flip • Selection - Roulette Wheel • Steady State Replacement • popsize = 50, numgen = 50, 500 BAP-GA 1.0 (Prelim. Study) • Object Membership Encoding • Crossover schemes – 1 point, 2 point, Uniform • Mutation schemes – flip, Neighborhood Search (NS) • Selection - Roulette Wheel • Steady State Replacement • popsize = 50, numgen = 50, 500 Neighborhood Search: 1-move, best neighbor Best GA
  • 39. Slide 39 Literature Survey • Revisit of GA fundamentals – Introductions: [Gold89], [Mich92], [Reev93] – Theory: [Holl75] • GAApplications to similar problems – Jones and Beltramo [JoBe91] • Initial application of GA on clustering/partitioning – Bui and Moon ([BuMo94] and [BuMo94a]) • multiway partitioning and ratio-cut partitioning – Kochhar and Heragu [KoHe98] • GA approach to Multi-Floor Facility Layout (MFFLP) – Falkenauer [Falk97] • Grouping GA (GGA) for grouping problems
  • 40. Slide 40 Key Survey Findings • Better understanding of how GA works – [Holl75], [Gold89], [Mich92], [Falk97] • Which are the more important GA operators – Encoding scheme – Crossover scheme – Mutation scheme – [Reev93], [Falk97], [Kers97] – The Focus of our study is on these 3 operators
  • 41. Slide 41 “Traditional” GA Domain Specific • Object Membership Encoding – reordering of chromosome [BuMo94] – multi-point crossovers [BuMo94] – swap mutator [JoBe91] • Object Membership/Neighborhood Search Hybrid – Limited NS [BuMo94] [BuMo94a] – NS post-process [BuMo94] [BuMo94a] • Order Based Encoding – PMX, OX, CX crossovers [JoBe91] – Greedy decoder [JoBe91] – First Fit decoder [KoHe98] • Grouping GA (GGA) [Falk97] Key GAApproaches Studied (Classified According to Encoding Scheme)
  • 42. Slide 42 The Order Based Encoding • [JoBe91] - clustering/partitioning, [KoHe98] - Multi-floor facility layout • Initially used to solve the TSP • To solve other problems - need decoder 5 3 10 8 1 11 6 4 12 97132 5 3 10 8 1 11 6 4 12 97132 Decoding Procedure Section 1 Section 2 Section 3 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20
  • 43. Slide 43 Unsuitability of Order Based GA • The encoding scheme is very bad • “Incompleteness” of decoder – difficult (when solving practical problems) to guarantee completeness of decoder • Very high redundancy of encoding – Number of possible permutations is n! – Number of possible Object Membership configurations is only mn – Level of redundancy is (n! / mn) • 100 vessels, 4 sections - (100! / 4100) ~ (10157/1060) – Most of the time GA is doing nothing useful!
  • 44. Slide 44 • Order Based Encoding – Redundant and incomplete encoding • Object Membership Encoding – Context insensitivity of crossover – Problems handling busy schedules • Object Membership/Neighborhood Search Hybrid – GA/NS Contribution – Problems with NS Methods dealing with busy periods Unsuitability of Traditional GA
  • 45. Slide 45 Unsuitability of Obj. Mem. GA (Context Insensitivity of Crossover) Section 1 Section 2 Section 3 3 5 11 13 10 2 4 6 7 8 9 1 12 15 3 20 10 5 12 25 3045 20 2 3 4 5 6 7 8 9 131211101 1 1 1 2 2 2 2 2 33313 Vessel Number : Section Number : BAP Chromosome Reason: Traditional crossover works object-wise - not group wise
  • 46. Slide 46 Inversion or Reordering • [BuMo94] - multiway partitioning [BuMo94a] - ratio-cut partitioning • Cluster groups of genes together so that crossover has less chance of breaking up good subgroups • Use WDFSR preprocess - Weighted Depth First Search Reordering • However, still has high prob. of breaking up good subgroups
  • 47. Slide 47 • Random initialization - population infeasible • GA waste time getting to feasible region  numgen Unsuitability of Obj. Mem. GA (Problem dealing with Busy Schedules)
  • 48. Slide 48 Limitations of NS Methods • BAPS 1.0 Partitioner, [Ong00] - BAP-GP • NS Methods - Local Adjustment – cumulatively improve solution by performing small adjustments • Choice of neighborhood – 1-move? 2-move? How to choose? • The Problem maneuvering busy periods – Overflow bucket [Ong00]
  • 49. Slide 49 • Unsuitable encoding – Use Grouping GA (GGA) encoding • Difficulty locating feasible allocations – Use greedy initializer – Use timezone mutator How we deal with Traditional GA Limitations • Unsuitable encoding • Difficulty locating feasible allocations
  • 50. Slide 50 Falkenauer’s Insights on Encoding • Good solutions of Grouping problems usually composed of subgroups of objects with high affinity to one another. – Meaning of affinity - diff. for diff. prob. – For BAP Partitioning - large transshipment connections + “knapsack”-type goodness-of-fit • GA encoding and recombination should facilitate the creation and exchange of subgroups with high affinity.
  • 51. Slide 51 The GGA Encoding Section 1 Section 2 Section 3 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20 1 2 3 1 2 3 4 5 6 7 8 10 11 12 13 9 Group Part Object Part 2 Crossover schemes • Inject crossover (Falkenauer) • 1 point crossover (our own)
  • 52. Slide 52 Inject Crossover 1 2 3 1 2 3 4 5 6 7 8 10 11 12 13 9 1 2 3 1 5 6 10 2 4 7 11 3 8 9 13 12
  • 57. Slide 57 Inject Crossover 1 1 2 3 4 2 5 6 7 8 9 3 10 11 12 13 2 4 11 12 • Removal of Duplicates - use heuristic procedure that makes use of affinity of objects to choose between 2 groups • Mutation - use another heuristic procedure
  • 58. Slide 58 1-point Crossover 1 2 3 1 2 3 4 5 6 7 8 10 11 12 13 9 1 2 3 1 5 6 10 2 4 7 11 3 8 9 13 12
  • 61. Slide 61 1-point Crossover 1 1 2 4 2 7 11 12 3 3 8 9 135 6 10 • Removal of Duplicates - use heuristic procedure • Add Missing - use same heuristic procedure
  • 62. Slide 62 Affinity - The Greedy Heuristic • Primary Heuristic - allocate to section to cause least increase in transshipment cost. • Secondary Heuristic - allocate to section with largest available capacity 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20 3
  • 63. Slide 63 Resolving Busy Schedules • Random initialization - infeasible allocations – Greedy Initializer • Problem with Neighborhood Search – Timezone Reallocator (mutator) • Generate a random permutation of all the vessels • Apply Greedy Heuristic on the list • Higher density time periods are more likely to be cause of infeasibility. • However, cannot discount lower density time periods. • k-move heuristics have problems dealing with them • Instead of performing local adjustment - empty and reallocate
  • 64. Slide 64 Time Zones • Chop up planning window into non-interfering time periods called time-zones z1 z2 z4 z5 z6 z7 z8 z9z3
  • 65. Slide 65 Zone Densities •Make use of proportional selection to choose time-zone to have vessels emptied and reallocated (greedy) z1 z2 z4 z5 z6 z7 z8 z9z3 Timezone Mutator 13 15 16% 12 11 9 7 610
  • 66. Slide 66 Summary of BAP-GGA Features • Unsuitable encoding – Grouping GA (GGA) encoding and crossover • Busy schedules – Greedy Initializer – Timezone mutator
  • 67. Slide 67 Presentation Outline • Introduction • “Traditional” GA applied to the BAP • Our solution - The BAP-GGA • System Implementation • Experimentation • Conclusion
  • 68. Slide 68 BAPS The BAP Architecture BAP PackageData Sources BAP Solver BAP-XX Packer BAP-XX Packer BAP-XX PackerBAP-XX Partitioner BAP-XX Partitioner BAP-GA Partitioner Analysis Module Display Module Operations System (Interactive)
  • 69. Slide 69 Structure of BAP-GGA. GA Genetic Algorithm GA Population BAP GGA Chromosome BAP GGA Chromosome BAP GGA Chromosome ... Chromosome Handling Functions • Crossover - inject, 1-point • Mutator - timezone, flip Standard GA Processes • Roulette wheel selector, Steady-state replacement BAP Fitness Function GALib Component Self implemented
  • 70. Slide 70 Presentation Outline • Introduction • “Traditional” GA applied to the BAP • Our solution - The BAP-GGA • System Implementation • Experimentation – Data Generation – Experimentation System – Evaluating the various GA studied – Result Analysis • Conclusion
  • 71. Slide 71 Data Generation • Obtain Domain Information – Port Survey [Foo96] – publicly available sources (PortView, WWW) – domain data for data generation • Design and build data generation system – BAP Expt. Framework [Foo99] – Flexible, comprehensive • Generated 100 realistic data sets – The BENCHMARK data set collection
  • 72. Slide 72 BENCHMARK Data Set Collection Port Structures 5 (Brani)1 2 3 4 60 16696 240 240 240 208120 302 302 302 250144 362 362 362 292422 422 422 0.25 0.4 0.5 0.6 0.7 A B D* • 5 data sets in each box. • Num. in box is num. of vessels Port Section Layouts * Average Berthing Demand 600m 600m 600m 600m 600m 600m 600m 600m 600m 600m1,800m 1,200m 1,200m 600m 480m 800m 200m
  • 73. Slide 73 BAP Experimentation System BAP Experimental Framework Result Analysis Subsystem Data Generation Subsystem Expt. Run Subsys. BAPS BAP Package BAP Solver BAP-XX Packer BAP-XX Packer BAP-XX PackerBAP-XX Partitioner BAP-XX Partitioner BAP-XX Partitioner
  • 74. Slide 74 • Object Membership Encoding – WDFS Reordering, multi-point crossovers [BuMo94] – swap mutator [JoBe91] • Object Membership/Neighborhood Search Hybrid – Various hybridization schemes • Order Based Encoding – PMX, OX, CX crossovers [JoBe91] – Greedy decoder [JoBe91], First Fit decoder [KoHe98] • Grouping GA (GGA) [Falk97] – Random, Greedy initialization – Inject, 1-point crossover – flip, timezone mutator GA Combinations Evaluated 110 Various GA Combinations!
  • 75. Slide 75 Strategy for GA Evaluation Problem • Focus on GA elements that give biggest payoff – Encoding, Crossover, Mutation • Quick prototyping of GA solvers – Use library of GA components (GALib) • “Production-line” experimentation system – BAP Experimental Framework – Automate expts, clone • Successive Refinement – Progressively evaluate larger data sets – 4 stage evaluation process
  • 76. Slide 76 Other Data Set Collections • BENCHSUB collection – 15 representative data sets from BENCHMARK • SMALLDATA collection – 16 data sets (26-42 vessels, 2-3 sections) - opt. – Created by Xu in [Xu99] • TESTDATA collection – 21 data sets (6-15 vessels, 2-3 sections) - opt. – handcrafted
  • 77. Slide 77 Stage 0 PMX O X CX First Fit Greedy Crossover Decoder Crossover Mutator Reordering 1pt 2pt 3pt 4pt 5pt No Reorder WDFS Reorder flip swap Uniform 1pt random Inject flip timezone Crossover Mutator greedy Initializer BAP-GGA Object Membership Order Based
  • 78. Slide 78 Stage 3 PMX O X CX First Fit Greedy Crossover Decoder Crossover Mutator Reordering 1pt 2pt 3pt 4pt 5pt No Reorder WDFS Reorder flip swap Uniform 1pt random Inject flip timezone Crossover Mutator greedy Initializer BAP-GGA Object Membership Order Based Data sets: - BENCHSUB collection - 15 data sets from BENCHMARK. Popsize/numgen: - 50/100, 50/400, 100/200 Limited Experimention (still open)
  • 79. Slide 79 The Elimination of Order Based Ratio of Optimal oga21 oga22 oga23 oga24 oga25 oga26 d011 1.97 1.97 1.97 1.97 1.97 1.97 d013 1.97 1.97 1.97 1.97 1.97 1.97 d015 1.97 1.97 1.97 1.97 1.97 1.97 d017 1.97 1.97 1.97 1.97 1.97 1.97 d021 1.08 1.08 1.08 1.08 1.08 1.08 d023 1.08 1.08 1.08 1.08 1.08 1.08 d025 1.08 1.08 1.08 1.08 1.08 1.08 d027 1.08 1.08 1.08 1.08 1.08 1.08 d031 1.13 1.13 1.13 1.13 1.13 1.13 d033 1.13 1.13 1.13 1.13 1.13 1.13 d012 inf inf inf inf inf inf d014 inf inf inf inf inf inf d016 inf inf inf inf inf inf d018 inf inf inf inf inf inf d022 1.00 1.00 1.00 1.00 1.00 1.00 d024 1.00 1.00 1.00 1.00 1.00 1.00 d026 1.00 1.00 1.00 1.00 1.00 1.00 d028 1.00 1.00 1.00 1.00 1.00 1.00 d032 inf inf inf inf inf inf d034 inf inf inf inf inf inf d041 1.00 1.00 1.00 1.00 1.00 1.00 Ratio of Optimal gr001 ff001 gr010 ff010 d011 1.97 1.97 1.97 1.97 d013 1.97 1.97 1.97 1.97 d015 1.97 1.97 1.97 1.97 d017 1.97 1.97 1.97 1.97 d021 1.08 1.08 1.08 1.08 d023 1.15 1.08 1.08 1.08 d025 1.08 1.08 1.08 1.08 d027 1.08 1.15 1.08 1.08 d031 1.32 1.51 1.13 1.51 d033 1.13 1.51 1.13 1.51 d012 inf inf inf inf d014 inf inf inf inf d016 inf inf inf inf d018 inf inf inf inf d022 1.00 1.00 1.00 1.00 d024 1.00 1.00 1.00 1.00 d026 1.00 1.00 1.00 1.00 d028 1.00 1.00 1.00 1.00 d032 inf inf inf inf d034 inf inf inf inf d041 1.01 1.00 1.01 1.00 Incompleteness of Decoder Random Decoding
  • 80. Slide 80 The Elimination of Order Based oga01 oga02 oga03 oga04 oga05 oga06 oga11 oga12 oga13 oga14 oga15 oga16 oga21 oga22 oga23 oga24 oga25 oga26 d011 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 d012 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 d013 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d014 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d015 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 d016 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 d017 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d018 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d021 30 31 28 30 31 28 139 110 109 139 110 109 22 26 24 22 26 24 d022 39 39 42 39 39 42 86 39 65 86 39 65 11 9 10 11 9 10 d023 48 33 17 48 33 17 129 61 130 129 61 130 12 21 25 12 21 25 d024 14 20 23 14 20 23 51 138 97 51 138 97 17 13 4 17 13 4 d025 24 36 16 24 36 16 169 174 191 169 174 191 11 24 1 11 24 1 d026 28 28 38 28 28 38 86 147 63 86 147 63 4 17 18 4 17 18 d027 42 52 27 42 52 27 107 137 73 107 137 73 19 13 10 19 13 10 d028 49 38 18 49 38 18 63 55 77 63 55 77 10 10 8 10 10 8 d031 58 71 63 58 71 63 148 121 207 148 121 207 13 34 7 13 34 7 d032 43 37 28 43 37 28 175 141 181 175 141 181 26 37 19 26 37 19 d033 39 44 46 39 44 46 177 127 183 177 127 183 26 25 43 26 25 43 d034 41 44 44 41 44 44 188 163 160 188 163 160 21 25 19 21 25 19 Points of Stability 100 gen. 400 gen. 100 gen. Redundant Encoding
  • 81. Slide 81 Stage 3 PMX O X CX First Fit Greedy Crossover Decoder Crossover Mutator Reordering 1pt 2pt 3pt 4pt 5pt No Reorder WDFS Reorder flip swap Uniform 1pt random Inject flip timezone Crossover Mutator greedy Initializer BAP-GGA Object Membership + NS Postprocess Order Based Best BAP-GGA • GGA encoding • Inject crossover • timezone mutator • greedy and random init. Limited Experimention (still open)
  • 82. Slide 82 BAP-GGA Compared with B&B Objective Cost Ratio of Optimal (bb001) ABD gga45 gga46 gga47 gga48 optimal gga45 gga46 gga47 gga48 d212 0.55 1.61E+05 1.61E+05 1.61E+05 1.61E+05 1.61E+05 1.00 1.00 1.00 1.00 d213 0.57 1.62E+05 1.62E+05 1.69E+05 1.62E+05 1.62E+05 1.00 1.00 1.04 1.00 d215 0.56 1.45E+05 1.45E+05 1.45E+05 1.45E+05 1.45E+05 1.00 1.00 1.00 1.00 d217 0.68 2.02E+05 1.69E+05 1.69E+05 1.69E+05 1.69E+05 1.19 1.00 1.00 1.00 d341 0.35 4.86E+04 4.86E+04 4.86E+04 4.86E+04 4.86E+04 1.00 1.00 1.00 1.00 d342 0.40 6.45E+04 6.45E+04 6.45E+04 6.45E+04 6.45E+04 1.00 1.00 1.00 1.00 d343 0.37 5.67E+04 5.67E+04 5.67E+04 5.67E+04 5.67E+04 1.00 1.00 1.00 1.00 d344 0.39 6.39E+04 6.39E+04 6.39E+04 6.39E+04 6.39E+04 1.00 1.00 1.00 1.00 d345 0.38 9.69E+04 9.69E+04 9.69E+04 9.69E+04 9.69E+04 1.00 1.00 1.00 1.00 d346 0.47 2.23E+05 1.97E+05 1.97E+05 1.97E+05 1.97E+05 1.13 1.00 1.00 1.00 d347 0.49 1.25E+05 1.10E+05 1.10E+05 1.10E+05 1.10E+05 1.13 1.00 1.00 1.00 d348 0.49 2.37E+05 2.48E+05 2.01E+05 2.35E+05 2.01E+05 1.18 1.23 1.00 1.17 d349 0.47 9.39E+04 9.39E+04 9.39E+04 9.39E+04 9.39E+04 1.00 1.00 1.00 1.00 d350 0.47 1.25E+05 1.25E+05 1.25E+05 1.25E+05 1.25E+05 1.00 1.00 1.00 1.00 d351 0.55 3.95E+05 4.45E+05 3.41E+05 3.22E+05 3.22E+05 1.23 1.38 1.06 1.00 d352 0.59 3.50E+05 3.14E+05 2.85E+05 2.73E+05 2.73E+05 1.28 1.15 1.04 1.00 gga45 - random Init, 1-pt Crossover gga46 - greedy Init, 1-pt Crossover gga47 - random Init, inject Crossover gga48 - greedy Init, inject Crossover SMALLDATA collection (26-42 vessels)
  • 83. Slide 83 BAP-GA 2.0 BAP-GP [Ong00] BAP-BB [Xu99] Branch & Bound (BAP-BB) Optimal Solutions Very Slow (> 1 hour) Modified Fidducia- Mattheyses (BAP-GP) Good Solutions (~ 87 % Best) Very Fast (< 1 min per run) GA Better Solutions (~ 95% Best) Fast (~ 1 min per run) The BAP Partitioners
  • 84. Slide 84 Compared with BAP-GA 1.0 BAP-GGA is best (<= 1.0) BAP-GGA is worse than BAP-GA 1.0 (feasible) < 1.2 BAP-GGA did not find feasible soln (BAP-GA 1.0 did not) BAP-GGA found feasible soln (BAP-GA 1.0 did not) BAP-GGA worse than BAP-GA 1.0 (feasible) > 1.2 Port Structure 51 2 3 4 60 16696 240 240 240 208120 302 302 302 250144 362 362 362 292422 422 422 0.25 0.4 0.5 0.6 0.7 A B D BAP-GGA did not find feasible soln (BAP-GA 1.0 found) BAP-GA 1.0 Hybrid GA - ~ 5 hours per run (10 runs) BAP-GGA - < 10 mins per run (10 runs) 72 21 1 0 6 0 Best Ratio 0.74
  • 85. Slide 85 Compared with BAP-GP (800 runs) BAP-GGA is best (<= 1.0) BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2 BAP-GGA did not find feasible soln (BAP-GP-800 did not) BAP-GGA found feasible soln (BAP-GP-800 did not) BAP-GGA worse than BAP-GP-800 (feasible) > 1.2 Port Structure 51 2 3 4 60 16696 240 240 240 208120 302 302 302 250144 362 362 362 292422 422 422 0.25 0.4 0.5 0.6 0.7 A B D BAP-GGA did not find feasible soln (BAP-GP-800 found) BAP-GGA - < 10 mins per run (10 runs) - low mutation rate (0.05) 38 53 0 0 7 2 Best Ratio 0.81 • Large solution space - 5 sections • All sections are small • GA has not stabilized.
  • 86. Slide 86 BENCHMARK Data Set Collection Port Structures 5 (Brani)1 2 3 4 60 16696 240 240 240 208120 302 302 302 250144 362 362 362 292422 422 422 0.25 0.4 0.5 0.6 0.7 A B D* • 5 data sets in each box. • Num. in box is num. of vessels Port Section Layouts * Average Berthing Demand 600m 600m 600m 600m 600m 600m 600m 600m 600m 600m1,800m 1,200m 1,200m 600m 480m 800m 200m
  • 87. Slide 87 Longer BAP-GGA Runs BAP-GGA is best (<= 1.0) BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2 BAP-GGA did not find feasible soln (BAP-GP-800 did not) BAP-GGA found feasible soln (BAP-GP-800 did not) BAP-GGA worse than BAP-GP-800 (feasible) > 1.2 Port Structure 51 2 3 4 240 302 362 422 0.25 0.4 0.5 0.6 0.7 A B D BAP-GGA did not find feasible soln (BAP-GP-800 found) BAP-GGA - double num of gen. (1000) - < 20 mins per run (10 runs) - low mutation rate (0.05) Best Ratio 0.96
  • 88. Slide 88 Increasing Population Size BAP-GGA is best (<= 1.0) BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2 BAP-GGA did not find feasible soln (BAP-GP-800 did not) BAP-GGA found feasible soln (BAP-GP-800 did not) BAP-GGA worse than BAP-GP-800 (feasible) > 1.2 Port Structure 51 2 3 4 240 302 362 422 0.25 0.4 0.5 0.6 0.7 A B D BAP-GGA did not find feasible soln (BAP-GP-800 found) BAP-GGA - double popsize (100) - < 20 mins per run (10 runs) - low mutation rate (0.05) Best Ratio 0.95 Larger solution space requires larger GA coverage
  • 89. Slide 89 Compared with BAP-GP (800 runs) BAP-GGA is best (<= 1.0) BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2 BAP-GGA did not find feasible soln (BAP-GP-800 did not) BAP-GGA found feasible soln (BAP-GP-800 did not) BAP-GGA worse than BAP-GP-800 (feasible) > 1.2 Port Structure 51 2 3 4 60 16696 240 240 240 208120 302 302 302 250144 362 362 362 292422 422 422 0.25 0.4 0.5 0.6 0.7 A B D BAP-GGA did not find feasible soln (BAP-GP-800 found) BAP-GGA - < 10 mins per run (10 runs) - low mutation rate (0.05) 38 53 0 0 7 2 Best Ratio 0.81 • Exisitence of very small section (200m) • Multi-start (800)NS could not resolve.
  • 90. Slide 90 Increasing Mutation Rate (Timezone) BAP-GGA is best (<= 1.0) BAP-GGA is worse than BAP-GP-800 (feasible) < 1.2 BAP-GGA did not find feasible soln (BAP-GP-800 did not) BAP-GGA found feasible soln (BAP-GP-800 did not) BAP-GGA worse than BAP-GP-800 (feasible) > 1.2 Port Structure 51 2 3 4 250 292 0.25 0.4 0.5 0.6 0.7 A B D BAP-GGA did not find feasible soln (BAP-GP-800 found) BAP-GGA - < 20 mins per run (10 runs) - mutation rate (0.5) Best Ratio 0.91
  • 91. Slide 91 Summary of Analysis • BAP-GGA gives good results but in longer time (compared to BAP-GP). – How long depends on size of solution space. – < 19% better results possible – finds feasible solutions where NS type methods have diff. – < 20mins per run on slow P2-300Mhz – < 6hrs total planning time • BAP-GGA performs better than traditional GA – Strength of GGA encoding, Inject crossover • BAP-GGA able to resolve busy schedules – Strength of Timezone mutator
  • 92. Slide 92 Presentation Outline • Introduction • “Traditional” GA applied to the BAP • Our solution - The BAP-GGA • System Implementation • Experimentation • Conclusion
  • 93. Slide 93 Contributions • Identified key problems of Traditional GA approaches to solve the BAP Partitioning Problem – unsuitable encoding – difficulty handling busy schedules • Devised GA (BAP-GGA) using techniques that address these problems – GGA encoding – Greedy Initialization – Timezone based reallocation
  • 94. Slide 94 BAP-GA 2.0 BAP-GP [Ong00] BAP-BB [Xu99] Branch & Bound (BAP-BB) Optimal Solutions Very Slow Modified Fidducia- Mattheyses (BAP-GP) Good Solutions Very Fast GA Better Solutions Fast The BAP Partitioners Each addresses a different planning need
  • 95. Slide 95 Short Term Extensions • Other GA Operators – Selection scheme • rank-based [Whit89], stochastic univ. sel. [Hanc91] – Replacement scheme • replace-bad (not worst) [Reev97], replace-old [Mich91] • Objective Function – what is a good value for ? • Incorporation of fast FM heuristic [Ong00] – how to incorporate?
  • 96. Slide 96 Long Term Extensions • Incorporate Yard Capacity to model. – Container handling rate of Quay and Yard cranes. – Storage capacity of Yard • Study effects of various port structures. • Study of solutions generated by various combinations of Partitioning and Packing solvers
  • 99. Slide 99 Dealing with Premature Convergence • Standard way - Increase Population Size – costs - memory, running time – increase cautiously • Adaptive mutation – drastically increase rate of mutation • 0.05 to 1.0 – change mutation scheme (and inc. mut. rate) • time-zone to flip
  • 102. Slide 102 The Berth Allocation Problem Section 1 Section 2 Section 3
  • 103. Slide 103 The Quadratic Assignment Problem • Facility Layout Problem • Given a floor area of a factory evenly partitioned into n equal blocks and n departments, we want to assign all departments to floor blocks so as to minimize the total material handling cost. • NP-Hard
  • 104. Slide 104 A Special Case of the BAP • n vessels assigned to n sections to minimize container handling effort. • Each vessel must be assigned a unique section. • Same problem as QAP.
  • 105. Slide 105 The General BAP • n vessels assigned to m sections (m < n) to minimize transshipment cost. • Vessels must be assigned a sections that have space to accommodate them. • Generalization of QAP. • NP-Hard
  • 106. Slide 106 Planning Window Applying GA To The BAP 15 3 20 10 5 12 25 3045 20 300 300
  • 107. Slide 107 Key Ideas Behind GA • All organisms endowed with different traits (attributes) – eg. number of fingers, webbed feet, long neck – determined at birth by their genes inherited from parents • Genes encapsulated into structures called chromosomes • Some traits are better suited for survival – eg. long neck for reaching leaves on trees • Fitness – ie. how well each individual is able to survive in the environment • All individuals compete for survival and mating – strong will flourish, weak will die off – genes from stronger individuals get passed on to next generation • Mutation introduces variation to the genes – new traits also appear
  • 108. Slide 108 Key GAAbstractions • Organism = chromosome = organism – the chromosome is the organism • Chromosome = string of chars – each string element represents a gene • Fitness = fitness function – maps chromosome to a real number – usually dependant on values of string elements • Who lives and dies based on fitness value – replacement scheme • Selection for mating also based on fitness value – ie. fitter organisms get to mate more • Mutation acts to alter string elements
  • 109. Slide 109 BAPS 1.0 Experimentation • Focus - to perform evaluation of Loh’s proposed GA combinations • Constructed 100 realistic data sets – BENCHMARK data set collection • Best GA: – Uniform crossover – NS/flip mutator • Long running times - days – unbounded NS • Compared not favorably with BAP-GP – FM based partitioner (fast)
  • 110. Slide 110 An Appeal • Please support Open Source software efforts and the Free Software Movement • This research has benefited much from the fact that there is a freely available, powerful, stable OS from which to run expts on cheap PCs.
  • 112. Slide 112 Running the GA •Wide coverage of solution space •Not susceptible to local optima
  • 113. Slide 113 Section 2 Section 1 Section 3 Encoding The BAP 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20 2 3 4 5 6 7 8 9 131211101 3 1 2 1 3 3 1 2 2 2113 Vessel Number : Section Number : BAP Chromosome
  • 114. Slide 114 Strategy for GA Evaluation Problem • Focus on GA elements that give biggest payoff – Which are they? • Quick prototyping of GA solvers – Use library of GA components (GALib) • “Production-line” experimentation system – BAP Experimental Framework – Automate expts, clone • Successive Refinement – 4 stage evaluation process
  • 115. Slide 115 Calculating Fitness • Objective Function = Transshipment Cost + (  Overshoot Cost) – relaxation of Berth Capacity Constraint – deal with infeasible allocations –  is a very large number •  >> Transshipment Cost • differentiate feasible and infeasible allocations • BAP Objective is to Minimize • But GA Objective is to Maximize Fitness – Need to convert Min problem to Max problem
  • 116. Slide 116 BAPS 1.0 Conclusions • Results – GA without NS perform badly – Results not very good compared with BAP-GP • Questions – Why does GA (without NS) perform badly? – What is NS contribution to search?
  • 117. Slide 117 The Fitness Landscape • Height of each point - determined by fitness function • How points located next to one another - determined by the neighborhood function • Encoding, crossover and mutation scheme determine the landscape
  • 118. Slide 118 Data Generation Parameters • Port Structure – section lengths, distances between them • Berthing Demand – how busy the port is • Planning window - 84 hrs (1/2 week) • Mix of vessels - 70% SML, 30% MED class • Num. containers moved ~ 50% of capacity
  • 119. Slide 119 Port Structures • Port Structure 1 • Port Structure 2 • Port Structure 3 • Port Structure 4 • Port Structure 5 (Brani) 600m section 1 600m section 2 600m section 1 600m section 2 600m section 4 600m section 5 600m section 3 1200m section 1 1200m section 3 600m section 2 600m section 1 600m section 3 1800m section 2 600m section 1 480m section 2 800m section 3 200m section 4
  • 120. Slide 120 Total Berth Demand The Average Berth Demand Planning Window Total Berthing Length • ABD = Total Berth Demand / (Total Berthing Length × Planning Window) Density
  • 121. Slide 121 Port Survey • Objective - to obtain primary data figures and gather domain related info. • All info. from publicly available sources – PortView, WWW • Documented in [Foo96] (same title) – RAS Internal document • Key primary data: – vessel classes (eg. panamax, post-panamax) • vessel lengths, durations of stay, capacities – port structures
  • 122. Slide 122 Order Based Expt. Grid PMX OX CX First Fit Greedy Crossover Decoder
  • 123. Slide 123 Object Membership Expt. Grid Crossover Mutator Reordering 1pt 2pt 3pt 4pt 5pt No Reorder WDFS Reorder flip swap Uniform
  • 124. Slide 124 Hybrid GA Expt. Grid POST LOCAL Hybridization Scheme FLIPN LOCAL 1STEP LOCAL RANDOM LOCAL
  • 125. Slide 125 GGA Expt. Grid Initializer 1pt random Inject flip timezone Crossover Mutator greedy
  • 126. Slide 126 Choice of Hybridization Scheme Objective Cost Ratio of Optimal RND 1STEP FLIPN POST optimal RND 1STEP FLIPN POST d011 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00 d013 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00 d015 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00 d017 3.30E+04 3.30E+04 3.30E+04 3.30E+04 3.30E+04 1.00 1.00 1.00 1.00 d021 1.89E+05 1.89E+05 1.89E+05 1.82E+05 1.59E+05 1.19 1.19 1.19 1.15 d023 2.31E+05 2.31E+05 1.87E+05 1.87E+05 1.59E+05 1.46 1.46 1.18 1.18 d025 1.59E+05 1.59E+05 1.67E+05 1.67E+05 1.59E+05 1.00 1.00 1.05 1.05 d027 1.99E+05 1.99E+05 2.32E+05 1.83E+05 1.59E+05 1.26 1.26 1.46 1.15 d031 2.10E+08 2.10E+08 1.65E+05 1.65E+05 1.39E+05 1512.73 1512.73 1.19 1.19 d033 2.69E+05 2.69E+05 1.10E+08 2.69E+05 1.39E+05 1.94 1.94 793.45 1.94 d012 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00 d014 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00 d016 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00 d018 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 1.00 1.00 1.00 1.00 d022 3.15E+04 3.15E+04 8.00E+04 6.30E+04 0.00E+00 inf inf inf inf d024 0.00E+00 0.00E+00 1.26E+05 6.75E+04 0.00E+00 1.00 1.00 inf inf d026 9.10E+04 9.10E+04 9.00E+04 0.00E+00 0.00E+00 inf inf inf 1.00 d028 5.60E+04 5.60E+04 1.43E+05 0.00E+00 0.00E+00 inf inf inf 1.00 d032 2.10E+08 2.10E+08 0.00E+00 0.00E+00 0.00E+00 inf inf 1.00 1.00 d034 2.21E+05 2.21E+05 1.10E+08 9.00E+04 0.00E+00 inf inf inf inf d041 1.44E+13 1.44E+13 1.44E+13 1.44E+13 1.44E+13 1.00 1.00 1.00 1.00
  • 127. Slide 127 Applying GA To The BAP Planning Window 15 3 20 10 5 12 25 3045 20 300 300
  • 128. Slide 128 Encoding The BAP 3 5 13 11 1 2 4 6 7 8 9 10 12 15 3 20 10 5 12 25 3045 20
  • 129. Slide 129 Selecting Who Should Mate • Standard way (Holland) - known as “roulette wheel” or proportional selection. • Individuals in population have probability of being selected based on their fitness relative to the population average. • Fitter have higher prob. of mating. Fitness Roulette 1000 2000 5000 8000 1000 Individual 1 Individual 2 Individual 3 Individual 4 Individual 5
  • 130. Slide 130 Fitness Roulette 1000 2000 5000 8000 1000 Individual 1 Individual 2 Individual 3 Individual 4 Individual 5 Fitness Roulette 6% 12% 29% 47% 6% Individual 1 Individual 2 Individual 3 Individual 4 Individual 5 Proportional Selection
  • 131. Slide 131 More Fit Individuals Less Fit Individuals Who Should Live and Who Should Die Population of Generation n Individuals From Generation n New Individuals Population of Generation n+1 Number of individuals to kill = Number of children to produce = Replacement Rate × Population Size Steady State Replacement
  • 132. Slide 132 Stage 1 PMX O X CX First Fit Greedy Crossover Decoder Crossover Mutator Reordering 1pt 2pt 3pt 4pt 5pt No Reorder WDFS Reorder flip swap Uniform 1pt random Inject flip timezone Crossover Mutator greedy Initializer BAP-GGA Object Membership Order Based Data sets: - TESTDATA collection - 6-15 ves., 2-3 sect. Popsize/numgen: - 5/100, 5/400, 20/100
  • 133. Slide 133 Stage 2 PMX O X CX First Fit Greedy Crossover Decoder Crossover Mutator Reordering 1pt 2pt 3pt 4pt 5pt No Reorder WDFS Reorder flip swap Uniform 1pt random Inject flip timezone Crossover Mutator greedy Initializer BAP-GGA Object Membership Order Based Data sets: - SMALLDATA - 26-42 ves., 2-3 sect. Popsize/numgen: - 20/100, 20/400, 80/100
  • 134. Slide 134 Elimination of Flip Mutator (BAP-GGA) ggaX1 ggaX2 ggaX3 ggaX4 ggaX5 ggaX6 ggaX7 ggaX8 gga2X 0 1 6 9 7 9 11 11 gga3X 4 8 8 9 12 14 14 13 gga4X 5 10 12 11 14 11 14 15 ggaX1 ggaX2 ggaX3 ggaX4 ggaX5 ggaX6 ggaX7 ggaX8 gga2X 2.58 1.60 1.30 1.10 1.13 1.08 1.04 1.03 gga3X 1.38 1.19 1.20 1.08 1.02 1.01 1.01 1.02 gga4X 1.59 1.13 1.08 1.05 1.05 1.05 1.01 1.01 Optimal Count (of 16 data sets) Average Ratios over Optimal Flip Timezone
  • 135. Slide 135 BAP-GGA : Inject over 1-pt Crossover gga55 gga56 gga57 gga58 gga65 gga66 gga67 gga68 gga75 gga76 gga77 gga78 d105 1.70 1.02 1.02 1.03 1.16 1.02 1.02 1.03 1.19 1.01 1.01 1.00 d144 12.11 13.83 2.31 1.23 1.46 5.98 1.07 1.00 1.55 3.30 1.04 1.00 d164 2.48 1.38 1.39 1.16 1.70 1.16 1.05 0.98 1.64 1.23 1.10 0.91 d181 1.85 1.60 1.50 1.40 1.32 1.37 1.18 1.23 1.39 1.42 1.18 1.19 d126 1.56 1.56 1.63 1.52 1.25 1.33 1.17 1.17 1.35 1.37 1.25 1.22 d146 3.54 2.40 1.52 1.45 1.72 1.63 1.06 1.14 1.72 1.71 1.06 0.96 d166 1.71 1.51 1.42 1.36 1.36 1.25 1.18 1.05 1.42 1.33 1.14 1.08 d186 48.48 1.55 1.49 1.46 1.32 1.36 1.16 1.24 1.37 1.45 1.19 1.22 d131 1.55 1.55 1.62 1.55 1.27 1.34 1.16 1.21 1.34 1.39 1.28 1.23 d151 2.24 1.81 1.44 1.38 1.51 1.44 0.97 1.02 1.55 1.48 1.04 0.95 d171 1.63 1.63 1.43 1.51 1.35 1.39 1.24 1.18 1.41 1.44 1.27 1.20 d191 1760.62 622.52 1353.64 537.37 644.76 521.11 500.22 427.24 842.87 409.69 588.11 100.05 d140 987.41 220.48 851.97 130.80 627.67 123.79 560.61 87.09 659.37 24.05 526.61 1.30 d160 522.77 1.62 50.88 1.32 1.30 1.34 0.94 0.97 1.35 1.38 1.06 0.95 d200 126.74 42.26 78.57 35.74 60.65 31.81 42.94 29.84 63.53 33.40 48.94 14.48 Ratios over best BAP-GA 1.0 50/100 50/400 100/200 ggaX5, ggaX6 - 1-pt ggaX7, ggaX8 - Inject
  • 136. Slide 136 Calculating Transshipment Cost Planning Window 10 5 315 12 20 300 300
  • 137. Slide 137 Another View of the Port Section 1 Section 2 Section 3 Time8am 10am 12pm 1pm Cagney Lacey 12 Transshipment