【优化求解】遗传算法求解红绿灯管理优化问题【含Matlab源码 262期】

在这里插入图片描述

⛄一、遗传算法

遗传算法是经过选择、复制和变异过程后发现最优解的一种方法,由生物领域的遗传演化衍生而来。遗传算法模拟自然进化论这一特点使其能够一代接一代进行复制而同时去除不合适解。在遗传算法里,最适合解或最优解会在整个过程结束后保存下来。

(1)染色体种群
需要对范围内的染色体或解构成的种群进行判断。在交通流控制方面,染色体是指交通灯系统里的绿灯时间。种群范围设为大于0,因为绿灯时间不可能小于0。种群里的染色体个数也需要确定,因为解的数量决定了优化速度以及所求解的准确度。如果种群里生成的解过多,那么找到最适合的最优解所需时间就更长。但如果解的个数过少或偏小,遗传算法可能会无法找到最适合的优化解。所以,必须仔细选出适当数目的染色体,因为交通流控制既要求速度也要求准确性。在交通流控制方面,染色体的个数设为50,指的是遗传算法会在种群里生成50 个解,且从中找到最适合的解。

需要对种群的初始范围进行仔细筛选。如果得当,遗传算法就能够选出最佳兴趣点。种群的初始范围也就是遗传算法开始时首批生成的种群的染色体范围。范围恰当的话将会为遗传算法找到所需或最佳染色体节约大量时间。如果范围太小,将影响染色体的多样性,以致遗传算法在操作过程中会遗漏掉的最佳点而陷入局部最佳。所以找到合适的初始范围对交通流控制很重要,本文选用范围为0-80。

(2)染色体生成与复制
另一个重要方面是遗传算法需要进行的迭代次数。这是遗传算法的停止规则之一,当遗传算法运算所需的迭代次数确定好遗传算法就会停止操作。对于交通流控制,遗传算法的迭代次数是100 次。这个次数是在认真考虑了迭代次数对遗传算法有关的影响之后得出的。如果迭代次数太多,遗传算法可能要执行较长的计算时间后才能停止下来。另一方面,如果迭代次数太少,遗传算法的效率可能不如预期的好,因为遗传算法无法从种群中找到最佳染色体。

交叉部分是指复制所需的选择过程完成后来自父代或染

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值