欧宝电竞登录

当前位置:|HOME > 企业简介 >

企业简介

第三章遗传算法

来源: http://tahsjy.com 发布时间:2021-09-21

  第三章遗传算法 第三章遗传算法 遗传算法(Genetic Algorithm)是一种通过自然进化过程搜索最优解的 方法。过去 30 年中,在解决复杂的全局优化问题方面,遗传算法取得了成 功 的应用,并受到了人们广泛的关注。在优化问题中,如果目标函数是多 峰的, 或者搜索空间不规则,就要求所使用的算法必须具有高度的鲁棒性, 以避免在 局部优化解附近徘徊。遗传算法的优点恰好是擅长全局搜索。另 外,遗传算法 本身并不要对优化问题的性质作一些深入的数学分析,从而 对那些不太熟悉数 学理论和算法的使用者来说,无疑是方便的。 大家知道,生物遗传物质的主要载体是染色体,在遗传算法中,染色 体是 一串数据(或数组),用来作为优化问题的解的代码,其本身不一定是 解。遗传 算法一般经过这样几个过程:首先,随机产生一定数目的初始染 色体,这些随机 产生的染色体组成一个种群。种群中染色体的数目称为种 群的大小或种群的规 模。然后,用评价函数来评价每个染色体的优劣,即 染色体对环境的适应程度 (称为适应度),用来作为以后遗传操作的依据。 接着,进行选择过程,选择过 程的目的是为了从当前种群中选出优良的染 色体。判断染色体的优良与否的准 则就是各自的适应度,即染色体的适应 度越高,其被选择的机会就越多。通过选 择过程,产生一个新的种群。对 这种新的种群进行交叉操作,交叉操作是遗传算 法中主要的遗传操作之一。 接着进行变异操作,变异操作的目的是挖掘种群中的 个体的多样性,克服 有可能陷入局部解的弊病。这样,经过上述运算产生的染色 体称为后代。 然后,对新的种群(即后代)重复进行选择、交叉和变异操作,经 过给定 次数的迭代处理以后,把最好的染色体作为优化问题的最优解。 遗传算法已被广泛应用业于最优控制、运输问题、调度、生产计划、 资源 分配、统计及模式识别等,下面我们介绍一下遗传算法的一些基本知 识。 第一节优化问题的遗传算法 回顾一下单目标规划、多目标规划及目标规划模型的基本形式。在数 学规 划中,目标函数不一定是单峰的,可行域也不一定是凸集。最优化问 题的解有 两种表示方式:二进制向量或浮点向量。使用二进制向量作为一 个染色体来表 示决策变量的真实值,向量的长度依赖于要求的精度,但使 用二进制代码的必 1 第三章遗传算法 要性已经受到了批评。求解复杂优化问题时,二进制向 量表示结构有时不太方 便。 另一种表示方法是浮点向量,每一个染色体由一个浮点向量表示,其 长度 与解向量相同。这里用向量 X =(XiX2,…,Xn)表示最优化问题的解,其中 n 是维 数,则相应的染色体也是 V =&以 2,...风)。 一、关于约束条件的处理 对于约束条件的处理关键是 (1) 消除约束条件中的等式约束。例如假设 hk(X)=O,k = 1,2,...,q,通 过 解这个方程组,将 q 变量 Xi,X2,....,Xq 用另外的变量表示,代入到模型中,就 形成 了一个没有等式约束的 n—q 维优化问题。 (2) 设计恰当的遗传操作以保证所有新产生的染色体在可行域中。 为了保证染色体的可行,必须对遗传操作过程中得到的每一个染色体 进行 检查,对每一个优化问题,最好设计一个 C 语言子函数,其输出值为 1 表示染色体是可行的,0 表示不可行。例如,对于约束条件 gj(X)_O,j=1,2,...,P 可以作如下的一个子函数: 从 j =1 开始循环 若(gj(X) 0),返回 0; 直到 j = P 结束 返回 1。 最后值得注意的是,在设计程序时,应该注意到一些隐含的约束,即 有些 虽然是可行解,但不可能是最优解。例如数学规划模型 -X2 max e XR 其中 R=(—是可行域,但是我们知道最优解一定在区间[-5,勺,所以为 了减少程 序的搜索空间,应当增加约束条件 -5 _ x _ 5 2 第三章遗传算法 这类隐含约束一般不难发现,尤其对实际的管理问题。因此尽可能的增加 隐含 条件。 二、 初始化过程 定义整数 pop-size 作为染色体的个数,并且随机的产生 pop-size 个初始 染色体。一般情况下,由于优化问题的复杂性,解析底产生可行的染色体 是困 难的。此时,可以采用下述两种方法之一作为初始过程。 第一种方法:设决策者能够给出可行域中的一个内点,记为 V。=(x0x0,… 乂)。定义一个足够大的数 M,以保证遗传操作遍及整个可行域。 M 不仅在初始 化过程中使用,而且在变异操作中也使用。按照下面的方法 产生 pop-size 个 染色体。在只“中随机的选择一个方向 d,如果 V。Md 满足不 等式约束,则将 V 二 V°?Md 作为一个染色体,否则,置 M 为 0 和 M 之间的一 个随机数,直到 V 二 V。Md 可行为止。由于 V。=(x0x0,...,x0)是内点,所以在有 限步内,可以找到满 足不等式约束的可行解。 重复以上过程 pop-size 次,从 而产生 pop-size 个初始染色体 Vi,V2,...,Vp°p』ze。 三、 评价函数 评价函数(记为 Eval(V))用来对种群中的每个染色体 V 设定的一个概 率,以 使该染色体被选择的可能性与种群中其它染色体的适应性成比例, 即通过轮盘 赌,适应性强的染色体被选择产生后代的机会要大。 第一种方法,设目前该代中的染色体为 Vi,V2,...,Vp°p」ize,可以根据染色体 的序进行再生分配,而不是根据其实际的目标值。无论是何种数学规划都 可以 作一个合理的假设,即在染色体 M,V2,...,Vpopde 中,决策者可以给出一个 序的关 系,使染色体由好到坏进行重排,就是说,一个染色体越好,其序 号越小。设 参数 a?(0,1)给定,定义基于序的评价函数为 Eval(VJ = a(1 _ a) °, i = 1,2,..., pop - size i = 1 意味着染色体是最好的,i = pop - s

最新文章

友情链接
  • |
tahsjy.com 欧宝电竞登录