利索能及
我要发布
收藏
专利号: 2020103194663
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:包括如下步骤:(1)读取模型所需数据和个性化参数,确定优化目标和约束条件;

(2)数据预处理与算法参数初始化;

(3)随机生成初始种群,并计算其适应度;

(4)判断是否进行种群的扩大;

(5)对所有个体按适应度进行降序排序并分组;

(6)对族群进行更新;

(7)族群混合,记录最优解;

(8)判断算法是否到达终止条件。

2.根据权利要求1所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(1)模型所需的数据包括当地所有候选景点与旅馆的位置、候选景点和旅馆的数量、游玩过程中在时间和金钱上的平均消费、在出行中消耗的时间与交通费用、旅馆的住宿费用;个性化参数包括旅游天数、每日游玩景点数、旅游偏好、优先级别、旅游开始时期;优化目标包括每日游玩时间最少、游玩期间内平均金钱消费最小;约束条件为选定某一个旅馆作为多日游或一日游固定的起点,每个景点最多游玩一次并于当天回到起点;

所述景点与旅馆的位置通过在已知经纬度,在平面直角坐标系中以坐标的形式来表示,其中S为候选景点集,候选景点数量为ns;H为候选旅馆集,候选旅馆数量为nh;在各大景点游玩消耗的的时间、金钱,候选旅馆的费用以向量的形式表示,Pm=[pm1,pm2,pm3,......,pmns]Pt=[pt1,pt2,pt3,......,ptns]Ph=[ph1,ph2,ph3,......,phnh]其中Pm为候选景点的平均游玩费用,Pt为候选景点的游玩时间,Ph为候选旅馆的单价;

根据约束条件,在选定某一旅馆作为起点的情况下,旅馆与景点间出行交通费用与耗费时间的交互数据以矩阵mcost和tcost的形式表示,且size(mcost)=size(tcost)=(1+ns)×(1+ns)×4即mcost和tcost的维度都是(1+ns)×(1+ns)×4,mcost(i,j,k)则表示第i个地点前往第j个地点采用第k种交通方式的交通费用;tcost(i,j,k)则表示第i个地点前往第j个地点采用第k种交通方式的出行时间;其中i,j∈{1,23......,ns+1},k∈{1,2,3,4},规定:选定的旅馆在其中编号为1,第2到ns+1的顺序与S中候选景点编号顺序一致;k=1,2,3,4时分别对应公交、地铁、驾车、步行,显然mcost(i,j,4)=0;

个性化参数包括旅游天数t_days、每日游玩景点数t_pnum、旅游偏好t_type、优先级别t_sup、旅游开始时期t_date。

3.根据权利要求2所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(2)数据预处理与算法参数初始化方法:对所有候选景点、旅馆、交通方式按照固定的顺序进行整数编码,设置全局混合迭代次数G,当前迭代次数g=1,初始族群数量M,初始组群内个体数量I,初始种群个体数量M×I,初始族群更新次数N;种群规模扩大阈值T=fth×G,其中fth为结果精确度的调节因子,当前选定旅馆编号h=1,候选旅馆数量为nh。

4.根据权利要求3所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(3)随机生成初始种群,并计算其适应度方法:随机生成M×I个个体,以十进制整数向量的形式表示路线:其中Route(d)表示第d天的路线,pi(i=1,2,3...t_pnum+1)表示路线中第i个地点的编号,规定旅馆的编号为p1,t_pnum为游玩景点的个数。

对交通方式的选择也采用同样的方式进行编号,以十进制整数向量表示出行时交通方式的选择:其中Pb(d)表示第d天采用的交通方式,pbi(i=1,2,3...t_pnum+1)表示从第i个地点出发前往第i+1个地点所使用的交通方式的编号,以编号为h的旅馆为起点的个体表示为:Xh={Route,Pb}

计算每个个体的目标值:

f(Xh)=con(Route)+con(Pb)

若以时间为优化目标,则con(Route)和con(Pb)分别代表景点游玩的时间与路上耗费的时间;若以费用为优化目标,则con(Route)和con(Pb)分别代表景点游玩费用与路费;通过对节省时间或金钱进行选择,将时间或金钱的消耗作为每个个体的目标值,则每个个体的适应度为,目标值越小的个体适应度越高。

