1.软件版本
matlab2022a
2.运行方法
使用matlab2022a或者高版本仿真,运行文件夹中的tops.m或者main.m。运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。具体操作观看提供的程序操作视频跟着操作。
3.部分仿真截图
4.内容简介
GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。
通过对一个施工场地的设施进行布局建模仿真(一种二次分配问题),得到最优化的布置结果,要求对施工场地的设施、道路和车辆这三类主体分别编写子程序,做一个具体工程施工设施布局的模拟仿真。 设施均假设为长方体,其属性为设施面积、设施高度以及设施位置,设施用字母F表示。设施面积的表示需要分为两类,第一类设施面积表示为AS=C×R×T(C、R、T均为提前设定的常数),这一类设施在此项目中共有7个(分为F1至F7,对应7组C、R、T的值);第二类设施面积AP=K×R(K和R均为提前设定的常数),这一类设施在此项目中共有3个(分为F8至F10,对应3组K、R的值);
要求每条道路路线不得横穿运输路线上所经设施以外的其他设施或固定建筑,故需用A算法确定路线(若有更好 的算法也可替代),又因为道路有最小宽度的要求,R1宽度为5m,R2至R7宽度为3m,可以通过为A算法划分不同大小的网格(3×3或5×5)来实现宽度的考虑(有别的更好地想法也可提出)
车辆具备的属性为车辆尺寸、车辆高度、单位运输费用,车辆用字母C表示,此项目中车辆种类分为两类,小型运输车C1,长宽高为2×1×2(需要的道路宽度为3m)和大型运输车C2,长宽高为9.6×2.4×4(需要的道路宽度为5m),车辆的行为是从设施i将相应的材料运输至设施j,在案例工程中,7条道路运输材料所对应的车辆使用情况为:R1→C2、R2至R7→C1
综上所述:整个步骤如下:
步骤一:为10个设施在场地中随机分配初始位置和变化速度
步骤二:通过α值的变化,调整各个设施的长度和宽度,验证各设施不会重叠、不会与已有的建筑物重叠、且不会布置于场地范围之外,否则重新分配各设施位置
步骤三:确定道路的走向和宽度,从而确定各个运输路线的长度d
系属性,计算各个设施位置的适应值,根据函数适应值调整设施位置和速度的变化
步骤四:进入下一步迭代,重复步骤二至六,直至满足适应值最小值或最大迭代次数为止
步骤五:输出迭代过程曲线图、最终10个设施的形心位置、长和宽、道路中心线的方程、以及最终场地布置的三维图(包括场地范围、道路、固定建筑以及设施,固定建筑与设施用不同颜色表示)