CN103839105B - 行程推荐方法和装置 - Google Patents

行程推荐方法和装置 Download PDF

Info

Publication number
CN103839105B
CN103839105B CN201410085520.7A CN201410085520A CN103839105B CN 103839105 B CN103839105 B CN 103839105B CN 201410085520 A CN201410085520 A CN 201410085520A CN 103839105 B CN103839105 B CN 103839105B
Authority
CN
China
Prior art keywords
value
ant colony
candidate nodes
path
represent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410085520.7A
Other languages
English (en)
Other versions
CN103839105A (zh
Inventor
张日崇
郭晓辉
孙海龙
刘旭东
怀进鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201410085520.7A priority Critical patent/CN103839105B/zh
Publication of CN103839105A publication Critical patent/CN103839105A/zh
Application granted granted Critical
Publication of CN103839105B publication Critical patent/CN103839105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供一种行程推荐方法和装置,该方法包括:确定候选节点;依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定该当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。本发明利用蚁群算法能够提高行程推荐效率能够有效评估行程的优劣,为用户推荐满意的行程。

Description

行程推荐方法和装置
技术领域
本发明涉及旅游应用领域,尤其涉及一种行程推荐方法和装置。
背景技术
随着互联网技术的发展,在线的旅游应用系统,如expedia.com,booking.com等,已经越来越受大众的欢迎。与此同时,随着旅游资源的爆炸式增长,游客很难在短时间内选择旅游资源,决定旅游行程。所以,如何在短时间内动态生成用户满意的完整的旅游行程已成为旅游应用领域的一个新的挑战,也是迫切需要解决的问题。
现有的对旅游资源安排旅游行程的系统主要有传统的旅游套餐推荐系统,动态旅游向导系统等。传统的旅游套餐推荐系统,它能够为用户推荐在一定花费下的前topK的旅游方案。但这种推荐系统只考虑了无序的资源组合的推荐,动态旅游向导系统,它采用语意匹配方法对旅游景点进行排序,并且利用贪心的启发式近似算法来为用户提供个性化行程。但现有技术行程推荐的效率低,结果难于满足用户的需求。
发明内容
本发明提供了一种行程推荐方法和装置,能够提高行程推荐效率,有效评估行程的优劣,为用户推荐满意的行程。
本发明提供了一种行程推荐方法,包括:
确定候选节点;
依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个所述候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;
将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。
本发明还提供了一种行程推荐装置,包括:
确定模块,用于确定候选节点;
操作模块,用于依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个所述候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;
推荐模块,用于将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。
本发明一种行程推荐方法和装置,通过确定候选节点;依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定该当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户,利用蚁群算法能够提高行程推荐效率,能够有效评估行程的优劣,为用户推荐满意的行程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明行程推荐方法一个实施例的流程图;
图2为本发明行程推荐方法又一个实施例的流程图;
图3为本发明实施例确定当前代蚁群中每只蚂蚁爬行的整体路径的流程图;
图4为本发明行程推荐方法以及其它行程推荐方法生成的行程的平均效用值的实验结果图;
图5为本发明行程推荐方法以及其它行程推荐方法生成的行程的平均运行时间的实验结果图;
图6为本发明行程推荐方法以及其它行程推荐方法在兴趣点个数变化的情况下生成的行程的平均运行时间的实验结果图;
图7为本发明行程推荐装置一个实施例的结构示意图;
图8为本发明行程推荐装置又一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明行程推荐方法一个实施例的流程图,如图1所示,本实施例的执行主体为行程推荐装置,具体可以通过软件、硬件,或者软件和硬件相结合的方式实现,则该方法包括:
步骤101,确定候选节点。
在本实施例中,候选节点包括设定时间内的必访问节点,待选择访问节点以及推荐访问节点。
候选节点可以表示某城市内旅游资源的兴趣点(Points of Interest,简称POI),如在北京市的旅游资源的兴趣点为:故宫,天坛,圆明园,十三陵,长城等。也可以表示某城市内时尚街区资源的兴趣点或其他资源的兴趣点等,本实施例不作限制。候选节点是从网站上爬取的数据,如道道,艺龙,Flickr等网站,从而保证了候选节点的可靠性和真实性。设定时间内的必访问节点为用户在爬取的旅游资源兴趣点中设置的在设定时间内必去的旅游资源兴趣点,待选择访问节点为用户在爬取的旅游资源兴趣点中设置的有意愿要去的待选择旅游资源兴趣点。剩余的爬取的旅游资源兴趣点即为推荐的旅游资源兴趣点。在网站中除爬取候选节点外,还要爬取候选节点中为每个候选节点安排的驻留时间T(ri),从任意候选节点ri到其它任意候选节点rj所需的时间T(ri j),任意候选节点ri到其它任意候选节点rj之间的距离dist(ri,rj),每个候选节点的大众评分值。
步骤102,依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个所述候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作。
本实施例中,采用的是蚁群算法对行程进行规划,具体地,在执行蚁群算法前要对执行蚁群算法所需的参数进行设定,包括蚁群算法中的蚂蚁代数N1和每代蚂蚁的只数N2,时间阈值Tthr,时间阈值可以为在某一城市内进行某一活动预算的时间阈值,如在北京市内旅游预算的时间阈值,又如在米兰的时尚街区购物预算的时间阈值等,具体的,蚂蚁的代数可以为N1=5,每代蚂蚁的个数可以为N2=50,在城市内进行某一活动预算的时间阈值可以为Tthr=12小时,其中,设定的蚂蚁的代数、每代蚂蚁的只数和某一城市内进行某一活动预算的时间阈值,在本实施例不做限定。
具体地,计算任意两个候选节点之间的路径选择概率,当前代蚁群中的每只蚂蚁任意选择一个节点ri,为选择的节点ri安排驻留时间T(ri),计算该候选节点ri和其它任意的候选节点rj之间的路径选择概率p(ri j),根据任意两个候选节点之间的路径选择概率p(ri j)以及设定的时间阈值Tthr,确定当前代蚁群中每只蚂蚁爬行的整体路径I,如候选节点表示北京市的旅游资源的兴趣点,那么当前代蚁群中蚂蚁k爬行的整体路径可以Ik表示为:故宫→天坛→圆明园→十三陵→长城,当前代蚁群中每只蚂蚁的一个爬行的整体路径对应蚁群算法的一个解,利用效用函数f(I)计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,根据前代蚁群中每只蚂蚁爬行的整体路径的效用值确定当前代蚁群中效用值最大的至少一个整体路径直至达到设定收敛条件,则停止对下一代蚁群执行所述操作。其中,效用值表示对每只蚂蚁爬行的整体路径的评价标准,效用值越大,表示该只蚂蚁爬行的整体路径越优,效用值越小,则表示该只蚂蚁爬行的整体路径越差
步骤103,将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。
具体地,可将各代蚁群中确定的效用值最大的一个整体路径推荐给用户,也可将各代蚁群中确定的效用值进行降序排列,选出前K个大的效用值对应的整体路径推荐给用户,由用户对推荐的前K个整体路径进行选择,在和用户交互过程中获得用户满意行程。
本实施例中,通过确定候选节点;依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定该当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户,利用蚁群算法能够提高行程推荐效率能够有效评估行程的优劣,为用户推荐满意的行程。
图2为本发明行程推荐方法又一个实施例的流程图,如图2所示,在本实施例中,以候选节点表示某一城市内旅游资源的兴趣点为例,详细介绍本实施例的技术方案,本实施例方法包括:
步骤201,确定候选节点。
进一步地,在本实施例中,候选节点包括设定时间内的必访问节点,待选择访问节点以及推荐访问节点。
候选节点表示从网站上爬取的某一城市内的旅游资源兴趣点,如道道,艺龙,Flickr等网站,从而保证了候选节点的可靠性和真实性。设定时间内的必访问节点为用户在爬取的旅游资源兴趣点中设置的在设定时间内必去的旅游资源兴趣点,待选择访问节点为用户在爬取的旅游资源兴趣点中设置的有意愿要去的待选择旅游资源兴趣点。剩余的爬取的旅游资源兴趣点即为推荐的旅游资源兴趣点。将设定时间内必访问的节点组成设定时间内必访问节点列表,表示为mList,将待选择访问节点组成待选择节点列表,表示为oList,将推荐访问节点组成推荐节点列表,表示为rList,rList,mList和oList共同组成一个候选节点的列表。
在网站中除爬取候选节点外,还要爬取上述候选节点中为每个候选节点安排的驻留时间T(ri),从任意候选节点ri到其它任意候选节点rj所需的时间T(ri j),任意候选节点ri到其它任意候选节点rj之间的距离dist(ri,rj),每个候选节点的大众评分值rand(ri)。
步骤202,采用蚁群算法,根据任意两个候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径。
本实施例中,当前代蚁群为第N代蚁群,N的初始值为1,每代间隔可以为1。
如图3所示,步骤202的具体实现包括:
步骤202a,计算当前代蚁群中任意两个候选节点之间的路径选择概率。
其中,路径选择概率用于表示每只蚂蚁在任意两个候选节点间构成的路径上选择爬行的概率,以当代蚁群中的蚂蚁k为例进行说明,则当前代蚁群中任意两个候选节点之间的路径选择概率为:
p k ( r i j ) = [ τ ( r i j ) ] α [ η ( r i j ) ) ] β Σ r j ≠ tabu k [ τ ( r i j ) ] α [ η ( r i j ) ] β if , r j ∉ tabu k 0 otherwise - - - ( 1 )
其中,
η ( r i j ) = l ( r i ) * e - dist ( r i , r j ) - - - ( 2 )
l(ri)=k(ri)+ξ, ξ = Δ 1 r i ∈ mList Δ 2 r i ∈ oList 0 else - - - ( 3 )
在式(1)中,tabuk表示禁忌列表,它记录当前代蚁群中蚂蚁k爬行的整个路径中在候选节点rj之前选择的节点,τ(ri j)表示任意两个候选节点ri和rj之间的信息素,η(ri j)表示任意两个所述候选节点ri和rj之间的启发值,α和β分别表示信息素和启发值的权重,从式(1)中可以看出,信息素τ(ri j)越大,pk(ri j)越大,启发值η(ri j)越大,pk(ri j)越大。当权重α的值越大,则意味着其它蚂蚁对蚂蚁k的引导作用越强;而权重β的值越大,则表明蚁群算法越趋近于贪婪算法。
在式(2)中,l(ri)表示计算的候选节点ri的总评分值,dist(ri,rj)表示两个候选节点ri和rj之间的距离,l(ri)的功能主要是增加设定时间内的必访问节点和待选择访问节点的总评分值的大小。从式(2)中可以看出,l(ri)的值越大,启发值η(ri j)越大,候选节点ri和rj之间的距离越小,启发值η(ri j)越大,所以在l(ri)中增加设定时间内的必访问节点和待选择访问节点的总评分值的大小也就进一步的增加了设定时间内的必访问节点和待选择访问节点的路径选择概率的大小。
在式(3)中,k(ri)表示候选节点ri的第一部分评分值,也就是候选节点ri的大众评分值rand(ri),ξ表示候选节点ri的第二部分评分值,在式(3)中,Δ1和Δ2分别表示候选节点ri属于设定时间内必访问节点或属于待选择访问节点增加的评分值,其中Δ12
步骤202b,为当前代蚁群中每一只蚂蚁在任意候选节点中选择一个当前候选节点ri′,为选择的当前候选节点ri′安排驻留时间T(ri′)。
本实施例中,选择的当前候选节点ri′为每只蚂蚁爬行的整个路径中所驻留的第M个节点,M的初始值为1。
步骤202c,根据选择的当前候选节点ri′和其它任意候选节点rj之间的最大路径选择概率,选择下一个候选节点ri′+1
从计算出的当前代蚁群中任意两个候选节点之间的路径选择概率中确定选择的候选节点ri′和其它候选节点rj之间的路径选择概率,并选出最大路径选择概率将最大路径选择概率中对应的下一个候选节点ri′+1作为每只蚂蚁选择的下一个候选节点ri′+1。如当前代蚁群中蚂蚁k选择的当前节点ri′为旅游资源兴趣点A,计算出的该只蚂蚁旅游资源兴趣点A和其它旅游资源兴趣点B、C、D之间的路径选择概率分别为1/2,1/4,1/4,在路径选择概率中,旅游资源兴趣点A到旅游资源兴趣B之间的路径选择概率最大,则该只蚂蚁选择的下一个旅游资源是B。
步骤202d,为选择的相邻的两个候选节点之间的路径以及选择的下一个候选节点ri′+1安排时间。
具体地,为选择的两个候选节点之间的路径安排的时间表示为为选择的下一个候选节点ri′+1安排的时间为在下一个候选节点ri′+1所驻留的时间,表示为T(ri′+1)。
步骤202e,判断每只蚂蚁是否都确定了整体路径,若是,则执行步骤202f,若否,则执行步骤202g。
本实施例中,判断每只蚂蚁是否都确定了整体路径的方法为:将当前代蚁群中每只蚂蚁已选出的各个候选节点安排的驻留时间以及选择的相邻候选节点之间的路径所安排的时间之和与设定时间阈值Tthr进行比较,若当代蚁群中存在一只或多只蚂蚁已选出的各个候选节点安排的驻留时间以及选择的相邻候选节点之间的路径所安排的时间之和小于设定时间阈值Tthr的情况,则说明当前代蚁群中有一只或多只蚂蚁还未确定完整体路径,若不存在上述情况,则说明当前代蚁群中每只蚂蚁都确定了整体路径。
步骤202f,确定当前代蚁群中每只蚂蚁爬行的整个路径,结束。
步骤202g,将未确定整体路径的蚂蚁所驻留的第M个节点赋值为M+1,并执行步骤202c。
步骤203,计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定当前代蚁群中效用值最大的至少一个整体路径。
本实施例中,计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,具体为:
f ( I k ) = γ * Σ i ' ∈ I k ψ ( l ( r i ' ) ) + θ * e - δ ( Σ i ' ∈ I k dist ( r i ' , r i ' + 1 ) ) + μ * pk - - - ( 4 )
其中,表示蚂蚁k爬行的整个路径Ik中选择的所有候选节点的总评分值,表示蚂蚁k爬行的整个路径Ik中选择的所有候选节点中相邻两个候选节点之间的总距离,pk表示蚂蚁k爬行的整个路径Ik的时间率。
令l(ri′)=x,则
ψ ( x ) = max ( x ) - x max ( x ) - min ( x ) - - - ( 5 )
pt = Σ i ∈ I T ( r i ' ) Σ i ' ∈ I k ( T ( r i ' ) + T ( r i ' i ' + 1 ) ) - - - ( 6 )
其中,0<ψ(x)<1,0<pk<1。所以计算出的效用值是归一化后的结果。γ、θ和μ表示总评分值,距离以及时间率三个因素的权重。
在计算完当前代蚁群中每只蚂蚁爬行的整体路径的效用值后,对效用值进行降序排列,确定当前代蚁群中效用值最大的至少一个整体路径。
步骤204,根据所确定的所述当前代蚁群中效用值最大的至少一个整体路径,更新信息素矩阵。
本实施例中,更新的信息素矩阵为:
&tau; ( r i j ) ' = ( 1 - &rho; ) * &tau; ( r i j ) + &rho; * &Delta;&tau; ( r i j ) - - - ( 7 )
&Delta;&tau; ( r i j ) = &tau; 0 I mas t inlude I ( r i j ) 0 otherwise - - - ( 8 )
在式(7)中,表示更新前的两个候选节点ri和rj之间的信息素,表示两个候选节点ri和rj之间的增量信息素,ρ表示挥发系数,0<ρ<1,在式(8)中,表示两个候选节点ri和rj之间的路径,表示当前代蚁群中效用值最大的至少一个整体路径。
从式(8)中可以看出,若两个相邻候选节点之间的路径属于当前代蚁群中效用值最大的至少一个整体路径的一部分,则两个候选节点ri和rj之间的增量信息素为τ0,若两个相邻候选节点之间的路径不属于当前代蚁群中效用值最大的至少一个整体路径的一部分,则两个候选节点ri和rj之间的增量信息素为0。
步骤205,判断是否达到收敛条件,若是,则执行步骤206,若否,则执行步骤207。
进一步地,收敛条件包括:当前代蚁群中效用值最大的整体路径与上一代蚁群中效用值最大的整体路径为同一整体路径;或者,执行所述操作的蚁群代的数量达到设定值。
步骤206,将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。
具体地,可将各代蚁群中确定的效用值最大的一个整体路径推荐给用户,也可将各代蚁群中确定的效用值进行降序排列,选出前K个大的效用值对应的整体路径推荐给用户,由用户对推荐的前K个整体路径进行选择,在和用户交互过程中获得用户满意行程。
步骤207,当前代的蚁群的代数N赋值为N+1,并执行步骤202。
本实施例中,通过在候选节点中加入设定时间内的必访问节点和待选择访问节点并在计算路径选择概率时增加设定时间内的必访问节点和待选择访问节点的总评分,能够增加设定时间内的必访问节点和待选择访问节点的路径选择概率的值,在计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值时,考虑了总评分、路径距离和时间率多个影响因素,能够更有效的评估行程的优劣,为用户推荐满意的行程。
本实施例的有效结果可通过以下仿真进一步说明:
1仿真内容:应用本发明行程推荐方法和贪心方法(Greedy),指引性局部搜索元启发方法(GLS)分别对从道道,艺龙,Flickr等网站上爬取的旅游资源兴趣点进行行程规划,设置设定时间内必去的旅游资源兴趣点和待选择访问节点,并从各方法生成的行程的平均效用值、各方法生成的行程平均运行时间、各方法在兴趣点个数变化的情况下生成的行程的平均运行时间、各方法生成行程的效用值和运行时间的均值和方差评价这些方法的各自性能,对本发明的行程推荐方法中的蚂蚁的总只数分别设置为50只,100只,和200只,对应的本发明行程推荐方法分别表示ANT50方法,ANT100方法,ANT200方法。由于GLS方法的不确定性,所以进行了100次仿真实验,以达到可信的实验结果。
2仿真实验结果
A各方法生成的行程的平均效用值的实验结果
用本发明方法以及贪心方法(Greedy),指引性局部搜索元启发方法(GLS)分别对40个旅游资源兴趣点进行行程规划,各方法生成的行程的平均效用值如图4所示,图4中X轴代表了设定的时间阈值Tthr,Y轴代表了不同方法的平均效用值。从图4中可以看出,当设定的时间阈值Tthr=9小时时,本发明方法达到的效用值高于Greedy方法和GLS方法。当设定的时间阈值Tthr=12小时时,蚂蚁总只数为200只的本发明ANT200方法和其他方法相比,达到了一个更高的效用值。所以,可以得出结论,当设定的时间阈值Tthr较长时,本发明方法有明显的优势,其效用值高于Greedy方法和GLS方法。
B各方法生成的行程的平均运行时间的实验结果
用本发明方法以及贪心方法(Greedy),指引性局部搜索元启发方法(GLS)分别对40个旅游资源兴趣点进行行程规划,各方法生成的行程的平均运行时间如图5所示,X轴代表了设定的时间阈值Tthr,Y轴代表了各方法的平均运行时间。从图5中可以看出,在运行时间方面,Greedy方法是最快的,但是本发明方法无论蚂蚁总只数为50只的ANT50方法、还是蚂蚁总只数为100只的ANT100方法还是蚂蚁总只数为200只ANT200方法都比GLS方法快。即使本发明方法没有Greedy方法快,但是本发明方法比Greedy方法达到了一个更高的效用值。
C各方法在兴趣点个数变化的情况下生成的行程的平均运行时间
用本发明方法以及贪心方法(Greedy),指引性局部搜索元启发方法(GLS)分别对40个、80个、120个和180个旅游资源兴趣点进行行程规划,在兴趣点个数变化的情况下生成的行程的平均运行时间如图6所示,设定的时间阈值Tthr=12小时,X轴代表了景点资源的个数,Y轴代表了平均运行时间,从图6中可以看出本发明的方法在不同蚂蚁个数、不同旅游资源兴趣点个数情况下都比GLS方法快。
D各方法生成行程的效用值和运行时间的均值和方差
用本发明方法以及贪心方法(Greedy),指引性局部搜索元启发方法(GLS)分别对40个旅游资源兴趣点进行行程规划,设定的时间阈值Tthr=12小时,各方法生成行程的效用值和运行时间的均值和方差如表1所示,从表1中可以看出,在均值方面,本发明的方法在效用值上优于GLS方法和Greedy方法;在运行时间上看,本发明方法优于GLS方法。在方差方面,本发明的方法是相对稳定的。
表1
图7为本发明行程推荐装置一个实施例的结构示意图,如图7所示,该装置可以包括:确定模块701、操作模块702和推荐模块703。
其中,确定模块701,用于确定候选节点。
操作模块702,用于依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作。
推荐模块703,用于将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。
本实施例的装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明行程推荐装置又一个实施例的结构示意图,如图8所示,该装置可以包括:确定模块801、操作模块802、计算模块803、更新模块804、和推荐模块805。
确定模块801,用于确定候选节点。
进一步地,候选节点包括设定时间内的必访问节点,待选择访问节点以及推荐访问节点。
操作模块802,用于依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作。
计算模块803,用于计算当前代蚁群中每只蚂蚁爬行的整体路径的效用值。
确定模块801,还用于确定当前代蚁群中效用值最大的至少一个整体路径。
更新模块804,用于确定模块801在确定所述当前代蚁群中效用值最大的至少一个整体路径之后,根据所确定的所述当前代蚁群中效用值最大的至少一个整体路径,更新信息素矩阵。
操作模块802,还用于在更新模块根据所确定的所述当前代蚁群中效用值最大的至少一个整体路径,更新信息素矩阵之后,再对下一代蚁群执行所述操作。
推荐模块805,用于将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户。
本实施例的装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种行程推荐方法,其特征在于,包括:
确定候选节点;
依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个所述候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;
将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户;
所述计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,具体为:
f ( I k ) = &gamma; * &Sigma; i &prime; &Element; I k &psi; ( l ( r i &prime; ) ) + &theta; * e - &delta; ( &Sigma; i &prime; &Element; I k d i s t ( r i &prime; , r i &prime; + 1 ) ) + &mu; * p k
其中,表示蚂蚁k爬行的整个路径Ik中选择的所有候选节点的总评分值,表示蚂蚁k爬行的整个路径Ik中选择的所有候选节点中相邻两个候选节点之间的总距离,pk表示蚂蚁k爬行的整个路径Ik的时间率;
所述确定所述当前代蚁群中效用值最大的至少一个整体路径之后,还包括:
根据所确定的所述当前代蚁群中效用值最大的至少一个整体路径,更新信息素矩阵之后,再对下一代蚁群执行所述操作;
其中,所述更新的信息素矩阵为:
τ(ri j)'=(1-ρ)*τ(ri j)+ρ*Δτ(ri j),
τ(ri j)表示更新前的所述两个所述候选节点ri和rj之间的信息素,Δτ(ri j)表示所述两个所述候选节点ri和rj之间的增量信息素,ρ表示挥发系数,I(ri j)表示所述两个所述候选节点ri和rj之间的路径,表示当前代蚁群中效用值最大的至少一个整体路径。
2.根据权利要求1所述的方法,其特征在于,所述候选节点包括设定时间内的必访问节点,待选择访问节点以及推荐访问节点。
3.根据权利要求2所述的方法,其特征在于,所述任意两个所述候选节点之间的路径选择概率为:
p k ( r i j ) = &lsqb; &tau; ( r i j ) &rsqb; &alpha; &lsqb; &eta; ( r i j ) ) &rsqb; &beta; &Sigma; r j &NotEqual; tabu k &lsqb; &tau; ( r i j ) &rsqb; &alpha; &lsqb; &eta; ( r i j ) ) &rsqb; &beta; i f r j &NotElement; tabu k 0 o t h e r w i s e
其中,l(ri)=k(ri)+ξ,
tabuk表示禁忌列表,它记录当前代蚁群中蚂蚁k爬行的整个路径中在候选节点rj之前选择的候选节点,τ(ri j)表示两个所述候选节点ri和rj之间的信息素,η(ri j)表示所述两个所述候选节点ri和rj之间的启发值,α和β分别表示所述信息素和所述启发值的权重,l(ri)表示所述候选节点ri的总评分值,dist(ri,rj)表示所述两个所述候选节点ri和rj之间的距离,k(ri)表示所述候选节点ri的第一部分评分值,ξ表示所述候选节点ri的第二部分评分值,Δ1和Δ2分别表示所述候选节点ri属于所述设定时间内必访问节点或属于所述待选择访问节点的评分值,mList表示设定时间内必访问节点列表,oList表示待选择访问节点列表。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述收敛条件包括:所述当前代蚁群中效用值最大的整体路径与上一代蚁群中效用值最大的整体路径为同一整体路径;或者,执行所述操作的蚁群代的数量达到设定值。
5.一种行程推荐装置,其特征在于,包括:
确定模块,用于确定候选节点;
操作模块,用于依次对每一代蚁群执行以下操作:采用蚁群算法,根据任意两个所述候选节点之间的路径选择概率以及设定的时间阈值,确定当前代蚁群中每只蚂蚁爬行的整体路径;计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,并确定所述当前代蚁群中效用值最大的至少一个整体路径;直至达到设定收敛条件,则停止对下一代蚁群执行所述操作;
推荐模块,用于将各代蚁群中确定的效用值最大的至少一个整体路径推荐给用户;
计算模块,用于计算所述当前代蚁群中每只蚂蚁爬行的整体路径的效用值,具体为:
f ( I k ) = &gamma; * &Sigma; i &prime; &Element; I k &psi; ( l ( r i &prime; ) ) + &theta; * e - &delta; ( &Sigma; i &prime; &Element; I k d i s t ( r i &prime; , r i &prime; + 1 ) ) + &mu; * p k
其中,表示蚂蚁k爬行的整个路径Ik中选择的所有候选节点的总评分值,表示蚂蚁k爬行的整个路径Ik中选择的所有候选节点中相邻两个候选节点之间的总距离,pk表示蚂蚁k爬行的整个路径Ik的时间率;
所述确定模块,还用于确定所述当前代蚁群中效用值最大的至少一个整体路径;
更新模块,用于确定模块在确定所述当前代蚁群中效用值最大的至少一个整体路径之后,根据所确定的所述当前代蚁群中效用值最大的至少一个整体路径,更新信息素矩阵;
其中,所述更新的信息素矩阵为:
τ(ri j)'=(1-ρ)*τ(ri j)+ρ*Δτ(ri j),
τ(ri j)表示更新前的所述两个所述候选节点ri和rj之间的信息素,Δτ(ri j)表示所述两个所述候选节点ri和rj之间的增量信息素,ρ表示挥发系数,I(ri j)表示所述两个所述候选节点ri和rj之间的路径,表示当前代蚁群中效用值最大的至少一个整体路径;
操作模块,用于在更新模块根据所确定的所述当前代蚁群中效用值最大的至少一个整体路径,更新信息素矩阵之后,再对下一代蚁群执行所述操作。
6.根据权利要求5所述的装置,其特征在于,所述候选节点包括设定时间内的必访问节点,待选择访问节点以及推荐访问节点。
7.根据权利要求6所述的装置,其特征在于,所述任意两个所述候选节点之间的路径选择概率为:
p k ( r i j ) = &lsqb; &tau; ( r i j ) &rsqb; &alpha; &lsqb; &eta; ( r i j ) ) &rsqb; &beta; &Sigma; r j &NotEqual; tabu k &lsqb; &tau; ( r i j ) &rsqb; &alpha; &lsqb; &eta; ( r i j ) ) &rsqb; &beta; i f r j &NotElement; tabu k 0 o t h e r w i s e
其中,l(ri)=k(ri)+ξ,
tabuk表示禁忌列表,它记录当前代蚁群中蚂蚁k爬行的整个路径中在候选节点rj之前选择的候选节点,τ(ri j)表示两个所述候选节点ri和rj之间的信息素,η(ri j)表示所述两个所述候选节点ri和rj之间的启发值,α和β分别表示所述信息素和所述启发值的权重,l(ri)表示所述候选节点ri的总评分值,dist(ri,rj)表示所述两个所述候选节点ri和rj之间的距离,k(ri)表示所述候选节点ri的第一部分评分值,ξ表示所述候选节点ri的第二部分评分值,Δ1和Δ2分别表示所述候选节点ri属于所述设定时间内必访问节点或属于所述待选择访问节点的评分值,mList表示设定时间内必访问节点列表,oList表示待选择访问节点列表。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述收敛条件包括:所述当前代蚁群中效用值最大的整体路径与上一代蚁群中效用值最大的整体路径为同一整体路径;或者,执行所述操作的蚁群代的数量达到设定值。
CN201410085520.7A 2014-03-10 2014-03-10 行程推荐方法和装置 Active CN103839105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410085520.7A CN103839105B (zh) 2014-03-10 2014-03-10 行程推荐方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410085520.7A CN103839105B (zh) 2014-03-10 2014-03-10 行程推荐方法和装置

