基于fpga的遗传算法在交通控制中的应用

基于fpga的遗传算法在交通控制中的应用

ID:25088233

大小:63.00 KB

页数:11页

时间:2018-11-18

基于fpga的遗传算法在交通控制中的应用_第1页
基于fpga的遗传算法在交通控制中的应用_第2页
基于fpga的遗传算法在交通控制中的应用_第3页
基于fpga的遗传算法在交通控制中的应用_第4页
基于fpga的遗传算法在交通控制中的应用_第5页
资源描述:

《基于fpga的遗传算法在交通控制中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于FPGA的遗传算法在交通控制中的应用张丽霞1,唐泽2(1.四川交通职业技术学院信息工程系,四川成都611130;2.西南交通大学信息科学与技术学院,四川成都610000)摘要:智能交通灯是智能交通系统的重要组成部分,它能有效增加道路的通行能力,改善交通状况。采用道路各相位在一个周期内滞留的车辆数作为识别判据,将遗传算法应用到交通灯控制中,并且利用FPGA的并行计算优势,实现算法的硬件化,减少算法的运行时间。交通灯整体的实现基于NiosⅡ嵌入式处理器。实验结果表明,交通灯能根据车流量实现智能配时,基于FPGA的遗传算法比基于传统计算机的遗传算法在运行速度上有很大的提高,使得

2、一些大规模、复杂的问题有了解决的可能性。.jyqkmableGateArray,FPGA)的出现及它的并行计算优势,使得基于FPGA的遗传算法在运行时间上会有数量级的提高[3]。这样不仅提高了系统的性能,也增加了遗传算法的实用性。交通灯整体基于Altera公司NiosⅡ嵌入式处理器的SoPC(SystemonaProgrammableChip)方案,即把用户定义的遗传算法逻辑模块与NiosⅡ处理器联合构成SoPC系统。NiosⅡ处理器具有完全可定制和重新配置的特性,可根据不同的应用场合添加制定各种外设、存储器和接口等设备,灵活性强,升级换代的成本低,利于产品的生存[4]。1遗

3、传算法的硬件实现遗传算法(GeicAlgorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法的基本思想是系统维持一个种群,种群由一组染色体构成,染色体是一组数据结构,它表示所求解问题的一个可能解。种群通过竞争和受控变异不断进化,从而得到越来越优的解[5]。遗传算法的求解过程[6]见图1。1.1遗传算法的运行参数遗传算法在本文中所用到的参数见表1。1.2遗传算法的硬件结构由于采用VHDL语言一次性编写遗传算法的工作量太大,工程太复杂,也容易出错;所以本文对遗传算法编写的主要思想是把遗传算法看作一

4、个电路,而这个电路由若干的子模块构成。这样只要确定每个子模块的工作顺序就可以使整个遗传算法正常工作。这样把遗传算法拆解为一个个的子模块不仅简化了程序编写的难度,而且在算法升级改进时只需要更改其中的某一个子模块,升级的成本更低。从遗传算法的实现原理着手,基于FPGA的遗传算法主要包括初始化模块、随机数模块、适应度模块、存储模块、选择模块、交叉模块、变异模块、地址产生模块、地址选通模块、输出模块和控制模块等。硬件框图如图2所示。1.3算法的工作原理基于FPGA的遗传算法的工作流程主要有以下几步:(1)初始化模块最先开始工作,它先随机的产生一个种群和种群对应的地址。当种群个体达到预

5、定个数后,个体选通模块只选通变异模块产生的个体,这样在结果上看来初始化模块已停止工作。(2)个体的选通。从图3的工作流程可以看出,变异模块也会产生新的个体,为了避免和初始化产生的个体相冲突,个体选择模块根据一定的时序约束,有序的对变异模块和初始化模块产生的个体进行选通。(3)地址选通。存储器中每个存储的数据都有一个对应的存储地址,这样方便数据的读和写。首先分析基于FPGA的遗传算法中都有哪些第一,初始化种群时对初始化个体的存储地址;第二,变异模块产生的个体在存储时的地址;第三,选择模块从存储器中读取数据时的地址。由以上三点可以看出,为了各地址的不冲突,地址选通模块会根据工作状

6、态有序地选通地址,即当其中一个地址工作时,禁用其他两地址。(4)适应度值计算模块。适应度的计算是遗传算法中的重要部分,它代表所求解问题的数学模型。(5)遗传操作。遗传操作是遗传算法的核心部分,它包括选择、交叉和变异操作。经过遗传操作后会产生全新的适应度值更优的个体。(6)输出。当达到进化代数后,输出最优个体。图3虚框部分表示遗传算法一次完整的遗传操作所经历的步骤。1.4算法的实现及测试遗传算法采用VHDL语言编程,在QuartusⅡ软件里进行仿真。所用到的器件为Altera公司的CycloneⅢEP3C5E144C8。为了测试算法的正确性,采用下面的测试函数进行仿真,测试函数

7、如下所示:选取的函数是几个比较基本的、容易验证的求极值函数,常常用于遗传算法的性能测试中[3]。表2所示为三个函数的仿真结果。软件实现的遗传算法采用C语言编写,运行在主频为2.4GHz,内存1GB的微机上,通过MicrosoftVC++6.0平台仿真实现。从表2的结果可以看出,硬件实现的遗传算法在运行速度上比软件快3个数量级,且能得到和软件相近的结果。其中f3(x)的仿真截图见图4。2交通灯控制系统现在大部分交通信号灯都采用固定周期控制,难以满足复杂多变的交通状况,造成资源浪费[6]。本文提出基于道路饱

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。