A multi-attribute oriented dynamic group trip planning method and device

CN116839613BActive Publication Date: 2026-08-18SOUTH CENTRAL UNIVERSITY FOR NATIONALITIES
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310804753.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2026-08-18
Estimated Expiration
2043-06-30

AI Technical Summary

Technical Problem

不仅如此,在大数据时代,随着许多新的数据类型被引入,空间查询变得愈加复杂,用户的偏好也难以捉摸

Benefits of technology

[0105] This application extends dynamic group travel to real road networks and adds multi-dimensional attribute information of points of interest, making the dynamic group travel planning query more comprehensive and the query results more accurate and reliable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116839613B_ABST
    Figure CN116839613B_ABST
Patent Text Reader

Abstract

The application relates to a multi-attribute-oriented dynamic group travel planning method and device, and relates to the technical field of path planning.The method comprises the following steps: acquiring a road network map and query data; constructing a corresponding comprehensive index structure; performing pruning processing on the comprehensive index structure to obtain a first set; performing pruning processing on the search space of the road network map and performing intersection processing with the first set to obtain a second set; obtaining interest points satisfying constraint conditions corresponding to the query data based on the second set; obtaining a plurality of candidate paths based on the starting position and target position of the query data and based on the condition interest points; calculating the comprehensive ranking of the plurality of candidate paths, and selecting a preset number of candidate paths as the best travel path according to the comprehensive ranking.The application extends the dynamic group travel to a real road network, simultaneously increases the multi-dimensional attribute information of the interest points, so that the dynamic group travel planning query considers more comprehensive factors, and the query result is more accurate and reliable.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of path planning technology, specifically to a dynamic group travel planning method and apparatus for multiple attributes. Background Technology

[0002] In recent years, with the rapid development of mobile communication technology and the popularization of smart mobile devices, the amount of network data information has increased rapidly, and its content has also shown a diversified trend. Location-based services are emerging one after another in daily life, and people have put forward diversified and personalized demands for location-based services.

[0003] The widespread use of mobile applications has made the location-aware capabilities of internet data more concrete. However, in geographic social networking applications, the complexity of road networks significantly limits the accessibility of users' location information and points of interest. The distance between two points of interest does not depend on their spatial location, but rather on the shortest path between them within the road network. Furthermore, in the era of big data, with the introduction of many new data types, spatial queries have become increasingly complex, and user preferences are becoming increasingly elusive. For example, in addition to location information, restaurant information on food delivery apps like Meituan, Ele.me, and Dianping includes textual descriptions of ratings such as taste, ambiance, and service. Finding path sequences within the road network that meet user needs and have high overall ratings is a pressing technical problem that needs to be solved.

[0004] Therefore, to meet the needs of route planning, a dynamic group travel planning technology oriented towards multiple attributes is provided. Summary of the Invention

[0005] This application provides a dynamic group travel planning method and apparatus for multiple attributes, which extends dynamic group travel to real road networks and adds multi-dimensional attribute information of points of interest, making the dynamic group travel planning query more comprehensive and the query results more accurate and reliable.

[0006] To achieve the above objectives, this application provides the following solution.

[0007] In a first aspect, this application provides a dynamic group travel planning method oriented towards multiple attributes, the method comprising the following steps:

[0008] Obtain road network maps and query data;

[0009] Construct a corresponding comprehensive index structure based on the road network map;

[0010] Based on the query data, the text information of each point of interest, and the effective time information, the comprehensive index structure is pruned to obtain the first set;

[0011] Based on the query data, the search space of the road network map is pruned, and its intersection with the first set is processed to obtain the second set;

[0012] Based on the second set, interest points that satisfy the constraints corresponding to the query data are obtained and denoted as conditional interest points.

[0013] Based on the starting and target locations of the query data, and based on each conditional point of interest, multiple candidate paths are obtained;

[0014] Calculate the overall ranking of multiple candidate routes, and select a preset number of candidate routes as the optimal travel route based on the overall ranking; among them,

[0015] The road network map includes multiple points of interest and corresponding paths, and each point of interest includes text information and valid time information.

[0016] The query data includes group members, starting position, destination position, query keywords, and time query range.

[0017] Furthermore, the construction of the corresponding comprehensive index structure based on the road network map includes the following steps:

[0018] The road network map is divided into multiple sub-maps;

[0019] Calculate and store the shortest path distances to the boundaries of the points of interest in each of the subgraphs, and construct a boundary distance matrix;

[0020] Based on the text information and effective time information of each point of interest, a corresponding keyword reverse index is constructed.

[0021] The comprehensive index structure is constructed based on the name information of the subgraph, the boundary distance matrix, the keyword reverse index, and the corresponding valid time information.

[0022] Furthermore, based on the query data and the text information and valid time information of each point of interest, the comprehensive index structure is pruned to obtain the first set, which includes the following steps:

[0023] Initialize a first set and a first queue. The first queue is used to store the leaf nodes of the comprehensive index structure, and the first set is used to store conditional interest points.

[0024] Based on the root node of the comprehensive index structure, traverse the child nodes of the root node to determine whether the query keywords and time query intervals corresponding to the query data are satisfied.

[0025] If the condition is met, it is determined whether the node is a non-leaf node. If it is a non-leaf node, the child nodes of the corresponding node are stored in the first queue. If it is not a non-leaf node, the corresponding node is stored in the first set.

[0026] Furthermore, based on the query data, the search space of the road network map is pruned, and its intersection with the first set is processed to obtain the second set, including the following steps:

[0027] Locate the area in the road network map where the query data is located, and define a set of elliptical regions;

[0028] Initialize a second queue, a second set, an ellipse first focus set, and an ellipse second focus set. The second queue is used to store a set of elliptical regions, the second set is used to store the conditional interest points, and the ellipse first focus set is used to store the first foci of the ellipse regions. The ellipse second focus set is used to store the second foci of the ellipse regions.

[0029] Calculate the first focus of each elliptical region and add it to the set of first foci of the ellipse;

[0030] Calculate the second focus of each elliptical region and add it to the set of second focuses of the ellipse;

[0031] Based on the set of the first foci of the ellipse and the set of the second foci of the ellipse, each elliptical region is calculated;

[0032] Calculate the elliptical intersection between multiple elliptical regions, and add the points of interest located in the elliptical intersection to the second set.

[0033] Furthermore, based on the query data, the search space of the road network map is pruned, and its intersection with the first set is processed to obtain the second set, including the following steps:

[0034] If there is no elliptical intersection between the multiple elliptical regions, then the centroids between the multiple elliptical regions are calculated.

[0035] The distance between the centroid and its nearest point of interest is identified and recorded as the first distance;

[0036] A custom circular region is obtained with the centroid as the center and the first distance as the radius;

[0037] Add the points of interest located in the custom circular region to the second set.

[0038] Furthermore, the method also includes a comprehensive ranking function, which is:

[0039] in,

[0040] q(v) indicates that the point of interest v does not satisfy the query constraint q;

[0041] f t (qv) is the effective time overlap rate between the query time and the point of interest v;

[0042] f l (qv) is the distance cost of the path sequence;

[0043] score(qv) is the overall score of interest point v;

