Online car-hailing order matching method and system

The driver and passenger attribute information in the online car-hailing order matching system is processed through genetic algorithms, and the optimal matching solution is generated, which solves the problem of low matching accuracy in the existing technology and realizes efficient matching of order allocation.

CN120525699APending Publication Date: 2025-08-22FOSHAN UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510556231.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

The existing online car-hailing order matching technology fails to fully consider the needs of both drivers and passengers, resulting in low matching accuracy.

Method used

Genetic algorithms are used to obtain the attribute information of the order to be allocated, passenger objects and driver objects, and preprocess the tournament selection, crossing and mutation to generate the optimal matching plan to balance the needs of drivers and passengers.

Benefits of technology

It effectively improves the matching accuracy of online car-hailing orders and ensures that order allocation meets the diverse needs of drivers and passengers at the same time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120525699A_ABST
    Figure CN120525699A_ABST
Patent Text Reader

Abstract

The invention discloses an online car-hailing order matching method and system, and is applied to the technical field of computers, and the method comprises the steps: obtaining the description information of a plurality of orders to be distributed, the attribute information of a plurality of passenger objects, and the attribute information of a plurality of driver objects as target information; preprocessing the target information to obtain an initial population as a parent population; performing tournament selection, crossover and variation on the parent population to obtain a selected population, a crossover population and a variation population; updating the selected population by using the cross population and the variation population to obtain a filial generation population; and if a preset condition is not met, determining the child population as a new parent population, and returning to the steps of selecting, crossing and variation of the tournament, otherwise, obtaining an optimal matching scheme according to the child population, and pushing each to-be-allocated order to a corresponding driver object according to the optimal matching scheme. According to the invention, by balancing the pairing relationship between the online car-hailing order and the driver object, the matching precision of the online car-hailing order can be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method and system for matching online ride-hailing orders. Background Art

[0002] Online ride-hailing services are a new transportation model that connects passengers and drivers through an internet-based electronic transaction platform, providing passengers with convenient travel services. Currently, relevant technologies are exploring more complex and precise algorithms to implement intelligent scheduling mechanisms for online ride-hailing orders. However, these technologies often focus solely on factors related to either the passenger or driver role, while failing to fully consider factors related to the other. This results in online ride-hailing orders being unable to simultaneously meet the needs of both drivers and passengers, resulting in low matching accuracy. Summary of the Invention

[0003] The present application provides a method and system for matching online ride-hailing orders to improve the matching accuracy of online ride-hailing orders.

[0004] On the one hand, an embodiment of the present application provides a method for matching online car-hailing orders, comprising the following steps: obtaining descriptive information of multiple orders to be assigned, attribute information of multiple passenger objects, and attribute information of multiple driver objects as target information; wherein, the multiple orders to be assigned correspond one-to-one to the multiple passenger objects; preprocessing the target information to obtain an initial population as a parent population; performing tournament selection, crossover, and mutation on the parent population to obtain a selected population, a crossover population, and a mutant population; using the crossover population and the mutant population to update the selected population to obtain a child population; if the preset conditions are not met, determining the child population as the new parent population, and returning to the step of performing tournament selection, crossover, and mutation on the parent population, otherwise obtaining an optimal matching solution based on the child population; and pushing each of the orders to be assigned to the corresponding driver object based on the optimal matching solution.

[0005] On the other hand, an embodiment of the present application provides an online car-hailing order matching system, including: an acquisition module, a first processing module, a second processing module, a third processing module, a fourth processing module and a fifth processing module; the acquisition module is used to obtain descriptive information of multiple orders to be assigned, attribute information of multiple passenger objects and attribute information of multiple driver objects as target information; wherein, multiple orders to be assigned correspond one-to-one to multiple passenger objects; the first processing module is used to pre-process the target information to obtain an initial population as a parent population; the second processing module is used to perform tournament selection, crossover and mutation on the parent population to obtain a selected population, a crossover population and a mutant population; the third processing module is used to update the selected population using the crossover population and the mutant population to obtain a child population; the fourth processing module is used to determine the child population as a new parent population if the preset conditions are not met, and trigger the second processing module to perform tournament selection, crossover and mutation on the parent population, otherwise obtain the optimal matching solution based on the child population; the fifth processing module is used to push each order to be assigned to the corresponding driver object according to the optimal matching solution.

[0006] According to an online car-hailing order matching method and system provided by the present application, first, descriptive information of multiple orders to be assigned, attribute information of multiple passenger objects, and attribute information of multiple driver objects are obtained as target information; wherein, multiple orders to be assigned correspond one-to-one to multiple passenger objects; then, the target information is preprocessed to obtain an initial population as a parent population; thereafter, tournament selection, crossover, and mutation are performed on the parent population to obtain a selected population, a crossover population, and a mutant population, and the selected population is updated using the crossover population and the mutant population to obtain a child population; if the preset conditions are not met, the child population is determined as the new parent population, and the steps of tournament selection, crossover, and mutation are returned, otherwise the optimal matching solution is obtained according to the child population; finally, according to the optimal matching solution, each order to be assigned is pushed to the corresponding driver object. According to the technical solution of the embodiment of the present application, the two perspectives of driver objects and orders to be assigned (passenger objects) are fully taken into consideration, and the optimal matching of orders to be assigned and driver objects is performed by applying genetic algorithms. This can effectively balance the pairing relationship between orders to be assigned and driver objects, and promote the allocation of orders to be assigned to meet the diverse needs of drivers and passengers at the same time, thereby effectively improving the matching accuracy of orders to be assigned. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 This is a flow chart of a method for matching online ride-hailing orders provided by this application; Figure 2 This is a schematic diagram of the crossover and mutation principles provided by this application; Figure 3 is a schematic diagram of the tournament selection provided by this application. DETAILED DESCRIPTION

[0008] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0009] In response to the defects of related technologies, the embodiments of the present application provide a method and system for matching online ride-hailing orders, which aims to balance the pairing relationship between orders to be assigned and driver objects through genetic algorithms, so that the allocation of orders to be assigned can meet the needs of both drivers and passengers, thereby effectively improving the matching accuracy of orders to be assigned.

[0010] It should be emphasized that in each specific embodiment of this application, when it comes to the need to perform relevant processing based on relevant data such as descriptive information, attribute information, etc., the permission or consent of the object will be obtained first, and the collection, use and processing of such data will comply with relevant laws, regulations and standards. In addition, when the embodiment of the present disclosure needs to obtain relevant data such as descriptive information, attribute information, etc., it will obtain the separate permission or consent of the object through a pop-up window or jump to a confirmation page. After clearly obtaining the separate permission or consent of the object, it will then obtain the necessary relevant data such as descriptive information, attribute information, etc. for the normal operation of the embodiment of the present disclosure.

[0011] The following will describe in detail the implementation steps of a method for matching online ride-hailing orders provided by an embodiment of the present application with reference to the accompanying drawings.

[0012] Reference Figure 1 , Figure 1 This is a flowchart of an online car-hailing order matching method provided in this application. The online car-hailing order matching method may include the following steps S101-S106.

[0013] S101, obtaining description information of multiple orders to be assigned, attribute information of multiple passenger objects, and attribute information of multiple driver objects as target information.

[0014] It should be noted that a pending order refers to an online ride-hailing order to be assigned, a passenger object refers to the object that initiates the pending order, and a driver object refers to the object that receives the pending order. In some embodiments, the passenger object and driver object can be specific to real users. In some embodiments, the passenger object and driver object can also be specific to accounts. Multiple pending orders correspond one-to-one to multiple passenger objects, meaning that the pending orders are initiated by the corresponding passenger objects.

[0015] In this step, during the matching process of online ride-hailing orders, the description information of multiple orders to be assigned, the attribute information of multiple passenger objects, and the attribute information of multiple driver objects are first obtained as target information, so that each online ride-hailing order to be assigned can be reasonably assigned to the corresponding driver object based on this information.

[0016] For example, all online ride-hailing order information is collected on a ride-hailing platform. The relevant information of online ride-hailing orders, passenger objects, and driver objects is split and / or combined, and saved to the corresponding fields of the driver table, passenger table, and order table in the database respectively. A record in the table is the information of an online ride-hailing order. Based on historical online ride-hailing orders and real-time online ride-hailing orders, the fields of the three tables are designed as follows: The driver table is used to record the basic information of the driver object and a certain online ride-hailing order. Its design fields are as follows: (1) order_id, which is the number information of the online ride-hailing order: the primary key, defines a unique identifier for each online ride-hailing order, and designs foreign key constraints. The order_id of the three tables (driver table, passenger table, and order table) corresponds to each other. (2) driver_name, which is the name information of the driver object: the name of the driver object authenticated on the online ride-hailing platform. It is not unique in the driver table. One name information can have multiple historical online ride-hailing orders. Based on the name information of the driver object, all the orders received by the driver object and the personal order demand report can be statistically obtained. (3) driver_rating, which is the evaluation information of the driver object: the comprehensive score of the driver object on the online ride-hailing platform. The comprehensive score is obtained by the online ride-hailing platform authentication or the passenger object's score. Its value can be greater than or equal to zero and less than or equal to ten. (4) car_mileage, i.e., the mileage information of the vehicle driven by the driver object: the mileage of the vehicle driven by the driver object certified on the online ride-hailing platform. The unit of mileage can be 10,000 kilometers, but is not limited to this. (5) car_cleanliness, i.e., the cleanliness information of the vehicle driven by the driver object: the cleanliness score of the vehicle driven by the driver object on the online ride-hailing platform. Its value can be greater than or equal to zero and less than or equal to five. (6) car_comfort, i.e., the comfort information of the vehicle driven by the driver object: the comfort score of the vehicle driven by the driver object on the online ride-hailing platform. Its value can be greater than or equal to zero and less than or equal to five. (7) driver_success_rate, i.e., the order acceptance success rate information of the driver object: the order acceptance success rate of the driver object in the historical time period (for example, the past week or the past month), which refers to the total number of completed orders of the driver object in the historical time period divided by the sum of the total number of completed orders and the total number of canceled orders of the driver object in the historical time period. (8) driver_punctuality_rate, i.e. the driver object’s order acceptance punctuality rate information: the driver object’s order acceptance punctuality rate in the historical time period, which refers to the total number of orders accepted on time by the driver object in the historical time period, divided by the sum of the total number of orders accepted on time and the total number of orders accepted after delay. (9) driver_location, i.e. the driver object’s order acceptance location information: the driver object’s geographical location when accepting the online ride-hailing order, which can be determined by the Global Positioning System (GPS), but is not limited to this. (10) order_price, i.e. the driver object’s order acceptance price information: the fee information available to the driver object in the online ride-hailing order. In the above driver table, points (1)-(8) are associated with historical online ride-hailing orders, and points (9)-(10) are associated with real-time online ride-hailing orders.

