上QQ阅读APP看书,第一时间看更新
1.4.2 适应度函数设计
在该问题中,变量范围的约束条件如下:
2.6≤x1≤3.6
0.7≤x2≤0.8
x3∈{17,18,19,…,28}
7.3≤x4≤8.3
7.3≤x5≤8.3
2.9≤x6≤3.9
5≤x7≤5.5
可以通过设置蜉蝣个体的边界条件来进行设置,即设置蜉蝣个体的上边界为ub=[3.6, 0.8, 28, 8.3, 8.3, 3.9, 5.5],蜉蝣个体的下边界为lb =[2.6, 0.7, 17, 7.3, 7.3,2.9, 5]。针对约束g1(X)-g11(X),在适应度函数中进行处理。针对不满足约束条件的情况,采用增加惩罚数的方式来对适应度进行求解。当满足约束条件时,不增加惩罚数,反之则增加。使得不满足条件个体的适应度比较大,竞争力减弱。定义不满足约束条件的个数为n,惩罚系数为P,惩罚数的计算如下:
V=nP
适应度的计算如下:
fitness=f(x)+V
定义适应度函数fun如下: