兆尹呼叫中心自动排班系统
在遗传算法里,优化问题的解被称为个体,它表示为一个参数列表,叫做染色体或者基因串。染色体一般被表达为简单的字符串或数字串,不过也有其他的表示方法适用,这一过程称为编码。一开始,算法随机生成一定数量的个体,有时候操作者也可以对这个随机产生过程进行干预,播下已经部分优化的种子。在每一代中,每一个个体都被评价,并通过计算适应度函数得到一个适应度数值。种群中的个体被按照适应度排序,适应度高的在前面。这里的“高”是相对于初始的种群的低适应度来说的。
下一步是产生下一代个体并组成种群。这个过程是通过选择和繁殖完成的,其中繁殖包括交配(crossover)和突变(mutation)。选择则是根据新个体的适应度进行的,适应度越高,被选择的机会越高,而适应度 低的,被选择的机会就低。初始的数据可以通过这样的选择过程组成一个相对优化的群体。之后,被选择的个体进入交配过程。一般的遗传算法都有一个交配概率, 范围一般是0.6~1,这个交配概率反映两个被选中的个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。每两个个体通过交配产生两个新个体,代替原来的“老”个体,而不交配的个体则保持不变。交配父母 的染色体相互交换,从而产生两个新的染色体,第一个个体前半段是父亲的染色体,后半段是母亲的,第二个个体则正好相反。不过这里的半段并不是真正的一半, 这个位置叫做交配点,也是随机产生的,可以是染色体的任意位置。再下一步是突变,通过突变产生新的“子”个体。一般遗传算法都有一个固定的突变常数,通常是0.1或者更小,这代表变异发生的概率。根据这个概率,新个体的染色体随机的突变,通常就是改变染色体的一个字节(0变到1,或者1变到0)。经过这一系列的过程(选择、交配和突变),产生的新一代个体不同于初始的一代,并一代一代向增加整体适应度的方向发展,因为最好的个体总是更多的被 选择去产生下一代,而适应度低的个体逐渐被淘汰掉。这样的过程不断的重复:每个个体被评价,计算出适应度,两个个体交配,然后突变,产生第三代。周而复 始,直到终止条件满足为止。一般终止条件有以下几种:
* 进化次数限制
* 计算耗费的资源限制(例如计算时间、计算占用的内存等)
* 一个个体已经满足最优值的条件,即最优值已经找到
* 适应度已经达到饱和,继续进化不会产生适应度更好的个体
* 人为干预
* 以及以上两种或更多种的组合
对于任何一个具体的优化问题,调节遗传算法的参数可能会有利于更好的更快的收敛,这些参数包括个体数目、交叉律和变异律。例如太大的变异律会导致丢失最优解,而过小的变异律会导致算法过早的收敛于局部最优点。对于这些参数的选择,现在还没有实用的上下限。
> 免疫遗传算法
实践也表明,仅仅使用遗传算法或者以其为代表的进化算法,在模仿人类智能处理事物的能力方面还远远不足,还必须更加深层次地挖掘与利用人类地智能资源。所以,许多学者力图将生命科学中的免疫概念引
入到工程实践领域,借助其中的有关知识与理论并将与其己有的一些智能算法有机的结合起来,以建立新的进化理论与算法,来提高算法的整体性能。基于这一思想,将免疫概念与其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的的利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(Immune Algorithm-IA )。人工免疫算法与遗传算法的异同点:
免疫遗传算法在形式上与基本的遗传算法(SGA)有相似之处,它们均属随机优化方法。初始可行解的产生、编码、解码和评价机制相似,具有并行性,均有选择与变异操作。但是,这两种算法产生于两个不同的自然机制,背景不同,所采用的术语也不同。SGA是纂于达尔文的自然选择进化理论,是对生物个体进化中的有性繁殖的宏观模拟,它的选择、交叉和变异算子都是在一定发生概率的条件下随机地、没有指导地迭代搜索。
由于基本遗传算法本身的局限性,所以在利用该算法解决该问题的时候必然有一定的局限性,这要通过对遗传算法本身进行改进来实现。由于免疫遗传算法是在传统遗传算法全局随机搜索的基础上,借鉴了生物免疫机制中抗体的多样性保持策略,利用了待求问题中的一些特征信息,该算法有效地减弱了遗传算法中后期的波动现象,改善了遗传算法的群体多样性,具有更好的全局搜索能力。
“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
热门文章
使用“扫一扫”即可将网页分享至朋友圈。