[0044] α, β, γ∈(0,1) and α+β+γ=1, where α, β, γ represent user preference parameters used to adjust the weights of time overlap rate, distance cost, and comprehensive score in the comprehensive ranking function.

[0045] Furthermore, the method also includes a comprehensive scoring function, which is:

[0046] in,

[0047] Parameters α1 and α2 represent weights, |U| is the number of group members, and v i .pop is a point of interest (v) i Popularity value, v i .env is the point of interest v i Environmental values, v i .ser is a point of interest v i The service values.

[0048] Furthermore, the method also includes an effective time overlap rate function, which is:

[0049] in,

[0050] qt is the query time of the time query interval q, vt is the valid time of the point of interest v, and v.st is the valid start time of the point of interest v.

[0051] q.et is the end time of the time query interval q;

[0052] t w This indicates the waiting time that the group members can tolerate;

[0053] |qt∩vt|≠0 indicates that there is an intersection between qt and vt;

[0054] v.st-q.et is the time difference between vt and q.et.

[0055] Furthermore, the method also includes a distance cost function, which is:

[0056] in,

[0057] Dist(s i ,v c ,d i ) represents user u i Starting from the origin, passing through point of interest v c The distance of the road network to the destination.

[0058] Secondly, this application provides a dynamic group travel planning device for multiple attributes, the device comprising:

[0059] The data acquisition module is used to acquire road network maps and query data;

[0060] An index structure construction module is used to construct a corresponding comprehensive index structure based on the road network map;

[0061] The first set acquisition module is used to perform pruning on the comprehensive index structure based on the query data, the text information of each point of interest, and the effective time information to obtain the first set;

[0062] The second set acquisition module is used to prune the search space of the road network map based on the query data and perform intersection processing with the first set to obtain the second set;

[0063] The conditional interest point acquisition module is used to obtain interest points that satisfy the constraint conditions corresponding to the query data based on the second set, and these are denoted as conditional interest points.

[0064] The candidate path acquisition module is used to obtain multiple candidate paths based on the starting position and target position of the query data and based on each conditional point of interest.

[0065] The optimal route acquisition module calculates the overall ranking of multiple candidate routes and selects a preset number of candidate routes as the optimal travel route based on the overall ranking; among them,

[0066] The road network map includes multiple points of interest and corresponding paths, and each point of interest includes text information and valid time information.

[0067] The query data includes group members, starting position, destination position, query keywords, and time query range.

[0068] Furthermore, the index structure construction module is also used to divide the road network map to obtain multiple sub-maps;

[0069] The index structure construction module is also used to calculate and store the shortest path distance of the boundary of the interest point in each subgraph, and construct the boundary distance matrix.

[0070] The index structure construction module is also used to construct a corresponding keyword reverse index based on the text information and effective time information of each of the interest points;

[0071] The index structure construction module is also used to construct the comprehensive index structure based on the name information of the subgraph, the boundary distance matrix, the keyword reverse index, and the corresponding valid time information.

[0072] Furthermore, the first set acquisition module is also used to initialize the first set and the first queue, the first queue is used to store the leaf nodes of the comprehensive index structure, and the first set is used to store conditional interest points;

[0073] The first set acquisition module is also used to traverse the child nodes of the root node based on the root node of the comprehensive index structure, and determine whether the query keyword and time query interval corresponding to the query data are satisfied. If satisfied, it is determined whether it is a non-leaf node. If it is a non-leaf node, the child nodes of the corresponding node are stored in the first queue. If it is not a non-leaf node, the corresponding node is stored in the first set.

[0074] Furthermore, the second set acquisition module is also used to locate the area of ​​the query data in the road network map and define a set of elliptical regions;

[0075] The second set acquisition module is also used to initialize a second queue, a second set, an ellipse first focus set, and an ellipse second focus set. The second queue is used to store a set of elliptical regions, the second set is used to store the conditional interest points, and the ellipse first focus set is used to store the first focus of the ellipse region. The ellipse second focus set is used to store the second focus of the ellipse region.

[0076] The second set acquisition module is also used to calculate the first focus of each elliptical region and add it to the set of the first foci of the ellipse;

[0077] The second set acquisition module is also used to calculate the second focus of each elliptical region and add it to the set of second foci of the ellipse;

[0078] The second set acquisition module is also used to calculate each of the elliptical regions based on the set of the first foci of the ellipse and the set of the second foci of the ellipse;

[0079] The second set acquisition module is also used to calculate the elliptical intersection between multiple elliptical regions and add the points of interest located in the elliptical intersection to the second set.

[0080] Furthermore, the second set acquisition module is also used to calculate and obtain the centroid between the multiple elliptical regions when there is no elliptical intersection between the multiple elliptical regions.

[0081] The second set acquisition module is also used to identify and obtain the distance between the centroid and the nearest point of interest, denoted as the first distance;

[0082] The second set acquisition module is also used to obtain a custom circular region with the centroid as the center and the first distance as the radius;

[0083] The second set acquisition module is also used to add points of interest located in the custom circular area to the second set.

[0084] Furthermore, the device also includes a comprehensive ranking function, which is:

[0085] in,

[0086] q(v) indicates that the point of interest v does not satisfy the query constraint q;

[0087] f t (qv) is the effective time overlap rate between the query time and the point of interest v;

[0088] f l (qv) is the distance cost of the path sequence;

[0089] score(qv) is the overall score of interest point v;

[0090] α, β, γ∈(0,1) and α+β+γ=1, where α, β, γ represent user preference parameters used to adjust the weights of time overlap rate, distance cost, and comprehensive score in the comprehensive ranking function.

[0091] Furthermore, the device also includes a comprehensive scoring function, which is:

[0092] in,

[0093] Parameters α1 and α2 represent weights, |U| is the number of group members, and v i .pop is a point of interest (v) i Popularity value, v i .env is the point of interest v i Environmental values, v i .ser is a point of interest v i The service values.

[0094] Furthermore, the device also includes an effective time overlap rate function, which is:

[0095] in,

[0096] qt is the query time of the time query interval q, vt is the valid time of the point of interest v, and v.st is the valid start time of the point of interest v.

[0097] q.et is the end time of the time query interval q;

[0098] t w This indicates the waiting time that the group members can tolerate;

[0099] |qt∩vt|≠0 indicates that there is an intersection between qt and vt;

[0100] v.st-q.et is the time difference between vt and q.et.

[0101] Furthermore, the device also includes a distance cost function, which is:

[0102] in,

[0103] Dist(s i ,v c ,d i ) represents user u i Starting from the origin, passing through point of interest v c The distance of the road network to the destination.

[0104] The beneficial effects of the technical solution provided in this application include:

[0105] This application extends dynamic group travel to real road networks and adds multi-dimensional attribute information of points of interest, making the dynamic group travel planning query more comprehensive and the query results more accurate and reliable.

[0106] In addition, the technical solution of this application takes into account the preferences of team members and the cost of path distance, and proposes a comprehensive scoring function. Given that the road network distance is different from the Euclidean distance, a comprehensive index structure is constructed to process road network information, further ensuring the reliability and accuracy of query results. Attached Figure Description

[0107] Terminology Explanation:

[0108] MDGTP: Multi-attribute Dynamic Group Travel Planning;

[0109] GTA: Group Time Algorithm;

[0110] OEA: Optimize the Ellipse Algorithm;

[0111] KPL: Top-k Path Land;

[0112] S-GTS: Straightforward Group Trip Scheduling.

[0113] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0114] Figure 1 This is a flowchart illustrating the steps of the dynamic group travel planning method for multiple attributes provided in the embodiments of this application.

[0115] Figure 2 This is a schematic diagram of the road network in the dynamic group travel planning method for multiple attributes provided in the embodiments of this application;

[0116] Figure 3 This is a schematic diagram of the road network map division in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0117] Figure 4 This is a schematic diagram of the comprehensive index TIG-tree in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0118] Figure 5 This is a schematic diagram of the principal axis Tmax in the dynamic group travel planning method for multiple attributes provided in the embodiments of this application;

[0119] Figure 6 This is a schematic diagram of the elliptical intersection region in the dynamic group travel planning method for multiple attributes provided in the embodiments of this application;

[0120] Figure 7 This is a schematic diagram of the circular region in the dynamic group travel planning method for multiple attributes provided in the embodiments of this application;

[0121] Figure 8 This is a schematic diagram of the circular region expansion in the dynamic group travel planning method for multiple attributes provided in the embodiments of this application;

[0122] Figure 9 This is a schematic diagram illustrating the influence of group size n in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0123] Figure 10 This is a schematic diagram illustrating the impact of the query keyword m in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0124] Figure 11 This is a schematic diagram illustrating the influence of the k value in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0125] Figure 12 This is a schematic diagram illustrating the influence of parameter α in the dynamic group travel planning method for multiple attributes provided in the embodiments of this application;

[0126] Figure 13 This is a schematic diagram illustrating the influence of parameter β in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0127] Figure 14 This is a schematic diagram illustrating the influence of parameter γ in the multi-attribute-oriented dynamic group travel planning method provided in the embodiments of this application;

[0128] Figure 15 This is a structural block diagram of the dynamic group travel planning device for multiple attributes provided in the embodiments of this application. Detailed Implementation

[0129] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0130] The embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0131] This application provides a dynamic group travel planning method and apparatus for multiple attributes, extending dynamic group travel to real road networks and adding multi-dimensional attribute information of points of interest, making the dynamic group travel planning query more comprehensive and the query results more accurate and reliable.

[0132] To achieve the aforementioned technical effects, the overall concept of this application is as follows:

[0133] A dynamic group travel planning method oriented towards multiple attributes, comprising the following steps:

[0134] S1. Obtain the road network map and query data;

[0135] S2. Construct a corresponding comprehensive index structure based on the road network map;

[0136] S3. Based on the query data, the text information of each point of interest, and the effective time information, the comprehensive index structure is pruned to obtain the first set.

[0137] S4. Based on the query data, prune the search space of the road network map and intersect it with the first set to obtain the second set;

[0138] S5. Based on the second set, obtain the interest points that satisfy the constraints corresponding to the query data, and denot them as conditional interest points;

[0139] S6. Based on the starting and target locations of the query data, and based on the points of interest for each condition, obtain multiple candidate paths;

[0140] S7. Calculate the overall ranking of multiple candidate routes, and select a preset number of candidate routes as the best travel route based on the overall ranking; among which,

[0141] The road network map includes multiple points of interest and their corresponding paths. Each point of interest includes text information and valid time information.

[0142] The query data includes group members, starting position, destination position, query keywords, and time query range.

[0143] The embodiments of this application will be further described in detail below with reference to the accompanying drawings.

[0144] See Figure 1 As shown in the figure, this application provides a dynamic group travel planning method for multiple attributes, which includes the following steps:

[0145] S1. Obtain the road network map and query data;

[0146] S2. Construct a corresponding comprehensive index structure based on the road network map;

[0147] S3. Based on the query data, the text information of each point of interest, and the effective time information, the comprehensive index structure is pruned to obtain the first set.

[0148] S4. Based on the query data, prune the search space of the road network map and intersect it with the first set to obtain the second set;

[0149] S5. Based on the second set, obtain the interest points that satisfy the constraints corresponding to the query data, and denot them as conditional interest points;

[0150] S6. Based on the starting and target locations of the query data, and based on the points of interest for each condition, obtain multiple candidate paths;

[0151] S7. Calculate the overall ranking of multiple candidate routes, and select a preset number of candidate routes as the best travel route based on the overall ranking; among which,

[0152] The road network map includes multiple points of interest and their corresponding paths. Each point of interest includes text information and valid time information.

[0153] The query data includes group members, starting position, destination position, query keywords, and time query range.

[0154] It should be noted that in step S7, the optimal travel route is selected from a preset number of candidate routes based on the overall ranking. Let's assume there are k candidate routes.

[0155] It is based on the overall ranking, from high to low, and returns k candidate paths, that is, selects k candidate paths as the best travel path.

[0156] Since the actual distance between the querying user and the point of interest is limited by the road network connectivity, this application proposes a multi-attribute dynamic group travel planning query (MDGTP) by adding multi-attribute attribute information such as popularity, service, and environmental attributes. This query considers path distance costs and group member preferences, and proposes a comprehensive scoring function based on these factors. A novel hierarchical index structure, TIG-tree, is constructed to effectively organize spatial-text objects and quickly find objects that meet the query conditions. The distance matrix records the location information of the data objects, and each node in the TIG-tree is assigned an N-bit binary number to represent the keyword it contains, enabling quick determination of whether the node contains the keyword the user needs. Simultaneously, a Group Time algorithm (GTA) is designed based on the TIG-tree to prune spatial-text objects that do not meet the query conditions. The ellipse property is used to reduce the search area. Considering that the actual road network distance is necessarily greater than the Euclidean distance, the ellipse's principal axis Tmax is initialized first, and then the search area pruning method OEA (Optimize the Ellipse Algorithm) is proposed using the geometric properties of the ellipse. A novel KPL (Top-k Path Land) algorithm is designed to obtain k path sequences that satisfy the needs of group members and have the highest overall score. Experimental results show that the technical solution of this application can effectively solve the multi-attribute dynamic group travel planning problem and has broad application value for group travel.

[0157] In this embodiment of the application, dynamic group travel is extended to real road networks, and multi-dimensional attribute information of points of interest is added, so that the dynamic group travel planning query considers more comprehensive factors and the query results are more accurate and reliable.

[0158] Furthermore, the technical solution of this application takes into account the preferences of group members and the cost of path distance, and proposes a comprehensive scoring function. Given that road network distance is different from Euclidean distance, a comprehensive index structure is constructed to process road network information, further ensuring the reliability and accuracy of query results.

[0159] It should be noted that this application uses road network maps; therefore, as shown in Table 1, some symbols and their definitions involved in the road network are explained:

[0160] Table 1

[0161]

[0162] In this embodiment, the point of interest mentioned is a vertex in the road network map.

[0163] The road network diagram in this embodiment is modeled as an undirected weighted graph G = (V, E), where V is a set of vertices and E is a set of edges; each edge (u, v) in E connects two adjacent vertices u and v (u, v ∈ V) and is associated with a non-negative weight w(u, v) > 0 representing distance or travel time; the path PL(v1, v... n )={v1, v2, …, v n} (n≥1) is an ordered set of vertices. Given a path between vertices u and v, the path distance Dist(u,v) represents the sum of the weights of the edges along the path; see the attached diagram in the specification. Figure 2 A schematic diagram of the road network is shown. Given the starting point v4 and the target v9, PL(v4, v9) = {v4, v3, v2, v6, v7, v8, v9}, and the path distance Dist(v4, v9) = 15.

