发明名称 一种用于旅游景点的旅游时间优化方法
摘要 本发明公开了一种用于旅游景点的旅游时间优化方法,设计了一种适用于旅游景点的最短旅游时间方法来帮助游客实现高效率的景点游览方式,即在相同的时间内游玩更多的景点,此方法在实现游客对待游览景点所需游览总时间优化的同时也使得景区内交通、旅馆、餐饮、商店等服务负荷的合理和均衡。该算法结合了粒子群算法和遗传算法,将普通的旅行商问题讨论的遍历所有城市的物理距离最小的问题进行改进,采用时间适应度值的大小决定粒子的更新和种群的迭代,其中时间适应度值的时间是由景点之间的物理距离、每个景点游玩所需时间以及实时状况下游玩每个景点所需的等待时间共同决定。这种算法能够更好地结合实际,为游客提供更好的路径推送服务。
申请公布号 CN103402173A 申请公布日期 2013.11.20
申请号 CN201310301447.8 申请日期 2013.07.18
申请人 合肥工业大学 发明人 张勇;徐小龙;陈玲;黄杰
分类号 H04W4/02(2009.01)I;H04W64/00(2009.01)I;G06Q10/04(2012.01)I;G06Q50/14(2012.01)I 主分类号 H04W4/02(2009.01)I
代理机构 安徽合肥华信知识产权代理有限公司 34112 代理人 余成俊
主权项 一种用于旅游景点的旅游时间优化方法,为每位进入旅游景点的游客配备一台集Wi‑Fi、GPS定位、多媒体播放等功能为一体的手持终端设备,在旅游景点中设置多处AP无线接入点、控制AP接入定位服务器AC控制器,同时设置接收手持终端设备、AP无线接入点信号的定位服务器,定位服务器中预设定位数据库、信息管理平台,其特征在于:包括以下步骤:(1)、游客进入旅游景区时,手持终端设备读取周围AP无线接入点的RSSI信号强度值,并将读取的RSSI信号发送至定位服务器,定位服务器中定位数据库根据手持终端设备读取的RSSI信号计算得到游客所在旅游景区位置,同时定位服务器中信息管理平台对游客位置信息以及当前各个景点处的游客数量进行实时动态的统计更新;(2)、游客通过手持终端向定位服务器发送路径选择请求信号,路径选择请求信号被游客附近多个AP无线接入点读取后,通过AC控制器发送至定位服务器;(3)、定位服务器接收到游客的路径选择请求信号后,根据信息管理平台统计更新的信息,基于混合粒子群算法进行旅游时间优化运算,运算方法如下:(a)、对于旅游景区中每个景点,根据定位数据库中各个景点的二维坐标数据,引入景点的纵横坐标值,单位为米,以确定混合粒子群算法可行解中每个景点的位置数据,然后对所有景点,特殊情况下对于部分游客自主选择游览景点,进行整数编码;所述混合粒子群算法中将每个粒子对应于一个建议游览路径的可行解,可行解的维数就是游客未自主选择的所有景点或者游客自主选择的景点的个数n,可行解每个元素的顺序就是建议的游览景点路径的顺序;(b)、初始化参数,初始化的参数包括在混合粒子群算法运算中需要的迭代次数,种群数目,人步行速度v,粒子初始位置,其中迭代次数nMax、种群数目indiNum、人步行速度v都在算法初始化程序中给定的值,可相应设定为nMax=200,indiNum=500,v=100m/min,至于粒子的初始位置是由matlab程序中randperm(n)函数随机产生的1到n这n个整数随机打乱得到的一个数字序列;(c)、按照下列公式计算第k个粒子的时间适应度值fitness(k): <mrow> <mi>fitness</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>path</mi> <mi>ij</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mi>v</mi> <mo>+</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>waittim</mi> <msub> <mi>e</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>+</mo> <msub> <mi>playtime</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>∵ <mrow> <msub> <mi>waitttime</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>=</mo> <msub> <mi>playtime</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <msub> <mi>num</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>根据公式(1)、(2),得到第k个粒子的时间适应度值fitness(k)的公式为: <mrow> <mo>.</mo> <mi>fitness</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>path</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mi>v</mi> <mo>+</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>playtime</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>&CenterDot;</mo> <msub> <mi>num</mi> <msub> <mi>i</mi> <mi>k</mi> </msub> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>公式(1)、(2)、(3)中, n为游客未自主选择的所有景点或者游客自主选择的景点的个数,pathi,j为游客未自主选择的所有景点或者游客自主选择的景点i,j之间的距离,playtimeik为对于第k个粒子时游客在景点i处进行游玩所需的时间,waittimeik为对于第k个粒子时游客在景点i处排队等待所需的时间,numik为对于第k个粒子时游玩时景点i处排队的人数,其中,人数由定位服务器通过对游客的实时定位获得;(d)、对粒子进行交叉操作:粒子通过和粒子个体极值即该粒子到目前自己找到的最优解Pbest和群体极值即所有粒子构成的粒子群体到目前找到的最优解Gbest交叉来更新,交叉方法采用整数交叉法,具体如下:首先,在程序中使用随机函数产生两个介于1至n之间的随机数,这两个数就对应于粒子中两个需要进行交叉的位置;然后,把粒子和粒子个体极值或粒子和粒子群体极值进行交叉,产生的新粒子中如果存在重复的景点则进行调整,调整的方法是将景区中没有出现的景点插入新粒子的序列当中,得到新的粒子;最后,计算新粒子的时间适应度值,并将该值与粒子个体极值、粒子群体极值对应的时间适应度值进行比较,如果更好,即更小,则接受新的粒子,进入下一步(e),否则,保留原来的粒子不变,进入下一步(e);(e)、对粒子进行变异操作:采用将粒子内部的两个位置进行交换,具体如下:首先,在程序中使用随机函数产生两个介于1至n之间的随机数,这两个数就对应于上一步最后选择的粒子中两个需要进一步进行变异的位置;然后,对产生的两个位置的景点顺序进行交换,从而产生变异操作后的新粒子;最后,计算变异后的新粒子的时间适应度值,再次并将该值与粒子个体极值、粒子群体极值对应的时间适应度值进行比较,如果更好,即更小,则接受新的粒子,进入下一步(f),否则,保留变异前的粒子不变,进入下一步(f);(f)、根据对交叉、变异操作之后最终得到的粒子的时间适应度值与个体极值和群体极值比较结果,对最优值进行更新,得到更优的粒子个体最优值Pbest和粒子群体最优值Gbest;(g)、判断停止条件:迭代次数是否达到最大值,达到则停止运算,在手持终端设备上输出时间最优的建议游览路径;否则进行下一轮计算。
地址 230009 安徽省合肥市屯溪路193号