




已阅读5页,还剩154页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六节算法实现及应用 一 算法实现遗传算法提供了一种求解复杂系统优化问题的通用框架 对于具体问题 可按下述来构造 确定问题编码方案确定适配值函数设计遗传算子 选择 交叉 变异 确定算法参数确定算法终止条件生成初始种群 SGA实现 个体适应度评价在遗传算法中 以个体适应度的大小来确定该个体被遗传到下一代群体中的概率 个体适应度越大 该个体被遗传到下一代的概率也越大 反之 个体的适应度越小 该个体被遗传到下一代的概率也越小 基本遗传算法使用比例选择算子来确定群体中各个个体遗传到下一代群体中的数量 为正确计算不同情况下各个个体的遗传概率 要求所有个体的适应度必须为正数或0 不能是负数 为满足适应度取非负值的要求 基本遗传算法一般采用下面两种方法之一将目标函数值变换为个体的适应度 方法一 对于目标函数是求极大化 方法为 式中 为一个适当地相对比较小的数它可用下面几种方法之一来选取 预先指定的一个较小的数 进化到当前代为止的最小目标函数值 当前代或最近几代群体中的最小目标值 比例选择算子比例选择实际上是一种有退还随机选择 也叫做赌盘 RouletteWheel 选择 因为这种选择方式与赌博中的赌盘操作原理非常相似 比例选择算子的具体执行过程是 先计算出群体中所有个体的适应度之和 其次计算出每个个体的相对适应度的大小 此值即为各个个体被遗传到下一代群体中的概率 最后再使用模拟赌盘操作 即0到1之间的随机数 来确定各个个体被选中的次数 单点交叉算子单点交叉算子是最常用和最基本的交叉操作算子 单点交叉算子的具体执行过程如下 对群体中的个体进行两两随机配对 对每一对相互配对的个体 随机设置某一基因座之后的位置为交叉点 对每一对相互配对的个体 依设定的交叉概率在其交叉点处相互交换两个个体的部分染色体 从而产生出两个新个体 基本位变异算子基本位变异算子的具体执行过程为 对个体的每一个基因座 依变异概率指定其为变异点 对每一个指定的变异点 对其基因值做取反运算或用其他等位基因值来代替 从而产生出一个新的个体 简单演示 问题 求 1 编码 编码长度为5 2 初始群体生成 群体大小设置为4 随机产生四个个体 编码 01101 11000 01000 10011解码 1324819适应度 16957664361 3 适应度函数 4 轮盘赌选择 选择概率个体 01101 11000 01000 10011适应度 16957664361选择概率 0 140 490 060 31选择11000和01101交配产生下一代 5 交叉操作 发生交叉的概率取大交叉点位置的选取是随机的 单点交叉 01101011001100011001 6 变异 发生变异的概率取小改变某个字节11001 11101 7 新群体的产生 保留上一代最优个体 1个新个体取代旧个体11101 11000 01000 10011 8 重复上述操作20次 或许就能够得到最优解 应用实例 TSP 问题回顾给定n个城市以及两两城市之间的距离 求解一条从某个城市出发 不重复地遍历所有其它城市并最终又回到起始城市的最短路径 数学描述给定图G V E V为顶点集 E为边集 确定一条长度最短的Hamilton回路 TSP问题 问题复杂度 指数增长的 NP完全问题 12个城市 具有条不同的路径 一条路径对应一个排列 交叉算子 传统的交叉算子可能产生无效路径 交叉算子 1 基于位置的交叉 把一个父代在向量上的被选元的位置强加到另一个父代 父代1 12345678910 父代2 59246110738 所选位置 子代1 19236457810 子代2 92345618107 交叉算子 2 部分映射交叉 利用父代所选段内元的对应定义子代 父代1 26438151079 父代2 85110762439 子代1 51437621089 子代2 72610815439 变异算子 起双重作用 1 提供和保持群体的多样性 2 搜索算子的作用 1 基于位置的变异 随机选择两个元 然后把第二个元放在第一个元之前 2 基于次序的变异 随机选择两个元 然后交换他们的位置 3 打乱变异 随机选择一段 然后打乱这段内的次序 编码方案路径表达 对一个旅行最自然的表达一个旅行5 1 7 8 9 4 6 2 3的编码就是 517894623 编码空间和解空间一一对应 总量为n 个 其实一些解是相同的 因为 51789 4623 4623 51789 二者是同一个解 n 1 2 应用实例1 TSP 适应度函数就取为目标函数的倒数 即路径总长度的倒数初始种群随机生成40个终止条件2000次迭代参数设置自定 选择操作算子 轮盘式选择首先计算每个个体i被选中的概率然后根据概率的大小将将圆盘分为n个扇形 每个扇形的大小为 选择时转动轮盘 参考点r落到扇形i则选择个体i 交叉操作算子Davis提出OX算子 通过从一个亲体中挑选一个子序列旅行并保存另一个亲体的城市相对次序来构造后代例如 p1 123 4567 89 p2 452 1876 93 首先保持中间部分o1 XXX 4567 XX o2 XXX 1876 XX 交叉操作算子然后移走p2中已在o1中的城市4 5 6和7后 得到2 1 8 9 3该序列顺次放在o1中 o1 218 4567 93 类似地 可以得到另一个后代 o2 234 1876 59 变异操作算子采用倒置变异 在染色体上随机地选择两点 将两点间的子串反转例如原个体 123456789 随机选择两点 12 3456 789 倒置后的个体 12 6543 789 中国城市TSP的一个参考解 应用实例2 函数优化 函数优化编码方案采用二进制编码对子变量定义域根据计算精度进行离散化处理 然后根据离散化后待定解的个数选择合适长度的二进制字符串进行编码例如 0 1 计算精度0 001 则0 0 001 0 002 0 998 0 999 1 000 个数为1001则用长度为10的二进制字符串一次表征所有离散点0000000000 000000001 1111110001 适应度函数例如 f x x2 x5 取Cmax 2 即可得到满足要求的F x 其它的就类似于TSP的求解了 已知函数其中 用遗传算法求解y的最大值 例1多元函数优化问题 运行步骤 运行步骤 运行步骤 运行步骤 运行步骤 运行步骤 运行步骤 例2一元函数优化问题 问题的提出一元函数求最大值 问题的提出用微分法求取f x 的最大值 解有无穷多个 问题的提出当i为奇数时xi对应局部极大值点 i为偶数时xi对应局部极小值 x19即为区间 1 2 内的最大值点此时 函数最大值f x19 比f 1 85 3 85稍大 编码表现型 x基因型 二进制编码 串长取决于求解精度 串长与精度之间的关系 若要求求解精度到6位小数 区间长度为2 1 3 即需将区间分为3 0 000001 3 106等份 所以编码的二进制串长应为22位 产生初始种群产生的方式 随机产生的结果 长度为22的二进制串产生的数量 种群的大小 规模 如30 50 1111101100011010101110100100001001110011100110000000000 计算适应度不同的问题有不同的适应度计算方法本例 直接用目标函数作为适应度函数 将某个体转化为 1 2 区间的实数 s x 0 637197 计算x的函数值 适应度 f x xsin 10 x 2 0 2 586345 计算适应度二进制与十进制之间的转换 第一步 将一个二进制串 b21b20 b0 转化为10进制数 第二步 x 对应的区间 1 2 内的实数 1 1111111111111111111111 2 遗传操作选择 轮盘赌选择法 交叉 单点交叉 变异 小概率变异 模拟结果设置的参数 种群大小50 交叉概率0 75 变异概率0 05 最大代数200 得到的最佳个体 smax xmax 1 8506 f xmax 3 8503 模拟结果进化的过程 主程序 用遗传算法进行简单函数的优化clearbn 22 个体串长度inn 50 初始种群大小gnmax 200 最大代数pc 0 75 交叉概率pm 0 05 变异概率 Continue 算法的设计与实现 主程序 产生初始种群 0 1向量s round rand inn bn 计算适应度 返回适应度f和累积概率p f p objf s Continue 主程序 gn 1 whilegn gnmax 1forj 1 2 inn 选择操作seln sel s p 交叉操作scro cro s seln pc scnew j scro 1 scnew j 1 scro 2 变异操作smnew j mut scnew j pm smnew j 1 mut scnew j 1 pm end Continue 主程序 s smnew 产生了新的种群 计算新种群的适应度 f p objf s 记录当前代最好和平均的适应度 fmax nmax max f fmean mean f ymax gn fmax ymean gn fmean Continue 主程序 记录当前代的最佳个体x n2to10 s nmax xx 1 0 x 3 power 2 bn 1 xmax gn xx gn gn 1endgn gn 1 Continue 主程序 绘制曲线subplot 2 1 1 plot 1 gn ymax ymean title 历代适应度变化 fonts 10 legend 最大适应度 平均适应度 string1 最终适应度 num2str ymax gn gtext string1 subplot 2 1 2 plot 1 gn xmax r legend 自变量 string2 最终自变量 num2str xmax gn gtext string2 End 计算适应度和累计概率函数 计算适应度函数function f p objf s r size s 读取种群大小inn r 1 有inn个个体bn r 2 个体长度为bn Continue 计算适应度和累计概率函数 fori 1 innx n2to10 s i 将二进制转换为十进制xx 1 0 x 3 power 2 bn 1 转化为 1 2 区间的实数f i ft xx 计算函数值 即适应度endf f 行向量转列向量 Continue 计算适应度和累计概率函数 计算选择概率fsum 0 fori 1 innfsum fsum f i f i endfori 1 innps i f i f i fsum end Continue 计算适应度和累计概率函数 计算累积概率p 1 ps 1 fori 2 innp i p i 1 ps i endp p Backtomain m 计算目标函数值函数 目标函数functiony ft x y x sin 10 pi x 2 Backtoobjf m 函数n2to10 Continue functionx n2to10 s x 0 forj 1 22x x s j 2 22 j end functionx n2to10 s x s 1 forj 1 21x x 2 s j 1 end 选择操作函数 选择 操作functionseln sel s p inn size p 1 从种群中选择两个个体fori 1 2r rand 产生一个随机数prand p r j 1 whileprand j 0j j 1 endseln i j 选中个体的序号end Backtomain m 交叉操作函数 交叉 操作functionscro cro s seln pc r size s inn r 1 bn r 2 pcc pro pc 根据交叉概率决定是否进行交叉操作 1则是 0则否 Continue 交叉操作函数 ifpcc 1chb round rand bn 2 1 在 1 bn 1 范围内随机产生一个交叉位scro 1 s seln 1 1 chb s seln 2 chb 1 bn scro 2 s seln 2 1 chb s seln 1 chb 1 bn elsescro 1 s seln 1 scro 2 s seln 2 end Backtomain m 变异操作函数 变异 操作functionsnnew mut snew pm r size snew bn r 2 snnew snew Continue 变异操作函数 pmm pro pm 根据变异概率决定是否进行变异操作 1则是 0则否ifpmm 1chb round rand bn 1 1 在 1 bn 范围内随机产生一个变异位snnew chb abs snew chb 1 end Backtomain m 运行程序 运行程序 运行程序 运行程序 策略调整 针对不同实际问题需要调整相应策略同一个实际问题不同的人也有不同的做法编码方案适应度函数设计选择算子交叉算子变异算子初始种群 编码方案本质 如何表示解二进制 自变量高维 大范围连续 高精度的时候很难处理冗余问题 离散化后解的个数介于2 n 1 和2n之间D进制 D 3 8 16 实数编码 无需编码和解码序列编码 例如TSP的路径表达树编码 非定长自适应编码 长度可调节 适应度函数是进行自然选择的定量标准直接采用目标函数引入适应值调节线性变换乘幂变换指数变换自适应变换 选择算子轮盘赌选择 roulettewheelselection 最基本 最常用的方式 又叫适应度比例选择算子最佳个体保存 elitistmodel 把适应度最高的个体保留到下一代 又叫精英保留排序模型 rank basedmodel 按适应度函数大小排序 根据事先设定的概率表分配选择概率联赛选择模型 tournamentselectionmodel 随机选择几个进行比较 高的被选 又叫锦标赛模型 选择算子期望值模型 expectedvaluemodel 排挤模型 crowdingmodel 浓度控制策略共享机制截断选择 交叉算子简单交叉最基本 最常用的方式 双亲互换子串平坦交叉二者之间均匀随机产生算术交叉双亲的凸组合线性交叉1 1 3 1 1 3比较最好的两个留下 交叉算子混合交叉离散交叉启发式交叉模拟二进制交叉单峰正态分布交叉单纯形交叉父体中心交叉几何交叉均匀交叉基于模糊联接的交叉 变异算子随机变异区间内均匀随机取非一致变异某个区间内随机扰动边界变异取边界值多项式变异高斯变异Cauthy变异自适应变异Muhlenbein变异 初始种群对计算结果和计算效率有影响全局性要求初始解尽量分散设计一些生成方法 求解TSP的策略调整 编码方案二进制编码 交叉和变异很难处理顺序表示 1985年Grefenstette提出 序表示是指所有城市依次排列构成一个顺序表 orderlist 对于一条旅程 可以依旅行经过顺序处理每个城市 每个城市在顺序表中的顺序就是一个遗传因子的表示 每处理完一个城市 从顺序表中去掉该城市 处理完所有城市以后 将每个城市的遗传因子表示连接起来 就是一条旅程的基因表示 例如 顺序表C 1 2 3 4 5 6 7 8 9 一条旅程为5 1 7 8 9 4 6 3 2 按照这种编码方法 这条旅程的编码为表l 5155533321 编码方案路径表示 最自然 直接的表示方法布尔矩阵表示 将一个旅程定义为一个优先权布尔矩阵M 当且仅当城市i排在城市j之前时矩阵元素mij 1 这种方法用n n矩阵M代表一条旅程 M具有如下三个性质 1 矩阵中1的数目为n n 1 2 2 mii 0 i 1 2 n 3 若mij 1 且mjk 1 那么mik 1 选择算子轮盘赌选择 roulettewheelselection 最佳个体保存 elitistmodel 期望值模型 expectedvaluemodel 排序模型 rank basedmodel 联赛选择模型 tournamentselectionmodel 排挤模型 crowdingmodel 浓度控制策略上述机制混合 交叉算子依赖于编码方式基于路径表示的顺序交叉基于路径表示的部分匹配交叉贪心交叉法 在一个父个体中选择第一个城市作为子个体的第一个城市 然后在两个父个体中进行比较并找到与已经选择的那个城市相邻且距离较近的城市作为下一个城市扩展到旅程中 如果与该城市相邻的两个城市有一个已经在旅程中 那么选择另外一个 如果两个都在旅程中 那么就选择其它没有被选择的城市 循环交叉边重组交叉 变异算子全局意义点位变异 变异仅以一定的概率 通常很小 对串的某些位做值的变异 逆转变异 在串中 随机选择两点 再将这两点内的子串按反序插入到原来的位置中 对换变异 随机选择串中的两点 交换其值 码 插入变异 从串中随机选择1个码 将此码插入随机选择的插入点中间 变异算子贪心对换变异 从一个染色体中随机的选择两个城市 即两个码值 然后交换它们 得到新的染色体 以旅程长度为依据比较交换后的染色体与原来的染色体的大小 保留旅程长度值小的染色体 倒位变异算子 在个体编码串中随机选择两个城市 第一个城市的右城市与第二个城市之间的编码倒序排列 从而产生一个新个体 如 若有父个体P 145236 假设随机选择的城市是4 3 那么产生的新个体为Offspring 143256 遗传算法的前景 性能分析 并行遗传算法 分类系统 图像处理和模式识别 优化与调度 机器学习 智能控制 其它 人工生命自动程序设计 遗传算法的应用 二 算法应用领域遗传算法提供了一种求解复杂系统优化问题的通用框架 它不依赖于问题的具体领域 对问题的种类有很强的鲁棒性 所以广泛应用于很多学科 下面列举一些遗传算法的主要应用领域 函数优化 组合优化 生产调度 自动控制 机器人学 图象处理 人工生命 遗传编程 机器学习等 函数优化 函数优化是遗传算法的经典应用领域 也是对遗传算法进行性能测试评价的常用算例 对于一些非线性 多模型 多目标的函数优化问题 用其他优化方法较难求解 而遗传算法却可以方便地得到较好的结果 组合优化 遗传算法是寻求组合优化问题满意解的最佳工具之一 实践证明 遗传算法对于组合优化问题中的NP完全问题非常有效 TSP问题 背包问题 图划分问题 生产调度问题 生产调度问题在很多情况下所建立起来的数学模型难以精确求解 即使经过一些简化之后可以进行求解也会因简化得太多而使求解结果与实际相差太远 现在遗传算法已经成为解决复杂调度问题的有效工具 自动控制 遗传算法已经在自动控制领域中得到了很好的应用 例如基于遗传算法的模糊控制器的优化设计 基于遗传算法的参数辨识 基于遗传算法的模糊控制规则的学习 利用遗传算法进行人工神经网络的结构优化设计和权值学习等 如 瓦斯管道控制 导弹控制 机器人控制等 机器人学 机器人是一类复杂的难以精确建模的人工系统 而遗传算法的起源就来自于对人工自适应系统的研究 所以机器人学自然成为遗传算法的一个重要应用领域 图象处理 图像处理是计算机视觉中的一个重要研究领域 在图像处理过程中 如扫描 特征提取 图像分割等不可避免地存在一些误差 这些误差会影响图像处理的效果 如何使这些误差最小是使计算机视觉达到实用化的重要要求 遗传算法在这些图像处理中的优化计算方面得到了很好的应用 如 模式识别 特征抽取 人工生命 人工生命是用计算机 机械等人工媒体模拟或构造出的具有自然生物系统特有行为的人造系统 自组织能力和自学习能力是人工生命的两大重要特征 人工生命与遗传算法有着密切的关系 基于遗传算法的进化模型是研究人工生命现象的重要理论基础 遗传编程 Koza发展了遗传编程的概念 他使用了以LISP语言所表示的编码方法 基于对一种树形结构所进行的遗传操作来自动生成计算机程序 机器学习 基于遗传算法的机器学习 在很多领域中都得到了应用 例如基于遗传算法的机器学习可用来调整人工神经网络的连接权 也可以用于人工神经网络的网络结构优化设计 规划生产规划 并行机任务分配等 设计通信网络设计 喷气发动机设计等 信号处理滤波器设计等 机器人路径规划等 遗传算法的应用 函数优化是遗传算法的经典应用领域 组合优化实践证明 遗传算法对于组合优化中的NP完全问题非常有效 自动控制如基于遗传算法的模糊控制器优化设计 基于遗传算法的参数辨识 利用遗传算法进行人工神经网络的结构优化设计和权值学习等 机器人智能控制遗传算法已经在移动机器人路径规划 关节机器人运动轨迹规划 机器人逆运动学求解 细胞机器人的结构优化和行动协调等 组合图像处理和模式识别目前已在图像恢复 图像边缘持征提取 几何形状识别等方面得到了应用 遗传算法的应用 人工生命基于遗传算法的进化模型是研究人工生命现象的重要理论基础 遗传算法已在其进化模型 学习模型 行为模型等方面显示了初步的应用能力 遗传程序设计Koza发展了遗传程序设计的慨念 他使用了以LISP语言所表示的编码方法 基于对一种树型结构所进行的遗传操作自动生成计算机程序 遗传算法的应用 遗传算法的应用 约束最优化问题 ConstrainedOptimizationProblems 的表述 1解决带约束的函数优化问题 解决途径将有约束问题转化为无约束问题 罚函数法 penaltyfunctionmethod 历史较长 改进无约束问题的方法 使之能用于有约束的情况 梯度投影算法 发展较晚 遗传算法解决有约束问题的关键是对约束条件的处理 直接按无约束问题处理是行不通的 随机生成的初始点中可能有大量不可行解 遗传算子作用于可行解后可能产生不可行解 遗传算法的应用 1解决带约束的函数优化问题 一般方法罚函数法将罚函数包含到适应度评价中 关键是如何设计罚函数 需要谨慎地在过轻或过重惩罚之间找到平衡 针对不同问题设计罚函数 遗传算法的应用 1解决带约束的函数优化问题 一般方法协同进化遗传算法 CoevolutionaryGeneticAlgorithm 1997 以食物链关系 共生关系等为基础的生物进化现象称为协同进化 一个种群由问题的解组成 另一个种群由约束组成 两个种群协同进化 较好的解应满足更好的约束 较优的约束则被更多的解所违背 遗传算法的应用 1解决带约束的函数优化问题 罚函数法评价函数的构造 加法乘法 遗传算法的应用 1解决带约束的函数优化问题 罚函数法罚函数分类 定量惩罚 简单约束问题变量惩罚 复杂约束问题 包含两个部分 可变惩罚率和违反约束的惩罚量 违反约束程度 随违反约束程度变得严重而增加惩罚压力 静态惩罚 进化迭代次数 随着进化过程的进展而增加惩罚压力 动态惩罚 遗传算法的应用 1解决带约束的函数优化问题 罚函数法交叉运算 设父个体为x x1 x2 xn 和y y1 y2 yn 简单交叉单点算术交叉整体算术交叉基于方向的交叉 x r x y x r为 0 1 之间的随机数 并假设f x f y 遗传算法的应用 1解决带约束的函数优化问题 罚函数法变异运算 设父个体为x x1 x2 xn 均匀变异非均匀变异 动态变异 边界变异 x x1 x2 xk xn xk 等概率地取用变异量的上界或下界 当最优解在可行域边界上或附近时 边界变异算子较为有效 基于方向的变异 x x r d d为目标函数的近似梯度 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法线性约束优化问题一般形式为 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法线性约束优化问题 目标函数可以是线性函数或非线性函数 思路 消除可能的变量 消除等式约束设计罚函数设计特别的遗传操作 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题将物品由7个起运站运到7个目的地 已知由i站运到j地的单位运费是Cij ai表示i站的供应量 bj表示j地的需求量 xij表示从i站到j地的运量 i j 1 2 7 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题对于非线性目标函数的构造 可以选用以下几种测试函数 1 函数A 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题 2 函数B 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题 3 函数C 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题 4 函数D 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题 5 函数E 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题 6 函数F 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题目标函数为罚函数为其中 k 1 P 1 14 f为第t代群体的平均适应度 T为最大运行代数 dij为约束的违反度 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题对于约束 个体染色体表示为 v11 v77 其约束违反度定义为 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题费用参数表对于函数A 取S 2 对于函数B E和F 取S 5 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题消除多余变量 可以消除13个变量 x11 x12 x17 x21 x31 x41 x51 x61 x71 其余36个变量设定为y1 y2 y36 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题将原规划问题转化为 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题采用的参数 种群大小40 均匀变异概率0 08 边界变异概率0 03 非均匀变异概率0 07 简单交叉概率0 10 单一算术概率0 10 整体算术概率0 10 运行代数8000 遗传算法的应用 1解决带约束的函数优化问题 遗传算法的应用 1解决带约束的函数优化问题 求解线性约束优化问题的遗传算法例 7 7运输规划问题结果比较 GENOCOP 约束优化的遗传算法 GAMS 拟牛顿法非线性最优化算法 多目标优化问题解的存在性怎样求解 遗传算法的应用 2解决多目标优化问题 Pareto最优性理论在一个有k个目标函数最小化的问题中 称决策向量x F是Pareto最优的 当不存在另外一个决策向量x F同时满足 遗传算法的应用 2解决多目标优化问题 Pareto最优性理论多目标优化问题的解通常是多个满意解的集合 称为Pareto最优集 解集中的决策向量称为非劣的 遗传算法的应用 2解决多目标优化问题 传统方法多目标加权法层次优化法目标规划法等特点 将多目标函数转化为单目标函数处理 只能得到特定条件下的某一Pareto解 遗传算法的应用 2解决多目标优化问题 多目标优化的遗传算法优势 并行地处理一组可能的解 不局限于Pareto前沿的形状和连续性 易于处理不连续的 凹形的Pareto前沿 目前基于Pareto的遗传算法占据主要地位 遗传算法的应用 2解决多目标优化问题 多目标优化的遗传算法聚合函数法 把多个目标函数表示成一个目标函数作为遗传算法的适应函数 聚合 无需改动遗传算法 但权值难以确定 改进 自适应权值 遗传算法的应用 2解决多目标优化问题 多目标优化的遗传算法向量评价遗传算法 非Pareto法 子种群的产生根据每一个目标函数分别进行选择 遗传算法的应用 2解决多目标优化问题 多目标优化的遗传算法基于排序的多目标遗传算法 根据 Pareto最优个体 的概念对所有个体进行排序 依据这个排列次序来进行进化过程中的选择运算 从而使得排在前面的Pareto最优个体将有更多的机会遗传到下一代群体 遗传算法的应用 2解决多目标优化问题 多目标优化的遗传算法小生境Pareto遗传算法 为了保证寻优过程不收敛于可行域的某一局部 使种群向均匀分布于Pareto前沿面的方向进化 通过共享函数定义一小生境加以实现 遗传算法的应用 2解决多目标优化问题 TSPBenchmark问题4194 3784 5467 2562 764 299 6858 7144 5462 8369 6460 1854 2260 8346 9138 2538 2442 5869 7171 7478 8776 1840 1340 827 6232 5835 4521 4126 4435 450 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题编码 直接采用解的表示形式 30位 30个城市 长 每位代表所经过的城市序号 无重复 适应度函数 个体所代表的路径距离的倒数 选择 轮盘赌方法 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题交叉 有序交叉法1 随机选取两个交叉点 2 两个父个体交换中间部分 3 替换交换后重复的城市序号 X1 98 45671 320X2 87 14032 965 X1 98 14032 320X2 87 45671 965 X1 98 14032 756X2 83 45671 902 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题变异 随机选择同一个个体的两个点进行交换 初始参数 种群规模100交叉概率0 8变异概率0 8终止代数2000 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 TSPBenchmark问题运行结果 遗传算法的应用 3解决组合优化问题 优化神经网络的权值神经网络建模 遗传算法的应用 4在过程建模中的应用 优化神经网络的权值例 聚丙烯生产过程熔融指数的软测量模型输入变量 加氢量 釜压 升温时间 反应时间 搅拌电流 输出变量 熔融指数 样本数据 240组现场数据 遗传算法的应用 4在过程建模中的应用 优化神经网络的权值个体的表示 w11w12 w1n wnmw1 wmb1 bmb适应度的设计 样本数据与神经网络预测数据的误差和的倒数 遗传算法的应用 4在过程建模中的应用 优化神经网络的权值适应度函数的计算 l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七彩课堂下册数学试卷
- 政府茶叶采摘活动方案策划(3篇)
- 五一饮料促销活动方案策划(3篇)
- 气泡焊接施工方案(3篇)
- 云南白酒酒窖施工方案(3篇)
- 隐蔽工程房屋施工方案(3篇)
- 心理电影剪辑活动策划方案(3篇)
- 基础安全施工方案(3篇)
- 住宅夹层施工方案(3篇)
- 老年骨质疏松症的护理
- 2025年贵州省存量房买卖合同
- 2024-2025学年湖北省武汉市高一上学期1月期末考试英语试题(解析版)
- 既有供暖蒸汽管网及设施改造项目建议书(参考范文)
- 2025-2030中国细胞分选机行业市场发展趋势与前景展望战略研究报告
- 中国特色社会主义知识点总结中职高考政治一轮复习
- 马工程西方经济学(精要本第三版)教案
- 2024年家政服务业职业技能大赛家庭照护赛项技术工作文件
- 电信装维人员服务规范
- 2025年水文勘测工(中级)职业技能考试题(附答案)
- 加油站气象灾害防御制度
- 企业事故隐患内部报告奖励制度
评论
0/150
提交评论