How to search for or compare points using entity paths
The method optimizes routes for multiple entities in transportation systems by solving optimization problems, addressing the inefficiencies in existing systems, and providing efficient commute route solutions.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- マレーヴィチュグザイゴシュ
- Filing Date
- 2025-01-15
- Publication Date
- 2026-04-21
AI Technical Summary
Existing systems lack efficient methods for searching and comparing points within transportation systems, particularly in optimizing routes for multiple entities such as adults commuting to work and children commuting to school, considering various constraints and optimization goals.
A method for searching and comparing points using routes within a transportation system by receiving requests that include commute routes, determining descriptions of these routes, and solving optimization problems using enumeration search, tree search, gradient descent search, branch-limited search, or operations research search to achieve specific optimization goals.
Enables efficient optimization of routes for multiple entities by addressing constraints and goals, providing accurate and optimized commute route solutions.
Smart Images

Figure 0007848956000004 
Figure 0007848956000005 
Figure 0007848956000006
Abstract
Description
[Background technology]
[0001] Cross-reference of related applications This application is based on and claims priority date of the following application. [Country] [Application Number] [Application Date] United States 63 / 328,293 2022.4.7 United States 63 / 447,650 2023.2.23 These are incorporated herein by reference as if they were fully described.
[0002] The present invention aims to search for or compare points within a transportation system based on the journey of an entity.
[0003] Similar objectives have been explored in prior art non-patent literature: Abraham, Delling, Fiat, Goldberg, and Werneck: "HLDB: Location-Based Services in Databases," International Symposium on Advances in Geographic Information Systems, 2012; and Delling and Werneck: "Customizable Point-of-Interest Queries in Road Networks," IEEE Transactions on Knowledge and Data Engineering, Volume 3(27) 2015. These articles discuss related issues and approaches such as the optimal waypoint problem, ridesharing problem, POI prediction problem, k-closest POI problem, k-best waypoint problem, hub labels, single-hub indexes, double-hub indexes, multilevel overlays, customizable route planning, single-source indexes, and double-source indexes.
[0004] Similar objectives are also considered in prior art patent documents such as US 4870576, US 8417409, US 9195953, US 10533865, KR 101692501, JP 2006221565, and CN 104240163.
[0005] Similar objectives are also considered in conventional interactive computer services developed in the industry. Some descriptions of such services are depicted in Figures 19–29 of U.S. Provisional Patent Application No. US63 / 328,293, filed on the same day and recorded as Record No. 1. Specifically, Record No. 1 shows some of the following websites relating to route-based real estate searches: namely, zu.fang.com and house.focus.cn in China, athome.co.jp and homes.co.jp in Japan, realty.daum.net and new.land.naver.com in South Korea, foxtons.co.uk and zoopla.co.uk in the UK, and redfin.com and zillow.com in the US. Some descriptions of such services are depicted in Figures 19–55 of U.S. Provisional Patent Application No. US63 / 447,650, filed on the same day and recorded as Record No. 2. Specifically, this record number 1 refers to some of the following websites related to route-based real estate searches, namely, 5i5j.com, zu.fang.com, and house.focus.cn in China; athome.co.jp, homes.co.jp, and suumo.jp in Japan; realty.daum.net and new.land.naver.com in South Korea; foxtons.co.uk, rightmove.co.uk, and zoomla.co.uk in the UK; and redfin.com and zillow.com in the US. [Overview of the Initiative]
[0006] We present a simplified summary of the invention to give readers some insight into some aspects of the main claims. This summary is not intended to be an overview of the understanding, nor is it intended to fully describe the scope of the invention or to identify important or key features of the invention. The purpose of the summary is to summarize some concepts in a form that is easy for those skilled in the art to read. Readers should refer to the full disclosure of the invention.
[0007] Embodiments of the present invention include the following methods. 1. A method for searching for or comparing at least two points using routes within a transportation system by at least two entities, the method comprising: (a) Receiving a request that includes at least one commute route, i. Herein, the commute route included in the at least one commute route includes the identification of a route within the transportation system by two or more entities included in the at least two entities, ii. Here, the identification identifies a path between at least one set of points that are included within the at least two points, iii. Here, the at least one set includes at least one junction, iv. Here, each junction included in the at least one junction identifies a plurality of entities moving to or from the junction, and each of the plurality of entities is included in the two or more entities. (b) Determine the description of at least one route within the transportation system of the at least one commuter route, and (c) Respond to the request with the results of a search or comparison obtained using the description of at least one of the steps described above. 2. A method for searching for or comparing at least three points using a route within a transportation system, the method comprising: (a) We receive a request that includes an optimization problem involving at least one commute route, i. Here, each commuter route included in the at least 1 commuter route identifies a route within the transportation system between at least one set of points included in the at least 3 points, (b) Solve the optimization problem using an approach that includes the following: i. Enumeration Search ii. Tree search iii. Gradient Descent Search iv. Branch-limited search, or v. Operations Research Search, Here, the optimization goal included in the optimization problem depends on the description of at least one route of the at least one commuter route within the transportation system, and (c) Respond to the request with the results of a search or comparison obtained using the description of at least one of the steps described above. 3. A method for searching for or comparing at least three points using a route within a transportation system, the method comprising: (a) We receive a request that includes an optimization problem involving at least one commute route, i. Here, each of the commute routes included in the at least 1 commute route identifies a route within the transportation system between at least one set of points included in the at least 3 points, and ii. Here, each of the one or more free points included in the at least one set is arbitrarily selected from among the at least three points in at least two ways, (b) Determine at least one point N among the one or more free points, not allowing each of the points N to be free, and determine at least one point F among the remaining free points, Here, the at least one commute route excludes any direct journey between any point included in the at least one point F and any remaining free point not included in the at least one point F. (c) Solve the optimization problem using an approach that includes the following: i. For each of the at least one point N, select a specific point, and ii. Solve the optimization sub-problem included in the optimization problem by selecting a specific point for each of the at least one point F mentioned above. Here, the optimization goal included in the optimization problem depends on the description of at least one route of the at least one commuter route within the transportation system, and (d) Respond to the request with the results of a search or comparison obtained using the description of at least one of the steps. 4. A method for searching for or comparing at least two points using a route within a transportation system, the method comprising: (a) Receiving a request comprising an optimization problem that includes at least one commute route and includes identifying a route within the transport system between at least two points, between point P and a free point F which is arbitrarily selected in at least two ways, (b) Determine the following points that are close to point P: i. At least one nearby representative, or ii. At least one nearby point included in the at least two points, (c) By removing the specificity of the process, a modified subproblem based on the optimization problem is generated, and instead, i. Specify the coordinated stroke between the free point F and the nearby representative included in the at least one nearby representative, or ii. Identify that a nearby point is selected for the free point F, where the nearby point is included in the at least one nearby point. (d) Solve the optimization problem using an approach that includes solving the adjusted sub-problems, Here, the optimization goal included in the optimization problem depends on the description of at least one route of the at least one commuter route within the transportation system, and (e) Respond to the request with the results of a search or comparison obtained using the description of at least one of the steps. 5. A method for searching for or comparing at least two points using a route within a transportation system, the method comprising: (a) Receiving a request comprising an optimization problem including at least one commute route and the identification of a route within the transportation system, Here, the identification of the steps includes at least one free point, each of which is arbitrarily selected in at least two ways from among the at least two points. (b) Determine a free point H included in the at least one free point, and determine a specific point H2 that can be separated from a specific point H1, each of which is selectable for the free point H, and so the length of the path between the specific point H1 and the specific point H2 is at most a threshold, (c) Solve the optimization problem by using an approach that skips the investigation of any selection of the specific point H2 for the free point H, Here, the optimization goal included in the optimization problem depends on the description of at least one route of the at least one commuter route within the transportation system, and (d) Respond to the request with the results of a search or comparison obtained using the description of at least one of the steps.
[0008] Embodiments of the present invention also include computer systems and apparatus for implementing any of the above methods.
[0009] The embodiments of the present invention shown in this disclosure are for illustrative purposes only; they are not intended to be exhaustive. Many modifications and changes will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments.
[0010] In this explanation, the terms “first,” “second,” “above,” and similar terms are not used in any restrictive sense, but are for the purpose of distinguishing them where their absence would not be clear from the context. Unless otherwise specified in the context, singular expressions include plural forms. Unless otherwise specified in the context, plural expressions include singular forms. Unless otherwise specified in the context, the terms “have,” “include,” “equip,” and similar terms indicate the presence of a component or feature, and do not exclude other components or features from being present or added. The terms “method,” “approach,” “search,” “algorithm,” “process,” and similar terms suggest an act or behavior that defines a manner, or process of making or using an invention or part of an invention, and these terms may be used as synonyms. [Brief explanation of the drawing]
[0011] The drawings included in the disclosure of this invention illustrate various features and advantages of several embodiments of the invention. Figure 1 shows examples of commuting routes: from home (0101) to school (0102) by a child (0105), and from home (0101) to work (0103) by an adult (0104); and vice versa; from school (0102) to home (0101) by a child (0105), and from work (0103) to home (0101) by an adult (0104). Figure 2 shows examples of commuting routes: (0205) is a child (0204) and an adult (0203) traveling together from home (0201) to school (0202); (0206) is an adult (0203) traveling from school (0202) to home (0201); (0207) is an adult (0203) traveling from home (0201) to school (0202); and (0208) is a child (0204) and an adult (0203) traveling together from school (0202) to home (0201). Figure 3 shows an example of a commute route: child (0305) and adult (0304) together from home (0301) to school (0302), and then adult (0304) from school (0302) to work (0303); and vice versa; adult (0304) from work (0303) to school (0302), and then child (0305) and adult (0304) together from school (0302) to home (0301). Figure 4 shows examples of commuting routes: child (0405) and adult (0404) together from home (0401) to work (0402), and then child (0405) from work (0402) to school (0403); and vice versa; child (0405) from school (0403) to work (0402), and then child (0405) and adult (0404) together from work (0402) to home (0401). Figure 5 shows an example of a commute route: from home (05:01) to school (05:02) for a child. Figure 6 shows an example of a commute route: from school (06:02) to home (06:01) for a child. Figure 7 shows an example of a commute route: from home (07:01) to work (07:02) for an adult. Figure 8 shows an example of a commute route: from work (08:02) to home (08:01) for an adult. Figure 9 shows an example of a commute route: a child and an adult together from home (09:01) to the junction (09:02), then the child from the junction (09:02) to school (09:03), and the adult from the junction (09:02) back home (09:01). Figure 10 shows an example of a commute route: a child from school (1003) to the junction (1002), an adult from home (1001) to the junction (1002), and then the adult and child together from the junction (1002) back to home (1001). Figure 11 shows an example of a commute route: a child and an adult together from home (1101) to the junction (1102), then the adult from the junction (1102) to work (1103), and the child from the junction (1102) to school (1104). Figure 12 shows an example of a commute route: a child from school (1203) to the junction (1204), an adult from work (1202) to the junction (1204), and then the adult and child together from the junction (1204) to home (1201). Figure 13 shows an example of a commute route: child and adult together from home (1301) to junction (1302), from junction (1302) the child to school (1303), from junction (1302) the adult to work (1304), and then the child from school (1303) to junction (1305), the adult from work (1304) to junction (1305), and then the child and adult together from junction (1305) back home (1301). Figure 14 shows an example of a commute route: child and adult together from home (1401) to junction (1402), then the adult goes from junction (1402) back to home (1401), the child goes from junction (1402) to school (1403), then the child goes from school (1403) back to junction (1404), the adult goes from home (1401) back to junction (1404), and then the adult and child together go from junction (1404) back to home (1401). Figure 15 shows an example of a commute route: child and adult together from home (1501) to junction (1502), then the child from junction (1502) to school (1504), the adult from junction (1502) to work (1503), the adult from work (1503) to home (1501), then the child from school (1504) to junction (1506), the adult from home (1501) to work (1505), the adult from work (1505) to junction (1506), and then the child and adult together from junction (1506) to home (1501). Figure 16 shows an example of a commute route: Adult (1606) from home (1601) to the junction (1603), then Adult (1606) from the junction (1603) to the workplace (1604), then Adult (1606) from the workplace (1604) to home (1601), then Adult (1607) from home (1602) to the junction (1603), then Adult (1607) from the junction (1603) to the workplace (1605), and then Adult (1607) from the workplace (1605) to home (1602). Figure 17 shows an example of the minimum structure of two trees dividing a junction, where node (1701) is tagged with 5, which is the minimum travel time from home (1705) to any junction in the area associated with node (1701); node (1702) has a smaller tag of 4 for a shorter minimum travel time; node (1703) is tagged with 5, which is the minimum sum of 2 constituent travel times minimized from the junction to school (1706) and from the junction to work (1707) across any junction in the area associated with node (1703); node (1704) has a larger tag of 9 for a larger minimum sum within the area associated with node (1704); the tags of the four “home to junction” nodes are minimized up to the parent node (1708); and the tags of the four “junction to school and work” nodes are minimized up to the parent node (1709). Figure 18 shows an example of the user interface of the device, which receives a request to identify requirements for real estate (1801), workplace (1802), school (1803), commute route (1804), (1805), where adult T1 goes to the provided workplace W1, child L2 goes to the provided school S2, adult T2 goes to a workplace of their choice but that workplace must match the identified resume (1802), child L1 goes to a school of their choice but that school must match the identified test results (1803), child L1 goes to school with the adult (1804), and in response, the device displays the results of a search or comparison including a description of the commute route (1806), the duration of the route (1807), the selected home (1808), the selected school (1809), and the selected workplace (1810), and a representative of the information as benefits (such as salary minus rent) (1811), and Figure 19 shows an example of sparsification: Subproblem S includes a commute route from a specific P to a free point F and then to a specific Q; free point F can be any of the specifics F,1, F,2, or F,3; near P there is one specific F,1 that can be selected as free point F; near P there are two specific representatives R,1 and R,2; the recursive step of sparsification generates the following three adjusted subproblems: (1) adjusted subproblem M1 including a commute route from specific R,1 to free point F and then to specific Q; (2) adjusted subproblem M2 including a commute route from specific R,2 to free point F and then to specific Q; and (3) adjusted subproblem M3 including a commute route from specific F,1 to specific Q.
[0012] The drawings are for illustrative purposes only. Other drawings will be readily recognizable to those skilled in the art and will illustrate the present invention without deviating from the principles of this embodiment. Detailed description of the invention
[0013] The invention has a general purpose of searching for or comparing points between several points in a transportation system based on an optimization goal of using the journey of at least one entity. However, for the sake of ease of explanation, we will first describe the invention through a narrower form of a real estate search engine, where: points include: home, workplace or school; and entities here include: at least one adult, each adult's commute to work, or at least one child, each child's commute to school, and any person commuting with the adult during the commute to school. However, this description is not limiting. Those skilled in the art will notice that the invention relates to a general purpose without departing from the scope and spirit of the embodiments. Later, we will describe the invention through broader embodiments. 1. Introduction
[0014] We use the term "point" in a broad sense consistent with the interpretation of the term by those with ordinary skill in the relevant art. A point includes points of interest (POIs) common in the relevant art. Any point has a location. A location may or may not be static. A point can simply be a location. Examples of points include: geographical location, property, home, workplace, school, private school, public school, school gate, school door, building door, workplace door, company gate, public transport stop, transport stop, bus stop, school bus stop, subway station, airport, vehicle stop, vehicle boarding / alighting location, transfer location, road intersection, pedestrian crossing, subway entrance / exit, highway entrance / exit, parking lot, senior center, park, hospital, clinic, pharmacy, restaurant, shop, supermarket, convenience store, laundry service, piano school, storage facility, sorting facility, logistics hub, bank, ATM, government office, crime report, police station, military base. Without departing from the scope and spirit of the embodiments, many other examples of points will be apparent to those skilled in the art. While the disclosure of the present invention may list any examples of points, in one embodiment, it should be understood that we mean a general point. For example, even when listing “home,” we mean a point. Listing specific examples makes it easier to distinguish terms. In one embodiment, a point indicates a cluster of nearby points, such as within 1000 meters or within 1 minute of travel. For example, a point is the center of a cluster. In one embodiment, a point represents a location that frequently occurs on the shortest travel distance from a particular point, or, if the travel is in the opposite direction, a location that frequently occurs on the shortest travel distance to a particular point. Such particular points could be home, school, workplace, etc.Such locations are sometimes called representatives, and one of them can be calculated using prior art, for example: “Transit Stations” described in US 8417409, “Global Stations” described in US 8756014, “Hubs” in “Distance Labeling in Graphs” (Journal of Algorithms, Vol. 53 2004) described by Gavoille, Peleg, Perennes, and Raz, “Carefully Selected Points” in “Shortest Path Queries in Static Networks” (ACM Computing Surveys, Vol. 46(4) 2014) described by Sommer; or “Sparse Shortest Path Hits” in “Highway Dimension and Provably Efficient Shortest Path Algorithms” (Journal of the ACM, Vol. 63(5) 2016) described by Abraham, Delling, Fiat, Goldberg, and Werneck. Examples include "set". In one embodiment, point P is interpreted using at least one point associated with point P. For example, home is interpreted as any public transport stop near home, or school is interpreted as the school gate, or school is interpreted as any school bus stop, or workplace is interpreted as any parking lot near workplace. In one embodiment, the journey duration between point P and location Q is determined using the journey duration via such associated point, or as the journey duration between such associated point and location Q. Points may be listed in the disclosure of the present invention, but in one embodiment, that point should be understood to represent any embodiment listed in that paragraph.
[0015] In this invention, the term “process” is used in a broad sense consistent with the interpretation of a person skilled in the art. This term includes the movement of entities such as objects, items, data, cargo, vehicles, delivery vehicles, people, adults, children, customers, siblings, animals, dogs, couriers, packages, parcels, messages, letters, and shopping baskets. Many other examples of entities will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. In the disclosure of this invention, any of the examples of entities may be listed, but in one embodiment, it should be understood that it means entities in general. For example, we list “adults,” but it actually means entities. Listing specific examples makes it easier to distinguish the term. A description of a process is whatever a person skilled in the art would name it. These are some examples of descriptions of processes: (1) “Hey, go one block north and turn left a little,” and (2) “It’s 5 dollars.” The length of a journey is a numerical value that a person skilled in the art can associate with a journey, such as: the monetary cost of the journey; the distance in metric units; fuel consumption; or specific features or attributes in the description of the journey, such as the number of transfers or walking distance. Another example is the use of the term "journey duration" when referring to the length of a journey in terms of time. The length of a journey is itself a description of the journey. A description of a journey may not include the length of the journey, may include only the length of the journey, or may include other data.
[0016] In this invention, the term "transportation system" is used in a broad sense consistent with the interpretation of a person skilled in the art. Some embodiments include road and automobile systems, public transport systems including buses and subways, pedestrian pathway systems, airports, airplanes, air routes, or ships and sea routes. A transportation system that moves data is an example of a transportation system, such as a computer network, comprising configurations or transportation elements such as wires / lines / fibers (corresponding to roads) and hubs / switches (corresponding to stops / turns). A transportation system may or may not physically move objects. Any combination of transportation systems permitted for movement between them is a transportation system. Many other examples of transportation systems are apparent to those skilled in the art, without falling outside the scope or spirit of the embodiments.
[0017] The disclosure of this invention determines the description of the journey between two endpoint locations in a traffic system using any method available to those skilled in the art. For example, using a prior art shortest path algorithm such as Dijkstra's algorithm, Bellman-Ford algorithm, or A* on a graph modeling the traffic system; using a shortest path approximation algorithm; using any prior art method for calculating the route, such as any approach described by Bast, Delling, Goldberg, Müller-Hannemann, Pajor, Sanders, Wagner, or Werneck: “Route Planning in Traffic Networks,” Algorithmic Engineering: Selected Results and Investigations, 2016; or using any method of our previous invention disclosure: PCT / US2019 / 017909, PCT / US2021 / 029024, or PCT / US2021 / 065165, for example, where the two endpoint locations correspond in some order to the sites and locations enumerated in the aforementioned invention disclosure, or to the source location and the target location. In one embodiment, we determine a description of multiple paths using any one-to-many or batched shortest path method known in the art, such as Delling, Goldberg, Werneck, etc.: “Accelerating Batched Shortest Paths in Road Networks,” 11th Workshop on Algorithmic Approaches for Traffic Modeling, Optimization and Systems, 2011, or any method of the aforementioned prior art disclosures, and then use such path descriptions in the relevant parts of our method. This allows one multiple to be reused multiple times. In one embodiment, the method of the present invention determines the minimum path length between any two endpoint locations. However, when we say that the path length is minimized, in one embodiment, for example, if we use a shortest path approximation algorithm or heuristic to calculate the minimum path length between two endpoint locations, it should be understood that the path length is not minimized.
[0018] In this invention, the term "pre-calculation" is used in a broad sense consistent with the interpretation of the term by those skilled in the art. In one embodiment, a description of a route for at least one set of endpoint locations is pre-calculated, stored in a storage medium before a request is received, and then the pre-calculated route description is retrieved from the storage medium and used during request processing, rather than calculating the route description after the request is received. In one embodiment, the method pre-calculates fragments of the route description, stores them in a storage medium, and uses them later. This can be done in various ways. In one embodiment, the method determines a roughened graph obtained from a graph modeling a traffic system using any graph roughening approach known in the art. In one example, the edges of the roughened graph are determined using the approach described by Geisberger, Sanders, Schultes, and Delling: Shortcut graph edges: "Reduced hierarchy: Faster and simpler hierarchical routing in road networks," Workshop on experimental and efficient algorithms 2008. In other examples, a roughened graph is obtained using any graph summarization approach known in the art, such as that described in the research paper by Liu, Safavi, Dighe, and Koutra: "Graph Summarization Techniques and Applications: A Study," ACM Computing Research, Vol. 51(3) 2018. A description of the journey in the traffic system between two endpoint locations is then computed by considering the paths in the roughened graph and combining at least one fragment of the journey description along those paths, such as two shortcuts or two edges in the graph summary. Thus, in one embodiment, pre-computation is simply an activity performed before request processing to make request processing more efficient.
[0019] In this invention, the terms "search" or "compare" are used in a broad sense consistent with the interpretation of a person ordinary skill in the art. For example, this method searches for a home, workplace, or school that minimizes travel time. For example, this method compares two homes based on travel time, two schools based on travel time, two workplaces based on travel time, two homes with similar travel time based on price, two schools with similar travel time based on school ranking, or one workplace with a commute time of less than one hour based on job compensation. The scope of this term includes route planning in navigation engines such as Google Maps, where, for example, the start and end of the route correspond to the endpoints of the travel description. The scope of this term also includes delivery planning in delivery systems such as Amazon, FedEx, and Meituan, where, for example, the location of the sorting facility and the delivery location of the courier correspond to the endpoints of the travel description. The scope of this term also includes corporate real estate planning, such as determining the location of a company based on employee commutes, such as from the location of employees' homes. Other embodiments include those listed in any of the above-mentioned disclosures. Generally, a search or comparison can be characterized as a process that involves achieving an optimization objective, namely, a description of a journey within a traffic system between (1) at least two points and (2) at least one pair of points. Many other examples of searches or comparisons will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. 2. Exemplary Forms
[0020] We describe exemplary embodiments of the present invention. In one embodiment, the method obtains information about points such as home, school, and workplace from at least one data source associated with a particular metropolitan area, for example. This information includes the location of the points. In one embodiment, the method obtains information about at least one transportation system from at least one data source, for example, bus or subway schedules and stop locations, or roads and sidewalks and their locations. Any such acquisition can be considered an act of measuring the real world. Any such measurement is used in any of the present methods to generate search or comparison results. 2.1 Request
[0021] In one embodiment, the method receives a request that includes at least one commute route. Each commute route includes at least one pair of points. Each pair identifies the location of an endpoint of the route by at least one entity. For example, a commute route identifies the route an adult takes from home to work. In one embodiment, the number of point pairs is at least a predetermined threshold, or at most a predetermined threshold (e.g., threshold 2 or threshold 10). In one embodiment, a pair identifies a route between the same two points, or a route between two different points. In a request, some commute routes may be excluded, for example, to ensure patentability with respect to the prior art.
[0022] In one embodiment, a request includes requirements. We use the term requirements in a broad sense that is consistent with the interpretation of the term by those ordinary skill in the art. The requirements identify an optimization problem, including an optimization goal. In one embodiment, the requirements identify constraints on a route along a commute, such as using only walking, only driving, only using public transport, using a school bus, using a specific school gate, using at least one of the school gates, departing from a specific point at a specific time, arriving at a specific point by a specific deadline (e.g., based on a school bus schedule), finding the fastest route based on current traffic conditions, finding the fastest route based on average traffic conditions, finding the cheapest route, or traveling a certain number of times, such as five times a week. In one embodiment, the requirement specifies a restriction on at least one point, for example, the area of the home must be 80-90 square meters, the workplace must meet the qualifications of an adult, the home or workplace is within a school district, the school the child attends is high-ranking, the child is likely to be admitted based on school admission criteria, or the result should include the top 10 points according to the optimization goal. In one embodiment, the requirement relates to both the route and at least one point, for example, the home or workplace is within a 20-minute school bus ride from the school. In one embodiment, the requirement includes a specification on how to adjust the duration of the commute route. This specification is an arbitrary computable function (in the sense of computability theory). For example, this computable function is a piecewise linear function, for example, for a given threshold T, the computable function maps the duration x to T when x ≤ T and maps the duration x to ∞ when x > T. In one embodiment, the duration of a component of the commute route has a specification that modifies the duration of that component. The designation makes it possible to exclude periods such as a home that is too far from the workplace or a period of travel by school bus. The designation is not explicitly stated elsewhere in the disclosure of this invention. However, it is understood that in one embodiment, at least one travel period is adjusted based on at least one designation.In one embodiment, requirements are pre-defined, for example, as a prior request or to ensure patentability with respect to the prior art.
[0023] The duration of a commute route depends on the selection of specific points identified by the commute route. For example, consider a commute route from home H to work W and then back to home H. In this example, we assume that work W is provided as part of the request (for example, the request specifies that work W is located at the geographical location 40.7180, -73.9869), and that home H can be arbitrarily selected (for example, the request specifies that any home in Manhattan can be selected as H). If H is specifically selected (for example, if H is selected as home at the address 100 Central Park West), the duration of the commute route is obtained by adding two constituent durations: the duration from specific H to specific W, and the duration from specific W to specific H. In general, within a duration, some of the specified points are provided, and some of the identified points are free. If point P is provided, it means that point P has already been specifically selected by the request. If point P is free, then it means that specific P can be selected from a set of points. In one embodiment, the meaning of this set is clear from the context. For example, a specific home is selected from the set of all homes. However, in one embodiment, this set is an arbitrary set of points. This set may depend on several points, or on the journey between several points. For example, if a specific school is selected, then only homes within that school's zone can be selected. For example, if a specific bus route is selected for boarding to a school, then boarding in the opposite direction from that school must use the same bus route. For example, if a specific boarding bus stop B is selected for boarding to a school, then only alighting bus stops near B can be selected for boarding from that school. This set may be empty, for example, if a home is outside the district of any school or if it is not possible to drive home. In one embodiment, the request specifies which points are available and which points are provided.In one embodiment, the commute route identifies which of the at least one points included in the commute route are available, or which are not available. In another embodiment, the commute route identifies which of the at least one points included in the commute route are available, or which are not available. Then, in order to achieve the optimization goal, the goal for each free point is to select a specific point.
[0024] The duration of a commute route is determined using any method available to a person skilled in the art. For example, this method determines the constituent duration of each pair of endpoint locations of a commute route using any method available to a person skilled in the art. The method then adds these constituent durations together, and the sum is the duration of the commute route. In one embodiment, the duration of at least one commute route is pre-calculated for the selection of at least one specific point, and the duration is stored in a storage medium before a request is received. Then, instead of calculating the duration after a request is received, the pre-calculated duration is retrieved from the storage medium and used during processing of the request.
[0025] In one embodiment, the home is optional, but the workplace is provided. In one embodiment, the method enumerates at least one specific home and determines the duration of each of at least one commute routes to that specific home, as described in a subsequent section. In one embodiment, any school is optional, and if a school is included in the commute route, in one embodiment, the method also enumerates at least one specific school and determines the duration of the commute routes between the specific home and the specific school, as described in a subsequent section. The method then uses at least one duration to achieve the optimization goal. In one embodiment, such enumeration is subject to requirements. 2.2 Kernel Commute Route
[0026] Several types of commute routes are described below. When a route is performed by a single entity, the term "single route description" is used in the context of a route between two endpoints. When a route is performed together by two entities, the term "dual route description" is used in the context of a route between two endpoints. When referring to a route by at least two entities, the term "joint" is interpreted broadly, in accordance with the interpretation of the term by those skilled in the art. For example, we may or may not require entities to be in a route: entities in the same vehicle, holding hands while walking, or keeping a dog on a leash. In one embodiment, a commute route includes a joint route by at least two entities. In one embodiment, a commute route does not include a joint route by at least two entities. 2.2.1 Commuting Route: "For Work Use Only" and its reverse direction
[0027] In one embodiment, the commute route is a "workplace-only" commute route (see Figures 1 and 7 for an example), where: • (Description of a single journey) An adult travels from home to work.
[0028] The duration of the commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of the commute is calculated using the disclosure of the invention described above, where home corresponds to a site and work corresponds to a location.
[0029] In one embodiment, the commute route is a reverse-direction "workplace-only" commute route (example shown in Figure 8), where an adult travels from the workplace to their home. The duration of the journey is determined by any corresponding manner (reversing the direction of travel). 2.2.2 Commuting Route: "School Only" and the opposite direction
[0030] In one embodiment, the commute route is a "school-only" commute route (see Figures 1 and 5 for examples), and here: • (Description of a single journey) The child travels from home to school. In one embodiment, the commute route is interpreted as including points such as school gates or school bus stops, and the child travels from home to a point and then from that point to school. This point may be the same as the school.
[0031] The duration of a commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of a commute route is the sum of two constituent durations: the duration from home to a certain point and the duration from that point to school. In one embodiment, the duration of a commute route is determined by finding a specific point that minimizes the sum of the duration of a specific home and a specific school. In one embodiment, the duration of a commute route is determined using any approach to the optimal waypoint problem, for example: (1) a double-hub index approach, e.g., using two hubs: a forward hub from a specific home and a backward hub to a specific school; or (2) a double-source index approach, e.g., using a bucket B(v,w) for a shortcut (v,w) in a cell, i.e., the bucket contains the optimal specific point, such that V is the specific home, w is the specific school, and the cell is the entire graph. In one embodiment, it is specified that a duration D between a certain point and a school is excluded from the duration of the commute route (and therefore duration D is not included in its sum).
[0032] In one embodiment, the commute route is the reverse "school-only" commute route (an example is shown in Figure 6), where the child travels from school to home. The duration of this journey is determined by any corresponding method. 2.2.3 Multiplicity
[0033] In one embodiment, a journey duration is counted in multiplicity, for example, the multiplicity of the number of entities traveling together, the multiplicity of the journey cost, a multiplicity of zero (numerical value 0), or a multiplicity not equal to 1 (numerical value 1). For example, if a journey is performed by both adults and children, then the journey duration is counted as one. Multiplicity can be used for each journey between two endpoints, and each journey can use a different multiplicity than the multiplicity used for the other journey.
[0034] In one embodiment, the requirement specifies a method for counting process duration. In one embodiment, the method is predetermined, for example, as a prior request or to ensure patentability with respect to prior art.
[0035] Other parts of the invention disclosure may not explicitly mention multiplicity. However, it should be understood that in one embodiment, the process duration is determined based on a multiplicity of at least 1. 2.2.4 Commuting Route: "Returning from school" and the opposite direction
[0036] In one embodiment, the commuting route is the commuting route "after school" (an example is shown in Figure 2), where, • (Description of a double journey) An adult and a child travel together from home to school, for example, the adult takes the child to school and then (Description of a single journey) The adults continue traveling from school to home without the children. In one embodiment, the commute route is interpreted as including a point such as a school gate or a school bus stop, where the adult and child travel together from home to the point, and then the child continues from that point to the school, and the adult continues from that point to home. That point may be the same as the school.
[0037] The travel period of the commuting route is determined using any method available to those skilled in the art. In one embodiment, the travel period of the commuting route is the sum of three component travel periods from home to a point, from that point to school, and from that point back home. In one embodiment, the travel period of the commuting route is determined by finding a specific point that minimizes the sum of a specific home and a specific school. In one embodiment, it is specified that, by designation, the travel period between a certain point and school is excluded from the travel period of the commuting route.
[0038] In one embodiment, the travel period of the commuting route is determined by extending any approach to the optimal intermediate point problem. For example, extend the double hub index approach. Examine meeting hubs through which each shortest path needs to pass either on the way to or from a point. Any such hub will be a forward hub or a reverse hub of the point based on the direction of movement. In this case, the forward hub b from a specific home h→* , the reverse hub b to a specific home *→h , and the reverse hub b*→s to a specific school are examined. The remaining travel between the hub under investigation and the point is also used. In this case, from hub b h→* to the point, from that point to hub b *→h , and from that point to hub b *→s the following travel is used. Then, find a specific point and a specific hub that minimize the travel period of the commuting route. In this case, find a specific point p and specific hubs b h→* , b *→h , b *→s that minimize the sum of the following six component travel periods. The six are: (1) from a specific home to a specific b h→* , (2) from a specific b *→h to a specific home, (3) from a specific b *→s to a specific school, (4) from a specific b h→* to a specific p, (5) from a specific p to a specific b *→h , and (6) from a specific p to a specific b*→s Herein is the case. In one embodiment, for at least one tuple of specific hubs, a specific point p that minimizes the sum of configuration process periods associated with that point is pre-calculated, the sum is stored in a storage medium before a request is received, and then, instead of calculating the sum after a request is received, the pre-calculated sum is retrieved from this storage medium and used during processing of the request. In this case, a specific point p that minimizes the sum of the following three process periods is pre-calculated, the three being specific b h→* From to a specific p, and from a specific p to a specific b *→h From specific p to specific b *→s Herein lies the extension of the double hub index described above in the context of a specific commute route with one point, but this description is not limiting. Note that the extension also applies to commute routes containing at least one point. In a similar manner, other approaches to the optimal waypoint problem are extended. In one embodiment, for example, as in the case of the previous request, or to ensure patentability with respect to the prior art, the extension of the approach is pre-defined.
[0039] In one embodiment, the commute route is the reverse "returning from school" route (an example is shown in Figure 2), where the adult travels from home to school, and then the adult and child travel together from school back home. The duration of this journey is determined by any corresponding method. 2.2.5 Commuting Route: "School First" and the opposite direction
[0040] In one embodiment, the commuting route is the "School 1" commuting route (an example is shown in Figure 3), where, (Description of a double journey) The adult and child travel together from home to school, the adult walks the child to school, and then, (Description of a single journey) The adult continues their journey to work without the child. In one embodiment, the commute route is interpreted to include a point such as a school gate or a school bus stop, and both the adult and child travel from their home to the point, then the child continues from that point to school, and the adult continues from that point to their workplace. That point may be the same as the school.
[0041] The duration of a commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of a commute route is the sum of three constituent durations: from home to a point, from that point to work, and from that point to school. In one embodiment, the duration of a commute route is determined by finding a specific school that minimizes the sum for a specific home and a specific workplace. In one embodiment, the duration of a commute route is determined by finding a specific point that minimizes the sum for a specific home, a specific workplace, and a specific school. In one embodiment, using the earlier disclosure described above, where the point corresponds to a site and the workplace corresponds to a place, or where the school corresponds to a site and the workplace corresponds to a place.
[0042] In one embodiment, the commute route is the reverse "school first" commute route, where the adult travels from the workplace to the school or a designated point, and then the adult and child travel together from the school to home. The duration of the journey is determined in any corresponding manner. 2.2.6 Commuting Route: "Workplace First" and the opposite direction
[0043] In one embodiment, the commuting route is the "workplace-first" commuting route (an example is shown in Figure 4), where, (Description of a double journey) An adult and a child travel together from home to work, and then, (Description of a single journey) The child continues on to school without an adult; for example, the child walks to school. In one embodiment, the commute route is interpreted to include a point such as a school gate or a school bus stop, and the child travels from the workplace to that point and then from that point to school without an adult. That point may be the same as the school.
[0044] The duration of a commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of a commute route is the sum of three constituent durations: from home to work, from work to a point, and from that point to school. In one embodiment, the duration of a commute route is determined by finding a specific school that minimizes the sum for a specific home and a specific workplace. In one embodiment, the duration of a commute route is determined by finding a specific point that minimizes the sum for a specific home, a specific workplace, and a specific school. In one embodiment, using the earlier disclosure described above, where home corresponds to a site and work corresponds to a place, or where school corresponds to a site and work corresponds to a place, or where point corresponds to a site and work corresponds to a place.
[0045] In one embodiment, the commute route is the reverse "workplace-first" commute route, where the child travels from school to work, and then the adult and child travel together from work to home. The duration of this journey is determined in any corresponding manner. 2.2.7 Junction
[0046] A junction is any point on which at least two entities travel (for example, at least one entity, or each entity traveling from a different point, arriving at a junction (i.e., a "join")), or a place on which at least two entities travel (for example, at least one entity, or each entity traveling from a junction, to another point (a so-called "fork")), or both (a so-called "rendezvous"). In one embodiment, a junction is a home, workplace, school, school gate, or school bus stop. In one embodiment, a junction is any location. A junction may reflect several practical scenarios. For example, a junction may reflect a scenario where an adult walks with a child from home to a school bus stop, the child then takes the bus to school, and the adult walks back home, or a junction may reflect a scenario where a delivery person hands over a package to another delivery person at a sorting facility.
[0047] In one embodiment, at least one junction satisfies the restriction. We use the term restriction in a broad sense consistent with the interpretation of the term by those skilled in the art. Here are some examples: In one embodiment, entities arrive at a junction at any time. In one embodiment, entities depart from a junction at any time. In one embodiment, entities arrive or depart simultaneously. In one embodiment, one entity arrives or departs before another entity arrives or departs. In one embodiment, the restriction specifies the arrival or departure time of at least one entity. In one embodiment, the commute route does not include a junction. In one embodiment, the commute route includes at least one junction. In one embodiment, the commute route includes a joint journey by at least two entities before or after a junction. In one embodiment, the commute route does not include a joint journey by at least two entities before or after a junction. In one embodiment, the junction is the first location on the commute route, or not. In one embodiment, the junction is the last location on the commute route, or not. In one embodiment, the junction is part of an arbitrary set of points, for example, the junction is home, school, or workplace. In one embodiment, a junction is excluded from any set of points, for example, a junction is not home, school, or workplace. In one embodiment, at least one location is excluded from consideration for junctions, or a junction is restricted to one of at least one location. For example, a junction is (a) any location inside the convex hull whose corner is the location of several points (home, school, workplace, etc.) included in the commute route, or (b) any location near the convex hull, for example, at a maximum threshold distance from the convex hull, for example, at a maximum of 1000 meters, or a 5-minute journey. In one embodiment, a junction is calculated independently of at least one of the corners.For example, a junction is a location that (a) minimizes the travel time between the junction and a school, (b) minimizes the travel time between the junction and one's home, (c) minimizes the travel time between the junction and one's workplace, or (d) minimizes the sum of at least two of the above travel times. In one embodiment, at least one location is excluded from consideration as a junction by the identification of the traffic system. For example, a junction may be restricted based on a place where adults and children can merge or diverge, a junction may be restricted to one of the school bus stops, a junction may be restricted to one of the school gates, or a junction may be restricted to one of the locations where children can safely get on or off vehicles. In one embodiment, the restriction is a combination of at least one restriction. In one embodiment, the request specifies a restriction for at least one junction. In one embodiment, a restriction for at least one junction is pre-set, for example, as in the case of a previous request, or to ensure patentability with respect to the prior art. 2.2.8 Commuting Route: "Junction - Continuation"
[0048] In one embodiment, the commute route is a "junction-continuation" commute route (see Figure 11 for an example), where, (Description of a double journey) An adult and a child travel together from home to the junction, and then (Description of a single journey) The child continues traveling from the junction to school, and the adult continues traveling from the junction to work. In one embodiment, the junction reflects a scenario where an adult walks with a child from home to a school bus stop or school gate, and then the child continues to school while the adult continues to work. In another embodiment, the junction reflects a scenario where an adult drives with a child from home to, for example, a drop-off point near the school, and then the child walks to school while the adult drives to work. In yet another embodiment, the junction reflects a scenario where an adult drives a child from home to the gate of the workplace or a parking lot near the workplace, and then the child goes to school while the adult continues to work.
[0049] The duration of the commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of the commute route is the sum of three constituent durations: from home to a junction, from that junction to school, and from that junction to work. In one embodiment, the duration of the commute route is determined by finding a specific junction that minimizes the sum of the durations for a specific home, a specific school, and a specific workplace. In one embodiment, by designation, the duration between a certain junction and a school is excluded from the duration of the commute route.
[0050] In one embodiment, junctions are discovered using enumeration search. At least one specific junction is examined, the travel time of a commute route passing through that junction is determined, and the specific junction that minimizes that travel time is discovered.
[0051] In one embodiment, a tree search is used to find junctions. For example, (a) three shortest path trees are constructed on a graph that models a traffic system based on the direction of travel, such that the tree is moving forward from home, the tree is moving backward from school, and the tree is moving backward from work, with at least one graph vertex having a journey duration in each tree, and (b) the graph vertex that minimizes the sum of the three constituent journey durations in the three shortest path trees is found. The graph vertex represents the junction that minimizes its sum.
[0052] In one embodiment, a gradient descent search is used to find a junction. It starts at an arbitrary junction J. Next, the travel time of a commute route through junctions near J is determined, for example, neighboring junctions within a predetermined radius around J (e.g., 1000 meters, or a 5-minute travel time), neighboring junctions within a maximum threshold size (e.g., 10 junctions), neighboring junctions including the nearest junction other than J, or neighboring junctions within a predetermined radius that exceed the travel time between J and the nearest other junction. Then, the junction J' that gives the shortest travel time near J is found. If that travel time is shorter than the travel time via J, J is set to J' and the search continues. Otherwise, the gradient descent search is stopped. The junction found by the search is then considered to be J. J does not necessarily actually minimize the sum.
[0053] In one embodiment, a branch-only search is used to find junctions. In the following description, we use any workplace W, any school S, and any home H, but this use is not limited to these.
[0054] In one embodiment, junctions are processed in order based on at least one of three configuration process periods, for example, depending on the process period from H to each junction. The process periods are processed in any order, for example, monotonically, starting with the shortest one. During processing, junction J min and itinerary period D min Maintain D min Set the upper limit of the minimum process duration (the minimum value is less than or equal to the upper limit). Several methods for calculating the upper limit are described in the disclosure of the invention. For example, D min Set to infinity. At least D minIf this is the case, the processing of the journey period T is skipped. Otherwise, when processing the journey period T, the remaining journey period R is calculated. In this example, T is the journey period from home H to junction J, and R is the sum of the next two journey periods, which are from junction J to workplace W and from junction J to school S. The sum T+R is D min If it is smaller, D min Set to T+R, J min Set to J. Once that process is complete, the junction found by the search will be J min In one embodiment, J min This minimizes the travel time of the "junction-continuation" commute route, D min This is the minimum duration of the journey.
[0055] In one embodiment, a junction partition is used. For example, a hierarchical partition of junctions is used, where this hierarchy is induced by inclusion relationships. It is easier to understand if the hierarchical partition is thought of as a tree P. An example is shown in Figure 17. Each node of tree P is associated with a set of junctions. A node is either a leaf of tree P, or the set of junctions associated with a node is divided into at least one subset. Each such subset forms a child of the node in tree P. Each child is associated with a subset containing at least one junction. For simplicity of explanation, a geographical partition into areas is used, where each area is called a square, and the child nodes are referred to as TopLeft, TopRight, BottomLeft, and BottomRight. The shape of these areas is not limited, and other shapes may be used in other embodiments. Junction partitioning is computed using any relevant method known in the art, such as any clustering method, e.g., (1) Hierarchical Agglomerative Clustering (HAC), (2) Hierarchical methods used in route calculation, e.g., Collapsing Hierarchy (CH) described by Geisberger, Sanders, Schultes, and Delling, "Collapsed Hierarchy: Faster and Simpler Hierarchical Routing in Road Networks," Workshop on Experimental and Efficient Algorithms 2008, (3) Graph partitioning such as PUNCH described by Delling, Goldberg, Razenshteyn, and Werneck, "Graph Partitioning by Natural Cuts," IEEE International Symposium on Parallel and Distributed Processing 2011, (4) Graph summarization approaches such as those described by Liu, Safavi, Dighe, and Koutra, "Graph Summarization Methods and Applications: Survey," ACM Computing Surveys, Vol. 51(3) 2018, (5) An approach described by Jain, Murty, and Flynn: "Data Clustering: A Review," ACM Computing Survey, Vol. 31(3), 1999. The partitions are calculated using any relationship between sets of points, such as shortest path distance, geographical distance, Hausdorff distance, Jacquard exponent, or a multidimensional concept of proximity.
[0056] Tree P represents the minimum structure of process durations. The minimum structure is characterized as follows: Each node e in the tree represents a lower limit of process duration associated with the point associated with node e. Several techniques for determining the lower limit are described in the disclosure. The minimum structure is determined using any method available to those skilled in the art. In one embodiment, the minimum structure is determined as follows: For each junction J, process duration d J→W+S We determine the shortest journey time d from J to workplace W and from J to school S. Each node e has a tag denoted by P(e), which is the shortest journey time d from any junction J included in the set of junctions associated with the node. J→W+S Such a tree P can be constructed in various ways, for example, by first inputting the leaf tags of tree P, then moving up level by level, and setting the node's tag to the minimum value of its child's tags within tree P.
[0057] Similar tree P H I will also build one, but it will be for home use. Tree P H This is a division of the junction. However, d J→W+S Unlike tree P which uses tree P H The journey time from home H to each junction J is d. H→J Use tree P H This also represents the minimum structure of the journey duration. For example, tree P H Each node e has tag P H (e) has the shortest path time d of any junction J included in the set of junctions associated with the node. H→J That is the case.
[0058] Two trees P and P H Any two corresponding nodes have the same related subset of junctions. For example, the children of the root of P, TopLeft, are P H It has the same associated area as the TopLeft child of the root.
[0059] In one embodiment, two trees P and P H Find junctions between them using branch-only search. The goal is d H→J + d J→W+S The goal is to find the junction J that minimizes the sum of the elements. Branch-bound search is performed on tree P. H Traverse P and simultaneously. During the traversal, junction J min and itinerary period D min Maintain. At the start of the traversal, D min Initialize the minimum journey duration to the upper limit (the minimum value will be less than or equal to the upper limit). For example, D min Set to infinity. The traversal uses a search queue. Initialize the search queue at the root of tree P. At each step, the traversal removes node p from the search queue until it is empty. There are two cases. The first case is when node p has an association set consisting of a small number of junctions, or when node p is a leaf of tree P. Next, consider each junction J included in the set associated with node p and the journey duration d through junction J. J = d H→J + d J→W+S D min Consider the case that is shorter than D min d for that process period J Set to J min Set to J, D min and J min Update the TL. In other cases, consider the children of node p in tree P. Without loss of generality, node p has four children and their tags are TL P , TR P BL P , and BR P Let's assume it can be represented as follows. Similarly, tree P H Considering the children of the corresponding node within, TL PH , TR PH BL PH , and BR PHExamine the tags indicated by . Next, decide which of node p's children's traverses to skip. For example, consider the children of TopLeft. TL PH + TL P The sum of these is the minimum duration of a journey that passes through any junction included in the TopLeft square. If the sum is D min If it is larger, skip the traverse of the TopLeft child node of node p. Skip the traverse of other children in the corresponding way. Any children of node p that are not skipped are queued for traverse. When the traversal is complete, the junction found by the search is J min In one embodiment, J min This minimizes the travel time of the "junction-continuation" commute route, D min This is the minimum duration of the journey.
[0060] In the above explanation, the term "tree" was used, and a clear procedure for constructing a tree was provided. This simplified the explanation. However, this construction is not limited, and in one embodiment, the tree is not explicitly constructed.
[0061] In one embodiment, any enumeration search, any tree search, any gradient descent search, or any branch-bound search known in the art may be adapted and used, or a combination thereof may be used.
[0062] Here are some examples of how to apply enumeration search. In one embodiment, the aforementioned prior art disclosure is used, where junctions correspond to sites and workplaces correspond to locations. One application of this is that the travel time between a specific workplace and each of several junctions can be determined. Such pre-calculated uses can then be reused when searching for multiple junctions. In one embodiment, selected specific junctions can be excluded or restricted based, for example, on a convex hull as described above.
[0063] Several examples of adapting tree search are shown. In one embodiment, a tree is constructed using relevant prior art methods, or by excluding or restricting methods of constructing a tree based on a convex hull, for example, as described above, or by constructing a tree that is an approximate shortest path tree. In one embodiment, no tree is explicitly constructed. In one embodiment, a hub label approach is employed. The journey duration is determined based on the direction of travel, from the root of the tree to each forward hub vertex for each forward tree, and from each backward hub vertex to the root of the tree for each backward tree. The journey duration from at least one forward hub vertex to at least one junction vertex and from at least one junction vertex to at least one backward hub vertex are also determined. These journey durations are then used to find the junction vertex that minimizes the sum of the constructive journey durations through the hubs. In one embodiment, the minimum journey duration for a tuple of at least one hub is pre-calculated as described above. In one embodiment, other approaches to the optimal waypoint problem are extended in a similar manner. In one embodiment, the journey duration of at least one graph vertex in at least one tree is pre-calculated, stored in a storage medium before receiving a request, and then the journey duration is retrieved from the storage medium and used during the tree search.
[0064] Several examples of applying gradient descent search are shown. In one embodiment, the search is based on a lower bound of journey duration via J'. For example, if the lower bound of journey duration via a junction is at least the journey duration via J, the calculation of journey duration via junctions near J is skipped. Several techniques for determining the lower bound are described in the disclosure. In one embodiment, the lower bound of journey duration via J is used, rather than the journey duration via J. In one embodiment, the starting junction J is excluded or restricted based on a convex hull, for example, as described above. In one embodiment, the junction J' is excluded or restricted based on a convex hull, for example, as described above. In one embodiment, given the constraint that J' is near J, any of the approaches described in the disclosure is used to find the junction J' that gives the shortest journey duration near J. In one embodiment, a junction partition is used, and the partition is searched, for example, by selecting the partition with the shortest journey duration among the neighborhoods of the partition, or by selecting the partition with the smallest lower bound of journey duration.
[0065] Here are some examples of applying branch-bound search. In one embodiment, the lower bound of the remaining process duration R is calculated and used to decide whether to skip calculating the remaining process duration R. In one embodiment, J min Initialize D to any junction, min Junction J min d of the process H→Jmin + d Jmin→W+S Set to D. In one embodiment, if the lower limit is sufficiently high, skip the child, for example if the lower limit is D min This occurs when the value is greater than the value obtained by subtracting a threshold, such as a 1-minute journey. In one embodiment, traversal is stopped after performing a predetermined number of updates, such as at least one update or a small number of updates. In one embodiment, traversal is stopped after visiting at least a predetermined number of nodes. In one embodiment, the search queue is initialized using nodes at a specific level in tree p. In one embodiment, the nodes in the search queue are ordered based on the lower bound associated with the node, for example, total P(e) + P HBased on (e), for example, a traversal is forced to remove node e from the search queue so that the sum of the nodes is minimized. In one embodiment, in the first case of branch-limited search, any approach described in the disclosure is used to apply the constraint that J is included in the junction associated with node p, so that the process duration d J We compute the junction J that minimizes . For example, we use any approach to the optimal waypoint problem according to such constraints on waypoints. In one embodiment, tree P is reused during branch-limited search of different homes H. In one embodiment, any two trees are merged into one tree by adding lower bounds associated with each corresponding node, for example. For example, P and P H The trees are merged. Then, the branch-limited search traverses the merged tree. In one embodiment, the trees are merged if the merged tree can be reused. In one embodiment, for example, based on the convex hull as described above, the initial junction J min Exclude or restrict children of junction J or node p.
[0066] In one embodiment, the junction is determined by combining any of the methods for determining the junction described in the disclosure.
[0067] In one embodiment, junctions are not explicitly identified in order to determine the duration of the commute route.
[0068] Without departing from the scope and spirit of the embodiments, many other methods for determining the duration of a "junction-to-continue" commute route are obvious to those skilled in the art. 2.2.9 Commuting Route: The reverse direction "Junction - Continuation"
[0069] In one embodiment, the commute route is a reverse "junction-continuation" commute route (an example is shown in Figure 12), where the child travels from school to the junction, the adult travels from work to the junction, and then the adult and child travel together from the junction to home. The duration of the commute route is determined by any method corresponding to the method for determining the duration of the "junction-continuation" commute route. 2.2.10 Commuting route: "Junction - Back"
[0070] In one embodiment, the commute route is a "junction-back" commute route (an example is shown in Figure 9), where, (Description of a double journey) An adult and a child travel together from home to the junction, and then (Description of a single journey) The children continue their journey from the junction to school, while the adults continue their journey from the junction to their homes.
[0071] The duration of a commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of a commute route is the sum of three constituent durations: from home to the junction, from the junction to school, and from the junction back home. In one embodiment, the duration of the commute route is determined by finding a specific junction that minimizes the sum of the durations of the specific home and the specific school. In one embodiment, the designation indicates that the duration between the junction and the school is excluded from the duration of the commute route.
[0072] In one embodiment, an enumeration search is used to find a junction. At least one specific junction is investigated, and the following three constituent journey times are determined: from home to the junction, from the junction to school, and from the junction back home. These three journey times are summed up. Then, the specific junction that minimizes the sum of the specific home and specific school is found. In one embodiment, the enumeration search does not calculate the optimal route from each of several “branching” junctions (e.g., if the junction is the first location on the commute route) to each of at least two points (e.g., if the points are the last location on the commute route), or the enumeration search does not calculate the optimal route from each of at least two points (e.g., if the points are the first location on the commute route) to each of several “connecting” junctions (e.g., if the junction is the last location on the commute route).
[0073] In one embodiment, a tree search is used to find junctions. For example, (a) three shortest path trees are constructed in a graph that models the traffic system based on the direction of travel, i.e., a tree going forward from home, a tree going backward from school, and a tree going backward from home, with each tree having at least one graph vertex journey duration, and (b) the graph vertex that minimizes the sum of the three constituent journey durations in the three shortest path trees is found.
[0074] In one embodiment, a gradient descent search is used to find junctions. Starting from an arbitrary junction J, each step of the gradient descent search determines the next junction based on the lower limit (e.g., minimum) of the travel time of commute routes passing through junctions near junction J.
[0075] In one embodiment, a branch-only search is used to discover junctions. The search tree is a split of junctions. The estimated branches of the tree, anchored to the nodes, are based on a lower bound (e.g., minimum) of the commute route duration, and the junctions are included in the splits associated with those branches.
[0076] In one embodiment, any enumeration search, any tree search, any gradient descent search, any branch-bound search, or a combination thereof is used with necessary modifications in accordance with the teachings of the disclosure.
[0077] Without departing from the scope and spirit of the embodiments, many other methods for determining the duration of a "junction-back" commute route are obvious to those skilled in the art. 2.2.11 Commuting route: The reverse direction "Junction-Back"
[0078] In one embodiment, the commute route is a reverse "junction-back" commute route (an example is shown in Figure 10), where the child travels from school to the junction, the adult travels from home to the junction, and then the adult and child travel together from the junction back home. The duration of the commute route is determined by any method corresponding to the method for determining the duration of the "junction-back" commute route. 2.2.12 Commuting route: "Workplace - Junction," and the reverse direction.
[0079] In one embodiment, the commute route is a "workplace-junction" commute route, where, (Description of a double journey) An adult and a child travel together from home to work, and then (Description of a single journey) The child travels from the workplace to the junction without an adult, and then continues from the junction to school.
[0080] The duration of a commute route is determined using any method available to a person skilled in the art. In one embodiment, the duration of a commute route is the sum of the following three constituent durations: from home to work, from work to the junction, and from the junction to school. In one embodiment, the duration of the commute route is determined by finding a specific junction that minimizes the sum of the specific home, specific work, and specific school durations. In one embodiment, the designation indicates that the duration between the junction and the school is excluded from the duration of the commute route.
[0081] In one embodiment, any enumeration search, any tree search, any gradient descent search, any branching-only search, or a combination thereof is used with necessary modifications, in accordance with the teachings of the disclosure. For example, in the aforementioned disclosure, junctions or schools correspond to sites, and workplaces correspond to locations.
[0082] In one embodiment, the commute is a reverse "workplace-junction" commute, where the child travels from school to the junction, from the junction to the workplace, and then the adult and child travel together from the workplace to home. The duration of the journey is determined in a corresponding manner. 2.3 Other Commuting Routes
[0083] Other types of commute routes are used. In one embodiment, the commute route is any commute route described in the prior art, and the duration of the commute route is determined with necessary modifications in accordance with the teachings of the disclosure of the present invention.
[0084] In one embodiment, the commute route is an aggregation of a first commute route for the journey from home and a second commute route for the journey in the reverse direction to home, where certain entities and certain points coincide. An example based on a kernel commute route is: • "Workplace only, and in the opposite direction" Adults going from home to work, And then (in the opposite direction) I travel from work to home. • "School only, and the opposite direction" Children go from home to school, And then (in the opposite direction) I travel from school to home. • "School - return trip, and the reverse direction" Adults and children together at home They travel from there to school, and then the adults continue traveling from school to home without the children. And then (in the opposite direction) The adult goes from their home to the school, and then the adult and child travel together from the school back home. • "School comes first, and the opposite direction." Adults and children travel together from home to school, and then the adults continue their journey to work without the children. And then (in the opposite direction) The adult goes from work to school, and then the adult and child travel together from school to home. • "Work comes first, and vice versa." Adults and children travel together from home to work, and then the children continue on to school without the adults. And then (in the opposite direction) The child goes from school to work, and then the adult and child travel together from work to home. • "Junction - Continuation, and the reverse direction" An adult and a child travel together from home to Junction J1, and then the child continues from Junction J1 to school, while the adult continues from Junction J1 to work. And then (in the opposite direction) The children travel from school to Junction J2, the adults travel from work to Junction J2, and then the adults and children continue traveling together from Junction J2 to their homes. • "Returning from the junction, and in the reverse direction." An adult and child travel together from home to Junction J1, and then the child continues from Junction J1 to school, while the adult continues from Junction J1 to home. And then (in the opposite direction) Adults travel from their homes to Junction J2, children travel from school to Junction J2, and then both adults and children travel together from Junction J2 back home. • "Workplace - Junction, and the reverse direction" An adult and child travel together from home to work, and then the child travels alone from work to Junction J1, and then from Junction J1 to school. And then (in the opposite direction) The child travels from school to Junction J2, then from Junction J2 to work, and then both the adult and child travel together from work to home.
[0085] The duration of the aggregated commute route is determined using any method available to those skilled in the art. In one embodiment, the duration of the aggregated commute route is determined by adding the duration of the first commute route and the duration of the second commute route, under constraints imposed by entity-point matching. For example, given a commute route of "junction-continue and reverse direction," the duration of the "junction-continue" configuration and the duration of the "reverse direction" configuration are determined for a specific home, a specific school, and a specific workplace, and these are added together. In one embodiment, this means that junction J1 can be optimized independently of the optimization of junction J2, thereby simplifying the optimization process.
[0086] In one embodiment, the commute route includes at least one additional point. For example, a child goes from home to school, then to piano lessons, and then returns home. In another example, an adult drives from home to another parking lot and then walks to work. In yet another example, an adult travels from school to additional point A, then to another point B, and then to school. In yet another example, after the child boards the school bus, an adult goes to another supermarket and then returns home. Each of these additional points is specified, provided, or free in the itinerary constraints along the commute route. In one embodiment, at least one specific point is listed as a free additional point when determining the itinerary duration of the commute route. The itinerary duration of the commute route is determined using any method available to those skilled in the art. In one embodiment, the additional point creates an additional constituent itinerary duration. In one embodiment, the additional constituent itinerary duration is added when determining the itinerary duration of the commute route. 2.4 Variant
[0087] In one embodiment, requirements are used to avoid calculating the travel time for some points if, for example, the points do not meet the requirements (e.g., the area of the house is too small). Similarly, in one embodiment, requirements are used to avoid calculating the travel time between some points if, for example, the points do not meet the requirements (e.g., between the house and the school, the school's rank is too low compared to the price of the house). In one embodiment, the calculation of the travel time is avoided if the travel is not feasible.
[0088] In one embodiment, at least one tree is pre-calculated and stored in a storage medium before a request is received, and then at least one tree is retrieved from the storage medium and used during processing of the request. In one embodiment, the tree is reused when calculating the journey duration for each of several points. In one embodiment, a portion of the tree is pre-calculated, stored, retrieved, used, or reused.
[0089] In one embodiment, a representative of the tree is used. In one embodiment, the tree is a hierarchical division of points within a geographical area, where this hierarchy is guided by inclusion relationships. In one embodiment, the tree has a small number of levels, and each internal node fan out to a small number of children. For example, the tree has 9 levels and the number of nodes is 1 × 1 = 4. 0 , 2 × 2 = 4 1 , 4 × 4 = 4 2 ..., 128 × 128 = 4 7 , 256 × 256 = 4 8 In this case, the total number of nodes in the tree is (1-49) / (1-4) = 87,381. If the geographical area is a 100 km × 100 km square, and each area is evenly divided into four squares, then in a 9-level tree, the leaf level will correspond to a 390 m × 390 m square. In real-world scenarios, such a size is often sufficient to ensure that points are sufficiently independent at the leaf level of the tree. In one embodiment, the tree is stored in a contiguous area of a storage medium, the root is associated with index 0, and given a node with index x, the index of the last child of that node is determined as 4(x + 1). The indices of any other tree fanout are determined in a similar manner. In one embodiment, the tree is stored in reverse order. In one embodiment, the journey duration is represented using any computer encoding of numerical values known in the art. For example, the journey duration is represented in seconds and stored as uint16_t in a 2-byte storage medium. One such nine-level tree uses a 170KB storage medium. In one embodiment, the process duration is represented at a granularity of minutes and stored as a 4-byte float on the storage medium. Many other examples of how to represent the tree will be apparent to those skilled in the art without departing from the scope and spirit of the embodiment.
[0090] In one embodiment, points are filtered based on a request. For example, the request might only request top-ranked schools. In such a case, in one embodiment, the search is appropriately adjusted to focus on the filtered points. For example, when searching a tree with points hierarchically divided, if there are no filtered points in the child nodes, the descent to the child nodes is skipped. For example, if none of the associated schools are top-ranked schools, the descent to the child nodes is skipped. In one embodiment, point division is used after filtering, for example, a hierarchical division of such points. For example, a tree is constructed that contains only top-ranked schools.
[0091] Some of the gradient descent and branch-and-bound searches used in our method may not minimize the travel time of the commute route if the search is stopped midway, for example, if the search gets stuck at a local minimum. 2.5 Response
[0092] Next, this method responds to the request with the results of a search or comparison obtained using at least one journey duration of at least one commute route included in the request. The results are generated according to an optimization goal. In one embodiment, this method generates the results by calculating and using a description of at least one journey, rather than at least one journey duration. In one embodiment, the results include any information obtained by this method about any point, any information obtained by this method about any transportation system, or any expression or suggestion of such information that is consistent with the interpretation of a person skilled in the art. For example, the results may include information that no point was found.
[0093] In one embodiment, the method selects several specific points that are closest to achieving the optimization goal. This is useful, for example, when you want to determine an alternative, such as the closest alternative school to a particular home. Such closest points are selected using any method available to a person skilled in the art. For example, maintaining a top-k data structure while examining the selections during the search. In one embodiment, the method considers a range of values for the optimization function and selects several specific points for each range depending on the optimization goal. This is useful, for example, when you want to find a home with a short commute time or a home with a long commute time. Such range points are selected using any method available to a person skilled in the art. For example, filtering selections within the range being searched.
[0094] In one embodiment, a request is stored in a storage medium, and the method then uses the request to generate at least one result and responds with this at least one result. This is useful, for example, when monitoring the real estate market over a long period and wanting to immediately report a home that suits a prior request to the user associated with that request when it becomes available. In one embodiment, results are generated in response to further requests. For example, a previous request is received that includes at least one commute route and the request. The previous request is then stored in a storage medium. Later, a new request is received. The method then responds to the additional request using the search or comparison results obtained using the previous request retrieved from the storage medium.
[0095] Any additional methods describing how the results are generated will be further described by the requirements.
[0096] In one embodiment, the disclosed method of the present invention performs variations of the functions or steps described in the present disclosure. In one embodiment, some of the functions or steps are performed in a different order, partially simultaneously, or some of the functions or steps are combined or omitted. Many other ways of performing variations of the functions or steps will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. In one embodiment, the method uses any such variations. 2.6 General Search or Comparison
[0097] In one embodiment, the method receives a request including characteristics of an optimization problem including the following. · Sequences P1,..., P m , F1,..., F<� n , where each P i is a given specific point and each F i identifies a free point, and where m ≧ 0 and n ≧ 0 · Constraint C indicates how to select a specific point F i for each F i · Optimization function V assigns a value to any sequence of specific points P1,..., P m , F1,..., F n · Optimization goal G indicates which value of V and which specific points are sought. In one embodiment, m ≥ 1 or n ≥ 1. In one embodiment, for any i, the number of specific points that can be selected for a free point Fi is at least a predetermined threshold, or at most a predetermined threshold such as threshold 2 or threshold 1000. In one embodiment, C represents at least one commute route or requirement. In one embodiment, V represents the length of at least one commute route. In one embodiment, any C, V, or G is independent of others. In one embodiment, any C, V, or G depends on others. In one embodiment, the features include any embodiment described in the disclosure. The features may exclude predefined embodiments, for example, as in the case of a prior request, or to ensure patentability with respect to the prior art. Next, this method examines the selection of at least one specific point according to constraint C. In one embodiment, this selection is examined using enumeration search, tree search, gradient descent search, or branch-limited search. Then, this method determines the value of V for a sequence of at least one specific point. In practice, this method identifies zero or more such selections according to objective G. Finally, this method responds to the request with zero or more such selections, or representative of the relevant value of V. In one embodiment, the steps include any embodiment described in the disclosure. These steps may exclude pre-defined embodiments, for example, based on a prior request or to ensure patentability with respect to the prior art. Examples of requests and responses are shown in Figure 18.
[0098] Efficiently solving optimization problems is fundamentally difficult, for example, because the scope of optimization problems includes NP-hard journey salesman problems (TSP) and NP-hard vehicle route problems (VRP). Our method aims to solve optimization problems in several practical examples. 2.6.1 Kernel Integration
[0099] In one embodiment, the commuting route includes at least one kernel commuting route in which specific entities match and specific points match. For example, the commuting route shown in FIG. 13 includes the commuting route shown in FIG. 11, and further includes the commuting route shown in FIG. 12, where: · The adult in FIG. 11 is the same as the adult in FIG. 11 · The child in FIG. 11 is the same as the child in FIG. 12 · The workplace W1 in FIG. 11 is the same as the workplace W2 in FIG. 12 · The school in FIG. 11 is the same as the school in FIG. 12 · The home in FIG. 11 is the same as the home in FIG. 12 · However, the junction J1 in FIG. 11 may not be the same as the junction J2 in FIG. 12.
[0100] Other examples include: (1) the commuting route shown in FIG. 14, which includes the commuting route shown in FIG. 9 and further includes the commuting route shown in FIG. 10, and has one child and one adult or two adults; (2) the commuting route shown in FIG. 15, which includes the commuting routes shown in FIGS. 7, 8, 11, and 12, and has two adults, one child, one school, one home, and two workplaces; and (3) the commuting route shown in FIG. 16 includes two commuting routes shown in FIG. 7, each commuting route includes an additional point J, and further includes two commuting routes shown in FIG. 8, and includes two adults, two homes, two workplaces, and one junction; the junction J in FIG. 16 can be interpreted as a restaurant, where two adults gather for breakfast before work.
[0101] Some kernel commuting routes may be prohibited from being included in the commuting route, for example, in the case of previous requests or to ensure patentability with respect to the prior art. 2.6.2 Optimization Plan<000090A simple solution to the optimization problem is to select and evaluate each combination of free points. However, any free points can be selected in various ways, and this simple solution is too costly for large problem instances. In one embodiment, when the number of combinations is sufficiently small, the optimization problem is solved by thoroughly evaluating all combinations. In one embodiment, before receiving a request, at least one rule is pre-computed, and each rule matches an example of the optimization problem with its solution. The solution is pre-computed using any method available to those skilled in the art. When a request containing a specific example of the optimization problem is received, a matching one is found among at least one rule and its solution is used. However, the solution based on this rule fails for problem instances that do not match any of the at least one rule.
[0103] Generally, in one embodiment, an optimization plan is created that can simplify the optimization problem. The optimization function may have an additive structure in the sense that for k ≧ 2, V(x) = V1(x1) + V2(x2) +... + V k (x k ) where this x can be easily obtained from x1,..., x k and where each V i (x i ) can be optimized independently or simultaneously, and where each V i (x i ) may be easier to optimize than V(x). When referring to the problem of optimizing V i (x i ), the term optimization sub-problem is used. In one embodiment, a degenerate case with k = 1 is permitted.
[0104] A possible simplification arises from the following observation. If a free point D is disconnected from other free points D', i.e., if there is no direct journey between D and D' on at least one commuting route (a direct journey does not pass through any points), then such a D is such a V i (x iThis results in a desired disconnection. Unfortunately, the desired disconnection may not exist in at least one designated commute route. However, sometimes the desired disconnection can be forced by making several free points unavailable.
[0105] This process is illustrated using the commute route shown in Figure 13. Assume that W is provided and H, S, J1, and J2 are free. After selecting specific H and specific S, it is found that the contribution of free J1 to the duration of the commute route is usually independent of the contribution of free J2. (Sometimes, J1 is not actually independent of J2, for example, when there is a relationship between arrival and departure times.) Due to independence, the optimization plan can be executed by enumerating at least one specific H and at least one specific S, finding the optimal specific J1 for at least one specific pair, and independently finding the optimal specific J2 according to constraint C. In this way, the necessary additional structure is realized. Conversely, if specific H and specific J2 are selected, but J1 and S are left free, there is a direct path from J1 to S, and therefore a change in the selection of specific J1 may affect which specific S is optimal. And in this way, the necessary additional structure is missing.
[0106] The problem of discovering additional structures relates to a combinatorial optimization problem called the maximum independent set. In one embodiment, we consider a graph G representing at least one commute route (illustrated in Figure 13), and find the minimum set N of free vertices, so that they are not free, and then the remaining two free vertices are not connected by direct journey edges (free vertices and contributed vertices are allowed to be connected by direct journey edges). Each of the remaining free vertices presents an optimization subproblem. In one embodiment, the set N does not need to be the minimum size. The remaining free vertices form an independent set in the graph obtained from graph G by removing the contributed vertex. In one embodiment, we find the set N of free vertices using any algorithm that computes independent sets, such as an algorithm that computes the maximum independent set, or an approximation algorithm such as, or any heuristic. For example, we can use any combinatorial optimization algorithm reported in Garey and Johnson's "Computers and Intractability: A Guide to the Theory of NP-Completeness" (WH Freeman & Co. 1990).
[0107] More generally, of the remaining free vertices, f ≥ 1 may form a configuration connected by direct path edges, but not connected to any other remaining free vertices by any direct path edges. In one embodiment, the configuration is minimal in terms of inclusion. This corresponds to V i This means that f free points (such as J1 and S in Figure 13) need to be jointly optimized. In other words, the degree of dependence is reflected in the value of f. In one embodiment, an additional structure with f ≥ 1 is discovered using any method available to those skilled in the art, for example, by using a conventional combinatorial optimization algorithm or by using a heuristic.
[0108] It is explanatory to define a route-dependency relationship for at least one commute route. X and Y are route-dependent if at least one commute route includes a direct route between free point X and free point Y. If X and Y are route-dependent and Y and Z are route-dependent, then X and Z are route-dependent. Note that by definition, route-dependency relationships are symmetric and transitive. Furthermore, route-dependency relationships must be minimal relationships. In one embodiment, the problem of finding an additional structure f ≥ 1 can be considered as a problem of modifying the free states of at least one commute route to achieve a particular transitive configuration of route-dependency relationships. For example, the goal is to make fewer changes and achieve a small configuration.
[0109] More generally, it identifies approximate additional structures. In one embodiment, this means determining x such that the optimal values of V(x) and V are separated by at most the distortion, where V1(x1) + V2(x2) + ... + V k (x k Optimize the values of x1, ..., x k Discovered x1, ..., x kThe process involves using a step that simply obtains x from . We demonstrate a process for identifying approximate additional structures by observing them while examining specific points during the execution of the optimization plan, and by occasionally skipping some specific points while controlling the change in the optimal value. The process is further illustrated through the commute route shown in Figure 13. Assume that H, J1, and J2 are free. Furthermore, assume that H can be selected in only two ways, either as specific H1 or as specific H2. And assume that the shortest journey time between H1 and H2 is at most d. Then, given a selection of specific points in the commute route, if H2 is selected instead of H, we find that replacing H2 in the selection with H1 does not change the journey time of the commute route by more than 2d. Thus, the disadvantages of not selecting H2 for H are limited. In one embodiment, a step is used to identify an approximate additional structure, which includes: (1) determining two specific points H1 and H2 from among the points that can be selected as a free point H in at least one commute route, so that the travel time between H1 and H2 is at most a threshold, e.g., 200 meters or 1 minute; and (2) skipping the investigation of selections to choose H2 for H during the execution of the optimization plan; in practice, another specific point replaces H2. In one embodiment, clustering is used to identify an approximate additional structure. Any free point H in at least one commute route is examined. Then, at least one cluster of points selected for the free point H is determined using any clustering method based on travel time. Also, during the execution of the optimization plan, the investigation of selections to choose members of the cluster for H is skipped, but the investigation of selections to choose a specific representative r of the cluster for H is examined. Such substitution introduces distortion in the approximation, that is, in a graph representing at least one commute route, the number of direct path edges related to H is distorted by the representative r, d. r It becomes the number obtained by multiplying by . If the representative r is the centroid, the strain d ris the radius of the cluster. In one embodiment, the approximate strain is enhanced by individually counting the strain introduced by each direct stroke edge incident on H. In one embodiment, such substitution is considered when the strain of the approximation is at most a threshold (e.g., a stroke of 200 meters or 1 minute). In one embodiment, the approximate additive structure is identified using any method available to those skilled in the art, such as a heuristic. The approximate additive structure can be thought of as a sparsification approach.
[0110] The total cost of executing the optimization plan depends on the cost of finding the additional structure and the cost of optimizing the additional structure. In one embodiment, costs are minimized. In one embodiment, costs are not minimized. Furthermore, sometimes there are constraints on the choice of which free points to restrict. For example, one might not want to restrict a home because one wants to find a home for each range of the journey duration, or one might not want to restrict a school because one wants to find the closest alternative school to a particular home, or one wants to limit the distortion caused by the approximation to a threshold at most. In one embodiment, constraints are used. In one embodiment, no constraints are used. In one embodiment, it is arbitrarily decided which free points to restrict or restrict. In one embodiment, the optimization subproblem is the same as the optimization problem (i.e., k = 1). Generally, we create an optimization plan using any approach available to those skilled in the art, based on some of the teachings of the disclosure, such as the teachings contained in paragraphs
[0102] to
[0110] , for example, by using conventional operations research algorithms or heuristics. The optimization plan may exclude pre-defined embodiments, for example, based on prior requests or to ensure patentability with respect to prior art. 2.6.3 Optimization of Subproblems
[0111] Here, V iWe focus on the optimization subproblem of optimizing f. Several optimization approaches for the case f = 1 have already been described, including enumeration search, tree search, gradient descent search, and branch-bound search. Next, we describe optimization approaches for the general case f ≥ 1.
[0112] After the name change, without losing generality, the optimization subproblem can be described as follows: (1) F1, ..., F f is a free point, and f ≥ 1 (2) F f+1 ,..., F n Some of these are not free, and (3) F f+1 ,..., F n Any of the free points must be on at least one commute route F1, ..., F f The free points and direct routes between them are not connected. The above description of the optimization subproblem is determined by any method available to those skilled in the art, based on how the optimization plan was created. This is done, for example, by traversing a graph representing at least one commute route, or by identifying the route-dependency components. In one embodiment, f = 1, f ≥ 2, f = n, f < n, or f < n-1. In one embodiment, F1, ..., F f There is no direct route between any two of them.
[0113] For 1 ≤ j ≤ f, D J F j This set D is a set of points connected by a straight line. j It consists of the following three types of points: (1) F1, ..., F f some of (2) F provided f+1 ,..., F n Some of these, set them R j Represented by (3) F was free but is no longer freef+1 ,..., F n Some of these, set N j It is represented as follows. Set D j This does not include other points. In one embodiment, R j is empty, N j is empty, R j N is not empty. j is not empty, R j There is only one point, N j There is only one point in R. j There are at least 2 points, or N j There are at least 2 points to this.
[0114] Free points F1, ..., F f is V i This is the target of optimization. For this purpose, several types of searches are described below. Depending on the manner in which the optimization plan is executed, each N j For each point within (each R j The points have already been specifically provided.) It can be further assumed that specific points have already been selected.
[0115] In one embodiment, an enumeration search is used. We examine at least one tuple according to constraint C, where each tuple (F1, ..., F f ) consists of a sequence of specific points, where each specific F j is the corresponding F j For this reason, it is selected. For at least one such tuple, determine the duration of the journey in at least one commute route: (1) F x and F y If there is a direct path between them, then for any 1 ≤ x ≤ f and any 1 ≤ y ≤ f, F x The specific Fx selected for F y The specific F selected for y Between (2) For any 1 ≤ j ≤ f, a specific F j And, R j ∪Nj Between at least one specific point within it. These configuration steps are used to create the V of the tuple. i Determine the value of . Then find a tuple that satisfies the optimization goal G. Repeat the enumeration search as needed. Then find zero or more tuples (F1, ..., F) that satisfy the optimization goal G. f ) will be decided.
[0116] In one embodiment, a tree search is used. Consider a graph that models a traffic system. Each vertex of this graph is a specific F j This represents the selection of . According to constraint C, there is at least one j such that 1 ≤ j ≤ f, and R j ∪ N j For at least one specific point E within the map, use a graph to show E and F in at least one commute route. j Based on the direction of movement between them, construct a shortest path tree with E as the root. According to constraint C, examine at least one tuple, where each tuple (F1, ..., F f ) consists of a sequence of specific points, and each specific F j is the corresponding F j Selected for: For at least one such tuple, determine the duration of the journey in at least one commute route: (1) F x and F y If there is a direct path between them, then for any 1 ≤ x ≤ f and any 1 ≤ y ≤ f, F x The specific Fx selected for F y The specific F selected for y During (2) By obtaining the relevant journey duration from the shortest path tree, a specific F can be obtained for any 1 ≤ j ≤ f. j And, R j ∪N j Between at least one specific point within it. These configuration steps are used to create the V of the tuple. iDetermine the value of . Then find a tuple that satisfies the optimization goal G. Repeat tree search as needed. Then find zero or more tuples (F1, ..., F) that satisfy the optimization goal G. f ) will be decided.
[0117] In one embodiment, gradient descent search is used. According to constraint C, any tuple of specific points (F1, ..., F f It starts from ). Then the search repeats the following steps until it stops. According to constraint C, tuple(F1, ..., F f A tuple of specific points near ) (F'1, ..., F' f ) is determined, and here, the tuple (F'1, ..., F' f ) best satisfies the optimization goal G. If the tuple (F'1, ..., F' f If ) improves the optimization target G, then (F1, ..., F f ) to (F'1, ..., F' f Set to ) and continue the search. Otherwise, stop the search. Then find a tuple that satisfies the optimization goal G. Repeat the gradient descent search as needed. Then find zero or more tuples (F1, ..., F) that satisfy the optimization goal G. f ) will be decided.
[0118] In one embodiment, branch-bound search is used. For each 1 ≤ j ≤ f, point F j Tree representing the division T j Construct a tree. Use any embodiment to compute the partitions described in the disclosure of this invention. A tree may use a different partition than the one used in other trees. In one embodiment, a tree is constructed according to constraint C. The tree is traversed simultaneously. A search queue stores tuples of the tree's nodes. Initialize the search queue with a tuple of the tree's root. Also, V, for example, infinity. min V iInitialize to the upper limit of the value. In each step, until the search queue becomes empty, remove the tuples from the search queue. Denote the removed tuples as (p1,..., p f ). There are two cases. The first case is when each node p j is a leaf of the tree T j , or when the node is composed of a small number of specific points according to the constraint C. In this case, determine the construction travel period of at least one commuting route between the following endpoints according to the constraint C. (1) For any 1 ≤ x ≤ f and any 1 ≤ y ≤ f, if there is a direct travel between F x and F y , and F' x is included in the node p x , and F' y is included in the node p u , then for at least one specific F' x selected for F x , and at least one specific F' y selected for F y , and (2) For 1 ≤ j ≤ f, when F' j is included in the node p j , between at least one specific F' j and at least one specific point within R j ∪N j . Use these construction travel periods to determine the value of V f for at least one such tuple (F'1,..., F' i ). If the value V i is smaller than V min , set V min to the value V i , set (F1,..., F f ) to (F'1,..., F' f ), and update V min and (F1,..., F f ). In other cases, for each node p within the tree T j j Consider the children of n1, ..., f For ) tuple (n1, ..., n f ) is decided whether to skip. For this purpose, a tuple (n1, ..., n f )'s V i Determine the lower bound L for the value of . The lower bound L relates to at least one portion of the journey duration of a commute route, i.e., the portion of the journey between the following endpoints: (1) For either 1 ≤ x ≤ f and 1 ≤ y ≤ f, F x and F y There is a direct route between them, F' x node n x Included in F' y node n y When included in F x For at least one specific F' selected x And, F y For at least one specific F' selected y Between; and (2) For 1 ≤ j ≤ f, F' j node N j If included, at least one specific F' j And, R j ∪N j It is between at least one specific point within it. Several methods for determining the lower limit L are described in the disclosure (see, for example, Section 2.6.4). min In the above cases, the tuple (n1, ..., n f ) are skipped. Tuples that are not skipped are queued for traversal. Then, tuples that satisfy optimization goal G are found. Branch-limited search is repeated as needed. Then, zero or more tuples (F1, ..., F) that satisfy optimization goal G are found. f ) will be decided.
[0119] In one embodiment, the optimization sub-problem is solved using any method available to those skilled in the art. For example, any enumeration search, any tree search, any gradient descent search, any branch-limited search may be used, or any search may be adapted as described above, or a combination thereof may be used, in accordance with the teachings of the present invention. 2.6.4 Lower limit L
[0120] Here, we focus on determining the lower limit L of at least one commute route. This lower limit relates to at least one portion of the commute route, F1, ..., F f This represents a step associated with any of the following, where each endpoint F j Node N j Only specific points included in the list can be selected. Several embodiments for determining the lower limit have already been described in the disclosure of the present invention.
[0121] In general, one of several methods is used to determine the lower bound L. To simplify the explanation of how the lower bound is determined, consider a simple commute route from A to B to C, where A can be selected from {a1, a2}, B can be selected from {b1, b2}, and C can be selected from {c1, c2}. However, this simplification is not limiting. Any technique is used to determine the lower bound in the general case in any way that a person skilled in the art can use. One method involves enumerating at least one instance and calculating the minimum journey duration of the instance, or calculating the minimum lower bound of the journey duration of the instance. However, the number of instances is exponential. For example, there are 8 = 2 · 2 · 2 instances of a simple commute route. Thus, this method can be costly. Another method approximates the part with a chain along the direction of travel within the part. For example, create source vertices and use zero-weighted edges to make each source vertex a i Connect to it. Also, create target vertices and use zero-weighted edges to make each c i Connect to the target vertex. Then, use the edge with the weight of the journey duration between 2 to make each a i each bj Connect to each b i each c j Connect to the source vertex. Next, calculate the shortest path from that source vertex to its target vertex. Then, set the lower bound to the length of the shortest path. Another method approximates the part with at least one chain. Another method approximates the part with at least one minimum spanning tree (MST) and sets the lower bound using the weights of each MST. Another method sets the lower bound based on the geographical distance of a straight line, for example, by adding the distance from A to B to the distances to B and C, and dividing each by a speed such as the average speed. Another technique relaxes the shape of the part so that the journey from A to B can be separated from the journey from B to C. For example, instances are a1→b1 and b2→c1. Such relaxation allows the use of additive properties, meaning the lower bound is the sum of the partial lower bounds, (1) the lower bound for the journey duration from A to B, plus (2) the lower bound for the journey duration from B to C. Each partial lower bound has few instances, and therefore, in some cases, the cost may be underestimated. However, relaxing the shape makes the lower limit less strict. Other methods approximate the process duration of parts. For example, (1) position a representing {a1, a2} r (2) Position b representing {b1,b2} r (3) Position c representing {c1, c2} r The positions are determined, and in this way these positions distort the journey duration in a controlled manner. Such positions can be calculated using any clustering method, such as the centroid. Then, each instance of a simple commute route is a r → b r → c r This approximates it as follows: Thus, the lower limit is (1) a r from b r (2) b r from c r The minimum duration of the journey up to (3) a r , b r , c rIt is the sum of the distortions in process duration caused by the location. Another method considers each pair of endpoints of the processes included in the part, determines a representative near each endpoint, calculates the process duration between the two representatives, and then uses this process duration to set a lower bound. Another method considers each pair of endpoints of the processes included in the part, determines the meeting hub of the processes between the endpoints, calculates the process duration between the meeting hub and each endpoint, and then uses the process duration to set a lower bound. Another method considers each pair of endpoints of the processes included in the part, examines the contraction hierarchy, determines the shortcut of the pair, calculates the process duration of the shortcut, and then uses the process duration to set a lower bound. Another method uses the relevant prior art in any way available to a person skilled in the art. In one embodiment, the arts are combined, or one method is used on a fragment of the part and another on another fragment. Many other examples of using these methods to determine the lower bound L will be obvious to a person skilled in the art without departing from the scope and spirit of the embodiment.
[0122] The general method will be further explained through a detailed example. The lower bound L is L = L internal + L external It is convenient to decompose it into a sum, where L internal This is any free point (i.e., F1, ..., F f Restricted to direct routes between (either of) L external This is an arbitrary free point and an arbitrary non-free point (i.e., ∪_{j=1}^{f}(R j ∪ N j It is limited to direct routes between any of the following:
[0123] First, the lower limit L external We will focus on the tree T. j Point F j Recall that this represents a partition of F. In one embodiment, the same partition is used to represent F j Then, a tree is constructed representing the journey between specific points identified by at least one commute route. For this purpose, Rj ∪ N j Consider specific point X within the map. At least one commute route is from X to F. j If there is a direct path to tree T, then use a split to build the tree. The tree is formed from X to tree T. j This represents the lower bound of the journey time to a set of various specific points associated with a node. Specifically, the tree represents the minimum structure, and each node e in the tree has a tag, which is from X to the tree T corresponding to node e. j Any specific point F included in the node j This is the lower limit of the journey period up to P. X→Fj Represented as such, the tag of node e in the tree is P X→Fj (e) is represented as follows: If at least one commute route is in the opposite direction, F j If there is a direct path from to X, then the same partition can be used to create the "reverse" tree P Fj→X Construct a tree and tag it accordingly. Construct such a tree for at least 1 j such that 1 ≤ j ≤ f. Construct such a tree using the relevant embodiments described in the disclosure. In one embodiment, the tree is constructed according to constraint C, where tuples (n1, ..., n) f This reminds me of ). Tuples are F1, ..., F f This represents a restriction on how to select specific points for each of them. The lower bound of the tuple L is determined by simply summing the relevant tags across all relevant direct steps in at least one commute route, as follows: external It can be established. L external (n1, ..., n f ) = Σ_{j=1}^{f} Σ_{Xε(R j ∪ N j )} ( Σ_{Direct path X→F j} P X→Fj (n j ) + Σ_{Direct path F j →X} P Fj→X (n j ) )
[0124] Next, the lower limit L internal Let us focus on this. In one embodiment, this lower limit is the free points F1, ..., F as follows. f This is the sum of the lower limits of direct journeys in at least one commute route between the two points. L internal (n1, ..., n f ) = Σ_{1≦x,y≦f} Σ_{direct path F x →F y} L Fx→Fy (n x ,n y ) Therefore, for a specific x and a specific y such that 1 ≤ x ≤ f and 1 ≤ y ≤ f, F x From F y Focusing on the direct journey of 1 to , the lower limit L of the journey duration of that direct journey. Fx→Fy (n x ,n y It is sufficient to focus on ), and here, endpoint F x is node n x Limited to specific points included in endpoint F y is node n y It is limited to the specific points included.
[0125] In one embodiment, the distance between endpoints can be adequately approximated by the shortest distance. An example scenario is when the distance is on foot. In either case, tree T x Point F x Recall that this represents a partition of a tree T. In one embodiment, such a partition represents hierarchical clustering, where the cluster radius decreases as you descend the hierarchy. Such a partition can be computed using any clustering method. y This also represents this type of division.x is node n x This represents the cluster radius, d y is node n y This represents the cluster radius. Due to the shortest path properties, any selection Fx can be used to select any selection F y The shortest journey time to at least node n x From the centroid, node n y From the shortest path time to the center of gravity, the distortion (d x + d y It must be the value obtained by subtracting ). Determine the lower limit L' of the shortest path time between pairs of centroids using any technique for determining the lower limit described in the disclosure, and then the lower limit L Fx→Fy (n x ,n y ) to, L'-(d x +d y Set to the value of ). In one embodiment, a lower bound between at least one pair of centroids is pre-calculated and stored in a storage medium before the request is received, and then the pre-calculated lower bound is retrieved from the storage medium and used during request processing, rather than calculating the lower bound after the request is received. More generally, in one embodiment, a representative of the cluster is used instead of the centroid of the cluster, and the strain introduced by the representative is used instead of the radius of the cluster.
[0126] In one embodiment, the journey between endpoints cannot be adequately approximated by the shortest path. Examples include cases where students travel by school bus, and the school bus meanders through a residential area, or where two schools have separate bus networks that cannot be connected. In any case, in one embodiment, the tree T x and T y A tree T representing the minimum structure on pairs of nodes within Fx→Fy Construct this minimum structure. x From the node T y This includes the lower limit of the journey time to the node. In one embodiment, the minimum structure is determined as follows: Tree T x £ of leaves x and Tree T y£ of leaves y We begin from there. Then, using any technique to determine the lower limit described in the invention disclosure, £ x From any specific point included in £ y Calculate the lower limit of the journey time to any specific point included in the map. The lower limit is tagged T Fx→Fy (£) x ,£ y Assign it to ). Then move up the tree and calculate the lower bound and tag for each node pair, for example, T x Noko and T y This is done by obtaining the smallest lower bound over all pairs that consist of children of the tree T. Fx→Fy Node (n x ,n y ) Tag T Fx→Fy (n x ,n y ) Lower limit L Fx→Fy (n x ,n y Set ). In one embodiment, calculate the lower bound of a limited collection of node pairs, for example, only nearby nodes. In one embodiment, a tree T according to constraint C. Fx→Fy This is constructed. In one embodiment, the lower bounds of at least one set of nodes are pre-calculated and stored in a storage medium before a request is received, and then the pre-calculated lower bounds are retrieved from the storage medium and used during request processing, rather than calculating the lower bounds after the request is received. 2.6.5 Sparsification
[0127] In one embodiment, an approach is used in which some of the specific points are replaced with specific representatives. This can reduce the number of choices that need to be considered, because specific representatives are considered rather than each of the multiple specific points. One such approach was described in Section 2.6.2 above. Another such approach is described below.
[0128] We will consider various solutions to the optimization subproblem, but will ignore for the time being how the solutions were computed. Regarding representative solutions, we will consider several options. ∪_{j=1}^{f} (R j ∪ N j Consider any specific point P within ). Then, in at least one commute route, P and a free point F within 1 ≤ i ≤ f. i The specific F selected for i Any direct journey PF between i Let's consider this. There are two cases. Case A: Straight path PF i The representative R passes through. In this case, the solution can be easily obtained by solving the adjusted subproblem, where (A1) at least 1 commute route from PF i Remove the direct route to (A2) Representatives R and F i Add the corresponding direct journey between (A3)P and representative R to at least one commute route, and adjust the optimization function to compensate for the deleted journey between (A3)P and representative R. Case B: Direct journey PF i No representative passes through. In this case, the solution is easily obtained by solving the adjusted subproblem, where (B1) from at least one commute route, the direct route PF i Delete (B2) F i F i By selecting F i Make them non-free, and (B3)P and F i Modify the optimization function to compensate for the deleted steps in between. Furthermore, P and F are determined by how representatives are determined. iWhen the two endpoints are sufficiently far apart, then it is found that the shortest path between the two endpoints must pass through a representative. Thus, if the direct path between the two endpoints is sufficiently long, the solution is expected to encounter case A. Furthermore, by applying adjustments to each direct path associated with P, P can be removed from the subproblem while adding some specific representatives, making some free points non-free, and adjusting the optimization function. In one embodiment, compensation is not performed in step (A3) or in step (B3). The adjusted subproblems are F1, ..., F f We maintain invariants for operations on several free points, which are subsequences of the function, and note that these subsequences may be connected by direct paths to several representatives. This invariant condition makes recursion possible.
[0129] From the above observations, the sparsification approach shown in Figure 19 is derived. Consider the sequence S of free points in the current subproblem. The sequence S is F1, ..., F f It consists of several of the following. In the current subproblem, select an arbitrary specific point P. Then, P and F in sequence S. i Each direct step PF between i Regarding (1) Representative R near P i,1 ,..., R i,ri Identify the representative, and the representative depends on the journey and its direction, here r i (2) F is near P and ≥ 0. i Specific points you can choose from F i,1 ,..., F i,fi Identify f i ≥ 0. In either case, any concept of close as described in the disclosure is used. In one embodiment, r i ≥ 1, f i ≥ 1, or r i + f iTo ensure ≥ 1, use a sufficiently large neighborhood. In one embodiment, it is determined that case A does not occur, and then step (1) is skipped, r i Set to zero. In one embodiment, it is determined that case B does not occur, and then step (2) is skipped, f i Set r to zero. i and f i is a specific direct process PF i It is determined in the context, and if you want to emphasize the context, use r i [PF i ] and f i [PF i The notation ] is used. Next, at least one adjusted subproblem is generated. Each adjusted subproblem combines the adjustments arising from its respective direct process as follows: (1) P and any F in sequence S i Each direct journey PF between i Regarding r i [PF i Add one specific representative of ] and use the corresponding direct process to make it F i Connect to, or f i [PF i Select point 1 of the specific points in ] and proceed as follows: F i (2) Remove P and adjust the optimization function based on any removed direct steps between P and specific points outside the sequence S. In one embodiment, the optimization function in step (2) is not adjusted. The number of adjusted subproblems thus generated is Π_{F i ε Sequence S Π_{Direct path PF i} (r i [PF i ] + f i [PF i ]) Then, each adjusted sub-problem is solved recursively. The recursion is stopped at any stage. The basic recursive sub-problem is solved using any method available to those skilled in the art. For example, any approach described in the disclosure is used, such as obtaining a pre-calculated solution. Then, the solution that best suits the optimization goal is selected. In one embodiment, the aforementioned disclosure is used, where P corresponds to a location and F i The points you can choose from correspond to several sites. For example, each representative and F i The description of the journey between each selectable point is calculated in advance. This is because the request is F i This is useful when filtering some of the points that can be selected, because the pre-computation of 1 can be reused when generating the results of any kind of filtering. At first glance, (r i +f i Multiplication involving (r) leads to the exponential increase of the subproblem. However, (r i + f i The value of ) is often actually small, resulting in many useful commute routes having shallow recursion depths. Therefore, exponential growth is usually controllable in practice. Also, recursion can be naturally parallelized.
[0130] In general, the sparsification approach uses the above observations in any way available to those skilled in the art. Some examples of its use are given below.
[0131] In one embodiment, the commute route includes a direct path between a free point F and a free point F'. For example, at least one commute route specifies the path from home to work. In one embodiment, the above observation can be applied, where F is F iIt functions as, and here, the specific point F' selected for F' functions as P. As a result, r' specific representatives near F' are determined, and also f' specific points near F' are determined, which are selectable for F. Different selections of F' result in different sets of representatives. However, these sets may overlap. Symmetrically, the above observation can be applied, where F' is F i It functions as such, and here, the specific point F selected for F functions as P. As a result, adjusted subproblems can be generated, each subproblem corresponding to a direct path between a specific point selected for F and a nearby specific point selected for F', and adjusted subproblems can be generated, each subproblem corresponding to a direct path between a nearby specific representative of the specific point selected for F and a nearby specific representative of the specific point selected for F'. Due to overlap, the number of individual subproblems is at most the square of the number of nearby F and F' pairs plus the number of representatives. In general, the above observation can be applied if, in a corresponding way, the commute route contains k ≥ 2 free points and there is at least 1 direct path between pairs of free points.
[0132] In one embodiment, the commute route includes a direct path from a specific point S to a free point F, and then to a specific point T. For example, at least one commute route identifies the optimal waypoint problem. In one embodiment, the above observation can be applied, where S acts as P and F is F i It functions as follows: This allows r near S s A specific representative has been decided, and f near S that can be selected for F s This also results in the determination of specific points. Symmetrically, the above observation can be applied, where T functions as P and F is F i It functions as follows: This allows r near T T A specific representative has been decided, and f near T that can be selected for F T Specific points are also determined. As a result, the following three types of adjusted subproblems are generated, (1) fs Sub-problems, each sub-problem corresponds to a direct path from a specific point near S selected for F to T, (2) f T Sub-problems, each sub-problem corresponds to a direct path from S to a specific point near T selected for F, and (3) r s ·r T Each subproblem corresponds to a journey from a specific representative near S to a free point F, and then to a specific representative near T. The total number of generated adjusted subproblems is f s + f T + r s ·r T In one embodiment, at least one solution to a subproblem of type (3) is pre-calculated and stored in a storage medium before a request is received, and then the pre-calculated solution is retrieved from the storage medium and used during request processing. Due to duplication, the number of individual subproblems is at most the number of nearby S and F pairs, the number of nearby T and F pairs, plus the square of the number of representatives. In general, the above observation can be applied if, in a corresponding manner, the commute route includes free points and a number of specific points k ≥ 1, and there are direct routes between each specific point and the free point.
[0133] In one embodiment, the above observation can be applied in a corresponding manner when the commute route includes several free points connected by several direct routes between them, where each free point may be connected by several direct routes to several specific points. This case corresponds to the description of the optimization subproblem above.
[0134] In one embodiment, the commute route includes a direct path between a specific point P1 and a specific point P2. For example, at least one commute route specifies a path from a given starting position to a given target position without any free points. In one embodiment, the above observation can be applied, where P1 functions as P and P2 is F iIt functions as follows. As a result, r1 specific representatives near P1 are determined, and it may also be determined that P2 is near P1. Symmetrically, the above observation can be applied, where P2 functions as P and P1 is F i This functions as follows: As a result, r2 specific representatives that are close to P2 are determined, and it may also be determined that P1 is close to P2. This generates 1 adjusted subproblem corresponding to the direct path between P1s that are close to P2, and each subproblem generates r1·r2 adjusted subproblems corresponding to the direct path between specific representatives that are close to P1 and specific representatives that are close to P2. In total, a maximum of 1 + r1·r2 adjusted subproblems are generated. Due to overlaps, the maximum number of individual subproblems is the square of the number of pairs of nearby P1s and P2s and the number of representatives.
[0135] There is a correlation between the sparsification approach described above and certain routing methods prevalent in the industry. In the basic case, if at least one commuter route specifies only the journey from a given starting point to a given target point, the sparsification approach can be thought of as similar to a routing method based on representatives of two specific sides. This routing method is described, for example, in claim 1 of U.S. prior art patent 8,417,409, and this method is also described in numerous prior art documents. Thus, our sparsification approach can be seen as a generalization of a common routing method. This generalization allows for more complex journeys than just a simple journey from a given starting point to a given target point, and also allows for more freedom in providing several endpoints. Isn't that interesting?
[0136] The sparsification approach may exclude pre-defined embodiments, for example, based on prior requests or to ensure patentability with respect to prior art.
[0137] In one embodiment, the optimization sub-problem is solved using steps including: (1) determining at least one representative to replace at least one free point according to any sparsification approach described in the disclosure; and (2) performing a search through at least one representative rather than specific points that can be selected for at least one free point, the search using an optimization function according to the sparsification approach. For example, the above r s ·r T A branch-only search is performed on the representative pairs. In one embodiment, all free points are replaced. In another embodiment, not all free points are replaced. In one embodiment, two sparsification approaches are combined, for example, by replacing some specific points with cluster representatives, but other specific points with representatives.
[0138] In one embodiment, any approach to sparsification and any approach to the disclosure of the invention are combined using any method available to those skilled in the art. 2.6.6 Variants
[0139] In one embodiment, the method solves an instance of the optimization problem described in the disclosure of the present invention using any enumeration search, any tree search, any gradient descent search, any branch-bound search, or any combination thereof, in accordance with the teachings of the disclosure of the present invention. In one embodiment, the method solves an instance of the optimization problem using any approach available to those skilled in the art, based on the teachings of the disclosure of the present invention, e.g., any heuristic, or any prior art operations research algorithm, e.g., any combinatorial optimization algorithm, or any approach reported in Bodin and Golden: "Classification in Vehicle Routing and Scheduling", Networks, Vol. 11(2) 1981. In one embodiment, any first approach of the disclosure of the present invention is used as part of any second approach of the disclosure of the present invention by appropriately decoupling any first approach of the disclosure of the present invention and renaming the interface between the two approaches. For example, in a sparsification approach, branch-bound search is used to solve a tuned sub-problem, or in any method using representatives, smoothing of the disclosure of the present invention is used. In one embodiment, the method may exclude any pre-defined method for resolving any pre-defined instance of the optimization problem, for example, as in the previous request, or in order to ensure patentability with respect to the prior art. Many other methods for solving the optimization problem are apparent to those skilled in the art without departing from the scope and spirit of the embodiment. 3. Computer systems and devices
[0140] Embodiments of the present invention include computer systems. These computer systems may be hardware embodiments, software embodiments, or a combination of both. A computer system includes at least one processor, such as a CPU or GPU. A computer system includes storage media such as non-temporary computer-readable storage media, volatile memory, non-volatile memory, or databases. The storage media stores one or more programs executed by at least one processor. One or more programs include instructions executed by at least one processor to perform at least one step of the method described in the disclosure of the present invention. In one embodiment, the instructions are expressed in any programming language, such as C++, Java, or JavaScript. In one embodiment, one or more programs use the storage media to store or retrieve information about at least one point or information about at least one traffic system. In one embodiment, the computer system includes at least one network component used by one or more programs to receive information from a data source or to transmit information to a data sink. In one embodiment, its use relates to receiving or transmitting in a particular manner. Any such computer system can be considered a general-purpose computer specifically programmed to implement a particular method described in the disclosure. Therefore, in practice, a computer system is a special-purpose computer programmed to perform specific steps of a method according to instructions from software (one or more programs) that encodes the method. In one embodiment, at least one or all parts of the computer system are in a physical or tangible form. In one embodiment, at least one or all parts of the computer system are in an intangible or non-physical form. Many other embodiments of the computer system will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. Each method disclosed in the present invention includes any embodiment of a computer system that implements the method.
[0141] Embodiments of the present invention include a device. This device can be embodied as a physical device, an interactive computer service, a smartphone application, a web page, a washing machine under Article 11 of New Zealand, or a software-controlled device, where the software implements the methods described in the disclosure and punches search or comparison results behind a patent examiner who has lied to force the applicant to unnecessarily limit the scope of the claims. An exemplary representation of the device is shown in Figure 18. It will be apparent to those skilled in the art that the presentation of the device can be modified (e.g., rearranged, resized, changed in color or shape, added or removed in components, etc.) without departing from the scope and spirit of the embodiments. The device receives requests from a user via a “receiver,” such as a user interface of a smartphone application, for example, where the user can provide a work address by typing into a search box, provide a work location by tapping a map displayed in the smartphone application, describe a work location by speaking to a voice recognition engine, or input GPS readings encoding a work location. In one embodiment, the receiver receives any information contained in the request described in the disclosure. The device then generates results using any method described in the disclosure. In one embodiment, the results are generated by a computer system that implements the method. The apparatus then transmits the results to the user via a “transmitter,” such as a display in a smartphone application, a speech synthesizer (e.g., by speaking to the user), augmented reality lenses contained in glasses worn on the user's head, a Jedi Knight 3D projector, or a boxer's glove. It will be apparent to those skilled in the art that the present invention is not limited to one type of apparatus, nor to one type of receiver or transmitter. In one embodiment, at least one or all parts of the apparatus have a physical or tangible embodiment. In one embodiment, at least one or all parts of the apparatus have a non-physical or non-tangible embodiment.Many other embodiments of the apparatus will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. Each method disclosed in the present invention includes embodiments of any apparatus that implement the method. 4. Interpretation of Claims
[0142] Each claim shall be interpreted in accordance with the following principles: "Principles of claim interpretation" In consideration of the detailed description of the invention and the drawings, the broadest reasonable interpretation by a person skilled in the art is given.
[0143] This principle suggests that if Embodiment E of the claim is excluded from patentability, a person skilled in the art would not consider Embodiment E to be a reasonable interpretation of the claim within the specific jurisdiction in which this patent application is filed, and therefore, a person skilled in the art would not consider Embodiment E to be included in the interpretation of the claim within that jurisdiction. Embodiments that are not patentable within the jurisdiction are implicitly excluded from the scope of the claim. Embodiments that are not patentable within the jurisdiction are not included in the scope of the claim.
[0144] For example, consider the jurisdiction of Canada. Therefore, the following statement regarding a patent application filed in Canada is incorrect: the invention described in the claims of the patent application is subject to non-patentable subject matter.
[0145] For example, consider the jurisdiction of the European Patent Convention. The following embodiments, as defined in Article 52 of the European Patent Convention, are excluded from patentability within the jurisdiction: “Article 52 Patentable inventions ... (2) In particular, the following shall not be considered inventions in the sense of paragraph 1: (a) Discoveries, scientific theories, mathematical methods (b) aesthetic creations; (c) Schemes, rules, methods, and computer programs for conducting mental activities, games, or businesses. (d) Presentation of information. (3) Paragraph 2 shall exclude the patentability of the subject matter or activity only to the extent that the European patent application or European patent relates to the subject matter or activity itself. (https: / / www.epo.org / law-practice / legal-texts / html / epc / 2020 / e / ar52.html) Any such embodiment as defined in Article 52 of the European Patent Convention is therefore implicitly excluded from the scope of each claim of a patent application filed with the European Patent Office.
[0146] Those skilled in the art will notice that various modifications can be made or replaced with essentially equivalents without departing from the scope and spirit of the embodiments. Furthermore, specific circumstances can be adapted to the teachings of the present invention without departing from the scope and spirit of the embodiments. Thus, although the present invention has been described with reference to the disclosed embodiments, the present invention is not limited to these embodiments. Rather, the present invention includes all embodiments that fall within the scope of the claims, in accordance with the above-mentioned "principles of interpretation of claims."
[0147] For example, a person skilled in the art knows how to create a “method of manufacture” in the sense of antitrust law as used by the Australian Patent Office for every part of every claim. Therefore, any method of any claim includes any embodiment that realizes a “method of manufacture” in accordance with the above “principles of claim interpretation.” For example, a person skilled in the art also knows how to create a “technical feature” in the sense of the European Patent Convention for any part of a claim. Therefore, any method of any claim includes any embodiment that realizes a “technical feature” in accordance with the above “principles of claim interpretation.” In general, a person skilled in the art knows how to create any patentable embodiment of a claim within a jurisdiction. Therefore, any method of any claim within a jurisdiction includes such a patentable embodiment in accordance with the above “principles of claim interpretation.”
[0148] It is regrettable that so much space in the invention disclosure is needed to counter the actions of certain patent examiners who object to unpatentable subject matter and force applicants to unnecessarily restrict the scope of their claims. Such patent examiners are aware that the claims include numerous patentable embodiments. Nevertheless, such examiners force applicants to exclude some of the patentable embodiments. Such examiners may employ deceptive tactics, such as simply declaring that the applicant's arguments (such as those described above) are unconvincing and effectively avoiding addressing the arguments specifically. Such examiners may employ even more audacious and deceptive tactics, such as simply declaring that they have addressed the arguments, even though it is clear that they have ignored them. Given that patent examiners are sufficiently intelligent, there is reason to believe that they are filing objections in bad faith to facilitate the theft of intellectual property within a particular jurisdiction or to force applicants to pay the costs of appeals, hearings, and lawsuits. In particular, it is inappropriate for patent examiners to use the European Magic Convention to deceive applicants into unnecessarily limiting the scope of their claims by faking objections and removing several steps in the claims. In particular, it is inappropriate for the Director General of the Patent Office to lie to cover up a colleague's previous lies and to deceive an applicant into paying $70,000 for an appeal to the Australian High Court.
[0149] Not all patent offices are inherently corrupt. On July 11, 2022, the Japan Patent Office (JPO) issued an opposition regarding non-patentable subject matter in patent application JP2021-51052. In response, the applicant stated on August 9, 2022: "In summary, claim 1 includes embodiments that (a) use hardware and (b) do not use human activity. No reasonable person would add non-patentable embodiments to the scope of claim 1. Therefore, the applicant has determined that the Japanese examiner's opposition is unacceptable." In response, the JPO granted patent JP 7181562 on November 22, 2022. The applicant appreciates the JPO's sincere response. At the end of paragraph 5
[0150] Prior art referenced in the disclosure of this invention is understood to be general knowledge of the art, and those skilled in the art possess such knowledge.
[0151] In claims, prior grounds are sometimes enclosed in boxes: boxed terms in claims are used later as dotted-line boxed terms.
[0152] We include a glossary of selected phrases within the claims and provide references in the specification as examples. These references are not intended to be exhaustive, and other references may exist. The sequence of phrases in that table is intended to follow the order that appears within the scope of the bill. JPEG0007848956000001.jpg202166JPEG0007848956000002.jpg201166JPEG0007848956000003.jpg21166
Claims
[Claim 1] A method for searching for or comparing "at least two points" using a route within a "transportation system," the method comprising: (a) Receiving a “request” which includes “at least one commute route” and comprises an optimization problem including “identifying the route” within the “transportation system,” Here, the "specification of the route" includes "at least one free point," each of which is arbitrarily selected in at least two ways from among the "at least two points." (b) Determine the “free point H” included in the “at least one free point” and “specific point H 1 "Specific points H" that can be separated from " 2 The "specific point H" is determined, and each is selectable for the aforementioned "free point H", and in this way the "specific point H" is determined 1 " and the aforementioned "Specific Point H 2 The length of the journey between " is at most the threshold, (c) For the "free point H" mentioned above, the "specific point H" mentioned above 2 Solve the aforementioned "optimization problem" by using an approach that skips the investigation of any selection of " Here, the optimization goal included in the "optimization problem" depends on the "description of at least one route" within the "transportation system" of the "at least one commute route", and (d) Respond to the "request" with the results of a search or comparison obtained using the "description of at least one step".
Citation Information
Patent Citations
Method for arranging target
JP2001134659A
Intelligent Recommendation Method, Recommendation Device, Storage Medium and Equipment for Apartment Complex
JP2016538670A
Information processing apparatus, boarding vehicle adjustment method, and boarding vehicle adjustment program
JP2020009320A
Information processing device, information processing method, and information processing program
JP2021096796A
Method and apparatus for searching or comparing sites using route or route distance between site and location of traffic system
JP2021103566A