第三章遗传算法在优化中的应用精选文档.ppt
《第三章遗传算法在优化中的应用精选文档.ppt》由会员分享,可在线阅读,更多相关《第三章遗传算法在优化中的应用精选文档.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章遗传算法在优化中的应用本讲稿第一页,共七十四页3.1 3.1 无约束优化无约束优化无约束优化是指在没有任何约束的前提下极大或极小化某个目标无约束优化是指在没有任何约束的前提下极大或极小化某个目标函数的问题。无约束优化问题可描述为:函数的问题。无约束优化问题可描述为:或或这里这里S S称为搜索空间,称为搜索空间,称为目标函数。称为目标函数。本讲稿第二页,共七十四页3.1 3.1 无约束优化无约束优化l定义定义3.1 3.1 对最小化问题,设对最小化问题,设 ,若存在,若存在 使得对任使得对任 且且 时,有时,有 则称则称 是是 在在S S上的一个局部最优解,而称上的一个局部最优解,而称 为
2、一个为一个局部最优值。局部最优值。l定义定义3.2 3.2 对最小化问题,设对最小化问题,设 ,若对任,若对任 有有 则称则称 是是 在在S S上的一个全局最优解,而称上的一个全局最优解,而称 为一为一个全局最优值。个全局最优值。本讲稿第三页,共七十四页 3.1 3.1 无约束优化无约束优化l考虑下面的考虑下面的Ackley函数优化问题:函数优化问题:l当当n=2n=2时时,目标函数的三维图形如下图所示。目标函数的三维图形如下图所示。本讲稿第四页,共七十四页3.1 3.1 无约束优化无约束优化本讲稿第五页,共七十四页 3.2 一个例子一个例子1个体的编码个体的编码 采用实数向量编码,每一个个体
3、是一实数对采用实数向量编码,每一个个体是一实数对 .2.适应函数:该优化问题是一个极小化问题,可对目标函数作适应函数:该优化问题是一个极小化问题,可对目标函数作简单变换得到适应函数,譬如取简单变换得到适应函数,譬如取3.选择策略:采用随机通用采样选择策略:采用随机通用采样.4.杂交算子:采用整体算术杂交杂交算子:采用整体算术杂交。给定两个父体,产生一个随机数,经杂交后得到两个后代个给定两个父体,产生一个随机数,经杂交后得到两个后代个体体本讲稿第六页,共七十四页 3.2 一个例子一个例子 ,产生一个随机数产生一个随机数 ,经杂交后得到,经杂交后得到两个后代个体两个后代个体 5.变异算子:采用非均
4、匀变异。变异算子:采用非均匀变异。6.参数设置:种群规模参数设置:种群规模 ,最大代数,最大代数 ,杂,杂交概率交概率 ,变异概率,变异概率 .7.初始化:随机产生初始种群。初始化:随机产生初始种群。8.终止条件:算法运行所指定的最大代数后终止。终止条件:算法运行所指定的最大代数后终止。本讲稿第七页,共七十四页3.3 3.3 约束优化约束优化l约束优化问题可描述为:约束优化问题可描述为:其中其中 都是定义在都是定义在 上的实函上的实函数,搜索空间为目标函数的定义域,通常为数,搜索空间为目标函数的定义域,通常为n维矩形:维矩形:。本讲稿第八页,共七十四页 3.3 3.3 约束优化约束优化l常用的
5、约束处理技术。常用的约束处理技术。1拒绝法拒绝法 拒绝法抛弃所有在演化过程中产生的不可行染色体。拒绝法抛弃所有在演化过程中产生的不可行染色体。2修复法修复法 修复法是通过一个修复程序对不可行个体进行修复,使之成为可行修复法是通过一个修复程序对不可行个体进行修复,使之成为可行个体。该方法在求解一些组合优化问题时经常使用。个体。该方法在求解一些组合优化问题时经常使用。本讲稿第九页,共七十四页3.3 3.3 约束优化约束优化l对对0-1背包问题,我们可以设计一个简单的修复程序。若背包问题,我们可以设计一个简单的修复程序。若 是一个不可行个体,即有是一个不可行个体,即有 ,其修复过程如下:,其修复过程
6、如下:(1)将将 的物品按价值的物品按价值-重量比从大到小排序;重量比从大到小排序;(2)按上述次序选择物品,直到背包不能再装为止。按上述次序选择物品,直到背包不能再装为止。l修复后的个体可以只用作评估,也可以用来替代原个体进修复后的个体可以只用作评估,也可以用来替代原个体进入种群。入种群。本讲稿第十页,共七十四页3.3 3.3 约束优化约束优化3 3算子修正法算子修正法算子修正法是指设计专门的遗传算子来保持种群中个体算子修正法是指设计专门的遗传算子来保持种群中个体的可行性。的可行性。譬如对譬如对TSPTSP问题,若使用排列编码的话,则需要设计杂问题,若使用排列编码的话,则需要设计杂交算子和变
7、异算子,使得排列经过杂交算子或变异算子交算子和变异算子,使得排列经过杂交算子或变异算子的作用后仍然是排列。的作用后仍然是排列。4 4惩罚函数法惩罚函数法惩罚函数法是一种常用的处理约束条件的方法。本质上惩罚函数法是一种常用的处理约束条件的方法。本质上它是通过惩罚不可行解,将约束问题转化为无约束问题。它是通过惩罚不可行解,将约束问题转化为无约束问题。本讲稿第十一页,共七十四页3.3 3.3 约束优化约束优化惩罚技术通过对目标函数加上一个惩罚项以构成一个广义惩罚技术通过对目标函数加上一个惩罚项以构成一个广义目标函数的方式将约束优化问题转化为无约束优化问题,目标函数的方式将约束优化问题转化为无约束优化
8、问题,使得遗传算法在惩罚项的作用下找到原问题的最优解。使得遗传算法在惩罚项的作用下找到原问题的最优解。广义目标函数具有如下形式:广义目标函数具有如下形式:其中其中 是目标函数,是目标函数,是惩罚函数。是惩罚函数。对于极小(极大)化问题,惩罚函数应具有这样的性质:对非对于极小(极大)化问题,惩罚函数应具有这样的性质:对非可行解可行解x有有 ,而对可行解,而对可行解x有有 ,即不,即不产生惩罚。产生惩罚。本讲稿第十二页,共七十四页 3.3 3.3 约束优化约束优化 下面我们假定所讨论的问题是极小化问题下面我们假定所讨论的问题是极小化问题。对于形如对于形如 的约束条件,许多方法用函数的约束条件,许多
9、方法用函数 来构造惩来构造惩罚函数,罚函数,按照下面的方式度量对第按照下面的方式度量对第i个约束的违背程个约束的违背程度:度:本讲稿第十三页,共七十四页3.3 3.3 约束优化约束优化(1)(1)静态惩罚函数静态惩罚函数 静态惩罚函数具有下列形式:静态惩罚函数具有下列形式:其中其中 是预先指定的常数,称为惩罚系数。是预先指定的常数,称为惩罚系数。d d是一是一个常数,通常取个常数,通常取d=1d=1或或2 2。本讲稿第十四页,共七十四页3.3 3.3 约束优化约束优化l选择适当的惩罚系数并不是一件容易的事。选择适当的惩罚系数并不是一件容易的事。l若惩罚系数选择过大,则将会由于太注重解的可行性而
10、较早地若惩罚系数选择过大,则将会由于太注重解的可行性而较早地收敛到某个局部最优解;若这些惩罚系数选择过小,则有可能收敛到某个局部最优解;若这些惩罚系数选择过小,则有可能使得不可行解在种群中占统治地位,从而使算法花费过多的时使得不可行解在种群中占统治地位,从而使算法花费过多的时间在非可行区域中搜索,而且有可能收敛到非可行域。间在非可行区域中搜索,而且有可能收敛到非可行域。本讲稿第十五页,共七十四页3.3 3.3 约束优化约束优化一一种种较较好好的的方方法法是是对对每每个个约约束束,根根据据该该约约束束的的违违反反程程度度来来确确定定惩惩罚罚系系数数。该该A.S.Homaifar等等提提出出了了一
11、一种种基基于于这这种种思思想想构构造惩罚函数的方法。其详细描述如下:造惩罚函数的方法。其详细描述如下:l 对每个约束,确定对每个约束,确定 个区间个区间 以度量该约束的违反程度;以度量该约束的违反程度;l 对每个约束及违反程度,建立一个惩罚系数对每个约束及违反程度,建立一个惩罚系数 使得违反程度越高,惩罚系数越大;使得违反程度越高,惩罚系数越大;本讲稿第十六页,共七十四页3.3 3.3 约束优化约束优化l 惩罚函数由下式给出:惩罚函数由下式给出:这里这里 由由 的偏离程度来决定。的偏离程度来决定。若若 ,则,则 。l 该方法的优点是简单、直接、易于实现。但该方法的性能在很大程该方法的优点是简单
12、、直接、易于实现。但该方法的性能在很大程度上依赖于惩罚系数度上依赖于惩罚系数 的选取。对具有的选取。对具有m个约束的问题,需要确定个个约束的问题,需要确定个 参数。即参数。即 个待确定区间的端点,个待确定区间的端点,个惩罚系数。个惩罚系数。本讲稿第十七页,共七十四页3.3 3.3 约束优化约束优化 (2)动态惩罚函数动态惩罚函数 静态惩罚函数中的惩罚系数静态惩罚函数中的惩罚系数 是固定不变是固定不变 的。的。一种替代的方法是使一种替代的方法是使 随着演化代数的变化随着演化代数的变化而变化。而变化。Joines和和Houck提出了如下形式的动态惩罚函数:提出了如下形式的动态惩罚函数:其中其中t为
13、当前演化代数,为当前演化代数,都为正常数,通常取都为正常数,通常取 。本讲稿第十八页,共七十四页3.3 3.3 约束优化约束优化(3)自适应惩罚函数自适应惩罚函数 自适应惩罚函数的目的是希望利用演化搜索中的反馈信息自自适应惩罚函数的目的是希望利用演化搜索中的反馈信息自适应地调节惩罚系数,从而避免对惩罚系数的不恰当设置。适应地调节惩罚系数,从而避免对惩罚系数的不恰当设置。由由BeanBean和和Hadj-AlouaneHadj-Alouane提出的一种自适应惩罚函数的形式如提出的一种自适应惩罚函数的形式如下:下:其中其中 与演化代数有关与演化代数有关.本讲稿第十九页,共七十四页3.3 3.3 约
14、束优化约束优化 譬如可取譬如可取 ,并且在每一演化代按下列公式更新:,并且在每一演化代按下列公式更新:其中其中 表示在第表示在第i i代时上述广义目标函数值是最好的个体,代时上述广义目标函数值是最好的个体,且,且 以避免循环,以避免循环,k k是一个正常数。是一个正常数。本讲稿第二十页,共七十四页3.4应用实例应用实例l例例3.1 3.1 考虑下列优化问题:考虑下列优化问题:l该问题是一个约束优化问题,用静态惩罚函数来处理约束。该问题是一个约束优化问题,用静态惩罚函数来处理约束。本讲稿第二十一页,共七十四页3.4应用实例应用实例l对于约束条件对于约束条件 ,将违反约束的程度划分为四个等级,不同
15、,将违反约束的程度划分为四个等级,不同的等级采用不同的惩罚系数的等级采用不同的惩罚系数 ,具体如下:,具体如下:本讲稿第二十二页,共七十四页3.4应用实例应用实例l对于约束条件对于约束条件 ,将违反约束的程度划分为四个等级,不同的,将违反约束的程度划分为四个等级,不同的等级采用不同的惩罚系数等级采用不同的惩罚系数 ,具体如下:,具体如下:l惩罚函数为惩罚函数为l广义目标函数定义为广义目标函数定义为 本讲稿第二十三页,共七十四页3.4应用实例应用实例l遗传算法设计如下:遗传算法设计如下:(1)(1)编码:采用实数向量编码;编码:采用实数向量编码;(2)(2)适应函数:适应函数取为适应函数:适应函
16、数取为 (3)(3)选择策略:采用随机通用采样;选择策略:采用随机通用采样;(4)(4)杂交算子:采用整体算术杂交;杂交算子:采用整体算术杂交;(5)(5)变异算子:采用非均匀变异;变异算子:采用非均匀变异;本讲稿第二十四页,共七十四页3.4应用实例应用实例 (6)(6)控制参数的确定:种群规模控制参数的确定:种群规模 ,最大代数,最大代数 ,杂交概率,杂交概率 ,变异概率,变异概率 ;(7)(7)初始化:随机产生初始种群;初始化:随机产生初始种群;(8)(8)终止条件:算法运行所指定的最大代数后终止。终止条件:算法运行所指定的最大代数后终止。本讲稿第二十五页,共七十四页3.4应用实例应用实例
17、实验结果 项目参考解遗传算法的解GRG的解本讲稿第二十六页,共七十四页3.4应用实例应用实例l例例3.2 3.2 考虑下列优化问题考虑下列优化问题 该问题有该问题有5 5个自变量,个自变量,6 6个非线性约束和个非线性约束和1010个上下界约束。注意,个上下界约束。注意,x x2 2和和x x4 4未显式地包含在目标函数里。未显式地包含在目标函数里。本讲稿第二十七页,共七十四页3.4应用实例应用实例l用动态惩罚函数对约束进行处理。令用动态惩罚函数对约束进行处理。令 惩罚函数定义为惩罚函数定义为其中其中C=2C=2,t t为演化代数,为演化代数,的定义如下:的定义如下:本讲稿第二十八页,共七十四
18、页3.4应用实例应用实例本讲稿第二十九页,共七十四页3.4应用实例应用实例l广义目标函数定义为广义目标函数定义为 l极小化极小化 的遗传算法设计如下:的遗传算法设计如下:(1)(1)编码:实数向量编码编码:实数向量编码 (2)(2)适应函数:适应函数取为适应函数:适应函数取为 (3)(3)选择策略:锦标赛选择,竞争规模选择策略:锦标赛选择,竞争规模k=2k=2,每次选择适应值较小的,每次选择适应值较小的个体个体 本讲稿第三十页,共七十四页3.4应用实例应用实例 (4)(4)杂交算子:整体算术杂交杂交算子:整体算术杂交 (5)(5)变异算子:非均匀变异变异算子:非均匀变异 (6)(6)控制参数的
19、确定:种群规模控制参数的确定:种群规模 ,最大代数,最大代数 ,杂交概率,杂交概率 ,变异概率,变异概率 (7)(7)初始化:随机产生满足变量上下界要求的初始种群初始化:随机产生满足变量上下界要求的初始种群.(8)(8)终止条件:算法运行所指定的最大代数后终止终止条件:算法运行所指定的最大代数后终止.本讲稿第三十一页,共七十四页3.4应用实例应用实例l实验结果实验结果 项目项目参考解参考解遗传算法的解遗传算法的解GRG的解的解本讲稿第三十二页,共七十四页3.5 组合优化组合优化l度约束最小生成树问题度约束最小生成树问题 设设 是赋权连通无向图,其中是赋权连通无向图,其中 是顶是顶点的集合,点的
20、集合,是边的集合,是边的集合,W是一个从是一个从E E到实数集合上的函数,边到实数集合上的函数,边 的权值记为的权值记为 。若。若T是是G的生成树,的生成树,T中边的权之和定义为中边的权之和定义为T的权,记为的权,记为 。所有生成树。所有生成树中具有最小权的生成树称为中具有最小权的生成树称为 最小生成树。最小生成树。本讲稿第三十三页,共七十四页3.3 组合优化组合优化l求解最小生成树问题的算法有求解最小生成树问题的算法有Prim算法和算法和Kruskal算法算法.l在一些实际问题中,对生成树中顶点的度有一定在一些实际问题中,对生成树中顶点的度有一定的限制。即在极小化生成树的权值时,往往要求的限
21、制。即在极小化生成树的权值时,往往要求顶点的度顶点的度 不大于一个给定的值不大于一个给定的值 。度约束最小生成树问题就是求满足给定度约束的度约束最小生成树问题就是求满足给定度约束的最小生成树。最小生成树。本讲稿第三十四页,共七十四页3.3 组合优化组合优化l下面讨论用遗传算法求解度约束最小生成树问题。为简单起下面讨论用遗传算法求解度约束最小生成树问题。为简单起见,假定图是完全图且由权值矩阵见,假定图是完全图且由权值矩阵 给出,并假设给出,并假设 ,其中,其中d d是一个常数。是一个常数。(1)(1)编码编码 图论中的一个经典定理是图论中的一个经典定理是Cayley定理,即定理,即n n个顶点的
22、完全图中个顶点的完全图中有有 棵不同的生成树。该定理的一种证明方法是在生成棵不同的生成树。该定理的一种证明方法是在生成树和长度为树和长度为 的序列的序列 之间建立一一对应关之间建立一一对应关系,其中系,其中 为整数且有为整数且有 。由此知一棵生成树可以用一个长度为。由此知一棵生成树可以用一个长度为 的序列的序列 编码。编码。本讲稿第三十五页,共七十四页3.3 组合优化组合优化l编码过程如下:设生成树编码过程如下:设生成树T T中具有最小标号的叶结点为中具有最小标号的叶结点为 ,其相邻结,其相邻结点记为点记为 ,移去顶点,移去顶点 和边和边 ;在剩下的个顶点中再寻找标号;在剩下的个顶点中再寻找标
23、号最小的叶结点,设其为最小的叶结点,设其为 ,其相邻结点记为,其相邻结点记为 ,移去顶点,移去顶点 和边和边 ;这样继续下去,直到剩下最后一条边为止。这样便可得到序列;这样继续下去,直到剩下最后一条边为止。这样便可得到序列 。l反之,给定序列反之,给定序列 ,可以唯一地构造一棵生成,可以唯一地构造一棵生成树。树。本讲稿第三十六页,共七十四页3.3 组合优化组合优化l译码过程如下:从序列译码过程如下:从序列 中找出第一个不在序列中找出第一个不在序列 中的数,记为中的数,记为 ,构造边,构造边 ,从序列,从序列A A中删除中删除 ,从序列,从序列B B中中删除删除 ,然后重复上述过程,直到序列,然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 遗传 算法 优化 中的 应用 精选 文档
限制150内