[0017] The passenger table is used to record the basic information of the passenger object and a certain online taxi order. Its design fields are as follows: (1) order_id, that is, the number information of the online taxi order: the primary key, which defines a unique identifier for each online taxi order, and designs a foreign key constraint. The order_id of the three tables (driver table, passenger table, and order table) corresponds to each other. (2) passenger_name, that is, the name information of the passenger object: the name of the passenger object that is authenticated on the online taxi platform. It is not unique in the passenger table. One name information can have multiple historical online taxi order information; based on the name information of the passenger object, all the passenger object's ride status and personal ride demand report can be statistically obtained. (3) passenger_rating, that is, the evaluation information of the passenger object: the comprehensive score of the passenger object on the online taxi platform. The comprehensive score is obtained by the driver object's score, and its value can be greater than or equal to zero and less than or equal to ten. (4) taxi_frequency, that is, the frequency information of the passenger object's ride: the number of rides of the passenger object in the historical time period (such as the past week or the past month), which is the total number of online taxi orders of the passenger object in the historical time period. (5) passenger_success_rate, i.e. the passenger object’s boarding success rate information: the passenger object’s boarding success rate in the historical time period, which refers to the total number of completed orders of the passenger object in the historical time period, divided by the total number of completed orders and the total number of canceled orders of the passenger object in the historical time period. (6) passenger_punctuality_rate, i.e. the passenger object’s boarding punctuality rate information: the passenger object’s boarding punctuality rate in the historical time period, which refers to the total number of on-time boardings of the passenger object in the historical time period, divided by the total number of on-time boardings and the total number of overdue boardings of the passenger object in the historical time period. (7) waiting_time, i.e. the passenger object’s average waiting time information: the average waiting time of the passenger object in all online taxi orders. Waiting time refers to the time from placing an online taxi order to confirming the boarding, and its unit can be minutes, but is not limited to this. (8) taxi_free, i.e. the passenger object’s average fare information: the average fare paid by the passenger object in all online taxi orders. (9) passenger_departure, i.e. the passenger object's departure location: the passenger object's geographic location in the online ride-hailing order, which can be determined by the global positioning system, but is not limited to this. (10) passenger_destination, i.e. the passenger object's destination location: the passenger object's geographic location in the online ride-hailing order, which can be determined by the global positioning system, but is not limited to this. In the above passenger table, points (1)-(8) are associated with historical online ride-hailing orders, and points (9)-(10) are real-time order information.

[0018] The order table is used to record the basic information of each online car-hailing order (including historical orders and real-time orders). Its design fields are as follows: (1) order_id, that is, the number information of the online car-hailing order: the primary key, defines a unique identifier for each online car-hailing order, and designs foreign key constraints. The order_id of the three tables (driver table, passenger table, and order table) corresponds. (2) driver_id, that is, the number information of the driver object of the online car-hailing order: the driver object number associated with the online car-hailing order, which is a foreign key pointing to the driver_id in the driver table. (3) passenger_id, that is, the passenger object number information of the online car-hailing order: the passenger object number associated with the online car-hailing order, which is a foreign key pointing to the passenger_id in the passenger table. (4) order_state, that is, the status information of the online car-hailing order in the historical time period: according to the status of the online car-hailing order, it is divided into canceled status and completed status, that is, the status information includes either canceled status or completed status. Based on this, the order acceptance success rate information of the driver object and the boarding success rate information of the passenger object can be calculated. (5) driver_ispunctual, i.e., the driver punctuality information of online ride-hailing orders within the historical time period: according to the situation of the driver object arriving at the geographical location of the starting point of the online ride-hailing order, it can be divided into on-time order acceptance status and overdue order acceptance status, that is, the driver punctuality information includes either on-time order acceptance status or overdue order acceptance status. Based on this, the driver object's order acceptance punctuality information can be calculated. (6) passenger_ispunctual, i.e., the passenger punctuality information of online ride-hailing orders within the historical time period: according to the situation of the passenger object arriving at the geographical location of the starting point of the online ride-hailing order, it can be divided into on-time boarding status and overdue boarding status, that is, the passenger punctuality information includes either on-time boarding status or overdue boarding status. Based on this, the passenger object's boarding punctuality information can be calculated. (7) pickup_distance, i.e., the pickup distance information of an online ride-hailing order: the distance between the geographic location of the driver object when accepting the online ride-hailing order and the geographic location of the passenger object's starting point in the online ride-hailing order. This can be calculated by calling driver_location in the driver table and passenger_departure in the passenger table. The unit can be kilometers, but is not limited to this. (8) order_journey, i.e., the order journey information of an online ride-hailing order: the distance between the geographic location of the passenger object's starting point in the online ride-hailing order and the geographic location of the passenger object's destination in the online ride-hailing order. This can be calculated by calling passenger_departure and passenger_destination in the passenger table. The unit can be kilometers, but is not limited to this.(9) order_period, i.e., the order period information of the online ride-hailing order: the time period in which the online ride-hailing order is placed, which can be divided into peak period (morning / lunch / dinner), post-meal period (afternoon / evening), and early morning period. That is, the order period information includes any one of the peak period, post-meal period, or early morning period. In the above order table, points (1)-(6) are associated with historical online ride-hailing orders, and points (7)-(9) are associated with real-time online ride-hailing orders.

[0019] The passenger, driver, and order tables are preprocessed by filling in or deleting missing values ​​and removing outliers to ensure data quality. Next, based on the fields in these tables, important features are extracted and segmented from the perspectives of driver objects and passenger objects (to be assigned orders). Specifically, the driver object's name (driver_name from the driver table), rating (driver_rating from the driver table), mileage (car_mileage from the driver table), cleanliness (car_cleanliness from the driver table), comfort (car_comfort from the driver table), order success rate (driver_success_rate from the driver table), and punctuality (driver_punctuality_rate from the driver table) are extracted as driver object attributes. Obtain the order price (order_price from the driver table), pickup distance (pickup_distance from the order table), order time (order_period from the order table), departure location (passenger_departure from the passenger table), and destination (passenger_destination from the passenger table) for the order to be assigned as descriptive information. Obtain the passenger's name (passenger_name from the passenger table), rating (passenger_rating from the passenger table), frequency (taxi_frequency from the passenger table), boarding success rate (passenger_success_rate from the passenger table), on-time boarding rate (passenger_punctuality_rate from the passenger table), average waiting time (waiting_time from the passenger table), and average fare (taxi_free from the passenger table) as attribute information for the passenger object.

[0020] S102: Preprocess the target information to obtain an initial population as the parent population.

[0021] In this step, after obtaining the descriptive information of multiple orders to be assigned, the attribute information of multiple passenger objects, and the attribute information of multiple driver objects, this information is preprocessed. The preprocessing may include but is not limited to encoding processing and population initialization, and then an initial population is obtained, and the initial population is used as the first parent population.

[0022] S103, performing tournament selection, crossover, and mutation on the parent population to obtain a selection population, a crossover population, and a mutation population.

[0023] In this step, after obtaining the parent population, the parent population is first subjected to tournament selection to obtain a selected population, then the selected population is crossovered to obtain a crossover population, and finally the crossover population is mutated to obtain a mutant population. In this way, the selection, crossover, and mutation of population individuals are achieved, thereby capturing the better individuals in the current generation.

[0024] S104, using the crossover population and the mutation population to update the selected population to obtain the offspring population.

[0025] In this step, in order to further achieve population replacement and iteration, the cross population and the mutation population are merged, and the merged population is used to further screen the individuals in the selection population to update the individuals in the selection population and obtain the offspring population.

[0026] S105, if the preset conditions are not met, the offspring population is determined as the new parent population, and the process returns to the steps of performing tournament selection, crossover, and mutation on the parent population; otherwise, the optimal matching solution is obtained based on the offspring population.

[0027] It should be noted that the optimal matching solution may include matching solutions between multiple driver objects and corresponding orders to be assigned, that is, a single matching solution refers to a matching solution between a single driver object and a single order to be assigned, and these matching solutions are all optimal matching solutions.

[0028] In this step, after obtaining the offspring population, it is determined whether the preset conditions are currently met; if not, it means that the genetic algorithm has not yet terminated and it needs to be iteratively processed. At this time, the offspring population is determined as the new parent population, and the process returns to the above-mentioned step S103 to iteratively update the population; if so, it means that the genetic algorithm can terminate and the optimal individual has been generated. At this time, the individual with the largest fitness value will be selected from the offspring population as the optimal individual, and the optimal individual will be decoded according to the population encoding rule to obtain the optimal matching solution. Among them, the preset conditions can be set according to actual conditions, and the embodiments of the present application do not specifically limit this. For example, the preset condition can be that the current number of iterations reaches the preset termination number, but is not limited to this.

[0029] S106: Push each order to be assigned to the corresponding driver object according to the optimal matching solution.

[0030] In this step, based on the optimal matching solution, each order to be assigned is pushed to the corresponding driver object, thereby completing the matching process of the online car-hailing order.

[0031] In some implementations, the implementation process of the above step S102 may include the following steps S201-S202.

[0032] S201, based on the target information, obtain the pairing function value of each driver-order pair.

[0033] It should be noted that the driver-order pair represents the matching relationship between any driver object and any order to be assigned, which means that the driver-order pair refers to a pairing consisting of a single driver object and a single order to be assigned.

[0034] In this step, based on the description information of multiple orders to be assigned, the attribute information of multiple passenger objects and the attribute information of multiple driver objects, the pairing function value of each driver-order pair is determined. The pairing function value reflects the degree of matching between the driver object in the driver-order pair and the order to be assigned. The closer the pairing function value is to one, the higher the degree of matching between the driver object in the driver-order pair and the order to be assigned. Conversely, the lower the degree of matching between the driver object in the driver-order pair and the order to be assigned.

[0035] S202, using the driver order pair as genetic information, performing real number encoding and population initialization on the pairing function value of each driver order pair, and obtaining the initial population as the parent population.

[0036] It should be noted that the initial population can include multiple individuals, each representing a chromosome. Each individual represents a matching solution between multiple driver objects and multiple pending orders. Each individual includes multiple genetic information, representing driver-order pairs. In each individual, all genetic information is sequentially assigned and collectively constitutes the individual's genetic sequence.

[0037] In this step, the pairing function values ​​are real-number encoded to represent driver-order pairs. That is, each driver-order pair is directly represented by its pairing function value. For example, if the pairing function value of a driver-order pair is 1, then the real-number encoding value of that driver-order pair is 1. Using driver-order pairs as genetic information, merging multiple driver-order pairs creates a complete driver-order matching solution (individual). For example, an individual has three genes, A, B, and C. Gene A (driver-order pair 1) has a pairing function value of 0.9, gene B (driver-order pair 2) has a pairing function value of 0.8, and gene C (driver-order pair 3) has a pairing function value of 1.1. By combining the real-number encodings of these three genes, the individual can be represented by a list: [0.9, 0.8, 1.1]. After setting the real-number encoding method, this step first real-number encodes the pairing function values ​​of each driver-order pair. Then, the population is initialized, randomly generating a certain number of individuals as the initial population. This initial population is the first parent population. It is understandable that the population initialization can use any existing technology, such as a population initialization method based on a greedy algorithm, which will not be described in detail in this embodiment and will not be specifically limited.

