动态路网环境下的协同进化路径优化方法转让专利

申请号 : CN201610021915.X

文献号 : CN105571604B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡小兵廖建勤

申请人 : 北京师范大学廖建勤

摘要 :

动态路网环境下的协同进化路径优化方法。属于计算机算法和管理优化领域。其目的是解决在一个特定的动态路网环境下(即,假设路网环境的变化是可以预测的),仅仅通过一次性的优化计算(可以是离线的,从而不需要不断进行实时在线优化计算),就能保证实际走过路线(从原始起点到终点)的理论最优性的技术问题。在本发明的方法的单次路径优化计算过程中,路网环境不是静态不变的,而是会随着计算过程按给定的路网环境变化规律而变化,即,在单次优化计算中的路网环境随计算过程而协同进化;因为路网环境会协同进化,所以在路径优化过程中允许在不可通达结点和链接前的等待行为。本发明的方法可用于现实物理网络和抽象虚拟网络中的路径优化问题。

权利要求 :

1.一种动态路网环境下的协同进化路径优化方法,用以解决在一个路网环境的变化规律是已知的动态路网环境下,仅仅通过一次性的优化计算,就能保证从原始起点到终点所实际走过路线的理论最优性的技术问题,其特征是:在单次路径优化计算过程中,路网环境不是静态不变的,而是会随着计算过程按给定的路网环境变化规律而变化,即,在单次优化计算中的路网环境随计算过程而协同进化;路网环境协同进化会造成结点和链接变成暂不可通达,路径优化计算过程中会考虑运动体在暂不可通达结点和链接前的等待行为;考虑了路网环境协同进化的优化计算过程能有效保证实际走过路径的最优性和计算的时效性;

所述的方法主要包括以下几个步骤:(1)确定描述路网环境变化的规律;(2)选定一个足够小的时间单位,以确保能有效描述所给定的路网环境的变化过程;(3)初始化在原始起点时的路网环境,选定一个旅行速度常值,并计算从原始起点出发沿路网中的链接在一个时间单位长度内所能到达的所有位置,将所有这些位置记为当前阵面,并将当前阵面中所有点的前驱结点标注为原始起点,即,当前阵面中的每个点都是从原始起点走过来的;(4)如果当前阵面中包含终点,前往步骤(7),否则,前往步骤(5);(5)根据路网环境变化的规律,按一个时间单位长度计算更新路网环境;(6)基于更新的路网环境,计算从当前阵面出发沿路网中的链接在一个时间单位长度内所能到达的所有以前不曾到达过的位置,记为新的当前阵面,并根据计算过程标注好新的当前阵面中各个点的前驱结点,即,新的当前阵面中的某一个点是从上一个当前阵面中的哪一个点走过来的;如果新的当前阵面中的某一个点可以从上一个当前阵面中的多个点在当前这一个时间单位长度内到达,则该点的前驱结点应该标注为上一个当前阵面中在当前这一个时间单位长度内最早到达该点的那一个点;在计算新的当前阵面时,需要考虑运动体在暂不可通达的结点和链接前的等待行为,即,假如在更新的路网环境中,上一个当前阵面中的某个点的前方在当前这一个时间单位长度内有一个暂不可通达的结点或链接,则从该点出发而形成的新的当前阵面中还会包含该点,即运动体在该点可以有等待行为;然后返回步骤(4);(7)从终点开始,按前驱结点依次反推直到原始起点,从而确定最优路径,然后优化计算过程结束。

2.根据权利要求1所述的动态路网环境下的协同进化路径优化方法,其特征是:如果描述路网环境变化的规律是固定不变的已知的,则所述的方法仅仅通过一次性的离线优化计算就可以解决问题,而不需要不断重复进行实时的在线优化计算。

3.根据权利要求1所述的动态路网环境下的协同进化路径优化方法,其特征是:如果描述路网环境变化的规律也是随时间变化的,则所述的方法只需要在路网环境变化规律发生变化的各个时刻分别进行一次性的路径优化计算。

4.根据权利要求1所述的动态路网环境下的协同进化路径优化方法,其特征是:所述的方法可以应用于现实物理网络中的路径优化问题。

5.根据权利要求1所述的动态路网环境下的协同进化路径优化方法,其特征是:所述的方法可以应用于抽象虚拟网络中的路径优化问题。

6.根据权利要求1所述的动态路网环境下的协同进化路径优化方法,其特征是:所述的方法可以采用各种恰当的硬件计算设备和软件编程技术来实现。

说明书 :

动态路网环境下的协同进化路径优化方法

技术领域:

