OPTIMISATION OF CAR-PARK DESIGNS
ESGI91 - Arup
J. Billingham, J. Bradshaw, M. Bulkowski, P. Dawson, P. Garbacz, M. Gilberg,L. Gosce, P. Hjort, M. Homer, M. Jeffrey, D. Papavassiliou, R. Porter, D. Wind
PROBLEM STATEMENT
At present, the layout of car parks is designed by an architect with CAD tools, and the results may be extremely complicated.
There is no guarantee that the architect has achieved the maximum possible number of spaces.
We seek automatic algorithms which will either replace the role of the architect (or more realistically, act as a decision support tool to him/her).
APPROACHES
• Use algorithms to generate good routes around the polygon, and fit parking spaces to this route.
Lanes
Cars• Fill the polygon with parking spaces, and modify to assure
exit-routes for all cars.
We assume that the perimiter of the parking lot area is a polygon. Parking spaces are rectangles. All cars should be able to get out.
HILBERT’S CAR PARK
TAPESTRY + TRIMOverlay car park polygon with Hilbert’s optimal tapestry. Then trim excess parking spaces. If necessary ensure connectivity of lanes by removing some spaces.
HILBERT’S CAR STRIP
a
For finite height, non perpendicular tilings may be optimal.
NON LINEAR OPTIMISATIONTo find the optimal packing in the finite Hilbert strip
Maximise: Car density
Subject to:
Constraint 1:
Constraint 2:
MATLAB
‘Roads’ Approach
Strategy - To design a road network around which parking spacescan be efficiently packed.
Cost Functions
We want to design a road network that covers the car park Ω withsufficient road separation to allow parking
Function 1 - Continuous
Filling the space with ‘car-sized’gaps between the curves isequivalent to wanting a certainamount of road in the disc (ofhalf road width) around eachpoint in the domain
I Penalty (at a point) is afunction of the differencebetween the desired andactual amount of road in thedisc.
Function 2 - Numerical(Piecewise Linear or BezierCurves)
Penalise
I being outside the car park
I nodes coming closer than aroad width
I points far from road
I non-adjacent stretches ofroad being too close
I (piecewise linear paths only)angles less than π/2
Variational Approach
We minimise the spatial average of Cost Function 1 over thepaths f : [0, 1]→ Ω in Ω.
The Euler-Lagrange Equation for the variational problem is
∫Ω
((([f ′(z) ·
(x− f (z)
)δ(‖f (z)− x‖2 − w)
]f ′(z)
‖f ′(z)‖2
+ I‖f (z)−x‖2<w
[f ′(z)
‖f ′(z)‖2
−f ′′(z) · f ′(z)
‖f ′(z)‖32
f ′(z)
])
×∫ 1
0
(I‖f (y)−x‖2<w‖f
′(y)‖2 − kw)dy
)
+
(([f ′(z) ·
(x− f (z)
)δ(‖f (z)− x‖2 − w)
]‖f ′(z)‖2 + I‖f (z)−x‖2<w
f ′′(z) · f ′(z)
‖f ′(z)‖2
)
×∫ 1
0I‖f (y)−x‖2<w
f ′(y)
‖f ′(y)‖2
dy
))dx
=
∫Ω
[(x− f (z)
)δ(‖f (z)− x‖2 − w)‖f ′(z)‖2
] ∫ 1
0
(I‖f (y)−x‖2<w‖f
′(y)‖2 − kw)dy
+(I‖f (z)−x‖2<w‖f
′(z)‖2 − kw) ∫ 1
0
(x− f (y)
)δ(‖f (y)− x‖2 − w)‖f ′(y)‖2
We hope to discretize this and solve numerically.
Numerical Algorithm
We loop over two optimization algorithms sequentially to minimizeCost Function 2. We discretize the problem by
I partitioning the curve into N linear sections
I using an M ×M grid of points to minimize the cost function
We loop over
I Genetic Algorithm
I Simplex Algorithm
Plots
How good is a given network?
In a given car park, a small number of plausible road networks. . .easy to make ‘intuitive guesses’Which is best and how can it be optimized?Define a road network with roads and connectionsDevelop a coarse algorithm to assess how good a network is
assume ‘nose in’ parking is bestdistribute ‘nose in’ parking stalls along each segment on the networkpenalise for
overlapping stalls (proportional to area)stalls that leave the domainvoids in coverage
Combine penalties into one ‘cost function’
For a selection of initial guesses, optimise cost function w.r.t. nodes
ARUP: Optimizing Car Parking
Output
0 10 20 30 40 50 60 70 80 90
−10
0
10
20
30
40
50
60
12
345678
9 10 11 12 13 14
nparked
=191
ARUP: Optimizing Car Parking
Output
0 10 20 30 40 50 60 70 80 90
−10
0
10
20
30
40
50
60
12
34
5
6 7
nparked
=205
ARUP: Optimizing Car Parking
Output
0 20 40 60 80 100 120
−10
0
10
20
30
40
50
60
70
123456
7
8
9 10 11 12 13 14 15
16 17
18 19
nparked
=247
ARUP: Optimizing Car Parking
Output
0 20 40 60 80 100 120
−10
0
10
20
30
40
50
60
70
12
3
4 5
6 7
8 9 10
11
nparked
=266
ARUP: Optimizing Car Parking
Output
0 20 40 60 80 100 120
−10
0
10
20
30
40
50
60
70
123456
7
8
9 10 11 12 13 14 15
16
17 18
nparked
=273
ARUP: Optimizing Car Parking
Output
0 20 40 60 80 100 120
−10
0
10
20
30
40
50
60
70
80
12
34
56
7 8
nparked
=286
ARUP: Optimizing Car Parking
0 10 20 30 40 50 60 70 80 90
−10
0
10
20
30
40
50
60
12
345678
9 10 11 12 13 14
nparked
=191
0 20 40 60 80 100 120
−10
0
10
20
30
40
50
60
70
123456
7
8
9 10 11 12 13 14 15
16 17
18 19
nparked
=247
QUESTIONS