基于MATLAB的桁架结构优化设计

合集下载

MatLab与Fortran混合编程实现结构优化和可靠性分析

MatLab与Fortran混合编程实现结构优化和可靠性分析
ZHAO u l,YIP n Xi—i ig
( auyo osutnE gnen D l nU irt o Tcnl y a a ,L oi 104 hn ) Fcl t fCnt co ni r g, ai n e i eho g ,D l n i n g 162 ,C i r i ei a v syf o i a n a
200 第 第 3 1卷 6月 12年 翅
Ju l f t eore adA cic 珀 oma 0 wa水利与建筑工程学报 e R sIcs n r t 】 r l heu
V 11 o3 o.0N .
J n ., 2 u 20 1
Ma a t b与 F r a L ot n混 合 编 程 实 现 r 结 构 优 化 和 可 靠 性 分 析
sr t uct e ur s.
K e wo d y r s:M a La a u g t b lng a e;Fo ta a g a e;m ii o r m m i g; sr c u a p i ia i n;sr t a ei rr n l n ug x ng pr g a n t u t r lo tm z to tucur lr l-
a ii nay i b l y a l ss t
M ta 化 工 具 箱 针 对 各 种 优 化 问题 给 出 了 aLb优 完整 的解 决方 案 l_ , 内容 涵盖 了包括最 值 问题 、 1 其 l
Fra 有 限元 程序成 功 连 接 ; or tn 然后 在 Ma a t b环 境 下 l
赵 秀 丽 , 平 易
( 大连理工大学 建设工程学部 , 辽宁 大连 162 ) 104
摘 要 : 为有效利用 Ma a t b和现有 F  ̄a 有 限元程 序 , L or n 采用 Ma a 与 Fra 合编程 。通过 Ma a 程 tb L or t tn 昆 tb L 序接 口, Ma a 与 F ̄a 有 限元 程序成功连接实现平 面桁架结 构 的静 力分析 ; 将 tb L or n 然后 在 M ta a ̄ lb环境下 运用优 化工 具箱 和统计工具箱编程实现 了平面桁架 的结 构优 化设 计和可靠指标的计算。 关键词 : a a 语言 ;o r 语 言 ; Mt b L F ̄a n 混合编程 ; 结构优化 ; 构可靠性 分析 结

桁架优化matlab算法

桁架优化matlab算法

桁架优化matlab算法桁架优化Matlab 算法【引言】桁架是一种常见的结构体系,它由连接节点的杆件构成。

桁架通常在工程设计中用于支撑、加固或分散载荷。

优化桁架结构对于减少材料使用、提高结构强度和降低成本非常重要。

Matlab 是一种功能强大的计算软件,它提供了许多优化算法和工具。

本文将介绍如何使用Matlab 进行桁架优化的算法实现。

【第一步- 建立力学模型】桁架的力学模型是优化过程的基础。

在Matlab 中,可以使用矩阵表示力学模型。

首先,我们需要定义桁架的节点和杆件。

节点用坐标表示,杆件用节点之间的连接关系表示。

根据节点和杆件的定义,可以构建节点坐标矩阵和链接关系矩阵。

【第二步- 约束条件和目标函数】在进行桁架优化时,通常会遇到一些约束条件和目标函数。

典型的约束条件可能包括杆件的最大和最小尺寸限制、节点的最大和最小高度限制等。

目标函数可以是桁架的重量、刚度或模态频率等。

根据具体问题,我们需要定义合适的约束条件和目标函数。

【第三步- 优化算法】Matlab 提供了许多优化算法,如遗传算法、粒子群优化算法等。

我们需要选择合适的算法来解决桁架优化问题。

对于离散变量的优化,可以使用遗传算法。

对于连续变量的优化,可以使用粒子群优化算法。

选择合适的算法后,可以将约束条件和目标函数输入优化算法,得到优化结果。

【第四步- 结果分析】优化算法完成后,我们需要对结果进行分析。

可以通过绘制优化后的桁架结构来比较与原始结构的差异。

此外,还可以从目标函数的值来评估优化结果。

如果目标函数的值较小,则说明优化结果较优。

【第五步- 进一步优化】根据结果的分析,我们可以进一步优化桁架结构。

可以尝试使用不同的约束条件和目标函数,或者尝试其他优化算法。

