首页 理论教育启发式遗传算法的流程设计

启发式遗传算法的流程设计

【摘要】:具体的遗传算法流程如图5-6 所示, 分为种群初始化、 选择和复制、 交叉、 变异与终止几个步骤:种群初始化。遗传算法中起核心作用的交叉算子, 特点是能使父串的特征遗传给子串, 子串应该能够部分或者全部地继承父串的结构特征和有效基因。图5-6启发式遗传算法流程图终止。针对纳什平衡求解问题, 运用启发式遗传基因算法进行寻优。

具体的遗传算法流程如图5-6 所示, 分为种群初始化、 选择和复制、 交叉、 变异与终止几个步骤:

(1)种群初始化。

遗传算法中初始种群可以是随机产生的, 但为了提高搜索效率, 减少运算的次数, 一般根据描述问题固有的知识, 把握最优解在整个问题空间中的分布范围, 在此范围内设定初始种群。 根据编码的设计, 染色体链编码设定为S × N 维矩阵( S: 产品数量i =1, 2, …, n; N: 定义的变量)。 根据目标函数(5-1)和(5-2),每一个染色体链被赋予一个适应值。

图5-5 遗传编码映像机制

(2)选择和复制。

选择和复制是指从当前群体中按照一定的概率, 根据染色体适应度值的优良, 选出一部分作为父代繁殖下一代子孙。 这一理论借助了达尔文适者生存的进化理论。 个体适应度值越高, 被选择的机会越多。 在选择的过程中, 根据事先录入的阈值信息进行搜索, 在符合指定阈值之内, 将作为合法种群, 进行种群更新, 如果不在指定阈值之内, 将作为不合法种群, 被拒绝掉。 经过选择和复制的过程, 合法的染色体被保留下来, 种群库相应地更新。

(3)交叉。

遗传算法中起核心作用的交叉算子, 特点是能使父串的特征遗传给子串, 子串应该能够部分或者全部地继承父串的结构特征和有效基因。 基本的交叉算子有单点交叉、 两点交叉、 均匀交叉以及一些修正的交叉方法。 本节采用单点随机交叉, 交叉率为0.80。

(4)变异。

在选择和交叉的过程中, 有些基因段可能会丢失, 为了维持种群的多样性, 防止算法过早收敛运用变异的方法对遗传基因进行修复和补充。 根据经验值变异率一般设定为0.01。

图5-6 启发式遗传算法流程图

(5)终止。

经过交叉和变异, 新的种群产生, 会检查是否满足事先定义的收敛速率和迭代次数, 根据适应度值, 即赢得函数值对种群进行定级, 根据Pareto 最优原则取前20%。 这样循环进行直到满足0.1%的收敛速率和200 次迭代次数, 运算停止, 输出适应函数值, 并作为纳什平衡解。

本章根据半导体封装测试生产计划与调度的复杂性和动态变化性, 讨论了现有半导体封装测试生产过程存在的问题。 在ATO 模式的基础上, 对二者进行了模块化划分, 建立了基于多Agent 的半成品延迟分化协同模型。 该模型以半成品仓库SFGI 为耦合点, 对生产计划与调度过程的原材料、 在制品、 半成品、 订单等多因素进行集成优化。 对SFGDD 模型中的协同关系进行量化处理, 提出了日库存量(days of inventory, DOI)的定义, 并详细讨论了各Agent的功能以及相互之间的交互过程。 并对模型协同优化参数, 纳什平衡中赢得函数及其求解过程进行深入的讨论。 之后, 研究了模型中调度Agent 与订单Agent 协商交互性问题, 建立了基于对策论的多Agent 协商模型, 并嵌入了“阈值保证”和“触发补偿”机制进行优化。 针对纳什平衡求解问题, 运用启发式遗传基因算法进行寻优。通过在S 半导体封装测试工厂仿真比较, 相比合同网协议, 表明了基于对策论的协商机制和纳什平衡基因算法寻优更适用于交互性复杂, 变动性较大的生产制造系统。