Publications (2)

Publication Number Publication Date
CN103839105A CN103839105A (zh) 2014-06-04
CN103839105B true CN103839105B (zh) 2016-09-21

Family

ID=50802581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410085520.7A Active CN103839105B (zh) 2014-03-10 2014-03-10 行程推荐方法和装置

Country Status (1)

Country Link
CN (1) CN103839105B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453224B (zh) * 2016-07-18 2019-05-17 北京交通大学 基于蚁群分类挖掘过程的网络渗透攻击检测方法
CN106776993B (zh) * 2016-12-06 2020-07-24 苏州大学 一种基于时序约束活动意向的路径推荐方法及系统
CN106971245A (zh) * 2017-03-30 2017-07-21 广东工业大学 一种基于改进蚁群算法的路径确定方法及系统
CN111104600B (zh) * 2019-12-23 2023-04-07 杭州安恒信息技术股份有限公司 一种web站点网页推荐方法、装置、设备、介质
CN113537572A (zh) * 2021-06-22 2021-10-22 东莞市绿灯网络科技有限公司 基于人工智能的旅游路线规划方法与系统
CN116720716B (zh) * 2023-08-09 2023-12-26 中笛(北京)文化发展有限公司 基于大数据的姜茶产品个性化定制方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118421A (zh) * 2007-09-13 2008-02-06 北京航空航天大学 基于自适应蚁群智能的非线性pid控制参数整定方法
CN101136080A (zh) * 2007-09-13 2008-03-05 北京航空航天大学 基于满意决策蚁群智能无人作战飞机自适应航路规划方法
CN101520858A (zh) * 2008-02-28 2009-09-02 北京航空航天大学 一种求解旅行商问题的蚁群优化-微分进化融合方法
CN102708698A (zh) * 2012-06-12 2012-10-03 北京理工大学 基于车联网的车辆最优路径导航方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118421A (zh) * 2007-09-13 2008-02-06 北京航空航天大学 基于自适应蚁群智能的非线性pid控制参数整定方法
CN101136080A (zh) * 2007-09-13 2008-03-05 北京航空航天大学 基于满意决策蚁群智能无人作战飞机自适应航路规划方法
CN101520858A (zh) * 2008-02-28 2009-09-02 北京航空航天大学 一种求解旅行商问题的蚁群优化-微分进化融合方法
CN102708698A (zh) * 2012-06-12 2012-10-03 北京理工大学 基于车联网的车辆最优路径导航方法