通过多次迭代优化,逐步优化桁架结构,以得到更好的结果。

【第六步- 结论】通过以上的一步一步的回答,我们可以得出结论,桁架优化的Matlab 算法是一个有效的方法。

通过建立力学模型、定义约束条件和目标函数、选择合适的优化算法,我们可以获得优化后的桁架结构。

桁架杆机构的优化设计

桁架杆机构的优化设计

OCCUPATION2013 08108案例CASES桁架杆机构的优化设计文/宋育红摘 要:桁架结构优化设计中普遍存在约束的作用,现有优化设计一般采用满应力法、遗传优化或直接实验法搜索等优化方法,但其时间周期长、优化复杂。

本文主要采用复合形法,建立了桁架结构优化设计的数学模型,利用Fortran优化程序对其进行优化并获得最优解。

关键词:桁架结构 优化设计 复合形法一、优化目标及设计原则1.优化目标在工程力学教学当中,笔者利用复合形法对桁架杆进行优化设计,以求得到其最优解。

桁架杆设计的优化可以选择多种目标,如尺寸最小、质量最轻、强度最高等,一般应根据不同的需要选定。

笔者以桁架杆为例,以其质量最小为优化目标。

2.设计原则在桁架杆设计时我们首先要求两杆同时满足强度条件,其次要满足几何条件约束,进而确定目标函数,并对其优化。

二、复合形法优化设计简述复合形法的基本思路是在n 维空间的可行域中选取K 个设计点(通常取n +1≤K ≤2n )作为初始复合形(多面体)的顶点。

然后比较复合形各顶点目标函数的大小,其中把目标函数值最大的点作为坏点,以坏点之外其余各点的中心为映射中心,寻找坏点的映射点。

一般说来,此映射点的目标函数值总是小于坏点的,也就是说映射点优于坏点。

这时,以映射点替换坏点与原复合形除坏点之外其余各点构成K 个顶点的新的复合形。

如此反复迭代计算,在可行域中不断以目标函数值低的新点代替目标函数值最大的坏点从而构成新复合形,使复合形不断向最优点移动和收缩,直至收缩到复合形的各顶点与其形心非常接近、满足迭代精度要求时为止。

最后输出复合形各顶点中的目标函数值最小的顶点作为近似最优点。

三、建立数学模型1.已知参数如桁架杆的结构,已知l =2m,x B =1m,载荷ρ=100kN桁架材料的密度 ρ=7.5×10-5N/mm 3,许用拉应力[σ+ ]=150MPa,许用压应力[σ- ]=100MPa,y B 的范围为:0.5m≤y B ≤1.5m,求桁架杆在满足强度的条件下,其质量的最小值。

桁架结构优化设计

桁架结构优化设计

桁架结构优化设计一般所谓的优化,是指从完成某一任务所有可能方案中按某种标准寻找最佳方案。

结构优化设计的基本思想是,使所设计的结构或构件不仅满足强度、刚度与稳定性等方面的要求,同时又在追求某种或某些目标方面(质量最轻,承载最高,价格最低,体积最小)达到最佳程度。

对于图1-1的结构,已知L=2m,x b=1m,载荷P=100kN,桁架材料的密度r=7.7x10-5N/mm3,[δt]=150Mpa,[δc]=100Mpa,y b的范围:0.5m≦y b≦1.5m。