5.根据权利要求4所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(4)判断是否进行种群的扩大的方法:判断当前迭代次数g是否等于选定阈值T,若等于选定阈值,则增大族群规模,在原种群的基础上,新增一组等同于原种群数量的随机解;种群规模扩大后的族群数量变为M′=2M,族群内个体数量变为I′=2I,初始种群个体数量变为(M×I)′=2M×2I,初始族群更新次数变为N′=2N。

6.根据权利要求5所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:在种群的扩大判断基础上增加了种群规模扩大阈值T=fth×G,其中fth为结果精确度的调节因子,在迭代次数未达到T时,算法结果还未收敛于最优值,此时使用普通搜索;当迭代次数超过T时,算法即将收敛,此时扩大搜索范围,减少最优解的遗漏,旨在提高结果精确度,T的选择由调节因子fth确定。

7.根据权利要求6所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(5)对所有个体按适应度进行降序排序并分组方法:将排序后的种群分成M个族群,每个族群分得I个个体,按照混合蛙跳算法的分组规则将每个个体分配至各自的族群。

8.根据权利要求7所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(6)对族群进行更新的方法:根据分组结果,提取各个族群中的最差解X_wk与最优解X_bk(k=1,2,3……M),对各个族群内部进行N次的局部搜索,对于每一次局部搜索得到的新解X_newk,计算其适应度并判断其是否为异常解,若为异常解则通过加入惩罚因子的方式大幅度降低其适应度,最后使用改进的筛选规则决定新解的取舍;

所述异常解的产生包括在进行族群更新时产生的新解出现景点重复,多日游的路线规划中出现路线交叉,路线不满足旅游偏好;在生成每一个随机个体之后,立即判断其是否为异常解,若为异常解,则用一个数值足够大的惩罚因子ΔC代替目标值,f(Xh)=ΔC

在惩罚因子ΔC足够大的情况下,异常个体的适应度降低,使其在族群的更新中被淘汰;

所述的改进的筛选规则:

步骤(6)中的改进筛选规则是在基本混合蛙跳的基础上新增了一项判断条件,在以全局最优解和局部最差解之间的差距作为最大步长进行跳跃之后,若||Xnew-Xwk||<ε

则产生一个新的随机解代替原有的Xwk,否则保留原有的Xwk。其中ε为根据模型和需求自行选定的阈值。

族群更新的实现步骤如下:

(a)族群更新计数器i=1;

(b)族群编号k=1;

(c)计算最大跳跃步长stepmax=X-bk-X_wk;

(d)产生一个0~1的随机数λ;

(e)对最差解进行更新X_newk=X_wk+λstepmax,并对X_newk进行取整操作;

(f)计算新解适应度F(X_newk);

(g)若F(X_newk)>F(X_wk),则令X-wk=X_newk,转(m);否则转(h);

(h)计算新的最大跳跃步长

(i)产生一个0~1的随机数λ′;

(j)对最差解进行第二次更新 并对X_newk进行取整操作;

(k)若F(X_newk)>F(X_wk),则令X-wk=X-newk,转(m);否则转(1);

(l)若 或

则保留X-wk,否则产生一个新解代替原有的X_wk;

(m)k=k+1,若k≤M转(c)否则转(n);

(n)i=i+1若i≤N转(b),否则算法终止。

9.根据权利要求8所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(7)族群混合,记录最优解的方法:族群更新结束后,将所有族群的个体进行混合,排序选出当前最优解并与当前的全局最优解比较,根据优胜劣汰原则选出新的全局最优解并记录为 得到的 即为以编号为h的旅馆为起点的全局最优解。

10.根据权利要求9所述的基于改进蛙跳算法的个性化旅游路线推荐方法,其特征在于:所述步骤(8)判断算法是否到达终止条件的方法:若g<G,h<nh,则返回步骤(4);若g≥G,h<nh,则h=h+1,返回步骤(3);若g≥G,h≥nh,终止算法输出全局最优解Xbest,