摘 要: | 进路搜索是计算机联锁系统的主要功能之一。针对联锁表查表搜索算法耗时多、效率低的缺点,利用A*算法对联锁的进路搜索过程进行优化。首先利用启发函数控制搜索过程的趋向性,以减少进路搜索中遍历节点的数量;其次采用链表优化程序结构,建立搜索节点之间的方向关系,以提高算法的整体搜索效率。为验证算法的功能和性能,搭建测试平台,上位机基于Visual C++6.0编程,设计站场界面作为控制台,联锁进路搜索功能则由STM32单片机实现,站场数据存储在外部FLASH里,单片机通过文件系统读取,进路搜索出的节点数据保存在链表里,并返回给上位机。测试表明:经A*算法优化的进路搜索程序相比其他搜索算法效率更高,尤其是当进路较长或道岔较多时,效果更加明显。
|