[0038] In some embodiments, the implementation process of the above-mentioned step S201 may include the following steps: obtaining a pairing score value for each driver object based on the attribute information of each driver object and the description information of each order to be assigned; obtaining a pairing score value for each passenger object based on the attribute information of each passenger object and the description information of each order to be assigned; obtaining a pairing function value for each driver-order pair based on the pairing score value of each driver object and the pairing score value of each passenger object.

[0039] In this embodiment, according to the aforementioned embodiments, it can be known that the characteristic information associated with the matching of online car-hailing orders is determined from the two perspectives of driver objects and passenger objects (objects of order to be assigned), that is, the attribute information of multiple driver objects and multiple passenger objects, and the description information of multiple orders to be assigned. According to prior knowledge, the evaluation information of the driver object, the mileage information of the vehicle driven, the cleanliness information of the vehicle driven, the comfort information of the vehicle driven, the order acceptance success rate information and the order acceptance punctuality information, as well as the order acceptance price information, pick-up distance information, order time information, departure point and destination point of the order to be assigned, and the evaluation information, ride frequency information, boarding success rate information, boarding punctuality information, average waiting time information and average fare information of the passenger object are all closely related to whether the driver object is matched with the best order to be assigned. Therefore, based on this information, the driver object and the passenger object (object of order to be assigned) are paired and scored respectively, as follows: The pairing score value of the driver object may include the following historical pairing score values ​​and real-time pairing score values: (1) Driver evaluation score, which is a historical pairing score: the evaluation information of multiple driver objects is sorted in descending order to obtain the ranking numbers of the evaluation information of the multiple driver objects, wherein the ranking numbers of the evaluation information are negatively correlated with the evaluation information, that is, the larger the evaluation information, the smaller its ranking number, and the smaller the evaluation information, the larger its ranking number. For each driver object, if the ranking number of the driver object's evaluation information is less than the preset first ranking threshold, it means that the comprehensive evaluation of the driver object is excellent, and its driver evaluation score is defined as three; if the ranking number of the driver object's evaluation information is greater than the preset second ranking threshold, it means that the comprehensive evaluation of the driver object is average, and its driver evaluation score is defined as one; if the ranking number of the driver object's evaluation information is greater than or equal to the first ranking threshold and less than or equal to the second ranking threshold, it means that the comprehensive evaluation of the driver object is good, and its driver evaluation score is defined as two, as shown in the following formula (1): (1); In formula (1), Indicates the driver evaluation score; represents the first sorting threshold; Represents the second ranking threshold. Optionally, the first ranking threshold and the second ranking threshold can be flexibly set according to actual conditions. For example, after sorting, if the evaluation information of the driver object is in the first 30%, it means that the driver object's comprehensive evaluation is excellent; if the evaluation information of the driver object is in the last 30%, it means that the driver object's comprehensive evaluation is average; if the evaluation information of the driver object is between 30% and 70%, it means that the driver object's comprehensive evaluation is good, but the present invention is not limited to this.

[0040] (2) Order acceptance success rate score, which is a historical matching score: for each driver object, if the driver object's order acceptance success rate information is greater than the preset first success rate, it means that the driver object has a high probability of successfully accepting an order, and its order acceptance success rate score is defined as three; if the driver object's order acceptance success rate information is less than the preset second success rate, it means that the driver object has a low probability of successfully accepting an order, and its order acceptance success rate score is defined as one; if the driver object's order acceptance success rate information is less than or equal to the first success rate and greater than or equal to the second success rate, it means that the driver object has a general probability of successfully accepting an order, and its order acceptance success rate score is defined as two, as shown in the following formula (2): (2); In formula (2), Indicates the order success rate score; Indicates the first success rate; Optionally, the first success rate and the second success rate can be flexibly set according to actual conditions. For example, the first success rate can be 90% and the second success rate can be 70%, but the present invention is not limited thereto.

[0041] (3) On-time order acceptance rate score, which is a historical matching score: for each driver object, if the driver object's on-time order acceptance rate information is greater than the preset first on-time rate, it means that the driver object is completely or almost able to arrive at the passenger object's location on time, and its on-time order acceptance rate score is defined as three; if the driver object's on-time order acceptance rate information is less than the preset second on-time rate, it means that the driver object is completely or almost unable to arrive at the passenger object's location on time, and its on-time order acceptance rate score is defined as one; if the driver object's on-time order acceptance rate information is less than or equal to the first on-time rate and greater than or equal to the second on-time rate, it means that the driver object is generally able to arrive at the passenger object's location on time, and its on-time order acceptance rate score is defined as two, as shown in the following formula (3): (3); In formula (3), Indicates the score of order acceptance on time rate; Indicates the first punctuality rate; Optionally, the first punctuality rate and the second punctuality rate can be flexibly set according to actual conditions. For example, the first punctuality rate can be 90% and the second punctuality rate can be 70%, but the present invention is not limited thereto.

[0042] (4) Vehicle mileage score, which is a historical matching score: For each driver object, if the mileage information of the vehicle driven by the driver object is greater than the preset mileage threshold, it means that the vehicle driven by the driver object has been used for a long time and the vehicle may have safety hazards. Its vehicle mileage score is defined as one. Otherwise, it means that the vehicle driven by the driver object has been used for a short time and the probability of the vehicle having safety hazards is low. Its vehicle mileage score is defined as two, as shown in the following formula (4): (4); In formula (4), Indicates the vehicle mileage rating value; Indicates the mileage threshold. Optionally, the mileage threshold can be flexibly set according to actual conditions. For example, the mileage threshold can be 150,000 kilometers, but is not limited thereto.

[0043] (5) Vehicle cleanliness score, which is a historical matching score: the cleanliness information of the vehicles driven by multiple driver objects (hereinafter referred to as vehicle cleanliness information) is sorted in descending order to obtain the sorting numbers of the vehicle cleanliness information of the multiple driver objects, wherein the sorting numbers of the vehicle cleanliness information are negatively correlated with the vehicle cleanliness information, that is, the larger the vehicle cleanliness information, the smaller its sorting number, and the smaller the vehicle cleanliness information, the larger its sorting number. For each driver object, if the sorting number of the vehicle cleanliness information of the driver object is less than the preset third sorting threshold, it means that the cleanliness of the vehicle driven by the driver object is excellent, and its vehicle cleanliness score is defined as 2; otherwise, it means that the cleanliness of the vehicle driven by the driver object is good, and its vehicle cleanliness score is defined as 1, as shown in the following formula (5): (5); In formula (5), Indicates the vehicle cleanliness score; Represents the third sorting threshold. Optionally, the third sorting threshold can be flexibly set based on actual conditions. For example, after sorting, if the vehicle cleanliness information of the driver object is in the top 30%, it means that the cleanliness of the vehicle driven by the driver object is excellent; otherwise, it means that the cleanliness of the vehicle driven by the driver object is good.

[0044] (6) Vehicle comfort score, which is a historical matching score: the comfort information of the vehicles driven by multiple driver subjects (hereinafter referred to as vehicle comfort information) is sorted in descending order to obtain the sorting numbers of the vehicle comfort information of the multiple driver subjects, wherein the sorting numbers of the vehicle comfort information are negatively correlated with the vehicle comfort information, that is, the larger the vehicle comfort information, the smaller its sorting number, and the smaller the vehicle comfort information, the larger its sorting number. For each driver subject, if the sorting number of the vehicle comfort information of the driver subject is less than the preset fourth sorting threshold, it means that the comfort of the vehicle driven by the driver subject is excellent, and its vehicle comfort score is defined as 2; otherwise, it means that the comfort of the vehicle driven by the driver subject is good, and its vehicle comfort score is defined as 1, as shown in the following formula (6): (6); In formula (6), Indicates the vehicle comfort rating; represents the fourth sorting threshold. Optionally, the fourth sorting threshold can be flexibly set according to actual conditions. For example, after sorting, if the vehicle comfort information of the driver object is in the top 30%, it means that the comfort of the vehicle driven by the driver object is excellent; otherwise, it means that the comfort of the vehicle driven by the driver object is good.

[0045] (7) Order price score, which is a real-time matching score: For each driver object, the order price information of the order to be assigned is scored. The price and score are positively correlated, that is, the higher the price, the higher the score. The order price score is determined according to the following formula (7): (7); In formula (7), Indicates the order price rating value.

[0046] (8) Order-pickup distance score, which is a real-time matching score: for each driver object, if the order-pickup distance information of the order to be assigned is less than or equal to the preset first distance threshold, it means that the driver object is closer to the passenger object that issued the order to be assigned, which means that the driver object can quickly pick up the passenger object, and the passenger object spends less time to get on the bus, which is more beneficial than harmful to both parties. The order-pickup distance score is defined as three; if the order-pickup distance information of the order to be assigned is greater than the preset second distance threshold, it means that the driver object is far away from the passenger object that issued the order to be assigned, which means that the driver object needs to travel for a longer time to pick up the passenger object, and the passenger object needs Waiting longer for a ride (this time may be unacceptable to the driver object and the passenger object) is more beneficial than harmful to both parties, and its order-receiving distance score is defined as one; if the order-receiving distance information of the order to be assigned is greater than the first distance threshold and less than or equal to the second distance threshold, it means that the distance between the driver object and the passenger object that issued the order to be assigned is average, which means that the driver object needs to travel for a certain amount of time to pick up the passenger object, and the passenger object needs to spend a certain amount of time to get the ride (this time is acceptable to the driver object and the passenger object), which is neither beneficial nor harmful to both parties, and its order-receiving distance score is defined as two, as shown in the following formula (8): (8); In formula (8), Indicates the order acceptance distance score; represents the first distance threshold; Optionally, the first distance threshold and the second distance threshold can be flexibly set according to actual conditions. For example, the first distance threshold can be 1 kilometer and the second distance threshold can be 3 kilometers, but the present invention is not limited thereto.

[0047] (9) Order acceptance period score, which is a real-time matching score: For each driver object, if the order period information of the order to be assigned belongs to any of the morning peak period, evening peak period or night peak period, it means that the current demand may be much greater than the supply, and the driver object is very easy to match the corresponding order to be assigned, and the order to be assigned is difficult to match the corresponding driver object, and its order acceptance period score is defined as three; if the order period information of the order to be assigned belongs to any of the post-lunch period or post-dinner period, it means that the current demand may be close to the supply, and the driver object is relatively easy to match the corresponding order to be assigned, and the order to be assigned can be matched to the corresponding driver object, and its order acceptance period score is defined as two; if the order period information of the order to be assigned belongs to the early morning period, it means that the current demand may be much less than the supply, and the driver object may find it difficult to match the corresponding order to be assigned, and the driver object has difficulty in obtaining the order to be assigned, and its order acceptance period score is defined as one, as shown in the following formula (9): (9); In formula (9), Indicates the score value of the order acceptance period. Optionally, the morning peak period, evening peak period, night peak period, post-lunch period, post-dinner period, and early morning period can be flexibly set according to actual conditions. For example, the morning peak period is from 7:00 to 9:00, the evening peak period is from 17:00 to 19:00, the night peak period is from 22:00 to 24:00, the post-lunch period is from 12:00 to 13:00, the post-dinner period is from 19:00 to 20:00, and the early morning period is from 1:00 to 7:00, but the present invention is not limited thereto.

