论文部分内容阅读
实际生活中的许多问题都可以转化为约束优化问题来处理,而约束问题的求解往往是工作的重点和难点。人工蜂群(ABC)算法为求解约束优化问题提出了一种新的思路,它和其他群智能算法一样,具有并行性高、鲁棒性好和通用性强等优点。初始蜜源的质量对ABC算法的性能影响很大,甚至不少的ABC算法都要求其是可行的,但是传统的随机搜索很难得到令人满意的结果,尤其是对于可行域占较小比例的强约束优化问题。为了提高初始蜜源的质量和增强ABC算法的寻优效率,本文建立RCGABC算法模型,可以根据问题的特点灵活的选择比例系数,生成满足需要的高质量初始可行蜜源。首先,利用蒙特卡洛法近似模拟问题可行域在搜索域中占的比例,设置相应的控制参数;其次,利用改进的ABC算法生成满足需要的可行蜜源集S1;然后,根据本文建立的随机压缩搜索算法(RCSA)对蜜源集S1进行扩充,得到可行蜜源集Sz;最后,利用聚类算法将可行蜜源集S2进行分类,并根据蜜源的空间距离通过贪婪准则选取最优蜜源。为了验证算法的有效性,本文选取两个较为复杂的测试函数,关于计算时间和蜜源多样性两个方面,分别利用随机法、ABC算法、随机压缩法以及RCGABC算法进行Matlab编程实验,通过结果的对比分析,进而验证本文的RCGABC算法的高效性。关于连续函数的约束优化问题,本文建立改进混合人工蜂群算法求解模型。首先,利用RCGABC算法生成初始可行蜜源集;然后,针对采蜜蜂和观察蜂建立自适应邻域搜索方式如下式:改进后的邻域搜索操作在原始邻域搜索公式中加入全局最优蜜源指引项(Xgij-Xij),同时根据当前蜜源集的结构特征设计自适应加速因子Ψij,以及根据算法的进化代数设计自适应比例因子Φij,通过自适应调控蜂群向邻域蜜源和最优蜜源的搜索步长,增强算法的适应和寻优能力;其次,采用基于模拟退火策略的蜂群选择机制,增强算法开拓能力,加快算法的收敛速度;最后,建立基于有限制压缩搜索算法(LCSA)和随机压缩搜索算法(RCSA)的修补算子,保证蜜源在算法迭代过程中的可行性和多样性,提高算法的搜索效率。为了验证本文算法模型的有效性,选用7个不同类型的测试函数进行编程实验,并将多次运行得到的结果与罚函数ABC算法、罚函数遗传算法进行对比,验证本文算法无论在最优解质量还是在收敛速度上都是最好的。关于组合约束优化问题,本文建立NDABC算法求解模型。首先采用序号编码方式表示约束问题的变量集,随机生成序号集的全排列作为算法的初始蜜源,根据问题的特点采用贪婪准则和禁忌搜索策略生成相应的实际组合方案;然后针对序号编码的蜜源建立自适应的邻域搜索方式,根据算法的迭代过程自适应的设置序号操作个数,并根据问题的特点选择相应的操作方式,自适应操作如下式所示:其中,cycle和Maxcycle分别为当前和最大进化代数,MEmrise和MEmin分别表示最大序号操作增长数和最小位置操作数,保证算法在前期具有较强的开拓能力,在后期具有更好的局部搜索功能。为了验证NDABC算法关于组合优化问题的求解效率,本文选用燃油运输问题、背包问题和航班降落调度问题,针对各问题的特点建立合适编码、解码算子和自适应邻域搜索算子,并针对航班降落调度模型建立微调算子,利用Matlab编程求解,并与其他文献的结果对比分析,验证本文建立的NDABC算法关于组合优化问题有相当高的计算效率。