遗传算法

一、遗传算法基本步骤

  • step1:初始化种群
    随机生成一个包含多个个体的初始种群,一个个体其实是一个可行解。设置初始的迭代次数 Iter,交叉概率 Pc 和变异概率Pm。
  • step2:适应度评估
    用适应度来评估每个个体的好坏,给个体打分。
  • step3:选择
    根据适应度选择个体进行繁殖,适应度高的个体被选择的概率更大。常用轮盘赌选择算法。 。
    个体i被选择的概率 = 个体i的适应度 / 所有个体的适应度之和
  • step4:交叉
    随机选择两个个体进行交叉操作,生成N个新个体。
  • step5:变异
    随机选若干个个体的部分基因变异,引入多样性。包括二元变异、差分变异、高斯变异
  • step6:替换
    将新生成的N个个体加入到种群中,并保留部分优秀的老个体M个,形成新的种群共(N+M)个个体。
  • step7:终止条件
    判断是否满足终止条件,如达到最大迭代次数或适应度达到预设阈值。如果满足条件,则输出最佳解;否则,返回step2。

二、遗传模拟退火算法基本步骤
核心思想是通过模拟物理中的退火过程来寻找问题的最优解。在退火过程中,系统从一个高温状态开始,逐渐降低温度,直到达到零温度。在每个温度状态下,系统会随机地尝试新的状态,如果新状态的能量低于当前状态,则接受新状态;如果新状态的能量高于当前状态,则根据温度和能量差概率接受新状态。通过这种方式,算法可以逐渐逼近问题的最优解。

  • step1:初始化
    随机生成一个包含多个个体的初始种群,给每个个体设置初始温度。
  • step-step4:不变
  • step6:模拟退火
    在当前个体的邻域中随机选择一个新的个体,计算它们的“能量差”(即适应度的差),如果新的个体更优,直接接受;如果更差,根据概率P接受,允许偶尔接受较差解以跳出局部最优。

    逐渐降低温度,使搜索过程逐步收敛。
  • step7:迭代过程
    交叉变异和模拟退火优化后的个体形成新一代种群。重复step2-step6.
  • step7:终止条件同上

三、韩老师急救设施布局 优化算法

  • step1:初始化种群
    一个个体:表示一个完整的解决方案,包括所有医疗卫生用地的选择状态。

    地块:在个体的表示中,每个地块对应一个位置,1表示选择该地块,0为不选择。
  • step2:适应度评估
    适应度函数:采用已选站点到到对应需求点的时间和,对个体进行评价,并记录当前最好个体。
  • step3:选择
  • step4:交叉操作和自监督机制
    选择多个位置进行基因重组,引入自监督算子:已选站点到对应需要点的时间以置信概率P小于8分钟。

  • step5:变异
    对个体进行二进制变异(如将 0 变为 1 或 1 变为 0),以引入多样性;并引入自监督算子以增强局部搜索能力?
  • step6:迭代过程
    评价个体适应度,并判断是否满足终止条件,若不满足,返回step3,若满足,则算法终止;
  • step7:终止条件
    迭代直到找到最优解。

四、多目标遗传算法NSGA-II:同时优化多个目标,寻找一组帕累托最优解

  • step2:适应度评估对每个个体计算多个目标的适应度值。
posted @ 2024-11-13 20:47  FTISLAND-  阅读(85)  评论(0编辑  收藏  举报