[0048] Combining the above historical pairing score values ​​and the above real-time pairing score values, the pairing score value of the driver object can be calculated as shown in the following formula (10):

[0049] (10); In formula (10), Represents the pairing score of the driver object. The higher the score, the better the quality of the driver object. Conversely, the worse the quality of the driver object. Indicates the weights of various rating values ​​of the driver object, and the sum of the weights is one.

[0050] The pairing score value of the passenger object may include the following historical pairing score values ​​and real-time pairing score values: (1) Passenger evaluation score value, which is a historical pairing score value: the evaluation information of multiple passenger objects is sorted in descending order to obtain the ranking number of the evaluation information of the multiple passenger objects, wherein the ranking number of the evaluation information is negatively correlated with the evaluation information, that is, the larger the evaluation information, the smaller its ranking number, and the smaller the evaluation information, the larger its ranking number. For each passenger object, if the ranking number of the passenger object's evaluation information is less than the preset fifth ranking threshold, it means that the comprehensive evaluation of the passenger object is excellent, and its passenger evaluation score value is defined as three; if the ranking number of the passenger object's evaluation information is greater than the preset sixth ranking threshold, it means that the comprehensive evaluation of the passenger object is average, and its passenger evaluation score value is defined as one; if the ranking number of the passenger object's evaluation information is greater than or equal to the fifth ranking threshold and less than or equal to the sixth ranking threshold, it means that the comprehensive evaluation of the passenger object is good, and its passenger evaluation score value is defined as two, as shown in the following formula (11): (11); In formula (11), Indicates the passenger evaluation rating value; represents the fifth sorting threshold; represents the sixth ranking threshold. Optionally, the fifth and sixth ranking thresholds can be flexibly set according to actual conditions. For example, after ranking, if the evaluation information of a passenger object is in the top 30%, it means that the passenger object's comprehensive evaluation is excellent; if the evaluation information of a passenger object is in the bottom 30%, it means that the passenger object's comprehensive evaluation is average; if the evaluation information of a passenger object is between 30% and 70%, it means that the passenger object's comprehensive evaluation is good, but the present invention is not limited to this.

[0051] (2) Ride frequency score, which is a historical matching score: for each passenger object, if the passenger object's ride frequency information is greater than the preset first frequency threshold, it means that the passenger object frequently rides the bus, and its ride frequency score is defined as three; if the passenger object's ride frequency is less than the preset second frequency threshold, it means that the passenger object rarely rides the bus, and its ride frequency score is defined as one; if the passenger object's ride frequency information is less than or equal to the first frequency threshold and greater than or equal to the second frequency threshold, it means that the passenger object frequently rides the bus, and its ride frequency score is defined as two, as shown in the following formula (12): (12); In formula (12), Indicates the frequency of riding score; represents the first frequency threshold; Optionally, the first frequency threshold and the second frequency threshold can be flexibly set according to actual conditions, for example, the first frequency threshold is 7 and the second frequency threshold is 4, but the present invention is not limited thereto.

[0052] (3) The boarding success rate score value, which is a historical matching score value: for each passenger object, if the boarding success rate information of the passenger object is greater than the preset third success rate, it means that the passenger object has a high probability of successfully boarding the bus, and its boarding success rate score value is defined as three; if the boarding success rate information of the passenger object is less than the preset fourth success rate, it means that the passenger object has a low probability of successfully boarding the bus, and its boarding success rate score value is defined as one; if the boarding success rate information of the passenger object is less than or equal to the third success rate and greater than or equal to the fourth success rate, it means that the passenger object has a general probability of successfully boarding the bus, and its boarding success rate score value is defined as two, as shown in the following formula (13): (13); In formula (13), Indicates the score value of the boarding success rate; Indicates the third success rate; Optionally, the third success rate and the fourth success rate are flexibly set according to actual conditions, for example, the third success rate is 90% and the fourth success rate is 70%, but the present invention is not limited thereto.

[0053] (4) On-time boarding rate score, which is a historical matching score: for each passenger object, if the passenger object's on-time boarding rate information is greater than the preset third on-time rate, it means that the passenger object is very likely to board the bus on time, and its on-time boarding rate score is defined as three; if the passenger object's on-time boarding rate information is less than the preset fourth on-time rate, it means that the passenger object is very unlikely to board the bus on time, and its on-time boarding rate score is defined as one; if the passenger object's on-time boarding rate information is less than or equal to the third on-time rate and greater than or equal to the fourth on-time rate, it means that the passenger object is generally likely to board the bus on time, and its on-time boarding rate score is defined as two, as shown in the following formula (14): (14); In formula (14), Indicates the on-time boarding rate score; Indicates the third punctuality rate; Optionally, the third and fourth punctuality rates can be flexibly set according to actual conditions, for example, the third punctuality rate is 90% and the fourth punctuality rate is 70%, but the present invention is not limited thereto.

[0054] (5) Waiting time score, which is a historical matching score: for each passenger object, if the average waiting time information of the passenger object is less than the preset first time threshold, it means that the passenger object usually only needs to wait for a short time to get on the bus, and its waiting time score is defined as three; if the average waiting time information of the passenger object is greater than the preset second time threshold, it means that the passenger object usually needs to wait for a long time before getting on the bus (this time may be unacceptable to the passenger object), and its waiting time score is defined as one; if the average waiting time information of the passenger object is greater than or equal to the first time threshold and less than or equal to the second time threshold, it means that the passenger object usually only needs to wait for a certain time before getting on the bus (this time is generally acceptable to the passenger object), and its waiting time score is defined as two, as shown in the following formula (15): (15); In formula (15), Indicates the waiting time score value; represents the first time threshold; Optionally, the first time threshold and the second time threshold can be flexibly set according to actual conditions, for example, the first time threshold is 3 minutes and the second time threshold is 10 minutes, but the present invention is not limited thereto.

[0055] (6) Taxi fare score, which is a historical matching score: For each passenger object, score is given based on the average fare information of the passenger object. Price and score are positively correlated, that is, the higher the price, the higher the score. The taxi fare score is determined according to the following formula (16): (16); In formula (16), Indicates the taxi fare rating value.

[0056] (7) Departure point score value, which is a real-time matching score value: For each passenger object, the departure point of the order to be assigned is divided according to the region to which it belongs and then scored. If the departure point of the order to be assigned belongs to a commercial area, it means that the order to be assigned is mainly short-distance orders with a high cost-effectiveness, and its departure point score value is defined as three; if the departure point of the order to be assigned belongs to a residential area, it means that the order to be assigned is mainly medium- and long-distance orders with an average cost-effectiveness, and its departure point score value is defined as two; if the departure point of the order to be assigned belongs to a remote suburb, it means that the order to be assigned is mainly long-distance orders with a low cost-effectiveness, and its departure point score value is defined as one, as shown in the following formula (17): (17); In formula (17), Indicates the starting point rating value.

[0057] (8) Destination score, which is a real-time matching score: for each passenger object, the destination of the order to be assigned is divided according to the area to which it belongs and then scored. If the destination of the order to be assigned belongs to a commercial area, then the driver object is likely to quickly match the order issued by the next passenger object after the order to be assigned (because the demand for taxis in commercial areas is often greater than the supply of taxis), and its destination score is defined as three; if the destination of the order to be assigned belongs to a residential area, then the driver object can generally quickly match the order issued by the next passenger object after the order to be assigned, but it may take the driver object a while to match, and its destination score is defined as two; if the destination of the order to be assigned belongs to a remote suburb, then it is difficult for the driver object to quickly match the order issued by the next passenger object after the order to be assigned, and its destination score is defined as one, as shown in the following formula (18): (18); In formula (17), Indicates the score value of the destination point.

[0058] Combining the above historical pairing score values ​​and the above real-time pairing score values, the pairing score value of the passenger object can be calculated as shown in the following formula (19):

[0059] (19); In formula (19), Represents the pairing score of the passenger object. The higher the score, the better the quality of the passenger object, and vice versa. Indicates the weights of various rating values ​​of the passenger object, and the sum of the weights is one.

[0060] When the pairing scores of the driver object and the passenger object are close, it means that the matching degree of the orders to be assigned initiated by the driver object and the passenger object is high. Therefore, the function shown in the following formula (20) is designed to represent the pairing function of the driver-order pair: (20); In formula (20), Represents the matching function of driver-order pairs. When the ratio of the matching scores of the driver object and the passenger object is close to one, it means that the matching degree of the orders to be assigned initiated by the driver object and the passenger object is high, and vice versa.

[0061] Optionally, the weights of various rating values ​​of driver objects and passenger objects can be pre-set according to actual conditions, and this embodiment does not specifically limit this. In one example, the weights of various rating values ​​of driver objects and passenger objects can be determined in the following way: First, train a decision tree model, and the specific steps are: integrate all historical order information of driver objects and passenger objects as the original data set, and divide them into training sets and test sets; train a decision tree model, and automatically generate attributes after the decision tree model is trained, and obtain the importance score of each feature through the model's feature_importances_ attribute. The importance score of each feature is between 0 and 1, and the total importance score is 1; use the test set to evaluate the performance of the model, view the classification report and accuracy, and further optimize the model based on feedback; visualize the features that have the greatest impact on the driver object's successful order acceptance, and express the impact rate of each feature on the driver's successful order acceptance as a percentage. The features here refer to various rating values. Then, based on the output of the decision tree model, train a prediction model that automatically adjusts the weights, and the specific steps are: according to the output of the decision tree model, obtain the impact rate of each feature on the driver's successful order acceptance; convert the impact rate into a weight, and calculate the weight value of each feature in all features, that is, and ; Assign weight values ​​to the features in the original dataset to form feature weight datasets; divide the feature weight datasets into training and test sets, use the training set to train the random forest model, and use the test set to evaluate the performance of the model, view the classification report and accuracy, further optimize the feature weight values ​​based on feedback, and visualize the specific weight values ​​of each feature. Finally, based on the output of the specific weight values ​​of each feature, the specific weight values ​​of each feature are obtained and substituted into the formula for the pairing score values ​​of the driver object and the passenger object. With the feedback and optimization of the trained random forest model, the updated specific weight values ​​are obtained and updated in real time to the formula for the pairing score values ​​of the driver object and the passenger object for the next round of matching.

