论文部分内容阅读
群智能起源于自然环境中生物群体经过长期自然进化后具有的解决问题的能力,其中的许多问题在人类看来可以归属于高复杂度的优化问题。受到生态系统中一些具有社会群体特征的物种的行为启发,模仿自然与生物机理的群智能优化方法应运而生。群智能优化方法的发展为使用传统的优化方法难以解决的NP-困难问题提供了有效的求解工具。英国学者Pham教授于2005年提出的蜜蜂算法属于群智能优化算法的一员,该算法受自然界中蜂群的觅食行为启发,是根据蜜蜂探测、选择食物源并最终采集到高质量蜂蜜的内部运行协作机制而设计出的仿生计算方法。该算法主要特征是用侦查蜂角色划分的方式直接体现优化方法普遍需要应对的相互矛盾两方面:利用性搜索与探测性搜索,因此容易控制操作。该算法简单易于实现,虽然已经在许多工程领域得到成功运用,但对其理论研究工作还处于起步阶段,对其优化中个体与群体进化的数学过程以及算法收敛性分析尚缺乏研究。本论文对蜜蜂算法做了深入的理论研究,针对算法现有不足之处提出了若干改进策略,并将其用于云制造环境中的服务组合优化问题中。论文主要研究工作如下:(1)建立蜜蜂算法的马尔科夫数学模型进行理论分析。从侦查蜂个体到侦查蜂进化代逐层递进对蜂群的基本概念和操作进行了严格的数学描述和马尔科夫性质论证,比如侦查蜂不同角色个体搜索过程中状态转概率以及迭代序列所具有的性质,算法侦查蜂进化代状态转移概率以及迭代序列具有的性质等。对侦查蜂进化代状态进行分组处理,该操作简化了对侦查蜂进化代马尔科夫渐进性的相关计算与分析。在对蜜蜂算法建立的马尔科夫模型的基础上对讨论了在蜜蜂算法相关改进版本中使用的邻域收缩策略以及食物源丢弃策略的作用与影响。(2)提出一种蜂群分工调整策略对蜜蜂算法性能加以改进。蜜蜂算法对群体内蜜蜂进行角色分类,各个角色的数量决定了算法的优化性能,这些数量均属于预先设置参数,在算法优化过程中保持不变,这样处理一个优化问题前,需要依赖使用者对目标函数具备的先验知识,才能经验式地对参数进行设置使算法以较好的性能运行。分工调整策略允许算法在优化过程中保持群体规模不变的情况下依据当前侦查蜂进化代采样到的适应度对群体内侦查蜂和觅食蜂比例进行调整,使得算法的优化性能具有一定的自适应性,从而一定程度上降低算法设置对目标函数先验知识的依赖。(3)将蜜蜂算法扩展到多模优化领域。蜜蜂算法本身具有并行运行、邻域搜索与全局搜索直接结合等特点,具备多模优化所需的相关特征,且在自然环境中具有生态依据,因此以基本蜜蜂算法为基础,引入新的概念和优化策略,使得蜜蜂算法适合于多模优化。设计的多模优化蜜蜂算法还具有可变动蜂群规模的特性,根据已检测到的目标函数最优解的数量,对蜂群内不同分工的侦查蜂数量进行调整,避免蜂群规模预先设置的过大或者过小导致的搜索精度或效率的下降,减弱了算法预先对目标函数最优解数量这一先验知识的依赖性。(4)为蜜蜂算法引入了平衡邻域搜索策略,对比于原先的随机邻域搜索策略和伪梯度邻域搜索策略。该策略结合侦查蜂进化代里的历史搜索经验,确定下一次算法迭代中执行邻域搜索觅食蜂的分布。如果过去迭代中未实现解的适应度的改进,或者获得改进的觅食蜂个体所在方位差异较大,则邻域搜索逐渐倾向于随机策略,保持觅食蜂的多样性。如果在过去迭代中获得解的适应度改进的觅食蜂所在方位差异不大,则有理由认为下一次在觅食蜂在该方位上以较大概率获得解的改进,则邻域搜索逐渐倾向于伪梯度搜索。该邻域搜索策略不引入额外的适应度评估次数,不带来计算开销的增长,同时提高蜜蜂算法的搜索效率。(5)以云制造环境中服务组合这一NP-困难问题为目标建立多用户服务组合模型,研究了蜜蜂算法在服务组合优化上的应用。给出了蜜蜂算法在解决该多目标带约束组合优化问题的详细步骤,并且根据该特定应用环境,提出了为算法采用种子服务初始化过程,以用户自身历史经验与云平台累积的服务评价为依据构建初始种子服务链,再围绕展开邻域搜索,相比原初始化过程提高了算法服务组合成功率以及避免不良服务的能力。