在这里我们只是把遗传算法的思想应用在结构工程上,可以说是似遗传算法,并不是工程优化研究或算法研究中的复杂的遗传算法。在MARK SARKISIAN的《DESIGNING TALL BUILDINGS》(非常推荐大家去看)的书上提到这种遗传算法的应用。
MARK SARKISIAN的《DESIGNING TALL BUILDINGS》应用介绍
那么这一期的Dino结构笔记就通过OPENSEES, ETABS等软件结合编程实现一个遗传算法的计算,以一个桁架结构为例进行介绍吧。
实例:对一定总重量的钢桁架结构进行结构优化,使桁架在重力荷载作用下的跨中变形最小,也即是刚度最大。桁架上弦的节点的作用力为150kN,由于桁架是对称的,采用半跨建模,初始条件,全部截面的尺寸为4000mm2,统计一下,半跨的桁架的总重量约为2.285 ton。
计算简图如下图所示。通过遗传算法确定每一节截面的大小,以保证在用钢量一定的情况下总刚度最大。
桁架的计算简图
(1) 这个实例我打算采用OPENSEES进行分析,那么首先我们建立ETABS模型,加入支座与荷载条件,如下图所示,导出S2K文件以供导入OPENSEES所用。
桁架在ETABS中建模
(2) 导入ETO生成OPENSEES的分析命令流文件,导入ETO以后桁架的构件编号如图所示。在OPENSEES中我们只需要输入点13的竖向位移,做为遗传算法的评分标准,点13的位移越小,评分越高,代表遗传算法中的后代更加优秀。
桁架在OPENSEES中的建模
(3) OpenSEES的命令流如下所示,命令流分为3个部分:
第一部分: 节点、材料与 支座 条件(分析过程中不发生改变)
第二部分: 截面(分析过程中不断改变),采用引入文件 source section_1.tcl
第三部分: 分析与结果提取,结果提取的 名 字改变,即:
recorder Node -file node1.out -time -node 13 -dof 3 disp
不同的个体分析存储的文件名不同, 分别是 node1~node8.out, 记录13号点的竖向位移
model basic -ndm 3 -ndf 6
node 1 0.000E+000 0.000E+000 0.000E+000
……….
node 17 1.000E+004 0.000E+000 0.000E+000
fix 1 1 1 1 1 1 1;
……….
fix 17 0 1 0 1 1 1;
uniaxialMaterial Elastic 1 1.999E+005
source section_1.tcl
recorder Node -file node1.out -node 13 -dof 3 disp
pattern Plain 1 Linear {
load 4 0.000E+000 0.000E+000 -1.500E+005 0.000E+000 0.000E+000 0.000E+000
……….
load 15 0.000E+000 0.000E+000 -1.500E+005 0.000E+000 0.000E+000 0.000E+000
}
constraints Plain
numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200
algorithm Newton
integrator LoadControl 1
analysis Static
analyze 1
(4) 桁架截面在遗传算法的过程中是不断变化的,所以这个文件需要不断的修改,8个子代就有8个不同的文件存储,如其中一个子代的截面文件 section_1.tcl如下所示。
element truss 1 2 3 9267.198 1
………
element truss 31 17 11 1215.233 1
(5) 基本的OPENSEES的文件构造就 搭 好了,只要Run OpenSEES,程序就会计算出不同截面布置情况下的13号节点的竖向位移,我们的目标就是让这个位移变小。
整个简化遗传算法的流程图
(6) 接下来我们就需要通过编程实现遗传算法,并控制OPENSEES不断计算。这里我采用DELPHI进行编程,编了一个简化的遗传算法逻辑。流程图如下图所示。
遗传算法的主要内容如下:
a). 随机生成8个母代桁架结构模型,截面是随机大小分布,总重量恒定
b). 采用OPENSEES作为计算核心计算出8个母代桁架的位移作为评分标准
c). 对母代桁架进行排序,位移最小则最优,得到较大的交配概率为26.7%
d). 根据交配概率抽取2个母代桁架进行杂交,生成新的子代桁架,进行8次
e). 子代桁架需要出现变异,以保证多样性,抽取个别构件截面放大150%与缩小66.7%,以这个操作代表变异性。
f)把子代进行OPENEES计算,即执行b的操作,整个过程循环操作。
最后遗传算法的程序编好,如图所示,迭代次数与13号节点的位移曲线如图所示。
证明,随着遗传算法的不断迭代,桁架的刚度越来越大。13号节点的位移从413降至187mm。
基于OPENSEES的遗传算法控制程序
迭代次数与竖向位移值的关系
(7) 采用ETABS进行分析:原方案与最后优化方案的用钢量是相等
原方案:全部杆件的截面为4000mm2,13号节点竖向变形为350mm
优化方案:每个截面如下图表所示,13号节点竖向变形为185mm。刚度有了明显的提高。而这个算法的优化方向是指定的,虽然有可能不是最优,但是足够应用于工程了。
原方案的ETABS计算结果
优化方案的ETABS计算结果
优化方案的ETABS计算结果(虚功分布图)
总结:大自然总能给工程师与科学家启发,特别是优化算法的研究领域,如蚁群算法,狼群算法,人工神经网络算法等等。自然经过以亿年为单位的时间进行演化,从中有太多的规律可以被发现并为工程师学习与应用。作为工程师通过简单的编程实现遗传算法在工程计算中的应用,那一种喜悦是非常特别的。
0人已收藏
0人已打赏
免费0人已点赞
分享
混凝土结构
返回版块140.19 万条内容 · 2144 人订阅
阅读下一篇
剪力墙与填充墙衔接处裂缝如何防止?剪力墙结构施工中,剪力墙与填充墙衔接部位容易形成裂缝,是施工的重点和难点问题。本工程为提升墙面观感质量,降低剪力墙与填充墙衔接处裂缝的形成率,采取了一系列施工措施,值得大家参考学习。 确保拉结筋位置和质量 拉结筋高度不能超过500mm或两皮砖,实测误差在±5mm。植筋前使用皮数杆进行定位,确保植筋位置的准确,墙体拉结筋安装质量符合标准要求。 控制当日砌筑高度不得超过1.5m 严格落实墙体砌筑高度控制:
回帖成功
经验值 +10
全部回复(0 )
只看楼主 我来说两句抢沙发