一种用于带约束条件的工程优化问题的遗传算法

文档序号:8259687阅读:352来源:国知局
一种用于带约束条件的工程优化问题的遗传算法
【技术领域】
[0001] 本发明涉及遗传算法技术领域,尤其涉及一种用于带约束条件的工程优化问题的 遗传算法。
【背景技术】
[0002] 约束优化问题中有一类子问题是工程优化问题,它是研宄工程结构在满足约束条 件下按预定目标(如重量最轻、造价最小等)求出的最优设计。于20世纪60年代首先在 航空工程中开展研宄和应用,后来推广到机械、造船、土建等工程。
[0003] 工程优化问题的一个重要特点是约束条件多而且复杂,条件中涉及参数之间的约 束关系,使得算法在搜索过程中,要考虑参数的在空间搜索精度和广度。我们的混合遗传算 法既考虑到收敛的精度,也考虑到收敛的稳定性,确保有比较高的鲁棒性。根据这两方面的 考虑,确定实际的算法参数。
[0004] 以启发式搜索算法的代表遗传算法,为求解优化问题提供了一个模式,它不依赖 具体问题,具有极强的鲁棒性。算法的基本单位为基因染色体,由众多染色体组成了种群。 种群个体实际上是基因染色体编码组成,在整个可行域中不断进行进化搜索。种群中每个 个体都被人为给予一个代表其搜索能力的值,称为适应度值(Fitness),表示种群个体适应 环境的能力,适应度越高,适应能力越强。
[0005] SGA = (C, E, P〇, N, 〇, r, ^,T)
[0006] 式中
[0007] C一一种群个体编码方式。用二进制来表示染色体基因,L代表编码长度,即染色 体长度。
[0008] E一一个体适应度评价函数。用f(X)表示
[0009] P0--初始群体
[0010] N--种群规模,SGA种群大小用N来表示
[0011] O一一选择算子,SGA使用比例算子
[0012] r一一交叉算子,SGA使用单点交叉,概率为P。
[0013] ^一一变异算子,SGA使用位均匀变异,概率为Pm
[0014] 种群中的每个个体通过选择、交叉、变异算子,反复进行演化,每次的迭代末尾都 按照适者生存法则将适应能力强的个体更大几率地延续到下一代。最后一代种群中的最好 的个体要经过解码输出,最为本次算法的一个最优解,但不代表一定是这个问题的最优解。
[0015] 本文基于遗传算法,提出了一种新的混合遗传算法,针对具体的优化问题,设计具 体变量、目标函数、约束条件,将算法运用到实际工程设计当中,并且得到了很好的效果。

【发明内容】

