由于可行域不连续和函数形式复杂使得许多算法难以有效求解约束优化问题,提出了一种约束尺度和算子自适应变化的差分进化算法.通过统计新个体中可行解和不可行解的数量以自适应调整惩罚系数,使个体能够分布在多个不连续的可行域中,从而找到最优解所在区域.同时,算法还采用了两种不同的差分算子,分别用于局部区域的快速寻优和整个可行域的全局探索.在两种算子的选择上,则根据新个体的存活情况和约束违反情况来自适应调整其选择的概率.最后通过3组标准约束优化问题在10维和30维变量下的测试结果显示:所提算法的性能整体优于对比算法,其平均最优解在10维时至少提升了4.75%.
As the discontinuity of the feasible domain and the complexity form of function make many algorithms difficult to solve the constrained optimization problem effectively, a differential evolution algorithm with self-adaptation both in strategies and constrained scale is proposed. The algorithm adaptively adjusts the penalty coefficient by counting the numbers of feasible and infeasible solutions in offspring so that individuals can distribute in several sub-regions, including the one with the global optimal. Meanwhile, two operators are adopted to enhance the quick searching in local region and the globM exploration in all the feasible regions, respectively. The selection of the two operators is decided by the survival number of new individuals and the violation of constrained conditions. Finally, three benchmarks with different situations of 10-dimension and 30-dimension are tested. The results display that the proposed algorithm performs better than other comparable algorithms, wherein the average best value in 10-dimension is at least promoted by 4.75%.