CN115577869B - 一种基于遗传算法的地库车位自动排布方法 - Google Patents
一种基于遗传算法的地库车位自动排布方法 Download PDFInfo
- Publication number
- CN115577869B CN115577869B CN202211041660.5A CN202211041660A CN115577869B CN 115577869 B CN115577869 B CN 115577869B CN 202211041660 A CN202211041660 A CN 202211041660A CN 115577869 B CN115577869 B CN 115577869B
- Authority
- CN
- China
- Prior art keywords
- lane
- parking spaces
- genetic algorithm
- arrangement
- ground
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000002068 genetic effect Effects 0.000 title claims abstract description 56
- 238000005192 partition Methods 0.000 claims abstract description 27
- 230000011218 segmentation Effects 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 67
- 108090000623 proteins and genes Proteins 0.000 claims description 38
- 230000004888 barrier function Effects 0.000 claims description 11
- 238000012804 iterative process Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 230000001133 acceleration Effects 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012805 post-processing Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 238000005457 optimization Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 230000011681 asexual reproduction Effects 0.000 description 1
- 238000013465 asexual reproduction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007614 genetic variation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000014639 sexual reproduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/043—Optimisation of two dimensional placement, e.g. cutting of clothes or wood
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Marketing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Biomedical Technology (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于遗传算法的地库车位自动排布方法,它解决了地库车位排布的问题,其包括如下步骤:S1:输入用户参数以及地库数据;S2:利用区域分割算法对地库进行区域分割,将大区域分割为小区域,并利用遗传算法的大框架基于S3步骤的结果迭代分割线,找到满足最大车位数和车位、分区排布合理的最优解S3:利用贪心算法对小区域进行分区车位排布,并将排布结果反馈至S2步骤,进入遗传算法迭代框架;S4:输出地库车位排布结果。本发明具有车位排布效果好、适用性广等优点。
Description
技术领域
本发明属于机械自动化设备技术领域,具体涉及一种基于遗传算法的地库车位自动排布方法。
背景技术
在当前的设计工作流程中,对于地库的设计及车位排布是设计环节里设计逻辑较为成熟、相对较容易程式化,同时也能带来巨大效率提升和人力价值的工作板块,而目前在市针对地库设计和车位强排的产品并不多且成熟度较低。
目前市面上存在的一些地库车位自动排布解决方案主要存在以下几点问题:1.目前市上存在的地库车位自动化排布解决方案设计逻辑较为简单,针对复杂区域和真实场地环境未能有效排布,与设计师人工排布结果的差距较大,落地性较差;2.目前的地库车位排布产品基本仅支持正交模式,对有斜交的案例无能为力;3.目前市上存在的地库车位自动化排布解决方案多数基于Rhino等其它三维平台或闭源环境,与主流设计师的工作流相斥,产品难以与一线真实的工作场景相契合,具有较大的学习和迁移成本。
为了解决现有技术存在的不足,人们进行了长期的探索,提出了各式各样的解决方案。例如,中国专利文献公开了一种车位排布方法、装置、终端和介质[202010797416.6],其包括:获取车库信息,根据所述车库信息对车库进行分区得到分区结果;对所述分区结果进行预设次数的初始化处理,得到第一预设数量的分区方案;基于各所述分区方案中单个车位的占用面积对所述第一预设数量的分区方案进行迭代筛选,得到目标分区方案;根据所述目标分区方案对车位进行排布。
上述方案在一定程度上解决了地库车位排布效率较低的问题,但是该方案依然存在着诸多不足,例如与人工排布结果差距较大、落地性不佳等问题。
发明内容
本发明的目的是针对上述问题,提供一种设计合理,与人工作业结果较为接近的基于遗传算法的地库车位自动排布方法。
为达到上述目的,本发明采用了下列技术方案:一种基于遗传算法的地库车位自动排布方法,包括如下步骤:
S1:输入用户参数以及地库数据;
S2:利用区域分割算法对地库进行区域分割,将大区域分割为小区域,并利用遗传算法的大框架基于S3步骤的结果迭代分割线,找到满足最大车位数和车位、分区排布合理的最优解;
S3:利用贪心算法对小区域进行分区车位排布,并将排布结果反馈至S2步骤,进入遗传算法迭代框架;
S4:输出地库车位排布结果。通过对地库进行区域分割,对每个小区域使用核心排布算法,形成组合优化的问题,实现全局组合优化与小分区车位排布相结合,在小区域中车位排布的逻辑参照设计师人工排布的思路,其车位排布方式相较于其他地库车位排布产品,更接近人工排布结果。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S1中的用户参数包括命令模式、车位与车道设置、柱设置和运算参数设置,地库数据包括墙线、障碍物和分割线。根据需要选择用户参数,调整车位与车道尺寸,从而适应不同地库的车位排布。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S2包括如下步骤:
S21:根据命令模式生成分割线,根据障碍物的排布,将区域沿横向或纵向每次进行二分,直到所有障碍物被分开,再依据二分得到的分割线处理为网格图划分区域;
S22:利用遗传算法对分割线进行迭代;
S23:对每组给定的分割线都进行区域分割,将地库分割为分割单元。采用分割线将地库划分为小分区,小分区内的车位排布采用的是步骤S3中的贪心算法以及局部优化组合的方式,具体的车位排布参考了建筑师在人工作业时的设计思路,包括并不限于查表等方式。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S21中命令模式包括:
无迭代速排:根据用户提供的原始分割线进行区域划分;
手动迭代排布:根据用户提供的参考分割线,并按照指定的迭代次数和种群数量进行选择优化;
自动迭代排布:直接对包含障碍物和地库边界的图纸进行操作,自动生成分割线。考虑到用户实际使用场景和交互体验,引入无迭代速排、手动迭代排布和自动迭代排布三种方案,提高了分割效率。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S22包括如下步骤:
S221:将每个基因组转化为分割线,利用分割线进行区域分割,再将结果传递给小分区运算模块进行计算,返回该基因组对应的车位个数。
S222:将车位个数从大到小排列,保留前50%的基因组,参与下一代的生成;
S223:前20%的基因组直接通过小变异生成下一代;
S224:后80%的基因组先经过交叉操作,然后将这些基因组的前20%参与小变异,剩余80%参与大变异。
S225:上述操作完成后,后代生成完成,回到步骤S221,进行循环,直至达成终止条件。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S3包括如下步骤:
S31:输入条件,包括输入墙线、分割线、障碍物、边界线、原始地库的最外层边界线和坡道信息,其中分割线作为车道线;
S32:数据预处理,对坡道进行预处理,将坡道转化为障碍物与车道相结合;
S33:生成标准式车道模块,采用多种方式生成车道,并比较哪种方式生成的车道线有效长度更多,选择最多的一种生成车道并加入已有车道,重新进入判断,直至所有方式均不能生成新的车道为止;
S34:生成生长式车道模块,取得指定的深度,遍历所有的可用的车道线,在判定有效的车道线上以垂直该车道的方式生成连接该车道的车道线;
S35:在车道模块内生成车位,取所有车道线作为靶基车道进行遍历生成车位,在车道线上生成垂直式车道和柱子;
S36:在剩余车道空间生成车位,更新以上生成的车道线和车位模块,在余下的空间里继续生成垂直式和平行式两种车位和柱子;
S37:数据后处理,生成的数据进行删除重复车位、与边界相交的车位、无效的柱子,重新绘制柱子尺寸;
S38:数据的全局处理,在分区和迭代结束后处理尽端停车以及中心线后处理;
S39:输出数据,包括墙线、车位、柱子、原始柱子、障碍物顶点和车道线。在自动排布车位的过程中,尝试千万次可能的排布方式并自动选择最优方案,所排布的成果优于人工排布。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S33车道生成方式包括生成背靠背模块式车道、生成近墙端垂直式车道和生成相邻障碍物间车道。多种车道生成方式满足不同地库的车道排布需求,根据需要调整车道生成方式。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S2和步骤S3中的遗传算法的输入包括初始分割线、各基因的最大最小变化范围、对基因的评价函数;遗传算法的输出为搜索过程中得到的最优解。遗传算法的核心为基因,以及基因组所组成的结构,由基因定义了分割线的位置,实现分割线的迭代。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S2和步骤S3中的遗传算法的迭代过程采用多进程加速过程,多进程加速过程包括一个主进程和与核心数量接近的子进程;主进程将遗传算法中每一代的种群进行拆分,拆分好的任务发送给子进程进行运算,再将子进程的运算结果进行汇总筛选,生成下一代;子进程基于基因生成分割线,进行区域分割,再基于区域分割的结果进行车位排布,返回车位个数。采用多线程的方式来进行遗传算法的迭代过程,提高了迭代效率。
在上述的一种基于遗传算法的地库车位自动排布方法中,主进程与子进程之间的数据传输包括输入的地库信息、迭代过程中主进程传输到子进程的基因信息和子进程传回到主进程的车位个数、记录计算过的子区域以及个数;主进程在每一代开始前创建下一代进程锁并上锁,数据传输后解锁当前进程锁并等待所有进程锁返回信号;子进程在每一代读取当前代进程锁,获取进程锁信号后开始运算。引入子区域数据结构和进程锁,包括数据传输效率和稳定性。
在上述的一种基于遗传算法的地库车位自动排布方法中,步骤S4输出地库整体车位排布、车道和柱网的成果图。
与现有的技术相比,本发明的优点在于:对地库采用区域分割以及遗传算法迭代实现车位排布,参考了设计师车位排布的思路,与人工作业结果较为接近;采用多线程方式进一步提高迭代速率,缩短了车位排布最优解所需时间;更加需要调整用户参数、车道生成方式等,适应不同地库的车位排布需求,适用面较广且方便引入实际应用中。
附图说明
图1是本发明的方法原理图;
图2是本发明的车位排布的总体逻辑示意图;
图3是本发明的车道生成的逻辑示意图;
图4是本发明的生成生长式车道模块的逻辑示意图;
图5是本发明的地库分区内车位排布的逻辑示意图;
图6是本发明的实施例一的输入示意图;
图7是本发明的实施例一的输出示意图;
图8是本发明的实施例二的输入示意图;
图9是本发明的实施例二的输出示意图;
图10是本发明的实施例三的输入示意图;
图11是本发明的实施例三的输出示意图;
具体实施方式
下面结合附图和具体实施方式对本发明做进一步详细的说明。
如图1所示,一种基于遗传算法的地库车位自动排布方法,在给定地库外轮廓线、障碍物、汽车坡道以及车道宽度、车位尺寸、柱子尺寸等必要信息以及参数后,寻找满足合理的最大车位数以及柱网排布的自动化解决方案,其具体包括如下步骤:
S1:输入用户参数以及地库数据,输入的地库数据通常为地库CAD图像;
S2:利用区域分割算法对地库进行区域分割,将大区域分割为小区域,并利用遗传算法的大框架基于S3步骤的结果迭代分割线,找到满足最大车位数和车位、分区排布合理的最优解;
S3:采用贪心算法对小区域进行分区车位排布,并将结果反馈回步骤S2采用遗传算法进行迭代寻找到满足最大车位数和车位、分区排布合理的最优解,是全局组合优化+小分区车位排布的1+1逻辑架构方式;
S4:输出地库车位排布结果,地库车位排布结果以CAD图像输出。与主流设计师的工作相合,产品方便与一线真实的工作场景相契合。
具体地,步骤S1中的用户参数包括命令模式、车位与车道设置、柱设置和运算参数设置,地库数据包括墙线、障碍物和分割线。其中命令模式包括无迭代速排、手动迭代排布和自动迭代排布。其中无迭代速排根据用户画好的分割线自动生成该分割条件下的优解;手动迭代排布根据用户画好的分割线,运用遗传算法对分割线进行移动、变换等操作来寻找更优化的最优解;自动迭代排布由用户提供最基本的边界、建筑障碍物等元素,自动生成分割线并自动进行迭代排布,得到一个自动生成的最优解。
车位和车道设备包括平行车位尺寸、垂直车位尺寸和车道宽度,柱设置包括最大柱间距、平行于车道方向柱子尺寸、垂直于车道方向尺寸和柱子完成面尺寸。
运算参数设置包括自动、优选横向以及优先纵向,三种方向为对每个小分区进行排布所使用的测量,通过不同的排布方向优先的方式调整排布策略,得到同一个固定分区内的不同车位排布结果。用户通过选择速度档位以及迭代次数、种群数量等参数来调整运算时间以及精度,运算时间越长,精确度越高。
深入地,步骤S2包括如下步骤:
S21:根据命令模式生成分割线,根据障碍物的排布,将区域沿横向或纵向每次进行二分,直到所有障碍物被分开,再依据二分得到的分割线处理为网格图划分区域;正交体系下,横向或纵向一根线可以不穿过障碍物且将边界一分为二即为二分,任何二分区域的上下左右四个方向为边界线或一条分割线。由分割线和边界线组成的区域即二分区域。在分割过程中,会存在无法采用二分处理的图纸,上述的分割方案无法满足自动分割线生成的要求,此时通过手动分割线解决;
S22:考虑到分割线的位置以及组合方式,利用遗传算法对分割线进行迭代;在迭代过程中容易陷入探索不够以及对于良好基因优化不够的问题,运用遗传算法中的基因变异、特殊解锚定等方式解决该问题。
S23:对每组给定的分割线,都要充分利用分割线进行区域分割,将地库分割为分割单元。其中分割单元是由分割线和地库边界组成的最小闭合区域,而闭合区域由分割线和边界或仅有分割线组成的环构成的面域。
区域分割就是利用分割线将地库分割成一个一个分割单元。难点是分割线同时具有分割和车道性质。需要在分割前对分割线处理为车道,并且判断该车道是否满足车道性质,进行筛选。
具体的,步骤S21对区域二分所采用的函数包括:
S211:从横向或纵向最小坐标生成无限长的直线;
S212:判断步骤S211中生成的直线是否不穿过障碍物;
S213:判断步骤S211中生成的直线是否可将地库一分为二;
S214:若步骤S212和S213成立则记录该分割线生成的两个子二分区域,计算该线的可移动范围,将线移动到正方向最远位;
S215:将线沿正方向移动车道宽度的长度,判断当先线是否在边界外,若在边界外且横纵都计算完毕则返回所有记录的子二分区域,否则回到步骤S211。
区域二分所采用的算法的主循环为:
S231:输入未计算的二分区域,未开始计算则为原始地库;
S232:对于所有未计算的二分区域,用上述函数计算子二分区域;
S233:记录子区域中未计算的二分区域;
S234:若无未计算的二分区域则返回所有记录的二分分割线,否则返回步骤S231。之后对于所有二分分割线进行去重处理,若两根分割线的可移动范围存在交集,且一根分割线的延长线方向均大于另一根分割线,则第二根分割线删除。同时去除空区域,将该区域合并到上下左右某一个分区,合并后需要保持矩形,若非矩形则放弃合并,后处理完成后的分割线方案即为二分全自动分区线。
小分区内的车位排布的核心算法采取“贪心算法”+局部“组合优化”的方式,具体的车位排布参考了建筑师在人工作业时的设计思路,包括但不限于查表等方式,由于不同的排布思路会导致同一个区域内的车位排布结果也不同,因此,小分区的车位排布和综合各种情况和实际案例,每次排布时比较不同的解决思路所排出来的结果孰优孰劣并选择优解,再接着以同样的方式进行下一步操作直至该小分区排完为止。
进一步地,步骤S21中命令模式包括:
无迭代速排:根据用户提供的原始分割线进行区域划分,用户能快速实现交互,并根据生成的结果调整分割线位置;
手动迭代排布:根据用户提供的参考分割线,并按照指定的迭代次数和种群数量进行选择优化,用户无需指定分割线的位置,且分割线不需要满足二分要求,只需设定迭代次数和种群数量,即可得到较优的排布方案;
自动迭代排布:直接对包含障碍物和地库边界的图纸进行操作,自动生成分割线,用户无需提供分割线。
具体地,步骤S22包括如下步骤:
S221:将每个基因组转化为分割线,利用分割线进行区域分割,再将结果传递给小分区运算模块进行计算,返回该基因组对应的车位个数。分割线可沿其法向移动,坐标增加方向为正方向。法向正方向可移动最远位置为上边界,反之法向负方向可移动最远位置为下边界。分割线有基因与之对应,法向正向移动则基因为正,反之为负。一组基因为基因组,代表一个解,对应一组移动过后的分割线方案。
S222:将车位个数从大到小排列,保留前50%的基因组,参与下一代的生成,基因组的比例以及迭代次数可调;
S223:前20%的基因组直接通过小变异生成下一代;
S224:后80%的基因组先经过交叉操作,然后将这些基因组的前20%参与小变异,剩余80%参与大变异;
S225:上述操作完成后,后代生成完成,回到步骤S221,进行循环,直至达成终止条件。将初始分割线转换为基因数值为0的基因,所有初始分割线转换为的基因则为初始基因组。剩余基因在变化范围进行随机,将一组基因进行组合,生成一组随机基因组。初始基因组加上(种群数量-1)个随机基因组即为初代。
其中小变异输入由原基因,以及一个随代数递减的方差组成。生成的新基因符合TN(g,theta)其中TN为截断正态分布,g为原基因,theta为方差。截断正态分布的边界与基因变化范围相同。
大变异输入仅有变化范围。生成的新基因符合C(lb,ub)其中C为均匀分布,lb为变化范围的下边界,ub为变化范围的上边界。交叉输入为两个基因组,输出为一个基因组。新生成的基因组取原先两个基因组中对应位置的基因中的一个。连续10代车位数相同则判断收敛。终止条件为达到收敛条件或达到最大代数或最长时间限制。
如图2所示,步骤S3大体上分成三个模块,第一部分以三种不同的策略生成车道线,第二部分在第一部分的基础上以另一种方式生成车道线,第三部分在以上生成的既定车道线的基础性,开始尝试在每根车道线的可达区域设计和布置车位,总体结构原理如图4所示,具体步骤如下:
S31:输入条件,包括输入墙线、分割线、障碍物、边界线、原始地库的最外层边界线、坡道和障碍物;
S32:数据预处理,对坡道进行预处理,将坡道转化为障碍物与车道相结合;
S33:生成标准式车道模块,采用多种方式生成车道,并比较哪种方式生成的车道线有效长度更多,选择最多的一种生成车道并加入已有车道,重新进入判断,直至所有方式均不能生成新的车道为止;
S34:生成生长式车道模块,取得指定的深度,遍历所有的可用的车道线,在判定有效的车道线上以垂直该车道的方式生成连接该车道的车道线;
S35:在车道模块内生成车位,取所有车道线作为靶基车道进行遍历生成车位,在车道线上生成垂直式车道和柱子;
S36:在剩余车道空间生成车位,更新以上生成的车道线和车位模块,在余下的空间里继续生成垂直式和平行式两种车位和柱子;
S37:数据后处理,生成的数据进行删除重复车位、与边界相交的车位、无效的柱子,重新绘制柱子尺寸;
S38:数据的全局处理,在分区和迭代结束后处理尽端停车以及中心线后处理;
S39:输出数据,包括墙线、车位、柱子、原始柱子、障碍物顶点和车道线。整体的逻辑为取得指定深度可用的车道线,在车道线上生成柱子与车位。
如图5所示,取得指定深度可用的车道线包括如下流程:遍历车道线后返回符合条件的车道线列表,构建原始车道线与目标深度位置车道线形成的Box,与边界相交分割遍历目标车道线列表,与障碍物相交,分割遍历目标车道线列表,与车道模块相交,分割遍历目标车道线列表,最后碰撞检查,分割遍历目标车道线列表并返回目标车道线列表。
车道线上生成柱子和车位包括如下流程:先判断柱子是否穿墙的预调整,判断是否未背靠背模块车位的对齐预调整,根据柱子和车位的长度间隔分割靶基车道线,与障碍物、车道线模块做交互并判断生成车位和柱子,生成合理内容物,判断是否需要在非膨胀检测区生成首柱,判断是否需要生成尾柱,根据是否需要生成中柱做柱网调整。
如图3所示,步骤S33车道生成方式包括生成背靠背模块式车道、生成近墙端垂直式车道和生成相邻障碍物间车道。生成背靠背模块式车道时选择目标车道线,与边界相交处理的有效部分,与车道模块相交处理的有效部分,与障碍物相交处理的有效部位,判断是否需要南向插车重定位,判断目标车道位置是否已存在车道,最后生成车道。生成近墙端垂直式车道时选择目标车道线,判断是否需要南向插车重定位,与车道模块相交处理的有效部分,与障碍物相交处理的有效部位,判断目标车道位置是否已存在车道,最后生成车道。生成相邻障碍物间车道时选择目标车道线,判断是否满足长度等条件,最后生成车道。
步骤S2和步骤S3中的遗传算法的输入包括初始分割线、各基因的最大最小变化范围、对基因的评价函数;遗传算法的输出为搜索过程中得到的最优解。一个基因对应的分割线如果为纵向,则该基因定义了分割线的横坐标。基因的最大最小变化范围由初始分割线的周围的障碍物所限制,横向的初始分割线的变化范围则由该线上下的建筑物所定义。利用生成的基因,得到分割线,并利用该分割线方案,计算出该方案对应的车位数量作为评价标准。
针对在迭代过程中容易陷入探索不够以及对于良好基因优化不够的问题,对在算法上对后代生成逻辑以及变异进行了优化。其中后代生成逻辑包含交叉生成,以及复制生成。对应遗传中的有性繁殖以及无性繁殖。其中交叉生成主要覆盖了不同基因之间的组合优化问题,复制生成覆盖了对良好基因的局部优化问题。而变异包含了完全随机变异,以及基于父代基因的变异。其中完全随机变异保证了遗传算法的探索广度,基于父代的变异保证了对父代良好基因的进一步优化探索。除此之外,基于父代的变异系数现在会随代数递减。在迭代初期,算法主要进行广度探索,在迭代末期,算法主要进行深度探索。
步骤S2和步骤S3中的遗传算法的迭代过程采用多进程加速过程,但CAD本身不支持多线程,因此需要对CAD数据进行转换,让其能满足多线程计算要求。多进程加速的核心思想是把遗传算法迭代过程中每一代的单个种群当做一个任务,进行拆分。采用启动与核心数接近的进程数量,最大限度利用运算资源。多进程加速过程包括一个主进程和与核心数量接近的子进程;主进程将遗传算法中每一代的种群进行拆分,拆分好的任务发送给子进程进行运算,再将子进程的运算结果进行汇总筛选,生成下一代;子进程基于基因生成分割线,进行区域分割,再基于区域分割的结果进行车位排布,返回车位个数。
主进程与子进程之间的数据传输包括输入的地库信息、迭代过程中主进程传输到子进程的基因信息和子进程传回到主进程的车位个数、记录计算过的子区域以及个数。
其中输入的地库信息包括地库边界,坡道,障碍物,参数等,该类型数据量最大,但是由于地库信息在一次迭代过程中是通用的,因此只需要从主进程传输到子进程一次,传输效率影响不大。其中迭代过程中主进程传输到子进程的基因信息和子进程传回到主进程的车位个数,该类型每一代都要进程传输,但是由于数据量小,传输速度比较快,因此传输用时比较短,对效率影响较小。记录计算过的子区域以及个数,避免重复运算,这一部分需要将子进程计算的结果传输到主进程,主进程汇总后在下一代开始前传输回子进程,由于每一代都要传输,且数据量也较大,对效率影响最大。针对这个问题,特别设计了一个子区域数据结构,用最小的数据量去代表一个子区域。对效率提升比较明显。
因为使用了多进程,要确保进程间是同步运算的。该程序使用了进程锁来控制运算。迭代过程中,每一代使用了不同的进程锁。主进程在每一代开始前创建下一代进程锁并上锁,数据传输后解锁当前进程锁并等待所有进程锁返回信号;子进程在每一代读取当前代进程锁,获取进程锁信号后开始运算。
步骤S4输出地库整体车位排布、车道和柱网的成果图。目前车位排布方案使用应用和测试案例是正交地库,但进一步优化后对于斜交、非横平竖直的地库同样适用。
实施例一
如图6-7所示,本实施例的车均面积为31.74㎡/辆,选择手动分区线并迭代排布,其排布方向为自动组合,运算时间为5.49s,运算结果如图7所示,车位数量为491。
实施例二
如图8-9所示,本实施例的车均面积为31.39㎡/辆,选择手动分区线并采用无迭代速排,其排布方向为自动组合,运算时间为3.86s,运算结果如图9所示,车位数量为1189。
实施例三
如图10-11所示,本实施例的车均面积为29.99㎡/辆,选择手动分区线并采用无迭代速排,其排布方向为自动组合,运算时间为3.28s,运算结果如图11所示,车位数量为958。
综上所述,本实施例的原理在于:通过对地库进行区域分割,将大区域划分为小区域,在每一个小区域内使用核心排布算法分区排布,形成组合优化的问题,并采用遗传算法进行迭代寻找到满足最大车位数和车位、分区排布合理的最优解。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了分割线等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
Claims (7)
1.一种基于遗传算法的地库车位自动排布方法,其特征在于,包括如下步骤:
S1:输入用户参数以及地库数据;
S2:利用区域分割算法对地库进行区域分割,将大区域分割为小区域,并利用遗传算法的大框架基于S3步骤的结果迭代分割线,找到满足最大车位数和车位、分区排布合理的最优解;
S21:根据命令模式生成分割线,根据障碍物的排布,将区域沿横向或纵向每次进行二分,直到所有障碍物被分开,再依据二分得到的分割线处理为网格图划分区域;
S22:利用遗传算法对分割线进行迭代;
S221:将每个基因组转化为分割线,利用分割线进行区域分割,再将结果传递给小分区运算模块进行计算,返回该基因组对应的车位个数;
S222:将车位个数从大到小排列,保留前50%的基因组,参与下一代的生成;
S223:前20%的基因组直接通过小变异生成下一代;
S224:后80%的基因组先经过交叉操作,然后将这些基因组的前20%参与小变异,剩余80%参与大变异;
S225:上述操作完成后,后代生成完成,回到步骤S221,进行循环,直至达成终止条件;
S23:对每组给定的分割线都进行区域分割,将地库分割为分割单元;
S3:利用贪心算法对小区域进行分区车位排布,并将排布结果反馈至S2步骤,进入遗传算法迭代框架;
S31:输入条件,包括输入墙线、分割线、障碍物、边界线、原始地库的最外层边界线和坡道信息,其中分割线作为车道线;
S32:数据预处理,对坡道进行预处理,将坡道转化为障碍物与车道相结合;
S33:生成标准式车道模块,采用多种方式生成车道,并比较哪种方式生成的车道线有效长度更多,选择最多的一种生成车道并加入已有车道,重新进入判断,直至所有方式均不能生成新的车道为止;
S34:生成生长式车道模块,取得指定的深度,遍历所有的可用的车道线,在判定有效的车道线上以垂直该车道的方式生成连接该车道的车道线;
S35:在车道模块内生成车位,取所有车道线作为靶基车道进行遍历生成车位,在车道线上生成垂直式车道和柱子;
S36:在剩余车道空间生成车位,更新以上生成的车道线和车位模块,在余下的空间里继续生成垂直式和平行式两种车位和柱子;
S37:数据后处理,生成的数据进行删除重复车位、与边界相交的车位、无效的柱子,重新绘制柱子尺寸;
S38:数据的全局处理,在分区和迭代结束后处理尽端停车以及中心线后处理;
S39:输出数据,包括墙线、车位、柱子、原始柱子、障碍物顶点和车道线;
S4:输出地库车位排布结果。
2.根据权利要求1所述的一种基于遗传算法的地库车位自动排布方法,其特征在于,所述的步骤S1中的用户参数包括命令模式、车位与车道设置、柱设置和运算参数设置,所述的地库数据包括墙线、障碍物和分割线。
3.根据权利要求1所述的一种基于遗传算法的地库车位自动排布方法,其特征在于,所述的步骤S21中命令模式包括:
无迭代速排:根据用户提供的原始分割线进行区域划分;
手动迭代排布:根据用户提供的参考分割线,并按照指定的迭代次数和种群数量进行选择优化;
自动迭代排布:直接对包含障碍物和地库边界的图纸进行操作,自动生成分割线。
4.根据权利要求1所述的一种基于遗传算法的地库车位自动排布方法,其特征在于,所述的步骤S33车道生成方式包括生成背靠背模块式车道、生成近墙端垂直式车道和生成相邻障碍物间车道。
5.根据权利要求1所述的一种基于遗传算法的地库车位自动排布方法,其特征在于,所述的步骤S2和步骤S3中的遗传算法的输入包括初始分割线、各基因的最大最小变化范围、对基因的评价函数;遗传算法的输出为搜索过程中得到的最优解。
6.根据权利要求5所述的一种基于遗传算法的地库车位自动排布方法,其特征在于,所述的步骤S2和步骤S3中的遗传算法的迭代过程采用多进程加速过程,多进程加速过程包括一个主进程和与核心数量接近的子进程;主进程将遗传算法中每一代的种群进行拆分,拆分好的任务发送给子进程进行运算,再将子进程的运算结果进行汇总筛选,生成下一代;子进程基于基因生成分割线,进行区域分割,再基于区域分割的结果进行车位排布,返回车位个数。
7.根据权利要求6所述的一种基于遗传算法的地库车位自动排布方法,其特征在于,所述的主进程与子进程之间的数据传输包括输入的地库信息、迭代过程中主进程传输到子进程的基因信息和子进程传回到主进程的车位个数、记录计算过的子区域以及个数;主进程在每一代开始前创建下一代进程锁并上锁,数据传输后解锁当前进程锁并等待所有进程锁返回信号;子进程在每一代读取当前代进程锁,获取进程锁信号后开始运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211041660.5A CN115577869B (zh) | 2022-08-29 | 2022-08-29 | 一种基于遗传算法的地库车位自动排布方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211041660.5A CN115577869B (zh) | 2022-08-29 | 2022-08-29 | 一种基于遗传算法的地库车位自动排布方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115577869A CN115577869A (zh) | 2023-01-06 |
CN115577869B true CN115577869B (zh) | 2023-10-27 |
Family
ID=84579201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211041660.5A Active CN115577869B (zh) | 2022-08-29 | 2022-08-29 | 一种基于遗传算法的地库车位自动排布方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115577869B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212557A (ja) * | 1996-02-07 | 1997-08-15 | Hitachi Ltd | 駐車場誘導方法および駐車場誘導システム |
CN111506939A (zh) * | 2020-04-24 | 2020-08-07 | 广东博智林机器人有限公司 | 一种车库设计方法、装置、终端和介质 |
CN111814235A (zh) * | 2020-07-01 | 2020-10-23 | 广东博智林机器人有限公司 | 车位排布优化和多边形简化方法、装置、设备和存储介质 |
CN111915091A (zh) * | 2020-08-10 | 2020-11-10 | 广东博智林机器人有限公司 | 一种车位排布方法、装置、终端和介质 |
CN113011677A (zh) * | 2021-04-06 | 2021-06-22 | 万翼科技有限公司 | 基于车库的车位排布优化方法及相关产品 |
CN113190903A (zh) * | 2021-05-07 | 2021-07-30 | 张双 | 一种车库设计方法和云计算*** |
CN114446090A (zh) * | 2022-04-07 | 2022-05-06 | 深圳小库科技有限公司 | 地面停车场的车位排布方案生成方法、装置、设备及介质 |
CN114510033A (zh) * | 2022-01-07 | 2022-05-17 | 广东博智林机器人有限公司 | 基于车位的规划作业方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366180B2 (en) * | 2010-03-15 | 2019-07-30 | Bentley Systems, Inc. | Computer-implemented land planning system and method with automated parking area design tools |
-
2022
- 2022-08-29 CN CN202211041660.5A patent/CN115577869B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212557A (ja) * | 1996-02-07 | 1997-08-15 | Hitachi Ltd | 駐車場誘導方法および駐車場誘導システム |
CN111506939A (zh) * | 2020-04-24 | 2020-08-07 | 广东博智林机器人有限公司 | 一种车库设计方法、装置、终端和介质 |
CN111814235A (zh) * | 2020-07-01 | 2020-10-23 | 广东博智林机器人有限公司 | 车位排布优化和多边形简化方法、装置、设备和存储介质 |
CN111915091A (zh) * | 2020-08-10 | 2020-11-10 | 广东博智林机器人有限公司 | 一种车位排布方法、装置、终端和介质 |
CN113011677A (zh) * | 2021-04-06 | 2021-06-22 | 万翼科技有限公司 | 基于车库的车位排布优化方法及相关产品 |
CN113190903A (zh) * | 2021-05-07 | 2021-07-30 | 张双 | 一种车库设计方法和云计算*** |
CN114510033A (zh) * | 2022-01-07 | 2022-05-17 | 广东博智林机器人有限公司 | 基于车位的规划作业方法、装置、设备及存储介质 |
CN114446090A (zh) * | 2022-04-07 | 2022-05-06 | 深圳小库科技有限公司 | 地面停车场的车位排布方案生成方法、装置、设备及介质 |
Non-Patent Citations (4)
Title |
---|
"Research on Optimization of Stereo Garage Parking Location Based on Genetic-Tabu Search";Bowen Li;《IOP Conference Series: Materials Science and Engineering》;全文 * |
"Site Selection of Mechanical Parking Garage in High Density Vehicle Urban Area Based on Genetic Algorithm-Support Vector Machine";Minan TANG等;《2009 Second International Symposium on Knowledge Acquisition and Modeling》;全文 * |
"基于优化模型的停车场规划设计分析";高新涛;《河南科技》;第572卷(第9期);全文 * |
"基于贪婪算法的地下停车场车位布局设计";徐涵喆 等;《工业工程与管理》;第25卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115577869A (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346795B (zh) | 电工电子类虚拟实验快速自动布线方法 | |
CN108959694B (zh) | 一种大体量复杂建筑的bim几何模型构建方法 | |
CN110442996B (zh) | 一种基于pdms平台的实体电缆智能敷设的方法 | |
US7439972B2 (en) | Method of generating a computer readable model | |
CN108961404B (zh) | 一种积木式构建不规则模型的方法和*** | |
CN107256310B (zh) | 一种高位收水冷却塔收水装置的三维设计方法 | |
CN111159811A (zh) | 地下车库布局方法、装置、设备和存储介质 | |
CN115577439B (zh) | 一种用于医药工艺多级布局的生成方法及装置 | |
CN111859511A (zh) | 建筑模型生成立面施工图的方法、装置 | |
CN109979009B (zh) | 一种具有功能梯度的胶结颗粒材料三维细观数字模型重构方法 | |
CN117828701B (zh) | 工程图纸布局优化方法、***、设备及介质 | |
CN115577869B (zh) | 一种基于遗传算法的地库车位自动排布方法 | |
CN113706715B (zh) | 一种随机可控城市生成方法 | |
Bagnolo et al. | Beyond HBIM: serious games and procedural modelling for heritage dissemination | |
Ju et al. | Building 3D surface networks from 2D curve networks with application to anatomical modeling | |
CN114494832A (zh) | 一种码头集卡停车对位方法、***和装置 | |
CN112817316B (zh) | 一种多机器人路径规划方法及装置 | |
CN104240301B (zh) | 地质曲面重构方法及设备 | |
CN116976057B (zh) | 一种装置布置图自动排布方法 | |
CN112199743A (zh) | 道路路肩挡墙的组件建立方法和三维参数化布置方法 | |
CN108920785A (zh) | 一种复杂单体模型规则化建模方法及*** | |
CN115761175A (zh) | 一种网页自动化立体仓库三维场景搭建的平台及方法 | |
CN114564905A (zh) | 一种基于迭代禁忌搜索算法的电路示意图布局布线方法 | |
Berwaldt et al. | Procedural generation of favela layouts on arbitrary terrains | |
CN113763240A (zh) | 一种点云缩略图生成方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |