[具体实施方式]
一、多属性有向图
普通有向图是连接顶点的边具有方向性的图。多属性有向图是普通的有向图的一种扩张,每条边不仅具有方向属性,还有其它更多的属性,比如难度,速度等。图1所示的多属性有向图由三个顶点V1、V2和V3,以及5条有向多属性边E1-E5组成。
二、多属性有向图的特点
两个顶点之间在同一方向上可能存在不同属性的多条边,比如图1的E2和E3。也有可能存在顶点到自身的多条不同属性的边。不允许在两个顶点的同一个方向上存在属性完全相同的边。
三、用多属性有向图表达景区
景区是多个景点以及连接这些景点的路线的集合。
将景区中有单独意义的不相交的区域定义为基本单元BU(BasicUnit),基本单元BU包括每个景点,以及连接这些景点的所有可能的道路。
将BU中相交的路口定义为节点CP(Cross Point),孤立的BU出入口也标记为CP。
对每一个BU,存在一个或多个观赏方案SP(Sightseeing Plan)。一个SP是从该BU的一个入口(CP)开始,以主观选定的速度等条件,经过BU内部的一条路线,终止于该BU的一个出口(CP)。入口CP和出口CP可能不同,也可能相同。不同的SP有可能对应于相同的BU入口,但是其内部路线、观赏时刻约束等有所不同或速度等主观条件不同。对应于每个SP,由于其入口、出口、内部路线已经确定,速度等主观因素也已确定,因此可以对该SP进行客观评估,得到观赏等级、难度、舒适度、时间、成本等结果。对应于这个SP的以上所有参数,包括入口,出口,速度,观赏时刻等主客观条件,观赏等级等评估结果,统一定义为该SP的属性。
以所有CP为顶点,以所有SP为有向边,就可以将该景区表达为一个多属性有向图。其中,SP的入口是有向边的起始,出口是有向边的结尾。
图2所示是实施例1简单山顶公园的多属性有向图的示意范例:
该公园有一个山底公园入口V1,有一条步行上下山公路,还可以坐缆车上下山,山顶的观景台凌晨和夜晚的观景效果最佳。因此,它有三个BU:山顶公园、人行上下山公路和缆车,共有2个顶点CP:山顶观景台入口和公园入口。对每个BU可形成三个游览方案SP。形成2个顶点、9条有向边的多属性有向图。假定公园的开门时间是每天5:00—20:00,缆车的运行时间是每天9:00—18:00。SP的属性定义为:
入口,出口,BU编号,观赏等级,难度,时间,成本,起始时刻和结束时刻(还可以包括必选景点和排除景点,本实施例中为简化描述,没有包含必选景点和排除景点)。
则每个SP属性如下:
SP1:V1,V2,1,1,4,60分钟,0,5:00,20:00(快步步行上山)
SP2:V1,V2,1,2,3,120分钟,0,5:00,20:00,(慢步步行上山)
SP3:V1,V2,2,1,0,20分钟,10元,9:00,18:00,(缆车上山)
SP4:V2,V1,1,1,2,30分钟,0,5:00,20:00,(快步步行下山)
SP5:V2,V1,1,2,1,45分钟,0,5:00,20:00,(慢步步行下山)
SP6:V2,V1,2,1,0,20分钟,10元,9:00,18:00,(缆车下山)
SP7:V2,V2,3,10,0,60分钟,0,5:00,7:00,(凌晨观景)
SP8:V2,V2,3,10,0,60分钟,0,17:00,20:00,(夜晚观景)
SP9:V2,V2,3,6,0,30分钟,0,7:00,17:00,(其它时间观景)
四、基于多属性有向图的景区游览方案
在上述多属性有向图中,一个景区游览方案,是一个SP的序列,它形成的链路从一个指定的入口开始,且终止于另一个指定的出口;入口和出口可以是不同CP,也可以是相同的CP。
例如在上述范例中,(SP1,SP7,SP6)是一个从V1到V1的游览方案,(SP1,SP4)也是一个V1到V1的景区游览方案,(SP7,SP5)则是一个V2到V1的游览方案。
但是,(SP7,SP1)不能形成V2到V1游览方案,因为SP7的出口不是SP1的入口,并且SP1的出口也不是V1。
五、基于多属性有向图的最优游览方案线路规划方法
其中景区最优方案,是指所有景区游览方案中满足期望的约束条件,例如时间、难度、成本等,而在期望的目标属性方面,例如观赏等级等,得到最佳结果的线路。
常见的约束条件是:时间、出入口、难度等
常见的主要优化目标指标是综合观赏等级,可定义为线路各SP的观赏等级之和/或均值等。次要的优化目标指标有舒适度、成本等。
由于景区的景点不可能很多,通常在100以内,相应的道路、出入口的数量也差不多同样量级,因此景区对应的多属性有向图也不很大。在用户给出约束条件的情况下,该图进一步简化。因此此时对应于明确的优化目标的计算是容易做到的,最坏的完全枚举开销也应在可接受范围。
本发明的具体实施过程如下:
一、景区数据收集整理
1、原始数据采集整理
采集景区的完整的景点和道路、交通信息,整理后,形成完整的CP和BU。将景区表达为以CP为顶点,以BU为边的无向图。
以上述山顶公园为例,采集得知景区中有BU1:人行上下山道路,BU2:上下山索道,以及BU3:山顶观景区,共三个BU。其中BU1有两个出入口分别是公园入口V1和山顶观景台入口V2,BU2的出入口和BU1一样,BU3只有一个出入口V2,因此合计只有两个CP。
BU的取舍是后续规划的基础,太小的BU会导致数据复杂度提高,太大的BU则会导致后续规划不够准确详尽,原则上取游览过程不可拆分的最小单元作为BU。在山顶公园示例中,BU3也可分拆为BU3、BU4、BU5三个BU,分别代表凌晨景色、夜景和其他时间的景色,这对某些特殊场合的细致规划是有价值的。在这里,为表达简便,合并处理为一个BU,并不影响对于本发明的说明。
对于上述示例,其对应的无向图描述如下:
2、对BU进行SP设计
依据不同约束条件对每个BU进行详细的观赏方案设计,形成若干个合理的SP。
在上述山顶公园范例中,我们首先设计SP的属性包括如下变量域:
入口CP:该SP对应的入口。
出口CP:该SP对应的出口。
BU_ID:BU的编号,这是该BU的唯一标示,取值1,2,3,分别对应步行路,缆车和观景台。
观赏等级:取值0—10,是对于该BU的观赏价值的主观判断。0最低表示几乎没有观赏价值,10表示本景区最高的观赏价值。
难度:取值0-4,对于该游览方式的难度的主观判断,通常指游客的体力消耗。
时间:按分钟计算,是该游览方案所需要的标准时间。
成本:按元计算,是该游览方式所需支付的费用。
时刻约束:该游览方式对于游览时刻的要求,包括开始时刻和结束时刻两个参数。
对于人行上下山道路BU1设计了4种游览方案:
快速上山SP1:V1,V2,1,1,4,60分钟,0,5:00,20:00
慢速上山SP2:V1,V2,1,2,3,120分钟,0,5:00,20:00
快速下山SP4:V2,V1,1,1,2,30分钟,0,5:00,20:00
慢速下山SP5:V2,V1,1,2,1,45分钟,0,5:00,20:00
对于上下山缆车BU2设计两个游览方案:
缆车上山SP3:V2,V1,2,1,0,20分钟,10元,9:00,18:00
缆车下山SP6:V2,V1,2,1,0,20分钟,10元,9:00,18:00
对于山顶观景区设计三个游览方案:
凌晨观景SP7:V2,V2,3,10,0,60分钟,0,5:00,7:00
夜晚观景SP8:V2,V2,3,10,0,60分钟,0,17:00,20:00
其它时间观景SP9:V2,V2,3,6,0,30分钟,0,7:00,17:00
由此产生全部的9个对于单个BU的游览方案SP。在SP的设计过程中需要依据景点特点仔细推敲,比如在上述案例中对于BU1的设计增加一个中速上山SP也是可以的。对于SP属性的设计也需要依据景点特点进行仔细的考虑,比如上述案例中时刻约束的开始时刻和结束时刻的取值可以是一个变动的数值,根据不同日期的日出、日落时刻相应调整,对于游览时间的设计可以带有浮动范围,等等。对景区特点进行深入的研究,并结合对比和实验确定和优化SP的具体设计,可以提高规划的效率和精确度,使本技术产生更好的实用价值,用户获得更佳的体验。
3、形成景区多属性有向图
整合前两步产生的CP和SP,就得到完整的景区多属性有向图。可用SP替代上述景区无向图中的BU得到结果。
在上述实施例中,在图3中分别用上一步得到的SP1、SP2、SP4、SP5替代BU1,SP3、SP6代替BU2,SP7、SP8、SP9代替BU3,得到图2。
应用场景中实际应用
获取约束条件和期望目标
在不同的应用场景确定约束条件和期望目标的方式是不一样的.
在旅行社、园区服务等场景,约束条件和期望目标通常由设计师按照常规模式设定。
在自助旅游服务的应用场景中,约束条件和期望目标由用户设定。与用户交互需要技巧,太少的交互可能导致较大的偏差,太多的交互又可能导致用户的繁琐甚至抗拒使用。使用预设值可以较好处理该矛盾,优化的预设值可以避免强制客户选择同时使得结果的偏差较小,并且给高级客户保留了自行详细设定的机会。
举例:在上述山顶公园范例中,可以要求用户提供“到达公园入口的时间”一个参数即可实施规划。对于高级用户则可进一步要求用户提供“游览速度”“离开公园入口时间”“费用目标”“一定游览的景点”“一定不游览的景点”等选项供高级用户设定。
其中,“到达公园入口的时间”预设值(即用户没有设置时的缺省值,下同)应为每天游览的最佳开始时间,“游览速度”预设值应为中等或空,“离开公园的时间”预设值应是根据“到达公园入口的时间”计算出的最佳离开时间或空,“一定游览的景点”和“一定不游览的景点”预设值为空。这样在用户未进行设定,或只进行了部分设定的情况下,确保得出的结果是合理的结果。
比如,对上述山顶公园范例,用户A可以只是设定了“到达公园入口的时间=17:00”,用户B可以设定“到达公园入口的时间=17:00”“离开公园入口的时间=19:00”两个条件,等。
4、实施智能优化规划
输入约束条件,根据约束条件去掉不合格的SP;对剩余的SP的可能链路计算期望目标值,并根据计算结果对链路进行排序,得到最优结果。
对上述山顶公园范例的用户A:
由于设定了“到达公园的入口时间=17:00”,因此去掉SP7、SP9
对剩下的SP,从V1开始到V1结束,共有如下景区游览方案:
L1:SP1,SP4(快速步行上下山)
L2:SP1,SP8,SP4(快速步行上下山和山顶观夜景)
L3:SP1,SP5(快速步行上山慢速步行下山)
L4:SP1,SP8,SP5(快速步行上山慢速步行下山和山顶观夜景)
L5:SP1,SP6(快速步行上山缆车下山)
L6:SP1,SP8,SP6:(快速步行上山缆车下山和山顶观夜景)
L7:SP2,SP4(慢速步行上山快速步行下山)
L8:SP2,SP8,SP4(慢速步行上山快速步行下山和山顶观夜景)
L9:SP2,SP5(慢速步行上下山)
L10:SP2,SP8,SP5(慢速步行上下山和山顶观夜景)
L11:SP2,SP6(慢速步行上山缆车下山)
L12:SP2,SP8,SP6(慢速步行上山缆车下山和山顶观夜景)
L13:SP3,SP4(缆车上山步行快速下山)
L14:SP3,SP8,SP4(缆车上山步行快速下山和山顶观夜景)
L15:SP3,SP5(缆车上山步行慢速下山)
L16:SP3,SP8,SP5(缆车上山步行慢速下山和山顶观夜景)
L17:SP3,SP6(缆车上下山)
L18:SP3,SP8,SP6(缆车上下山和山顶观夜景)
对每个景区游览方案,核查约束条件并计算其属性的和值:
L1:观赏等级和=1(BU重复计最大值,下同),难度=6,时间=90分钟,成本=0
L2:观赏等级和=11,难度=6,时间=150分钟,成本=0
L3:观赏等级和=2,难度=5,时间=105分钟,成本=0
L4:观赏等级和=12,难度=5,时间=165分钟,成本=0
L5:观赏等级和=2,难度=4,时间=80分钟,成本=10
L6:不可能,SP6超出约束时间。
L7:观赏等级和=2,难度=5,时间=150分钟,成本=0,
L8:观赏等级和=12,难度=5,时间=210分钟,成本=10
L9:观赏等级和=2,难度=4,时间=165分钟,成本=0,
L10:观赏等级和=12,难度=4,时间=225分钟,成本=10
L11:观赏等级和=3,难度=3,时间=140分钟,成本=10,
L12:不可能,SP6超出约束时间。
L13:观赏等级和=2,难度=3,时间=40分钟,成本=10
L14:观赏等级和=12,难度=2,时间=110分钟,成本=10
L15:观赏等级和=3,难度=1,时间=65分钟,成本=10
L16:观赏等级和=13,难度=1,时间=125分钟,成本=10
L17:观赏等级和=1,难度=0,时间=40分钟,成本=20
L18:不可能,SP6超出约束时间。
对上述线路按照观赏等级排序,可以得到对于用户A的最优规划是L16,即缆车上山,观景后慢速步行下山。用户得到最大的观赏等级13,总用时125分钟,即19:05回到公园入口,可以离开景区了。
变换不同的约束条件和期望目标,可以相应得到不同的优化结果,从而满足不同游客的个性化需求。
例如对于上述用户景区游览方案规划方法,由于增加了“离开公园入口的时间=19:00”,L16因为超时变成不可选路线,并且L2、3、4、6、7、8、9、10、11、12均称为不可选路线。在剩下的可选路线中L14以观赏等级12成为最优规划路线,即向用户B推荐的是缆车上山,山顶观光后快速下山,用时约110分钟,于18:50左右回到公园入口,从而满足用户对于离开时间的要求。
用户还可以手动对上述规划进行修改保存,形成自己的游览计划,并在后续导游过程中使用。通过交互可使本技术具有了更实际有效的价值。例如对于上述用户A,期望20点左右再离开,可以手动增加观景时间、步行下山时间等。
该智能优化规划方法可以容易地在智能手机、电脑等智能设备上实现。
对于具有三个或更多出入口CP的BU,生成无向图时该BU的每两个不同或相同CP之间都要以该BU为边连接起来,然后对每条边再来设计SP,设计时可以依据合理性裁剪。比如上述山顶观光公园的示例中,增加一个入口广场,这个广场有三个CP:公园入口,步行道入口和缆车入口。地理示意图4所示,其无向图如图5所示。
然后对每个BU1都要设计SP,并代替对应BU1,得到多属性有向图,如同其它如BU2等一样。由于这些BU1的出入口是不一样的,所以其SP也必定是不一样的。具体的设计原理方式和不带入口广场的示例一样。
图5所示的无向图可以设计为图6所示的有向图:
其中,SP1:公园入口开始快速游览广场返回公园入口
SP2:公园入口开始慢速游览广场返回公园入口
SP3:公园入口开始游览广场后到达步行入口
SP4:步行入口开始游览广场后到达公园入口
SP5:步行入口开始快速游览广场并返回步行入口
SP6:步行入口开始慢速游览广场并返回步行入口
SP7:缆车入口开始游览广场并到达步行入口
SP8:步行入口开始游览广场并到达缆车入口
SP9:公园入口开始快速游览广场并到达缆车入口
SP10:公园入口开始慢速游览广场并到达缆车入口
SP11:缆车入口开始快速游览广场并回到缆车入口
SP12:缆车入口开始慢速游览广场并回到缆车入口
SP13:步行入口开始快速上山
SP14:步行入口开始慢速步行上山
SP15:步行快速下山
SP16:步行慢速下山
SP17:缆车下山
SP18:缆车上山
SP19:快速游览山顶
SP20:慢速游览山顶
SP21:从缆车入口开始游览广场并返回公园入口
SP22:从缆车入口开始快速返回公园入口……
二、智能导游
当用户用手机APP软件等智能设备规划好上述线路后,点击“开始导游”按键,软件即可实时采集用户的地理位置、当前时间等信息,并与预定的线路进行比较,从而为用户给出实时道路指引和语音、文字等信息,提供导游服务了。这个过程与目前常规导游软件的导游功能基本相似,可以参考。
借助于本发明的智能规划技术,本导游功能可产生出创新的智能能力:
1、借助于本发明的智能规划技术,用户在使用本导游的过程中可以随时中断当前导游,实时重新进行规划并启动新的导游,大大提升软件实用价值;
2、可将规划路线及其要素特别是相关约束时刻,例如上述实施例中对于A的L16,以及对于用户B的L14,列表展示给用户,以便用户掌握游览行程,从而显著提高用户的旅游体验;
3、可以将用户的实际游览情况实时与预定规划比较,并适时告知用户,特别是当发现某个未来要素会受到影响时,可及时提醒用户;例如提醒用户“您到达当前地点的时间已超过既定时间10分钟,可能错过最后一班缆车,请加快速度”等。可显著提升导游软件的使用价值,显著提升用户体验。