买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】运用基于重用策略的智能群体算法优化动态旅行商问题的方法_华南理工大学_201711275295.3 

申请/专利权人:华南理工大学

申请日:2017-12-06

公开(公告)日:2021-07-20

公开(公告)号:CN108053059B

主分类号:G06Q10/04(20120101)

分类号:G06Q10/04(20120101)

优先权:

专利状态码:有效-授权

法律状态:2021.07.20#授权;2018.06.12#实质审查的生效;2018.05.18#公开

摘要:本发明公开了一种运用基于重用策略的智能群体算法优化动态旅行商问题的方法。传统的旅行商问题需要在一个静态的搜索空间中找到一条代价最小的哈密顿回路。但实际上,现实世界中一些可以以旅行商问题为模型的应用并不都是静态的。它们的问题模型中的城市集合和权重矩阵是动态变化的。在动态环境中,上一次环境中搜索结果可以被新环境下的群体重用并得以学习。这样可以缩小问题的搜索空间,从而让算法在更短的时间内搜索到更优的路径。本发明提出了一种更具现实意义的动态旅行商建模方法以及将一种对历史搜索结果重新利用的策略,在实验中,通过设定环境不同程度的改变来测试方法的动态性能,证明了本发明在不同的动态环境下均合理有效。

主权项:1.一种运用基于重用策略的智能群体算法优化动态旅行商问题的方法,其特征在于,所述的方法包括:S1、动态旅行商模型框架设计步骤,动态旅行商模型被设计成如下的一系列状态的改变,访问结点集合的变化或者路径权值的变化都将导致搜索空间的状态改变,每一个状态只对应访问结点集合的改变或者权值矩阵的改变,并且序列S中从s1开始的任意两个相邻的状态的改变方式是前后一致的,搜索空间的状态改变可表示为:S=s0s1s2s3...sk...sμ其中,s0代表初始状态,sk代表搜索空间的第k个状态,μ代表搜索空间发生改变的次数总和,从状态sk到状态sk+1的转变表明搜索空间发生改变;S2、路径权值动态改变的实施步骤,在权值改变情况下,每一个特定的状态都有一个唯一的权值矩阵与其对应,在sk状态下的权值矩阵记为可表示如下: 其中为在状态sk中需要访问结点的总数,在路径权值动态改变的情况下,所有状态中需要访问的结点集合大小是不变的,即从状态sk到状态sk+1可表示如下: 其中Dc∈[Lb,Ub],Lb和Ub分别代表权值改变因子的上限和下限,和分别代表在状态sk和在状态sk+1中,从结点i到结点j的权值大小,是初始状态下从结点i到结点j权值的大小,randij是为产生的一个随机数,Nc是预先设置的0到1之间的参数;S3、访问结点集合动态改变的实施步骤,在访问结点集合动态改变的情况下,原始状态中需要访问的访问结点集合表示为中访问结点总数记为后续状态sk中需要访问的访问结点集合表示为中访问结点总数记为从状态sk到sk+1的转变中,某些结点会被暂时从访问结点集合中添加或删除,假设中的结点集合为: 在转变之前,模型会随机生成一个可正可负整数满足以下两个条件: 其中,Nr和Df都是0到1之间的范围因子,Df用来控制相邻两个状态访问结点集合改变程度的大小,Nr用来控制访问结点集合大小的范围,如果小于0,对于每个在中的结点,模型会产生一个随机数rndi来模拟结点访问的随机性,如果存在于则结点将从中暂时移除,如果大于0,中的结点将会被添加到中,这样,在状态下需要访问的结点可以表示为: S4、优化目标步骤,用cij和yij分别表示如下的二元决策变量: 其中,xk表示在状态sk中找到的最小路径值,edgeij表示结点i和结点j构成的边,优化的目标是在任意状态sk中要找到一条所有结点都在中的路径代价最小的哈密顿回路;S5、重用策略实施步骤,将学习到状态sk为止的前次环境中所有保存在外部存储器Archive中最好的解,此重用的过程可以定义为: 其中,代表在状态中种群所有个体的历史最优可行解,在重新使用Archive之前,如果环境发生的是访问节点集合的改变,则需要对外部存储器Archive中的解进行调整,调整以后,状态sk+1和外部存储器Archive每一个解要访问的结点集合是相同的,这些粒子可以被重用到状态sk的优化中,如果环境发生的是权值改变,则直接使用保存在外部存储器Archive中的解。

