路径规划算法
全局路径规划算法:Dijkstra算法、蚁群算法、动态规划算法、A*算法
局部路径规划:**多项式曲线法、势场法、贝塞尔曲线、B样条曲线
Dijkstra算法
狄克斯特拉算法。是一个节点遍历其余各节点的最短路径算法,解决的是有权图中最短路径问题。
G=(V,E)是一个带权有向图,把图中节点集合V分成两组,第一组为已求出最短路径的节点集合(用S表示,初始时S只有一个源点,以后每求得一条最短路径,就将该节点加入到S集合中,直到全部节点都加入到S中,算法就该结束了)
第二组为其余未确定最短路径的节点集合(用U表示),按最短路径长度的递增次序把第二组节点加入到S中。在加入过程中,总保持从源点V到S中各节点的长度不大于从源接待你v到U中任何节点的最短路径长度。
此外,每个节点对应一个距离,S中的节点的距离就是从v到此节点的最短路径长度,U中的节点的距离,时从v到此节点只包括S中节点为中间节点的当前最短路径长度。
遍历完了所有点去维护S,时间感觉用的比较多,但是求得最短距离。
蚁群算法
模拟了自然界中蚂蚁觅食的行为。
蚂蚁在寻找食物源时,会在其经过的路径上释放一种信息素,并能感知其它蚂蚁释放的信息素。信息素的浓度大小表示路径的远近,信息素浓度越高,表示对应的路径距离越短。
通常,蚂蚁会以比较大的概率优先选择信息素浓度较高的路径,并且释放一定量的信息素,以增强该条路径上的信息素浓度,这样会形成一个正反馈。最终,蚂蚁能找到一条从巢穴到食物源的最佳路径,即距离最短。
算法思想:
用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。
路径较短的蚂蚁释放的信息素浓度量较高,随着时间的推进,较短的路径上累计达到信息素浓度逐渐增高,选择该路径的蚂蚁个数也愈来愈多。
最终,整个蚂蚁会在正反馈的作用下集中到最佳路径上,此时对应的便是待优化问题的最优解。