[0062] Optionally, the above-mentioned further optimization of the weight value of the feature based on feedback may include: displaying a weight display interface on the terminal, the weight display interface may include multiple feature display areas, each feature display area is provided with a corresponding weight input area, the feature display area is used to display the feature, and the weight input area is used to display the weight value of the feature; for each weight input area, in response to an input instruction to the weight input area, obtaining the weight value corresponding to the input instruction in the weight input area as a new weight value and displaying it in the weight input area. Here, the weight display interface is displayed on a terminal such as a laptop computer or a mobile phone, the weight display interface includes multiple feature display areas, each feature display area is provided with a corresponding weight input area, each feature display area is used to display a single feature to which it corresponds, and each weight input area is used to display the weight value of the corresponding feature, thereby presenting the weight values ​​of all features to the passenger object or the driver object (demand report). The passenger object or the driver object can edit the weight value displayed in the weight input area. At this time, the terminal, in response to the input instruction to the weight input area, obtains the edited weight value (i.e., the weight value corresponding to the input instruction in the weight input area) and uses it as the new weight value. The new weight value is displayed in the weight input area and further fed back to the model, thereby achieving feedback optimization. In this way, by introducing interactive display technology, the passenger object or driver object is allowed to adaptively adjust the weight value of each feature according to its own needs, thereby improving the accuracy of feedback optimization and making the output of the random forest model more in line with the actual needs of the driver object or passenger object.

[0063] In some embodiments, reference Figure 3 The implementation process of the above step S103 may include the following steps S301-S305.

[0064] S301, randomly selecting multiple individuals from the parent population to obtain a championship group.

[0065] It should be noted that the number of wins and losses of each individual is greater than or equal to zero and less than or equal to two, which means that in each round of the tournament, individuals with a number of wins or losses of two will not participate in the selection of this round of the tournament.

[0066] In this step, multiple individuals are randomly selected from the parent population to form a tournament group. This tournament group will participate in the first round of the tournament. Optionally, the number of individuals in the tournament group can be set based on actual circumstances and is not specifically limited in this embodiment. For example, the number of individuals in the tournament group can be greater than three, but this is not a limitation.

[0067] S302: For each pair of individuals in the tournament group, the number of wins or losses of each individual is updated by comparing the fitness values ​​of the two individuals, thereby obtaining a one-win-one-loss group, a one-win-zero-loss group, and a zero-win-one-loss group in the first round of the tournament.

[0068] In this step, in the first round of the tournament, two individuals are selected from the tournament group multiple times, with the aim of pairing the multiple individuals of the tournament group in pairs to obtain multiple individual pairs of the tournament group. For each individual pair, the fitness values ​​of the two individuals in the individual pair are compared. During the comparison, if one of the individuals wins, the number of wins of that individual is increased by one, while if the other individual loses, the number of failures of that individual is increased by one, and the number of wins and / or failures of each individual is updated in this way. By traversing multiple pairs of individuals in the tournament group, the number of wins and / or failures of each individual is changed, and the individual enters the corresponding group. This cycle is repeated until all individuals enter the corresponding group, thereby obtaining the tournament group of the first round of the tournament. It is worth noting that in the first round of the tournament, in addition to the one-win-zero-loss group and the zero-win-one-loss group, due to the randomness of individual selection, individuals may be selected multiple times to compete in the first round of the tournament, which leads to the early emergence of the two-win-zero-loss group, the one-win-one-loss group, and the zero-win-two-loss group. Therefore, the tournament groups of the first round of the tournament can be divided into the following five groups: (1) 2 wins and 0 losses group, including multiple individuals with two wins and zero losses; (2) 1 win and 0 losses group, including multiple individuals with one win and zero losses; (3) 1 win and 1 loss group, including multiple individuals with one win and one loss; (4) 0 win and 1 loss group, including multiple individuals with zero wins and one loss; (5) 0 win and 2 losses group, including multiple individuals with zero wins and two losses. In the first round of the tournament, the individuals in the 2 wins and 0 losses group will directly advance to become a member of the selection population; the individuals in the 0 win and 2 losses group will be directly eliminated (discarded); the individuals in the remaining groups will continue to participate in the subsequent rounds of the tournament until they advance or are eliminated (discarded). Optionally, the individual pairs in the first round of the tournament can be obtained by random selection, that is, two individuals are randomly selected to form an individual pair. Of course, in addition to this, in order to ensure the accuracy of the first round of the tournament, the individual pairs in the first round of the tournament can also be obtained by probabilistic selection, that is, two individuals are selected from the individual pairs according to a preset probability formula, but it is not limited to this. For example, the above-mentioned probabilistic selection follows the following formula (21): (twenty one); In formula (21), represents the probability of an individual being selected in the first round of the tournament; represents the sum of the number of times the individual has been selected and one, ; represents the number of individuals in the tournament group.

[0069] S303, for each pair of individuals in the one-win-one-loss group, the one-win-no-loss group, and the no-win-one-loss group of the first round of the tournament, the number of wins and / or the number of losses of each individual are updated by comparing the fitness values ​​of the two individuals, thereby obtaining the one-win-one-loss group of the second round of the tournament.

[0070] In this step, after the first round of the tournament, a one-win, zero-loss group, a one-win, one-loss group, and a zero-win, one-loss group will be generated. The number of wins and / or losses of individuals in these groups is one, and the individuals have not yet advanced or been eliminated, so they need to participate in the second round of the tournament. In the second round of the tournament, for the one-win, one-loss group, one-win, zero-loss group, and zero-win, one-loss group of the first round of the tournament, the following operations are performed: two individuals are selected from the current group multiple times, aiming to match multiple individuals in the current group with each other to form multiple individual pairs in the current group. For each individual pair, the fitness values ​​of the two individuals in the individual pair are compared. During the comparison, if one individual wins, the number of wins of the individual is increased by one, and if the other individual loses, the number of failures of the individual is increased by one, and the number of wins and / or failures of each individual is updated in this way. By traversing multiple pairs of individuals in the one-win-one-loss group, one-win-zero-loss group, and zero-win-one-loss group of the first round of the tournament group, the number of wins and / or the number of losses of each individual are changed, and they enter the corresponding group. This cycle is repeated until all individuals enter the corresponding group, thereby obtaining the tournament group for the second round of the tournament. It is worth noting that for the one-win-zero-loss group of the first round of the tournament, through fitness value comparison, if one individual wins, the number of wins of the individual increases by one, and it will move from the one-win-zero-loss group to the two-win-zero-loss group, while if the other individual loses, the number of failures of the individual increases by one, and it will move from the one-win-zero-loss group to the one-win-one-loss group. For the one-win-one-loss group of the first round of the tournament, through fitness value comparison, if one individual wins, the number of wins of the individual increases by one, and it will move from the one-win-one-loss group to the two-win-one-loss group, while if the other individual loses, the number of failures of the individual increases by one, and it will move from the one-win-one-loss group to the one-win-two-loss group. For the zero-win-one-loss group in the first round of the tournament, by comparing the fitness values, if one individual wins, the number of wins of the individual will increase by one, and the individual will move from the zero-win-one-loss group to the one-win-one-loss group, while if the other individual fails, the number of failures of the individual will increase by one, and the individual will move from the zero-win-one-loss group to the zero-win-two-loss group. Therefore, the tournament groups in the second round of the tournament can be divided into the following five groups: (1) the two-win-zero-loss group, which includes multiple individuals with two wins and zero failures; (2) the two-win-one-loss group, which includes multiple individuals with two wins and one failure; (3) the one-win-two-loss group, which includes multiple individuals with one win and two failures; (4) the one-win-one-loss group, which includes multiple individuals with one win and one failure; (5) the zero-win-two-loss group, which includes multiple individuals with zero wins and two failures. In the second round of the tournament, individuals in the 2-win-0-loss group and the 2-win-1-loss group will directly advance and become part of the selection population; individuals in the 1-win-2-loss group and the 0-win-2-loss group will be directly eliminated (discarded); individuals in the 1-win-1-loss group will continue to participate in subsequent rounds of the tournament until they advance or are eliminated (discarded).It should be noted that if there is only one individual in the one-win-one-loss group in the second round of the tournament, the individual will be eliminated directly, and the tournament selection will end, and the crossover operation will begin. However, the probability of this situation occurring is extremely low and can be ignored. Alternatively, the individual pairs in the second round of the tournament can be obtained by random selection, that is, two individuals are randomly selected from the individual pairs. Of course, in addition to this, in order to ensure the accuracy of the second round of the tournament, the individual pairs in the second round of the tournament can also be obtained by probabilistic selection, that is, two individuals are selected from the individual pairs according to a preset probability formula, but it is not limited to this. Among them, the probabilistic selection can follow the above formula (21).

[0071] S304 , for each pair of individuals in the one-win-one-lose group of the second round of the tournament, update the number of wins or losses of each individual by comparing the fitness values ​​of the two individuals.

[0072] In this step, after the second round of the tournament, a new one-win-one-loss group will be generated. The number of wins and the number of losses of the individuals in this group are both one. The individuals have not yet advanced or been eliminated, so they need to participate in the third round of the tournament. In the third round of the tournament, two individuals are repeatedly selected from the one-win-one-loss group of the second round of the tournament. The purpose is to pair up the multiple individuals in the one-win-one-loss group of the second round of the tournament, forming multiple individual pairs of the one-win-one-loss group of the second round of the tournament. For each individual pair, the fitness values ​​of the two individuals in the individual pair are compared. During the comparison, if one individual wins, the number of wins of that individual is increased by one, and the number of wins reaches two. If the other individual loses, the number of failures of that individual is increased by one, and the number of failures of that individual is reached two. The number of wins and / or the number of failures of each individual are thus updated. By traversing the multiple individual pairs in the one-win-one-loss group of the second round of the tournament, the number of wins or the number of failures of each individual are changed and entered into the corresponding group. This cycle is repeated until all individuals have entered the corresponding group, thereby obtaining the tournament group for the third round of the tournament. It is worth noting that since individuals with two wins or two losses do not participate in the selection, after comparing the individual pairs, the number of wins or the number of losses of each individual in the individual pair will reach two, and at this time each individual will advance or be eliminated. Therefore, the tournament group of the third round of the tournament can be divided into the following two groups: (1) a two-win-one-loss group, including multiple individuals with two wins and one loss; (2) a one-win-two-loss group, including multiple individuals with one win and two losses. In the third round of the tournament, the individuals in the two-win-one-loss group will directly advance and become a member of the selection population; the individuals in the one-win-two-loss group will be directly eliminated (discarded). Optionally, the individual pairs in the third round of the tournament can be obtained by random selection, that is, two individuals are randomly selected to form an individual pair. Of course, in addition to this, in order to ensure the accuracy of the third round of the tournament, the individual pairs in the third round of the tournament can also be obtained by probabilistic selection, that is, two individuals are selected from the group according to a preset probability formula to form an individual pair, but it is not limited to this. Among them, the probabilistic selection can follow the above formula (21).