[0164] In this embodiment of the application, it is assumed that the point of interest is located on a vertex of the road network and is represented by a vertex; there is a set of vertices v∈V in the road network, and a spatial keyword object v={id, w, t, r} with multiple attributes, where v.id is the unique identifier of vertex v, vw={w1, w2, w3……} is the keyword set of vertex v, vt represents the effective time of vertex v, and vr represents other attribute information of the point of interest. Each numerical attribute data in vr is represented as vr={pop, env, ser}; as shown in Table 2 below, it is the vertex information in the road network.

[0165] Table 2

[0166]

[0167] In this embodiment of the application, the specific situation when performing dynamic group travel planning is as follows:

[0168] Given a vertex set V and a multi-attribute dynamic group travel planning (MDGTP) query q = (U, S, D, P, T, K); where U = {u1, u2, ..., u3} n Let S be the set of group members, where S = {s1, s2, ..., s}. n} represents each member u i The starting set, D = {d1, d2, ..., d...} n} represents each member u i The endpoint set, qP is a set of keywords representing the member's query purpose, and qT is any query time interval specified by the member, such as (9, 12);

[0169] The query q returns K optimal path sequences where each member starts from S and ends at D, satisfying the constraints qP and qT, and ranked highest by the comprehensive ranking function Crf(qv).

[0170] This application extends dynamic group travel to real road networks and adds multi-dimensional attribute information of points of interest, such as popularity attributes, environmental attributes and service attributes, and proposes a multi-attribute-oriented dynamic group travel planning (MDGTP) query.

[0171] Furthermore, considering the preferences of group members and the cost of path distance, a comprehensive scoring function is proposed. Given that road network distance differs from Euclidean distance, a comprehensive index TIG-tree is constructed to process road network information.

[0172] The algorithm comprises several key components: a distance matrix records the location information of data objects; an inverted index is used to index vertex text information; and an N-bit binary number is assigned to each node in the TIG-tree to represent the keywords contained within that node. Simultaneously, a related pruning algorithm, GTA, is designed based on the TIG-tree to prune vertices that do not meet the time and text constraints. Furthermore, the elliptic search region pruning strategy is improved by initializing the principal axis Tmax and proposing the OEA algorithm to reduce the search space, making it suitable for road networks. In addition, based on the TIG-tree indexing algorithm GTA and the elliptic pruning algorithm OEA, a query processing algorithm KPL is proposed to return the k highest-ranking path sequences. The KPL algorithm is compared with the S-GTS algorithm on the real road network synthesized datasets CA and NY, verifying that the KPL query algorithm proposed in the application embodiment is efficient and feasible in processing the returned path sequences.

[0173] Furthermore, the construction of the corresponding comprehensive index structure based on the road network map includes the following steps:

[0174] The road network map is divided into multiple sub-maps;

[0175] Calculate and store the shortest path distances to the boundaries of the points of interest in each of the subgraphs, and construct a boundary distance matrix;

[0176] Based on the text information and effective time information of each point of interest, a corresponding keyword reverse index is constructed.

[0177] The comprehensive index structure is constructed based on the name information of the subgraph, the boundary distance matrix, the keyword reverse index, and the corresponding valid time information.

[0178] Furthermore, based on the query data and the text information and valid time information of each point of interest, the comprehensive index structure is pruned to obtain the first set, which includes the following steps:

[0179] Initialize a first set and a first queue. The first queue is used to store the leaf nodes of the comprehensive index structure, and the first set is used to store conditional interest points.

[0180] Based on the root node of the comprehensive index structure, traverse the child nodes of the root node to determine whether the query keywords and time query intervals corresponding to the query data are satisfied.

[0181] If the condition is met, it is determined whether the node is a non-leaf node. If it is a non-leaf node, the child nodes of the corresponding node are stored in the first queue. If it is not a non-leaf node, the corresponding node is stored in the first set.

[0182] Furthermore, based on the query data, the search space of the road network map is pruned, and its intersection with the first set is processed to obtain the second set, including the following steps:

[0183] Locate the area in the road network map where the query data is located, and define a set of elliptical regions;

[0184] Initialize a second queue, a second set, an ellipse first focus set, and an ellipse second focus set. The second queue is used to store a set of elliptical regions, the second set is used to store the conditional interest points, and the ellipse first focus set is used to store the first foci of the ellipse regions. The ellipse second focus set is used to store the second foci of the ellipse regions.

[0185] Calculate the first focus of each elliptical region and add it to the set of first foci of the ellipse;

[0186] Calculate the second focus of each elliptical region and add it to the set of second focuses of the ellipse;

[0187] Based on the set of the first foci of the ellipse and the set of the second foci of the ellipse, each elliptical region is calculated;

[0188] Calculate the elliptical intersection between multiple elliptical regions, and add the points of interest located in the elliptical intersection to the second set.

[0189] Furthermore, based on the query data, the search space of the road network map is pruned, and its intersection with the first set is processed to obtain the second set, including the following steps:

[0190] If there is no elliptical intersection between the multiple elliptical regions, then the centroids between the multiple elliptical regions are calculated.

[0191] The distance between the centroid and its nearest point of interest is identified and recorded as the first distance;

[0192] A custom circular region is obtained with the centroid as the center and the first distance as the radius;

[0193] Add the points of interest located in the custom circular region to the second set.

[0194] Furthermore, the method also includes a comprehensive ranking function, which is:

[0195] in,

[0196] q(v) indicates that the point of interest v does not satisfy the query constraint q; f t (qv) is the effective time overlap rate between the query time and the point of interest v; f l (qv) is the distance cost of the path sequence; score(qv) is the comprehensive score of the point of interest v; α, β, γ∈(0,1) and α+β+γ=1, α, β, γ represent the user's preference parameters, which are used to adjust the weights of time overlap rate, distance cost and comprehensive score in the comprehensive ranking function.

[0197] Where α = 0, the query does not consider the textual relevance between the query and the object;

[0198] When α > 0, the importance of text relevance increases;

[0199] For ease of explanation, the parameters α, β, and γ are omitted in the embodiments of this application, but the proposed algorithm is still applicable when the parameters change.

[0200] Furthermore, the method also includes a comprehensive scoring function, which is:

[0201] in,

[0202] Parameters α1 and α2 represent weights, |U| is the number of group members, and v i .pop is a point of interest (v) i Popularity value, v i .env is the point of interest v i Environmental values, v i .ser is a point of interest v i The service values.

[0203] Furthermore, the method also includes an effective time overlap rate function, whereby the time overlap rate is calculated based on the intersection of the query time and the effective time of data objects in the road network. The effective time overlap rate function is as follows:

[0204] in,

[0205] qt is the query time of the time query interval q, vt is the valid time of the point of interest v, v.st is the valid start time of the point of interest v; q.et is the end time of the time query interval q; t w This represents the tolerable waiting time for group members; |qt∩vt|≠0 indicates that there is an intersection between qt and vt; v.st-q.et is the time difference between vt and q.et.