图1-1 桁架结构设计变量与目标函数(质量最小)预定参数(设计中已确定,设计者不能任意修改的量):L , x b ,P ,r ,[δt ] ,[δc ]设计变量(可由设计者调整的量)y b ,A 1,A 2 约束条件(对设计变量的约束条件) (1) 强度条件约束(截面、杆件的强度) (2) 几何条件约束(B 点的高度范围) 目标函数:桁架的质量W (最小)解:1. 应力分析0sin sin 02112=--=∑θθN N F x0cos cos 02112=---=∑P N N Fyθθ由此得:)sin(sin 2111θθθ+=p N )sin(sin 2122θθθ+-=p N由正弦定理得:ly l x pN B B 21)(2-+=ly x pN BB 222+=由此得杆1和2横截面上的正应力121)(2lA y l x pB B -+=σ2222lA y x pB B +=σ2.最轻质量设计目标函数(桁架的质量)))((222122B B y x A y l x A W B B ++-+=γ(1-1)约束条件[][]⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧≤+≤-+c B t B lA y x p lA y l x p B B σσ221222)( (1-2)0.5≦y b ≦1.5(m ) (1-3) (于是问题归结为:在满足上述约束条件下,确定设计变量y b ,A 1,A 2,使目标函数W 最小。

平面桁架结构matlab

平面桁架结构matlab

桁架结构计算第四章P56******************************************************************************* function y=plane_truss_element_stiffness(E,A,L,theta) %平面桁架单元刚度x=theta*pi/180;C=cos(x);S=sin(x);y=E*A/L*[C*C C*S -C*C -C*S;C*S S*S -C*S -S*S;-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];%平面桁架刚度矩阵*******************************************************************************function y=plane_truss_assemble(K,k,i,j) %平面桁架组装K(2*i-1,2*i-1)=K(2*i-1,2*i-1)+k(1,1);K(2*i-1,2*i)=K(2*i-1,2*i)+k(1,2);K(2*i-1,2*j-1)=K(2*i-1,2*j-1)+k(1,3);K(2*i-1,2*j)=K(2*i-1,2*j)+k(1,4);K(2*i,2*i-1)=K(2*i,2*i-1)+k(2,1);K(2*i,2*i)=K(2*i,2*i)+k(2,2);K(2*i,2*j-1)=K(2*i,2*j-1)+k(2,3);K(2*i,2*j)=K(2*i,2*j)+k(2,4);K(2*j-1,2*i-1)=K(2*j-1,2*i-1)+k(3,1);K(2*j-1,2*i)=K(2*j-1,2*i)+k(3,2);K(2*j-1,2*j-1)=K(2*j-1,2*j-1)+k(3,3);K(2*j-1,2*j)=K(2*j-1,2*j)+k(3,4);K(2*j,2*i-1)=K(2*j,2*i-1)+k(4,1);K(2*j,2*i)=K(2*j,2*i)+k(4,2);K(2*j,2*j-1)=K(2*j,2*j-1)+k(4,3);K(2*j,2*j)=K(2*j,2*j)+k(4,4);y=K;*******************************************************************************function y=plane_truss_element_force(E,A,L,theta,u)%力的表达式x=theta*pi/180;C=cos(x);S=sin(x);y=E*A/L*[-C -S C S]*u;*******************************************************************************function y=plane_truss_element_stress(E,L,theta,u) %应力表达式x=theta*pi/180;C=cos(x);S=sin(x);y=E/L*[-C -S C S]*u;***************************************************************************************************** *****************************************************************************************************clear;clc;E= ;A= ;L1= ;%杆长度L2= ;L3= ;L4= ;%杆长度L5= ;L6= ;L7= ;L8= ;t1= ;%杆角度t2= ;t3= ;t4= ;%杆角度t5= ;t6= ;t7= ;t8= ;k1=plane_truss_element_stiffness(E,A,L1,t1) % 单位刚度矩阵k2=plane_truss_element_stiffness(E,A,L2,t2)k3=plane_truss_element_stiffness(E,A,L3,t3)k4=plane_truss_element_stiffness(E,A,L4,t4);% 单位刚度矩阵k5=plane_truss_element_stiffness(E,A,L5,t5); % 单位刚度矩阵k6=plane_truss_element_stiffness(E,A,L6,t6)k7=plane_truss_element_stiffness(E,A,L7,t7)k8=plane_truss_element_stiffness(E,A,L8,t8) % 单位刚度矩阵K=zeros( );%组装矩阵大小,节点位移个数Q,节点数乘以2K=plane_truss_assemble(K,k1, , ); %刚度矩阵的组装K=plane_truss_assemble(K,k2, , ); %后边为单元连接关系图中杆的指向顺序K=plane_truss_assemble(K,k3, , );K=plane_truss_assemble(K,k4, , );K=plane_truss_assemble(K,k5, , ); %刚度矩阵的组装K=plane_truss_assemble(K,k6, , ); %后边为单元连接关系图中杆的指向顺序K=plane_truss_assemble(K,k7, , );K=plane_truss_assemble(K,k8, , ) %注意( )中的数字参数B=K([ , , , , , , , ,],:) ; %取特定的行5 6 7 8 9 10 11 12k=B(:,[ , , , , , , , ]) %取特定的列5 6 7 8 9 10 11 12%得到k矩阵f=[ ]';u=k\f***************************************************************************** ***************************************************************************** 求得位移列矩阵为:u = [0 0 0 0 0.2133 0.4083 -0.1600 0.4617 0.4267 1.5008 -0.0533 1.6608]’;以下为求各个杆的应力大小:u1=[u( );u( );u( );u( )];%后边为单元连接关系图中杆的指向顺序sigma1=plane_truss_element_stress(E,L1,t1,u1) %element stress,u1是Q列向量u2=[u( );u( );u( );u( )];sigma2=plane_truss_element_stress(E,L2,t2,u2)u3=[u( );u( );u( );u( )];sigma3=plane_truss_element_stress(E,L3,t3,u3) %element stress,u1是Q列向量u4=[u( );u( );u( );u( )];sigma4=plane_truss_element_stress(E,L4,t4,u4)u5=[u( );u( );u( );u( )];sigma5=plane_truss_element_stress(E,L5,t5,u5) %element stress,u1是Q列向量u6=[u( );u( );u( );u( )];sigma6=plane_truss_element_stress(E,L6,t6,u6)u7=[u( );u( );u( );u( )];sigma7=plane_truss_element_stress(E,L7,t7,u7) %element stress,u1是Q列向量u8=[u( );u( );u( );u( )];sigma8=plane_truss_element_stress(E,L8,t8,u8)*******************************************************************************R=K*u; %求得支反力,从中选取支反力处的值R=[R( );R( );R( );R( )] %填入位置坐标。

桁架结构及有限元分析MATLAB

桁架结构及有限元分析MATLAB

桁架结构及有限元分析MATLAB桁架结构是一种由杆件和节点连接而成的结构系统。

它的主要特点是具有良好的刚性和承载能力,适用于跨度较大的建筑物或桥梁。

桁架结构的设计和分析是工程领域中重要的课题。

有限元分析是一种常用的方法,用于对桁架结构进行力学和结构分析。

MATLAB是一种强大的数学建模和计算工具,可以方便地进行有限元分析。

在进行桁架结构的有限元分析之前,首先需要进行结构的建模。

可以使用MATLAB中的节点和杆件来建立桁架结构的几何模型。

节点代表结构中的连接点,杆件代表连接节点的杆件。

接下来,需要将结构分割为有限元网格。

在MATLAB中,可以使用二维和三维有限元网格生成函数来生成网格。

生成的网格可以根据需要的精度进行调整。

每个有限元包含一个或多个节点和杆件,用于描述局部的力学行为。

在有限元分析中,需要考虑材料的力学性质。

可以通过定义材料的模量、泊松比和密度等参数来描述材料的本构关系。

在MATLAB中,可以使用材料库函数来定义不同材料的力学性质。

进行有限元分析时,需要考虑结构的边界条件和加载条件。

边界条件包括固定边界和位移约束,加载条件可以是力、压力或扭矩等。

在MATLAB中,可以使用边界条件函数来定义结构的边界条件和加载条件。

在有限元分析的过程中,需要对结构进行求解。

可以使用线性或非线性求解算法来计算结构的位移和应力等。

MATLAB中提供了多种求解器和求解方法,可以根据需要选择适合的求解算法。

完成有限元分析后,可以进行结果的后处理。

可以使用MATLAB中的可视化工具来绘制结构的位移和应力云图,以及显示结构的反应力和形变等。

可以通过对结果进行分析和比较,评估结构的可靠性和安全性。

总之,使用MATLAB进行桁架结构的有限元分析可以帮助工程师深入了解结构的力学行为和性能。

它可以为结构的设计和优化提供依据,并帮助工程师制定提高结构性能的策略。

同时,MATLAB提供了丰富的功能和工具,使得桁架结构的分析和设计更加高效和准确。

有限元方法与MATLAB程序设计 第3章 桁架和刚架

有限元方法与MATLAB程序设计 第3章 桁架和刚架

Fe keUe
Ue TUe
结构坐标系下的 单元刚度方程
9
结构坐标系下单元刚度矩阵 ke T TkeT
c cos s sin
y
Fe keUe
y
i (xi , yi )
(xj, yj ) x j
x
结构坐标系
cos sin 0
0 1 0 1 0 e cos sin 0
0
ke
EA sin
Fyi
Fxj Fyj
EA l
0
1
0
0 0 0
0 1 0
0
vi
0 0
u v
j j
单元坐标系下的 1 0 1 0
单元刚度矩阵
ke
EA l
0
1
0 0
0 1
0 0
0
0
0
0
7
§3.1.3 整体坐标系下的单元刚度方程
Fxi Fxi cos Fyi sin Fyi Fxi sin Fyi cos Fxj Fxj cos Fyj sin
是结构坐标系x轴正方 向至单元坐标轴x 的角度
y
x
y Fxi i
Fxi Fyi Fyi
x
结构(整体)坐标系
Fyj Fxj sin Fyj cos
Fxi Fyi
Fxj
Fyj
e
cos
sin
0
0
sin cos
0 0
0 0
cos sin
0
e
Fxi
e0Fyi源自sin cosFxj
Fyj
Fe TFe Ue TUe
cos
T sin
0
0
sin cos

基于MATLAB的空间桁架梁的内力分析计算

基于MATLAB的空间桁架梁的内力分析计算

基于MATLAB的空间桁架梁的内力分析计算韩刚;樊涛;卜培培【摘要】针对空间桁架梁杆件多、载荷工况复杂、计算量大、内力图多等特点,运用节点法总结并归纳出桁架梁的各个杆件的内力计算递推公式,并用MATLAB软件进行了仿真计算。

该方法是根据推导出的计算公式,运用数学变换来建立空间桁架梁数学模型,确定变量之间的函数关系,分步编制弦杆和腹杆的内力计算程序仿真输出数据和图形。

通过仿真得到桁架梁的各杆件在不同的载荷组合工况下的受力情况,找出在最不利工况下的受力杆件,为结构的轻量化研究提供理论基础。

%For the characteristics of the space truss beam such as many bars,complex load cases,large amounts of calculation,internal force diagram,the node method was used to summarize and deduce a recursive formula which was used for calculating each internal force of the truss rod,and its simulation calculation could be conducted with software MATLAB.According to the calculation formula deduced,this method uses mathematical transformation to build a space truss beam mathematical model,to determine the functional relationship between variables,and then to simulate output data and graphics through outputting the internal force calculation program of the chords and web members step-by-step.The stress state of the truss rod under different load combinations conditions can be obtained through the simulation results,and the force-bearing rod under the most unfavorable conditions was found out to provide a theoretical foundation for structural lightweight research.【期刊名称】《太原科技大学学报》【年(卷),期】2012(033)002【总页数】5页(P132-136)【关键词】桁架梁;数学模型;结构分析;受力计算;MATLAB仿真【作者】韩刚;樊涛;卜培培【作者单位】太原科技大学机械工程学院,太原030024;太原科技大学机械工程学院,太原030024;太原科技大学机械工程学院,太原030024【正文语种】中文【中图分类】TH222桁架梁的杆件由型钢和钢板组成,截面一般有槽形、工字形和箱形,常用铆接或焊接成型,主要承受轴向力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MAT LAB 的桁架结构优化设计林 琳 张云波(华侨大学土木系福建泉州 362011) 【摘 要】 介绍了基于BP 神经网络的全局性结构近似分析方法,解决了结构优化设计问题中变量的非线性映射问题。

在此基础上,利用改进的遗传算法,对桁架结构在满足应力约束条件下进行结构最轻优化设计。

利用Matlab 的神经网络工具箱,编程求解了三杆桁架优化问题。

【关键词】 改进遗传算法;BP 神经网络;结构优化设计;满应力准则【中图分类号】 T U20114 【文献标识码】 A 【文章编号】 100126864(2003)01-0034-03TRUSS STRUCTURA L OPTIMIZATON BASE D ON MAT LABLI N Lin ZH ANG Y unbo(Dept.of Civil Engineering ,Huaqiao University ,Quanzhou ,362011) Abstract :Optimal structural design method based on BP neural netw ork and m odified genetic alg orithm were proposed in this paper.The high parallelism and non -linear mapping of BP neural netw ork ,an approach to the global structural approximation analysis was introduced.It can s olve the mapping of design variables in structural optimization problems.C ombining with an im proved genetic alg orithm ,the truss structure is optimized to satis fy the full stress criteria.Under the condition of MAT LAB 5.3,an exam ple of truss structure has been s olved by this method.K ey w ords :G enetic alg orithm ;BP neural netw ork ;Structural optimization design ;Full stress principle 结构优化设计,就是在满足结构的使用和安全要求的基础上,降低工程造价,更好地发挥投资效益。

传统的优化方法有工程法和数学规划法,其难以解决离散变量问题,对多峰问题容易陷入局部最优,且对目标函数要求有较好的连续性或可微性。

而近年来提出的基于生物自然选择与遗传机理的随机搜索遗传算法对所解的优化问题没有太多的数学要求,可以处理任意形式的目标函数和约束,对离散设计变量的优化问题尤为有效。

进化算子的各态历经性使得遗传算法能够非常有效地进行概率意义下的全局搜索,能高效地寻找到全局最优点。

但采用遗传算法时,进化的每一代种群成员必须要进行结构分析,因此所需的结构分析次数较多。

1 桁架结构优化设计问题的表述在满足应力约束条件下的桁架重量最轻优化问题为: min w (A )=Σni =1ρA i L i s.t 1 σi ≤[σi ] (i =1,2……n ) A min ≤A i ≤A maxw (A )为结构总重量,ρ为材料密度,L i 为第i 杆的长度,A i 为第i 杆件面积,σi 为第i 杆的应力,[σi ]为第i 杆的许用应力,A min 、A max 分别为杆件面积的下界与上界;n 为杆件总数。

2 神经网络结构近似分析方法人工神经网络是由大量模拟生物神经元功能的简单处理单元相互连接而成的巨型复杂网络,它是一个具有高度非线性的超大规模连续时间自适应信息处理系统,易处理复杂的非线性建模问题。

文献[1]在K olm og orov 多层神经网络映射存在定理的基础上,针对近似结构分析问题提出的多层神经网络映射存在定理,确定了近似结构分析的神经网络的基本模型。

从理论上证明一个三层神经网络可用来描述任一弹性结构的应力、位移等变量和结构设计变量之间的映射关系,为利用人工神经网络来进行结构近似分析提供理论基础。

211 BP 神经网络及其算法改进BP 神经网络,即误差反向传播神经网络。

其最主要的特性就是具有非线性映射功能。

1989年R obert Hecht -Niel 2s on 证明了对于任何闭区间内的一个连续函数,都可用一个隐含层的BP 网络来逼近。

因而一个三层BP 网络可完成任意的n 维到m 维的映照,它由输入层、隐层和输出层构成。

传统的BP 网络存在着局部极小问题和收敛速度较慢的问题,因此本文采用了动量法和学习率自适应调整的策略,提高了学习速度并增加了算法的可靠性。

动量法考虑了以前时刻的梯度方向,降低了网络对误差曲面局部细节的敏感性,有效地抑制了网络陷于局部极小。

w (k +1)=w (k )+α[(1-η)D (k )+ηD (k -1)]α(k )=2λα(k -1)λ=stg n[D (k )D (k -1)]w (A )为权值向量,D (k )=-5E5w (k )为k 时刻的负梯度,D (k -1)为k -1时刻的负梯度,η为动量因子,α为学习率。

43 低 温 建 筑 技 术 2003年第1期(总第91期)这种方法所加的动量项实质上相当于阻尼项,上一次权值的变化的影响可由动量常数来调节,它减小了学习过程的振荡过程,从而改善了收敛性。

自适应调整学习率的改进算法: w (k +1)=w (k )+α(k )D (k ) α(k )=2λα(k -1) λ=sig n[D (k )D (k -1)]在一个神经网络的设计中,网络要经过几个不同的学习速率的训练,通过观察每一次训练后的误差平方和的下降速率来判断所选定的学习速率是否合适。

学习速率选择的适当与否影响着BP 算法的收敛速度。

采用上述方法,当连续两次迭代其梯度方向相同时,表明下降太慢,这时可使步长加倍;当连续两次迭代其梯度方向相反时,表明下降过头,这时可使步长减半。

网络通过在不同阶段调节学习速度,不断变化学习速率以缩短学习时间。

212 训练样本选择BP 神经网络是通过对样本的学习来掌握蕴含在样本集中的问题的内在规律和相互关系。

因此,学习样本集的优劣将影响网络的学习时间与网络的泛化能力。

一般来说,当学习变量成正态分布时,数据对网络的学习最有效。

本文据文献,将学习变量在其取值范围内按n 等分分割,正交化的数据点作为试验的样本点。

BP 神经网络中的非线性活性函数S igm oid 函数在接近011的时候,曲线比较平缓,变化非常缓慢,影响网络的学习速度。

为减小网络学习时间,将输入的学习变量数据选择在[011,019]之间,则S igm oid 函数在此区间变化梯度比较大,网络收敛时间可大为减少,改善了网络的仿真性能。

模型精度分析图213 模型精度分析如上图所示:三杆超静定桁架,弹性模量为:E =1,密度为:ρ=1,L 1=L 3=2,L 2=1,结构的设计变量杆1和杆2的截面积A 1,A 2的设计区域为[011,019],且A 1=A 3,材料常数为许用拉应力为σ+=200MPa ,许用压应力σ-=150MPa 。

工况1:P 1=20K N ,P 2=0K N ;工况2:P 1=0K N ,P 2=20K N 。

求结构在荷载作用下,各杆的应力值。

针对以上问题本文构造了一个输入层为2个节点,隐层为5个节点,输出层为3个节点的三层BP 神经网络。

借助于Matlab 的神经网络工具箱,设置“tansig 、purelin ”分别为隐层和输出层的变换函数,网络学习采用动量法和学习率自适应调整法策略的“traingdx ”函数进行训练,网络结构如图所示。

利用此网络来解决输入变量A 1,A 2与输出变量三杆应力值σ1,σ2,σ3的数字逼近映射问题。

输出变量三杆应力值σ1,σ2,σ3的精确值由有限单元法求得。

采用上述正交化方法将输入变量A 1,A 2域值按n =3进行分割,产生训练样本集进行训练。

即:A 1=[011 013 016 019 011 013 016 019 011 013 016 019 011 013 016 019]A 2=[011 011 011 011 013 013 013 013 016 016 016 016 019 019 019 019]而后用训练好的BP 网络来识别和预测一组由计算机随机产生的16个样本点。

神经网络的预测值和精确值相对误差很小,效果良好,能达到工程要求。

3 改进的优化算法311 结合BP 神经网络用遗传算法进行结构优化过程中,不论是在可行域或非可行域的可能解都必须做结构分析。

涉及的设计点多,因此结构的应力、位移等的设计量非常大。

采用上述训练好的BP 神经网络建立设计变量与结构应力、位移等量的非线性映射关系,对遗传算法产生的可能解进行个体判别,只让可行域个体参与群体繁殖,缩小了个体搜索空间,群体进行更加有效。

312 稳定优选的遗传算法传统的遗传算法,每代种群的所有个体通过复制、杂交和变异在下一代中得以更新,种群中的所有个体须进行适应值重新计算。

对于种群规模较大的问题,要耗费较多的计算时间。

且据基因模式定理,好的基因模式和种群结构可能被破坏,使算法难以收敛。

采用稳定比例优选法的遗传算法,通过杂、变异等遗传操作产生一些新的个体,将这些新个体按适应值优劣从好到坏进行排序,按照它们在排序中的位置而不是原适应值来制定选择再生:对适应度优的个体进行保护,使适应度高的个体不受影响,直接进入下一代,只替换种群中的一部分适应度差的个体。

这样,能避免好的种群结构和基因模式遭受破坏,使遗传算法稳定地收敛。

同时,每代只计算替换适应度差的个体的适应值,可减少适应值计算的次数。

定义未被替换的个体占1/N 种群规模(M ),则每代可减少的适应度计算次数为M/N (初始代除外)。

313 改进的G A 流程(1) 编码:一般采用有长度的二进制串来表示求解问题的一个可能解,建立起位串与实际设计变量之间的对应关系。

对给定优化问题将目标函数min F (x )作为适应度函数。

(2) 产生初始种群:选择合适的原始群体规模,随机选取个体,采用BP 神经网络近似结构分析方法来识别初始可能解。

引入罚函数法,即对不等式约束的处理采用静态的惩罚函数,在设计点违反约束条件(即非可行域的可能解)时施以严重的惩罚,从而有效地将这一设计点排除在考虑范围之外。

相关文档
最新文档