Also Published As

Publication number Publication date
CN103839105A (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN103839105B (zh) 行程推荐方法和装置
CN106202453B (zh) 一种多媒体资源推荐方法和装置
Guo et al. So who won? Dynamic max discovery with the crowd
Smith et al. Solving shortest path problems with a weight constraint and replenishment arcs
Wang et al. Investigation of the STIRPAT model of environmental quality: a case of nonlinear quantile panel data analysis
Kheiri et al. A sequence-based selection hyper-heuristic utilising a hidden Markov model
US20100106539A1 (en) Method and system for fast local search and insertion heuristics for vehicle routing
Bortolussi et al. CARMA: collective adaptive resource-sharing Markovian agents
JP5772332B2 (ja) 巡回路決定についてのプログラム、方法及び装置
CN1866206A (zh) 利用马尔可夫链根据uml规范生成性能测试
US20130151536A1 (en) Vertex-Proximity Query Processing
CN106228265B (zh) 基于改进粒子群优化的总拖期运输计划调度方法
CN104361415B (zh) 一种展示信息的选取方法及装置
CN106803197A (zh) 拼单方法和设备
Wong et al. Adaptable learning pathway generation with ant colony optimization
Berger et al. Online railway delay management: Hardness, simulation and computation
CN113362062A (zh) 一种区块链交易排序方法、存储介质及设备
CN109308537A (zh) 站点推荐方法及装置
Wei et al. Autoias: Automatic integrated architecture searcher for click-trough rate prediction
Li et al. The distributed permutation flowshop scheduling problem with different transport timetables and loading capacities
Liu et al. RFID: Towards low latency and reliable DAG task scheduling over dynamic vehicular clouds
CN110457587A (zh) 一种基于二分图的题目推荐方法、装置、设备及存储介质
US10313457B2 (en) Collaborative filtering in directed graph
CN110516164A (zh) 一种信息推荐方法、装置、设备及存储介质
Park et al. Practical Human Resource Allocation in Software Projects Using Genetic Algorithm.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant