首页 理论教育 地下结构最优化方法:例题解析及效果展示

地下结构最优化方法:例题解析及效果展示

时间:2023-08-24 理论教育 版权反馈
【摘要】:定目标函数值最小个体的适应度值为2,目标函数值最大个体的适应度值为0。G=50%意味着一半的种群将被置换。相关函数为触及函数xovsp,xovdp,xovmp,xovsp及高级函数recombine。D,调用ANSYS,后台运行;3)ANSYS按照命令流文件进行操作,最后将结果录入文本文件b;4)MATLAB读取上述文本文件b,得到结果。初始种群中包含20个个体。红色曲线为每代平均适应度值,蓝色曲线为每代最优适应度值。因此它更适合于解决大型复杂结构的优化问题。

地下结构最优化方法:例题解析及效果展示

隧道跨度15.96 m,高6.23 m,埋深20 m,围岩稳定性差,属于强风化变余砂岩,结构破碎,划分Ⅴ级围岩比较合适。求最优壁厚。

1)初始种群创建:相关函数crtbp与bs2rv,分别用于随即创建二进制十进制转化。每次创建一条染色体,立即调用ANSYS,进行运算,检验是否满足约束条件。不满足即重新创建,保证初始种群单体满足约束条件。

2)适应度函数:相关函数ranking与scaling,ranking(Obj V)默认压差为2,线性排序。原理是先对目标函数值进行降序排序。定目标函数值最小个体的适应度值为2,目标函数值最大个体的适应度值为0。中间个体选择线性插值法

3)选择函数:相关函数rws,sus;高级函数select。select调用格式为child=select(SET_F,Fitn V,GGAP),其中SEL_F为低级函数的字符串,如‘rws’和‘sus’;GGAP为代沟,用于控制每代中种群被替代的比例,即每代有N*(1-G)个父代个体被选中进入下一代种群。G=50%意味着一半的种群将被置换。

1)交叉函数,即染色体重组

相关函数为触及函数xovsp,xovdp,xovmp,xovsp及高级函数recombine。其中,xovsp为单点交叉,选择某个点,然后一次分为左右部,两个基因的左右部相互交换基因序列;

xovdp为两点交叉,选择两个点,序号为k1,k2,交换k1+1—k2间的各变量;recombine为调用格式。Recombine(REC_F,Chrom,Recopt)中,REC_F为低级函数字符串;Recopt为重组概率。

2)变异函数为mut,mutbga,mutate。mut的功能是对染色体每一元素以一定概率pm进行变异;mutbga针对实值进行变异;mutate是变异的高级函数,可以调用mut或是mutbga函数。

3)约束的实现:限定搜索空间,罚函数法,逐点淘汰法。

限定搜索空间:即给定变量范围,保证该范围内任意变量是满足约束要求的;罚函数法:对目标函数进行形如F'(x)=F(x)±Q(x)的处理,但是对Q(x)如何设置,至今仍是一个难点;逐点淘汰法:即所谓的“test”试用法,此法可保证每代个体均满足约束要求,但效率无疑大大降低。本例采用限定搜索空间与逐点淘汰法结合的方法,根据规范要求、工程经验,设定变量取值范围,但由于t,rb对结构受力、变形的共线不存在线性对应关系,无法保证范围内任一组解均满足变形、强度要求。此时再添加逐点淘汰制,使得小概率条件下得到的不可行解被淘汰,运行效率并未降低多少,但收敛速度得以保证。

MABLAT调用ANSYS

1)MATLAB将相关数据写入文本文件a,供ANSYS提取并调用;

2)通过函数system或!D,调用ANSYS,后台运行;

3)ANSYS按照命令流文件进行操作,最后将结果录入文本文件b;

4)MATLAB读取上述文本文件b,得到结果。

2.代码说明:

1)MATLAB将数据录入文本文件

2)调用ANSYS

输入上述命令,系统会自动调用Ansys,按照文件AnsysCommand.txt中的命令流进行相关操作。

AnsysCommand.txt相关介绍:

(1)在ANSYS的命令流中从matlab的输出文件中读入计算参数,进行计算:!读入命令(www.xing528.com)

(2)ANSYS的命令流中,获取计算结果,并录入文件供MATLAB调用。!记录位移、应力

3)程序发布

实现方法:Vc++6.0编译环境&MATLAB实现优化&ANSYS结构计算截面截取展示:

4)程序计算结果

结算分两次进行,总共耗时20 h。第一次由于结构参数考虑欠缺,计算结果与实际应用情况不太相符。中文只引用了第二次计算的结果。

初始种群中包含20个个体。不难发现,个体差异较大,保证了种群的多样性,是的逐次迭代后,子代保持进化的几率较大。

红色曲线为每代平均适应度值,蓝色曲线为每代最优适应度值。由于添加了适当的约束条件,使得收敛效果较为明显。由图中不难发现:最优值发生三次跳跃,代表着检索到3个局部最优解。由于种群规模较大,在进行交叉、变异后,算法很快跳出局部最优解。各极小值及其对应变量解如表4-1和表4-2所示。

表4-1 各组位移极小值解

表4-2 各组衬砌厚度及锚杆半径最优解

遗传算法与ANSYS优化等常规算法不同,它从多个点开始寻优,并采用交叉和变异算子,避免过早收敛到局部解,而且它对函数没有专门限制,不必求导计算,节省了计算量,提高了运算效率,这是遗传算法最大的有点。因此它更适合于解决大型复杂结构的优化问题。

5)核心代码

(1)MATLAB调用ANSYS的关键代码,通过它可以计算适应度。

(2)MATLAB版遗传算法主程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