2. 上海霍普建筑设计事务所股份有限公司, 上海 200135
为了提高城市地下车库空间的利用率,针对地下车库轮廓复杂、面积大、障碍物多及需要确保地下结构安全等特点,对地下车库车位排布问题进行排车规则提取,设计了一种基于规则的三阶段车位排布启发式算法.针对基于规则提取后的外圈车位排布问题建立了数学模型,提出用启发式遗传算法求解该问题.对实际工程图纸的求解表明,该算法有效且能满足设计师要求的精度,并得到车位数最多的车位排布方案;通过结果可视化,可帮助设计人员制定优化的设计方案,提高地下车库设计的效率和项目收益.
2. Shanghai HYP-ARCH Architectural Design Consultant Company Limited, Shanghai 200135, China
Underground parking lots have general characteristics like complex contours, large in area, various components and requiring safety in structure. To properly deal with this specific problem underground and increase the utilization of urban parking lots, three rules and a three-stage algorithm is devised. To deal with parking spaces allocation problem in marginal area during stage 1, mathematic model is constructed. In addition, a heuristic genetic algorithm is designed to solve it. Finally, the accuracy and validity of the algorithm are proved by case studies on real underground parking lots. Via visualization of the results, the algorithm acts as auxiliary to underground parking lots designers, which can improve the efficiency of underground parking lots design and raise profit.
随着中国经济持续快速发展,城市汽车保有量增长迅猛,然而城市停车空间严重匮乏,停车位满足率仅有20%,停车问题已经成为阻碍城市发展的瓶颈之一[1].城市的停车空间分为地面停车场和地下车库2种,通常来说,相同面积地下车库的造价为地面多层车库的2~3倍,而地下车库的造价与总建筑面积直接相关[2].目前设计师通过尝试并对比少量方案完成地下车库车位排布,整个过程极度依赖设计师经验.笔者旨在通过算法实现地下车库车位的自动化排布,提升设计效率,同时增加停车空间车位容量,提高其利用率,缩小地下车库建筑面积,增加项目收益.
停车场中车位排布方案的设计与停车场自身特点紧密相关,不同类型的停车场适用不同的求解方法.现有车位排布问题的研究对象可分为矩形或三角形停车场和不规则轮廓停车场.矩形或三角形停车场按照车位排列的紧密程度又可进一步分为传统停车场和高密度停车场,传统停车场的设计通常基于停车位单元(PSU, parking space unit)进行,Iranpour和Tung、宋、Abdelfatah以及Syahrini等[3-6]均以此为基础,根据车位数最多的目标,建立数学模型计算最佳车位角度;而高密度停车场专门为自动驾驶车辆设计,它允许部分车位不与车道相连,Ferreira等[7]设计了一种车辆按排平行叠放的方式,Nourinejad等[8]基于这种方式,设计了一种启发式算法,Timpner等[9]设计了另一种高密度停车方式,这种方式中车辆垂直于道路紧密堆叠成k排(k stacks),Banzhaf和Quedenfeld[10]利用这种方式,建立混合整数规划模型,计算停车区域最优车位排布方案.针对不规则轮廓的停车场,现有文献提出的方法需要人的介入,Guo等[11]分3步进行车位排布,首先将停车区域人工分成多个矩形块,接着通过数学模型确定每个块中的最佳车位排布方案,最后人工移去堵住通道的车位完成块之间的衔接.
上述方法针对轮廓简单的区域可完全由算法实现车位排布,但针对不规则轮廓需要人的参与,且上述文献均未考虑有障碍物的情况,也没有专门针对地下车库的研究内容.因此,为了解决具有复杂轮廓且内部有障碍物的地下车库的车位排布问题,对地下车库车位排布进行了规则提取,建立数学模型并设计算法求解.
1 规则提取 1.1 地下车库车位排布特点以最大化车位数为目标的地下车库排车问题可概括如下:给定车库轮廓,在障碍物以外的区域,对车位、车道和承重柱的位置进行合理安排,在保证地下车库设计规范的前提下,使车库内的车位数最多.根据对地下车库实际工程图的总结,结合胡静[2]和陈歌[12]对地下车库设计的理论研究,笔者将地下车库车位排布问题的特点总结如下:
1) 车库轮廓复杂,存在斜边;2)车库内部有障碍物;3)车库内可安排多种尺寸的车位;4)不同角度的车位排列灵活;5)车道需构成连通的网络;6)承重柱的分布有最大距离限制.
1.2 规则规则1 为减少决策变量的数目,同时考虑到承重柱分布的最大距离限制,根据地下车库设计规范,将车位和承重柱组合成图 1所示2种类型的车位模块进行排布.
规则2 为充分利用车库的全部面积,为车库轮廓和障碍物的每一条边安排一个与之相切的车位模块或车道.
规则3 为使角度不同的车位能灵活地组合,基于排车区域轮廓形状和障碍物分布进行区域划分,并保证每个分区内车位方向一致.
1.3 算法流程结合地下车库车位排布问题的特点及提取得到的规则,设计了一种三阶段算法,算法流程示意图见图 2,算法步骤描述如下.
阶段1 外圈车位排布.确定车库轮廓和障碍物周边是否安排车位,若安排,确定车位模块的位置及最大长度;
阶段2 区域划分.对非车库轮廓或障碍物周边区域,进行区域划分,得到分区方案及每个分区中的车位模块位置和最大长度;
阶段3 排车方案确定及可视化.根据承重柱分布的最大距离限制,确定阶段1和阶段2得到的车位模块内车位和承重柱的具体位置.
笔者主要对第1阶段外圈车位排布问题展开研究,第2阶段区域划分则参考刘彦鹏等[13]提出的多边形剖分算法进行,单个分区内车位模块位置的确定通过Syahrini等[6]设计的方法完成,第3阶段车位模块内车位和承重柱的具体位置确定经遍历实现.
2 模型建立在图 3所示的地下车库中,外圈车位排布问题可以描述为:给定车库轮廓和其内部的障碍物,车库轮廓内点的集合记为W,障碍物内点的集合记为R.记I={1, 2, …, ξ}为车库轮廓和障碍物的下标集合,ξ为车库轮廓和障碍物的个数,障碍物可以有多个,但车库轮廓有且只有一个,Ji={1, 2, …, ηi}为车库轮廓或障碍物i的顶点下标集合,ηi为车库轮廓或障碍物i的顶点个数.记eij∈E, i∈I, j∈Ji为从车库轮廓或障碍物i的某点出发,沿逆时针方向顺序排列的第j和第j+1个(若j+1
在外圈车位排布问题中,车位模块紧靠车库轮廓或障碍物的某一条边排列,因此定义车位模块ij为沿着向量eij所在边排列的车位模块. λij∈Λ, i∈I, j∈Ji是决定沿着向量eij所在边是否安排车位的0-1变量;tij∈T, i∈I, i∈Ji表示车位模块ij的类型,tij∈{0,1},tij=0时,车位模块类型为图 1中的水平式,tij=1时,车位模块类型为图 1中的垂直式;dtij和ftiji∈I, j∈Ji分别表示车位模块类型为tij时单个车位的长度和宽度;nij∈N, i∈I, j∈Ji表示车位模块ij的车位数.记车位模块ij在车库轮廓或障碍物边(或边的延长线)上的2个顶点的坐标分别为Pij-=(xij-, yij-)∈P-和Pij+=(xij+, yij+)∈P+, i∈I, j∈Ji.记承重柱边长为s.
外圈车位排布问题的相关参数及变量示意图见图 4.
地下车库外圈车位排布问题受到4种约束.
约束1 不重叠约束:车位模块彼此不重叠.
约束2 几何位置约束:车位模块均在车库轮廓内,且不与障碍物重叠.
约束3 车位模块位置约束:外圈车位模块必须与车库轮廓或障碍物相切.
约束4 车位模块顶点位置约束:外圈车位模块的顶点与所在边的顶点有最大距离限制.
λij:沿着向量eij所在边安排车位时取1;否则为零. λij∈Λ, i∈I, j∈Ji.
tij:车位模块ij的类型.
tij∈T, i∈I, j∈JI.
Pij-,Pij+:车位模块ij在车库轮廓或障碍物边(或边的延长线)上的2个顶点的坐标,其中Pij-=(xij-,yij-),Pij+=(xij+,yij+). Pij-∈P-, Pij+∈P+, i∈I, j∈Ji.
nij:车位模块ij中的车位数.
针对地下车库外圈车位排布问题给出如下定义.
定义1 定义Cij∈C,i∈I,j∈Ji为车位模块ij内点的集合.
定义2 定义wij∈ω, i∈I, j∈Ji为车位模块ij的宽度,当λij=0时,wij等于0;当λij=1且tij=0时,wij等于ftij;当λij=1且tij=1,wij等于dtij.
定义3 定义lij∈L, i∈I, j∈Ji为车位模块ij的长度,lij等于
定义4 定义Γij, i∈I, j∈Ji为车位模块ij中承重柱的数量,根据图 1和tij的取值含义可知,当tij= 0时,Γij等于1+nij;当tij=1时,Γij等于
定义5 定义δij-∈Δ-, i∈I, j∈Ji为不考虑车位模块不重叠约束和几何位置约束时,点(xij-, yij-)与点(aij-bij-)的距离,如图 5(a)所示,当
定义6 定义γ(W, R, C)为以W轮廓、以R为障碍物的地下车库,当外圈车位模块为C时,剩余区域最多能排下的车位数.
定义7 定义Ω(x1, y1, x2, y2)为以(x1, y1)为起点,以(x2, y2)为终点的向量.
根据对地下车库外圈车位排布问题的描述,对地下车库外圈车位排布建立如下模型:
$ \max \sum\limits_{i \in I} {\sum\limits_{j \in {J_i}} {{n_{ij}}} } + \gamma \left( {W,R,C} \right) $ | (1) |
$ \begin{array}{l} {\rm{s}}.\;{\rm{t}}.\\ \;\;\;\;\;\;\left( {1 - {\lambda _{ij}}} \right){l_{ij}} = 0,\;\;\forall i \in I,j \in {J_i} \end{array} $ | (2) |
$ s{\mathit{\Gamma }_{ij}} + {n_{ij}}\left[ {{d_{{t_{ij}}}}\left( {1 - {t_{ij}}} \right) + {f_{{t_{ij}}}}} \right] \le {l_{ij}},\;{\forall _i} \in I,j \in {J_i} $ | (3) |
$ {C_{ij}} \cap {C_{i'j'}} = \emptyset ,\;\forall i,i' \in I,j,j' \in {J_i}:ij \ne i'j' $ | (4) |
$ {C_{ij}} \cap W = {C_{ij}},\;\;\forall i \in I,j \in {J_i} $ | (5) |
$ {C_{ij}} \cap R = \emptyset ,\;\;\forall i \in I,j \in {J_i} $ | (6) |
$ \mathit{\Omega }\left( {x_{ij}^ - ,y_{ij}^ - ,a_{ij}^ - ,b_{ij}^ - } \right)\left\| {{\mathit{\boldsymbol{e}}_{ij}},\forall i \in I,j \in {J_i}} \right. $ | (7) |
$ \mathit{\Omega }\left( {x_{ij}^ + ,y_{ij}^ + ,a_{ij}^ - ,b_{ij}^ - } \right)\left\| {{\mathit{\boldsymbol{e}}_{ij}},\forall i \in I,j \in {J_i}} \right. $ | (8) |
$ \left( {a_{ij}^ + - x_{ij}^ - } \right)\left( {x_{ij}^ - - a_{ij}^ - + \delta _{ij}^ - \cos {\theta _{ij}}} \right) \ge 0,\forall i \in I,j \in {J_i} $ | (9) |
$ \left( {a_{ij}^ - - x_{ij}^ + } \right)\left( {x_{ij}^ + - a_{ij}^ + - \delta _{ij}^ + \cos {\theta _{ij}}} \right) \ge 0,\forall i \in I,j \in {J_i} $ | (10) |
$ \left( {b_{ij}^ + - y_{ij}^ - } \right)\left( {y_{ij}^ - - b_{ij}^ - + \delta _{ij}^ - \sin {\theta _{ij}}} \right) \ge 0,\forall i \in I,j \in {J_i} $ | (11) |
$ \left( {b_{ij}^ - - y_{ij}^ + } \right)\left( {y_{ij}^ + - b_{ij}^ + - \delta _{ij}^ + \sin {\theta _{ij}}} \right) \ge 0,\quad \forall i \in I,j \in {J_i} $ | (12) |
在上述模型中,目标函数为最大化车库中的全部车位数.式(2)保证λij=0时沿着向量eij所在边没有安排车位;式(3)保证车位模块的长度符合图 1中车位和承重柱的组合要求;式(4)保证车位模块之间不重叠;式(5)保证车位模块在车库轮廓内;式(6)保证车位模块与障碍物之间不重叠;式(7)和式(8)保证车位模块ij与向量eij所在边相切;式(9)~(12)保证车位模块的顶点与车库轮廓或障碍物顶点的距离不超过限制.
3 算法设计地下车库车位排布问题的决策变量为上述模型中的λij和tij,即沿着车库轮廓或障碍物的边是否安排车位、安排何种类型的车位.通过对遗传算法(GA,genetic algorithm)、蚁群算法和粒子群算法的比较,选择遗传算法对地下车库车位排布模型进行求解[14-16].下面具体说明为地下车库外圈车位排布问题设计的遗传算法的内容.
1) 染色体编码
遗传算法采用实数编码,染色体上的基因代表地下车库对应边是否安排车位模块、安排何种类型的车位模块.染色体定义为
$ \begin{array}{*{20}{c}} {\left( {{\lambda _{ij}},{t_{ij}}} \right) = \left\{ {\begin{array}{*{20}{l}} {\left( {0,0} \right),{g_m} = 0}\\ {\left( {1,0} \right),{g_m} = 1}\\ {\left( {0,0} \right),{g_m} = 2} \end{array}} \right.,}\\ {m = \sum\limits_{r = 1}^i {{\eta _r}} + j} \end{array} $ | (13) |
2) 适应度函数
根据对模型目标函数的分析,选择车库中全部车位数作为遗传算法的适应度函数,即
$ f\left( u \right) = \max \sum\limits_{i \in I} {\sum\limits_{j \in {J_i}} {{n_{ij}}} } + \gamma \left( {W,R,C} \right) $ | (14) |
3) 遗传操作
遗传算法的遗传操作包括选择、交叉和变异,下面具体说明这3个过程的内容.
① 选择
遗传算法采用轮盘赌作为选择策略,每个个体被选中的概率为
$ p{r_u} = \frac{{f(u)}}{{\sum\limits_{u' = 1}^u f \left( {u'} \right)}} $ | (15) |
其中:f(u)是个体的适应度函数,U为种群数量.
② 交叉
交叉操作按照设置的交叉概率判断交叉是否进行,若进行则从个体中选择父亲F和母亲M,并在染色体上随机选择2个位置r1和r2,保证1<r1<r2<l,其中l是染色体的长度,经交叉操作后,子代O位置m=r1, r1+1, …, r2的基因来自父亲F,其余基因来自母亲M.
③ 变异
变异采用基本位变异,按照设置的变异概率值,随机选择染色体上的单个基因,用它的等位基因将其替换.
④ 自适应策略
将自适应策略应用在遗传算法中,使进入下一轮迭代的新种群由父代和子代合并生成,新种群中保留的父代与子代的数量由父代个体的适应度值决定,新种群具体构成如下:
$ {\eta _{\rm{O}}} = \left\lceil {\frac{{\sum\limits_{u = 1}^U f (u)}}{{\mathop {\max }\limits_{u'} f\left( {u'} \right)}}} \right\rceil $ |
$ {\eta _{\rm{F}}} = U - {\eta _{\rm{O}}} $ |
其中:ηO为新种群中子代个体的数量,ηF为新种群中父代个体的数量,f(u)为个体的适应度函数,U为种群规模.遗传算法的算法流程如下.
算法:地下车库外圈车位排布的遗传算法
输入:外轮廓W,障碍物R,轮廓及障碍物顶点V,轮廓内角及障碍物外角角度A,轮廓及障碍物边的角度B,遗传算法种群规模U,遗传算法交叉概率Prc,遗传算法变异概率Prm,遗传算法最大迭代次数K
输出:沿边是否安排车位的决策变量Λ*,车位模块类型T*,车位模块顶点坐标P-*和P+*
1 k←1,Uc=U
·Prc,Um=U ·Prm
2 P←根据U随机产生初始种群
3 for k=1 to K do
4 for each p∈p do
5 (Λ, T)←根据p赋值
6 W←计算车位模块宽度
7 Δ-, Δ+←计算车位模块顶点偏移量
8 P-←V-Δ-cos B
9 P+←V+Δ+sin B
10 P-, P+←根据不重叠约束和几何位置约束调整P-, P+
11 L←车位模块长度
12 C←车位模块内点的集合
13 N←车位模块内车位数
14 $f \leftarrow \sum\limits_{{n_{ij}} = N} {{n_{ij}}} + \gamma (W,R,C)$
15 end for
16 P′←根据轮盘赌策略从P中选择U个个体
17 for i=1 to Uc do
18 p1, p2←p1, p2∈P′
19 p′ 1, p′ 2←p1, p2经两点交叉后得到子代
20 P′←(P′-{p1, p2})∪{p′ 1, p′ 2}
21 end for
22 for i=1 to Um do
23 p←p∈P′
24 p′←p经过单点变异后得到子代
25 P′←(P′-{p})∪{p′}
26 end for
27 P←对P和P′采用自适应策略
28 end for
29 Λ*, T*, P-*, P+*←f最大的Λ, T, P-, P+
4 实例验证为验证基于规则的地下车库外圈车位排布启发式算法的精度和有效性,对实际地库图纸进行求解分析.算法采用Matlab编程,实验环境为4核、内存8 G、处理器CPU为3.40 GHz的计算机.设置种群数U∈{48, 72, 100},交叉概率Prc∈{0.7, 0.8, 0.9},变异概率Prm∈{0.2, 0.4, 0.6}进行正交试验,最终选定种群数量为48,交叉概率为0.8,变异概率为0.6,详细运算情况见表 1.
针对上述图纸,算法给出的车位排布方案整体优于设计师提供的方案.其中图纸1、2、3、4、6算法给出的车位排布方案与设计师提供的基本相同,图纸5算法给出的车位排布方案与设计师提供的有明显差别,而图纸7设计师未提供排车方案.图纸5和图纸7的排车结果如图 6、图 7所示.
对地下车库车位排布问题进行了规则提取,建立了基于规则的外圈车位排布模型,并开发启发式算法求解,实际工程图纸的车位排布结果验证了算法的精度和有效性,得到如下结论:
1) 对地下车库车位排布问题提取了规则,创新性地针对轮廓复杂且内部有障碍物的地下车库,建立了外圈车位排布问题的数学模型;
2)提出的启发式算法可以得到保证整体车位数最多的外圈车位排布方案,该算法在运算时间方面满足设计师的要求,可以提高地下车库的设计效率;与人工车位数的对比表明该算法满足设计师对排车结果精度的要求,通过该算法可以增加地下车库车位容量,提高项目收益;
3)车位排布结果的可视化功能,可以为设计师提供地下车库设计辅助决策依据.
[1] |
许明才. 大城市商圈地区停车规划策略研究——基于上海市三个商业中心停车调查的实证研究[J]. 上海城市规划, 2014(2): 43-50. Xu Mingcai. Study on parking planning strategy of metropolises' commercial center:an empirical study based on parking survey of three business center in Shanghai[J]. Shanghai Urban Planning Review, 2014(2): 43-50. DOI:10.3969/j.issn.1673-8985.2014.02.009 |
[2] |
陈歌.城市地下公共车库的停车方式与空间设计研究[D].西安建筑科技大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10703-1016741381.htm
|
[3] |
Iranpour R, Tung D. Methodology for optimal design of a parking lot[J]. Journal of Transportation Engineering, 1989, 115(2): 139-160. DOI:10.1061/(ASCE)0733-947X(1989)115:2(139) |
[4] |
宋作忠, 何文章. 基于遗传算法的交易中心停车场优化设计[J]. 数学的实践与认识, 2004, 34(1): 19-23. Song Zuozhong, He Wenzhang. Optimization design of parking lots in a trading center based on genetic algorithm[J]. Mathematics in Practice and Theory, 2004, 34(1): 19-23. DOI:10.3969/j.issn.1000-0984.2004.01.004 |
[5] |
Abdelfatah, Ta ha. Parking capacity optimization using linear programming[J]. Journal of Traffic and Logistics Engineering, 2014, 2(3): 176-181. |
[6] |
Syahrini I, Sundari T, Iskandar T, et al. Mathematical model of parking space unit for triangular parking area[C]//4th International Conference on Operational Research. Lisbon: IOP Publishing Ltd, 2018: 012012.
|
[7] |
Guo C, Guo P. Research on parking space optimal design method in parking lots[J]. Advanced Science Letters, 2012, 11(1): 698-701. DOI:10.1166/asl.2012.2977 |
[8] |
Ferreira M, Luís Damas, D'Orey P M. Self-automated parking lots for autonomous vehicles based on vehicular Ad hoc networking[C]//IEEE Intelligent Vehicles Symposium. Dearborn: IEEE, 2014: 472-479.
|
[9] |
Nourinejad M, Bahrami S, Roorda M J. Designing parking facilities for autonomous vehicles[J]. Transportation Research Part B Methodological, 2018(109): 110-127. |
[10] |
Timpner J, Friedrichs S, Van Balen J, k-Stacks: high-density valet parking for automated vehicles[C]//Intelligent Vehicles Symposium. Seoul: IEEE, 2015: 895-900.
|
[11] |
Banzhaf H, Quedenfeld F, Nienhuser D, High density valet parking using k-deques in driveways[C]//Intelligent Vehicles Symposium. Redondo Beach: IEEE, 2017: 1413-1420.
|
[12] |
胡静.城市地下车库设计研究[D].郑州大学, 2012.
|
[13] |
刘彦鹏, 吴明光, 张玉润. 基于AutoCAD的简单多边形剖分算法[J]. 计算机工程与应用, 2006, 42(5): 47-49, 53. Liu Yanpeng, Wu Mingguang, Zhang Yurun. A new decomposition algorithm of simple polygon based on autocad[J]. Computer Engineering & Applications, 2006, 42(5): 47-49, 53. |
[14] |
Reed M, Yiannakou A, Evering R. An ant colony algorithm for the multi-compartment vehicle routing problem[J]. Applied Soft Computing, 2014, 15(2): 169-176. |
[15] |
Roberge V, Tarbouchi M, Labonte G. Comparison of parallel genetic algorithm and particle swarm optimization for real-time UAV path planning[J]. IEEE Transactions on Industrial Informatics, 2013, 9(1): 132-141. DOI:10.1109/TII.2012.2198665 |
[16] |
Khaksar-Haghani F, Kia R, Mahdavi I, et al. A genetic algorithm for solving a multi-floor layout design model of a cellular manufacturing system with alternative process routings and flexible configuration[J]. International Journal of Advanced Manufacturing Technology, 2013, 66(5-8): 845-865. DOI:10.1007/s00170-012-4370-2 |