[0073] S305, obtaining a selection population based on all individuals whose number of wins is two.

[0074] In this step, in the first round of the tournament, individuals in the 2-win, 0-loss group will advance directly to the next round and become part of the selection population. In the second round of the tournament, individuals in the 2-win, 0-loss group and the 2-win, 1-loss group will advance directly to the next round and become part of the selection population. In the third round of the tournament, individuals in the 2-win, 1-loss group will advance directly to the next round and become part of the selection population. Thus, all individuals with two wins will be combined into the selection population, completing the tournament selection.

[0075] The following example illustrates the principle of tournament selection provided by this embodiment. Assume that 100 individuals are randomly selected from the parent population to form a tournament group, and three rounds of tournaments are held. The specific process is as follows: (1) In the first round of the tournament: select individual 1 and individual 4 for fitness value comparison. Through comparison, individual 4 wins and individual 1 loses. The number of wins of individual 4 increases by one, and enters the one-win, zero-lose group. The number of failures of individual 1 increases by one, and enters the zero-win, one-lose group. Select individual 2 and individual 3 for fitness value comparison. Individual 3 wins and individual 2 loses. The number of wins of individual 3 increases by one, and enters the one-win, zero-lose group. The number of failures of individual 2 increases by one, and enters the zero-win, one-lose group. Select individual 2 and individual 5 for fitness value comparison. Individual 2 wins and individual 5 loses. The number of wins of individual 2 increases by one, and enters the one-win, zero-lose group from the zero-win, one-lose group. The number of failures of individual 5 increases by one, and enters the zero-win, one-lose group. Win-one-loss group; select individuals 5 and 6 to compare their fitness values. Individual 5 wins and individual 6 loses. The number of wins of individual 5 increases by one, and it moves from the zero-win-one-loss group to the one-win-one-loss group. The number of failures of individual 6 increases by one, and it moves to the zero-win-one-loss group. ...; This comparison is repeated until all individuals in the championship group enter the first grouping. The championship groups for the first round of the championship are obtained, namely: two-win-zero-loss group (assuming it includes individuals other than individuals 1 to 6), one-win-zero-loss group (assuming it includes individuals 4, 3, and other individuals), one-win-one-loss group (assuming it includes individuals 2, 5, and other individuals), zero-win-one-loss group (assuming it includes individuals 1, 6, and other individuals), and zero-win-two-loss group (assuming it includes individuals other than individuals 1 to 6). (2) In the second round of the tournament: For the one-win, zero-loss group, suppose that individuals 4 and 3 are selected for fitness value comparison. Individual 4 wins and individual 3 loses. Individual 4's win count increases by one, and it moves from the one-win, zero-loss group to the two-win, zero-loss group. Individual 3's failure count increases by one, and it moves from the one-win, zero-loss group to the one-win, one-loss group. The fitness value comparison of other individuals is similar. For the one-win, one-loss group, suppose that individuals 2 and 5 are selected for fitness value comparison. Individual 5 wins and individual 2 loses. Individual 5's win count increases by one, and it moves from the one-win, one-loss group to the two-win, one-loss group. Individual 2's failure count increases by one, and it moves from the one-win, one-loss group to the one-win, two-loss group. The fitness value comparison of other individuals is similar. For the zero-win-one-loss group, suppose individual 1 and individual 6 are selected for fitness value comparison. Individual 1 wins and individual 6 loses. The number of wins of individual 1 increases by one, and it moves from the zero-win-one-loss group to the one-win-one-loss group. The number of failures of individual 6 increases by one, and it moves from the zero-win-one-loss group to the zero-win-two-loss group. The fitness value comparison of other individuals is similar.At this point, all individuals in the one-win, zero-loss group, one-win, one-loss group, and zero-win, one-loss group of the first round of the tournament have entered the second grouping, and the tournament groups of the second round of the tournament are obtained as follows: two-win, zero-loss group (assuming it includes individual 4 and other individuals), two-win, one-loss group (assuming it includes individual 5 and other individuals), one-win, one-loss group (assuming it includes individual 1, individual 3, and other individuals), one-win, two-loss group (assuming it includes individual 2 and other individuals), and zero-win, two-loss group (assuming it includes individual 6 and other individuals). (3) In the third round of the tournament: for the one-win, one-loss group, assuming that individual 1 and individual 3 are selected for comparison, individual 1 wins and individual 3 loses, individual 1's win count increases by one, and it enters the two-win, one-loss group from the one-win, one-loss group, and individual 3's failure count increases by one, and it enters the one-win, two-loss group from the one-win, one-loss group; the fitness values ​​of other individuals are compared in the same way. At this point, all individuals in the one-win, one-loss group from the second round of the tournament have entered the third grouping, resulting in the tournament groups for the third round: the two-win, one-loss group (assuming this includes individual 1 and the others) and the one-win, two-loss group (assuming this includes individual 3 and the others). Ultimately, the individuals in the two-win, zero-loss group and the two-win, one-loss group advance to form the selection population, while the remaining individuals are eliminated.

[0076] In some embodiments, reference Figure 3 In each round of the tournament, the above-mentioned implementation process of updating the number of wins or failures of each individual by comparing the fitness values ​​of two individuals may include the following steps: if the fitness values ​​of the two individuals are different, then the number of wins of the individual with the larger fitness value is increased by one, and the number of failures of the other individual is increased by one; or, if the fitness values ​​of the two individuals are the same, then the number of wins of one of the individuals is randomly selected and increased by one, and the number of failures of the other individual is increased by one.

[0077] In this embodiment, in each round of the tournament, for each individual pair, the fitness values ​​of the two individuals in the pair are compared. If the fitness values ​​of the two individuals are different, the number of wins of the individual with the higher fitness value is increased by one, and the number of failures of the other individual is increased by one. If the fitness values ​​of the two individuals are the same, the number of wins of one randomly selected individual is increased by one, and the number of failures of the other individual is increased by one. This effectively improves the accuracy of the individual pair comparison in each round of the tournament, thereby accurately selecting the better individual as a member of the selection population. For example, there are three individuals with fitness values ​​of 0.8, 0.8, and 0.9, respectively. When comparing individual 1 and individual 2, whose fitness values ​​are the same, the number of wins of the randomly selected individual 1 is increased by one, and the number of failures of individual 2 is increased by one. When comparing individual 2 and individual 3, individual 3 has the higher fitness value, the number of wins of individual 3 is increased by one, and the number of failures of individual 2 is increased by one.

[0078] In some embodiments, reference Figure 2The selection population may include a first selection population and a second selection population. The first selection population may include multiple individuals with two wins and zero losses in tournament selection, and the second selection population may include multiple individuals with two wins and one loss in tournament selection. The crossover population may include a first crossover population, a second crossover population, and a third crossover population. The implementation process of step S103 may further include the following steps S401-S403.

[0079] S401, performing single-point local crossover on multiple individuals of the first selection population to obtain a first crossover population.

[0080] It should be noted that single-point local crossover refers to the operation of randomly selecting a gene information in the gene sequences of two individuals as a crossover point and exchanging the gene information of the two individuals at the crossover point.

[0081] In this step, the first selection population includes multiple individuals that have only won two tournament games, that is, multiple individuals belonging to the two-win, zero-loss group in the tournament. Individuals in the first selection population have all achieved victory in the tournament, indicating that these individuals often possess the best (largest) fitness values ​​within the population. Therefore, a single-point local crossover is used for crossover between individuals within the first selection population to obtain the first selection population after crossover, i.e., the first crossover population. This method better preserves the excellent characteristics of the parent generation, thereby producing more outstanding individuals. The specific crossover operation involves pairing multiple individuals from the first selection population to obtain multiple pairs of individuals. For each pair, a random gene in the genetic sequences of the two individuals is selected as a crossover point, and the genetic information of the two individuals at this crossover point is exchanged. Exemplarily, there are individuals 1 and 2, individual 1 is represented as [driver object 1-order A, driver object 2-order B, driver object 3-order C, driver object 4-order D], individual 2 is represented as [driver object 1-order E, driver object 2-order F, driver object 3-order G, driver object 4-order H], the second gene information is randomly selected as the intersection point in the gene sequences of these two individuals, and the second gene information of the two individuals is exchanged to obtain the crossed individual 1 and the crossed individual 2, which are represented as [driver object 1-order A, driver object 2-order F, driver object 3-order C, driver object 4-order D] and [driver object 1-order E, driver object 2-order B, driver object 3-order G, driver object 4-order H] respectively.

[0082] S402, performing single-point crossover on multiple individuals of the second selection population to obtain a second crossover population.

[0083] It should be noted that single-point crossover refers to the operation of randomly selecting a gene information as a crossover point in the gene sequences of two individuals, and exchanging the gene information of the two individuals at the crossover point and all gene information after the crossover point.

[0084] In this step, the second selection population includes multiple individuals with two wins and one loss in the tournament selection, i.e., multiple individuals in a two-win, one-loss group in the tournament selection. Individuals in the second selection population only successfully advance after two or three comparisons, indicating that the individual's fitness is relatively good (large), but there is still room for improvement. Therefore, a single-point crossover method is used for crossover between individuals within the second selection population to obtain the second selection population after crossover, i.e., the second crossover population. This helps to combine information from the parent generation, produce more diverse individuals, and help obtain more and better individuals. Specifically, the crossover operation involves pairing multiple individuals from the second selection population to obtain multiple pairs of individuals. For each pair, a random gene in the genetic sequences of the two individuals is selected as a crossover point. This crossover point serves as the boundary, and the genetic information of the two individuals at the boundary and all genetic information after the boundary are exchanged. Exemplarily, there are individuals 1 and 2, individual 1 is represented as [driver object 1-order A, driver object 2-order B, driver object 3-order C, driver object 4-order D], individual 2 is represented as [driver object 1-order E, driver object 2-order F, driver object 3-order G, driver object 4-order H], and the third genetic information is randomly selected as the intersection point in the genetic sequences of these two individuals. Using the third genetic information as the boundary, the genetic information of the two individuals at the third genetic information and all genetic information after the third genetic information are exchanged to obtain the crossed individual 1 and the crossed individual 2, which are represented as [driver object 1-order A, driver object 2-order B, driver object 3-order G, driver object 4-order H] and [driver object 1-order E, driver object 2-order F, driver object 3-order C, driver object 4-order D] respectively.

[0085] S403: Perform a multi-point crossover on the first selected population and the second selected population to obtain a third crossover population.

[0086] It should be noted that multi-point crossover refers to the operation of randomly selecting two genetic information as crossover points in the genetic sequences of two individuals, and exchanging the genetic information of the two individuals at these two crossover points and all genetic information between the two crossover points.