[0206] Furthermore, the method also includes a distance cost function, which is:

[0207] in,

[0208] Dist(s i ,v c ,d i ) represents user u i Starting from the origin, passing through point of interest v c The distance of the road network to the destination.

[0209] It should be noted that, in the planning process of this application embodiment, there is also a calculation of the search area boundary. The calculation of the search area boundary requires the use of the ellipse focus formula, which is as follows:

[0210] First focus:

[0211] Second focus: in,

[0212] s i Indicates member u i The starting position, d i Indicates member u iThe endpoint position, mer is the number of group members.

[0213] Additionally, the formula for initializing the principal axis of the ellipse is:

[0214] Tmax = Dist(s) i ,v1)+Dist(v1,v2)+KK+Dist(v n-1 ,v n )+Dist(v n ,d i (7);

[0215] Among them, Dist(s i v1) is a member u i The distance of the road network from the starting point to the first vertex; Dist(v n-1 ,v n ) is member u i The road network distance from the (n-1)th vertex to the nth vertex; Dist(v n ,d i Member u i The distance of the road network from the last vertex to the destination.

[0216] Furthermore, the formula for calculating the area of ​​an ellipse is:

[0217] f(GC,v c )<Tar<f(GC,Tmax) (8)

[0218] f(GC,v c ) is a circle with GC as the center and radius Dist(GC, v c f(GC,Tmax) is the area of ​​an ellipse with center GC and radius Dist(GC,Tmax).

[0219] In this embodiment, steps S2 and S3 are specifically used for pruning and index building, as detailed below:

[0220] The first stage involves the TIG-tree index structure and the related pruning algorithm GTA.

[0221] In this embodiment of the application, the speed of calculating the shortest path distance between two vertices is accelerated, thereby improving the performance of MDTGP query processing;

[0222] One of the most efficient indexing techniques for road networks is the G-tree, a component-based indexing structure that supports location-based queries on road networks.

[0223] IR-tree is used for spatial keyword lookup in Euclidean space.

[0224] Therefore, based on the two index structure ideas, this application embodiment creates a new index structure TIG-tree to meet the needs of optimal path query.

[0225] Graph partitioning is an important step in G-tree construction;

[0226] The optimal approach should not only generate subgraphs of approximately equal size but also minimize the number of boundaries. In this embodiment, a well-known heuristic algorithm called the multi-level partitioning algorithm is employed; it first reduces the size of the graph by coarsening vertices and edges, then partitions the coarsened graph using a conventional graph partitioning algorithm (e.g., the Kernighan-Lin algorithm); finally, it decomposes the subgraphs to generate partitions of the original graph.

[0227] Following the graphical partitioning technique used by G-tree, Figure 3 Showing Figure 2 The example provides a graph partitioning algorithm for a road network. A multi-level partitioning algorithm divides the graph into subgraphs of equal size, resulting in two subgraphs, G1 and G2. G1 is then further divided into subgraphs G3 and G4, and similarly, G2 is divided into subgraphs G5 and G6, until the number of vertices in each subgraph is less than a preset value (generally greater than or equal to 2). The vertices connecting two subgraphs are called boundary points. Graph G1 consists of subgraphs G3 and G4, with vertices v1, v6, and v7. 10 These constitute the boundary points of G1; G1 and G2 together form G0, and the boundary points of G0 are v1, v2, v6, and v7. 10 and v 12 Composition. After partitioning, the boundaries of each subgraph are marked. A boundary is a vertex in a subgraph that connects the road network to another partition. Based on these boundaries, a distance matrix is ​​created; therefore, the shortest path distance of each boundary in each node is pre-calculated and stored in the matrix.

[0228] Figure 2 In the road network example, some vertices contain one or more keywords that need to be indexed. Therefore, the first step is to sort all the keywords in the graph. Then, for each keyword, a binary value is assigned based on its presence in each node. For example, child node v1 contains the keywords "bookstore" and "restaurant," so v1's inverted list is 100001. For child node v2, which contains the keyword "museum," its inverted list is 010000. Figure 4The reverse indices of all vertices are shown in Table 3. Based on the list of reverse indices above, each reverse index is appended to the corresponding vertex at the leaf node. For each parent node, its reverse index is calculated using the logical OR of its child nodes. For example, the reverse index of G3 is the result of the logical OR of the reverse indices of v1, v6, and v7. The result of 100001 or 101000 or 001000 is 101001, therefore the reverse index of G3 is 101001;

[0229] The same calculation is applied to each non-leaf node, and the root node typically has all 1s in its index.

[0230] Table 3 Keyword Inverted Index

[0231]

[0232] Each vertex contains a key with valid time information. The valid time of each vertex is stored in the leaf nodes of the TIG-tree. The valid time of non-leaf nodes is calculated using the logical OR of their child nodes.

[0233] For example, for a non-leaf node G3, the valid times of its child nodes v1, v6 and v7 are (9, 13), (11, 17) and (12, 21) respectively. By using a logical OR operation, the valid time of G3 is (9, 21).

[0234] The overall structure of a TIG-tree is as follows: Figure 4 As shown: For each non-leaf node in the TIG-tree, it contains the subgraph name, the boundary distance matrix of each subgraph, the key inversion index, and the validity period (using the logical OR of its child nodes);

[0235] For each leaf node, it contains the vertices of the road network, the reverse list of the corresponding vertices, and the keyword information and validity period of each vertex.

[0236] In addition, the specific process of the GTA algorithm is as follows:

[0237] First, initialize a pointer GNode, a set VK, and a queue GQ. init GQ init Used to store candidate nodes, VK is used to store the set of all interest points that meet the constraints (line 1), the key qP is converted to binary, and the root node G0 of the GIT-tree is added to the queue GQ. init (Lines 2-3), when queue GQ init If the value is not empty, process it from top to bottom starting from the root node, traversing the child nodes of the root node;

[0238] Then, GNode points to queue GQinit The head element of GNode is used to determine whether it satisfies the query keyword and time constraints. If it does, the next step is to determine whether GNode is a non-leaf node. If it is, the child nodes of that node are stored in the queue GQ. init Otherwise, store the node in set VK. After traversing all nodes, return set VK (lines 4-11).

[0239] The specific execution of the GTA algorithm is as follows:

[0240]

[0241] The second stage involves executing the search space pruning algorithm OEA:

[0242] This application proposes a novel search region refinement technique, the key idea of ​​which is based on the elliptic theorem. A smaller search region reduces the number of vertices retrieved from the database, avoids unnecessary travel calculations, and significantly reduces I / O access and computational overhead.

[0243] Given an MDGTP query q = (U, S, D, P, T, K) and a search space, a set of elliptical regions needs to be calculated to determine the boundaries of the search region. The major axis of the ellipse is determined by taking the centroid cs1 of the member added in the first round, searching for the nearest neighbor vertex v that meets the requirements of the member in the first round, and then taking the centroid cs2 of vertex v and the added member when the member is added in the second round, continuing to search for the nearest neighbor vertex v that meets the requirements of the current member, and so on, until all the vertex sets that meet the conditions are obtained. The travel distance of each user is calculated according to formula (7), and the maximum single distance Tmax is taken as the major axis distance of the ellipse. Tmax is used as the initial major axis of the ellipse. Then, according to the ellipse focus formula in Chapter 3, the centroids of the starting point and ending point of the initial member are calculated respectively, which are the ellipse foci, with the major axis Tmax, forming the ELAR1 ellipse. Then, the centroids of the starting point and ending point of the newly added member at a certain vertex are calculated to form the ELAR1 ellipse. i Ellipse; finally, n elliptical regions are obtained. At this point, if the elliptical regions ELAR1∩ELAR2∩...∩ELAR n If not empty, the search space is the intersection of all ellipses. If the elliptical regions ELAR1∩ELAR2∩...∩ELARn are empty, the calculation is performed with respect to ELAR1, ELAR2...ELARn. n Given the geometric centroid TEcs1, find the nearest vertex with G as the center and radius R = Dist(G, v i ), and search for vertices whose area inside the circle meets the user's requirements. At this time, the search area range is searched sequentially according to formula (8) until the circular area contains the vertex set of n elliptical areas.

[0244] by Figure 5 For example, there are 5 group members U = {u1, u2, u3, u4, u5}, the set of starting positions of the group members is S = {s1, s2, s3, s4, s5}, and the set of ending positions is D = {d1, d2, d3, d4, d5}. u1 and u3 are the initial members, and their centroids are taken as TEcs1. The first nearest vertex v3 that satisfies the conditions of u1 and u3 is searched. u4 and u5 are the members who joined in the second round, and their centroids are taken as Tecs2. The nearest neighbor v5 that satisfies the conditions of the current members is searched. u2 is the member who joined in the last round, and its centroids are taken as TEcs3. The nearest neighbor v4 that satisfies the conditions of the current members is searched. At this time, the vertex set that meets the requirements of all users is found as p = {v3, v4, v5}. Tmax is calculated according to formula (7).

[0245] Next, calculate the elliptical regions ELAR1, ELAR2, and ELAR3 respectively according to the focus formula in Chapter 3. If the elliptical regions ELAR1∩ELAR2∩ELAR3 are not empty, such as Figure 6 As shown, the search area at this time is the intersection of the three ellipses; if the elliptical regions ELAR1∩ELAR2∩ELAR3 are empty, as... Figure 7 As shown, the geometric centroid of the elliptical regions ELAR1, ELAR2, and ELAR3 is calculated as G. The nearest vertex v4 is retrieved. A circle is formed with G as the center and a radius equal to Dist(G, v4). The circle is then searched to see if there is a vertex set that meets the user's requirements. If not, the search continues to find the nearest vertex, expanding the region until the circular region covers the three elliptical regions. Figure 8 As shown.

[0246] The OEA algorithm is a pruning algorithm that utilizes the property of ellipticity. The specific process is as follows:

[0247] Two queues, CASP and CADP, and five sets, FSCV, FDCV, CVOD, Vwant, and res, are initialized to empty. The set VPN is initialized to V. CASP and CADP are used to store the start and end points of the group members, respectively. VPN stores the points of interest within the intersection of the ellipses. FSCV and FDCV store the geometric centroids of the start and end points of the group members, calculated according to the ellipse focus formula in Chapter 3, i.e., the ellipse foci (line 1). The start and end points of the members added to the journey in each round are stored in CASP and CADP (line 2). When both queues are not empty, calculate the geometric points for each round according to the focus formulas (5) and (6), and store them in FSCV and FDCV respectively. The principal axis length is Tmax. Then, use the EllipticFormFind function to form an elliptical region. If the intersection of the elliptical regions is not empty (line 8), store the intersection of the interest points in the region with Vwant in CVOD and return (lines 9-10). If the intersection of the elliptical regions is empty, calculate the distance id from all points in Vwant to the center G (lines 12-13), and sort them in ascending order (line 14). Traverse the sorted Vwant, filter out all points in the circle with Tmax as the radius, and store them in CVOD and return (lines 15-18).

[0248] The specific execution of the OEA algorithm is as follows:

[0249]

[0250]

[0251] The third stage involves the dynamic group travel planning algorithm KPL on the road network.

[0252] The GTA algorithm is used to prune the keywords. Then, the GTA algorithm is called in the OEA algorithm. The GTA algorithm is called in the OEA algorithm and returns the set of vertices that are both within the refined search area and satisfy the group member constraints. The vertices are sorted by keywords to obtain all candidate paths. According to the comprehensive ranking function, the k path sequences that meet the user's requirements and have the highest comprehensive ranking are returned.

[0253] The specific process of the KPL algorithm is as follows: Initialize a queue MDCT and four sets PMD, MDCLT cand LT and ans, initialize valuemax to ∞, where PMD is used to store the vertices after OEA pruning, MDCT is used to store the candidate paths sorted by keywords, and MDCLT is used to store the candidate paths sorted by keywords. candUsed to store the dequeued elements of the queue MDCT, and ans stores the optimal path after filtering (line 1). Call the OEA algorithm, store the intersection of the returned sets in PMD, and store the candidate paths of the points of interest in PMD arranged by keywords into MDCT (lines 2-3). When MDCT is not empty, traverse each candidate path, obtain the comprehensive ranking value of each candidate path according to formula (4), use a two-dimensional array to store the path sequence and value, and valuemax stores the maximum CRF (lines 7-8). Use the two-dimensional array to retrieve all paths with the valuemax index in reverse order until k path sequences are retrieved (lines 9-18).

[0254] The specific execution of the KPL algorithm is as follows:

[0255]

[0256]

[0257] Complexity analysis of algorithm KPL:

[0258] In a road network, assuming there are M keywords and the number of search keywords is |qP|, with S keywords assigned to each vertex, the GTA algorithm needs to prune vertices that do not meet the conditions in order to obtain keywords containing valid times. The probability P of obtaining the keywords that meet the conditions is obtained at this point. g yes

[0259] Algorithm OEA considers users in different locations and reduces the road network area. If the elliptical regions intersect, the probability P1 is... If the ellipses have no intersection, the best probability P2 is: The worst probability P3 is Algorithm KPL uses a two-dimensional array to store the path sequence and values. Without pruning, the number of executions is |V|, resulting in a time complexity of O(|V|). With pruning, when the ellipses in the search space intersect, the time complexity becomes O(|V|). When the ellipses in the refined search space have no intersection, the time complexity of the algorithm is O(n). The worst time complexity is

[0260] In summary, the KPL algorithm employs a keyword and spatial search pruning strategy, traversing each vertex N that satisfies the pruning requirements, resulting in a number of vertices participating in the calculation that is much smaller than |V|, thus achieving a time complexity of O(N).

[0261] Based on the technical solution of the embodiments of this application, a practical operation example is given as follows:

[0262] The experiment uses two real road network datasets and two datasets, CA and NY (as shown in Table 3), which are synthesized from random data objects generated by the experimental system, to evaluate the proposed KPL algorithm. The CA road network has 21,048 nodes and 21,693 edges, and the NY network has 213,756 nodes and 186,489 edges. Both datasets use the Zipfian distribution to assign 2-3 keywords to each object. The performance of the KPL algorithm is then compared and analyzed with that of the S-GTS algorithm.

[0263] Table 3 Experimental Dataset

[0264]

[0265]

[0266] The performance of the KPL algorithm is evaluated based on the various parameters listed in Table 4; the following six parameters are set: number of members n, number of query keywords m, number of results k, and parameters α, β, and γ.

[0267] Table 4 Parameter Settings

[0268]

[0269] Based on the technical solution of the embodiments of this application, the experimental results are as follows:

[0270] First, the influence of the group size n: see the attached diagram in the instruction manual. Figure 9 The results show that the query processing time of both algorithms increases with the group size n, because the number of road network distance calculations for the two datasets increases with the increase of n.

[0271] However, the KPL algorithm is superior to the S-GTS algorithm because the S-GTS algorithm independently calculates the journey of each group member, thus visiting the same vertices multiple times in the database. On the other hand, we use an ellipse-based pruning strategy to progressively refine the search region.

[0272] Second, the impact of the keyword 'm' in the search query: Figure 10 As shown, the query time of both algorithms increases linearly with the number of query keywords. This is because as the number of query keywords increases, a larger search space needs to be explored, and the number of objects that need to be queried also increases. However, the KPL algorithm is always superior to the S-GTS algorithm because the TIG-tree index structure can quickly find the corresponding object information, thus improving query efficiency.

[0273] Third, the impact of the returned result k value: such as Figure 11As shown, the query times of the two algorithms on two datasets are compared. The experimental results show that the query performance of both algorithms is relatively stable as the value of k increases. Overall, the query processing speed of the KPL algorithm is faster than that of the S-GTS algorithm. This is because the KPL algorithm uses both time and text information to prune unnecessary objects and reduce the scope of the search space.

[0274] Fourth, the impact of α: The parameter α represents the weight that time overlap rate has in the query. For example... Figure 12 As shown, Figure 12 The effect of parameter α on query time is shown. As the value of α changes, the query time of both the KPL and S-GTS algorithms remains almost constant, with the KPL algorithm consistently outperforming the S-GTS algorithm. Furthermore, for both algorithms, changes in the value of α do not affect the number of candidate objects obtained after pruning.

[0275] Fifth, the impact of β: β represents the weight of the distance cost in the path sequence. For example... Figure 13 As shown, changes in the β value have almost no significant impact on the query time of the KPL and S-GTS algorithms, and the KPL algorithm performs better.

[0276] Sixth, the influence of γ: γ represents the weight of the overall score of the path sequence. Figure 14 The results show that the query performance of the two algorithms is relatively stable on both datasets and does not increase with the increase of γ, but the KPL algorithm is better than the S-GTS algorithm.

[0277] See Figure 15 As shown, based on the same inventive concept as the method embodiment, this application provides a dynamic group travel planning device for multiple attributes, the device comprising:

[0278] The data acquisition module is used to acquire road network maps and query data;

[0279] An index structure construction module is used to construct a corresponding comprehensive index structure based on the road network map;

[0280] The first set acquisition module is used to perform pruning on the comprehensive index structure based on the query data, the text information of each point of interest, and the effective time information to obtain the first set;

[0281] The second set acquisition module is used to prune the search space of the road network map based on the query data and perform intersection processing with the first set to obtain the second set;

[0282] The conditional interest point acquisition module is used to obtain interest points that satisfy the constraint conditions corresponding to the query data based on the second set, and these are denoted as conditional interest points.

[0283] The candidate path acquisition module is used to obtain multiple candidate paths based on the starting position and target position of the query data and based on each conditional point of interest.

[0284] The optimal route acquisition module calculates the overall ranking of multiple candidate routes and selects a preset number of candidate routes as the optimal travel route based on the overall ranking; among them,

[0285] The road network map includes multiple points of interest and corresponding paths, and each point of interest includes text information and valid time information.

[0286] The query data includes group members, starting position, destination position, query keywords, and time query range.

[0287] Furthermore, the index structure construction module is also used to divide the road network map to obtain multiple sub-maps;

[0288] The index structure construction module is also used to calculate and store the shortest path distance of the boundary of the interest point in each subgraph, and construct the boundary distance matrix.

[0289] The index structure construction module is also used to construct a corresponding keyword reverse index based on the text information and effective time information of each of the interest points;

[0290] The index structure construction module is also used to construct the comprehensive index structure based on the name information of the subgraph, the boundary distance matrix, the keyword reverse index, and the corresponding valid time information.

[0291] Furthermore, the first set acquisition module is also used to initialize the first set and the first queue, the first queue is used to store the leaf nodes of the comprehensive index structure, and the first set is used to store conditional interest points;

[0292] The first set acquisition module is also used to traverse the child nodes of the root node based on the root node of the comprehensive index structure, and determine whether the query keyword and time query interval corresponding to the query data are satisfied. If satisfied, it is determined whether it is a non-leaf node. If it is a non-leaf node, the child nodes of the corresponding node are stored in the first queue. If it is not a non-leaf node, the corresponding node is stored in the first set.

[0293] Furthermore, the second set acquisition module is also used to locate the area of ​​the query data in the road network map and define a set of elliptical regions;

[0294] The second set acquisition module is also used to initialize a second queue, a second set, an ellipse first focus set, and an ellipse second focus set. The second queue is used to store a set of elliptical regions, the second set is used to store the conditional interest points, and the ellipse first focus set is used to store the first focus of the ellipse region. The ellipse second focus set is used to store the second focus of the ellipse region.

[0295] The second set acquisition module is also used to calculate the first focus of each elliptical region and add it to the set of the first foci of the ellipse;

[0296] The second set acquisition module is also used to calculate the second focus of each elliptical region and add it to the set of second foci of the ellipse;

[0297] The second set acquisition module is also used to calculate each of the elliptical regions based on the set of the first foci of the ellipse and the set of the second foci of the ellipse;

[0298] The second set acquisition module is also used to calculate the elliptical intersection between multiple elliptical regions and add the points of interest located in the elliptical intersection to the second set.

[0299] Furthermore, the second set acquisition module is also used to calculate and obtain the centroid between the multiple elliptical regions when there is no elliptical intersection between the multiple elliptical regions.

[0300] The second set acquisition module is also used to identify and obtain the distance between the centroid and the nearest point of interest, denoted as the first distance;

[0301] The second set acquisition module is also used to obtain a custom circular region with the centroid as the center and the first distance as the radius;

[0302] The second set acquisition module is also used to add points of interest located in the custom circular area to the second set.

[0303] Furthermore, the device also includes a comprehensive ranking function, which is detailed in the method embodiments and will not be repeated here.

[0304] Furthermore, the device also includes a comprehensive scoring function, which is detailed in the method embodiments and will not be repeated here.

[0305] Furthermore, the device also includes an effective time overlap rate function, which is detailed in the method embodiments and will not be repeated here.

[0306] Furthermore, the device also includes a distance cost function, which is detailed in the method embodiments and will not be repeated here.

[0307] It should be noted that in this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0308] The above are merely specific embodiments of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A dynamic group travel planning method oriented towards multiple attributes, characterized in that, The method includes the following steps: Obtain road network maps and query data; Construct a corresponding comprehensive index structure based on the road network map; Based on the query data, the text information of each point of interest, and the effective time information, the comprehensive index structure is pruned to obtain the first set; Based on the query data, the search space of the road network map is pruned, and its intersection with the first set is processed to obtain the second set; Based on the second set, interest points that satisfy the constraints corresponding to the query data are obtained and denoted as conditional interest points. Based on the starting and target locations of the query data, and based on each conditional point of interest, multiple candidate paths are obtained; Calculate the overall ranking of multiple candidate routes, and select a preset number of candidate routes as the best travel route based on the overall ranking; The construction of the corresponding comprehensive index structure based on the road network map includes the following steps: The road network map is divided into multiple sub-maps; Calculate and store the shortest path distances to the boundaries of the points of interest in each of the subgraphs, and construct a boundary distance matrix; Based on the text information and effective time information of each point of interest, a corresponding keyword reverse index is constructed. The comprehensive index structure is constructed based on the name information of the subgraph, the boundary distance matrix, the keyword reverse index, and the corresponding effective time information; The process of pruning the search space of the road network map based on the query data and intersecting it with the first set to obtain the second set includes the following steps: Locate the area in the road network map where the query data is located, and define a set of elliptical regions; Initialize a second queue, a second set, an ellipse first focus set, and an ellipse second focus set. The second queue is used to store a set of elliptical regions, the second set is used to store the conditional interest points, and the ellipse first focus set is used to store the first foci of the ellipse regions. The ellipse second focus set is used to store the second foci of the ellipse regions. Calculate the first focus of each elliptical region and add it to the set of first foci of the ellipse; Calculate the second focus of each elliptical region and add it to the set of second focuses of the ellipse; Based on the set of the first foci of the ellipse and the set of the second foci of the ellipse, each elliptical region is calculated; Calculate the elliptical intersection between multiple elliptical regions, and add the points of interest located in the elliptical intersection to the second set; The process of pruning the search space of the road network map based on the query data and intersecting it with the first set to obtain the second set includes the following steps: If there is no elliptical intersection between the multiple elliptical regions, then the centroids between the multiple elliptical regions are calculated. The distance between the centroid and its nearest point of interest is identified and recorded as the first distance; A custom circular region is obtained with the centroid as the center and the first distance as the radius; Add the points of interest located in the custom circular region to the second set; in, The road network map includes multiple points of interest and corresponding paths, and each point of interest includes text information and valid time information. The query data includes group members, starting position, destination position, query keywords, and time query range.

2. The dynamic group travel planning method for multiple attributes as described in claim 1, characterized in that, The process of pruning the comprehensive index structure based on the query data, the text information of each point of interest, and the effective time information, to obtain the first set includes the following steps: Initialize a first set and a first queue. The first queue is used to store the leaf nodes of the comprehensive index structure, and the first set is used to store conditional interest points. Based on the root node of the comprehensive index structure, traverse the child nodes of the root node to determine whether the query keywords and time query intervals corresponding to the query data are satisfied. If the condition is met, it is determined whether the node is a non-leaf node. If it is a non-leaf node, the child nodes of the corresponding node are stored in the first queue. If it is not a non-leaf node, the corresponding node is stored in the first set.

3. The dynamic group travel planning method for multiple attributes as described in claim 1, characterized in that, The method further includes a comprehensive ranking function, which is: ;in, This indicates that the point of interest v does not satisfy the query constraint q; It is the overlap rate between the query time and the effective time of the point of interest v; It is the distance cost of the path sequence; It is a comprehensive score of interest point v; α, β, γ∈(0,1) and α+β+γ=1, where α, β, γ represent user preference parameters used to adjust the weights of time overlap rate, distance cost, and comprehensive score in the comprehensive ranking function.

4. The dynamic group travel planning method for multiple attributes as described in claim 3, characterized in that, The method further includes a comprehensive scoring function, which is: ;in, parameter , Indicates weight, It refers to the number of group members. Points of interest Popularity data, Points of interest Environmental values, Points of interest The service values.

5. The dynamic group travel planning method for multiple attributes as described in claim 3, characterized in that, The method further includes an effective time overlap rate function, which is: ;in, It refers to the query time for the time query interval q. It is the effective time of point of interest v. It is the effective start time of the point of interest v; It is the end time of the time query interval q; This indicates the waiting time that the group members can tolerate; express and There is an intersection between them; yes and The time difference.

6. The dynamic group travel planning method for multiple attributes as described in claim 1, characterized in that, The method further includes a distance cost function, which is: ;in, Indicates user Starting from the origin, passing through points of interest The distance of the road network to the destination.

7. A dynamic group travel planning device for multiple attributes, characterized in that, The device includes: The data acquisition module is used to acquire road network maps and query data; An index structure construction module is used to construct a corresponding comprehensive index structure based on the road network map; The first set acquisition module is used to prune the comprehensive index structure based on the query data, the text information of each point of interest, and the effective time information to obtain the first set. The second set acquisition module is used to prune the search space of the road network map based on the query data and perform intersection processing with the first set to obtain the second set; The conditional interest point acquisition module is used to obtain interest points that satisfy the constraint conditions corresponding to the query data based on the second set, and these are denoted as conditional interest points. The candidate path acquisition module is used to obtain multiple candidate paths based on the starting position and target position of the query data and based on each conditional point of interest. The optimal route acquisition module is used to calculate the comprehensive ranking of multiple candidate routes and select a preset number of candidate routes as the best travel route based on the comprehensive ranking. The index structure construction module is also used to divide the road network map to obtain multiple sub-maps; The index structure construction module is also used to calculate and store the shortest path distance of the boundary of the interest point in each subgraph, and construct the boundary distance matrix. The index structure construction module is also used to construct a corresponding keyword reverse index based on the text information and effective time information of each of the interest points; The index structure construction module is also used to construct the comprehensive index structure based on the name information of the subgraph, the boundary distance matrix, the keyword reverse index, and the corresponding valid time information; The second set acquisition module is also used to locate the area of ​​the query data in the road network map and define a set of elliptical regions; The second set acquisition module is also used to initialize a second queue, a second set, an ellipse first focus set, and an ellipse second focus set. The second queue is used to store a set of elliptical regions, the second set is used to store the conditional interest points, the ellipse first focus set is used to store the first focus of the ellipse region, and the ellipse second focus set is used to store the second focus of the ellipse region. The second set acquisition module is also used to calculate the first focus of each elliptical region and add it to the set of the first foci of the ellipse; The second set acquisition module is also used to calculate the second focus of each elliptical region and add it to the set of second foci of the ellipse; The second set acquisition module is further configured to calculate each of the elliptical regions based on the set of the first foci of the ellipse and the set of the second foci of the ellipse; The second set acquisition module is also used to calculate the elliptical intersection between multiple elliptical regions and add the points of interest located in the elliptical intersection to the second set; The second set acquisition module is further configured to calculate and obtain the centroids between the multiple elliptical regions if there is no elliptical intersection between the multiple elliptical regions. The second set acquisition module is further configured to identify and obtain the distance between the centroid and its nearest point of interest, denoted as the first distance; The second set acquisition module is also used to obtain a custom circular region with the centroid as the center and the first distance as the radius; The second set acquisition module is also used to add points of interest located in the custom circular area to the second set; in, The road network map includes multiple points of interest and corresponding paths, and each point of interest includes text information and valid time information. The query data includes group members, starting position, destination position, query keywords, and time query range.

Citation Information

Patent Citations

  • Dynamic group travel planning query method

    CN114780875A