CN114936518A - 一种拉伸/压缩弹簧设计参数求解方法 - Google Patents
一种拉伸/压缩弹簧设计参数求解方法 Download PDFInfo
- Publication number
- CN114936518A CN114936518A CN202210491595.XA CN202210491595A CN114936518A CN 114936518 A CN114936518 A CN 114936518A CN 202210491595 A CN202210491595 A CN 202210491595A CN 114936518 A CN114936518 A CN 114936518A
- Authority
- CN
- China
- Prior art keywords
- current
- value
- compression spring
- tension
- individual
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种拉伸/压缩弹簧设计参数求解方法,先确定待求解的拉伸/压缩弹簧设计参数,然后基于拉伸/压缩弹簧的设计目的,构建求解拉伸/压缩弹簧设计参数的目标函数,其中拉伸/压缩弹簧的设计目的为最小化其重量;接着确定拉伸/压缩弹簧设计参数约束条件;最后利用交流型樽海鞘算法对拉伸/压缩弹簧设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出,其中交流型樽海鞘算法通过在现有的樽海鞘算法的迭代过程中增加个体之间的交流操作得到;优点是设计参数求解精度高。
Description
技术领域
本发明涉及一种设计参数求解方法,尤其是涉及一种拉伸/压缩弹簧设计参数求解方法。
背景技术
结构优化是与优化和结构工程都相关的一个重要领域。拉伸/压缩弹簧设计作为一种结构优化,涉及许多不同的设计变量和高度非线性的约束条件,根据其设计目标找到最佳可能的设计参数是非常重要的。拉伸/压缩弹簧的设计参数的选择会影响其所应用相关系统的性能或目标。
目前,求解拉伸/压缩弹簧设计参数的方法主要有解析法、数值计算法和优化算法估计法。解析法便于快速求解,但是其通过近似处理求解,这会大幅度降低解的精度。数值计算法主要通过随机选择初值,并观察其收敛性,解的精度不仅依赖于初值的选择而且随着设计参数的增加而降低。优化算法估计法是一种新的求解拉伸/压缩弹簧设计参数的方法,主要是一种带有参数调整的迭代方法,具有操作简单、限制条件少、鲁棒性强和适用于各种复杂问题的求解等优点。然而,大多数优化算法估计法也具有收敛速度慢,易陷入局部最优等不足。樽海鞘算法是求解数值优化问题的一种新型的进化优化算法。现有的樽海鞘算法在确定了优化的目标函数和参数范围后,在一定的迭代次数内通过基于随机的试错法找寻优化目标的全局最优解,进而得到参数优化解。但是,现有的樽海鞘算法在面对拉伸/压缩弹簧设计参数求解问题时,依旧存在设计参数求解精度低的现象。
发明内容
本发明所要解决的技术问题是提供一种设计参数求解精度高的拉伸/压缩弹簧设计参数求解方法。
本发明解决上述技术问题所采用的技术方案为:一种拉伸/压缩弹簧设计求解参数方法,包括以下步骤:
步骤S1、确定待求解的拉伸/压缩弹簧设计参数;
步骤S2、基于拉伸/压缩弹簧的设计目的,构建求解拉伸/压缩弹簧设计参数的目标函数,其中拉伸/压缩弹簧的设计目的为最小化其重量;
步骤S3、确定拉伸/压缩弹簧设计参数约束条件;
步骤S4、利用交流型樽海鞘算法对拉伸/压缩弹簧设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出,其中交流型樽海鞘算法通过在现有的樽海鞘算法的迭代过程中增加个体之间的交流操作得到。
所述的步骤S1中待求解的拉伸/压缩弹簧设计参数分别为:线径d(the wirediameter),线圈平均直径D(the mean coil diameter)和有效线圈的数量N(the numberof active coils)。
所述的步骤S2中构建的目标函数采用式(1)表示为:
f(d,D,N)=d2D(N+2) (1)
式(1)中,d的取值范围为0.05≤d≤2,D的取值范围为0.25≤D≤1.3,N的取值范围为2≤N≤15。
所述的步骤S3中确定的拉伸/压缩弹簧设计参数约束条件采用式(2)至式(5)表示为:
其中,C1表示拉伸/压缩弹簧的最小挠度约束,C2表示拉伸/压缩弹簧的剪切约束,C3表示拉伸/压缩弹簧的冲击频率约束,C4表示拉伸/压缩弹簧的外径约束。
所述的步骤S4中利用交流型樽海鞘算法对拉伸/压缩弹簧的设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出的具体过程为:
步骤S4.1:初始化交流型樽海鞘算法的参数:设定种群大小popsize=50,设定种群的维度dim=3,设定迭代次数变量t,设定最大迭代次数max_t=2000,设定变量p,设定变量count,设定下边界lb=[lb1,lb2,lb3]=[0.05,0.25,2],lb1为d的下限(最小取值),lb2为D的下限(最小取值),lb3为N的下限(最小取值),设定上边界ub=[ub1,ub2,ub3]=[2,1.3,15],ub1为d的上限(最大取值),ub2为D的上限(最大取值),ub3为N的上限(最大取值);对t、p和count分别进行初始化,令p=0、count=0、t=0;
步骤S4.2:通过公式(6)初始化种群,得到第0代种群,将第0代种群记为X0,X0是popsize行dim列的矩阵,X0的第1列数据表示为d的参数,第2列数据表示为D的参数,第3列数据表示为N的参数,每一行数据作为拉伸/压缩弹簧设计参数的一个解,又称作一个个体,第i行数据为第i个个体;将第0代种群X0中的每个个体的三列数据对应代入公式(1)求解得到对应个体的目标函数值,并将得到的种群X0中每个个体的目标函数值均存入XFitness,将XFitness中第i个目标函数值记为XFitnessi,XFitnessi对应为第0代种群X0的第i个个体的目标函数值,i=1,2,…,popsize;确定XFitness中的最小目标函数值,将其记为bestFitness,并将最小目标函数值对应的个体作为最小个体,记为bestSolution,将X0复制到SaveX,XFitness复制到SaveXFitness:
步骤4.3:先采用t的当前值加1的和更新t的值,然后对种群进行第t次迭代,得到第t代种群Xt,具体迭代过程为:
步骤S4.3.1:将t的当前值带入公式(7)得到c1,设定遍历变量current,对current进行初始化,令current=1;
步骤S4.3.2:对第t-1代种群Xt-1中第current个个体进行遍历,此时先从1到popsize中随机选取两个不同的整数,且这两个整数均不等于current,将这两个整数随机记为a和b,然后先判断current是否小于等于popsize/2,若满足小于等于popsize/2,则随机生成一个0到1之间的随机数,再判断该随机数是否小于p的当前值,若满足小于p的当前值,则采用公式(8)得到第t代种群Xt中第current个个体,否则采用公式(9)得到第t代种群Xt中第current个个体的值;若不满足current小于等于popsize/2的条件,则采用公式(10)得到第t代种群Xt中第current个个体;
其中,c2和c3分别是0到1之间的随机数,每次采用公式(8)计算之前,都先采用随机函数生成c2和c3,表示第t代种群Xt中第current个个体的第j列的数值,表示第t-1代种群Xt-1中第current个个体的第j列的数值,bestSolutionj表示当前最小个体bestSolution的第j列的数值;表示第t-1代种群Xt-1中第a个个体的第j列的数值,表示第t-1代种群Xt-1中第b个个体的第j列的数值,表示第t-1代种群Xt-1中第current-1个个体的第j列的数值;
步骤S4.3.3:生成一个0到1之间的随机数,判断它是否小于等于1-t/max_t,若满足,采用更新SaveXcurrent,j,若不满足,则保持SaveXcurrent,j不变,其中,SaveXcurrent,j表示为SaveX中第current个个体的第j列的数值;
步骤S4.3.4:判断步骤S4.3.1中得到的第t代种群Xt的第current个个体中每一列的数值是否在其对应的上限和下限范围内,若未超出范围,则保持不变,若超出范围,则判断该列的数值与其上限之差的绝对值和该列的数值与其下限之差的绝对值的大小,如果该列的数值与其上限之差的绝对值大于该列的数值与其下限之差的绝对值,则将该列的数值修改为等于其下限,反之,修改为等于其上限;
步骤S4.3.5:将步骤S4.3.4得到的第t代种群Xt的第current个个体的三列数据对应带入公式(2)、公式(3)、公式(4)和公式(5)四条约束条件中,如果四条约束条件都满足,则将第t代种群Xt的第current个个体的三列数据对应带入公式(1)计算其目标函数值,并采用计算得到的目标函数值更新XFitnesscurrent,如果四条约束条件不能都满足,则采用bestFitness的当前值更新XFitnesscurrent;
步骤S4.3.6:对XFitnesscurrent进行如下判断,并基于判断结果进行对应处理:
若XFitnesscurrent的当前值小于SaveXFitnesscurrent的当前值,则采用XFitnesscurrent的当前值更新SaveXFitnesscurrent,并采用的当前值更新SaveXcuurrent,否则,采用SaveXcuurrent的当前值更新
若XFitnesscurrent的当前值小于bestFitness的当前值,则采用的当前值更新bestSolution,采用XFitnesscurrent的当前值更新bestFitness,并采用count的当前值除以2的商更新count,否则采用count的当前值加1的和更新count;
步骤S4.3.7:判断current的当前值是否小于popsize,如果小于,则采用current的当前值加1的和更新current,并返回步骤S4.3.2遍历下一个个体,否则,进行步骤S4.4;
步骤S4.4:若count的当前值大于等于10*popsize,则令p为0.8,否则令其为0;判断t的当前值是否等于max_t,如果不等于,则返回步骤S4.3进行下一次迭代,若等于,则此时bestFitness的当前值为全局最优解,该全局最优解即为求解的拉伸/压缩弹簧设计参数。
与现有技术相比,本发明的优点在于通过对现有的樽海鞘算法进行改进,在其迭代过程中增加个体之间的交流操作得到交流型樽海鞘算法,利用交流型樽海鞘算法对拉伸/压缩弹簧设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出,因为拉伸/压缩弹簧设计中涉及到三个参数(线圈平均直径D,线径d和有效线圈的数量N),每个参数都有自己的范围,所以,涉及这三个参数的实数解空间是非常大的。增加了这种交流操作能通过现有的解组合出有希望的解,以此来渐渐找到拉伸/压缩弹簧设计的理想参数解,相对于现有的樽海鞘算法完全依靠随机的试错法,交流型樽海鞘算法采用的交流操作能更有希望的找到更好的解,从而最终设计参数求解精度高。
附图说明
图1为本发明的拉伸/压缩弹簧设计求解参数方法中涉及的三个参数在拉伸/压缩弹簧中的标注示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例:一种拉伸/压缩弹簧设计求解参数方法,包括以下步骤:
步骤S1、确定待求解的拉伸/压缩弹簧设计参数;
步骤S2、基于拉伸/压缩弹簧的设计目的,构建求解拉伸/压缩弹簧设计参数的目标函数,其中拉伸/压缩弹簧的设计目的为最小化其重量;
步骤S3、确定拉伸/压缩弹簧设计参数约束条件;
步骤S4、利用交流型樽海鞘算法对拉伸/压缩弹簧设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出,其中交流型樽海鞘算法通过在现有的樽海鞘算法的迭代过程中增加个体之间的交流操作得到。
本实施例中,如图1所示,步骤S1中待求解的拉伸/压缩弹簧设计参数分别为:线径d(the wire diameter),线圈平均直径D(the mean coil diameter)和有效线圈的数量N(the number of active coils)。
本实施例中,步骤S2中构建的目标函数采用式(1)表示为:
f(d,D,N)=d2D(N+2) (1)
式(1)中,d的取值范围为0.05≤d≤2,D的取值范围为0.25≤D≤1.3,N的取值范围为2≤N≤15。
本实施例中,步骤S3中确定的拉伸/压缩弹簧设计参数约束条件采用式(2)至式(5)表示为:
其中,C1表示拉伸/压缩弹簧的最小挠度约束,C2表示拉伸/压缩弹簧的剪切约束,C3表示拉伸/压缩弹簧的冲击频率约束,C4表示拉伸/压缩弹簧的外径约束。
本实施例中,步骤S4中利用交流型樽海鞘算法对拉伸/压缩弹簧的设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出的具体过程为:
步骤S4.1:初始化交流型樽海鞘算法的参数:设定种群大小popsize=50,设定种群的维度dim=3,设定迭代次数变量t,设定最大迭代次数max_t=2000,设定变量p,设定变量count,设定下边界lb=[lb1,lb2,lb3]=[0.05,0.25,2],lb1为d的下限(最小取值),lb2为D的下限(最小取值),lb3为N的下限(最小取值),设定上边界ub=[ub1,ub2,ub3]=[2,1.3,15],ub1为d的上限(最大取值),ub2为D的上限(最大取值),ub3为N的上限(最大取值);对t、p和count分别进行初始化,令p=0、count=0、t=0;
步骤S4.2:通过公式(6)初始化种群,得到第0代种群,将第0代种群记为X0,X0是popsize行dim列的矩阵,X0的第1列数据表示为d的参数,第2列数据表示为D的参数,第3列数据表示为N的参数,每一行数据作为拉伸/压缩弹簧设计参数的一个解,又称作一个个体,第i行数据为第i个个体;将第0代种群X0中的每个个体的三列数据对应代入公式(1)求解得到对应个体的目标函数值,并将得到的种群X0中每个个体的目标函数值均存入XFitness,将XFitness中第i个目标函数值记为XFitnessi,XFitnessi对应为第0代种群X0的第i个个体的目标函数值,i=1,2,…,popsize;确定XFitness中的最小目标函数值,将其记为bestFitness,并将最小目标函数值对应的个体作为最小个体,记为bestSolution,将X0复制到SaveX,XFitness复制到SaveXFitness:
步骤4.3:先采用t的当前值加1的和更新t的值,然后对种群进行第t次迭代,得到第t代种群Xt,具体迭代过程为:
步骤S4.3.1:将t的当前值带入公式(7)得到c1,设定遍历变量current,对current进行初始化,令current=1;
步骤S4.3.2:对第t-1代种群Xt-1中第current个个体进行遍历,此时先从1到popsize中随机选取两个不同的整数,且这两个整数均不等于current,将这两个整数随机记为a和b,然后先判断current是否小于等于popsize/2,若满足小于等于popsize/2,则随机生成一个0到1之间的随机数,再判断该随机数是否小于p的当前值,若满足小于p的当前值,则采用公式(8)得到第t代种群Xt中第current个个体,否则采用公式(9)得到第t代种群Xt中第current个个体的值;若不满足current小于等于popsize/2的条件,则采用公式(10)得到第t代种群Xt中第current个个体;
其中,c2和c3分别是0到1之间的随机数,每次采用公式(8)计算之前,都先采用随机函数生成c2和c3,表示第t代种群Xt中第current个个体的第j列的数值,表示第t-1代种群Xt-1中第current个个体的第j列的数值,bestSolutionj表示当前最小个体bestSolution的第j列的数值;表示第t-1代种群Xt-1中第a个个体的第j列的数值,表示第t-1代种群Xt-1中第b个个体的第j列的数值,表示第t-1代种群Xt-1中第current-1个个体的第j列的数值;
步骤S4.3.3:生成一个0到1之间的随机数,判断它是否小于等于1-t/max_t,若满足,采用更新SaveXcurrent,j,若不满足,则保持SaveXcurrent,j不变,其中,SaveXcurrent,j表示为SaveX中第current个个体的第j列的数值;
步骤S4.3.4:判断步骤S4.3.1中得到的第t代种群Xt的第current个个体中每一列的数值是否在其对应的上限和下限范围内,若未超出范围,则保持不变,若超出范围,则判断该列的数值与其上限之差的绝对值和该列的数值与其下限之差的绝对值的大小,如果该列的数值与其上限之差的绝对值大于该列的数值与其下限之差的绝对值,则将该列的数值修改为等于其下限,反之,修改为等于其上限;
步骤S4.3.5:将步骤S4.3.4得到的第t代种群Xt的第current个个体的三列数据对应带入公式(2)、公式(3)、公式(4)和公式(5)四条约束条件中,如果四条约束条件都满足,则将第t代种群Xt的第current个个体的三列数据对应带入公式(1)计算其目标函数值,并采用计算得到的目标函数值更新XFitnesscurrent,如果四条约束条件不能都满足,则采用bestFitness的当前值更新XFitnesscurrent;
步骤S4.3.6:对XFitnesscurrent进行如下判断,并基于判断结果进行对应处理:
若XFitnesscurrent的当前值小于SaveXFitnesscurrent的当前值,则采用XFitnesscurrent的当前值更新SaveXFitnesscurrent,并采用的当前值更新SaveXcurrent,否则,采用SaveXcurrent的当前值更新
若XFitnesscurrent的当前值小于bestFitness的当前值,则采用的当前值更新bestSolution,采用XFitnesscurrent的当前值更新bestFitness,并采用count的当前值除以2的商更新count,否则采用count的当前值加1的和更新count;
步骤S4.3.7:判断current的当前值是否小于popsize,如果小于,则采用current的当前值加1的和更新current,并返回步骤S4.3.2遍历下一个个体,否则,进行步骤S4.4;
步骤S4.4:若count的当前值大于等于10*popsize,则令p为0.8,否则令其为0;判断t的当前值是否等于max_t,如果不等于,则返回步骤S4.3进行下一次迭代,若等于,则此时bestFitness的当前值为全局最优解,该全局最优解即为求解的拉伸/压缩弹簧设计参数。
采用Window10的操作系统、8GB的RAM、Intel(R)Core(TM)i7-9700的CPU和MATLABR2018b的软件实现本发明的拉伸/压缩弹簧设计求解参数方法。然后分别采用本发明的拉伸/压缩弹簧设计求解参数和现有的樽海鞘算法对拉伸/压缩弹簧设计参数进行求解,具体求解数据如表1所示:
表1。
方法 | d | D | N | 目标函数值 |
本发明 | 0.051766599 | 0.358585825 | 11.18028561 | 0.01266535 |
现有的樽海鞘算法 | 0.051207 | 0.345215 | 12.004032 | 0.0126763 |
表1中的第一行为拉伸/压缩弹簧设计中涉及到的三个参数(线圈平均直径D,线径d和有效线圈的数量N)和拉伸/压缩弹簧的重量,第二行为采用本发明方法得到的解及目标函数值。第三行是采用现有的樽海鞘算法得到的解及目标函数值。分析表1数据可知,两种方法都能满足d的取值范围,D的取值范围,N的取值范围和拉伸/压缩弹簧中涉及的四条约束。但是采用本发明得到的目标函数值0.01266535小于采用现有的樽海鞘算法求解得到的目标函数值0.0126763。由此可知,本发明对拉伸/压缩弹簧涉及参数求解精度比现有的樽海鞘算法高。
Claims (5)
1.一种拉伸/压缩弹簧设计求解参数方法,其特征在于包括以下步骤:
步骤S1、确定待求解的拉伸/压缩弹簧设计参数;
步骤S2、基于拉伸/压缩弹簧的设计目的,构建求解拉伸/压缩弹簧设计参数的目标函数,其中拉伸/压缩弹簧的设计目的为最小化其重量;
步骤S3、确定拉伸/压缩弹簧设计参数约束条件;
步骤S4、利用交流型樽海鞘算法对拉伸/压缩弹簧设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出,其中交流型樽海鞘算法通过在现有的樽海鞘算法的迭代过程中增加个体之间的交流操作得到。
2.根据权利要求1所述的一种拉伸/压缩弹簧设计求解参数方法,其特征在于所述的步骤S1中待求解的拉伸/压缩弹簧设计参数分别为:线径d(the wire diameter),线圈平均直径D(the mean coil diameter)和有效线圈的数量N(the number of active coils)。
3.根据权利要求2所述的一种拉伸/压缩弹簧设计求解参数方法,其特征在于所述的步骤S2中构建的目标函数采用式(1)表示为:
f(d,D,N)=d2D(N+2) (1)
式(1)中,d的取值范围为0.05≤d≤2,D的取值范围为0.25≤D≤1.3,N的取值范围为2≤N≤15。
5.根据权利要求4所述的一种拉伸/压缩弹簧设计求解参数方法,其特征在于所述的步骤S4中利用交流型樽海鞘算法对拉伸/压缩弹簧的设计参数进行迭代优化,得到全局最优解作为求解的拉伸/压缩弹簧设计参数输出的具体过程为:
步骤S4.1:初始化交流型樽海鞘算法的参数:设定种群大小popsize=50,设定种群的维度dim=3,设定迭代次数变量t,设定最大迭代次数max_t=2000,设定变量p,设定变量count,设定下边界lb=[lb1,lb2,lb3]=[0.05,0.25,2],lb1为d的下限(最小取值),lb2为D的下限(最小取值),lb3为N的下限(最小取值),设定上边界ub=[ub1,ub2,ub3]=[2,1.3,15],ub1为d的上限(最大取值),ub2为D的上限(最大取值),ub3为N的上限(最大取值);对t、p和count分别进行初始化,令p=0、count=0、t=0;
步骤S4.2:通过公式(6)初始化种群,得到第0代种群,将第0代种群记为X0,X0是popsize行dim列的矩阵,X0的第1列数据表示为d的参数,第2列数据表示为D的参数,第3列数据表示为N的参数,每一行数据作为拉伸/压缩弹簧设计参数的一个解,又称作一个个体,第i行数据为第i个个体;将第0代种群X0中的每个个体的三列数据对应代入公式(1)求解得到对应个体的目标函数值,并将得到的种群X0中每个个体的目标函数值均存入XFitness,将XFitness中第i个目标函数值记为XFitnessi,XFitnessi对应为第0代种群X0的第i个个体的目标函数值,i=1,2,…,popsize;确定XFitness中的最小目标函数值,将其记为bestFitness,并将最小目标函数值对应的个体作为最小个体,记为bestSolution,将X0复制到SaveX,XFitness复制到SaveXFitness:
步骤4.3:先采用t的当前值加1的和更新t的值,然后对种群进行第t次迭代,得到第t代种群Xt,具体迭代过程为:
步骤S4.3.1:将t的当前值带入公式(7)得到c1,设定遍历变量current,对current进行初始化,令current=1;
步骤S4.3.2:对第t-1代种群Xt-1中第current个个体进行遍历,此时先从1到popsize中随机选取两个不同的整数,且这两个整数均不等于current,将这两个整数随机记为a和b,然后先判断current是否小于等于popsize/2,若满足小于等于popsize/2,则随机生成一个0到1之间的随机数,再判断该随机数是否小于p的当前值,若满足小于p的当前值,则采用公式(8)得到第t代种群Xt中第current个个体,否则采用公式(9)得到第t代种群Xt中第current个个体的值;若不满足current小于等于popsize/2的条件,则采用公式(10)得到第t代种群Xt中第current个个体;
其中,c2和c3分别是0到1之间的随机数,每次采用公式(8)计算之前,都先采用随机函数生成c2和c3,表示第t代种群Xt中第current个个体的第j列的数值,表示第t-1代种群Xt-1中第current个个体的第j列的数值,bestSolutionj表示当前最小个体bestSolution的第j列的数值;表示第t-1代种群Xt-1中第a个个体的第j列的数值,表示第t-1代种群Xt-1中第b个个体的第j列的数值,表示第t-1代种群Xt-1中第current-1个个体的第j列的数值;
步骤S4.3.3:生成一个0到1之间的随机数,判断它是否小于等于1-t/max_t,若满足,采用更新SaveXcurrent,j,若不满足,则保持SaveXcurrent,j不变,其中,SaveXcurrent,j表示为SaveX中第current个个体的第j列的数值;
步骤S4.3.4:判断步骤S4.3.1中得到的第t代种群Xt的第current个个体中每一列的数值是否在其对应的上限和下限范围内,若未超出范围,则保持不变,若超出范围,则判断该列的数值与其上限之差的绝对值和该列的数值与其下限之差的绝对值的大小,如果该列的数值与其上限之差的绝对值大于该列的数值与其下限之差的绝对值,则将该列的数值修改为等于其下限,反之,修改为等于其上限;
步骤S4.3.5:将步骤S4.3.4得到的第t代种群Xt的第current个个体的三列数据对应带入公式(2)、公式(3)、公式(4)和公式(5)四条约束条件中,如果四条约束条件都满足,则将第t代种群Xt的第current个个体的三列数据对应带入公式(1)计算其目标函数值,并采用计算得到的目标函数值更新XFitnesscurrent,如果四条约束条件不能都满足,则采用bestFitness的当前值更新XFitnesscurrent;
步骤S4.3.6:对XFitnesscurrent进行如下判断,并基于判断结果进行对应处理:
若XFitnesscurrent的当前值小于SaveXFitnesscurrent的当前值,则采用XFitnesscurrent的当前值更新SaveXFitnesscurrent,并采用的当前值更新SaveXcurrent,否则,采用SaveXcurrent的当前值更新
若XFitnesscurrent的当前值小于bestFitness的当前值,则采用的当前值更新bestSolution,采用XFitnesscurrent的当前值更新bestFitness,并采用count的当前值除以2的商更新count,否则采用count的当前值加1的和更新count;
步骤S4.3.7:判断current的当前值是否小于popsize,如果小于,则采用current的当前值加1的和更新current,并返回步骤S4.3.2遍历下一个个体,否则,进行步骤S4.4;
步骤S4.4:若count的当前值大于等于10*popsize,则令p为0.8,否则令其为0;判断t的当前值是否等于max_t,如果不等于,则返回步骤S4.3进行下一次迭代,若等于,则此时bestFitness的当前值为全局最优解,该全局最优解即为求解的拉伸/压缩弹簧设计参数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210491595.XA CN114936518A (zh) | 2022-04-29 | 2022-04-29 | 一种拉伸/压缩弹簧设计参数求解方法 |
PCT/CN2022/139474 WO2023207139A1 (zh) | 2022-04-29 | 2022-12-16 | 利用交流型樽海鞘算法求解拉伸/压缩弹簧参数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210491595.XA CN114936518A (zh) | 2022-04-29 | 2022-04-29 | 一种拉伸/压缩弹簧设计参数求解方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114936518A true CN114936518A (zh) | 2022-08-23 |
Family
ID=82865218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210491595.XA Pending CN114936518A (zh) | 2022-04-29 | 2022-04-29 | 一种拉伸/压缩弹簧设计参数求解方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114936518A (zh) |
WO (1) | WO2023207139A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207139A1 (zh) * | 2022-04-29 | 2023-11-02 | 温州大学 | 利用交流型樽海鞘算法求解拉伸/压缩弹簧参数的方法 |
CN117530504A (zh) * | 2023-12-05 | 2024-02-09 | 东莞市佳铠精密金属制品有限公司 | 一种电子烟外壳的制作方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117454669B (zh) * | 2023-12-20 | 2024-03-22 | 深圳中缆电缆集团有限公司 | 一种光伏电缆加工用参数优化方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255146B (zh) * | 2021-06-03 | 2022-05-27 | 郑州轻工业大学 | 基于改进樽海鞘优化算法的拉伸/压缩弹簧设计方法 |
CN113361034B (zh) * | 2021-06-09 | 2022-11-01 | 郑州轻工业大学 | 基于觅食策略的改进樽海鞘算法的拉压弹簧设计方法 |
CN114936518A (zh) * | 2022-04-29 | 2022-08-23 | 温州大学 | 一种拉伸/压缩弹簧设计参数求解方法 |
-
2022
- 2022-04-29 CN CN202210491595.XA patent/CN114936518A/zh active Pending
- 2022-12-16 WO PCT/CN2022/139474 patent/WO2023207139A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023207139A1 (zh) * | 2022-04-29 | 2023-11-02 | 温州大学 | 利用交流型樽海鞘算法求解拉伸/压缩弹簧参数的方法 |
CN117530504A (zh) * | 2023-12-05 | 2024-02-09 | 东莞市佳铠精密金属制品有限公司 | 一种电子烟外壳的制作方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023207139A1 (zh) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114936518A (zh) | 一种拉伸/压缩弹簧设计参数求解方法 | |
CN115100864B (zh) | 一种基于改进麻雀搜索算法的交通信号控制优化方法 | |
CN113850385B (zh) | 一种粗细粒度联合的神经网络剪枝方法 | |
CN106649877A (zh) | 一种基于密度峰值的大数据挖掘方法及装置 | |
Sasaki et al. | Topology optimization of IPM motor with aid of deep learning | |
CN110991621A (zh) | 一种基于通道数搜索卷积神经网络的方法 | |
CN109074348A (zh) | 用于对输入数据集进行迭代聚类的设备和迭代方法 | |
CN113191486A (zh) | 基于参数服务器架构的图数据与参数数据的混合划分方法 | |
CN114186518A (zh) | 一种集成电路良率估算方法及存储器 | |
CN113627491A (zh) | 基于改进的自适应Anchor生成的DK-YOLOv4模型 | |
CN111813669B (zh) | 基于多目标群体智能的适应性随机测试用例生成方法 | |
CN113377991A (zh) | 一种基于最难正负样本的图像检索方法 | |
CN107766887A (zh) | 一种局部加权的不完整数据混杂聚类方法 | |
CN108549936A (zh) | 基于深度学习的自组织神经网络拓扑保持的增强方法 | |
CN114974400B (zh) | 一种全局生物网络比对方法 | |
CN113554104B (zh) | 一种基于深度学习模型的图像分类方法 | |
CN113722853B (zh) | 一种面向智能计算的群智能进化式工程设计约束优化方法 | |
CN113780334B (zh) | 基于两阶段混合特征选择的高维数据分类方法 | |
CN112819161B (zh) | 变长基因遗传算法的神经网络构建系统、方法及存储介质 | |
CN111783977B (zh) | 一种基于分区域梯度更新的神经网络训练过程中间值存储压缩方法和装置 | |
CN110866608B (zh) | 一种自适应学习率计算方法 | |
CN113141272A (zh) | 基于迭代优化rbf神经网络的网络安全态势分析方法 | |
CN111783976A (zh) | 一种基于窗口梯度更新的神经网络训练过程中间值存储压缩方法和装置 | |
CN110211641A (zh) | 一种基因表达数据的聚类分析方法及终端设备 | |
JP7488391B2 (ja) | 情報選択システム、情報選択方法及び情報選択プログラム |
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 |