[0001] 本发明提供了一种动态路网环境下的协同进化路径优化方法,属于计算机算法和管理优化领域。背景技术:
[0002] 路径优化问题在日常生产和生活中随处可见,它对降低成本、提高效率具有重要的作用。最经典的路径优化问题是静态路径优化问题,即:在一个固定不变的路网环境(可以是现实的物理网络,如公路网,也可以是抽象的虚拟网络,如决策树)中寻找最优路径。然而,实际情况是:路网环境通常是会不断变化的(例如:移动的障碍物、扩散的灾害区域、不停切换的交通信号灯、结点的功能故障、以及路网环境中的其它不确定因素)。因此,经常需要在时变的路网环境中寻找最优路径,这就产生了动态路径优化问题。在求解动态路径优化问题时,通行的做法是:每当路网环境发生变化时,重新计算从运动体当前位置到终点的最优路径(或者重新优化从当前位置出发,到未来某个时间窗口内的路径,在该时间窗口内不一定能到达终点),然后按最新的优化路径继续前行,直到路网环境再次发生变化,再重新优化从新的当前位置出发的路径,如此反复,直到运动体到达终点。如果是计算从当前位置到终点的最优路径,则称为全局优化策略下的动态路径优化问题;如果是优化从当前位置到未来某个时间窗口内的路径,则称为滑动地平线策略下的动态路径优化问题。不管是哪类动态路径优化问题,都有以下四个共同的基本特点:(1)需要不停地重复进行实时的在线优化计算,因此对在线计算能力要求很高;(2)在每次进行实时在线优化计算时,路网环境被固定为该计算时刻所观察或测量到的实际路网环境,即,在每次实时在线优化过程中,所用的路网环境其实是固定不变的,是静态的,因此,每次实时在线优化计算实际是在求解静态路径优化问题;(3)在路径优化计算过程中,一般不会考虑或允许运动体在不可通达结点和链接前的等待行为(因为在单次路径优化计算过程中所用的路网环境是固定不变的,所以等待是没有意义的,单次优化计算过程中的结点和链接的通达性不会随等待时间而变化);(4)当运动体到达终点时,如果我们再回过头去分析运动体实际走过的路线(从原始起点到终点)与路网环境的变化历史,通常会发现实际走过的路线(从原始起点到终点)并不具有理论最优性,换而言之,动态路径优化问题只能保证在各个计算时刻所算出的计划路径(从当前位置到终点,或在未来某个时间窗口内)的最优性,与特定的动态路网环境下的实际走过路线的最优性并没有关系。事实上,动态路径优化问题所研究的焦点就不是实际走过路线的最优性,而是如何快速地完成实时的在线优化计算。那么,一个根本性的科学和实践问题就产生了:在一个特定的动态路网环境下(即,假设路网环境的变化是可以预测的),是否可能不需要进行实时的在线优化计算,而是仅仅通过一次性的离线优化计算,就能保证实际走过路线(从原始起点到终点)的理论最优性?本发明的方法就是要回答和解决这个问题。动态路径优化问题的本质缺陷就在于:在每次实时在线优化计算时,所使用的路网环境是静态不变的,即,在单次优化计算中的路网环境是静态不变的。本发明的方法则要突破这个本质缺陷:在进行一次路径优化计算时,所使用的路网环境是会随着计算的过程而按自己的变化规律而变化的,换而言之,在单次路径优化计算过程中,路网环境不是静态不变的,而是会与计算过程协同变化,或协同进化。正是因为这个“在单次优化计算中的路网环境随计算过程而协同进化”的特点,所以本发明的方法就叫做“动态路网环境下的协同进化路径优化方法”。发明内容:
[0003] 本发明的目的是要提供一种动态路网环境下的协同进化路径优化方法。以回答和解决在一个特定的动态路网环境下(即,假设路网环境的变化是可以预测的),仅仅通过一次性的优化计算(可以是离线的,从而不需要不断重复进行实时的在线优化计算),就能保证实际走过路线(从原始起点到终点)的理论最优性的科学和实践问题。
[0004] 本发明为解决上述问题,将通过下述的方案来实现:在本发明的方法的单次路径优化计算过程中,路网环境不是静态不变的,而是会随着计算过程按给定的路网环境变化规律而变化,即,在单次优化计算中的路网环境随计算过程而协同进化;正是因为路网环境会协同进化,所以在本发明的方法的路径优化计算过程中允许在暂不可通达结点和链接前的等待行为(因为等待可能比绕路更加节省时间和路程);考虑了路网环境协同进化的优化计算过程能有效保证实际走过路径的最优性和计算的时效性。
[0005] 本发明的方法的一次性优化计算过程包括以下几个主要步骤:(1)确定描述路网环境变化的规律;(2)选定一个足够小的时间单位;(3)初始化在原始起点时的路网环境,选定一个旅行速度常值,并计算从原始起点出发沿路网中的链接在一个时间单位长度内所能到达的当前阵面;(4)如果当前阵面中包含终点,前往步骤(7),否则,前往步骤(5);(5)根据路网环境变化的规律,按一个时间单位长度计算更新路网环境;(6)基于更新的路网环境并考虑运动体在暂不可通达结点和链接前的可能等待行为,计算从当前阵面出发沿路网中的链接在一个时间单位长度内所能到达的新的当前阵面,然后返回步骤(4);(7)根据当前阵面的演化历史,从终点开始回溯直到原始起点,从而确定最优路径。
[0006] 上述步骤中的某个时刻的当前阵面是指运动体从原始起点出发后,按选定旅行速度常值运动,运动到该时刻点时所可能到达的所有位置的集合。
[0007] 需要特别强调的是:在本发明的方法的一次性优化计算过程中,步骤(5)引入了路网环境的变化规律,因而优化计算过程中的路网环境不是静态不变的,而是随着优化计算过程而按给定的路网环境变化规律而变化;步骤(6)在计算新的当前阵面时,需要考虑运动体在暂不可通达结点和链接前的可能等待行为。本发明的方法的步骤(5)和步骤(6)的这两个特点,是传统动态路经优化方法的单次优化计算过程中所没有的。
[0008] 本发明的动态路网环境下的协同进化路径优化方法具有以下有益效果:在一个特定的动态路网环境下(即,假设路网环境的变化是可以预测的),本发明的方法能够保证实际走过路线(从原始起点到终点)的理论最优性;如果描述路网环境变化的规律是固定不变的(即路网环境可以变化,但变化的规律是确定的),则本发明的方法仅仅通过一次性的离线优化计算就可以解决问题(离线优化计算意味着可以有充足的时间充分利用各种计算资源,从而可以有效解决大规模的路径优化问题),而不需要不断重复进行实时的在线优化计算(从而不受在线优化计算的各种时间和计算资源限制);如果描述路网环境变化的规律也是随时间变化的(例如:障碍区的移动速度在开始3个小时内是10公里/小时,后来5个小时内变为15公里/小时),则本发明的方法仅需要在路网环境变化规律发生变化的各个时刻分别进行一次路径优化计算,这个计算过程可以离线完成,也可以在线完成,因为路网环境变化规律的变化相对于路网环境本身的变化而言是缓慢的,所以即便是在线计算,也有比较充足的计算时间(例如:假设障碍区的移动速度每3小时变化一次,则连续两次在线计算的时间间隔就有3个小时)。附图说明:
[0009] 附图给出本发明的动态路网环境下的协同进化路径优化方法的示意图:
[0010] 图1:动态路网环境下的协同进化路径优化方法的主要步骤示意图。
[0011] 图2:动态路网环境下的协同进化路径优化方法的求解过程示意图。
[0012] 图3:动态路网环境下的协同进化路径优化方法的求解效果示意图。具体实施方式:
[0013] 下面结合附图,对本发明的动态路网环境下的协同进化路径优化方法为解决在一个特定的动态路网环境下,仅仅通过一次性的优化计算,就能保证实际走过路线(从原始起点到终点)的理论最优性的科学和实践问题所釆用的优选方式做进一步说明。
[0014] 图1给出了本发明的方法所包括的主要步骤:
[0015] (步骤一):确定描述路网环境变化的规律;
[0016] (步骤二):选定一个足够小的时间单位,以确保能有效描述所给定的路网环境的变化过程;
[0017] (步骤三):初始化在原始起点时的路网环境,选定一个旅行速度常值,并计算从原始起点出发沿路网中的链接在一个时间单位长度内所能到达的所有位置,将所有这些位置记为当前阵面,并将当前阵面中所有点的前驱结点标注为原始起点,即,当前阵面中的每个点都是从原始起点走过来的;
[0018] (步骤四):如果当前阵面中包含终点,前往(步骤七),否则,前往(步骤五);
[0019] (步骤五):根据路网环境变化的规律,按一个时间单位长度计算更新路网环境;
[0020] (步骤六):基于更新的路网环境,计算从当前阵面出发沿路网中的链接在一个时间单位长度内所能到达的所有以前不曾到达过的位置,记为新的当前阵面,并根据计算过程标注好新的当前阵面中各个点的前驱结点,即,新的当前阵面中的某一个点是从上一个当前阵面中的哪一个点走过来的;如果新的当前阵面中的某一个点可以从上一个当前阵面中的多个点在当前这一个时间单位长度内到达,则该点的前驱结点应该标注为上一个当前阵面中在当前这一个时间单位长度内最早到达该点的那一个点;特别强调的是,在计算新的当前阵面时,需要考虑运动体在暂不可通达的结点和链接前的等待行为(因为有时在障碍区前等待比绕路绕过障碍区更节省时间和路程),换句话说,假如上一个当前阵面中的某个点的前方在当前这一个时间单位长度内有一个暂不可通达的结点或链接(根据更新的路网环境),则从该点出发而形成的新的当前阵面中还会包含该点,即运动体在该点可以有等待行为;然后返回(步骤四)。
[0021] (步骤七):从终点开始,按前驱结点依次反推直到原始起点,从而确定最优路径,然后优化计算过程结束。
[0022] 图2给出了一个按本发明的方法一次性求解动态路网环境下最优路径的求解过程示例。在图2所示例的一次性求解过程中,需要考虑到未来5个时刻,路网环境在这5个未来时刻是各不一样的,即路网环境在一次性求解过程中是随着未来时刻的变化而变化的。如果换成传统的动态路经优化方法,则在其一次实时在线求解过程中的各个未来时刻所对应的路网环境都是相同的。
[0023] 在图2所示例的一次性求解过程中,未来时刻1的当前阵面都是从原始起点出发沿未来时刻1路网中的可通达链接在一个单位时间长度内所到达的位置,其中包括结点2和链接(1,9)上的一个点;未来时刻1的当前阵面上所有点的前驱结点都是原始起点,即结点1。未来时刻2的当前阵面则是从未来时刻1的当前阵面上的点出发沿未来时刻2路网中的可通达链接在一个单位时间长度内所到达的以前没有到达过的位置,其中包括结点4(其前驱结点是结点2),链接(2,3)上的一个点(其前驱结点是结点2),以及链接(1,9)上的一个点(其前驱结点是原始起点)。未来时刻3的当前阵面则是从未来时刻2的当前阵面上的点出发沿未来时刻3路网中的可通达链接在一个单位时间长度内所到达的以前没有到达过的位置,其中包括结点5(其前驱结点是结点4),结点3(其前驱结点是结点2),以及结点9(其前驱结点是原始起点)。未来时刻4的当前阵面则是从未来时刻3的当前阵面上的点出发沿未来时刻4路网中的可通达链接在一个单位时间长度内所到达的以前没有到达过的位置,其中包括结点6(其前驱结点是结点3,或者结点5),结点7(其前驱结点是结点5),以及结点9(其前驱结点是原始起点);请注意,因为结点9是未来时刻3的当前阵面上的点,而结点9在未来时刻4的路网中是不可通达的,考虑到运动体可以在结点9前等待,所以未来时刻4的当前阵面仍然含有结点9。未来时刻5的当前阵面则是从未来时刻4的当前阵面上的点出发沿未来时刻5路网中的可通达链接在一个单位时间长度内所到达的以前没有到达过的位置,其中包括结点8(其前驱结点是结点6,或者结点7),链接(9,10)上的一个点(其前驱结点是结点9),以及结点10,即终点(其前驱结点是结点7)。因为未来时刻5的当前阵面中包含了终点,从终点开始,按前驱结点依次反推直到原始起点,从而求出在给定的动态路网环境下的最优路径就是1→2→4→5→7→10,所以求解过程结束。
[0024] 如果换成传统的动态路经优化方法来求解图2所示例的问题,则运动体会先沿链接(1,9)向结点9运动,可是当运动体到达结点9时,正好赶上结点9变为不可通达,由于传统的动态路经优化方法不允许等待行为,运动体不得不沿链接(1,9)向结点1返回运动。这一来一返,最终导致传统动态路经优化方法下的实际走过路线所对应的旅行时间大大增加。
[0025] 图3给出了一组本发明的方法与传统动态路经优化方法的对比实验的结果。
[0026] 由图3可以看出,在对比实验中,因为开始阶段的障碍区域不在路网的中心区域,所以传统动态路经优化方法计划沿接近对角线的路线运动。可是当运动体运动接近路网的中心区域时,障碍区域已经移动到了路网的中心区域,从而阻断了传统动态路经优化方法先前所计划的路线。因而,传统动态路经优化方法不得不基于运动体的当前位置重新优化后面的运动路线。在相当一段时间里,传统动态路经优化方法实时在线重新优化的结果都是试图右转绕过障碍区域(基于在线优化时刻的静态路网所算出的最优结果)。但是,由于障碍区域不停地从左向右移动,所以传统动态路经优化方法实时在线重新优化出的运动路线总是被移动的障碍区域所阻断。过了很久,传统动态路经优化方法才算出左转绕过障碍区域的运动路线。结果,在图3的对比实验中,传统动态路经优化方法下的实际走过路线的长度为4517.3。
[0027] 根据本发明的方法,只需要从原始起点进行一次性的优化计算。由图3可以看出,由于在一次性的优化计算过程中考虑了路网环境的协同进化以及在暂不可通达结点和链接前的等待行为,本发明的方法所得出的优化路径从原始起点出发时就左转以便恰当地避开移动的障碍区域。结果,本发明的方法下的实际走过路线的长度仅为3280.8,远小于传统动态路经优化方法下的实际走过路线的长度。