Methods for searching or comparing points using travel of entities
The method addresses the challenge of efficiently comparing and optimizing commuter routes and location selection in traffic systems by using optimization techniques to analyze and respond to commuting route requests within the transport system.
Patent Information
- Application Number
- JP2025005490
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-02-23
- Filing Date
- 2025-01-15
- Publication Date
- 2025-04-23
- Estimated Expiration
- 2043-03-31
AI Technical Summary
Existing systems lack an efficient method for comparing and searching multiple points in a traffic system based on the itinerary of entities, particularly in optimizing commuter routes and identifying suitable locations like homes, schools, and workplaces.
A method that involves receiving requests for commuting routes, determining the description of paths within the transport system, and responding with search or comparison results using optimization techniques such as enumeration search, tree search, gradient descent search, or fork-only search.
This method enables efficient comparison and optimization of commuter routes, allowing for the identification of suitable locations that minimize travel time and meet specific requirements, thereby improving route planning and location selection.
Smart Images

Figure 2025066756000001_ABST
Abstract
Description
[Background technology]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application is based on and claims the priority date of the following applications: [Country] [Application number] [Application date] United States 63 / 328,293 2022.4.7 United States 63 / 447,650 2023.2.23 These are incorporated by reference herein as if fully set forth.
[0002] The present invention has the objective of searching or comparing points between several points in a transportation system, based on the journey of an entity.
[0003] Similar objectives have been explored in the prior art non-patent literature: Abraham, Dehling, Fiat, Goldberg, and Werneck: "HLDB: Location-Based Services in Databases," International Symposium on Advances in Geographic Information Systems, 2012; and Dehling and Werneck: "Customizable Point-of-Interest Queries in Road Networks," IEEE Transactions on Knowledge and Data Engineering, Volume 3(27), 2015. These papers discuss related problems and approaches such as the optimal via point problem, the ride-sharing problem, the POI prediction problem, the k-closest POI problem, the k-best via problem, hub labels, single-hub indexing, double-hub indexing, multi-level overlay, customizable route planning, single-source indexing, and double-source indexing.
[0004] Similar objectives are also discussed in prior art patent documents such as US 4870576, US 8417409, US 9195953, US 10533865, KR 101692501, JP 2006221565, CN 104240163, etc.
[0005] Similar objectives are also contemplated 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, recorded on April 7, 2022 as Record No. 1 and filed on the same day. Specifically, Record No. 1 shows some of the following websites related to journey-based real estate search: 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 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, recorded on February 23, 2023 as Record No. 2 and filed on the same day. Specifically, Record No. 1 identifies some of the following websites related to journey-based real estate search: 5i5j.com, zu.fang.com, house.focus.cn from China; athome.co.jp, homes.co.jp, suumo.jp from Japan; realty.daum.net, new.land.naver.com from Korea; foxtons.co.uk, rightmove.co.uk, zoopla.co.uk from the UK; and redfin.com, zillow.com from the US. Summary of the Invention
[0006] We present a simplified summary of the invention to give the reader some insight into some aspects of the subject matter claimed. This summary is not intended to be an overview of the understanding, nor is it intended to fully delineate 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 to read for those skilled in the art. The reader is referred to the detailed disclosure of the invention.
[0007] Aspects of the present invention include the following methods. 1. A method for searching or comparing at least two points using journeys in a transportation system by at least two entities, the method comprising: (a) receiving a request comprising at least one commute route; i. wherein a commute route included in the at least one commute route includes an identification of a journey within the transportation system by two or more entities included in the at least two entities; ii. wherein said identifying identifies a path between at least one pair of points included within said at least two points; iii. wherein the at least one set includes at least one junction; and iv. wherein each junction included in said at least one junction identifies a plurality of entities that move into or out of said junction, and each of said plurality of entities is included in said two or more entities; (b) determining a description of at least one leg of the at least one commute route within the transportation system; and (c) responding to said request with search or comparison results obtained using said at least one journey description. 2. A method for searching or comparing at least three points using an itinerary in a transportation system, the method comprising: (a) receiving a request comprising an optimization problem including at least one commute route; i. wherein each commute route in the at least one commute route identifies a journey within the transportation system between at least a pair of points in the at least three points; (b) solving said optimization problem using an approach that includes: i. Enumeration search ii. Tree Search iii. Gradient descent search iv. Branch-and-bound search; or v. Operations research search; wherein an optimization goal included in the optimization problem depends on a description of at least one journey of the at least one commute route within the transportation system; and (c) responding to said request with search or comparison results obtained using said at least one journey description. 3. A method for searching or comparing at least three points using an itinerary in a transportation system, the method comprising: (a) receiving a request comprising an optimization problem including at least one commute route; i. wherein each commute route in the at least one commute route identifies a journey within the transportation system between at least a pair of points in the at least three points; and ii. wherein each of the one or more free points included in the at least one set is arbitrarily selected in at least two ways among the at least three points; (b) determining at least one point N among the one or more free points, leaving each point N free, and determining at least one point F among the remaining free points; wherein 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) solving said optimization problem using an approach that includes: i. for each of the at least one point N, selecting a specific point; and ii. for each of the at least one point F, solving an optimization sub-problem contained in the optimization problem by selecting a specific point; wherein an optimization goal included in the optimization problem depends on a description of at least one journey of the at least one commute route within the transportation system; and (d) responding to said request with search or comparison results obtained using said at least one journey description. 4. A method for searching or comparing at least two points using a journey in a transportation system, the method comprising: (a) receiving a request comprising an optimization problem including identifying a journey in the transportation system between a point P and a free point F, the free point F being selected arbitrarily in at least two ways, the journey including at least one commute route and between the at least two points; (b) determining, proximate said point P, i. at least one nearby representative; or ii. at least one nearby point among said at least two points; (c) generating an adjusted sub-problem based on the optimization problem by removing the process specification, and instead: i. adding a coordinated path specification between the free point F and a nearby representative included in the at least one nearby representative; or ii. identifying a nearby point to be selected for said free point F, where said nearby point is included in said at least one nearby point; (d) solving the optimization problem using an approach that includes solving the adjusted subproblems; wherein an optimization goal included in the optimization problem depends on a description of at least one journey of the at least one commute route within the transportation system; and (e) responding to said request with search or comparison results obtained using said at least one journey description. 5. A method for searching or comparing at least two points using an itinerary in a transportation system, the method comprising: (a) receiving a request comprising an optimization problem including at least one commute route and including identifying a journey within the transportation system; wherein the process specification includes at least one free point, each of which is arbitrarily selected in at least two ways between the at least two points; (b) determining a free point H included in the at least one free point, and1 Specific points that can be distinguished from H 2 , each of which is selectable for the free point H, so that the specific point H 1 and the specific point H 2 The length of the path between is at most a threshold, (c) for said free point H, said specific point H 2 Solving said optimization problem using an approach that skips the exploration of any selection of wherein an optimization goal included in the optimization problem depends on a description of at least one journey of the at least one commute route within the transportation system; and (d) responding to said request with search or comparison results obtained using said at least one journey description.
[0008] Embodiments of the present invention also include computer systems and apparatus for implementing any of the above methods.
[0009] The embodiments of the invention set forth in this disclosure are for illustrative purposes only; they are not intended to be exhaustive. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments.
[0010] In this description, the terms "first", "second", "said", and the like are not used in any limiting sense, but for the purpose of distinction where the context is not otherwise clear. Unless otherwise clear from the context, singular terms include plural terms. Unless otherwise clear from the context, plural terms include the singular. Unless otherwise clear from the context, the terms "have", "include", "comprise", and the like indicate the presence of an element or feature and do not exclude other elements or features from being present or added. The terms "method", "approach", "search", "algorithm", "process", and the like suggest an act or behavior that defines the manner or process of making or using an invention or part of an invention, and these terms may be used synonymously. [Brief description of the drawings]
[0011] The drawings included in this disclosure illustrate various features and advantages of several embodiments of the present invention. Figure 1 shows examples of commuting routes: from home (0101) to school (0102) by children (0105) and from home (0101) to work (0103) by adults (0104); and vice versa; from school (0102) to home (0101) by children (0105) and from work (0103) to home (0101) by adults (0104). Figure 2 shows examples of commute routes: (0205) is a route taken by a child (0204) and an adult (0203) together from home (0201) to school (0202); (0206) is a route taken by an adult (0203) from school (0202) to home (0201); (0207) is a route taken by an adult (0203) from home (0201) to school (0202); and (0208) is a route taken by a child (0204) and an adult (0203) together from school (0202) to home (0201). Figure 3 shows an example of a commuting route: a child (0305) and an adult (0304) together from home (0301) to school (0302), and then from school (0302) to work (0303) by the adult (0304); and vice versa; from work (0303) to school (0302) by the adult (0304), and then from school (0302) to home (0301) by the child (0305) and the adult (0304) together. Figure 4 shows an example of a commuting route: a child (0405) and an adult (0404) together from home (0401) to work (0402), and then from work (0402) to school (0403) by the child (0405); and vice versa; from school (0403) to work (04302) by the child (0405), and then from work (0402) to home (0401) by the child (0405) and the adult (0404) together. Figure 5 shows an example of a commute route: from home (0501) to school (0502) by a child. Figure 6 shows an example of a commute route: from school (0602) to home (0601) by a child. Figure 7 shows an example of a commute route: from home (0701) to work (0702) by an adult. Figure 8 shows an example of a commute route: from work (0802) to home (0801) by an adult. · Figure 9 shows an example of a commuting route: a child and an adult together from home (0901) to junction (0902), and then from junction (0902) to school (0903) by the child, and from junction (0902) to home (0901) by the adult. · Figure 10 shows an example of a commuting route: from school (1003) to junction (1002) by a child, and from home (1001) to junction (1002) by an adult, and then from junction (1002) to home (1001) by adult and child together. · Figure 11 shows an example of a commute route: a child and an adult together from home (1101) to a junction (1102), and then from the junction (1102) to work (1103) by the adult, and from the junction (1102) to school (1104) by the child. FIG. 12 shows examples of commute routes: from school (1203) to junction (1204) by a child, and from work (1202) to junction (1204) by an adult, and then adult and child together from junction (1204) to home (1201). · Figure 13 shows an example of a commute route: children and adults together from home (1301) to junction (1302), children from junction (1302) to school (1303), adults from junction (1302) to work (1304), and then children from school (1303) to junction (1305), adults from work (1304) to junction (1305), and then children and adults together from junction (1305) to home (1301). · Figure 14 shows example commute routes: child and adult together from home (1401) to junction (1402), then from junction (1402) the adult goes to home (1401), from junction (1402) the child goes to school (1403), then from school (1403) to junction (1404), the adult goes from home (1401) to junction (1404), then both adult and child go from junction (1404) to home (1401). Fig. 15 shows an example of a commute route: children and adults together from home (1501) to junction (1502), then children from junction (1502) to school (1504), adults from junction (1502) to work (1503), then adults from work (1503) to home (1501), then children from school (1504) to junction (1506), adults from home (1501) to work (1505), then adults from work (1505) to junction (1506), then children and adults together from junction (1506) to home (1501). FIG. 16 shows an example of a commute route: an adult (1606) from home (1601) to junction (1603), then an adult (1606) from junction (1603) to work (1604), then an adult (1606) from work (1604) to home (1601), then an adult (1607) from home (1602) to junction (1603), then from junction (1603) the adult (1607) to work (1605), then an adult (1607) from work (1605) to home (1602). FIG. 17 shows an example of a minimal structure of two trees splitting junctions, where node (1701) is tagged with 5, which is the minimum journey duration from home (1705) to any junction in the area associated with node (1701), node (1702) has a smaller tag of 4 due to a smaller minimum journey duration, node (1703) is tagged with 5, which is the minimum sum of the 2 constituent journey durations minimized across any junction in the area associated with node (1703) from junction to school (1706) plus from junction to work (1707), and node (1704) has a larger tag of 9 due to a larger minimum sum in 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). FIG. 18 shows an example of a user interface of a device receiving a request specifying real estate (1801), workplace (1802), school (1803), commute route (1804), (1805) requirements, where adult T1 travels to an offered workplace W1, child L2 travels to an offered school S2, adult T2 travels to a freely selected workplace, which workplace must match the specified resume (1802), child L1 travels to a freely selected school, which school must match the specified exam results (1803), and child L1 travels to the school with the adult (1804), in response the device shows the results of the search or comparison including a commute route itinerary description (1806), the duration of the itinerary (1807), information about the selected home (1808), the selected school (1809), and the selected workplace (1810), and a representation of the information as benefits (such as salary minus rent) (1811); and Figure 19 shows an example of sparsification: A subproblem S contains a commuting route from a concrete P to a free point F to a concrete Q; the free point F has a concrete F, 1 ,F, 2 , or F, 3You can choose one of the following points; near P, you can choose a specific F, 1 There is one concrete representative R near P; 1 and R, 2 The recursive sparsification step generates three refined subproblems: (1) a concrete R, 1 (2) a coordinated subproblem M1, which contains the commuting route from a free point F to a concrete point Q, 2 (3) a refined subproblem M2 that includes a commuting route from a free point F to a specific point Q, 1 The next step is to determine the commuting route from Q to the specific Q.
[0012] The drawings are for illustrative purposes only. Other drawings will be readily recognized by those skilled in the art and may illustrate the invention without departing from the principles of the present embodiment.
[0013] The invention has a general purpose of searching or comparing points between several points in a transportation system based on an optimization goal using the journey of at least one entity. However, for ease of explanation, we first depict the invention through a narrower form of a real estate search engine, where: the points include: home, work, or school; and where the entities include: at least one adult, each adult's commute to work, or at least one child, each child's commute to school, and people who accompany the adult during the commute to school. However, this depiction is not limiting. Those skilled in the art will realize that the invention relates to the general purpose without departing from the scope and spirit of the embodiment. In the following, we will describe the invention through a broader embodiment. 1. Prologue
[0014] We use the term point in a broad sense consistent with the interpretation of that term by a person of ordinary skill in the art. Points include within their scope points of interest (POIs) common in the art. Any point has a location. A location may or may not be static. A point can just be a location. Examples of points include: geographic location, real estate, home, work, school, private school, public school, school gate, school door, building door, work door, business gate, public transportation stop, transportation stop, bus stop, school bus stop, subway station, airport, vehicle stop, vehicle boarding / dropping point, transfer point, road intersection, sidewalk intersection, 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 center, bank, ATM, government office, crime report, police station, military base. Many other examples of points will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. In the present disclosure, any of the examples of points may be listed, but in one embodiment, it should be understood that we mean a general point. For example, even if we list "home," we mean a point. Listing specific examples makes it easier to distinguish the terms. In one embodiment, a point represents a cluster of nearby points, such as within 1000 meters or within a one-minute journey. For example, the point is the center of a cluster. In one embodiment, a point represents a location that frequently occurs within the shortest journey from a particular point, or a location that frequently occurs within the shortest journey to a particular point if the journey is in the opposite direction. Such specific points may be home, school, work, etc.Such locations are sometimes called representatives, and their locations can be calculated using prior art techniques, such as: "transit stations" as described in US 8417409; "global stations" as described in US 8756014; "hubs" as described in Gavoille, Peleg, Perennes, and Raz, "Distance Labeling in Graphs," Journal of Algorithms, Vol. 53 2004; "carefully selected points" as described in Sommer, "Shortest Path Queries in Static Networks," ACM Computing Surveys, Vol. 46(4) 2014; or "sparse shortest path hits" as described in Abraham, Delling, Fiat, Goldberg, and Werneck, "Highway Dimension and Provably Efficient Shortest Path Algorithms," Journal of the ACM, Vol. 63(5) 2016. set" and the like. In one embodiment, point P is interpreted using at least one point associated with point P. For example, home is interpreted as any transportation stop near home, or school is interpreted as the school gate, or school is interpreted as any school bus stop, or work is interpreted as any parking lot near work. In one embodiment, the journey duration between point P and location Q is determined using the journey duration through such associated points, or as the journey duration between such associated points and location Q. Although the disclosure of the present invention may enumerate points, in one embodiment, the points should be understood to represent any embodiment enumerated in the paragraph.
[0015] In the present invention, the term "journey" is used in a broad sense consistent with the interpretation by a person of ordinary skill in the art. The term has a meaning including 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, shopping baskets, etc. Many other examples of entities will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the embodiments. Any of the examples of entities may be listed in the present disclosure, but in one embodiment, it should be understood to mean entities in general. For example, we list "adults" but actually mean entities. Listing specific examples makes it easier to distinguish the terms. A journey description is anything that a person of ordinary skill in the art would so term. Here are some examples of journey descriptions: (1) "Hey, go one block north and turn left" and (2) "It's $5." Journey length is a numerical value that one skilled in the art can associate with a journey, such as: the monetary cost of the journey; the metric distance; fuel consumption; a particular feature or attribute in a journey description, such as the number of transfers or walking distance. As another example, one might use the term "journey duration" to mean the journey length in time. Journey length is itself a journey description. Journey description: may not include journey length, may include only journey length, or may include other data as well.
[0016] In the present invention, the term transportation system is used in a broad sense consistent with the interpretation by one of ordinary skill in the art. Some embodiments include road and automobile systems, public transportation systems including buses and subways, systems of walking paths, airports, airplanes, airways, or ships and waterways. A transportation system that moves data is an example of a transportation system, such as a computer network, and includes wires / lines / fibers (equivalent to roads) and hubs / switches (equivalent to stops / turns) configurations or transportation elements. A transportation system may or may not physically move things. Any combination of transportation systems that allows for movement between them is a transportation system. Many other examples of transportation systems will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments.
[0017] The present disclosure provides for determining a description of a journey between two endpoint locations in a transportation system using any method available to one of skill in the art, for example, using a prior art shortest path algorithm such as Dijkstra's algorithm, Bellman-Ford algorithm, A*, etc., on a graph that models the transportation system; using a shortest path approximation algorithm; using any prior art method for calculating a route, such as any of the approaches described in Bast, Delling, Goldberg, M¨uller-Hannemann, Pajor, Sanders, Wagner, Werneck: “Route Planning in Transportation Networks”, Algorithm Engineering: Selected Results and Surveys, 2016; or using any of the methods of our prior invention disclosures: PCT / US2019 / 017909, PCT / US2021 / 029024, or PCT / US2021 / 065165, for example, where the locations of the two endpoints correspond, in any order, to the sites and locations, or source and target locations, listed in the preceding invention disclosure. In one embodiment, we determine a description of a plurality of journeys using any one-to-many or any batched shortest path method known in the art, such as, for example, Delling, Goldberg, Werneck, "Fast Track Batched Shortest Paths in Road Networks," 2011 11th Workshop on Algorithmic Approaches for Traffic Modeling, Optimization, and Systems, or any of the above-mentioned prior invention disclosures, and then use the relevant such journey descriptions in the relevant parts of our method, thereby allowing one to reuse a plurality of times. In one embodiment, the method of the present invention determines the minimum journey length between any two endpoint locations. However, when it is said that the journey length is minimized, it should be understood that in one embodiment, the journey length is not minimized when, for example, a shortest path approximation algorithm or heuristic is used to calculate the minimum journey length between two endpoint locations.
[0018] In the present invention, the term pre-computation is used in a broad sense consistent with the interpretation of the term by those skilled in the art. In one embodiment, the method pre-computes a journey description for at least one set of endpoint locations, stores it in a storage medium before receiving a request, and then retrieves the pre-computed journey description from the storage medium and uses it during the request processing, rather than computing the journey description after receiving a request. In one embodiment, the method pre-computes fragments of the journey description, stores them in a storage medium, and uses them later. This can be done in a variety of ways. In one embodiment, the method determines a coarsened graph, which is obtained from a graph modeling a traffic system using any graph coarsening approach known in the art. In one example, the edges of the coarsened graph are shortcut graph edges determined using the approach described by Geisberger, Sanders, Schultes, and Delling: "Reduced Hierarchy: Faster and Simpler Hierarchical Routing in Road Networks", Workshop on Experimental and Efficient Algorithms 2008. In another example, a coarsened graph is obtained using any graph summarization approach known in the art, such as those described in the survey paper by Liu, Safavi, Dighe, and Koutra: "Graph Summarization Techniques and Applications: A Survey", ACM Computing Surveys, Vol. 51(3) 2018. Then, a description of a journey in the transportation system between two endpoint locations is computed by considering a path in the coarsened graph and combining at least one fragment of a journey description along that path, such as two shortcuts, or two edges in the graph summary. Thus, in one embodiment, precomputation is simply an activity performed before request processing to make the request processing more efficient.
[0019] In the present invention, the term search or comparison is used in a broad sense consistent with the interpretation by a person of ordinary skill in the art. For example, the method searches for a home, workplace, or school that minimizes journey time. For example, the method compares two homes based on journey time, two schools based on journey time, two workplaces based on journey time, two homes with similar journey time based on price, two schools with similar journey time based on school ranking order, or one workplace with less than one hour commute time based on job compensation. The term includes within its scope route planning in navigation engines such as Google Maps, for example, where the start and end of a route correspond to endpoints of a journey description. The term also includes within its scope delivery planning in delivery systems such as Amazon, FedEx, Meituan, for example, where the location of a sorting facility and the delivery location of a courier correspond to endpoints of a journey description. The term also includes within its scope real estate planning for businesses, for example, determining the location of a business based on an employee's commute, for example, from the location of the employee's home. Other embodiments include those listed in any of the above invention disclosures. In general, a search or comparison can be characterized as a process that involves achieving an optimization goal, i.e., (1) at least two points, and (2) a description of a journey within a transportation system between at least one set of points. Many other examples of a search or comparison will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. 2. Example Forms
[0020] We now describe an exemplary embodiment of the present invention. In one embodiment, the method obtains information about points, such as homes, schools, and workplaces, from at least one data source, e.g., associated with a particular metropolitan area. The information includes the locations of the points. In one embodiment, the method obtains information about at least one transportation system, e.g., bus or subway schedules and stop locations, or roads and sidewalks and their locations, from at least one data source. Any such obtaining may be considered an act of measuring the real world. Any such measurement may be used in any of the methods to generate search or comparison results. 2.1 Request
[0021] In one embodiment, the method receives a request including at least one commute route. Each commute route includes at least one pair of points. Each pair identifies an endpoint location of a journey by at least one entity. For example, a commute route identifies a route traveled by an adult from home to work. In one embodiment, the number of pairs of points is at least a predetermined threshold or is up to a predetermined threshold (e.g., threshold 2 or threshold 10). In one embodiment, the pairs identify a journey between the same two points or identify a journey between two different points. The request may exclude some commute routes, for example to ensure patentability with respect to prior art.
[0022] In one embodiment, the request includes requirements. We use the term requirements in a broad sense consistent with the interpretation of the term by a person of ordinary skill in the art. The requirements specify an optimization problem that includes an optimization goal. In one embodiment, the requirements specify trip constraints along a commute route, such as only walking, only driving, only public transportation, using a school bus, using a specific school gate, using at least one school gate, leaving from a specific point at a specific time, arriving at a specific point by a specific deadline (e.g., based on a school bus boarding schedule), finding the fastest trip based on current traffic conditions, finding the fastest trip based on average traffic conditions, finding the cheapest trip, 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, e.g., the home area must be 80-90 square meters, the workplace must meet adult qualifications, the home or workplace is within a school catchment area, the child's school is highly ranked, 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 journey and at least one point, e.g., the home or workplace must be within 20 minutes by school bus from the school. In one embodiment, the requirement includes a specification of how to adjust the journey duration of the commute route. This specification is any computable function (in the sense of computability theory). For example, the computable function is a piecewise linear function, e.g., for a certain threshold T, the computable function maps journey duration x to T if x ≦ T and maps journey duration x to ∞ if x > T. In one embodiment, the journey duration of a component of the commute route has a specification that modifies the journey duration of the component. The designation may exclude homes that are too far from work, or exclude trip periods by school bus. Designations are not explicitly stated elsewhere in this disclosure. However, it is understood that in one embodiment, at least one trip period is adjusted based on at least one designation.In one embodiment, the requirements are preset, such as for example, a prior request or to ensure patentability with respect to prior art.
[0023] The trip duration of a commute route depends on the selection of specific points specified by the commute route. For example, consider a commute route that goes from home H to work W and then back to home H. In this example, assume that work W is provided as part of the request (e.g., the request specifies that work W is at a geographic location with coordinates 40.7180, -73.9869) and that home H can be selected arbitrarily (e.g., the request specifies that any home in Manhattan can be selected as H). Once H is specifically selected (e.g., H is selected as home at address 100 Central Park West), the trip duration of the commute route is obtained by adding two constituent trip durations: the trip duration from specific H to specific W and the trip duration from specific W to specific H. In general, in a trip duration, some of the specified points are provided and some of the specified 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 some points or on journeys between some points. For example, if a specific school is selected, then only homes within the zone of that school can be selected. For example, if a specific bus route is selected for a ride to a school, then a ride 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 a ride to a school, then only drop-off bus stops near B can be selected for a ride from that school. This set may be empty, for example, if the home is outside the zone of any school or if the home is not accessible by car. In one embodiment, the request specifies which points are empty and which points are served.In one embodiment, the commute route specifies which of at least one point included in the commute route is served or none of the points is served. In one embodiment, the commute route specifies which of at least one point included in the commute route is free or none of the points is free. Then, for each free point, the goal is to select a specific point to achieve the optimization goal.
[0024] The journey duration of the commute route is determined using any method available to one of skill in the art. For example, the method determines the constituent journey durations of each pair of endpoint locations of the commute route using any method available to one of skill in the art. The method then adds the constituent journey durations, the sum being the journey duration of the commute route. In one embodiment, the journey duration of at least one commute route is pre-calculated for the selection of at least one specific point, the journey duration is stored in a storage medium prior to receiving a request, and then retrieves the pre-calculated journey duration from the storage medium and uses it during processing of the request, rather than calculating the journey duration after receiving the request.
[0025] In one embodiment, the home is free, but the work is provided. In one embodiment, the method enumerates at least one specific home and determines, for the specific home, a journey duration for each of at least one commute route, as described in a subsequent section. In one embodiment, if any school is free and the school is included in the commute route, in one embodiment, the method also enumerates at least one specific school and determines a journey duration for the commute route of the specific home and the specific school, as described in a subsequent section. The method then uses at least one journey duration to achieve the optimization goal. In one embodiment, the enumeration is subject to requirements. 2.2 Colonel's Commuting Route
[0026] Several types of commute routes are described. We use the term single journey description in the context of a journey between two endpoints when the journey is performed by one entity. We use the term dual journey description in the context of a journey between two endpoints when the journey is performed jointly by two entities. When referring to a journey by at least two entities, the term "joint" is to be interpreted broadly, consistent with interpretation of the term by those skilled in the art. For example, we may or may not require the entities to be in the same vehicle, holding hands while walking, keeping a dog on a leash, etc. In one embodiment, the commute route includes a joint journey by at least two entities. In one embodiment, the commute route does not include a joint journey by at least two entities. 2.2.1 Commuting Routes: "Work Only" and Back
[0027] In one embodiment, the commute route is a "work only" commute route (see Figures 1 and 7 for examples), where: (Description of a single journey) An adult travelling from home to work
[0028] The journey duration of a commute route can be determined using any method available to one of skill in the art. In one embodiment, the above disclosure of the invention is used to calculate the journey duration, where home corresponds to a site and work corresponds to a location.
[0029] In one embodiment, the commute route is a reverse "work only" commute route (example in FIG. 8), where an adult travels from work to home, and the trip duration is determined in any corresponding manner (reversing the direction of travel). 2.2.2 Commuting routes: "School only" and vice versa
[0030] In one embodiment, the commute route is a "school only" commute route (see Figures 1 and 5 for examples), where: (Description of a single journey) A child travels from home to school. In one embodiment, a commute route is interpreted as including points such as a school gate or a school bus stop, where a child travels from home to a point and from there to school, which may be the same as the school.
[0031] The journey duration of the commute route is determined using any method available to one skilled in the art. In one embodiment, the journey duration of the commute route is the sum of two constituent journey durations: the journey duration from home to a point, and the journey duration from that point to school. In one embodiment, the journey duration of the commute route is determined by finding a specific point that minimizes the sum of the specific home and the specific school. In one embodiment, the journey duration of the commute route is determined using any approach to the optimal waypoint problem, such as (1) a double hub indexing approach, such as using two hubs: a forward hub from the specific home and a reverse hub to the specific school. Or, (2) a double source indexing approach, such as using a bucket B(v,w) for shortcuts (v,w) in a cell, i.e., the bucket contains the optimal specific point as if V were the specific home, w were the specific school, and the cell were the entire graph. In one embodiment, the specification indicates that the journey duration D between a point and the school is excluded from the journey duration of the commute route (and thus journey duration D is not included in the sum).
[0032] In one embodiment, the commute route is a reverse "school only" commute route (example shown in FIG. 6) where a child travels from school to home, the duration of the journey being determined in any corresponding manner. 2.2.3 Multiplicity
[0033] In one embodiment, a journey duration is counted with a multiplicity, for example, a multiplicity of the number of entities traveling together, a multiplicity of the journey cost, a multiplicity of zero (numeric value 0), or a multiplicity not equal to 1 (numeric value 1). For example, if a journey is performed by both an adult and a child, then the journey duration is counted as 1. Each journey between two endpoints can use a multiplicity, and each journey can use a different multiplicity than the multiplicity used in other journeys.
[0034] In one embodiment, the requirement specifies the method for counting the duration of the process. In one embodiment, the method is preset, such as by prior request or to ensure patentability with respect to prior art.
[0035] Elsewhere in the invention disclosure, multiplicities may not be explicitly mentioned, but it should be understood that in one embodiment, a trip duration is determined based on at least one multiplicity. 2.2.4 Commuting route: "Back from school" and vice versa
[0036] In one embodiment, the commute route is a "school commute" route (an example is shown in FIG. 2), where: (Dual journey description) Adults and children travel together from home to school, e.g., an adult drives a child to school and then (Single journey description) The adults continue traveling from school to their home without the child. In one embodiment, a commute route is interpreted as including a point such as a school gate or a school bus stop, where an adult and child travel together from home to a point, and then the child continues traveling from that point to school, and the adult continues traveling from that point to home, which may be the same point as the school.
[0037] The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the journey duration of the commute route is the sum of three constituent journey durations: from home to a point, from that point to school, and from that point to home. In one embodiment, the journey duration of the commute route is determined by finding a specific point that minimizes the sum of a specific home and a specific school. In one embodiment, the specification provides that the journey duration between a point and a school is excluded from the journey duration of the commute route.
[0038] In one embodiment, we determine the leg duration of a commute route by extending any approach to the optimal via point problem. For example, we extend the double hub index approach. We look at the meeting hubs that each shortest leg must pass through on the way to or from the point. Any such hub becomes a forward or reverse hub for the point based on the travel direction. In our case, we use a specific forward hub b from home. h→* , concrete home reverse hub b *→h , and the reverse hub b*→s to a specific school. We also use the remaining journey between the hub and the point being examined. In this case, hub b h→* from point b to hub b *→h from that point to hub b *→s Then, find the specific points and specific hubs that minimize the trip duration of the commute route. In this case, find the specific point p and the specific hub b that minimize the sum of the six component trip durations: h→* , b *→h , b *→s Discover the six: (1) concrete home to concrete b h→* To, (2) specific b *→h from a specific home, (3) a specific b *→s From to a specific school, (4) a specific b h→* to a specific p, (5) from a specific p to a specific b *→h to, and (6) from a specific p to a specific b*→s In one embodiment, for at least one tuple of a particular hub, a particular point p that minimizes the sum of the constituent journey times associated with that point is pre-computed, the sum is stored in a storage medium before receiving a request, and then, rather than calculating the sum after receiving a request, the pre-computed sum is retrieved from the storage medium and used during processing of the request. In this case, a particular point p that minimizes the sum of the following three journey times is pre-computed, the three being a particular b h→* from specific p, from specific p to specific b *→h From specific p to specific b *→s to . Although the above extensions to the double hub index are described in the context of a particular commute route with one point, this description is not limiting. Note that the above extensions apply equally well to commute routes that include at least one point. In a similar manner, we extend other approaches to the optimal via point problem. In one embodiment, the extensions to the approach are pre-populated, e.g., as in the case of a previous request or to ensure patentability with respect to prior art.
[0039] In one embodiment, the commute route is a reverse "back to school" commute route (an example is shown in FIG. 2), where adults travel from home to school, and then adults and children travel together from school to home, with the duration of the journey being determined in any corresponding manner. 2.2.5 Commuting Routes: "School First" and Backwards
[0040] In one embodiment, the commute route is a "school first" commute route (an example is shown in FIG. 3), where: (Double journey description) An adult and a child travel together from home to school, the adult walks the child to school, and then (Single journey description) The adult continues traveling to work without the child. In one embodiment, a commute route is interpreted as including a point, such as a school gate or a school bus stop, and both the adult and child travel from home to the point, and then the child continues travel from that point to school, and the adult continues travel from that point to work, which may be the same as the school.
[0041] The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the journey duration of the commute route is the sum of three constituent journey durations: home to a point, that point to work, and that point to school. In one embodiment, the journey duration of the commute route is determined by finding a specific school that minimizes the sum for a specific home and a specific work. In one embodiment, the journey duration of the commute route is determined by finding a specific point that minimizes the sum for a specific home, a specific work, and a specific school. In one embodiment, using the disclosures of the earlier inventions discussed above, where a point corresponds to a site and a work location corresponds to a location, or where a school corresponds to a site and a work location corresponds to a location.
[0042] In one embodiment, the commute route is a reverse "school first" commute route, where adults travel from work to school or a point, and then adults and children travel together from school to home, with the duration of the journey being determined in any corresponding manner. 2.2.6 Commuting Routes: "Work First" and Vice Versa
[0043] In one embodiment, the commute route is a "work first" commute route (an example is shown in FIG. 4), where: (Double journey description) Adults and children travel together from home to work, and then (Single journey description) The child continues the journey to school without the adult, e.g., the child walks to school. In one embodiment, a commute route is interpreted as including a point, such as a school gate or a school bus stop, and the child travels without an adult from the workplace to that point and then from that point to school, which may be the same as the school.
[0044] The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the journey duration of the commute route is the sum of three constituent journey durations: home to work, the work to a point, and the point to school. In one embodiment, the journey duration of the commute route is determined by finding a specific school that minimizes the sum for a specific home and a specific work. In one embodiment, the journey duration of the commute route is determined by finding a specific point that minimizes the sum for a specific home, a specific work, and a specific school. In one embodiment, using the disclosure of the earlier invention described above, where the home corresponds to a site and the work corresponds to a location, or where the school corresponds to a site and the work corresponds to a location, or where a point corresponds to a site and the work corresponds to a location.
[0045] In one embodiment, the commute route is a reverse "work first" commute route, where a child travels from school to work, and then an adult and child travel together from work to home, with the duration of the journey being determined in any corresponding manner. 2.2.7 Junctions
[0046] A junction is any point through which at least two entities travel (e.g., at least one entity, or each entity, travels from different points and arrives at a junction (i.e., a "join"), or a location through which at least two entities travel (e.g., at least one entity, or each entity, starts at a junction and travels to another point (i.e., a "fork")), or both (a so-called "rendezvous"). In one embodiment, a junction is a home, a work, a school, a school gate, or a school bus stop. In one embodiment, a junction is any location. A junction may reflect a number of real-world scenarios. For example, a junction may reflect a scenario where an adult walks with a child from home to a school bus stop, then the child takes the bus to school, and the adult walks back home, or a junction may reflect a scenario where a courier hands off a package to another courier at a sorting facility.
[0047] In one embodiment, at least one junction satisfies the constraint. We use the term constraint in a broad sense consistent with interpretation of the term by those skilled in the art. Here are some examples: In one embodiment, an entity arrives at the junction at any time. In one embodiment, an entity departs from the junction at any time. In one embodiment, the entities arrive or depart at the same time. In one embodiment, an entity arrives or departs before another entity arrives or departs. In one embodiment, the constraint specifies an 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 the junction. In one embodiment, the commute route does not include a joint journey by at least two entities before or after the junction. In one embodiment, the junction may or may not be the first location on the commute route. In one embodiment, the junction may or may not be the last location on the commute route. In one embodiment, the junction is included in any set of points, for example, the junction is a home, a school, or a work location. In one embodiment, junctions are excluded from any set of points, e.g., a junction is not a home, school, or work. In one embodiment, at least one location is excluded from consideration of a junction or junctions are restricted to one of at least one location. For example, a junction is (a) any location inside a convex hull whose corners are locations of some points (e.g., home, school, work) included in a commute route, or (b) any location near the convex hull, e.g., up to a threshold distance from the convex hull, e.g., up to 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 journey duration between the junction and school, (b) minimizes the journey duration between the junction and home, (c) minimizes the journey duration between the junction and work, or (d) minimizes the sum of at least two of the above journey durations. In one embodiment, the identification of the transportation system excludes at least one location from consideration for the junction. For example, the junction is restricted based on where adults and children can join or leave, the junction is restricted to one of the school bus stops, the junction is restricted to one of the school gates, or the junction is restricted to one of the locations where children can safely enter and exit a vehicle. In one embodiment, the restriction is a combination of at least one restriction. In one embodiment, the request identifies a restriction for at least one junction. In one embodiment, the restriction for at least one junction is set in advance, for example, as in a previous request or to ensure patentability with respect to prior art. 2.2.8 Commuting Route: "Junction - Continue"
[0048] In one embodiment, the commute route is a "junction-continue" commute route (see FIG. 11 for an example), where: (Double journey description) Adults and children travel together from their homes to the junction, then (Single journey description) The child continues his journey from the junction to his school and the adult continues his journey from the junction to his workplace. 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 and the adult continues to work. In one embodiment, the junction reflects a scenario where an adult drives with a child from home to a drop-off location, for example near a school, and then the child walks to school and the adult drives to work. In one embodiment, the junction reflects a scenario where an adult transports a child from home to the gate of work or a parking lot near work, and then the child goes to school and the adult continues to work.
[0049] The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the journey duration of the commute route is the sum of three constituent journey durations: from home to a junction, from that junction to school, and from that junction to work. In one embodiment, the journey duration of the commute route is determined by finding a specific junction that minimizes the sum of a specific home, a specific school, and a specific work. In one embodiment, the specification provides that the journey duration between a junction and a school is excluded from the journey duration of the commute route.
[0050] In one embodiment, an enumeration search is used to find junctions: look at at least one specific junction, determine the journey duration of a commute route that passes through that junction, and find a specific junction that minimizes the journey duration.
[0051] In one embodiment, a tree search is used to find the junctions. For example, (a) build three shortest path trees in a graph that models a transportation system based on travel direction: forward from home, backward from school, and backward from work, with at least one graph vertex having a journey duration in each tree, and (b) find a graph vertex that minimizes the sum of the three constituent journey durations in the three shortest path trees. The graph vertex represents the junction that minimizes that sum.
[0052] In one embodiment, a gradient descent search is used to find junctions. Start with an arbitrary junction J. Next, determine the journey duration of the commute route through junctions near J, for example, neighboring junctions within a given radius (such as 1000 meters, or a 5 minute journey) around J, neighboring junctions within a maximum threshold size (such as 10 junctions), neighboring junctions including the closest junction other than J, or neighboring junctions within a given radius that exceeds the journey duration between J and the closest other junction. Then, find a junction J' near J that results in the shortest journey duration. If that journey duration is less than the journey duration through J, set J to J' and continue the search. Otherwise, stop the gradient descent search. The junction found by the search is then considered to be J. J may not actually minimize the sum.
[0053] In one embodiment, a branch and bound search is used to find the junctions. In the following description, we use an arbitrary work place W, an arbitrary school S, and an arbitrary home H, but this use is not limiting.
[0054] In one embodiment, the junctions are processed in order based on at least one of the three constituent travel periods, e.g., according to the travel period from H to each junction. The travel periods may be processed in any order, e.g., monotonically, shortest first, etc. During processing, junction J min and journey period D min First, D min Set the upper bound on the minimum travel duration (the minimum is less than or equal to the upper bound). Several methods for calculating the upper bound are described in the invention disclosure. For example, min Set to infinity. At least D minIf so, skip processing of journey duration T. Otherwise, when processing journey duration T, calculate the remaining journey duration R. In this example, T is the journey duration from home H to junction J, and R is the sum of the next two journey durations, which are from junction J to work W, and from junction J to school S. The total T+R is D. min If less than D min Set to T+R and J min Set J. When the process is finished, the junction found by the search is set to J. min In one embodiment, J min minimizes the trip duration of the "junction-continuous" commute route, and D min is the minimum travel time.
[0055] In one embodiment, a partition of junctions is used. For example, a hierarchical partition of junctions is used, where the hierarchy is induced by containment relationships. It is easier to understand the hierarchical partition as a tree P. An example is shown in FIG. 17. Each node of the tree P is associated with a set of junctions. Either the node is a leaf of the tree P, or the set of junctions associated with the node is partitioned into at least one subset. Each such subset forms a child of the node in the tree P. Each child is associated with a subset that contains at least one junction. For ease of explanation, a geographical partition into areas is used, where each area is referred to as a square, and the child nodes are referred to as TopLeft, TopRight, BottomLeft, and BottomRight. The shape of the areas is not limited, and other shapes are used in other embodiments. Junction partitioning may be computed using any relevant method known in the art, e.g., any clustering method, e.g., (1) Hierarchical Agglomerative Clustering (HAC); (2) hierarchical methods used for route computation, e.g., Contracting Hierarchies (CH) as described by Geisberger, Sanders, Schultes, and Delling, "Contracting Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks", Workshop on Experimental and Efficient Algorithms 2008; (3) Graph Partitioning, e.g., PUNCH as described by Delling, Goldberg, Razenshteyn, and Werneck, "Graph Partitioning by Natural Cuts", IEEE International Symposium on Parallel and Distributed Processing 2011; (4) Graph Summarization, e.g., the approach described by Liu, Safavi, Dighe, and Koutra, "Graph Summarization Methods and Applications: A Survey", ACM Computing Surveys, Vol. 51(3). 2018,(5)An approach described by Jain, Murty, and Flynn: "Data Clustering: A Review", ACM Computing Surveys, Vol. 31(3), 1999. Partitioning is computed using any relationship between sets of points, such as shortest path distance, geographic distance, Hausdorff distance, Jaccard index, or any multidimensional notion of closeness.
[0056] The tree P denotes a minimal structure of journey durations. The minimal structure is characterized as follows: Each node e of the tree denotes a lower bound of the journey duration associated with the point associated with node e. Several techniques for determining the lower bound are described in the invention disclosure. The minimal structure is determined using any method available to one of skill in the art. In one embodiment, the minimal structure is determined as follows: For each junction J, the journey duration d J→W+S , which is the sum of two travel durations: from J to workplace W and from J to school S. Each node e has a tag, denoted P(e), which is the shortest travel duration d of any junction J 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 tags of the leaves of tree P, then going up level by level, and setting the tag of a node to the minimum of the tags of its children in tree P.
[0057] Similar Tree P H I also build it, but for home use. Tree P H is the division of the junction. However, d J→W+S Unlike tree P, which uses H is the travel time d from home H to each junction J H→J Use the tree P H also represents a minimal structure of journey durations. For example, the tree P H Each node e of H (e), which is the minimum travel duration d of any junction J in the set of junctions associated with the node. H→J It is.
[0058] Two trees P and P H Any two corresponding nodes in have the same subset of related junctions. For example, the TopLeft child of the root of P is P H It has the same associated area as the root TopLeft child of .
[0059] In one embodiment, there are two trees P and P H Find junctions between d using a branch-and-bound search. The goal is to find junctions between d H→J + d J→W+S The goal of the branch-and-bound search is to find a junction J that minimizes the sum of H and P simultaneously. During the traversal, junction J min and journey period D min At the start of the traversal, D min Initialize D to the upper bound of the minimum travel duration (the minimum is less than or equal to the upper bound). For example, min to infinity. The traversal uses a search queue. It is initialized with the root of the 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 associated set consisting of a small number of junctions, or when node p is a leaf of the tree P. Then, we consider each junction J in the set associated with node p and calculate the travel duration d J = d H→J + d J→W+S D min Consider the case where it is shorter than D min The duration of the process is d J Set it to J min Set to J and D min and J min In another case, consider the children of a node p in a tree P. Without loss of generality, suppose that node p has four children and updates their tags as TL P , T.R. P , B.L. P , and B.R. P Similarly, let us assume that the tree P H Consider the children of the corresponding node in TL PH , T.R. PH , B.L. PH , and B.R. PHThen, we determine which children of node p to skip traversing. For example, consider the children of TopLeft. TL PH +TL P The sum of D is the lower limit of the duration of a trip through any junction in the TopLeft square. If the sum is D min If p is greater than p, skip traversal of the TopLeft child of node p. Skip traversal of other children in a corresponding manner. Any children of node p that are not skipped are queued for traversal. When the traversal is finished, the junctions found by the search are denoted by J. min In one embodiment, J min minimizes the trip duration of the "junction-continuous" commute route, and D min is the minimum travel time.
[0060] In the above description, the term "tree" has been used to provide an explicit procedure for constructing the tree. This has been done to simplify the description. However, this construction is not limiting 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 and bound search known in the art may be adapted and used, or a combination thereof.
[0062] Some examples of adapting enumeration searches are as follows: In one embodiment, the disclosure of the prior invention above is used, where junctions correspond to sites and workplaces correspond to locations. One such application is being able to determine the journey duration between a specific workplace and each of multiple junctions. Such pre-computed applications can then be reused when searching multiple junctions. In one embodiment, the specific junctions selected are excluded or restricted, for example based on the convex hull as described above.
[0063] Here are some examples of applying tree search. In one embodiment, we build the tree using relevant prior art methods, or exclude or limit methods of building trees based on convex hulls, for example as described above, or build trees that are approximate shortest path trees. In one embodiment, we do not build the tree explicitly. In one embodiment, we take a hub label approach. We determine the journey duration based on the direction of travel, from the root of the tree to each forward hub vertex for each forward tree, and from each reverse hub vertex to the root of the tree for each reverse tree. We also determine 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 reverse hub vertex. We then use these journey durations to find the junction vertex that minimizes the sum of the constituent journey durations through the hubs. In one embodiment, we pre-compute the minimum journey duration for a tuple of at least one hub, as described above. In one embodiment, we extend other approaches to the optimal via point problem in a similar manner. In one embodiment, the travel duration of at least one graph vertex in at least one tree is pre-calculated and stored in a storage medium before receiving a request, and then the travel duration is retrieved from the storage medium and used during the tree search.
[0064] Here are some examples of adapting the gradient descent search: In one embodiment, we search based on a lower bound on the journey duration through J'. For example, we skip the calculation of journey durations through junctions near J if the lower bound on the journey duration through the junction is at least the journey duration through J. Several techniques for determining the lower bound are described in the invention disclosure. In one embodiment, we use a lower bound on the journey duration through J rather than the journey duration through J. In one embodiment, we exclude or constrain the starting junction J, for example based on a convex hull as described above. In one embodiment, we exclude or constrain junction J', for example based on a convex hull as described above. In one embodiment, we find a junction J' that results in the shortest journey duration near J, using any of the approaches described in the invention disclosure, subject to the constraint that J' is near J. In one embodiment, we use a partition of the junction and search within the partition, for example, selecting the partition with the shortest journey duration among the partition's neighborhood, or selecting the partition with the smallest lower bound on the journey duration.
[0065] Here are some examples of adapting the branch and bound search. In one embodiment, we calculate a lower bound for the remaining journey duration R and use it to decide whether to skip the calculation of the remaining journey duration R. In one embodiment, J min Initialize to an arbitrary junction and D min Junction J min Duration of journey through d H→Jmin + d Jmin→W+S In one embodiment, if the lower bound is high enough, the child is skipped, e.g., if the lower bound is D min minus a threshold, e.g., one minute of travel. In one embodiment, the traversal stops after performing at least a predetermined number of updates, e.g., at least one update, or a small number of updates. In one embodiment, the traversal stops after visiting at least a predetermined number of nodes. In one embodiment, the search queue is initialized with nodes at a particular level in the tree p. In one embodiment, the nodes in the search queue are ordered based on a lower bound associated with the nodes, e.g., the sum P(e) + P HBased on (e), the traversal is forced to remove node e from the search queue, e.g., so that the sum of the nodes is minimized. In one embodiment, in the first case of the branch-and-bound search, the iteration duration d is determined by applying the constraint that J is included in the junction associated with node p, using any of the approaches described in the invention disclosure. J Compute a junction J that minimizes . For example, use any approach to the optimal via point problem subject to such constraints on the via points. In one embodiment, a tree P is reused during a branch-and-bound search for different homes H. In one embodiment, any two trees are merged into one tree, for example by adding a lower bound associated with each corresponding node. For example, P and P H Then, a branch-and-bound search traverses the merged tree. In one embodiment, trees are merged if the merged tree can be reused. In one embodiment, the initial junction J is chosen based on, for example, the convex hull as described above. min , exclude or restrict the children of a junction J, or a node p.
[0066] In one embodiment, the junctions are determined by any combination of the methods for determining junctions described in the invention disclosure.
[0067] In one embodiment, junctions are not explicitly discovered to determine journey durations for commute routes.
[0068] Many other methods of determining the trip duration of a "junction-continuous" commute route will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. 2.2.9 Commuting Route: Reverse Direction "Junction-Continue"
[0069] In one embodiment, the commute route is a "junction-to-junction" commute route in the opposite direction (an example is shown in FIG. 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 journey duration of the commute route is determined in any manner that corresponds to the manner of determining the journey duration of a "junction-to-junction" 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 FIG. 9), where: (Double journey description) An adult and a child travel together from their home to the junction, and then (Single journey description) Children continue their journey from the junction to their school and adults continue their journey from the junction to their home.
[0071] The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the journey duration of the commute route is the sum of the following three constituent journey durations: home to junction, junction to school, and junction to home. In one embodiment, the journey duration of the commute route is determined by finding a specific junction that minimizes the sum of a specific home and a specific school. In one embodiment, the specification indicates that the journey duration between the junction and the school is excluded from the journey duration of the commute route.
[0072] In one embodiment, the enumeration search is used to find the junction. At least one specific junction is examined, and the following three constituent journey durations are determined: home to junction, junction to school, and junction to home. These three journey durations are summed. Then, the specific junction that minimizes the sum of the specific home and the specific school is found. In one embodiment, the enumeration search does not calculate the optimal route from each of the multiple "branch" junctions (e.g., if the junction is the first location on the commute route) to each of the at least two points (e.g., if the point is the last location on the commute route), or the enumeration search does not calculate the optimal route from each of the at least two points (e.g., if the point is the first location on the commute route) to each of the multiple "join" 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 the junctions, for example, (a) construct three shortest-path trees in a graph that models a transportation system based on travel direction, i.e., a tree from home forward, a tree from school backward, and a tree from home backward, each tree having journey durations of at least one graph vertex, and (b) find a graph vertex that minimizes the sum of the three constituent journey durations in the three shortest-path trees.
[0074] In one embodiment, a gradient descent search is used to find the junctions. Start at an arbitrary junction J. Each step of the gradient descent search determines the next junction based on a lower bound (e.g., a minimum) of the trip duration of the commute routes that go through junctions near junction J.
[0075] In one embodiment, a branch-and-bound search is used to find junctions, where the search tree is a partition of the junctions, where the estimate of a branch of the tree anchored at a node is based on a lower bound (e.g., a minimum) of the journey duration of the commute route, and the junction is included in the part of the partition associated with the branch.
[0076] In one embodiment, any enumeration search, any tree search, any gradient descent search, any branch and bound search, or combinations thereof, is used mutatis mutandis in accordance with the teachings of the invention disclosure.
[0077] Many other methods of determining the trip duration of a "junction-back" commute route will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. 2.2.11 Commuting Route: The opposite direction "Junction-Back"
[0078] In one embodiment, the commute route is a reverse "junction-back" commute route (an example is shown in FIG. 10), where a child travels from school to a junction, an adult travels from home to the junction, and then the adult and child travel together from the junction to home. The journey duration of the commute route is determined in any manner corresponding to the manner of determining the journey duration of a "junction-back" commute route. 2.2.12 Commuting route: "Work-Junction" and vice versa
[0079] In one embodiment, the commute route is a "work-junction" commute route, where: (Double journey description) Adults and children travel together from home to work, and then (Single journey description) A child continues traveling without an adult from work to a junction and then from the junction to school.
[0080] The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the journey duration of the commute route is the sum of the following three constituent journey durations: home to work, work to junction, and junction to school. In one embodiment, the journey duration of the commute route is determined by finding a specific junction that minimizes the sum of the specific home, the specific work, and the specific school. In one embodiment, the specification indicates that the journey duration between the junction and the school is excluded from the journey duration of the commute route.
[0081] In one embodiment, any enumeration search, any tree search, any gradient descent search, any branch-and-bound search, or combinations thereof are used mutatis mutandis in accordance with the teachings of the invention disclosure. For example, in the above invention disclosure, a junction or school corresponds to a site, and a workplace corresponds to a location.
[0082] In one embodiment, the commute route is a reverse "work-junction" commute route, where the child travels from school to the junction, from the junction to work, and then the adult and child travel together from work to home, with the duration of the journey being determined in a corresponding manner. 2.3 Alternative commute routes
[0083] Using other types of commute routes. In one embodiment, the commute route is any commute route described in the prior art, and the journey duration of the commute route is determined mutatis mutandis in accordance with the teachings of this disclosure.
[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 back home, where the particular entities coincide and where the particular points coincide. Examples based on kernel commute routes include: "Workplace only and vice versa" Adults go from home to work, And then (in the opposite direction) Moving from work to home. "School only and vice versa" Children from home to school And then (in the opposite direction) Moving from school to home. "School-Returning and vice versa" Adults and children together at home from the home to the school, and then the adults continue to travel from the school to their homes without the children. And then (in the opposite direction) The adult travels from home to school, and then the adult and child travel together from school to home. "School First and the Other Way" Adults and children travel together from home to school, and then the adults continue traveling to work without the children, And then (in the opposite direction) The adult travels from work to school, and then the adult and child travel together from school to home. "Workplace First and the Other Way" Adults and children travel together from home to work, then the children continue traveling to school without the adults, And then (in the opposite direction) The child travels 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 to travel from junction J1 to school and the adult continues to travel from junction J1 to work, And then (in the opposite direction) A child travels from school to junction J2, an adult travels from work to junction J2, and then the adult and child continue traveling together from junction J2 to their home. "Returning from the junction and the opposite direction" An adult and a child travel together from home to junction J1, and then the child continues to travel from junction J1 to school, and the adult continues to travel from junction J1 to home, And then (in the opposite direction) An adult travels from home to junction J2, a child travels from school to junction J2, and then both the adult and child travel together from junction J2 to home. "Workplace - Junction and vice versa" An adult and a child travel together from home to work, and then the child travels from work to junction J1 without the adult, and then travels from junction J1 to school, And then (in the opposite direction) A child travels from school to junction J2, from junction J2 to work, and then both the adult and child travel together from work to home.
[0085] The trip duration of the aggregated commute route is determined using any method available to one skilled in the art. In one embodiment, the trip duration of the aggregated commute route is determined by adding the trip duration of the first commute route and the trip duration of the second commute route under the constraints imposed by the matching of entities and points. For example, given a "junction-continue and back" commute route, determine the trip duration of the "junction-continue" configuration and the trip duration of the "back" configuration for a specific home, a specific school, and a specific work location, and add them together. In one embodiment, this means that junction J1 can be optimized independently of the optimization of junction J2, which can simplify the optimization.
[0086] In one embodiment, the commute route includes at least one additional point. For example, a child goes from home to school, then goes to piano lessons, then returns home. In another example, an adult drives from home to another parking lot, then walks to work. In another example, an adult travels from school to an additional point A, then travels to another point B, then travels to school. In another example, a child gets on a school bus, then an adult travels to another supermarket, then travels home. Each such additional point is specified, or provided, or free in the journey constraints along the commute route. In one embodiment, at least one specific point is listed as a free additional point when determining the journey duration of the commute route. The journey duration of the commute route is determined using any method available to one of skill in the art. In one embodiment, the additional point creates an additional constituent journey duration. In one embodiment, the additional constituent journey duration is added when determining the journey duration of the commute route. 2.4 Variants
[0087] In one embodiment, the requirements are used to avoid calculating journey duration for some points, for example, if the points do not meet the requirements (e.g., the square footage of the home is too small). Similarly, in one embodiment, the requirements are used to avoid calculating journey duration between some points, for example, if the points do not meet the requirements (e.g., between home and school, the school is ranked too low compared to the price of the home). In one embodiment, calculation of journey duration is avoided if a move is infeasible.
[0088] In one embodiment, at least one tree is pre-computed and stored in a storage medium before receiving a request, and then the at least one tree is retrieved from the storage medium and used during processing of the request. In one embodiment, trees are reused when calculating journey duration for each of a plurality of points. In one embodiment, portions of trees are pre-computed, stored, retrieved, used, or reused.
[0089] In one embodiment, a tree representation is used. In one embodiment, the tree is a hierarchical partition of points in a geographic region, where the hierarchy is induced by containment relationships. In one embodiment, the tree has a small number of levels, and each internal node fans out to a small number of children. For example, if a 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 , the total number of nodes in the tree is (1-49) / (1-4) = 87,381. If the geographical areas are 100 km x 100 km squares, and each area is evenly divided into 4 squares, then in a 9-level tree, the leaf level will result in a 390 m x 390 m square. In practical scenarios, such a size is often adequate to make the points at the leaf level of the tree sufficiently independent. In one embodiment, we store the tree in a contiguous area of the storage medium, associate the root with index 0, and given a node with index x, determine the index of the last child of that node as 4(x + 1). The indexes of any other tree fanouts are determined in a similar manner. In one embodiment, we store the tree in reverse order. In one embodiment, we represent the journey duration using any computer encoding of a number known in the art. For example, we represent the journey duration in seconds and store it as a uint16_t in 2 bytes of the storage medium. Thus, one such 9-level tree consumes 170KB of storage media. In one embodiment, the trip duration is represented with a granularity of minutes and stored as a 4-byte float on the storage media. Many other examples of tree representations will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments.
[0090] In one embodiment, the points are filtered based on the request. For example, the request asks for only 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 hierarchical partitioning of points, if a child node does not have the filtered points, skip descending to the child node. For example, skip descending to the child node if none of the associated schools are top-ranked schools. In one embodiment, a partitioning of points after filtering is used, for example, a hierarchical partitioning of such points. For example, build a tree that includes only top-ranked schools.
[0091] Some of the gradient descent and branch-and-bound searches used in our method may not minimize the commute route duration if the search stops midway, for example, if the search gets stuck in a local minimum. 2.5 Response
[0092] The method then responds to the request with search or comparison results 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, the method generates the results by calculating and using at least one journey description rather than at least one journey duration. In one embodiment, the results include any information obtained by the method for any point, any information obtained by the method for any transportation system, or any representation or any suggestion of such information consistent with an interpretation by one of ordinary skill in the art. For example, the results may include information that a point was not found.
[0093] In one embodiment, the method selects a number of specific points that are closest to achieving the optimization goal. This is useful, for example, when one wants to determine alternatives, such as the closest alternative school to a particular home. Such closest points are selected using any method available to one skilled in the art, such as maintaining a top-k data structure while exploring the choices during the search. In one embodiment, the method considers a range of values of the optimization function and selects a number of specific points for each range depending on the optimization goal. This is useful, for example, when one wants to find homes with short commute times and homes with long commute times. Such range points are selected using any method available to one skilled in the art, such as filtering the choices that fall within the range being searched.
[0094] In one embodiment, the request is stored in the storage medium, and the method then uses the request to generate at least one result and responds with the at least one result. This is useful, for example, when monitoring the real estate market over time and wanting to immediately report homes that match a prior request to a user associated with the request as they come on the market. In one embodiment, the result is generated in response to a further request. For example, a prior request is received that includes at least one commute route and a request. The prior request is then stored in the storage medium. A new request is then received at a later date. The method then responds to the additional request using the search or comparison results obtained using the prior request obtained from the storage medium.
[0095] Any additional methods for describing how the results are produced are further described by the requirements.
[0096] In one embodiment, the method of the present disclosure performs variations of the functions or steps described in the present disclosure. In one embodiment, some functions or steps are performed in another order, partially simultaneously, or some 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 that includes characteristics of the optimization problem, including: Sequence P 1 , ..., P m ,F 1 , ..., 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 is for each F i For specific point F i Show how to select The optimization function V is a specific point P 1 , ..., P m , F 1 , ..., F n Assign a value to any sequence of The optimization objective G indicates what value of V and what specific point is 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 the free point Fi is at least a predefined threshold or at most a predefined 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 at least one commute route leg length. In one embodiment, any C, V, or G is independent of the others. In one embodiment, any C, V, or G is dependent on the others. In one embodiment, the features include any embodiment described in the invention disclosure. The features may exclude predefined embodiments, such as in the case of a prior request or to ensure patentability with respect to prior art. Next, the method examines a selection of at least one specific point according to constraint C. In one embodiment, the selection is explored using an enumeration search, a tree search, a gradient descent search, or a branch-and-bound search. Then, the method determines a value of V for a sequence of at least one specific point. In practice, the method identifies zero or more such selections according to the goal G. Finally, the method responds to the request with zero or more such selections, or a representation of the associated value of V. In one embodiment, the steps include any of the embodiments described in the invention disclosure. The steps may exclude pre-defined embodiments, for example, based on prior request or to ensure patentability with respect to prior art. Example requests and responses are shown in FIG. 18.
[0098] Efficiently solving optimization problems is a fundamentally challenging task, since, for example, the domain of optimization problems includes the NP-hard Traveling Salesman Problem (TSP) and the NP-hard Vehicle Routing Problem (VRP). Our method aims to solve the optimization problems of several practical examples. 2.6.1 Embedding the kernel
[0099] In one embodiment, the commute route includes at least one kernel commute route that matches a particular entity and matches a particular point. For example, the commute routes shown in FIG. 13 include the commute routes shown in FIG. 11 and also include the commute routes shown in FIG. 12, where: The adult in Figure 11 is the same as the adult in Figure 11 The child in Figure 11 is the same as the child in Figure 12 Workplace W1 in Figure 11 is the same as workplace W2 in Figure 12 The school in Figure 11 is the same as the school in Figure 12 The house in Figure 11 is the same as the house in Figure 12 However, junction J in Figure 11 1 is the junction J in Figure 12. 2 may not be the same as.
[0100] Other examples include: (1) the commute route shown in FIG. 14, including the commute route shown in FIG. 9 and further including the commute route shown in FIG. 10, having one child and one adult or two adults; (2) the commute route shown in FIG. 15, including the commute routes shown in FIG. 7, FIG. 8, FIG. 11, FIG. 12, having two adults, one child, one school, one home, and two workplaces; and (3) the commute route shown in FIG. 16, including the two commute routes shown in FIG. 7, each of which includes an additional point J, and further including the two commute routes shown in FIG. 8, having two adults, two homes, two workplaces, and one junction; junction J in FIG. 16 can be interpreted as a restaurant where two adults meet to have breakfast before work.
[0101] Some kernel routes may be prohibited from being included in the route, for example in case of previous requests or to ensure patentability with respect to prior art. 2.6.2 Optimization Plan
[0102] A simple solution to the optimization problem is to select and evaluate each combination of free points. However, any free point may be selected in a variety of ways, and this simple solution is too costly for large problem instances. In one embodiment, when the number of combinations is small enough, the optimization problem is solved by exhaustively evaluating all combinations. In one embodiment, before receiving a request, at least one rule is pre-computed, where each rule matches an optimization problem instance and a solution for that instance. The solutions are pre-computed using any method available to one skilled in the art. When a request is received containing a particular optimization problem instance, a match is found among the at least one rule and that solution is used. However, this rule-based solution fails for problem instances that do not match any of the at least one rule.
[0103] In general, in one embodiment, an optimization plan is developed that can simplify the optimization problem. The optimization function is V(x) = V 1 (x 1 ) + V 2 (x 2 ) + ... + V k (x k ), where x is x 1 , ..., x k 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). V i (x i ), we use the term optimization subproblem. In one embodiment, we allow the degenerate case where k = 1.
[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 path between D and D' in at least one commute route (a direct path does not pass through any point), then such a D is a free point for such a V i (x i ) Unfortunately, the desired cut may not exist for at least one of the specified commute routes. However, sometimes it is possible to force the desired cut by making some free points non-free.
[0105] This process is illustrated by the commute route shown in Figure 13. Given W, H, S, and J 1 , J 2 After selecting a specific H and a specific S, the freedom J for the duration of the commute route is 1 The contribution of is usually 2 (Sometimes, when there is a relationship between arrival and departure times, J 1 is actually J 2 ) For independence, enumerate at least one specific H and at least one specific S, and find the optimal specific J for at least one specific pair. 1 Find a concrete J that is independently optimal subject to constraints C. 2 By finding the H, we can execute the optimization plan. In this way, the required additional structure is realized. Conversely, by choosing a specific H and finding a specific J 2 Even if you select J 1 If we leave and S free, then J 1 There is a direct path from S to S, so there is a specific J 1 A change in the choice of may affect which concrete S is optimal, and thus lack the necessary additional structure.
[0106] The problem of finding an additional structure is related to a combinatorial optimization problem called maximal independent set. In one embodiment, consider a graph G representing at least one commute route (illustrated in FIG. 13 ), and find a minimal set N of free vertices such that, after making them non-free, no two remaining free vertices are connected by a direct journey edge (a free vertex and a bounded vertex are allowed to be connected by a direct journey edge). Each remaining free vertex gives rise to an optimization subproblem. In one embodiment, the set N does not have to be of minimal size. The remaining free vertices form an independent set in a graph obtained from graph G by removing its bounded vertex. In one embodiment, the set N of free vertices is found using any algorithm that computes independent sets, for example, an algorithm that computes a maximal independent set, or an algorithm that computes a maximal independent set, or an approximation algorithm or any such heuristic. For example, use any of the combinatorial optimization algorithms reported in Garey and Johnson's "Computers and Intractability: A Guide to the Theory of NP-Completeness" (WH Freeman & Co. 1990).
[0107] More generally, f ≧ 1 of the remaining free vertices may form configurations that are connected by direct path edges, but are not connected by any direct path edges to any other remaining free vertices. In one embodiment, a configuration is minimal with respect to inclusion. This means that the corresponding V i There are f free points (J in Fig. 13). 1 This means that two structures (e.g., S and S) need to be jointly optimized. In other words, the degree of dependency is reflected by the value of f. In one embodiment, any method available to one skilled in the art is used to find additional structures for f ≧ 1, for example using traditional combinatorial optimization algorithms or using heuristics.
[0108] It is explanatory to define a journey-dependency relationship for at least one commute route. If at least one commute route contains a direct journey between free point X and free point Y, then X and Y are said to be journey-dependent. If X and Y are journey-dependent and Y and Z are journey-dependent, then X and Z are journey-dependent. Note that by definition, the journey-dependency relationship is symmetric and transitive. Furthermore, the journey-dependency relationship needs to be a minimal relationship. In one embodiment, the problem of finding an augmented structure with f ≧ 1 can be thought of as the problem of modifying the free states of at least one commute route to achieve a particular transitive configuration of journey-dependencies. For example, the goal is to achieve a small configuration with fewer modifications.
[0109] More generally, we identify approximate additional structures. In one embodiment, this means determining x such that the optimal values of V(x) and V are at most a strain away from each other, and V 1 (x 1 ) + V 2 (x 2 ) + ... + V k (x k ) to optimize the value of x 1 , ..., x k Discover x 1 , ..., x k We use steps including simply obtaining x from . We show the process of identifying approximate additional structures by observing approximate additional structures while examining specific points during the execution of the optimization plan, and can occasionally skip some specific points while controlling the change in the optimal value. We further explain the process through the commute route shown in Figure 13. H, J 1 , J 2 We assume that H is free. Furthermore, H is a concrete H 1 As a specific H 2 Assume that only two methods can be selected. Then, H 1 and H 2Assume that the shortest trip duration between is at most d. Then, given a concrete choice of points in the commute route, we choose H instead of H. 2 When selected, H in the selection 2 H 1 Therefore, H for H 2 In one embodiment, the steps are used to identify approximate additional structures, the steps including: (1) selecting two specific points H from among points that can be selected as free points H in at least one commute route; 1 and H 2 and thus, H 1 and H 2 and (2) during the execution of the optimization plan, H for H 2 Skip the investigation of the selection of the selection; in fact, other specific points are H 2 In one embodiment, clustering is used to identify the approximate additional structure. Examine any free point H in at least one commuting route. Then, determine at least one cluster of points selected for the free point H using any clustering method based on journey duration. Also, during execution of the optimization plan, skip examining at least one choice of selecting a member of the cluster for H, but examine a choice of selecting a concrete representative r of the cluster for H. Such a replacement introduces a distortion in the approximation, i.e., the distortion d introduced by the representative r in the number of direct journey edges related to H in the graph representing at least one commuting route. r If the representative r is the center of gravity, the distortion d ris the radius of the cluster. In one embodiment, we strengthen the distortion of the approximation by separately counting the distortion introduced by each direct stroke edge incident on H. In one embodiment, we consider such a replacement if the distortion of the approximation is at most a threshold (e.g., 200 meters or 1 minute of stroke). In one embodiment, we use any method available to one skilled in the art, e.g., heuristics, to identify the approximate additional structure. The approximate additional 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, the cost is minimized. In one embodiment, the cost is not minimized. Furthermore, sometimes there may be constraints on the choice of which free points are not free. For example, one may not want to free a home because one wants to find a home for each range of journey duration, and may not want to free a school because one wants to find the closest alternative school to a particular home, or may want to limit the distortion caused by approximation to at most a threshold. In one embodiment, a constraint is used. In one embodiment, a constraint is not used. In one embodiment, it is arbitrary to decide which free points are not free or are free. In one embodiment, the optimization subproblem is the same as the optimization problem (i.e., k = 1). In general, we create the optimization plan using any approach available to one skilled in the art based on some of the teachings of the invention disclosure, such as the teachings contained in paragraphs
[0102] to
[0110] , for example, using traditional operations research algorithms or using heuristics. The optimization scheme may exclude pre-defined embodiments, for example, based on prior request or to ensure patentability with respect to prior art. 2.6.3 Optimizing Subproblems
[0111] Here, V iWe focus on the optimization subproblem of optimizing f. Several optimization approaches for f = 1 have already been described, including enumeration search, tree search, gradient descent search, and branch-and-bound search. We next discuss optimization approaches for the general case of f ≥ 1.
[0112] After the renaming, and without loss of generality, we write the optimization subproblem as follows: (1) F 1 , ..., F f is a free point, f ≥ 1 (2) F f+1 , ..., F n Some of the freedoms are not considered, and (3) F f+1 , ..., F n Each free point in the 1 , ..., F f and are not connected by a direct path to any free point between them. The above description of the optimization sub-problems may be determined in any manner available to one skilled in the art based on how the optimization plan was created, for example, by traversing a graph representing at least one commute route and identifying journey-dependent components. In one embodiment, f = 1, f > 2, f = n, f < n, or f < n-1. In one embodiment, F 1 , ..., F f There is no direct path between any two of them.
[0113] For 1 ≦ j ≦ f, D J F j Let D be the set of points connected by straight line segments. j consists of three types of points: (1) F 1 , ..., F f Some of (2) F provided f+1 , ..., F n Some of these are set R jExpressed as (3) Freedom is no longer free F f+1 , ..., F n Some of these, set N j It is expressed as: Set D j does not include other points. In one embodiment, R j is empty, N j is empty, R j is not empty, N j is not empty, R j has only 1 point, N j has only 1 point, R j has at least 2 points, or N j has at least two points.
[0114] Free Point F 1 , ..., F f is V i For this purpose, we will now describe several types of searches. Depending on the manner in which the optimization plan is executed, each N j For each point in (each R j It can further be assumed that a specific point has already been selected (points have already been specifically provided).
[0115] In one embodiment, we use an enumeration search: we look at at least one tuple according to constraint C, where each tuple (F 1 , ..., F f ) consists of a sequence of concrete points, where each concrete F j is the corresponding F j For at least one such tuple, determine constituent journey durations for at least one commute route: (1) F x and F y If there is a direct path between, then for any 1≦x≦f and any 1≦y≦f, then F x A specific Fx selected for F y The specific F chosen for y Between (2) For any 1≦j≦f, a specific F j And, R j ∪N j Between at least one specific point in. Using these constituent travel periods, we i Determine the value of F. Then, find tuples that satisfy the optimization objective G. Repeat the enumeration search as necessary. Then, find zero or more tuples (F 1 , ..., F f ) to determine
[0116] In one embodiment, a tree search is used. Consider a graph that models a transportation system. Each vertex of this graph is a concrete F j represents the selection of at least one j such that 1 ≦ j ≦ f subject to constraint C, and R j ∪ N j For at least one specific point E in the j Construct a shortest path tree rooted at E based on the travel direction between E and F. Subject to constraint C, we examine at least one tuple, where each tuple (F 1 , ..., F f ) consists of a sequence of concrete points, and each concrete F j is the corresponding F j For at least one such tuple, determine constituent journey durations for at least one commute route: (1) F x and F y If there is a direct path between, then for any 1≦x≦f and any 1≦y≦f, then F x A specific Fx selected for F y The specific F chosen for y Between (2) For any 1 ≤ j ≤ f, find a specific F by obtaining the relevant journey duration from the shortest path tree. j And, R j ∪N jBetween at least one specific point in. Using these constituent travel periods, we i Determine the value of F. Then, find tuples that satisfy the optimization goal G. Repeat the tree search as necessary. Then, find 0 or more tuples (F 1 , ..., F f ) to determine
[0117] In one embodiment, we use a gradient descent search. We search for any tuple (F 1 , ..., F f ), then the search iteratively performs the following steps until it stops: 1 , ..., F f ) tuple of concrete points near (F' 1 , ..., F' f ), where tuple (F' 1 , ..., F' f ) best satisfies the optimization goal G. If the tuple (F' 1 , ..., F' f ) improves the optimization goal G, then (F 1 , ..., F f ) to (F' 1 , ..., F' f ) and continue the search. Otherwise, stop the search. Then find a tuple that satisfies the optimization objective G. If necessary, repeat the gradient descent search. Then find zero or more tuples (F 1 , ..., F f ) to determine
[0118] In one embodiment, a branch-and-bound search is used. For each 1≦j≦f, point F j A tree T representing a partition of jConstruct V. Use any embodiment to compute the partitions described in this invention disclosure. Trees may use partitions that differ from those used in other trees. In one embodiment, trees are constructed subject to constraints C. Trees are traversed simultaneously. A search queue stores tuples of the nodes of the trees. Initialize the search queue to the tuple of the root of the tree. Also, a tuple of V, e.g., infinity, is constructed. min V i At each step, we remove tuples from the search queue until it is empty. Let the removed tuples be (p 1 , ..., p f ) There are two cases. The first case is that for each node p j The tree T j or the node is composed of a small number of concrete points according to constraint C. In this case, determine the constituent trip durations of at least one commute route between the following endpoints according to constraint C: (1) For any 1 ≦ x ≦ f and any 1 ≦ y ≦ f, F x and F y There is a direct path between F' x is node p x Included in F' y is node p u In the case where F is included in x At least one concrete F' selected for x And, F y At least one concrete F' selected for y Between, and (2) For 1 ≤ j ≤ f, F' j is node p j When included in, there is at least one specific F' j and R j ∪N j Between at least one specific point in. Using these constituent travel periods, we find at least one such tuple (F' 1 , ..., F' f ) Vi Determine the value of V i V min If less than V min to the value V i Set it to (F 1 , ..., F f ) to (F' 1 , ..., F' f ) and V min and (F 1 , ..., F f ) in other cases. j For each node p in j Consider the children of . Subject to constraint C, there exists at least one tuple (n 1 , ..., n f ), for a tuple (n 1 , ..., n f ) or skip the tuple (n 1 , ..., n f )V i Determine a lower bound L for the value of . The lower bound L relates to at least a portion of the journey duration of one commute route, i.e., the portion of the journey between the following endpoints: (1) For any of 1 ≦ x ≦ f and 1 ≦ y ≦ f, F x and F y There is a direct path between F' x is node n x Included in F' y is node n y In the case where F is included in x At least one specific F' selected for x And, F y At least one specific F' selected for y Between; and (2) For 1 ≤ j ≤ f, F' j is node N j In the case where F' is included in j And, R j ∪N j At least one specific point in. Several methods for determining the lower limit L are described in the invention disclosure (see, for example, Section 2.6.4). min If so, the tuple (n 1 , ..., n f ) are skipped. The tuples that were not skipped are queued for traversal to find tuples that satisfy the optimization goal G. If necessary, the branch-and-bound search is repeated. Then, zero or more tuples (F 1 , ..., F f ) to determine
[0119] In one embodiment, the optimization sub-problems are solved using any method available to one of skill in the art, such as using any enumeration search, any tree search, any gradient descent search, any branch-and-bound search, adapting any search as described above, or using combinations thereof, in accordance with the teachings of this disclosure. 2.6.4 Lower limit L
[0120] We now turn our attention to determining a lower bound L of at least one commute route. This lower bound pertains to a portion of at least one commute route, F 1 , ..., F f where each endpoint F j is the node N j Some embodiments for determining the lower limit have already been described in the present disclosure.
[0121] In general, one of several techniques is used to determine the lower bound L. To simplify the explanation of how the lower bound is determined, consider a simple commute from A to B to C, where A is {a 1 , a 2}, B can be selected from {b 1 , b 2}, C can be selected from {c 1 , c 2}, but this simplification is not limiting. Either technique is used to determine the lower bound in the general case, in any way available to one skilled in the art. One approach is to enumerate at least one instance and calculate the minimum journey duration of the instance, or calculate a minimum lower bound on 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. Therefore, this approach can be costly. Another approach is to approximate the part with a chain along the direction of travel within the part. For example, create a source vertex and connect the source vertex to each a with zero-weight edges. i It also creates a target vertex and connects it to each c i Then, we connect each a to the target vertex using an edge with a weight between 2 i For each b j , and each b i For each c j , then compute the shortest path from that source vertex to that target vertex, and set a lower bound to the length of the shortest path. Other techniques approximate the part by a chain of at least 1. Other techniques approximate the part by a minimum spanning tree (MST) of at least 1, and use the weight of each minimum spanning tree to set the lower bound. Other techniques set the lower bound based on the geographic distance of a straight line, e.g., the distance from A to B plus the distances from B to C, and divide each by a speed, such as the average speed. Other techniques can relax the geometry of the part to separate the journey from A to B from the journey from B to C. For example, an instance of a 1 → b 1 and b 2 → c 1Such a relaxation allows us to exploit the additive property, i.e., the lower bound is the sum of the partial lower bounds: (1) a lower bound on the travel duration from A to B, plus (2) a lower bound on the travel duration from B to C. The instances of each partial lower bound are small, and therefore, in some cases, the cost may be underestimated. However, relaxing the shape makes the lower bound less strict. Other techniques approximate the partial travel durations. For example, (1) {a 1 ,a 2} represents position a r , (2) {b 1 ,b 2} represents position b r , (3) {c 1 ,c 2} represents position c r We then determine the locations of the trips, so that these locations distort the trip duration in a controlled way. Such locations can be computed using any clustering method, such as centroids. We then classify each instance of a simple commute route as a r → b r → c r Thus, the lower bound is (1) a r From b r (2) the lower limit of the journey period to b r From c r (3) the lower limit of the travel period to r , b r , c r, which is the sum of the distortions in the journey duration caused by the position of . Another approach considers each pair of end points of the journey included in the part, determines a representative near each end point, calculates the journey duration between the two representatives, and then uses the journey duration to set the lower bound. Another approach considers each pair of end points of the journey included in the part, determines the meeting hub of the journey between the endpoints, calculates the journey duration between the meeting hub and each end point, and then uses the journey duration to set the lower bound. Another approach considers each pair of end points of the journey included in the part, examines the contraction hierarchy, determines the shortcuts for the pair, calculates the journey duration of the shortcuts, and then uses the journey duration to set the lower bound. Another approach uses the relevant prior art in any manner available to one of skill in the art. In one embodiment, techniques are combined or one approach is used for fragments of the part and another approach is used for other fragments. Many other examples of using these approaches to determine the lower bound L will be apparent to one of skill in the art without departing from the scope and spirit of the embodiments.
[0122] The general approach is further illustrated by a detailed example. Let L = L internal + L external It is convenient to decompose it into a sum of, where L internal is any free point (i.e., F 1 , ..., F f (either external is any free point and any non-free point (i.e., ∪_{j=1}^{f}(R j ∪ N j ) or
[0123] First, the lower bound L external Focus on the Tree T j is point F j Recall that the partitioning of F is used to represent the partitioning of F. jTo this end, we build a tree that represents the journeys between the points in the commuting route and at least one specific point identified by the commuting route. j ∪ N j Consider a specific point X in F. There is at least one commute route from X to F. j If we have a direct path from X to T, then we use splitting to build a tree. j represents a lower bound on the duration of a journey to a set of various concrete points associated with the nodes of X. Specifically, a tree represents a minimal structure, and each node e of the tree has a tag, which is a tree T j Any concrete point F included in the nodes of j The lower bound of the travel time to P X→Fj Let e denote the tag of node e in the tree by P X→Fj (e). If at least one commute route is in the opposite direction, F j If we have a direct path from to X, then we can use the same partition to create a "reverse" tree P Fj→X Construct such trees for j at least 1, such that 1≦j≦f. Construct such trees using related embodiments described in the invention disclosure. In one embodiment, the tree is constructed subject to a constraint C, where tuples (n 1 , ..., n f ) tuples are F 1 , ..., F f We express a constraint on how to select a specific point for each of the tuples L by simply summing the associated tags over all associated direct legs in at least one commute route as follows: external can be established. L external (n 1 , ..., 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 In one embodiment, this lower limit is determined by the free point F 1 , ..., F f is the sum of the minimum direct journeys for at least one commute route between L internal (n 1 , ..., n f ) = Σ_{1≦x,y≦f} Σ_{direct path F x →F y} L Fx→Fy (n x ,n y ) Therefore, for some x and some y such that 1 ≦ x ≦ f and 1 ≦ y ≦ f, F x From F y Focus on the direct path of 1 to , and set the lower bound L Fx→Fy (n x ,n y ), where the endpoint F x is node n x is limited to specific points contained in the endpoint F y is node n y is limited to the specific points contained in
[0125] In one embodiment, a journey between endpoints can be well approximated by a shortest journey. An example scenario is when the journey is on foot. In any case, the tree T x is point F xRecall that the tree T represents a partition of T. In one embodiment, such a partition represents a hierarchical clustering, where the cluster radius decreases as you go down the hierarchy. Such a partition can be computed using any clustering method. y also represents such a partition. d x is node n x represents the cluster radius of y is node n y represents the cluster radius of the cluster of the vertices Fx to Fx. y The shortest travel time to node n is at least x From the centroid of node n y From the shortest travel time to the center of gravity of x + d y ) must be subtracted from the lower bound L' of the minimum path duration between pairs of centers of gravity, using any technique for determining a lower bound described in the invention disclosure. Fx→Fy (n x ,n y ) to L'-(d x +d y ) value. In one embodiment, a lower bound between at least one pair of centroids is pre-calculated and stored in a storage medium before receiving a request, 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 receiving a request. More generally, in one embodiment, instead of the centroids of the clusters, a representative of the cluster is used, and instead of the radius of the cluster, a distortion introduced by the representative is used.
[0126] In one embodiment, the journey between the endpoints cannot be well approximated by a shortest journey. An example would be traveling by school bus and the school bus meanders through residential neighborhoods, or two schools have separate bus networks that cannot be joined. In any case, in one embodiment, the tree T x and T y A tree T that represents a minimal structure on a pair of nodes in Fx→FyThis minimal structure includes T x From the node of T y In one embodiment, the minimal structure is determined as follows: x Leaf of £ x and Tree T y Leaf of £ y Then, using any technique for determining a lower limit described in the invention disclosure, x From any specific point in y Calculate the lower bound of the journey duration to any specific point in . Fx→Fy ( x ,£ y ), then we walk up the tree and compute lower bounds and tags for pairs of nodes, e.g., T x Child and T y Then, for a tree T Fx→Fy Node (n x ,n y ) tag T Fx→Fy (n x ,n y ) with a lower limit L Fx→Fy (n x ,n y ) in the tree T. In one embodiment, we compute a lower bound for a restricted collection of node pairs, e.g., only nearby nodes. In one embodiment, we set a tree T Fx→Fy In one embodiment, a lower bound for at least one set of nodes is pre-computed and stored in a storage medium before receiving a request, and then the pre-computed lower bound is retrieved from the storage medium and used during request processing rather than computing the lower bound after receiving the request. 2.6.5 Sparsification
[0127] In one embodiment, an approach is used to replace some of the concrete points with concrete representatives, which may reduce the number of choices that need to be considered because concrete representatives are considered instead of each of multiple concrete points. One such approach was described above in section 2.6.2. Another such approach is now described.
[0128] Consider any solution to the optimization subproblem, ignoring for the moment how the solution was computed. For the representative, consider some solutions. ∪_{j=1}^{f} (R j ∪ N j ) Consider any concrete point P in . Then, for at least one commute route, P and a free point F in solution, 1 ≦ i ≦ f, i The specific F chosen for i Any direct path PF between i There are two cases. Case A: Linear path PF i passes through the representative R. In this case, the solution is easily obtained by solving the adjusted subproblem, where (A1) there is at least one commuting route that passes through PF i (A2) Representatives R and F i Add the corresponding direct trip between P and the representative R to at least one commute route, and (A3) adjust the optimization function to compensate for the deleted trip between P and the representative R. Case B: Direct trip PF i does not pass through any representative. In this case, the solution is easily obtained by solving the coordinated subproblem, where (B1) there is at least one direct route PF i Delete (B2) F i For F i By selecting F i (B3) Making P and F non-free i We modify the optimization function to compensate for the deleted steps between P and F. Furthermore, because of the way in which the representatives are determined, iWhen P are far enough apart from each other, then it is found that the shortest path between the two endpoints must pass through the representative. Therefore, when the direct path between the two endpoints is long enough, case A is expected to occur in the solution. Furthermore, by applying adjustments to each direct path attached to P, we can remove P from the subproblem while adding some concrete representatives, making some free points non-free, and adjusting the optimization function. In one embodiment, no compensation is performed in step (A3) or no compensation is performed in step (B3). The adjusted subproblem is F 1 , ..., F f We maintain an invariant of operations on some free points that are subsequences of , and note that the subsequences may be connected by direct paths with some representatives. This invariant allows recursion.
[0129] The above observations lead to the sparsification approach shown in Figure 19. Consider a sequence S of free points in the current subproblem. The sequence S is F 1 , ..., F f Select any concrete point P in the current subproblem. Then, P and F in the sequence S are i Each direct path between PF i (1) Let R be a representative of P near i,1 , ..., R i,ri The representative depends on the travel and its direction, where r i ≧ 0, and (2) F near P i Specific points that can be selected for F i,1 , ..., F i,fi Identify, where f i ≧0. In either case, any notion of closeness described in the invention disclosure may be used. In one embodiment, r i ≧ 1, f i ≧ 1, or r i + f i≥ 1. In one embodiment, we determine that case A does not occur, and then skip step (1) and use r i In one embodiment, it is determined that case B does not occur, and then step (2) is skipped and f is set to zero. i Set r to zero. i and f i is a specific direct path PF i If you want to emphasize the context, use r i [PF i ] and f i [PF i We use the notation [ ]. Then, we generate at least one adjusted subproblem. Each adjusted subproblem combines the adjustments resulting from each direct step as follows: (1) P and any F in sequence S i Each direct leg PF between i About r i [PF i ] and use the corresponding direct itinerary to convert it to F i Connect to or i [PF i ] and thus select one of the specific points F i (i) make P non-free and in any case correct the optimization function according to the above observations; and (ii) remove P and adjust the optimization function based on any removed direct paths between P and a specific point 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, recursively solve each adjusted sub-problem. Stop the recursion at any stage. The basic recursive sub-problem is solved using any method available to one skilled in the art, for example, using any of the approaches described in the invention disclosure, mutatis mutandis, such as obtaining pre-computed solutions. Then, select the solution that best suits the optimization goal. In one embodiment, the above invention disclosure is used, where P corresponds to a location and F i The points that can be selected correspond to several sites. For example, each representative and F i This means that the request is i This is useful when filtering a subset of the points that can be selected at once, since the precomputation of 1 can be reused when generating the results of any kind of filtering. i +f i ) leads to an exponential growth of subproblems. However, (r i + f i ) is often small in practice, and many useful commute routes result in shallow recursion depths; thus, exponential growth can usually be controlled in practice, and recursion can be naturally parallelized.
[0130] In general, the sparsification approach uses the above observations in any way available to one skilled in the art. Some examples include:
[0131] In one embodiment, the commute route includes a direct leg between free point F and free point F'. For example, at least one commute route identifies a leg from home to work. In one embodiment, the above observations can be applied, where F is F iand where a concrete point F' chosen for F' serves as P. This results in r' concrete representatives near F', and also f' concrete points near F' that can be chosen for F. Different choices 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 , and where the specific point F selected for F serves as P. As a result, adjusted sub-problems are generated, each corresponding to a direct path between a specific point selected for F and a nearby specific point selected for F', and adjusted sub-problems can be generated, each corresponding to a direct path between a specific representative near the specific point selected for F and a specific representative near the specific point selected for F'. Due to overlaps, the number of distinct sub-problems is at most the number of nearby pairs of F and F' plus the square of the number of representatives. In general, in a corresponding manner, the above observation can be applied when a commute route includes k ≧ 2 free points and there is at least one direct path between a pair of free points.
[0132] In one embodiment, the commute route includes a direct journey from a specific point S to a free point F to a specific point T. For example, at least one commute route identifies an optimal transit problem. In one embodiment, the above observations can be applied, with S serving as P and F serving as F. i This functions as r near S. s A specific representative is determined, and f near S that can be selected for F s The result is that the specific points are also determined. Symmetrically, the above observations can be applied, and T acts as P and F acts as F. i This functions as a T A specific representative is determined, and f near T that can be selected for F T The specific points are also determined. As a result, three types of adjusted subproblems are generated: (1) fs Subproblems,Each subproblem corresponds to a direct path from a specific point near S chosen for F to T,(2) f T subproblems, each of which corresponds to a direct path from S to a specific point near T selected for F; and (3) r s ·r T Subproblems,Each subproblem corresponds to a journey from a concrete representative near S to a free point F, and then to a concrete representative near T. The total number of refined subproblems generated is f s + f T + r s ·r T In one embodiment, at least one solution to a subproblem of type (3) is precomputed and stored in a storage medium before receiving a request, and then the precomputed solution is retrieved from the storage medium and used during request processing. Due to overlaps, the number of distinct 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 in a corresponding manner when a commute route contains a free point and k ≥ 1 concrete points, and there is a direct journey between each concrete point and the free point.
[0133] In one embodiment, in a corresponding manner, the above observations can be applied when a commute route includes several free points connected by several direct journeys between them, where each free point may be connected by several direct journeys with several concrete points. This case corresponds to the description of the optimization sub-problem above.
[0134] In one embodiment, the commute route includes specific points P 1 and specific points P 2 For example, at least one commute route identifies a journey from a provided start location to a provided target location without any free points. In one embodiment, the above observations can be applied, and P 1 acts as P, and P 2is F i As a result, P 1 Near r 1 The specific representatives of the individuals are determined, and P 2 P 1 Symmetrically, the above observations can be applied and P 2 acts as P, and P 1 is F i As a result, P 2 Near r 2 The specific representatives will be decided, and P 1 P 2 It may also be determined that the vertex is near P 2 Close to P 1 Generate 1 adjusted subproblems corresponding to the direct steps between P 1 A concrete representative close to P 2 r corresponds to the direct path between the specific representative close to 1 ·r 2 Generate adjusted subproblems of 1 + r 1 ·r 2 adjusted subproblems are generated. Due to overlaps, the number of distinct subproblems is at most P 1 and P 2 This is the square of the number of pairs and the number of representatives.
[0135] There is a connection between the above sparsification approach and certain routing methods prevalent in the industry. In the basic case, where at least one commuter route specifies only a journey from a provided start location to a provided target location, the sparsification approach can be considered similar to a routing method based on a specific two-sided representation. This routing method is described, for example, in claim 1 of prior art US Pat. No. 8,417,409, and the method is also described in a number of prior art patent documents. Thus, our sparsification approach can be seen as a generalization of common routing methods. The generalization allows for more complex journeys than just a journey from a specified start location to a specified target location, and also allows for more freedom in providing several endpoints. Interesting, right?
[0136] The sparsification approach may exclude pre-defined embodiments, for example, upon prior request 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 approach of sparsification described in the invention disclosure; and (2) performing a search through the at least one representative, rather than a concrete point that can be selected for the at least one free point, using an optimization function according to the approach of sparsification. s ·r T A branch-and-bound search is performed on the representative pairs of . In one embodiment, all free points are replaced. In one embodiment, all free points are not replaced. In one embodiment, the two sparsification approaches are combined, e.g., some concrete points are replaced by cluster representatives, but other concrete points are replaced by representatives.
[0138] In one embodiment, any approach to sparsification is combined with any approach of the invention disclosure, using any method available to one of skill in the art. 2.6.6 Variants
[0139] In one embodiment, the method uses any enumeration search, any tree search, any gradient descent search, any branch and bound search, or any combination thereof, according to the teachings of the present disclosure to solve the optimization problem instance described in the present disclosure. In one embodiment, the method uses any approach available to a person skilled in the art, for example, any heuristic, or any prior art operations research algorithm, for example, any combinatorial optimization algorithm, or any approach reported in Bodin and Golden: "Classification in Vehicle Routing and Scheduling", Networks, Vol. 11(2) 1981, based on the teachings of the present disclosure to solve the optimization problem instance. In one embodiment, any first approach of the present disclosure is used as part of any second approach of the present disclosure by appropriately separating the first approach of the present disclosure and renaming the interface between the two approaches. For example, in the sparsification approach, a branch and bound search is used to solve the adjusted sub-problem, or in any method using a representative, the smoothing of the above-mentioned invention disclosure is used. In one embodiment, the method may exclude any pre-defined ways of solving any pre-defined instance of the optimization problem, e.g., as per previous requests or to ensure patentability with respect to prior art. Many other ways of solving the optimization problem will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. 3 Computer Systems and Equipment
[0140] An embodiment of the present invention includes a computer system. The computer system may be a hardware embodiment, a software embodiment, or a combination of the two. The computer system includes at least one processor, such as a CPU or GPU. The computer system includes a storage medium, such as a non-transitory computer readable storage medium, a volatile memory, a non-volatile memory, or a database. The storage medium stores one or more programs for execution by the at least one processor. The one or more programs include instructions executed by the at least one processor to perform at least one step of the method described in the present disclosure. In one embodiment, the instructions are expressed in any programming language, such as C++, Java, JavaScript, etc. In one embodiment, the one or more programs use the storage medium to store or retrieve information about at least one point or at least one traffic system. In one embodiment, the computer system includes at least one network component that is used by the one or more programs to receive information from a data source or transmit information to a data sink. In one embodiment, the use is for receiving or for transmitting in a particular manner. Any such computer system can be considered as a general purpose computer that is specifically programmed to implement the particular method described in the invention disclosure. Thus, in practice, a computer system is a special purpose computer that is programmed to perform particular steps of a method according to instructions in software (one or more programs) that encode the method. In one embodiment, at least one or all parts of the computer system have a physical or tangible form. In one embodiment, at least one or all parts of the computer system have a non-physical or non-tangible form. Many other embodiments of computer systems will be apparent to those skilled in the art without departing from the scope and spirit of the embodiments. Each method disclosed herein includes any computer system embodiment that implements the method.
[0141] An embodiment of the invention includes an apparatus. The apparatus may be embodied as a physical device, an interactive computer service, a smartphone application, a web page, a New Zealand Section 11 washing machine, controlled by software, where the software implements the methods described in the invention disclosure, and as a boxer glove that punches search or comparison results in the back of a patent examiner who lies to force the applicant to unnecessarily restrict the scope of the claims. An exemplary representation of the apparatus is shown in FIG. 18. It will be apparent to one of ordinary skill in the art that the presentation of the apparatus may be adjusted (e.g., rearranged, resized, changed color or shape, added or removed components, etc.) without departing from the scope and spirit of the embodiments. The apparatus receives requests from a user via a "receiver," such as a user interface of a smartphone application, where, for example, a user may provide a work address by typing into a search box, provide a work location by tapping on a map displayed in the smartphone application, speak to a voice recognition engine to describe the work location, or enter a GPS reading that encodes the work location. In one embodiment, the receiver receives any information contained in the request described in the invention disclosure. The apparatus then generates a result using any method described in the invention disclosure. In one embodiment, the results are generated by a computer system implementing the method. The device then transmits the results to the user via a "transmitter," such as, for example, a display in a smartphone application, a voice synthesizer (e.g., by speaking to the user), augmented reality lenses contained in glasses worn on the user's head, a 3D projector on a Jedi Knight, boxer gloves, etc. It will be apparent to one skilled in the art that the present invention is not limited to one type of device, nor is it limited to one type of receiver or transmitter. In one embodiment, at least one or all parts of the device have a physical or tangible embodiment. In one embodiment, at least one or all parts of the device have a non-physical or non-tangible embodiment.Many other embodiments of the apparatus will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the embodiments. Each method of the present disclosure includes any and all apparatus embodiments for implementing that method. 4 Claim Construction
[0142] Each claim will be construed using the following principles: "Principles of Claim Construction" The broadest reasonable interpretation by a person skilled in the art in light of the detailed description of the invention and the drawings.
[0143] This principle suggests that if embodiment E of a claim is excluded from patentability, then in the particular jurisdiction in which the patent application was filed, a person of ordinary skill in the art would not consider embodiment E to be a reasonable interpretation of the claim, and thus, a person of ordinary skill in the art would not consider embodiment E to be included in the interpretation of the claim in that jurisdiction. An embodiment that is unpatentable in a jurisdiction is implicitly excluded from the scope of a claim. The scope of a claim does not include an embodiment that is unpatentable in a jurisdiction.
[0144] For example, consider the jurisdiction of Canada. Thus, the following statement regarding a patent application filed in Canada is incorrect: The invention recited in the claims of the patent application is directed 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 in the jurisdiction: “Article 52 Patentable inventions ... (2) In particular, the following shall not be considered as inventions within the meaning of paragraph 1: (a) Discoveries, scientific theories, and mathematical methods (b) aesthetic creations; (c) Schemes, rules, methods of conducting mental acts, games, business, and computer programs (d) Presentation of Information. (3) Paragraph 2 shall exclude the patentability of that subject-matter or activity only to the extent that a European patent application or a European patent relates to that subject-matter or activity as such." (https: / / www.epo.org / law-practice / legal-texts / html / epc / 2020 / e / ar52.html) Any such embodiments as defined in Article 52 of the European Patent Convention are 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 recognize that various modifications and substitutions of essentially equivalents may be made without departing from the scope and spirit of the embodiments. In addition, a particular situation may be adapted to the teachings of the present invention without departing from the scope and spirit of the embodiments. Thus, although the invention has been described with reference to disclosed embodiments, the invention is not limited to those embodiments. Rather, the invention includes all embodiments falling within the scope of the claims, in accordance with the above "rules of claim interpretation."
[0147] For example, a person skilled in the art knows how to create a "process of manufacture" within the meaning of the Australian Patent Office's antitrust law for any part of any claim. Thus, any process of any claim includes any embodiment that realizes the "process of manufacture" according to the above "rules of claim construction". For example, a person skilled in the art knows how to create a "technical feature" within the meaning of the European Patent Convention for any part of any claim. Thus, any process of any claim includes any embodiment that realizes the "technical feature" according to the above "rules of claim construction". In general, a person skilled in the art knows how to create any embodiment of any claim that is patentable in the jurisdiction. Thus, any process of any claim in the jurisdiction includes such a patentable embodiment according to the above "rules of claim construction".
[0148] It is unfortunate that so much space in the invention disclosure must be used 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 recognize that the claims contain many patentable embodiments. Nevertheless, such patent examiners force applicants to exclude some of the patentable embodiments. Such patent examiners may use the deceptive tactic of simply declaring that the applicant's arguments (as above) are unpersuasive, in effect avoiding specifically addressing the arguments. Such patent examiners may use even more brazenly deceptive tactics by simply declaring that they have addressed the opinion when it is clear that they have ignored it. Considering that patent examiners are intelligent enough, there is reason to believe that they object in bad faith to facilitate the theft of intellectual property in certain jurisdictions or to force applicants to pay the costs of appeals, hearings, and litigation. In particular, it is not appropriate for a patent examiner to use the European Magic Convention to deceive an applicant into unnecessarily limiting the scope of the claims by deceiving the applicant by removing certain steps from the claims under the pretense of opposition. It is not appropriate for a Commissioner of Patents to lie to cover up a colleague's earlier lies and to deceive the applicant into paying US$70,000 for an appeal to the High Court of Australia.
[0149] Not all patent offices are corrupt at heart. On July 11, 2022, the Japan Patent Office issued an objection of non-patentable subject matter regarding 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. A reasonable person would not add non-patentable embodiments to the scope of claim 1. Therefore, the applicant determines that the Japanese examiner's objection is not acceptable." In response, the Japan Patent Office granted patent JP 7181562 on November 22, 2022. The applicant appreciates the Japan Patent Office's sincere response. At the end of the 5th paragraph
[0150] The prior art cited in the present disclosure is considered to be common knowledge in the art, and a person skilled in the art would have that knowledge.
[0151] In the claims, the antecedent basis is sometimes boxed: a boxed term in a claim is used later as that dotted boxed term.
[0152] We include glossaries of selected phrases recited in the claims and provide illustrative references throughout the specification, which are not intended to be exhaustive and other references may exist. The sequence of phrases in the table is intended to follow the order in which they appear in the claims. JPEG2025066756000002.jpg202166JPEG2025066756000003.jpg201166JPEG2025066756000004.jpg21166
Claims
[Claim 1] 1. A method for searching or comparing at least two points using a journey in a transportation system, the method comprising: (a) receiving a request comprising an optimization problem including identifying a journey in the transportation system between a point P and a free point F, the free point F being selected arbitrarily in at least two ways, the journey including at least one commute route, between the at least two points; (b) determining, close to said point P, i. at least one nearby representative, or ii. at least one nearby point among the at least two points; (c) generating an adjusted sub-problem based on the optimization problem by removing the itinerary specification, and instead: i. adding a coordinated path specification between the free point F and a nearby representative included in the at least one nearby representative, or ii. Identifying a nearby point to be selected for the free point F, where the nearby point is included in the at least one nearby point; (d) solving the optimization problem using an approach that includes solving the adjusted sub-problems; wherein an optimization goal included in the optimization problem depends on a description of at least one journey of the at least one commute route within the transportation system; and (e) responding to said request with search or comparison results obtained using said at least one journey description.
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