全文数据:运用基于重用策略的智能群体算法优化动态旅行商问题的方法技术领域[0001]本发明涉及动态旅行商建模和智能计算技术领域,具体涉及一种运用基于重用策略的智能群体算法优化动态旅行商问题的方法。背景技术[0002]旅行商问题(TravelingSalesmanProblem,TSP自提出以来就一直被认为是经典的组合优化问题,售货员需要在一个固定的无向图G={V,A,W}中找到一条从某一城市结点出发遍历其它所有城市结点一次,最后回到出发点的最短的哈密顿回路,其中V表示一组给定的结点在不同的问题模型中,结点的代表对象不同),A表示图中所有无向边的集合,W是关于无向图G的加权矩阵。矩阵中的每一个元素的值代表从与其相关联的两个城市的距离。旅行商问题的模型已经被成功地扩展到解决线路调度、机器调度及测序、物流系统设计等一系列实际问题上。与此同时,一些具有针对性的算法相继被提出并且成功的应用到静态场景的优化中。但实际上,现实世界中一些可以以旅行商问题为模型的应用并不都是静态的,也就是说在它们的问题模型中无向图G包含的结点集合和权重矩阵是动态变化的,这就导致了动态旅行商为题的产生。动态旅行商问题来源于现实,其动态场景在现实中有很多的实例,比如校车接送学生问题以及邮递员的收发信件问题。也就是说,当某些学生有特殊事由不能上课或有些地方的人没有信件收发时,校车和邮递员就不需要去这些地方。这些情形就使得它们每天要去的目的地集合是不定的。另一方面,如果两个结点之间的最短路径不可达时(由于道路故障,交通堵塞等原因造成),售货员需要选择一条次优的路径,这就导致了这两个结点的遍历距离发生改变物理空间距离不变)。在这两种情况下,售货员的目标仍然是在动态变化的目标结点集合中寻找到一条从初始点出发遍历其它所有存在于目标集合中结点一次最后回到初始出发点的哈密顿回路。由于其动态场景的广泛性和现实性,对动态旅行商问题的研究不仅极具现实意义而且在物流行业中可以帮助企业减少运输成本。在这种情况下,为动态旅行商问题设计出一个合乎实际的模型来测试其相关求解算法是必要并且具有现实应用价值的。由于动态旅行商问题是基于传统静态旅行商问题的一种延伸,其本质还是组合优化问题,所以同样可以使用一些常用于解决组合优化问题的方法来求解。这些算法主要分为确定性算法和随机算法两种。确定性算法,比如梯度法和爬山法、分支定界法等,容易陷入局部最优点,导致次优的路径遍历长度。而且一些确定性算法过于依赖初始搜索点的选择,因此往往不适用于动态旅行商问题的优化。相对的,随机算法能够广泛地对解空间进行搜索,因此比确定性的方法更适合于动态旅行商问题的优化。一种具有代表性的随机算法,也就是进化算法吸引了众多研究者的关注。进化算法的特点是几乎不需要所求问题的任何信息而只需要优化目标的信息。它不受搜索空间限制性假设的约束,不要求如连续性、可导性等假设,能从离散的、多极值的、含有噪音的高维的问题中以很高的概率找到全局最优解。其中,粒子群算法是其重要的一个分支,是一种模拟自然界中鸟群和鱼群捕食的随机搜索算法。粒子群算法由于其更新规则清晰,简单实用,自提出以来就得到了广发的应用,例如动态分配、医学图形配准、机器学习与训练、数据挖掘与分类等领域。与其它的进化算法相比,粒子群算法具有收敛速度快,解的质量稳定等优点。目前的粒子群算法主要针对连续空下的问题求解,不少学者曾尝试将连续空间下的粒子群算法扩展到离散空间下。在这些尝试中,一种比较成功的是基于集合和概率理论的粒子群优化算法。这种算法将整个离散的搜索空间看成是一个全集,任何一个可行解都被看作是这个全集的一个子集,在连续空间下的每个粒子的速度被定义成是一组带概率的边的集合。在优化过程中,连续空间中速度和位置的更新操作都被替换成定义在集合上的速度和位置的更新操作。这种算法具有易扩展、性能稳定等优点并且已经被扩展到了一些诸如带时间窗的路径问题的优化中。所以,这种基于集合和概率论的粒子群算法十分适合动态旅行商问题的求解。此外,一种模拟蚂蚁在寻找食物过程中通过信息素来发现路径的行为的蚁群算法被提出来用以解决旅行商问题。蚁群算法具有鲁棒性强、全局搜索、并行分布式计算、易于其它问题结合等优点,并且它的应用领域越来越广泛,如车间调度问题、车辆路径问题、网络路由问题、蛋白质折叠等问题。这些问题大部分都是NP难的组合优化问题,一些传统的算法难求解或无法求解,而蚁群算法为这些难题的求解提供了有效的手段。所以,蚁群算法十分适用于动态旅行商问题的求解。因此也十分适合于动态旅行商问题的优化。发明内容[0003]本发明的目的是为了解决现有技术中的上述缺陷,提供一种运用基于重用策略的智能群体算法优化动态旅行商问题的方法。[0004]本发明的目的可以通过采取如下技术方案达到:[0005]—种运用基于重用策略的智能群体算法优化动态旅行商问题的方法,所述的方法包括:[0006]Sl、动态旅行商模型框架设计步骤,动态旅行商模型被设计成如下的一系列状态的改变,访问结点集合的变化或者权值矩阵的变化都将导致搜索空间的状态改变,每一个状态只对应访问结点集合的改变或者权值矩阵的改变,并且序列S中从81开始的任意两个相邻的状态的改变方式是前后一致的,搜索空间的状态改变可表示为:[0007]S=S0SlS2S3---Sk---Su[0008]其中,so代表初始状态,Sk代表搜索空间的第k个状态,μ代表搜索空间发生改变的次数总和,从状态Sk到状态sk+1的转变表明搜索空间发生改变;[0009]S2、路径权值动态改变的实施步骤,在权值改变情况下,每一个特定的状态都有一个唯一的权值矩阵与其对应,在Sk状态下的权值矩阵记为%4,可表示如下:[0011]其中为在状态81{中需要访问结点的总数,在路径权值动态改变的情况下,所有状态中需要访问的结点集合大小是不变的,即从状态Sk到状态+1可表示如下:[0013]其中Dce[Lb,Ub],Lb和Ub分别代表权值改变因子的上限和下限,分别代表在状态Sk和在状态sk+冲,从结点i到结点j的权值大小,~是初始状态下从结点i到结点j权值的大小,randij是为产生的一个随机数,Nc是0到1之间的参数;[0014]S3、访问结点动态改变的实施步骤,在访问结点动态改变的情况下,原始状态中需要访问的结点结合表示为,访问结点总数记为Isij,后续状态Sk中需要访问的结点集合表示为匕,访问结点总数记为#,从状态Sk到+1的转变中,某些结点会被暂时从访问结点集合匕中添加或删除,假设,4中的结点集合为:[0016]在转变,之前,模型会随机生成一个可正可负整数满足以下两个条件:[0019]其中,μ是状态数,Nr和Df都是0到1之间的范围因子,Df用来控制相邻两个状态访问结点集合改变程度的大小,Nr用来控制访问结点集合大小的范围,如果、,小于0,对于每个在Rs,中的结点,模型会产生一个随机数rncU来模拟结点访问的随机性,如果从状态Sk到状态+1可表示如下:[0073]其中Dce[Lb,Ub],Lb和Ub分别代表权值改变因子的上限和下限,U卩弋^,分别代表在状态Sk和在状态sk+1中,从结点i到结点j的权值大小,是初始状态下从结点i到结点j权值的大小,rancUj是为产生的一个随机数,Nc是0到1之间的参数。[0074]S3、访问结点动态改变的实施方式:[0075]在访问结点动态改变的情况下,原始状态中需要访问的结点结合表示为,访问结点总数记为义,。后续状态Sk中需要访问的结点集合表示为k,访问结点总数记为'。从状态Sk到sk+1的转变中,某些结点会被暂时从访问结点集合^t中添加或删除。假设\中的结点集合为:[0077]在转变之前,模型会随机生成一个可正可负整数〃^^,满足以下两个条件:[0080]其中,Nr和Df都是0到1之间的范围因子,Df用来控制相邻两个状态访问结点集合改变程度的大小,Nr用来控制访问结点集合大小的范围。如果小于0,对于每个在Gst中的结点,模型会产生一个随机数rncU来模拟结点F1Isd'访问的随机性。如果匕,存在于.k.k,则结启〃将从\中暂时移除。如果,大于〇,匕4中的结点C'将会被添加到心,中。这样,在状态匕^下需要访问的结点可以表示为:[0082]在这种情况下,原始状态中需要访问的结点构成全集,后续的任意状态Sk中需要访问的结点集合都是的子集。访问结点集合的大小对应着新环境中种群可行解的维度。[0083]S4、优化目标:[0084]用¾和yij分别表示如下的二元决策变量[0088]其中,Xk表示在状态Sk中找到的最小路径值,edgei^示结点i和结点j构成的边。优化的目标是在任意状态Sk中要找到一条所有结点都在匕中的路径代价最小的哈密顿回路。[0089]S5、重用策略具体实施方式:[0090]在重用策略中,发明的算法将学习到状态Sk为止的前0次环境中所有保存在Archive中最好的解。这个从重用的过程可以定义为:[0092]其中代表在状态中种群所有个体的历史最优可行解。在重新使用Archive之前,如果环境发生的是维度改变,则需要对Archive中的解进行一些调整,调整步骤如下:[0093]S501、计算出每个Archive个体Ari中的结点的个数Ni;[0094]S502、通过如下式子计算出要暂时从Ar1移除或是要添加到Ar1中的结点并将它们存放在Qi中,[0096]S503、如果氧μ灰;,说明访问的结点数增加。对于Archive中的每一个解Ari将Q1*的每一个结点按照使路径最短的规则方式插入到Ar1*。否则,将Ar1中和〇,相同的每一个结点直接删除,并使得删除结点的前驱和后继结点直接相邻。[0097]在进行这种调整后,状态Sk+1和Archive每一个解要访问的结点集合是相同,这样就使得这些粒子可以被重用到状态Sk的优化中。如果环境发生的是权值改变,则直接使用保存在Archive中的解。[0098]基于集合的粒子群算法使用的粒子速度和位置更新规则可表示为:[0101]其中,ω为惯性权重,C为加速系数,fdd代表第i个粒子的第d维的学习对象,该对象可以是自己,也可以是种群中的其它粒子。学习对象取决于每个粒子相对应的参数Pci,Pci可表不为:[0103]对于每个粒子的每一维d将会产生一个随机数,如果这个随机数大于Pc1,则会向自己pbest的第d维学习。否则它会向其它粒子的pbest的第d维学习。当环境发生改变时,Archive中的最优的popsize个解将会被选作新种群的pbest,而后会在后面的过程中被替代,以防止种群在优化过程中过度收到这些pbest的吸引而陷入局部最优。基于重用策略的集合粒子群算法优化动态旅行商问题的流程图如图3所示。[0104]在蚁群算法中,环境发生改变时,蚁群的信息素矩阵将会被重新初始化。在信息素矩阵完成初始化之后,所有属于Archive中的最优的popsize个解的边上的信息素将会被执行一个增量操作,这个操作可以表示为:[0105]Tij=Tij+a·τ〇[0106]其中Tlj表示edgey上当前的信息素的量,το是新环境下通过贪心算法求得的路径的倒数,a为信息素的衰变因子。基于重用策略的蚁群算法优化动态旅行商问题的流程图如图4所示。在动态模型的所有测试用例中,每一个环境中的最大迭代次数为5气,,为了尽可能的模拟现实中不同程度的环境改变,动态模型的相关参数设置如下:[0108]动态集合粒子群算法的相关参数设置如下:[0110]动态蚁群算法的相关参数设置如下:[0113]为了验证重用策略的有效性,对两种算法都引入重用策略的优化结果分别进行仿真测试。结果显示,重用策略的引入使得两种动态算法在相同的时间内找到了路径更短的解,且相对于动态蚁群算法来说,动态集合粒子群算法在绝大多数算例中的解都能找到更好的解。这证明基于选择历史最好的一部分解充当新环境中粒子群的Pbest和信息素增量操作的重用方法在动态旅行商的优化问题中是非常有效的。[0114]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

权利要求:I.一种运用基于重用策略的智能群体算法优化动态旅行商问题的方法,其特征在于,所述的方法包括:51、动态旅行商模型框架设计步骤,动态旅行商模型被设计成如下的一系列状态的改变,访问结点集合的变化或者权值矩阵的变化都将导致搜索空间的状态改变,每一个状态只对应访问结点集合的改变或者权值矩阵的改变,并且序列S中从S1开始的任意两个相邻的状态的改变方式是前后一致的,搜索空间的状态改变可表示为:S=S〇SlS2S3***Sk***Su其中,so代表初始状态,Sk代表搜索空间的第k个状态,μ代表搜索空间发生改变的次数总和,从状态Sk到状态sk+1的转变表明搜索空间发生改变;52、路径权值动态改变的实施步骤,在权值改变情况下,每一个特定的状态都有一个唯一的权值矩阵与其对应,在Sk状态下的权值矩阵记为,可表示如下:其中为在状态Sk中需要访问结点的总数,在路径权值动态改变的情况下,所有状态中需要访问的结点集合大小是不变的,即,从状态Sk到状态Sk+1可表示如下:其中Dce[Lb,Ub],Lb和Ub分别代表权值改变因子的上限和下限,分别代表在状态sk和在状态sk+1中,从结点i到结点j的权值大小,是初始状态下从结点i到结点j权值的大小,randij是为、产生的一个随机数,Nc是0到1之间的参数;53、访问结点动态改变的实施步骤,在访问结点动态改变的情况下,原始状态中需要访问的结点结合表示为,访问结点总数记为,后续状态Sk中需要访问的结点集合表示为访问结点总数记为,从状态Sk到%+1的转变中,某些结点会被暂时从访问结点集合中添加或删除,假设中的结点集合为:在转变之前,模型会随机生成一个可正可负整数-满足以下两个条件:其中,μ是状态数,Nr和Df都是O到1之间的范围因子,Df用来控制相邻两个状态访问结点集合改变程度的大小,Nr用来控制访问结点集合大小的范围,如果:小于O,对于每个在中的结点,模型会产生一个随机数rncU来模拟结点访问的随机性,如果存在于,则结点将从中暂时移除,如果大于〇,中的结点将会被添加到中,这样,在状态下需要访问的结点可以表示为:54、优化目标步骤,用¾和yij分别表示如下的二元决策变量:其中,Xk表示在状态Sk中找到的最小路径值,edgeij表示结点i和结点j构成的边,优化的目标是在任意状态Sk中要找到一条所有结点都在Rsi中的路径代价最小的哈密顿回路;55、重用策略实施步骤,将学习到状态Sk为止的前供次环境中所有保存在Archive中最好的解,此从重用的过程可以定义为:其中,代表在状态^^中种群所有个体的历史最优可行解,在重新使用Archive之前,如果环境发生的是维度改变,则需要对Archive中的解进行调整,调整以后,状态%+1和Archive每一个解要访问的结点集合是相同的,这些粒子可以被重用到状态Sk的优化中,如果环境发生的是权值改变,则直接使用保存在Archive中的解。2.根据权利要求1所述的运用基于重用策略的智能群体算法优化动态旅行商问题的方法,其特征在于,所述的搜索空间的状态改变代表着优化算法的搜索环境发生改变,对应为权值矩阵发生变化或者访问结点集合发生变化,此变化的限制可以描述如下:3.根据权利要求2所述的运用基于重用策略的智能群体算法优化动态旅行商问题的方法,其特征在于,当搜索空间的权值矩阵改变时,状态Sk转变到Sk+册方式为:其中,Dce[Lb,Ub],Lb和Ub分别代表权值改变因子的上限和下限,分别代表在状态Sk和在状态sk+1中从结点i到结点j的权值大小,是初始状态下从结点i到结点j权值的大小,rancUj是为产生的一个随机数,Nc是O到1之间的参数;当搜索空间发生访问结点集合改变时,从状态Sk转变到sk+1方式为:其中,其中Nr和Df都是O到1之间的范围因子,Df用来控制相邻两个状态访问结点集合改变程度的大小,Nr用来控制访问结点集合大小的范围,如果小于O,对于每个在中的结点,模型会产生一个随机数rnck来模拟结点访问的随机性,如果存在于,则结点将从中暂时移除,如果大于〇,中的结点将会被添加到中。4.根据权利要求1所述的运用基于重用策略的智能群体算法优化动态旅行商问题的方法,其特征在于,所述的步骤S5中对Archive中的解进行调整的过程如下:5501、计算出每个Archive个体Ari中的结点的个数Ni;5502、通过如下式子计算出要暂时从Ar1移除或是要添加到Ar1*的结点并将它们存放在Qi中,5503、如果-,说明访问的结点数增加,对于Archive中的每一个解Ari将Ωi中的每一个结点按照使路径最短的规则方式插入到Ari中,否则,将Ari中和Ωi相同的每一个结点直接删除,并使得删除结点的前驱和后继结点直接相邻。5.根据权利要求1所述的运用基于重用策略的智能群体算法优化动态旅行商问题的方法,其特征在于,所述的步骤S3中原始状态中需要访问的结点构成全集,后续的任意状态Sk中需要访问的结点集合都是的子集,访问结点集合的大小对应着新环境中种群可行解的维度。

百度查询: 华南理工大学 运用基于重用策略的智能群体算法优化动态旅行商问题的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。