[0087] In this step, because the first and second selected populations have a large number of individuals and varying degrees of fitness, the solution space is large. Therefore, a multi-point crossover approach is used for the crossover between individuals from the two different selected populations, thereby generating a third crossover population. This allows for a global search of the solution space, facilitating the integration of superior features from different parent generations, thereby obtaining superior individuals. The specific crossover operation involves pairing individuals from the first and second selected populations to obtain multiple pairs of individuals. For each pair, two crossover points are randomly selected in the genetic sequences of the two individuals, and the genetic information of the two individuals at these two crossover points, as well as all genetic information between the two crossover points, is exchanged. Exemplarily, there are individuals 1 and 2, individual 1 is represented as [driver object 1-order A, driver object 2-order B, driver object 3-order C, driver object 4-order D], individual 2 is represented as [driver object 1-order E, driver object 2-order F, driver object 3-order G, driver object 4-order H], the second gene information and the fourth gene information are randomly selected as intersection points in the gene sequences of the two individuals, and all gene information of the two individuals at the second gene information and the fourth gene information and between the two are exchanged to obtain the crossed individual 1 and the crossed individual 2, which are [driver object 1-order A, driver object 2-order F, driver object 3-order G, driver object 4-order H] and [driver object 1-order E, driver object 2-order B, driver object 3-order C, driver object 4-order D] respectively.

[0088] In some embodiments, reference Figure 2 The above-mentioned mutation population may include a first mutation population, a second mutation population and a third mutation population; the implementation process of the above-mentioned step S103 may further include the following steps S501-S503.

[0089] S501, performing displacement mutation on multiple individuals of the first crossover population to obtain a first mutation population.

[0090] It should be noted that displacement mutation refers to the operation of randomly selecting a gene segment in the gene sequence of an individual and moving the gene segment to the end of the gene sequence of the individual. The gene segment includes at least one gene information.

[0091] In this step, after single-point local crossover, the fitness values ​​of the individuals in the first selected population are close to optimal (maximum). Therefore, displacement mutation is used to mutate the individuals within the first crossover population, resulting in the mutated first crossover population, also known as the first mutated population. This enhances and protects the local characteristics of the parent generation and improves convergence speed through local adjustments, thereby obtaining more excellent individuals. The specific mutation operation is as follows: for each individual in the first crossover population, a gene is randomly selected from the individual's gene sequence and moved to the end of the individual's gene sequence. For example, there is individual 1, represented as [Driver Object 1 - Order A, Driver Object 2 - Order B, Driver Object 3 - Order C, Driver Object 4 - Order D]. Gene fragments from the second to the third gene are randomly selected from the individual's gene sequence as gene fragments and moved to the end of the individual's gene sequence, resulting in the mutated individual 1 represented as [Driver Object 1 - Order A, Driver Object 4 - Order D, Driver Object 2 - Order B, Driver Object 3 - Order C].

[0092] S502: Perform deterministic mutation on multiple individuals in the second crossover population to obtain a second mutation population.

[0093] It should be noted that deterministic mutation refers to the operation of randomly selecting two genetic information in an individual's genetic sequence as mutation points and exchanging the orders to be allocated at the two mutation points.

[0094] In this step, after single-point crossover, the individuals in the second selection population have already produced many individuals with superior fitness (larger values), but optimal fitness has not yet been achieved. Therefore, deterministic mutation is used to mutate the individuals within the second crossover population, resulting in a mutated second crossover population, also known as the second mutation population. This method can stably transform the characteristics of the parent generation into superior characteristics, ensuring the stability of the mutation and thus producing more superior individuals. The specific mutation operation is as follows: for each individual in the second crossover population, two genetic information points are randomly selected from the individual's genetic sequence as mutation points, and the pending orders at these two mutation points are swapped. For example, there is individual 1, represented as [Driver Object 1 - Order A, Driver Object 2 - Order B, Driver Object 3 - Order C, Driver Object 4 - Order D]. The second and third genetic information points are randomly selected from the individual's genetic sequence as mutation points, and the pending orders of the second genetic information are swapped with the pending orders of the third genetic information, resulting in a mutated individual 1 represented as [Driver Object 1 - Order A, Driver Object 2 - Order C, Driver Object 3 - Order B, Driver Object 4 - Order D].

[0095] S503, performing uniform mutation on multiple individuals of the third crossover population to obtain a third mutation population.

[0096] It should be noted that uniform mutation refers to mutating the genetic information of an individual with a preset probability.

[0097] In this step, after multi-point crossover of individuals across the selected population, a diverse range of individuals with varying degrees of fitness is generated, resulting in a larger solution space. Therefore, for the intra-group individual variation of the third crossover population, a uniform variation method is adopted to obtain a third variant population, i.e., the mutated third crossover population. This enables a global search of the solution space and obtains more excellent individuals from the diverse individual variations. The specific variation operation is: for each individual in the third crossover population, the individual's genetic information is mutated with a preset probability. Optionally, the preset probability of uniform variation can be set according to actual conditions, and this embodiment does not specifically limit this. For example, the preset probability can be 20%, but is not limited to this. For example, there is individual 1, represented as [Driver Object 1-Order A, Driver Object 2-Order B, Driver Object 3-Order C, Driver Object 4-Order D]. In the genetic sequence of this individual, the second genetic information and the third genetic information mutated with a probability of 20%, and new genetic information was randomly generated, thereby obtaining the mutated individual 1, which is represented as [Driver Object 1-Order A, Driver Object 1-Order C, Driver Object 3-Order B, Driver Object 4-Order D].

[0098] In some implementations, the implementation process of the above step S104 may include the following steps S601-S603.

[0099] S601, merging the crossover population and the mutation population into a candidate population.

[0100] In this step, the population generated by crossover and the population generated by mutation are merged into a new population, called a candidate population.

[0101] S602: sort all individuals in the candidate population and the selected population to obtain a sorted candidate population and a sorted selected population.

[0102] It should be noted that in the sorted candidate population and the sorted selection population, for each individual, the individual's fitness value is positively correlated with the individual's ranking number, that is, the larger the individual's fitness value, the better the individual, and the smaller the individual's ranking number; the smaller the individual's fitness value, the worse the individual, and the larger the individual's ranking number.

[0103] In this step, the fitness of all individuals in the candidate population and the selection population is evaluated, and all individuals in the candidate population and the selection population are sorted according to the degree of fitness (the size of the value) to obtain the sorted candidate population and the sorted selection population.

[0104] S603: Using the sorted candidate population, replace individuals in the sorted selection population whose sorting numbers are greater than a preset threshold, and obtain the selected population after individual replacement as the offspring population.

[0105] In this step, individuals in the sorted selected population whose ranking numbers are greater than a preset threshold are first identified as individuals to be replaced. Specifically, individuals with smaller ranking numbers are superior, while individuals with larger ranking numbers are inferior. Therefore, individuals in the sorted selected population with ranking numbers greater than the preset threshold can be identified as inferior individuals and designated as individuals to be replaced. Optionally, the preset threshold can be set based on actual circumstances and is not specifically limited in this embodiment. For example, the bottom 40% of individuals in the sorted selected population can be identified as individuals to be replaced, but this is not a limitation. Then, the ranking numbers of the multiple individuals to be replaced are updated so that the ranking number of the first individual to be replaced starts at one. Specifically, before implementing individual replacement, the ranking numbers of the multiple individuals to be replaced are first updated so that the ranking number of the first individual to be replaced is changed from its original number to one. The ranking numbers of the subsequent individuals to be replaced are then changed sequentially so that the ranking number of the first individual to be replaced starts at one, thereby aligning the ranking numbers of the multiple individuals to be replaced with the ranking numbers of the multiple individuals in the sorted candidate population. Then, for each individual to be replaced, if the fitness value of the individual to be replaced is less than the fitness value of the candidate individual corresponding to the individual to be replaced, the candidate individual is determined as the new individual to be replaced; otherwise, the individual to be replaced is retained. The candidate individual corresponding to the individual to be replaced is an individual in the sorted candidate population that has the same ranking number as the individual to be replaced. Specifically, multiple individuals to be replaced are traversed, and for each individual traversed, the following operations are performed: a candidate individual corresponding to the individual to be replaced is determined, which is an individual in the sorted candidate population that has the same ranking number as the individual to be replaced, and a determination is made as to whether the fitness value of the individual to be replaced is less than the fitness value of the candidate individual to be replaced. If so, the candidate individual is superior to the individual to be replaced, and the candidate individual is determined as the new individual to be replaced. Otherwise, the candidate individual is not superior to the individual to be replaced, and the individual to be replaced is retained. Finally, all individuals to be replaced and individuals in the sorted selection population whose ranking numbers are less than or equal to a preset threshold are combined into a progeny population. For example, the last 40% of individuals in the sorted selection population are identified as individuals to be replaced, and individual replacement is performed, and then all individuals to be replaced and the first 60% of individuals in the sorted selection population are integrated into the offspring population.

[0106] In some embodiments, the above method may further include: for each of the individuals in the parent population, selection population, crossover population, and mutation population, determining the fitness value of the individual based on the amount of genetic information and the real number encoding value in the individual.

[0107] In this implementation, an individual includes multiple genetic information, namely, driver-order pairs. The real number encoding value of each driver-order pair is its pairing function value. Based on this, an overall fitness function is designed to represent the quality of the individual, as shown in the following formula (22): (twenty two); In formula (22), Represents the fitness value of an individual; Indicates the individual The real number encoding value of each gene information (i.e., the pairing function value); Represents the number of genetic information in an individual. The closer the real-number encoding value of an individual's genetic information is to one, the higher the degree of matching between the driver objects in the genetic information and the orders to be assigned. Therefore, an individual's fitness value is maximized when the real-number encoding value of multiple genetic information is close to one. Thus, measuring the overall fitness value of an individual by the degree of matching between the driver objects in the individual's genetic information and the orders to be assigned can effectively improve the accuracy of the individual's fitness value.

