WO2021232586A1 - 基于动态规划的出行组客方法、装置、设备及存储介质 - Google Patents
基于动态规划的出行组客方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- WO2021232586A1 WO2021232586A1 PCT/CN2020/104789 CN2020104789W WO2021232586A1 WO 2021232586 A1 WO2021232586 A1 WO 2021232586A1 CN 2020104789 W CN2020104789 W CN 2020104789W WO 2021232586 A1 WO2021232586 A1 WO 2021232586A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- order
- target
- travel demand
- travel
- combination
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Definitions
- This application relates to the field of machine learning technology, and in particular to a travel grouping method, device, equipment and storage medium based on dynamic programming.
- Smart travel on the Internet uses mobile apps and mobile phones to dynamically collect travel needs, match available transportation services, further reduce travel costs, and reduce related traffic pollution and energy consumption issues.
- smart travel on the Internet includes two steps: demand matching and route planning.
- the demand matching stage the demand-transport service is matched according to the travel demand of individual or overall orders and the number of seats in the vehicle.
- route planning according to the customer's starting point and destination, taking into account factors such as travel time and travel distance, design the least time-consuming route, guide vehicles to drive in the complex intercity traffic environment, and improve the user experience of travel.
- the number of seats in vehicles of similar products in the industry is relatively small, most of which are small cars, and the number of people who join the order is small. Because the number of seats is small, the amount of calculation for the order is not large, and the journey time is unlimited.
- the inventor realizes that when the existing travel software performs customer matching, if the previous order number data is insufficient, the machine learning model cannot be trained to perform more efficient order matching on orders, and the efficiency of customer grouping is low.
- the main purpose of this application is to solve the problem of low customer grouping efficiency when the number of orders in the previous period is insufficient and the machine learning model cannot be trained to match orders more efficiently.
- the first aspect of the present application provides a travel grouping method based on dynamic planning, including: obtaining a plurality of travel demand orders, the travel demand orders are used to provide users with travel vehicles, and the travel demand orders Including departure place, departure station, destination, destination station, and travel time; the multiple travel demand orders are processed according to preset rules to obtain the target travel demand order set and the target order number corresponding to each target travel demand order , The boarding time of the target travel demand order set is within the first preset time period; the vehicle information within the first preset time period is acquired, and the vehicle information includes the total number of seats for each vehicle to be allocated, The number of remaining seats for each vehicle to be allocated and the total number of vehicles to be allocated; each target order number and the vehicle information in the target travel demand order set are traversed, and the number of people getting on and off at all stations is determined, and the order is obtained Number combination; call the dynamic programming algorithm to traverse the order number combination, determine all the order allocation combination, the order allocation combination includes a plurality of pre-
- the second aspect of the present application provides a travel group passenger equipment based on dynamic programming, including a memory, a processor, and computer-readable instructions stored on the memory and running on the processor, and the processor executes
- the computer-readable instructions implement the following steps: obtain a plurality of travel demand orders, the travel demand orders are used to provide users with travel vehicles, and the travel demand orders include departure place, departure site, destination, destination site, and ride. Car time; the multiple travel demand orders are processed according to preset rules, and the target travel demand order set and the target order number corresponding to each target travel demand order are obtained.
- the ride time of the target travel demand order set is in the first Within a preset time period; obtain vehicle information within the first preset time period, where the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the vehicles of the vehicle to be allocated Total number; traverse each target order number and the vehicle information in the target travel demand order set, determine the number of people getting on and off at all stations, and get the order number combination; call the dynamic programming algorithm to traverse the order number combination, Determine all order allocation combinations, where the order allocation combinations include multiple pre-allocated target order numbers; determine multiple combinations of sites to be matched according to all the combinations of order allocation and Dijkstra’s algorithm, and the sites to be matched The sum of the distances between the combinable stations in the combination is the shortest; the multiple to-be-matched station combinations are sorted to obtain a target station combination whose distance between the stations does not exceed a threshold.
- the third aspect of the present application provides a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and when the computer instructions run on the computer, the computer executes the following steps: Obtain multiple travel requirements Order, the travel demand order is used to provide users with travel vehicles, the travel demand order includes departure place, departure site, destination, destination site, and travel time; the multiple travel demand orders are processed in accordance with preset rules Process, obtain the target travel demand order set and the target order number corresponding to each target travel demand order, the boarding time of the target travel demand order set is within the first preset time period range; obtain the first preset time period range
- the vehicle information in the vehicle the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the total number of vehicles to be allocated; each target order number in the set of target travel demand orders is traversed And the vehicle information, determine the number of people getting on and off at all stations, and get the order number combination; call the dynamic programming algorithm to traverse the order number combination to determine all the order
- a fourth aspect of the present application provides a travel grouping device based on dynamic planning, including: a first acquisition module for acquiring a plurality of travel demand orders, the travel demand orders are used to provide users with travel vehicles, and the travel Demand orders include departure place, departure site, destination, destination site, and travel time; the processing module is used to process the multiple travel demand orders according to preset rules to obtain a set of target travel demand orders and each target travel The target order number corresponding to the demand order, the boarding time of the target travel demand order set is within the first preset time period; the second acquisition module is used to acquire vehicle information within the first preset time period, so The vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the total number of vehicles to be allocated; the traversal module is used to traverse each target order number and number in the set of target travel demand orders The vehicle information determines the number of people getting on and off at all stations to obtain the order number combination; the first determination module is used to call the dynamic programming algorithm to traverse the
- the allocation combination includes multiple pre-allocated target order numbers; the second determination module is used to determine multiple combinations of sites to be matched according to all the combination of order allocation and Dijkstra’s algorithm, and the combinations of sites to be matched can be The sum of the distances between the combined stations is the shortest; the sorting module is used to sort the multiple to-be-matched station combinations to obtain a target station combination whose distance between the stations does not exceed a threshold.
- the travel demand orders are used to provide users with travel vehicles.
- the travel demand orders include departure place, departure station, destination, destination station and boarding time; for multiple trips
- the demand orders are processed in accordance with the preset rules, and the target travel demand order set and the target order number corresponding to each target travel demand order are obtained.
- the boarding time of the target travel demand order set is within the range of the first preset time period; the first preset is obtained Set the vehicle information within the time period.
- the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the total number of vehicles to be allocated; each target order number in the set of target travel demand orders is traversed and Vehicle information, determine the number of people getting on and off at all stations, and get the order number combination; call the dynamic programming algorithm to traverse the order number combination, and determine all the order allocation combinations.
- the order allocation combination includes multiple pre-allocated target order numbers; All order allocation combinations and Dijkstra’s algorithm determine multiple combinations of sites to be matched, and the sum of the distances between the sites that can be combined in the combination of sites to be matched is the shortest; sort the combinations of multiple sites to be matched to obtain the distance between sites Combinations of target sites that do not exceed the threshold.
- the order combination that meets the conditions is determined through the dynamic programming algorithm, and then the Dijkstra algorithm is used to determine the target combination with the closest station distance, and the ride demand and the running vehicle are matched according to the target combination, and the available vehicles are quickly found. Match the available vehicle resources and demand orders, reduce the journey time and distance of customers after getting on the vehicle, and improve the efficiency of passenger grouping.
- FIG. 1 is a schematic diagram of an embodiment of a travel grouping method based on dynamic programming in an embodiment of this application;
- FIG. 2 is a schematic diagram of an embodiment of a travel grouping device based on dynamic programming in an embodiment of the application
- FIG. 3 is a schematic diagram of another embodiment of a travel grouping device based on dynamic programming in an embodiment of the application;
- Fig. 4 is a schematic diagram of an embodiment of a travel group passenger device based on dynamic programming in an embodiment of the application.
- the embodiments of this application provide a travel grouping method, device, equipment and storage medium based on dynamic planning, which are used to quickly find available vehicles, match available vehicle resources and demand orders, reduce the journey time and shorten the journey time for customers after getting on the bus. Distance to improve the efficiency of passenger grouping.
- An embodiment of the travel grouping method based on dynamic programming in the embodiment of the present application includes:
- the travel grouping method based on dynamic programming includes:
- the travel demand orders are used to provide users with travel vehicles.
- the travel demand orders include departure place, departure station, destination, destination station, and boarding time.
- the server obtains a plurality of travel demand orders, the travel demand orders are used to provide users with travel vehicles, and the travel demand orders include a departure place, a departure station, a destination, a destination station, and a boarding time.
- the origin and destination are specific cities, such as Guangzhou and Shenzhen.
- the departure station and destination station are selected in the preset station list, and the user can only select the recorded stations in the station list.
- the list of sites may include Guangzhou TV Station, Guangzhou Zoo, and Guangzhou Yuexiu South Passenger Terminal.
- the user can choose Guangzhou TV Station as the departure station and Guangzhou Zoo as the destination station. Choose 12 noon on a certain day as the time to board the bus.
- the site list can include sites in the same city or in different cities, and the site settings can be reasonably set in terms of landmarks, well-known scenic spots, and bus stops. The specifics are not limited here.
- the execution subject of this application may be a travel grouping device based on dynamic programming, and may also be a terminal or a server, which is not specifically limited here.
- the embodiment of the present application takes the server as the execution subject as an example for description.
- the specific process includes: (1) The server analyzes multiple travel demand orders to obtain the ride time of each user, and each user corresponds to a travel demand order;
- the server divides multiple travel demand orders according to the preset time interval, and generates multiple initial travel demand order sets, and the travel time range of each initial travel demand order set is different;
- the boarding time of 2 orders is at 9:00
- the boarding time of 3 orders is at 9:30
- the boarding time of 1 order is at 9:35
- the boarding time of 1 order is at 9:35. It is at 9:45
- the boarding time of one order is at 10:15.
- the preset time interval is half an hour, then 5 orders from 9:00-9:30 can be used as an initial travel demand order set A
- the 2 orders from 9:30 to 10:00 are taken as an initial travel demand order set B
- the 1 order from 10:00 to 10:30 is taken as an initial travel demand order set C.
- the preset time interval is 1 hour
- 7 orders from 9:00 to 10:00 can be used as an initial travel demand order set D
- the server screens multiple initial travel demand order sets according to the departure site and destination site, and generates multiple transition travel demand order sets.
- the departure site is in the same city, and the destination site is also in the same city. a city;
- the orders whose departure site is not in the same city in the initial travel demand order set are excluded. For example, if 4 orders in the initial travel demand order set A depart from Guangzhou and go to Shenzhen, and one order departs from Guangzhou and goes to Foshan Because there are few orders to Foshan, one order out of Foshan can be eliminated from set A, the eliminated orders are re-divided, and the remaining four orders destined for Shenzhen are used as transitional travel demand order set F.
- the server selects the target travel demand order set corresponding to the first preset period from the multiple transitional travel demand order sets, and determines the target order number corresponding to each travel demand order in the target travel demand order set.
- the transitional travel demand order set F can be selected as the target travel demand order set, and the order numbers corresponding to four of the orders can be determined.
- the first preset time period is greater than or equal to the preset time interval.
- the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the total number of vehicles for the vehicle to be allocated.
- the server obtains vehicle information within the first preset time period, and the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the total number of vehicles for the vehicle to be allocated.
- the vehicles to be allocated include 5 cars, including 3 cars with 5 seats, 1 car with 7 seats, and 1 car with 11 seats; among them, each of the 5 cars There are 5 seats left in the car, 3 seats in the 7-seater car, and 6 seats in the 11-seater car.
- the order number can be the date plus the serial number, or it can be set reasonably according to the actual situation to obtain the number of people getting on and off the bus at each site. Because the pick-up location and the drop-off location are fixed at the departure point, but the number of guests at each station is different each time, first traverse the number of people getting on and off the bus at all stations, for example, find out how many stations have 9:00 to 9:30 When guests get on the bus, how many stops have guests get off.
- the order allocation combination includes multiple pre-allocated target order numbers.
- the server traverses the combination of the number of orders and sets the requirements for the number of pick-up points and the vehicle's full load rate as a sub-problem to obtain multiple sub-problems; the server calls the dynamic programming algorithm to solve the multiple sub-problems in order to obtain multiple orders
- An allocation combination where the order allocation combination includes a plurality of pre-allocated target order numbers.
- each order satisfies the conditions: 1) The principle of no more than three departure and destination sites; 2) Each order allocation combination meets the requirements of the minimum full load rate.
- the server traverses the order number combination, sets the requirements for the number of pick-up points and the full load rate of the vehicle as a sub-problem, and obtains multiple sub-problems, including:
- the server traverses the order number combination, and filters out multiple candidate order combinations that meet the number of pick-up points in the order number combination.
- the number of pick-up points is that the departure and destination are not more than three; the server is set based on multiple candidate order combinations.
- the vehicle full load rate requirement is a sub-problem, and multiple sub-problems are obtained. Among them, the vehicle full load rate requirement is that the vehicle full load rate of each vehicle is greater than or equal to the corresponding minimum full load rate.
- the server solves the single-source shortest path problem of weighted directed graph or undirected graph according to breadth-first search, and Dijkstra's algorithm finally obtains a shortest path tree.
- the shortest path tree is used to calculate the shortest distance between stations. Which station should the driver take to pick up people, and which station to pick up people closer; or which station to drop off passengers first, and then to which station.
- the specific process includes:
- the server initializes an array route, a vertex set T, and a vertex set U.
- the array is used to store the shortest distance from the source point s to each vertex, and the vertex set T is used to store the vertices of the shortest path that has been found;
- T is the set of vertices where the shortest path has been calculated
- U is the set of vertices where the shortest path has not been calculated.
- Each vertex in the U set has a weight (that is, the length of the path from the source point to the point).
- the server sets the path weight of the source point s to 0;
- T only includes the source point s.
- the server sets the array route[e] to d(s, e), and at the same time sets all other paths that cannot reach the vertices of the source point s
- the length is set to infinite route[ ⁇ ];
- E is the edge set, and the other vertices are the vertices that the source point s cannot reach.
- the path length is set to infinity, that is, the weight is set to ⁇ .
- the server selects the minimum path value in the array route, the minimum path value is the shortest path from the source point s to the nearest vertex corresponding to the minimum path value, and the nearest vertex is added to the preset table;
- the nearest vertex is added to the vertex set T, and the nearest vertex is removed from the vertex set U at the same time.
- the server judges whether the newly added nearest vertex can reach other vertices, and judges whether the length of the path to other points through the newly added nearest vertex is shorter than the length of the path from the source point s to other points directly;
- the server updates the weights of the vertices that meet the conditions in the route;
- the server continues to find the minimum value in the vertex set U, until all the vertices in the route are included in the preset table, and generate a combination of stations to be matched.
- the sum of the distances between the stations that can be combined in the combination of stations to be matched is the shortest.
- the threshold can be set according to the actual situation.
- the threshold can be 15 minutes, and the 15-minute duration is the initial value, which can be changed by the demander, or optimized according to actual data in the later stage of the project, because urban traffic is changeable .
- the distances between the first and last stations of all departure and destination in the target station combination are formed into a two-dimensional matrix.
- the target station combination after forming a two-dimensional matrix of the distances between the first and last stations of all the departure and destination in the target station combination, it also includes:
- Pack the target order number and operating period corresponding to the target site combination generate a push message, and send the push message and a two-dimensional matrix to the terminal.
- the server determines the time of arrival at each site, obtains the operating period, and determines the number of people getting on and off the bus at each site, and sends them to the front end together.
- the front end includes the passenger end and the driver end. Different ports receive different messages.
- the passenger end can receive a push message indicating when the user gets on the bus.
- the driver end can also receive the push message.
- a two-dimensional matrix to obtain the driving route and the number of people getting on and off at each stop.
- the order number, the operating period, the number of people getting on and off at each station, and the time at each station can be displayed differently according to the nature of the front end.
- the front-end is the front-end of the application (APP).
- the front-end user interface (UI) uses information to design how to present it to the user.
- the user includes the passenger terminal (such as notifying the passenger when to board the bus) and the driver terminal (such as notifying the driver) Where to pick up and drop off passengers) and the transportation company side (for example, for vehicle scheduling).
- the order combination that meets the conditions is determined through the dynamic programming algorithm, and then the Dijkstra algorithm is used to determine the target combination with the closest station distance, and the ride demand and the running vehicle are matched according to the target combination, and the available vehicles are quickly found. Match the available vehicle resources and demand orders, reduce the journey time and distance of customers after getting on the vehicle, and improve the efficiency of passenger grouping.
- This solution can be applied in the field of smart transportation to promote the construction of smart cities.
- the travel grouping method based on dynamic programming in the embodiment of this application is described above, and the travel grouping device based on dynamic programming in the embodiment of this application is described below. Please refer to FIG. 2.
- the travel group based on dynamic programming in this embodiment of the application An embodiment of the guest grouping device includes:
- the first acquisition module 201 is configured to acquire a plurality of travel demand orders, the travel demand orders are used to provide users with travel vehicles, and the travel demand orders include departure place, departure site, destination, destination site, and boarding time;
- the processing module 202 is configured to process the multiple travel demand orders according to preset rules to obtain the target travel demand order set and the target order number corresponding to each target travel demand order, and the ride of the target travel demand order set The time is within the range of the first preset time period;
- the second acquisition module 203 is configured to acquire vehicle information within the first preset time period.
- the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the number of vehicles to be allocated. Total number of vehicles;
- the traversal module 204 is configured to traverse each target order number and the vehicle information in the target travel demand order set, determine the number of people getting on and off at all stations, and obtain a combination of the number of orders;
- the first determining module 205 is configured to call a dynamic programming algorithm to traverse the order number combination and determine all order allocation combinations, where the order allocation combination includes a plurality of pre-allocated target order numbers;
- the second determining module 206 is configured to determine multiple combinations of sites to be matched according to all the order allocation combinations and the Dijkstra algorithm, and the sum of the distances between the sites that can be combined in the combination of sites to be matched is the shortest;
- the sorting module 207 is used to sort the multiple site combinations to be matched to obtain a target site combination whose distance between sites does not exceed a threshold.
- the order combination that meets the conditions is determined through the dynamic programming algorithm, and then the Dijkstra algorithm is used to determine the target combination with the closest station distance, and the ride demand and the running vehicle are matched according to the target combination, and the available vehicles are quickly found. Match the available vehicle resources and demand orders, reduce the journey time and distance of customers after getting on the vehicle, and improve the efficiency of passenger grouping.
- another embodiment of the travel grouping device based on dynamic programming in the embodiment of the present application includes:
- the first acquisition module 201 is configured to acquire a plurality of travel demand orders, the travel demand orders are used to provide users with travel vehicles, and the travel demand orders include departure place, departure site, destination, destination site, and boarding time;
- the processing module 202 is configured to process the multiple travel demand orders according to preset rules to obtain the target travel demand order set and the target order number corresponding to each target travel demand order, and the ride of the target travel demand order set The time is within the range of the first preset time period;
- the second acquisition module 203 is configured to acquire vehicle information within the first preset time period.
- the vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the number of vehicles to be allocated. Total number of vehicles;
- the traversal module 204 is configured to traverse each target order number and the vehicle information in the target travel demand order set, determine the number of people getting on and off at all stations, and obtain a combination of the number of orders;
- the first determining module 205 is configured to call a dynamic programming algorithm to traverse the order number combination and determine all order allocation combinations, where the order allocation combination includes a plurality of pre-allocated target order numbers;
- the second determining module 206 is configured to determine multiple combinations of sites to be matched according to all the order allocation combinations and the Dijkstra algorithm, and the sum of the distances between the sites that can be combined in the combination of sites to be matched is the shortest;
- the sorting module 207 is used to sort the multiple site combinations to be matched to obtain a target site combination whose distance between sites does not exceed a threshold.
- the processing module 202 includes:
- the parsing unit 2021 is used to analyze multiple travel demand orders to obtain the ride time of each user, and each user corresponds to a travel demand order;
- the dividing unit 2022 is configured to divide the multiple travel demand orders according to a preset time interval to generate multiple initial travel demand order sets, and each initial travel demand order set has a different travel time range;
- the screening unit 2023 is configured to filter the multiple initial travel demand order sets according to the departure site and the destination site to generate multiple transitional travel demand order sets.
- the departure site is in the same city, and the destination The site is also in the same city;
- the selection determining unit 2024 is configured to select the target travel demand order set corresponding to the first preset time period from the plurality of transition travel demand order sets, and determine the corresponding travel demand order in the target travel demand order set Target order number.
- the first determining module 205 includes:
- the traversal unit 2051 is configured to traverse the order number combination, and set the requirements for the number of pick-up points and the vehicle's full load rate as a sub-problem to obtain multiple sub-problems;
- the calling unit 2052 is configured to call the dynamic programming algorithm to solve multiple sub-problems in order to obtain multiple order allocation combinations, and the order allocation combination includes multiple pre-allocated target order numbers.
- the traversal unit 2051 is specifically configured to:
- the second determining module 206 is specifically configured to:
- the array is used to store the shortest distance from the source point s to each vertex.
- the vertex set T is used to store the vertices of the shortest path that has been found;
- the path weight is set to 0; if there is an edge (s, e) that can be directly reached for the source point s, the array route[e] is set to d(s, e), and all other sources that cannot be reached at the source point s
- the path length of the vertex of is set to infinity route[ ⁇ ]; select the minimum path value in the array route, the minimum path value is the shortest path from the source point s to the nearest vertex corresponding to the minimum path value, and the nearest
- the vertex is added to the preset table; it is judged whether the newly added nearest vertex can reach other vertices, and the length of the path to other points through the newly added nearest vertex is shorter than the path length of the source point s directly to other points; if at
- the travel grouping device based on dynamic programming further includes:
- the composition module 208 is used to compose a two-dimensional matrix of the respective distances between the first station and the last station of all the departure places and destinations in the target station combination.
- the travel grouping device based on dynamic programming further includes:
- the generating and sending module 209 is configured to package the target order number and operating period corresponding to the target site combination, generate a push message, and send the push message and the two-dimensional matrix to the terminal.
- the order combination that meets the conditions is determined through the dynamic programming algorithm, and then the Dijkstra algorithm is used to determine the target combination with the closest station distance, and the ride demand and the running vehicle are matched according to the target combination, and the available vehicles are quickly found. Match the available vehicle resources and demand orders, reduce the journey time and distance of customers after getting on the vehicle, and improve the efficiency of passenger grouping.
- Figures 2 to 3 above describe in detail the travel grouping device based on dynamic programming in the embodiment of the present application from the perspective of a modular functional entity.
- the following describes the travel grouping device based on dynamic programming in the embodiment of the present application from the perspective of hardware processing. Give a detailed description.
- the travel group passenger device 400 based on dynamic programming may have relatively large differences due to different configurations or performance, and may include one or One or more central processing units (CPU) 410 (for example, one or more processors) and memory 420, one or more storage media 430 for storing application programs 433 or data 432 (for example, one or one storage device with a large amount of storage ).
- the memory 420 and the storage medium 430 may be short-term storage or persistent storage.
- the program stored in the storage medium 430 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the travel group passenger device 400 based on dynamic programming.
- the processor 410 may be configured to communicate with the storage medium 430, and execute a series of instruction operations in the storage medium 430 on the travel group passenger device 400 based on dynamic programming.
- the travel group passenger device 400 based on dynamic planning may also include one or more power supplies 440, one or more wired or wireless network interfaces 450, one or more input and output interfaces 460, and/or, one or more operating systems 431 , Such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD and so on.
- operating systems 431 Such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD and so on.
- FIG. 5 does not constitute a limitation on travel group passenger equipment based on dynamic programming, and may include more or fewer components than shown in the figure, or Combining certain components, or different component arrangements.
- the processor 501 can execute the functions of the first acquisition module 201, the processing module 202, the second acquisition module 203, the traversal module 204, the first determination module 205, the second determination module 206, the sorting module 207, and the composition module 208 in the foregoing embodiment. .
- the present application also provides a travel group passenger equipment based on dynamic programming, including: a memory and at least one processor, the memory stores instructions, and the memory and the at least one processor are interconnected by wires; A processor calls the instructions in the memory so that the intelligent route planning device executes the steps in the travel grouping method based on dynamic planning.
- the present application also provides a computer-readable storage medium.
- the computer-readable storage medium may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium.
- the computer-readable storage medium stores computer instructions, and when the computer instructions are executed on the computer, the computer executes the following steps:
- the travel demand orders are used to provide users with travel vehicles, and the travel demand orders include departure place, departure station, destination, destination station, and boarding time;
- the multiple travel demand orders are processed according to preset rules to obtain the target travel demand order set and the target order number corresponding to each target travel demand order, and the boarding time of the target travel demand order set is in the first preset Within the time period
- vehicle information includes the total number of seats for each vehicle to be allocated, the remaining number of seats for each vehicle to be allocated, and the total number of vehicles for the vehicle to be allocated;
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Navigation (AREA)
Abstract
一种基于动态规划的出行组客方法、装置、设备及存储介质,用于匹配出可用车辆资源和需求订单,提高组客效率。所述方法包括:获取多个出行需求订单,出行需求订单用于为用户提供出行车辆;对多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号;获取第一预置时段范围内的车辆信息;遍历目标出行需求订单集合中每个目标订单号,得到订单人数组合;调用动态规划算法遍历订单人数组合,根据站点的数量和车辆信息确定所有的订单分配组合;根据所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合;得到站点间路程不超过阈值的目标站点组合。
Description
本申请要求于2020年5月21日提交中国专利局、申请号为202010433434.6、发明名称为“基于动态规划的出行组客方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在申请中。
本申请涉及机器学习技术领域,尤其涉及基于动态规划的出行组客方法、装置、设备及存储介质。
互联网的智慧出行,利用手机APP利用手机动态收集出行需求,匹配可用运输服务,进一步降低出行费用,减轻相关的交通污染和能源消耗问题。当前,互联网的智慧出行包括需求匹配和路径规划两步。在需求匹配阶段,根据个体或整体订单的出行需求和车辆的座位数进行需求-运输服务的匹配。在路径规划方面,根据客户的起点和终点,考虑出行时间,通行距离等因素,设计耗时最低的路线,引导车辆在复杂的城际交通环境中行驶,提高出行的用户体验。
目前,业内类似产品车辆的座位数较少,多为小车,拼单人数较少。因为座位数少,拼单的计算量不大,路程耗时不限。发明人意识到,现有的出行软件在进行组客匹配时,若前期订单数数据不够的情况,无法通过训练机器学习模型对订单进行更高效的订单匹配,组客效率低。
发明内容
本申请的主要目的在于解决在前期订单数数据不够,无法通过训练机器学习模型对订单进行更高效的订单匹配的情况下,组客效率低的问题。
为实现上述目的,本申请第一方面提供了一种基于动态规划的出行组客方法,包括:获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
本申请第二方面提供了一种基于动态规划的出行组客设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合, 所述订单分配组合包括多个预分配的目标订单号;根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
本申请第四方面提供了一种基于动态规划的出行组客装置,包括:第一获取模块,用于获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;处理模块,用于对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;第二获取模块,用于获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历模块,用于遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;第一确定模块,用于调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;第二确定模块,用于根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;排序模块,用于把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
本申请提供的技术方案中,获取多个出行需求订单,出行需求订单用于为用户提供出行车辆,出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取第一预置时段范围内的车辆信息,车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历目标出行需求订单集合中每个目标订单号和车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历订单人数组合,确定所有的订单分配组合,订单分配组合包括多个预分配的目标订单号;根据所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,待匹配站点组合中可组合的站点之间距离之和最短;把多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。本申请实施例,通过动态规划算法确定满足条件的订单组合,再采用迪杰斯特拉算法确定站点距离最近的目标组合,按照目标组合进行乘车需求和运行车辆的匹配,快速找到可用车辆,匹配出可用车辆资源和需求订单,减低客户上车后的路程时间和缩短距离,提高组客效率。
图1为本申请实施例中基于动态规划的出行组客方法的一个实施例示意图;
图2为本申请实施例中基于动态规划的出行组客装置的一个实施例示意图;
图3为本申请实施例中基于动态规划的出行组客装置的另一个实施例示意图;
图4为本申请实施例中基于动态规划的出行组客设备的一个实施例示意图。
本申请实施例提供了一种基于动态规划的出行组客方法、装置、设备及存储介质,用于快速找到可用车辆,匹配出可用车辆资源和需求订单,减低客户上车后的路程时间并缩短距离,提高组客效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本申请实施例的具体流程进行描述,请参阅图1,本申请实施例中基于动态规划的出行组客方法的一个实施例包括:
在一实施例中,该基于动态规划的出行组客方法包括:
101、获取多个出行需求订单,出行需求订单用于为用户提供出行车辆,出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻。
服务器获取多个出行需求订单,该出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻。其中,出发地和目的地位具体的城市,例如,广州、深圳等。出发站点和目的站点是在预先设置好的站点清单中选择的,用户只能在站点清单中选择已记录的站点。例如,站点清单中可以包括广州电视台、广州动物园、广州越秀南客运站,用户可以选择从广州电视台作为出发站点,选择广州动物园作为目的站点。选择某一天的中午12点作为乘车时刻。
需要说明的是,站点清单中可以包括相同城市或不同城市的站点,站点的设置可以从地标建筑、知名景点、公交站点等方面进行合理设置,具体此处不做限定。
可以理解的是,本申请的执行主体可以为基于动态规划的出行组客装置,还可以是终端或者服务器,具体此处不做限定。本申请实施例以服务器为执行主体为例进行说明。
102、对多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,目标出行需求订单集合的乘车时刻在第一预置时段范围内。
具体过程包括:(1)服务器对多个出行需求订单进行解析,得到每个用户的乘车时刻,每个用户对应一个出行需求订单;
(2)服务器按照预置时间间隔将多个出行需求订单进行划分,生成多个初始出行需求订单集合,每个初始出行需求订单集合的乘车时间范围不同;
例如,若有2个订单的乘车时刻是在9:00,3个订单的乘车时刻是在9:30,1个订单的乘车时刻是在9:35,1个订单的乘车时刻是在9:45,1个订单的乘车时刻是在10:15,如果预置时间间隔为半小时,那么可以将9:00-9:30的5个订单作为一个初始出行需求订 单集合A,将9:30-10:00的2个订单作为一个初始出行需求订单集合B,将10:00-10:30的1个订单作为一个初始出行需求订单集合C。如果预置时间间隔为1小时,那么可以将9:00-10:00的7个订单作为一个初始出行需求订单集合D,将10:00-11:00的1个订单作为一个初始出行需求订单集合E,具体此处不做限定。
(3)服务器根据出发站点和目的站点对多个初始出行需求订单集合进行筛选,生成多个过渡出行需求订单集合,每个过渡出行需求订单集合中出发站点在同一个城市,目的站点也在同一个城市;
其中,将初始出行需求订单集合中出发站点不在一个城市的订单剔除,例如,若初始出行需求订单集合A中4个订单是从广州出发,开往深圳,1个订单是广州出发,开往佛山,因为到佛山的订单少,可以将到佛山的1个订单出集合A中剔除,将剔除后的订单重新进行划分,将剩下4个开往深圳的订单作为过渡出行需求订单集合F。
(4)服务器在多个过渡出行需求订单集合中选择第一预置时段对应的目标出行需求订单集合,并确定目标出行需求订单集合中每个出行需求订单对应的目标订单号。
例如,第一预置时段为9:00-9:30时,可以选择过渡出行需求订单集合F为目标出行需求订单集合,并确定其中的4个订单对应的订单号。其中,第一预置时段大于或等于预置时间间隔。
103、获取第一预置时段范围内的车辆信息,车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数。
服务器获取第一预置时段范围内的车辆信息,该车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数。例如,在9:00-9:30范围内,待分配车辆包括5辆汽车,其中,5座汽车3辆,7座汽车1辆,11座汽车有1辆;其中,5座汽车中每个汽车剩余5座位,7座汽车剩余3个座位,11座汽车剩余6个座位。
104、遍历目标出行需求订单集合中每个目标订单号和车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合。
例如,订单号可以是日期加流水号,也可以根据实际情况,进行合理设置,获取每个站点的上下车人数。因为出发地上车地点和下车地点固定,只是每次各站的客人数量不同,先遍历所有站点的上车人数和下车人数,比如,找出9:00到9:30有多少个站点有客人上车,有多少站点有客人下车。
105、调用动态规划算法遍历订单人数组合,确定所有的订单分配组合,订单分配组合包括多个预分配的目标订单号。
具体的,服务器遍历所述订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题;服务器调用动态规划算法按顺序求解多个子问题,得到多个订单分配组合,所述订单分配组合包括多个预分配的目标订单号。
可以理解的是,前一个订单分配组合的解为后一个订单分配组合的求解提供有用的信息。
需要说明的是,在每一个订单状态一旦确定后,就不受这个状态以后决策的影响。也就是说,这个订单人数组合的过程不会影响以前的状态,只和当前状态有关。每一个订单都满足条件:1)出发站点和目的站点各不超过三个的原则;2)每个订单分配组合都满足最小满载率的要求。
可选的,其中,服务器遍历订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题,包括:
服务器遍历订单人数组合,筛选出订单人数组合中满足上车点数量要求的多个候选订单组合,上车点数量要求为出发地和目的地都不超过三个;服务器基于多个候选订单组合 设置车辆满载率要求为子问题,得到多个子问题,其中,车辆满载率要求为每个车辆的车辆满载率大于或等于对应的最小满载率。
106、根据所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,待匹配站点组合中可组合的站点之间距离之和最短;
服务器按照广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,迪杰斯特拉算法最终得到一个最短路径树。最短路径树就是用来计算站点间最短距离的,司机应该走哪个站点接人,再到哪个站点接人比较近;或者先从哪个站点下客,再到哪个站点。具体过程包括:
(1)服务器初始化一个数组route、顶点集合T和顶点集合U,数组用于保存源点s到各个顶点的最短距离,顶点集合T用于保存已经找到的最短路径的顶点;
初始时,T是已经计算出最短路径的顶点的集合,U是未计算出最短路径的顶点的集合。U集合中每个顶点带权重(即源点到该点的路径长度)。
(2)服务器将源点s的路径权重设置为0;
服务器将源点s的路径权重设置为0,所以T={S(0)},S(0)表示源点s到源点s的最短距离是0,即route[s]值为0,顶点集合T只包括源点s。
(3)若对于源点s存在能直接到达的边(s,e),则服务器把数组route[e]设为d(s,e),同时把所有其他不能到达源点s的顶点的路径长度设为无穷大route[∞];
其中,E是边集,其他顶点为源点s不能到达的顶点。路径长度设置为无穷大即权重设置为∞。
(4)服务器在数组route中选择最小路径值,最小路径值为源点s到最小路径值对应的最近顶点的最短路径,并且把最近顶点加入到预置表格;
具体的,即将最近顶点加入到顶点集合T,同时将最近顶点从顶点集合U中移除。
(5)服务器判断新加入的最近顶点是否可以到达其他顶点,并且判断通过该新加入的最近顶点到达其他点的路径长度是否比源点s直接到达其他点的路径长度短;
(6)如果同时满足,则服务器更新满足条件的顶点在route中的权重;
(7)服务器继续在顶点集合U中找到最小值,直至预置表格中包含了路线中所有的顶点,生成待匹配站点组合,待匹配站点组合中可组合的站点之间距离之和最短。
107、把多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
其中,阈值是可以根据实际情况进行设置,例如,阈值可以为15分钟,15分钟的时长是初始值,可以由需求方进行更改,或者项目后期根据实际数据进行优化,因为城市交通是多变的。
可选的,在把多个待匹配站点组合进行排序,确定站点间路程不超过阈值的目标站点组合之后,还包括:
将目标站点组合中所有出发地和目的地各自的首站和尾站间距离组成一个二维矩阵。
就是将站点和站点间距离记录成一个矩阵,确定出发地的哪个站为出发地的最后一站,到目的地哪一个站放下第一批客人。
可选的,在将目标站点组合中所有出发地和目的地各自的首站和尾站间距离组成一个二维矩阵之后,还包括:
将目标站点组合对应的目标订单号和运行时段进行打包,生成推送消息,并将推送消息和二维矩阵发送至终端。
具体的,服务器确定到达每个站点的时刻,得到运行时段,同时确定每个站点的上下车人数,一起发送给前端。期中,前端包括乘客端和司机端,不同的端口收到的消息不同,例如,乘客端可以接收到推送消息,该消息指示用户几点上车,司机端除了接收到推送消 息,还可以接收到二维矩阵,获取行车路线和每个站点的上下车人数。
例如,订单号,运行时段,每个站的上车人数,下车人数,每到一个站的时间可以根据前端的性质进行不同的展现。前端为应用程序(application,APP)前端,由前端用户界面(user interface,UI)运用信息自行设计怎样呈现给用户,用户包括乘客端(例如通知乘客几点上车),司机端(例如通知司机去哪里接人和下客)和运输公司端(例如进行车辆调度)。
本申请实施例,通过动态规划算法确定满足条件的订单组合,再采用迪杰斯特拉算法确定站点距离最近的目标组合,按照目标组合进行乘车需求和运行车辆的匹配,快速找到可用车辆,匹配出可用车辆资源和需求订单,减低客户上车后的路程时间和缩短距离,提高组客效率。
本方案可应用于智慧交通领域中,从而推动智慧城市的建设。
上面对本申请实施例中基于动态规划的出行组客方法进行了描述,下面对本申请实施例中基于动态规划的出行组客装置进行描述,请参阅图2,本申请实施例中基于动态规划的出行组客装置的一个实施例包括:
第一获取模块201,用于获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;
处理模块202,用于对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;
第二获取模块203,用于获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;
遍历模块204,用于遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;
第一确定模块205,用于调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;
第二确定模块206,用于根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;
排序模块207,用于把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
本申请实施例,通过动态规划算法确定满足条件的订单组合,再采用迪杰斯特拉算法确定站点距离最近的目标组合,按照目标组合进行乘车需求和运行车辆的匹配,快速找到可用车辆,匹配出可用车辆资源和需求订单,减低客户上车后的路程时间和缩短距离,提高组客效率。
请参阅图3,本申请实施例中基于动态规划的出行组客装置的另一个实施例包括:
第一获取模块201,用于获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;
处理模块202,用于对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;
第二获取模块203,用于获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;
遍历模块204,用于遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;
第一确定模块205,用于调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;
第二确定模块206,用于根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;
排序模块207,用于把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
可选的,处理模块202包括:
解析单元2021,用于对多个出行需求订单进行解析,得到每个用户的乘车时刻,每个用户对应一个出行需求订单;
划分单元2022,用于按照预置时间间隔将所述多个出行需求订单进行划分,生成多个初始出行需求订单集合,每个初始出行需求订单集合的乘车时间范围不同;
筛选单元2023,用于根据出发站点和目的站点对所述多个初始出行需求订单集合进行筛选,生成多个过渡出行需求订单集合,每个过渡出行需求订单集合中出发站点在同一个城市,目的站点也在同一个城市;
选择确定单元2024,用于在所述多个过渡出行需求订单集合中选择第一预置时段对应的目标出行需求订单集合,并确定目所述标出行需求订单集合中每个出行需求订单对应的目标订单号。
可选的,第一确定模块205包括:
遍历单元2051,用于遍历所述订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题;
调用单元2052,用于调用动态规划算法按顺序求解多个子问题,得到多个订单分配组合,所述订单分配组合包括多个预分配的目标订单号。
可选的,遍历单元2051具体用于:
遍历所述订单人数组合,筛选出订单人数组合中满足上车点数量要求的多个候选订单组合,所述上车点数量要求为出发地和目的地都不超过三个;基于所述多个候选订单组合设置车辆满载率要求为子问题,得到多个子问题,其中,所述车辆满载率要求为每个车辆的车辆满载率大于或等于对应的最小满载率。
可选的,第二确定模块206具体用于:
初始化一个数组route、顶点集合T和顶点集合U,所述数组用于保存源点s到各个顶点的最短距离,所述顶点集合T用于保存已经找到的最短路径的顶点;将源点s的路径权重设置为0;若对于所述源点s存在能直接到达的边(s,e),则把数组route[e]设为d(s,e),同时把所有其他不能到达源点s的顶点的路径长度设为无穷大route[∞];在数组route中选择最小路径值,所述最小路径值为源点s到所述最小路径值对应的最近顶点的最短路径,并且把所述最近顶点加入到预置表格;判断新加入的最近顶点是否可以到达其他顶点,并且判断通过该新加入的最近顶点到达其他点的路径长度是否比源点s直接到达其他点的路径长度短;如果同时满足,则更新满足条件的顶点在route中的权重;继续在顶点集合U中找到最小值,直至预置表格中包含了路线中所有的顶点,生成待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短。
可选的,基于动态规划的出行组客装置还包括:
组成模块208,用于将目标站点组合中所有出发地和目的地各自的首站和尾站间距离组成一个二维矩阵。
可选的,基于动态规划的出行组客装置还包括:
生成发送模块209,用于将目标站点组合对应的目标订单号和运行时段进行打包,生 成推送消息,并将所述推送消息和所述二维矩阵发送至终端。
本申请实施例,通过动态规划算法确定满足条件的订单组合,再采用迪杰斯特拉算法确定站点距离最近的目标组合,按照目标组合进行乘车需求和运行车辆的匹配,快速找到可用车辆,匹配出可用车辆资源和需求订单,减低客户上车后的路程时间和缩短距离,提高组客效率。
上面图2至图3从模块化功能实体的角度对本申请实施例中的基于动态规划的出行组客装置进行详细描述,下面从硬件处理的角度对本申请实施例中基于动态规划的出行组客设备进行详细描述。
图4是本申请实施例提供的一种基于动态规划的出行组客设备的结构示意图,该基于动态规划的出行组客设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于动态规划的出行组客设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在基于动态规划的出行组客设备400上执行存储介质430中的一系列指令操作。
基于动态规划的出行组客设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作系统431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的基于动态规划的出行组客设备结构并不构成对基于动态规划的出行组客设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。处理器501可以执行上述实施例中第一获取模块201、处理模块202、第二获取模块203、遍历模块204、第一确定模块205、第二确定模块206、排序模块207和组成模块208的功能。
本申请还提供一种基于动态规划的出行组客设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述智能化路径规划设备执行上述基于动态规划的出行组客方法中的步骤。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,也可以为易失性计算机可读存储介质。计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:
获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;
对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;
获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;
遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;
调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;
根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;
把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (20)
- 一种基于动态规划的出行组客方法,其中,包括:获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
- 根据权利要求1所述的基于动态规划的出行组客方法,其中,所述对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内,包括:对多个出行需求订单进行解析,得到每个用户的乘车时刻,每个用户对应一个出行需求订单;按照预置时间间隔将所述多个出行需求订单进行划分,生成多个初始出行需求订单集合,每个初始出行需求订单集合的乘车时间范围不同;根据出发站点和目的站点对所述多个初始出行需求订单集合进行筛选,生成多个过渡出行需求订单集合,每个过渡出行需求订单集合中出发站点在同一个城市,目的站点也在同一个城市;在所述多个过渡出行需求订单集合中选择第一预置时段对应的目标出行需求订单集合,并确定目所述标出行需求订单集合中每个出行需求订单对应的目标订单号。
- 根据权利要求1所述的基于动态规划的出行组客方法,其中,所述调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号,包括:遍历所述订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题;调用动态规划算法按顺序求解多个子问题,得到多个订单分配组合,所述订单分配组合包括多个预分配的目标订单号。
- 根据权利要求3所述的基于动态规划的出行组客方法,其中,所述遍历所述订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题,包括:遍历所述订单人数组合,筛选出订单人数组合中满足上车点数量要求的多个候选订单组合,所述上车点数量要求为出发地和目的地都不超过三个;基于所述多个候选订单组合设置车辆满载率要求为子问题,得到多个子问题,其中,所述车辆满载率要求为每个车辆的车辆满载率大于或等于对应的最小满载率。
- 根据权利要求1所述的基于动态规划的出行组客方法,其中,所述根据所述所有的 订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短,包括:初始化一个数组route、顶点集合T和顶点集合U,所述数组用于保存源点s到各个顶点的最短距离,所述顶点集合T用于保存已经找到的最短路径的顶点;将源点s的路径权重设置为0;若对于所述源点s存在能直接到达的边(s,e),则把数组route[e]设为d(s,e),同时把所有其他不能到达源点s的顶点的路径长度设为无穷大route[∞];在数组route中选择最小路径值,所述最小路径值为源点s到所述最小路径值对应的最近顶点的最短路径,并且把所述最近顶点加入到预置表格;判断新加入的最近顶点是否可以到达其他顶点,并且判断通过该新加入的最近顶点到达其他点的路径长度是否比源点s直接到达其他点的路径长度短;如果同时满足,则更新满足条件的顶点在route中的权重;继续在顶点集合U中找到最小值,直至预置表格中包含了路线中所有的顶点,生成待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短。
- 根据权利要求1-5中任意一项所述的基于动态规划的出行组客方法,其中,在所述把所述多个待匹配站点组合进行排序,确定站点间路程不超过阈值的目标站点组合之后,还包括:将目标站点组合中所有出发地和目的地各自的首站和尾站间距离组成一个二维矩阵。
- 根据权利要求6所述的基于动态规划的出行组客方法,其中,在所述将目标站点组合中所有出发地和目的地各自的首站和尾站间距离组成一个二维矩阵之后,还包括:将目标站点组合对应的目标订单号和运行时段进行打包,生成推送消息,并将所述推送消息和所述二维矩阵发送至终端。
- 一种基于动态规划的出行组客设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
- 根据权利要求8所述的基于动态规划的出行组客设备,所述处理器执行所述计算机程序时还实现以下步骤:对多个出行需求订单进行解析,得到每个用户的乘车时刻,每个用户对应一个出行需求订单;按照预置时间间隔将所述多个出行需求订单进行划分,生成多个初始出行需求订单集合,每个初始出行需求订单集合的乘车时间范围不同;根据出发站点和目的站点对所述多个初始出行需求订单集合进行筛选,生成多个过渡出行需求订单集合,每个过渡出行需求订单集合中出发站点在同一个城市,目的站点也在同一个城市;在所述多个过渡出行需求订单集合中选择第一预置时段对应的目标出行需求订单集合,并确定目所述标出行需求订单集合中每个出行需求订单对应的目标订单号。
- 根据权利要求8所述的基于动态规划的出行组客设备,所述处理器执行所述计算机程序时还实现以下步骤:遍历所述订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题;调用动态规划算法按顺序求解多个子问题,得到多个订单分配组合,所述订单分配组合包括多个预分配的目标订单号。
- 根据权利要求10所述的基于动态规划的出行组客设备,所述处理器执行所述计算机程序时还实现以下步骤:遍历所述订单人数组合,筛选出订单人数组合中满足上车点数量要求的多个候选订单组合,所述上车点数量要求为出发地和目的地都不超过三个;基于所述多个候选订单组合设置车辆满载率要求为子问题,得到多个子问题,其中,所述车辆满载率要求为每个车辆的车辆满载率大于或等于对应的最小满载率。
- 根据权利要求8所述的基于动态规划的出行组客设备,所述处理器执行所述计算机程序时还实现以下步骤:初始化一个数组route、顶点集合T和顶点集合U,所述数组用于保存源点s到各个顶点的最短距离,所述顶点集合T用于保存已经找到的最短路径的顶点;将源点s的路径权重设置为0;若对于所述源点s存在能直接到达的边(s,e),则把数组route[e]设为d(s,e),同时把所有其他不能到达源点s的顶点的路径长度设为无穷大route[∞];在数组route中选择最小路径值,所述最小路径值为源点s到所述最小路径值对应的最近顶点的最短路径,并且把所述最近顶点加入到预置表格;判断新加入的最近顶点是否可以到达其他顶点,并且判断通过该新加入的最近顶点到达其他点的路径长度是否比源点s直接到达其他点的路径长度短;如果同时满足,则更新满足条件的顶点在route中的权重;继续在顶点集合U中找到最小值,直至预置表格中包含了路线中所有的顶点,生成待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短。
- 根据权利要求8-12中任意一项所述的基于动态规划的出行组客设备,所述处理器执行所述计算机程序时还实现以下步骤:将目标站点组合中所有出发地和目的地各自的首站和尾站间距离组成一个二维矩阵。
- 根据权利要求13所述的基于动态规划的出行组客设备,所述处理器执行所述计算机程序时还实现以下步骤:将目标站点组合对应的目标订单号和运行时段进行打包,生成推送消息,并将所述推送消息和所述二维矩阵发送至终端。
- 一种计算机可读存储介质,所述计算机可读存储介质中存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求 订单包括出发地、出发站点、目的地、目的站点和乘车时刻;对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
- 根据权利要求15所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:对多个出行需求订单进行解析,得到每个用户的乘车时刻,每个用户对应一个出行需求订单;按照预置时间间隔将所述多个出行需求订单进行划分,生成多个初始出行需求订单集合,每个初始出行需求订单集合的乘车时间范围不同;根据出发站点和目的站点对所述多个初始出行需求订单集合进行筛选,生成多个过渡出行需求订单集合,每个过渡出行需求订单集合中出发站点在同一个城市,目的站点也在同一个城市;在所述多个过渡出行需求订单集合中选择第一预置时段对应的目标出行需求订单集合,并确定目所述标出行需求订单集合中每个出行需求订单对应的目标订单号。
- 根据权利要求15所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:遍历所述订单人数组合,将满足上车点数量要求和车辆满载率要求设为一个子问题,得到多个子问题;调用动态规划算法按顺序求解多个子问题,得到多个订单分配组合,所述订单分配组合包括多个预分配的目标订单号。
- 根据权利要求17所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:遍历所述订单人数组合,筛选出订单人数组合中满足上车点数量要求的多个候选订单组合,所述上车点数量要求为出发地和目的地都不超过三个;基于所述多个候选订单组合设置车辆满载率要求为子问题,得到多个子问题,其中,所述车辆满载率要求为每个车辆的车辆满载率大于或等于对应的最小满载率。
- 根据权利要求15所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:初始化一个数组route、顶点集合T和顶点集合U,所述数组用于保存源点s到各个顶点的最短距离,所述顶点集合T用于保存已经找到的最短路径的顶点;将源点s的路径权重设置为0;若对于所述源点s存在能直接到达的边(s,e),则把数组route[e]设为d(s,e),同时把 所有其他不能到达源点s的顶点的路径长度设为无穷大route[∞];在数组route中选择最小路径值,所述最小路径值为源点s到所述最小路径值对应的最近顶点的最短路径,并且把所述最近顶点加入到预置表格;判断新加入的最近顶点是否可以到达其他顶点,并且判断通过该新加入的最近顶点到达其他点的路径长度是否比源点s直接到达其他点的路径长度短;如果同时满足,则更新满足条件的顶点在route中的权重;继续在顶点集合U中找到最小值,直至预置表格中包含了路线中所有的顶点,生成待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短。
- 一种基于动态规划的出行组客装置,其中,所述基于动态规划的出行组客包括:第一获取模块,用于获取多个出行需求订单,所述出行需求订单用于为用户提供出行车辆,所述出行需求订单包括出发地、出发站点、目的地、目的站点和乘车时刻;处理模块,用于对所述多个出行需求订单按照预置规则进行处理,得到目标出行需求订单集合和每个目标出行需求订单对应的目标订单号,所述目标出行需求订单集合的乘车时刻在第一预置时段范围内;第二获取模块,用于获取所述第一预置时段范围内的车辆信息,所述车辆信息包括每个待分配车辆的座位总数、每个待分配车辆的剩余座位数以及待分配车辆的车辆总数;遍历模块,用于遍历所述目标出行需求订单集合中每个目标订单号和所述车辆信息,确定所有站点的上车人数和下车人数,得到订单人数组合;第一确定模块,用于调用动态规划算法遍历所述订单人数组合,确定所有的订单分配组合,所述订单分配组合包括多个预分配的目标订单号;第二确定模块,用于根据所述所有的订单分配组合和迪杰斯特拉算法确定多个待匹配站点组合,所述待匹配站点组合中可组合的站点之间距离之和最短;排序模块,用于把所述多个待匹配站点组合进行排序,得到站点间路程不超过阈值的目标站点组合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010433434.6 | 2020-05-21 | ||
CN202010433434.6A CN111738550B (zh) | 2020-05-21 | 2020-05-21 | 基于动态规划的出行组客方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021232586A1 true WO2021232586A1 (zh) | 2021-11-25 |
Family
ID=72647541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/104789 WO2021232586A1 (zh) | 2020-05-21 | 2020-07-27 | 基于动态规划的出行组客方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111738550B (zh) |
WO (1) | WO2021232586A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034487A (zh) * | 2022-06-16 | 2022-09-09 | 南京领行科技股份有限公司 | 一种运力调控方法、装置、电子设备及存储介质 |
CN115209342A (zh) * | 2022-06-29 | 2022-10-18 | 北京融信数联科技有限公司 | 一种地铁司机识别方法、系统和可读存储介质 |
CN115361689A (zh) * | 2022-08-08 | 2022-11-18 | 广东工业大学 | 固定站点与无人机搭载边缘服务器的协同部署方法 |
CN116757339A (zh) * | 2023-08-21 | 2023-09-15 | 倍施特科技(集团)股份有限公司 | 一种基于定制客运的运营优化方法及定制运输装置 |
CN117191067A (zh) * | 2023-11-07 | 2023-12-08 | 杭州一喂智能科技有限公司 | 出行路线规划方法、装置、电子设备和计算机可读介质 |
CN117540982A (zh) * | 2023-11-08 | 2024-02-09 | 杭州一喂智能科技有限公司 | 用于运营专线的车辆信息发送方法、装置和电子设备 |
CN117575120A (zh) * | 2023-12-12 | 2024-02-20 | 云宝宝大数据产业发展有限责任公司 | 一种基于区域巡游的士巴智能化服务平台及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111928870B (zh) * | 2020-10-19 | 2021-03-05 | 盛威时代科技集团有限公司 | 一种行驶路线规划的方法及装置、计算设备和存储介质 |
CN117151315A (zh) * | 2021-03-30 | 2023-12-01 | 福建诺诚数字科技有限公司 | 一种基于用户实时位置的到店自动排单、订单跟踪方法及系统 |
CN113822537B (zh) * | 2021-08-26 | 2024-05-31 | 西安隆基智能技术有限公司 | 一种产品匹配方法和装置 |
CN115438975B (zh) * | 2022-09-14 | 2023-04-25 | 北京化工大学 | 一种订单指派与车辆路径优化方法、装置及设备 |
CN116227770B (zh) * | 2023-02-27 | 2023-11-21 | 广东工业大学 | 基于pd模型的群体智能路径规划优化方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150142484A1 (en) * | 2013-11-18 | 2015-05-21 | National Taipei University Of Technology | Carpool service providing method and carpool server using the same |
CN106682769A (zh) * | 2016-12-12 | 2017-05-17 | 华东理工大学 | 一种产品车辆路径实现方法和装置 |
CN110826757A (zh) * | 2018-08-14 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种航班调度方法、装置及其设备 |
CN111126799A (zh) * | 2019-12-10 | 2020-05-08 | 广东工业大学 | 基于二分图的共享网络司乘匹配方法 |
CN111178724A (zh) * | 2019-12-23 | 2020-05-19 | 华南理工大学 | 一种基于演化算法的拼车调度方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783466B2 (en) * | 2016-07-07 | 2020-09-22 | Sap Se | Integrated system for optimizing vehicle utilization |
CN106940928A (zh) * | 2017-04-25 | 2017-07-11 | 杭州纳戒科技有限公司 | 订单分配方法及装置 |
CN109635980B (zh) * | 2018-12-21 | 2023-09-05 | 重庆呼我出行网络科技有限公司 | 约车订单分配方法及系统 |
CN110399999B (zh) * | 2019-05-08 | 2024-06-04 | 腾讯科技(深圳)有限公司 | 乘车服务处理方法、装置、设备及存储介质 |
CN110189006B (zh) * | 2019-05-20 | 2023-07-04 | 深圳市众行网科技有限公司 | 车辆的调度方法、装置、计算机设备及其存储介质 |
CN110570001B (zh) * | 2019-08-09 | 2022-04-26 | 南京领行科技股份有限公司 | 一种出行订单处理方法、装置及服务器 |
CN110599300A (zh) * | 2019-08-30 | 2019-12-20 | 上海钧正网络科技有限公司 | 订单的处理方法、装置、计算机设备及存储介质 |
-
2020
- 2020-05-21 CN CN202010433434.6A patent/CN111738550B/zh active Active
- 2020-07-27 WO PCT/CN2020/104789 patent/WO2021232586A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150142484A1 (en) * | 2013-11-18 | 2015-05-21 | National Taipei University Of Technology | Carpool service providing method and carpool server using the same |
CN106682769A (zh) * | 2016-12-12 | 2017-05-17 | 华东理工大学 | 一种产品车辆路径实现方法和装置 |
CN110826757A (zh) * | 2018-08-14 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种航班调度方法、装置及其设备 |
CN111126799A (zh) * | 2019-12-10 | 2020-05-08 | 广东工业大学 | 基于二分图的共享网络司乘匹配方法 |
CN111178724A (zh) * | 2019-12-23 | 2020-05-19 | 华南理工大学 | 一种基于演化算法的拼车调度方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034487A (zh) * | 2022-06-16 | 2022-09-09 | 南京领行科技股份有限公司 | 一种运力调控方法、装置、电子设备及存储介质 |
CN115209342A (zh) * | 2022-06-29 | 2022-10-18 | 北京融信数联科技有限公司 | 一种地铁司机识别方法、系统和可读存储介质 |
CN115209342B (zh) * | 2022-06-29 | 2023-06-06 | 北京融信数联科技有限公司 | 一种地铁司机识别方法、系统和可读存储介质 |
CN115361689A (zh) * | 2022-08-08 | 2022-11-18 | 广东工业大学 | 固定站点与无人机搭载边缘服务器的协同部署方法 |
CN115361689B (zh) * | 2022-08-08 | 2023-06-02 | 广东工业大学 | 固定站点与无人机搭载边缘服务器的协同部署方法 |
CN116757339A (zh) * | 2023-08-21 | 2023-09-15 | 倍施特科技(集团)股份有限公司 | 一种基于定制客运的运营优化方法及定制运输装置 |
CN116757339B (zh) * | 2023-08-21 | 2023-11-14 | 倍施特科技(集团)股份有限公司 | 一种基于定制客运的运营优化方法及定制运输装置 |
CN117191067A (zh) * | 2023-11-07 | 2023-12-08 | 杭州一喂智能科技有限公司 | 出行路线规划方法、装置、电子设备和计算机可读介质 |
CN117191067B (zh) * | 2023-11-07 | 2024-02-06 | 杭州一喂智能科技有限公司 | 出行路线规划方法、装置、电子设备和计算机可读介质 |
CN117540982A (zh) * | 2023-11-08 | 2024-02-09 | 杭州一喂智能科技有限公司 | 用于运营专线的车辆信息发送方法、装置和电子设备 |
CN117575120A (zh) * | 2023-12-12 | 2024-02-20 | 云宝宝大数据产业发展有限责任公司 | 一种基于区域巡游的士巴智能化服务平台及方法 |
CN117575120B (zh) * | 2023-12-12 | 2024-06-11 | 云宝宝大数据产业发展有限责任公司 | 一种基于区域巡游的士巴智能化服务平台及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111738550B (zh) | 2023-07-25 |
CN111738550A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021232586A1 (zh) | 基于动态规划的出行组客方法、装置、设备及存储介质 | |
JP7166222B2 (ja) | 乗客に通勤用車両を割り当てるシステム | |
CN109409599A (zh) | 基于实时需求的定制公交线路开通优化方法 | |
Yang et al. | Online dispatching and routing model for emergency vehicles with area coverage constraints | |
Li et al. | An agent-based simulation for shared automated electric vehicles with vehicle relocation | |
Bathla et al. | Real-time distributed taxi ride sharing | |
Cats et al. | Effect of real-time transit information on dynamic passenger path choice | |
Dai et al. | A balanced assignment mechanism for online taxi recommendation | |
Engelhardt et al. | Speed-up heuristic for an on-demand ride-pooling algorithm | |
Oluwadare et al. | Solving school bus routing problem using genetic algorithm-based model | |
Kumar et al. | Dynamic bus scheduling based on real-time demand and travel time | |
Maciejewski12 et al. | A microscopic simulation approach for optimization of taxi services | |
Calabrò et al. | Comparing the performance of demand responsive and schedule-based feeder services of mass rapid transit: an agent-based simulation approach | |
Hao et al. | Introduction to the dynamic pickup and delivery problem benchmark--ICAPS 2021 competition | |
Hakeem et al. | Multi-destination vehicular route planning with parking and traffic constraints | |
CN113191028A (zh) | 交通仿真方法、系统、程序及介质 | |
Engelhardt et al. | Fleetpy: A modular open-source simulation tool for mobility on-demand services | |
WO2021144577A1 (en) | Vehicle routing | |
Boukhater et al. | An intelligent and fair GA carpooling scheduler as a social solution for greener transportation | |
JP4122429B2 (ja) | バス運行形態評価方法、ならびにバス運行形態評価プログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Nakanishi et al. | Parking lot allocation and dynamic parking fee system based on a mechanism design approach | |
Bertelle et al. | A decentralised approach for the transportation on demand problem | |
Engelhardt et al. | FLEETPY: AMODULAR OPEN-SOURCE SIMULATION TOOL FOR MOBILITY ON-DEMAND SERVICES | |
Gong et al. | Task allocation in eco-friendly mobile crowdsensing: problems and algorithms | |
KR20210084183A (ko) | 음식물쓰레기 관리 지원 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20936218 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09/03/2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20936218 Country of ref document: EP Kind code of ref document: A1 |