[0016] 本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种用于带约束条件 的工程优化问题的遗传算法。本发明算法通过改进,使得算法更小几率陷入局部最优,仿真 实验表明,这种算法针对工程设计问题在稳定性、收敛精度上得到了较好的效果。
[0017] 本发明解决其技术问题所采用的技术方案是:一种用于带约束条件的工程优化问 题的遗传算法,包括以下步骤:
[0018] 1)确定工程优化问题的优化目标,根据优化目标建立目标函数;将带有约束的问 题化为如下:
[0019] minL(X) = f (X) + (1+1 f (X) |)a (2 | max (0, gj (X)) | + 2 jh^X) |)
[0020] s. t. XL^ X ^ Xu
[0021] 其中a是表示惩罚因子,2 |maX(0,gj⑴|、2 IhJX) |为惩罚值;f⑴为适应度 值;
[0022] 2)设置参数和变量的范围,所述参数包括种群大小、交叉率、变异概率;随机产生 N个个体,确定算法的初始参数;根据实际问题的约束条件确定n个变量的取值范围;
[0023]3)对N个个体进行评估,计算出适应度值f (X)以及惩罚值2 |max(0, gj(X)) |、 2 IMX) I ;
[0024] 4)对所有个体排序,先采用精英策略选择子代,剩余子代由轮盘赌生成;
[0025] 5)遍历每个个体,确定每个个体的交叉位数,进行交叉操作;
[0026] 6)遍历每个个体,对符合变异条件的个体进行变异操作;
[0027] 7)检查算法是否结束,如结束则输出结果;如否则返回步骤3)。
[0028] 按上述方案,所述遗传算法参数设置时,采用实数值编码的方法进行遗传编码,每 一个基因直接代表一个变量。
[0029] 按上述方案,所述步骤4)具体为:对所有个体进行排序,选取前[l0g2 Ml个个体作 为精英;对剩余个体的罚函数值进行归一化处理,采用轮盘赌法选择N _ [l0g2 个个体。
[0030] 按上述方案,所述步骤5)采用多点交叉,交叉的段数范围在[n/3,n/2]中随机取 整生成,其中n代表变量的个数。
[0031] 按上述方案,所述步骤6)变异操作采取的策略是:让种群在进化的早期尽可能的 进行大规模搜索,在进化的晚期尽量在当前解集附近搜索。
[0032] 本发明产生的有益效果是:
[0033] 1.本发明结合不同算法的寻优思想对遗传算法进行改进,构成一种混合式遗传算 法以提高遗传算法的运行效率和求解质量。
[0034] 2.遗传算法中的诸多参数会直接关联到最终的搜索效率和结果,通过实验效果修 改相应的参数可以提高收敛效果。
[0035] 3.随迭代次数的递增,演化得到的最优解在整个种群的百分比接近100%,意味 着搜索结果在逐渐收敛,将上一代的优良个体直接保存至下一代,加快收敛速度。
[0036] 4.在整个可行域的范围内不断迭代搜索的过程,根本上是由于在每次迭代过后 增加了当前较好个体的存活概率,通过设计变异操作,刻意改变个体的搜索广度和搜索深 度,以达到搜索整个解空间的效果。
【附图说明】
[0037] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0038] 图1是本发明实施例的方法流程图。
【具体实施方式】
[0039] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明 进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限 定本发明。
[0040] 如图1所示,一种用于带约束条件的工程优化问题的遗传算法,包括以下步骤:
[0041] 1)确定工程优化问题的优化目标,根据优化目标建立目标函数;将带有约束的问 题化为如下:
[0042] minL(X) = f (X)+(1+1 f (X)|)a(2 | max(0,gj (X))| + 2 jh^X) |)
[0043] s. t. XL^ X^Xu
[0044] 其中a是表示惩罚因子,2: |max(〇,gj(X)) |、2: IhJX) |为惩罚值;f(X)为适应度 值;
[0045] 2)设置参数和变量的范围,所述参数包括种群大小、交叉率、变异概率;随机产生 N个个体,确定算法的初始参数;根据实际问题的约束条件确定n个变量的取值范围;
[0046] 3)对N个个体进行评估,计算出适应度值f⑴以及惩罚值2 |max(0,gj⑴)|、 sIMx) I ;
[0047] 4)对所有个体排序,先采用精英策略选择子代,剩余子代由轮盘赌生成;
[0048] 具体为:对所有个体进行排序,选取前[l0g2 AM个个体作为精英;对剩余个体的罚 函数值进行归一化处理,采用轮盘赌法选择n- n0g2州个个体。
[0049] 5)遍历每个个体,确定每个个体的交叉位数,进行交叉操作;交叉操作的设置根 据具体问题而定,如果问题的参数变量较多,通过约束条件看出变量之间的关联较多,建议 采用多点交叉,交叉的段数范围在[n/3,n/2]中随机取整生成,n代表变量的个数。
[0050] 6)遍历每个个体,对符合变异条件的个体进行变异操作;变异操作采取的策略 是:让种群在进化的早期尽可能的进行大规模搜索,在进化的晚期尽量在当前解集附近搜 索。
[0051] 7)检查算法是否结束,如结束则输出结果;如否则返回步骤3)。
[0052] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换, 而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【主权项】
1. 一种用于带约束条件的工程优化问题的遗传算法,其特征在于,包括以下步骤: 1) 确定工程优化问题的优化目标,根据优化目标建立目标函数;将带有约束的问题化 为如下: minL⑴=f(X) + (1+1f⑴ |)a (E|max(0,gj(X)) | +E1(X) |) s.t.XL^X^Xu 其中a是表示惩罚因子,E|max(0,gj(X))|、E|hi(X)|为惩罚值;f⑴为适应度值,L(X)为罚函数; 2) 设置参数和变量的范围,所述参数包括种群大小、交叉率、变异概率;随机产生N个 个体,确定算法的初始参数;根据实际问题的约束条件确定n个变量的取值范围; 3) 对N个个体进行评估,计算出适应度值f(X)以及惩罚值E|max(0,gj(X)) |、E|h"X) | ; 4) 对所有个体排序,先采用精英策略选择子代,剩余子代由轮盘赌生成; 5) 遍历每个个体,确定每个个体的交叉位数,进行交叉操作; 6) 遍历每个个体,对符合变异条件的个体进行变异操作; 7) 检查算法是否结束,如结束则输出结果;如否则返回步骤3)。
2. 根据权利要求1所述的遗传算法,其特征在于,所述遗传算法参数设置时,采用实数 值编码的方法进行遗传编码,每一个基因直接代表一个变量。
3. 根据权利要求1所述的遗传算法,其特征在于,所述步骤4)具体为:对所有个体进 行排序,选取前[l〇g2叫个个体作为精英;对剩余个体的罚函数值进行归一化处理,采用轮 盘赌法选择N-n〇g2叫个个体。
4. 根据权利要求1所述的遗传算法,其特征在于,所述步骤5)采用多点交叉,交叉的段 数范围在[n/3,n/2]中随机取整生成,其中n代表变量的个数。
5. 根据权利要求1所述的遗传算法,其特征在于,所述步骤6)变异操作采取的策略是: 让种群在进化的早期尽可能的进行大规模搜索,在进化的晚期尽量在当前解集附近搜索。
【专利摘要】本发明公开了一种用于带约束条件的工程优化问题的遗传算法,该算法包括:确定工程优化问题的优化目标,根据优化目标建立目标函数;设置参数和变量的范围,所述参数包括种群大小、交叉率、变异概率;随机产生N个个体,确定算法的初始参数;根据实际问题的约束条件确定n个变量的取值范围;对N个个体进行评估,计算出适应度值以及惩罚值;对所有个体排序,先采用精英策略选择子代,剩余子代由轮盘赌生成;遍历每个个体,确定每个个体的交叉位数,进行交叉操作;遍历每个个体,对符合变异条件的个体进行变异操作;检查算法是否结束,如结束则输出结果;否则继续计算。本发明算法通过改进,使得算法更小几率陷入局部最优。
【IPC分类】G06N3-12
【公开号】CN104573820
【申请号】CN201410854641
【发明人】颜雪松
【申请人】中国地质大学(武汉)
【公开日】2015年4月29日
【申请日】2014年12月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1