[0108] In addition, embodiments of the present application also provide an online ride-hailing order matching system, comprising: an acquisition module, a first processing module, a second processing module, a third processing module, a fourth processing module, and a fifth processing module. The acquisition module is configured to obtain, as target information, descriptive information of multiple pending orders, attribute information of multiple passenger objects, and attribute information of multiple driver objects; wherein the multiple pending orders correspond one-to-one to the multiple passenger objects. The first processing module is configured to pre-process the target information to obtain an initial population as the parent population. The second processing module is configured to perform tournament selection, crossover, and mutation on the parent population to obtain a selected population, a crossover population, and a mutant population. The third processing module is configured to update the selected population using the crossover population and the mutant population to obtain a child population. The fourth processing module is configured to determine the child population as the new parent population if a preset condition is not met, and trigger the second processing module to perform tournament selection, crossover, and mutation on the parent population. Otherwise, an optimal matching solution is obtained based on the child population. The fifth processing module is configured to push each pending order to the corresponding driver object based on the optimal matching solution. The contents of the above method embodiments are all applicable to the present system embodiments. The functions specifically implemented by the present system embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0109] It can be seen that the above-mentioned online car-hailing matching method and system in the embodiment of the present application has at least one of the following effects: (1) The present application fully considers the two perspectives of driver objects and online car-hailing orders (passenger objects), collects data related to driver objects and online car-hailing orders (passenger objects), such as the behavioral characteristics and habits of driver objects and the price and distance of online car-hailing orders, and takes into account the evaluation information of driver objects, the mileage information of the vehicle driven, the cleanliness information of the vehicle driven, the comfort information of the vehicle driven, the order success rate information and the order punctuality rate information, as well as the order price information and pick-up distance information of the order to be assigned. , order time period information, departure and destination points, as well as passenger object evaluation information, ride frequency information, boarding success rate information, boarding punctuality rate information, average waiting time information and average ride fare information, and the correlation between them and whether the driver object matches the best order to be assigned, to construct a matching function. The matching function can accurately feedback the matching degree between the driver object and the online car-hailing order to be assigned (passenger object). Then, based on the matching function, a fitness function is constructed, so that the fitness function can fully meet the respective needs of the driver object and the online car-hailing order to be assigned (passenger object), thereby improving the accuracy of the fitness function. (2) For the weight of each score value in the matching function, a method of automatically adjusting the weight is provided. The decision tree model and random forest model are used to analyze the behavioral habits of the driver object and the passenger object, predict the weight of each score value, and dynamically adjust it by updating the data in real time. Traditional methods usually use fixed weights, while this method can achieve more accurate demand response based on real-time data feedback and adjustment. (3) For the selection operation of the population individuals composed of the orders to be assigned and the driver objects, this application provides an improved tournament selection mechanism. By selecting different individuals and comparing their fitness, combined with the mechanism of two wins to advance and two losses to eliminate, the selection operation of the population individuals is realized. This can not only increase the probability of the superior individuals being selected, but also quickly screen out the inferior individuals, thereby promoting the individuals in the selected population to have higher quality and improving the selection accuracy of the population individuals.(4) For the crossover operation of the population individuals composed of the orders to be assigned and the driver objects, based on the tournament selection, this application divides the population individuals into a two-win zero-loss group and a two-win one-loss group. For the internal characteristics of each group (for example, the individuals in the two-win zero-loss group are often the individuals with the best fitness in the population, while the individuals in the two-win one-loss group are often the individuals with better fitness in the population, which still has room for improvement) and the different characteristics between different groups (for example, the number of individuals in the two groups is large and the fitness is different, which undoubtedly increases the understanding space) , three crossover methods are proposed: using single-point local crossover to cross over individuals within the two-win-0-loss group, using single-point crossover to cross over individuals within the two-win-one-loss group, and using multi-point crossover to cross over individuals in both the two-win-0-loss group and the two-win-one-loss group (i.e., across groups). In this way, three combinations of offspring can be formed, which can not only enable the offspring of the population to retain the excellent characteristics of the parents of the two-win-0-loss group, which helps to maintain excellent genes, but also increase the diversity of individuals in the population, promote the production of more and better individuals, and thus improve the crossover accuracy of individuals in the population. (5) For the mutation operation of the population individuals composed of the orders to be assigned and the driver objects, based on the tournament selection and crossover operation, this application can divide the crossover population into three types: the crossover population corresponding to the two-win-zero-loss group, the crossover population corresponding to the two-win-one-loss group, and the crossover population corresponding to the two-win-zero-loss group and the two-win-one-loss group (i.e., the crossover population corresponding to the cross-group). For these three types of crossover populations, corresponding mutation methods are proposed respectively: using displacement mutation to perform individual mutation on the crossover population corresponding to the two-win-zero-loss group, using deterministic mutation to perform individual mutation on the crossover population corresponding to the two-win-one-loss group, and using uniform mutation to perform individual mutation on the crossover population corresponding to the cross-group. In this way, the offspring can retain the characteristics of the two-win-zero-loss group parent while increasing the diversity of mutations, thereby promoting the further improvement of excellent genes; in addition, for the two-win-one-loss group and the cross-group crossover population, the fixed mutation pattern is broken to realize the global search of the solution space, obtain better individuals from the diversified individual mutations, and increase the diversity of population individuals, thereby improving the mutation accuracy of population individuals. In summary, the embodiment of the present application fully considers the two perspectives of driver objects and orders to be assigned (passenger objects), and through the application of genetic algorithms to perform optimal matching of orders to be assigned and driver objects, it can effectively balance the pairing relationship between orders to be assigned and driver objects, and promote the allocation of orders to be assigned to meet the diverse needs of drivers and passengers at the same time, thereby effectively improving the matching accuracy of orders to be assigned.

[0110] Although the embodiments of the present application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions, and variations may be made to these embodiments without departing from the principles and purpose of the present application, and the scope of the present application is defined by the claims and their equivalents. The above is a detailed description of the preferred implementations of the present application, but the present application is not limited to the embodiments. Those skilled in the art may also make various equivalent variations or substitutions without departing from the spirit of the present application, and these equivalent variations or substitutions are all included in the scope defined by the claims of the present application.

Claims

1. A method for matching online car-hailing orders, characterized in that: include: Obtaining description information of a plurality of orders to be assigned, attribute information of a plurality of passenger objects, and attribute information of a plurality of driver objects as target information; wherein the plurality of orders to be assigned corresponds one-to-one to the plurality of passenger objects; Preprocessing the target information to obtain an initial population as a parent population; Performing tournament selection, crossover, and mutation on the parent population to obtain a selection population, a crossover population, and a mutation population; Using the crossover population and the mutation population to update the selected population to obtain an offspring population; If the preset conditions are not met, the offspring population is determined as the new parent population, and the process returns to the steps of performing tournament selection, crossover, and mutation on the parent population; otherwise, an optimal matching solution is obtained based on the offspring population; According to the optimal matching solution, each of the to-be-assigned orders is pushed to the corresponding driver object.

2. The method according to claim 1, characterized in that The preprocessing of the target information to obtain an initial population as a parent population includes: Based on the target information, a pairing function value of each driver-order pair is obtained; wherein the driver-order pair represents a matching relationship between any one of the driver objects and any one of the orders to be assigned; The driver-order pairs are used as genetic information, the pairing function values ​​of each driver-order pair are real-number encoded and the population is initialized to obtain the initial population as the parent population; wherein the initial population includes multiple individuals, and each individual includes multiple genetic information.

3. The method according to claim 2, characterized in that The pairing function value of each driver-order pair is obtained based on the target information, including: Obtaining a pairing score for each driver object based on the attribute information of each driver object and the description information of each order to be assigned; Obtaining a pairing score for each passenger object based on the attribute information of each passenger object and the description information of each order to be assigned; According to the pairing score value of each driver object and the pairing score value of each passenger object, the pairing function value of each driver-order pair is obtained.

4. The method according to claim 1, wherein The performing tournament selection, crossover, and mutation on the parent population to obtain a selected population, a crossover population, and a mutant population includes: Randomly selecting a plurality of individuals from the parent population to obtain a tournament group; wherein the number of wins and the number of losses of each of the individuals are greater than or equal to zero and less than or equal to two; For each pair of individuals in the tournament group, the number of wins and / or the number of losses of each individual is updated by comparing the fitness values ​​of the two individuals, thereby obtaining a one-win-one-loss group, a one-win-zero-loss group, and a zero-win-one-loss group in the first round of the tournament; For each pair of individuals in the one-win-one-loss group, the one-win-no-loss group, and the no-win-one-loss group of the first round of the tournament, updating the number of wins and / or the number of losses of each individual by comparing the fitness values ​​of the two individuals, thereby obtaining the one-win-one-loss group of the second round of the tournament; For each pair of individuals in the one-win-one-lose group of the second round of the tournament, updating the number of wins or the number of losses of each individual by comparing the fitness values ​​of the two individuals; The selected population is obtained based on all the individuals whose number of victories is two.

5. The method according to claim 4, characterized in that The updating of the number of wins or failures of each individual by comparing the fitness values ​​of the two individuals comprises: If the fitness values ​​of the two individuals are different, the number of wins of the individual with the larger fitness value is increased by one, and the number of failures of the other individual is increased by one; Alternatively, if the fitness values ​​of the two individuals are the same, the number of wins of one of the individuals is randomly selected and increased by one, and the number of failures of the other individual is increased by one.

6. The method according to claim 1, characterized in that The selection population includes a first selection population and a second selection population, the first selection population includes a plurality of individuals having two wins and zero losses in tournament selection, the second selection population includes a plurality of individuals having two wins and one loss in tournament selection, the crossover population includes a first crossover population, a second crossover population, and a third crossover population; performing tournament selection, crossover, and mutation on the parent population to obtain the selection population, the crossover population, and the mutation population includes: Performing a single-point local crossover on a plurality of the individuals of the first selected population to obtain the first crossover population; Performing a single-point crossover on a plurality of the individuals of the second selected population to obtain the second crossover population; The first selected population and the second selected population are subjected to multi-point crossover to obtain the third crossover population.

7. The method according to claim 6, characterized in that The mutant population includes a first mutant population, a second mutant population, and a third mutant population; the parent population is subjected to tournament selection, crossover, and mutation to obtain a selected population, a crossover population, and a mutant population, including: Performing displacement mutation on the plurality of individuals in the first crossover population to obtain the first mutation population; performing deterministic mutation on the plurality of individuals in the second crossover population to obtain the second mutation population; Perform uniform mutation on the plurality of individuals in the third crossover population to obtain the third mutation population.

8. The method according to claim 1, characterized in that The method of updating the selected population by using the crossover population and the mutation population to obtain a progeny population includes: merging the crossover population and the variant population into a candidate population; Sorting all individuals of the candidate population and the selected population to obtain the sorted candidate population and the sorted selected population; wherein the fitness value of the individual is positively correlated with the sorting number of the individual; The sorted candidate population is used to replace the individuals whose sorting numbers are greater than a preset threshold in the sorted selected population, and the selected population after individual replacement is obtained as the offspring population.

9. The method according to any one of claims 1 to 8, characterized in that The method further comprises the steps of: For each of the individuals in the parent population, the selection population, the crossover population, and the mutation population, the fitness value of the individual is determined based on the amount of gene information and the real number encoding value in the individual.

10. A system for matching online car-hailing orders, characterized in that: include: an acquisition module, configured to acquire, as target information, description information of a plurality of orders to be assigned, attribute information of a plurality of passenger objects, and attribute information of a plurality of driver objects; wherein the plurality of orders to be assigned corresponds one-to-one to the plurality of passenger objects; A first processing module is used to pre-process the target information to obtain an initial population as a parent population; a second processing module, configured to perform tournament selection, crossover, and mutation on the parent population to obtain a selected population, a crossover population, and a mutant population; A third processing module is configured to update the selected population using the crossover population and the mutation population to obtain an offspring population; a fourth processing module, configured to determine the offspring population as the new parent population if the preset condition is not met, and return to trigger the second processing module; otherwise, obtain an optimal matching solution based on the offspring population; The fifth processing module is used to push each of the to-be-assigned orders to the corresponding driver object according to the optimal matching solution.