Global Planning Method for Multi-Passenger Itineraries on Cruise Ships
By modeling the multi-passenger trip problem of cruise ships into multi-agent directional problems, using adaptive large neighborhood search algorithm and destruction-repair operators, it solves the itinerary planning problem in the complex environment of cruise ships, achieving efficient global trip optimization, and improving passenger experience and service quality.
Patent Information
- Application Number
- CN202411310517.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2044-09-20
AI Technical Summary
The existing technology cannot effectively solve the limitations of the location capacity and time windows in the multi-passenger itinerary planning in the complex environment of cruise ships, resulting in passenger itinerary conflicts and crowded queues, and it is impossible to achieve personalized global itinerary planning.
The multi-passenger trip problem on the cruise ship is modeled as a multi-agent directional problem model, and an improved adaptive large neighborhood search algorithm is adopted, and the optimal efficiency density construction method and the destruction-repair operator are used to optimize the passenger trip path and meet the site capacity and time window constraints.
It realizes a unified mathematical description of the cruise passenger itinerary, service venue attributes and coupling constraints between passenger itineraries, obtains high-quality global itinerary planning, and improves passenger experience and service quality.
Smart Images

Figure CN118822071B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of cruise operation and maintenance, and relates to a global planning method for multi-passenger itineraries on board a cruise ship under complex scenario constraints. Background Art
[0002] In cruise operation, improving the experience of cruise passengers is one of the effective ways to promote the improvement of cruise service levels. Reasonable planning of the on-board itineraries of cruise passengers is an effective means to ensure that passengers obtain a good on-board service experience and avoid crowded queues in cruise service venues. However, in a complex cruise environment, homogeneous service recommendation means often lead to overly similar passenger itineraries. For the complex environment of cruise service venues, reasonable itinerary planning based on passengers' personalized preferences can effectively improve the cruise service experience of passengers. However, due to safety requirements, cruise service venues are subject to strict capacity and time window restrictions, resulting in a coupling effect between multiple passenger itineraries. It is difficult to consider the cruise scenario constraints in the planning of personalized itineraries for a single passenger, resulting in conflicts and crowded queues between passenger itineraries. Under the complex constraints of cruise service venues, while combining scenario constraints and passengers' personalized needs, planning itineraries for multiple passengers from a global perspective of the scenario can effectively improve the itinerary quality and service experience of passengers.
[0003] However, the existing travel itinerary planning methods are not applicable to the situation of generating global itineraries for multiple passengers on board where the service venues can be visited multiple times and the capacity cannot be ignored. It is of great significance to effectively ensure the on-board sailing service experience of passengers and improve the cruise operation service level. Summary of the Invention
[0004] To solve the above problems existing in the prior art, the present invention provides a global planning method for multi-passenger itineraries on a cruise ship
[0005] The technical solution of the present invention is an algorithm for planning the global itineraries of multiple passengers on a cruise ship in a complex cruise environment. This algorithm models the global planning problem of multi-passenger itineraries on a cruise ship as a multi-agent orientation problem model considering venue capacity and time windows, realizes a unified mathematical description of the constraint of passenger itinerary attributes, the constraint of service venue attributes, and the coupling constraint between passenger itineraries, improves the adaptive large neighborhood search algorithm, uses the optimal benefit density construction method to obtain a high-quality initial solution, and improves the destruction and repair operator optimization mechanism according to the problem characteristics to solve the multi-agent orientation problem considering venue capacity and time windows, and obtains the global itineraries of multiple passengers on a cruise ship. In the first aspect of the present invention, the present invention provides a global planning method for multi-passenger itineraries on a cruise ship, and the specific steps of this method are as follows:
[0006] Step 1: Model the global planning problem of multi-passenger itineraries on a cruise ship as a multi-agent orientation problem considering venue capacity and time windows; specifically, Step 1 includes:
[0007] Construct an optimization objective for modeling the global planning problem of multi-passenger itineraries on a cruise ship as a multi-agent orientation problem considering venue capacity and time windows;
[0008] Convert the constraints of cruise passenger itinerary attributes into constraints of state variables and control variables in the mathematical model;
[0009] Convert the constraints of service venue attributes into constraint conditions of control variables in the mathematical model;
[0010] Construct the coupling constraint conditions between passenger itineraries during the itinerary execution process;
[0011] Step 2: Solve the multi-agent orientation problem model considering venue capacity and time windows using an adaptive large neighborhood search algorithm with an improved destruction-repair operator, and then solve the global planning problem of multi-passenger itineraries on a cruise ship; specifically, Step 2 includes:
[0012] Step S1: Construct multiple variable-length encodings to represent the multi-passenger itinerary set;
[0013] Step S2: Select a neighborhood operator to operate on the feasible solution to form a new solution;
[0014] Step S3: Evaluate and process the quality of the new feasible solution;
[0015] Step S4: Evaluate the neighborhood operator using the quality of the new feasible solution;
[0016] Step S5: Termination judgment for algorithm optimization to obtain a spatio-temporal path plan for passengers.
[0017] Furthermore, constructing the optimization objective for modeling the global planning problem of multi-passenger itineraries on a cruise ship as a multi-agent orientation problem considering venue capacity and time windows in Step 1 specifically includes:
[0018] Consider using the average benefit density of all passengers and the variance of benefit density among passengers as the optimization objective, and the optimization objective function is:
[0019] ;
[0020] where is the optimization objective, and are both constants, represents the passenger number, represents passenger 's benefit density, Let \(N\) be the number of passengers, and \(\min\) represents minimization;
[0021] Furthermore, in step one, the constraints of the cruise passenger itinerary attributes are transformed into the constraints of state variables and control variables in the mathematical model, specifically including:
[0022] Combined with the global itinerary characteristics of multiple passengers, the starting point and the arrival point of the path are both the passenger cabin locations, which are transformed into the state variables of the mathematical model:
[0023] ;
[0024] Among them, represents the state variable of passenger departing from the cabin to the service place in the first stage, represents the state variable of passenger returning from the service place to the cabin in stage, 0 and both represent the cabin, is the number of service places, , if it is, then it is 1, otherwise it is 0, represents the passenger number, , represents the service place number, , represents the total number of stages of the passenger itinerary;
[0025] The time for a passenger to visit any service place must be within the time budget, and its time budget is transformed into a control variable constraint:
[0026] ;
[0027] Among them, is the time budget of the passenger, is the start time, is the end time, represents the passenger visiting the service place start time;
[0028] In addition to the passenger time budget constraint, when a passenger visits different service places, there are strict time requirements for the start time between two adjacent visited service places. This requirement is transformed into a control variable constraint:
[0029]
[0030] Among them, represents the start time of the passenger visiting the service place , is a positive number large enough, represents the passenger in the stage chooses to visit the service place after leaving the service place status variable of , if so it is 1, otherwise it is 0, represents the service place and walking time between represents the recommended service time of the service place ; represents the service place number, , represents the stage where the passenger itinerary is located, .
[0031] Furthermore, in step one, the service place attribute constraints are transformed into control variable constraint conditions in the mathematical model, specifically including:
[0032] The passenger can visit the same service place multiple times. This condition is transformed into a control variable constraint condition in the mathematical model:
[0033]
[0034] where, represents the total number of times the passenger visits the service place . At this time, ; is the number of service places, represents the total number of stages of the passenger itinerary, represents the passenger in the stage chooses to visit the service place after leaving the service place status variable of , if so it is 1, otherwise it is 0; represents the passenger in the stage chooses to visit the service place after leaving the service place status variable of , if so it is 1, otherwise it is 0;
[0035] The service place has a capacity limit. The number of passengers visiting at the same time is limited and each passenger occupies one capacity resource when visiting. This condition is transformed into a control variable constraint condition in the mathematical model:
[0036]
[0037] Among them, represents that the passenger selects to access the service place and occupies the service resources control variable, , if it is, it is 1, otherwise it is 0, represents the capacity limit of the service place , represents the capacity number of the service place, , at this time ; represents that the passenger at stage selects to access the service place after leaving state variable;
[0038] The service place is also provided with an opening time window, and passengers can only access within the time window. Transforming this condition into a mathematical model control variable constraint condition:
[0039]
[0040] Among them, represents the start time when the passenger accesses the service place , represents the time when the passenger leaves the service place , represents the time window of the service place , is the start time, is the end time. At this time, .
[0041] Furthermore, in step one, the coupling constraint conditions between passenger trips during the trip execution process are constructed, specifically including:
[0042] When multiple passengers access the same service place, there is a sequence. Transforming this condition into a mathematical model control variable constraint condition:
[0043]
[0044]
[0045] Among them, represents that the passenger at the service place precedes the passenger in occupying the service resources decision variable, , if it is, it is 1, otherwise it is 0, Similarly; Indicating a passenger Selecting to visit a service venue And occupying service resources The control variable , if yes, it is 1, otherwise it is 0. Similarly;
[0046] The difference between the start time of a passenger at this service venue and the start time of the previous passenger should be no less than the recommended service duration of this service venue, described as a constraint condition between passenger trips:
[0047]
[0048] Wherein, Is a sufficiently large positive number, Indicating a passenger Visiting a service venue The start time of Indicating a passenger Visiting a service venue The start time of Indicating the service venue The recommended service time of Indicating the service venue The capacity limit of Indicating the capacity number of the service venue, , at this time ; In addition, the value range of the decision variable Is:
[0049] .
[0050] Furthermore, step S1 constructs multiple variable-length encodings to represent a multi-passenger trip set, specifically including:
[0051] Using the optimal benefit density construction method to construct an initial solution. In each solution, the passenger cabin position is set to 0, and all passengers start from their cabin positions and finally return to the cabin; each trip chain represents the service venues visited in sequence during the passenger's trip; then, they are sorted in ascending order of the passenger's departure time. Starting from the earliest departing passenger, new service venues are inserted into their routes; for each iteration, a new service venue is selected for the passenger who has completed the current service earliest and inserted into the last position of the trip, and the passenger is inserted into the last position of the service chain of the selected service attraction; the selection of the service venue is determined according to the service venue benefit density; when a passenger Travels from the service venue To the next service venue , the calculation index of the benefit density of the service venue To be selected is as follows:
[0052]
[0053] Among them, represents the walking time between and ; represents the recommended service time of ; represents the benefit value obtained by the passenger in the th stage of the journey;
[0054] According to the above indicators, service locations are selected for passengers. Due to the existence of the time window of the service location, when the acceptable service time of the current service location exceeds its closing time, the service location will enter an unselectable state; whenever a passenger completes the service at a service location, a new service location will be inserted into the last position of the passenger's journey until all passengers reach the destination or all service locations are unselectable.
[0055] Furthermore, in step S2, a neighborhood operator is selected to operate on the feasible solution to form a new solution, which specifically includes:
[0056] Using the roulette wheel method to select a destruction operator and a repair operator to destroy and reconstruct the current feasible solution to obtain a new solution, and according to the limitations of the service location capacity and time window, process the infeasible solutions in the new solution to obtain a feasible new solution. The specific operations are as follows:
[0057] (1) In the destruction stage, use the roulette wheel method to select a destruction operator from four destruction operators to destroy the current feasible solution; the feasibility of the current feasible solution is destroyed by inserting new service locations into the current feasible solution. For one or more passenger journeys, select feasible service locations from the service location pool and insert them into the journey according to certain rules, while allowing any passenger journey and service location to exceed their time limits; the four destruction operators are respectively:
[0058] D1: Randomly select the journey of a passenger in the current feasible solution, and randomly select service locations from all service locations and insert them into a random position of the current passenger journey;
[0059] D2: Select the passenger journey with the lowest benefit density from the current feasible solution, and randomly select service locations from all service locations and insert them into a random position of the current passenger journey;
[0060] D3: Select the journey with the lowest benefit density, calculate the correlation between all service locations and the existing service locations in the current path, and select the one with the lowest correlation Insert the service venues into random positions in sequence. After each insertion, recalculate the relevance of the service venues and sort them. The relevance calculation formula is:
[0061]
[0062] Among them, represents the difference degree between the service venue and the current passenger 's existing itinerary. represents the service venue in the passenger 's existing itinerary. represents the service venue and the service venue 's time window difference. is used to represent the recommended service time difference between the service venue and the service venue . The numerical value represents the degree of emphasis of the algorithm on each element. Q represents the service venue;
[0063] D4: Calculate the benefit density of all passenger itineraries in the current feasible solution , select the passenger itinerary with the lowest benefit density from the current feasible solution. According to the service venues already visited in the current itinerary, consider the marginal effect and calculate the benefit value that can be obtained when all service venues are visited in the next stage for this passenger , sort all service venues in descending order, and insert the service venues with the highest profit into random positions in the current itinerary;
[0064] Among them, D1, D2, D3, and D4 represent four destruction operators, represents the number of inserted service venues;
[0065] (2) In the repair stage, use the roulette wheel method to select a repair operator from the four repair operators to generate a new solution. By performing moving and swapping operations on the service venues in the selected itinerary, search for the optimal solution. The four repair operators are respectively:
[0066] R1: Randomly select the current itinerary of a passenger and randomly select a service venue, and move the selected service venue to all possible positions in the current itinerary;
[0067] R2: Calculate the benefit density of all passenger itineraries in the current feasible solution , select the passenger itinerary with the lowest benefit density from the current feasible solution and randomly select a service venue, and move the selected service venue to all possible positions in the current itinerary;
[0068] R3: Randomly select a passenger's current itinerary and randomly select a service venue, and perform an exchange operation with all service venues not included in the current itinerary;
[0069] R4: Calculate the benefit density of all passengers' itineraries in the current feasible solution , select one passenger from the 20% of passengers with the highest and lowest benefit densities respectively, select the service venue with the lowest current benefit value from the itinerary of the passenger with a high benefit density, and move it to all possible positions in the itinerary with a low benefit density;
[0070] Among them, R1, R2, R3, and R4 are four repair operators respectively;
[0071] (3) Use the infeasible solution handling strategy to ensure the feasibility of the new solution. After performing the destruction and repair operations on the current feasible solution, to ensure the feasibility of the solution, the following factors need to be considered to process the solution after the operation:
[0072] ① Service venue time window
[0073] Since each service venue has a different service time window, after optimizing through the destruction operator and the repair operator, there is a situation where some passengers visit service venues outside the opening time range of the service venue. Therefore, for the newly generated current feasible solution, check the passengers in the service queue of the service venue who exceed the time window in turn, and delete the corresponding service venue in their corresponding itinerary chain until the number of passengers in the service queue of the service venue does not exceed the time window constraint;
[0074] ② Passenger time budget
[0075] Since each passenger has a different play time budget, after optimizing through the destruction operator and the repair operator, there is a situation where the itinerary chain of some passengers exceeds their time budget. Therefore, iteratively delete the last service venue in the itinerary chain of such passengers until the itinerary time of the passenger does not exceed the time budget.
[0076] Further, step S3 evaluates and processes the quality of the new feasible solution, specifically including:
[0077] Judge whether the new feasible solution is better than the optimal solution, and judge whether to accept the inferior solution with probability according to the simulated annealing algorithm criterion, so as to judge whether to replace the optimal solution with the new feasible solution;
[0078] (1) Judge whether the new feasible solution is better than the optimal solution. If so, replace the optimal solution and the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, jump to the next step;
[0079] (2) Determine whether the new feasible solution is better than the current feasible solution. If so, replace the current feasible solution with the new feasible solution, reduce the temperature, update the solution, and then jump to step S4. If not, jump to the next step;
[0080] (3) Determine whether to accept the inferior solution with probability If so, replace the current feasible solution with the new feasible solution, reduce the temperature, update the solution, and then jump to step S4. If not, directly jump to S4;
[0081] In the above judgment steps, the simulated annealing algorithm criterion is used to determine whether to accept the inferior solution with probability The following formula is used to calculate the probability :
[0082]
[0083] where represents the initial temperature. In each iteration, the temperature is controlled by a linear annealing mechanism. At the iteration number when , represents the temperature at the -th iteration, and is the simulated annealing factor.
[0084] Further, in step S4, the neighborhood operator is evaluated using the quality of the new feasible solution, which specifically includes:
[0085] (1) At the initial stage of exploration, the selected weights of both the destruction algorithm and the repair operator are 0.25. Since there are 4 destruction operators and 4 repair operators respectively, it ensures that the probability of each operator being selected is the same;
[0086] (2) In the later stage, when a higher-quality solution is obtained after the operation of a certain operator, a higher score will be given to this operator to increase the probability of it being selected again. Conversely, a lower score will be given to this operator to reduce the probability of it being selected. The specific scoring strategy is as follows:
[0087] If a new optimal solution is obtained through the calculation of the destruction-repair operator pair, 10 points will be added to this operator pair;
[0088] If a new feasible solution is obtained through the calculation of the destruction-repair operator pair, which is better than the current feasible solution but worse than the optimal solution, 4 points will be added to this operator pair;
[0089] If a new feasible solution is obtained through the calculation of the destruction-repair operator pair, which is worse than the current feasible solution but is accepted with probability P using the simulated annealing criterion, 1 point will be added;
[0090] In other cases, the operator score remains unchanged, but the number of times the corresponding operator is selected still needs to be counted;
[0091] (3) When the algorithm enters the weight adjustment phase every iterations, adjust the weights of the destruction and repair operators according to the weight update formula, and at the same time reset the scores of each operator. The specific calculation method is as follows:
[0092]
[0093] Among them, represents the weight of operator , represents the total score of operator in this loop, represents the number of times operator is selected in this loop, represents the weight update parameter, , in addition, since the algorithm can relatively easily improve the optimal solution in the early stage of iteration, therefore, within the first , no score statistics and weight update are performed on the performance of each operator.
[0094] Further, step S5 specifically includes:
[0095] Determine whether the stopping strategy is satisfied. If so, output the optimal solution set and use the obtained optimal solution to provide a global travel plan for multiple passengers;
[0096] Otherwise, jump to the above-mentioned step S2;
[0097] The stopping strategy includes that as long as the stopping strategy 1 or stopping strategy 2 is satisfied, stop the calculation and output the optimal solution set; the stopping strategy 1 and stopping strategy 2 are respectively:
[0098] Stopping strategy 1: Stop the calculation when the maximum number of iterations of the algorithm reaches 1000 times;
[0099] Stopping strategy 2: Stop the calculation when no new optimal solution appears in 120 consecutive iterations.
[0100] The beneficial effects of the present invention are:
[0101] (1) Model the global planning problem of multi-passenger trips on a cruise ship as a multi-agent orientation problem model considering venue capacity and time windows, and realize the unified mathematical description of the constraints of cruise passenger trip attributes, service venue attributes, and the coupling constraints between passenger trips;
[0102] (2) Improve the adaptive large neighborhood search algorithm, use the optimal benefit density construction method to obtain a high-quality initial solution, and improve the optimization mechanism of the destruction and repair operators according to the problem characteristics to solve the multi-agent orientation problem considering venue capacity and time windows, and obtain the global trips of multiple passengers on the cruise ship. Brief Description of the Drawings
[0103] Figure 1 —Overall flowchart of the method for global planning of multi - passenger itineraries on a cruise ship in the present invention;
[0104] Figure 2 —Schematic diagram of constructing the initial encoding in step S1;
[0105] Figure 3 —Comparison of the method of the present invention and other methods for planning itineraries for passengers;
[0106] Figure 4 —Gantt chart of passengers' itineraries after the method of the present invention plans the global itinerary for multiple passengers. Detailed Embodiment
[0107] Next, the technical solutions in the embodiments of the present application will be further clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. It should be noted that the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts fall within the scope of protection of the present application.
[0108] In order to make the object, technical solution and advantages of the present application clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the accompanying drawings and specific implementation schemes. It should be pointed out that for those of ordinary skill in the art, without departing from the concept of the present invention, several changes and improvements can still be made, and these all belong to the scope of protection of the present application.
[0109] In the first embodiment of the present invention, as Figure 1 shown, the present invention provides a method for global planning of multi - passenger itineraries on a cruise ship, and the specific content includes:
[0110] The first step: Construct a multi - agent orientation problem model considering venue capacity and time windows.
[0111] The second step: To solve the above - mentioned model, design an adaptive large - neighborhood search algorithm with improved destruction - repair operators to solve the problem model and obtain the global itinerary of multiple passengers on the cruise ship.
[0112] In the first step, the multi - agent orientation problem model considering venue capacity and time windows consists of two parts: the objective function and the constraint conditions: the objective function and the constraint conditions.
[0113] Further, in the first step, it includes: constructing an optimization objective for modeling the global planning problem of multiple passenger itineraries on a cruise ship as a multi-agent orientation problem considering venue capacity and time windows; transforming the constraints of cruise passenger itinerary attributes into constraints of state variables and control variables in the mathematical model; transforming the constraints of venue attributes into constraint conditions of control variables in the mathematical model; constructing coupling constraint conditions between passenger itineraries during the itinerary execution process.
[0114] Further, constructing an optimization objective for modeling the global planning problem of multiple passenger itineraries on a cruise ship as a multi-agent orientation problem considering venue capacity and time windows specifically includes:
[0115] Considering the average benefit density of all passengers and the variance of benefit density among passengers as the optimization objective, the optimization objective function is:
[0116] (1)
[0117] Where, is the optimization objective, and are both constants, represents the passenger number, represents passenger 's benefit density, is the number of passengers, and min represents minimization;
[0118] Further, transforming the constraints of cruise passenger itinerary attributes into constraints of state variables and control variables in the mathematical model specifically includes:
[0119] Combining the characteristics of the multi-passenger global itinerary, both the starting point and the arrival point of the path are the passenger cabin locations, and they are transformed into state variables in the mathematical model:
[0120] (2)
[0121] Where, represents passenger departing from the cabin to the service venue at the first stage, represents passenger returning to the cabin from the service venue at the stage, 0 and both represent the cabin, is the number of service venues, , if it is, then it is 1, otherwise it is 0, represents the passenger number, , represents the service venue number, , Represents the total number of stages of the passenger's itinerary;
[0122] The time for the passenger to visit any service venue must be within the time budget, and the time budget is transformed into control variable constraints:
[0123] (3)
[0124] Among them, is the passenger's time budget, is the start time, is the end time, represents the passenger visiting the service venue at the start time;
[0125] In addition to the passenger time budget constraint, when the passenger visits different service venues, there are strict time requirements for the start time between two adjacent visited service venues. This requirement is transformed into control variable constraints:
[0126] (4)
[0127] Among them, represents the passenger visiting the service venue at the start time, is a sufficiently large positive number, represents the passenger in stage choosing to visit the service venue after leaving and visiting the service venue status variable, , if it is, it is 1, otherwise it is 0, represents the service venue and the walking time between, represents the recommended service time of the service venue , represents the service venue number, , represents the stage at which the passenger itinerary is located, .
[0128] Furthermore, the service venue attribute constraints are transformed into control variable constraint conditions in the mathematical model, specifically including:
[0129] The passenger can visit the same service venue multiple times. This condition is transformed into a control variable constraint condition in the mathematical model:
[0130] (5)
[0131] Among them, Indicates passengers For service places The total number of visits, at this time ; is the number of service locations, represents the total number of stages in the passenger's journey, Indicates passengers In stage Choose from service locations Visit service location after leaving The state variables, , if yes, it is 1, otherwise it is 0; Indicates passengers In stage Choose from service locations Visit service location after leaving The state variables, , if yes, it is 1, otherwise it is 0;
[0132] The service place has capacity constraints. The number of passengers visiting at the same time is limited and each passenger occupies a capacity resource when visiting. This condition is converted into a mathematical model control variable constraint:
[0133] (6)
[0134] in, Indicates passengers Choose a service location to visit and occupy service resources The control variable, , if yes, it is 1, otherwise it is 0, Indicates service location capacity limit, Indicates the capacity number of the service location, ,at this time ; Indicates passengers In stage Choose from service locations Visit service location after leaving state variables;
[0135] The service place also has an opening time window, and passengers can only visit within the time window. This condition is converted into a control variable constraint of the mathematical model:
[0136] (7)
[0137] in, Indicates passengers Visit service location The start time of Indicates passengers The time of leaving the service venue , represents the time window of the service venue , is the start time is the end time. At this time, .
[0138] Furthermore, in step one, the coupling constraint conditions between passenger trips during the execution of the trip are constructed, specifically including:
[0139] When multiple passengers visit the same service venue, there is a sequential order. This condition is transformed into a constraint condition of the control variable of the mathematical model:
[0140] (8)
[0141] (9)
[0142] Among them, represents that passenger occupies the service resource earlier than passenger at the service venue decision variable, , if it is, it is 1, otherwise it is 0, similarly; represents that passenger chooses to visit the service venue and occupies the service resource control variable, , if it is, it is 1, otherwise it is 0, similarly;
[0143] The difference between the start time of a passenger at this service venue and the start time of the previous passenger should not be less than the recommended service duration of this service venue, which is described as the constraint condition between passenger trips:
[0144] (10)
[0145] Among them, is a sufficiently large positive number, represents the start time when passenger visits the service venue , represents the start time when passenger visits the service venue , represents the recommended service time of the service venue , represents the capacity limit of the service venue , Represents the capacity number of the service venue, , at this time ; In addition, the value range of the decision variable is:
[0146] (11).
[0147] To sum up, the objective function and constraints constructed in Step 1 are as follows:
[0148] Objective function:
[0149] (1)
[0150] Constraints:
[0151] (2)
[0152] (3)
[0153] (4)
[0154] (5)
[0155] (6)
[0156] (7)
[0157] (8)
[0158] (9)
[0159] (10)
[0160] (11)
[0161] In the above model, Equation (1) is the minimization of the average benefit density of all passengers and the variance of the benefit density among passengers; Equation (2) means that each passenger must start from the cabin location and finally return to the cabin; Equation (3) means that the time for a passenger to visit any service venue must be within the play time budget; Equation (4) ensures the constraint between the start times of two adjacent service venues visited by each passenger when visiting different service venues; Equation (5) ensures the flow consistency of each passenger in all stages and each service venue can be visited multiple times; Equation (6) means that when a passenger visits a service venue, only one of the resources of the service venue capacity is occupied; Equation (7) means that any passenger needs to complete the visit within the time window of the service venue; Equations (8) and (9) ensure the order of passengers visiting the same service venue; Equation (10) means that the start time of a passenger visiting a service venue is restricted by the previous passenger visiting the same service venue; Equation (11) is the value range of the decision variable.
[0162] In the second step, the implementation process of the improved destruction-repair operator based adaptive large neighborhood search algorithm can be divided into five parts: generation of the initial solution, destruction-repair of the current feasible solution and generation of a new feasible solution by processing the infeasible solution, evaluation and processing of the new feasible solution, evaluation of the quality of the neighborhood operator using the quality of the new feasible solution, and termination judgment of the algorithm optimization.
[0163] The specific steps of Step 2 in Embodiment 1 include: The said Step 2 specifically includes:
[0164] Step S1: Construct multiple variable-length encodings to represent the multi-passenger itinerary set;
[0165] Step S2: Select a neighborhood operator to operate on the feasible solution to form a new solution;
[0166] Step S3: Evaluate and process the quality of the new feasible solution;
[0167] Step S4: Evaluate the neighborhood operator using the quality of the new feasible solution;
[0168] Step S5: Termination judgment of the algorithm optimization to obtain a spatio-temporal path plan for passengers.
[0169] Further, the construction of multiple variable-length encodings in Step S1 to represent the multi-passenger itinerary set specifically includes:
[0170] The optimal benefit density construction method is used to construct the initial solution. In each solution, the passenger cabin location is set to 0, and all passengers start from their cabin locations and finally return to the cabin. Each trip chain represents the service places visited in sequence during the passenger's trip. Then, they are sorted in ascending order of the passenger's departure time. Starting from the passenger with the earliest departure time, new service places are inserted into their routes. For each iteration, a new service place is selected for the passenger who finishes the current service earliest, inserted into the last position of the trip, and the passenger is inserted into the last position of the service chain of the selected service attraction. The selection of the service place is determined according to the benefit density of the service place; the passenger from the service place to the next service place when the service place to be selected has the following benefit density calculation indicators:
[0171] (12)
[0172] Among them, represents the walking time between service places and ; represents the recommended service time of service place ; represents the benefit value obtained by the passenger in the th stage of the trip.
[0173] Appendix Figure 2 is the coding method of the multi-passenger trip set. The selection of the service place is determined according to the benefit density of the service place. According to the above indicators, service places are selected for passengers. Due to the existence of the service place time window, when the acceptable service time of the current service place exceeds its closing time, the service place will enter the non-selectable state; whenever a passenger finishes the service at a service place, a new service place will be inserted into the last position of the passenger's trip until all passengers reach the end point or all service places cannot be selected.
[0174] Furthermore, in step S2, a neighborhood operator is selected to operate on the feasible solution to form a new solution, specifically including:
[0175] Use the roulette method to select a destruction operator and a repair operator to destroy and reconstruct the current feasible solution to obtain a new solution, and handle the infeasible solutions in the new solution according to the limitations of the service place capacity and time window to obtain a feasible new solution. The specific operations are as follows:
[0176] (1) In the destruction phase, a roulette wheel method is used to select one destruction operator from four destruction operators to destroy the current feasible solution; the feasibility of the current feasible solution is destroyed by inserting new service locations into the current feasible solution. For one or more passenger trips, feasible service locations are selected from the service location pool and inserted into the trips according to certain rules, while allowing any passenger trip and service location to exceed their time limits. The four destruction operators are as follows:
[0177] D1: Randomly select the trip of a passenger in the current feasible solution, and randomly select service locations from all service locations and insert them into a random position of the current passenger trip;
[0178] D2: Select the passenger trip with the lowest benefit density from the current feasible solution, and randomly select service locations from all service locations and insert them into a random position of the current passenger trip;
[0179] D3: Select the trip with the lowest benefit density, calculate the correlation between all service locations and the existing service locations in the current path, and select the lowest service locations and insert them into random positions in turn. After each insertion, recalculate the service location correlation and sort. The correlation calculation formula is:
[0180] (13)
[0181] where represents the difference degree between service location and the existing trips of the current passenger , represents the service location in the existing trips of the passenger , represents service location and service location time window difference between them, is used to represent the recommended service time difference between service location and service location . The numerical value of represents the degree of attention of the algorithm to each element, and Q represents the service location;
[0182] D4: Calculate the benefit density of all passenger trips in the current feasible solution , select the passenger trip with the lowest benefit density from the current feasible solution, and calculate the benefit value that can be obtained by the passenger visiting all service locations in the next stage according to the service locations that have been visited in the current trip, considering the marginal effect . Sort all service locations in descending order, and the Insert a service location into a random position in the current itinerary;
[0183] where D1, D2, D3, and D4 represent four destruction operators, represents the number of service locations to be inserted;
[0184] (2) In the repair phase, use the roulette wheel method to select a repair operator to generate a new solution. By performing movement and swapping operations on the service locations in the selected itinerary, search for the optimal solution. The four repair operators are as follows:
[0185] R1: Randomly select a passenger's current itinerary and a service location, and move the selected service location to all possible positions in the current itinerary;
[0186] R2: Calculate the benefit density of all passengers' itineraries in the current feasible solution , select the passenger itinerary with the lowest benefit density from the current feasible solution and randomly select a service location, and move the selected service location to all possible positions in the current itinerary;
[0187] R3: Randomly select a passenger's current itinerary and a service location, and perform a swapping operation with all service locations not in the current itinerary;
[0188] R4: Calculate the benefit density of all passengers' itineraries in the current feasible solution , select one from the 20% of passengers with the highest and lowest benefit densities respectively. Select the service location with the lowest current benefit value from the itinerary of the passenger with a high benefit density and move it to all possible positions in the itinerary with a low benefit density;
[0189] where R1, R2, R3, and R4 are the four repair operators respectively;
[0190] (3) Use the infeasible solution handling strategy to ensure the feasibility of the new solution. After performing destruction and repair operations on the current feasible solution, to ensure the feasibility of the solution, the following factors need to be considered and the solution after the operation is processed:
[0191] ① Service location time window
[0192] Since each service location has a different service time window, after optimizing through the destruction operator and the repair operator, there are cases where some passengers visit service locations outside the opening time range of the service locations. Therefore, for the newly generated current feasible solution, check the passengers in the service queue of the service location who exceed the time window in sequence, and delete the corresponding service locations in their corresponding itinerary chains until the number of passengers in the service queue of the service location does not exceed the time window constraint;
[0193] ② Passenger time budget
[0194] Since each passenger has a different playtime budget, after optimizing through the destruction operator and the repair operator, there are cases where the itinerary chain of some passengers exceeds their time budget. Therefore, the last service venue in such passenger chains will be iteratively deleted until the travel time of the passenger does not exceed the time budget.
[0195] Furthermore, step S3 evaluates and processes the quality of the new feasible solution, specifically including:
[0196] Judging whether the new feasible solution is better than the optimal solution, and judging whether to accept the inferior solution with probability according to the simulated annealing algorithm criterion, so as to judge whether to replace the optimal solution with the new feasible solution;
[0197] (1) Judge whether the new feasible solution is better than the optimal solution. If so, replace the optimal solution and the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, jump to the next step;
[0198] (2) Judge whether the new feasible solution is better than the current feasible solution. If so, replace the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, jump to the next step;
[0199] (3) Judge whether to accept the inferior solution with probability If so, replace the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, directly jump to S4;
[0200] In the above judgment steps, the simulated annealing algorithm criterion is used to judge whether to accept the inferior solution with probability The following formula is used to calculate the probability :
[0201] (14)
[0202] where represents the initial temperature. In each iteration, the temperature is controlled by a linear annealing mechanism. At the iteration number , , represents the temperature at the th iteration, and is the simulated annealing factor.
[0203] Furthermore, step S4 evaluates the neighborhood operator using the quality of the new feasible solution, specifically including:
[0204] (1) At the initial stage of exploration, the selected weights of the destruction algorithm and the repair operator are both 0.25. Since there are 4 destruction operators and 4 repair operators respectively, it ensures that the probability of each operator being selected is the same;
[0205] When a higher-quality solution is obtained after the operation of a certain operator in the later stage, a higher score will be given to this operator to increase the probability of it being selected again. Conversely, a lower score will be given to this operator to reduce the probability of it being selected. The specific scoring strategy is as follows:
[0206] If a new optimal solution is obtained through the calculation of the destruction-repair operator pair, 10 points will be added to this operator pair;
[0207] If a new feasible solution is obtained through the calculation of the destruction-repair operator pair, which is better than the current feasible solution but worse than the optimal solution, 4 points will be added to this operator pair;
[0208] If a new feasible solution is obtained through the calculation of the destruction-repair operator pair, which is worse than the current feasible solution but is accepted with probability P using the simulated annealing criterion, 1 point will be added;
[0209] In other cases, the operator score remains unchanged, but the number of times the corresponding operator is selected still needs to be counted;
[0210] (3)When the algorithm iterates times and enters the weight adjustment stage, the weights of the destruction and repair operators are adjusted according to the weight update formula, and at the same time, the scores of each operator are reset. The specific calculation method is as follows:
[0211] (15)
[0212] Among them, represents the weight of operator , represents the total score of operator in this loop, represents the number of times operator is selected in this loop, represents the weight update parameter, , in addition, since the algorithm can relatively easily improve the optimal solution in the early stage of iteration, therefore, within the first iteration times, the performance of each operator is not statistically scored and the weights are not updated.
[0213] Furthermore, step S5 specifically includes:
[0214] Judge whether the stop strategy is satisfied. If so, output the optimal solution set and use the obtained optimal solution to provide a global travel plan for multiple passengers;
[0215] If not, jump to the above-mentioned step S2;
[0216] The stop strategy includes that as long as the stop strategy 1 or stop strategy 2 is satisfied, the calculation is stopped and the optimal solution set is output; the stop strategy 1 and stop strategy 2 are respectively:
[0217] Stopping Criterion 1: Stop the calculation when the maximum number of algorithm iterations reaches 1000 times;
[0218] Stopping Criterion 2: Stop the calculation when no new optimal solution appears after 120 consecutive iterations.
[0219] Finally, use the obtained optimal solution to provide a global travel plan for multiple passengers.
[0220] To verify the beneficial effects of the method of the present invention, the method of the present invention is compared and tested with other methods herein. Attached Figure 3 The figure shows the comparison of the method of the present invention and other methods for planning the global travel of passengers. It can be seen that the travel quality of passengers and the balance among passengers are much higher than those of other methods. The average benefit density value of the global travel of passengers obtained by the method of the present invention is 0.115, and the benefit density is higher than that of common methods (usually less than 0.08). The variance of the benefit density among passengers is 0.000123, which is less than that of common methods (usually greater than 0.00045). This shows that the quality of the global travel plan for passengers by the method of the present invention is higher than that of other methods.
[0221] Attached Figure 4 The figure shows the Gantt chart of the travel after the method of the present invention plans the global travel for multiple passengers. It can be seen that this method can generate an orderly travel plan for passengers within the daily time budget of passengers. The service places planned for passengers are evenly distributed in the passengers' daily travel, and the benefits among passengers' travels are more balanced, indicating that it conforms to the actual situation.
[0222] In summary, the present invention provides a method for global planning of the travel of multiple passengers on a cruise ship. By modeling the global planning problem of the travel of multiple passengers on a cruise ship as a multi-agent orientation problem model considering venue capacity and time windows, transforming the constraints of cruise passenger travel attributes, service venue attributes, and coupling constraints among passenger travels into state variable and control variable constraints in the mathematical model, using the optimal benefit density construction method to obtain a high-quality initial solution, and then using an adaptive large neighborhood search algorithm with an improved destruction-repair operator to solve the multi-agent orientation problem considering venue capacity and time windows, it can give a global travel plan for multiple passengers on a cruise ship that meets the complex environmental constraints of the cruise ship, has good usability, and strong rationality, which is of great significance for improving the satisfaction of passengers on high-tech ocean liners represented by large cruise ships and the service quality on board.
Claims
1. A method for multi-passenger itinerary planning on a cruise ship, characterized in that, The method includes the following steps: Step 1: Model the global multi-passenger itinerary planning problem on a cruise ship as a multi-agent orientation problem model considering venue capacity and time windows. The specific steps of Step 1 include: Construct an optimization objective for modeling the global multi-passenger itinerary planning problem on a cruise ship as a multi-agent orientation problem model considering venue capacity and time windows, specifically including: considering the average benefit density of all passengers and the variance of benefit density among passengers as the optimization objectives, and the optimization objective function is: Among them, F is the optimization objective, δ1 and δ2 are both constants, m represents the passenger number, and Cu m represents the benefit density of passenger m, M is the number of passengers, and min represents minimization; Convert the constraints of cruise passenger itinerary attributes into state variable and control variable constraints in the mathematical model. Convert the constraints of service venue attributes into control variable constraint conditions in the mathematical model. Construct the coupling constraint conditions among passengers' itineraries during the itinerary execution process. Step 2: Solve the multi-agent orientation problem model considering venue capacity and time windows using an adaptive large neighborhood search algorithm with an improved destruction-repair operator, and then solve the global multi-passenger itinerary planning problem on a cruise ship. The specific steps of Step 2 include: Step S1: Construct multiple variable-length codes to represent the multi-passenger itinerary set. Step S2: Select a neighborhood operator to operate on the feasible solution to form a new solution. Step S3: Evaluate and process the quality of the new feasible solution. Step S4: Evaluate the neighborhood operator using the quality of the new feasible solution. The specific steps of Step S4 for evaluating the neighborhood operator using the quality of the new feasible solution include: (1) At the initial stage of exploration, the selected weights of the destruction algorithm and the repair operator are both 0.
25. Since there are 4 destruction operators and 4 repair operators respectively, it ensures that the probability of each operator being selected is the same. (2) In the later stage, when a higher-quality solution is obtained after the operation of a certain operator, a higher score will be given to this operator to enhance the probability of this operator being selected again. Conversely, a lower score will be given to this operator to reduce the probability of this operator being selected. The specific scoring strategy is as follows: If a new optimal solution is obtained through the calculation of the destruction-repair operator pair, add 10 points to this operator pair. If a new feasible solution is obtained through the calculation of the destruction-repair operator pair, which is better than the current feasible solution but worse than the optimal solution, add 4 points to this operator pair. If a new feasible solution is obtained through the calculation of the destruction-repair operator pair, which is worse than the current feasible solution but is accepted with probability P using the simulated annealing criterion, add 1 point. In other cases, the operator score remains unchanged, but the number of times the corresponding operator is selected still needs to be counted. (3) When the algorithm enters the weight adjustment stage every nseg iterations, adjust the weights of the destruction and repair operators according to the weight update formula, and reset the scores of each operator at the same time. The specific calculation method is as follows: Among them, h d represents the weight of operator d, and Π d represents the total score of operator d in this iteration. θ d represents the number of times operator d is selected in this iteration. μ represents the weight update parameter, μ ∈ [0, 1]. In addition, since the algorithm can relatively easily improve the optimal solution in the early stage of iteration, therefore, the score statistics and weight update of each operator's performance are not performed within the first nseg iterations; Step S5: Terminate the optimization search of the algorithm to obtain a spatio-temporal path plan for passengers.
2. The method according to claim 1, wherein The conversion of the constraints of cruise passenger itinerary attributes into state variable and control variable constraints in Step 1 specifically includes: Combining the characteristics of the global multi-passenger itinerary, both the starting point and the arrival point of the path are the passenger cabin locations, and convert them into state variables in the mathematical model: Among them, represents the state variable of passenger m departing from service location 0 to service location i in the first stage, represents passenger m at G m +1 stage from service location i to service location Q + 1 state variable, Q is the number of service locations, service locations 0 and Q + 1 both represent cabins, is 1 if yes, otherwise 0; is 1 if yes, otherwise 0, m represents the passenger number, i represents the service location number, G m represents the total number of stages of the passenger's journey; The time for passengers to visit any service venue must be within the time budget, and convert the time budget into control variable constraints: ST m ≤TS mi ≤ET m Among them, [ST m , ET m is the time budget of the passenger, ST m is the start time, ET m is the end time, TS mi represents the start time when passenger m visits service venue i; In addition to the passenger time budget constraint, when passengers visit different service venues, there are strict time requirements for the time between the start times of two adjacent visited service venues. This requirement is transformed into a control variable constraint: Among them, TS mj represents the start time when passenger m visits service venue j, V is a sufficiently large positive number, represents the state variable when passenger m visits service venue j after leaving service venue i at stage l, is 1 if so, otherwise 0, t ij represents the walking time between service venues i and j, f i represents the recommended service time of service venue i, j represents the service venue number, l represents the stage of the passenger's itinerary, 3. The method according to claim 1, wherein In step 1, the service venue attribute constraint is transformed into a control variable constraint condition in the mathematical model, specifically including: Passengers can visit the same service venue multiple times. This condition is transformed into a control variable constraint condition in the mathematical model: Among them, g mj represents the total number of times passenger m visits service venue j. At this time Q is the number of service venues, and G m represents the total number of stages of passenger m's trip. represents the state variable of passenger m visiting service venue j after leaving service venue i in stage l. It is 1 if yes, otherwise it is 0. represents the state variable of passenger m visiting service venue i after leaving service venue j in stage l. It is 1 if yes, otherwise it is 0. The service venue has a capacity limit. The number of passengers visiting simultaneously is limited, and each passenger occupies one capacity resource when visiting. This condition is transformed into a control variable constraint condition in the mathematical model: where z mir represents the control variable for passenger m to choose to visit service venue i and occupy service resource r, Z mir ∈ {0, 1}, if it is yes, it is 1, otherwise it is 0, R i represents the capacity limit of service venue i, and r represents the capacity number of the service venue, At this time represents the state variable for passenger m to visit service venue j after leaving service venue i in stage l; The service venue also has an opening time window, and passengers can only visit within the time window. This condition is transformed into a control variable constraint condition in the mathematical model: Among them, TS mi represents the start time when passenger m visits service location i, and TE mi represents the time when passenger m leaves service location i. [S i , E i represents the time window of service location i, where S i is the start time and E i is the end time.
4. The method according to claim 1, wherein In step 1, the coupling constraint conditions between passenger trips during the trip execution process are constructed, specifically including: When multiple passengers visit the same service venue, there is a sequential order. This condition is transformed into a control variable constraint condition in the mathematical model: Y mnir +Y nmir ≥Z mir +Z nir -1 Among them, Y mnir represents the decision variable for passenger m to occupy service resource r prior to passenger n at service location i. Y mnir ∈ {0, 1}, if it is the case, it is 1, otherwise it is 0. Y nmir represents the decision variable for passenger n to occupy service resource r prior to passenger m at service location i. Y nmir ∈ {0, 1}, if it is the case, it is 1, otherwise it is 0; Z mir represents the control variable for passenger m to choose to visit service location i and occupy service resource r. Z mir ∈ {0, 1}, if it is the case, it is 1, otherwise it is 0. Z nir represents the control variable for passenger n to choose to visit service location i and occupy service resource r. Z nir ∈ {0, 1}, if it is the case, it is 1, otherwise it is 0; The time difference between the start time of a passenger at this service venue and the start time of the previous passenger should be no less than the recommended service duration of this service venue, which is described as the constraint condition between passenger trips: where Z is a sufficiently large positive number, TS mi represents the start time when passenger m visits service venue i, TS ni represents the start time when passenger n visits service venue i, f i represents the recommended service time of service venue i, R i represents the capacity limit of service venue i, r represents the capacity number of the service venue, At this time 5. The method according to claim 1, wherein In step S1, multiple encoded representations of variable lengths are constructed to represent the multi-passenger trip set, specifically including: The optimal benefit density construction method is used to construct the initial solution. In each solution, the passenger cabin position is set to 0, and all passengers start from their cabin positions and finally return to the cabin; each trip chain represents the service venues visited in sequence during the passenger's trip; then they are sorted in ascending order of the passenger departure time. Starting from the earliest departing passenger, new service venues are inserted into their routes; for each iteration, the new service venue is selected for the passenger who finishes the current service earliest and inserted into the last position of the trip, and this passenger is inserted into the last position of the service chain of the selected service attraction; the selection of the service venue is determined according to the benefit density of the service venue; when passenger m travels from service venue i to the next service venue j, the calculation index of the benefit density of the service venue j to be selected is as follows: where t ij represents the walking time between service venues i and j, and f i represents the recommended service time of service venue i, and u ml represents the benefit value obtained by passenger m in the l-th stage of the journey; According to the above index, service venues are selected for passengers. Due to the existence of the service venue time window, when the acceptable service time of the current service venue exceeds its closing time, this service venue will enter a non-selectable state; whenever a passenger completes the service at a service venue, a new service venue is inserted into the last position of the passenger's trip until all passengers reach the end point or all service venues cannot be selected.
6. The method according to claim 1, characterized in that In step S2, a neighborhood operator is selected to operate on the feasible solution to form a new solution, specifically including: The roulette wheel method is used to select a destruction operator and a repair operator to destroy and reconstruct the current feasible solution to obtain a new solution, and according to the limitations of the service venue capacity and time window, the infeasible solutions in the new solution are processed to obtain a feasible new solution. The specific operations are as follows: (1) In the destruction stage, a roulette wheel method is used to select one destruction operator from four destruction operators to perform the destruction of the current feasible solution; the feasibility of the current feasible solution is destroyed by inserting new service locations into the current feasible solution. For one or more passenger trips, feasible service locations are selected from the service location pool and inserted into the trips according to certain rules, while allowing any passenger trip and service location to exceed their time limits; the four destruction operators are respectively: D1: Randomly select the trip of a passenger in the current feasible solution, randomly select γ service locations from all service locations, and insert them into a random position of the current passenger trip; D2: Select the passenger trip with the lowest benefit density from the current feasible solution, randomly select γ service locations from all service locations, and insert them into a random position of the current passenger trip; D3: Select the trip with the lowest benefit density, calculate the correlation between all service locations and the service locations already in the current path, and select the γ service locations with the lowest correlation A mj Insert them into random positions in sequence, recalculate the correlation of service locations and sort them after each insertion. The correlation calculation formula is: Among them, A mj represents the difference degree between the service location j and the existing trip of the current passenger m, and trip m represents the service location in the existing trip of the passenger m, and t ij represents the walking time between the service locations i and j, |e i -e j | represents the time window difference between the service locations i and j, |f i -f j | represents the recommended service time difference between the service locations i and j. The numerical values of (λ1, λ2, λ3) represent the degree of emphasis of the algorithm on each element, and Q represents the number of service locations; D4: Calculate the benefit density Cu of all passenger trips in the current feasible solution m , select the passenger trip with the lowest benefit density from the current feasible solution, and calculate the benefit value u that can be obtained by the passenger visiting all service venues in the next stage considering the marginal effect according to the service venues that have been visited in the current trip ml , for all service venues according to u ml Sort in descending order, and insert the γ service venues with the highest profit into a random position in the current trip; (2) In the repair stage, a roulette wheel method is used to select one repair operator from four repair operators to generate a new solution. By performing movement and exchange operations on the service locations in the selected trip, an optimal solution is searched for. The four repair operators are respectively: R1: Randomly select the current trip of a passenger and randomly select a service location, and move the selected service location to all possible positions in the current trip; R2: Calculate the benefit density Cu of all passenger trips in the current feasible solution m , select the passenger trip with the lowest benefit density from the current feasible solution and randomly select a service location, and move the selected service location to all possible positions in the current trip; R3: Randomly select the current trip of a passenger and randomly select a service location, and perform an exchange operation with all service locations not in the current trip; R4: Calculate the benefit density Cu of all passenger trips in the current feasible solution m , select one from the 20% of passengers with the highest and lowest benefit densities respectively, select the service location with the lowest current benefit value from the passenger trips with high benefit density, and move it to all possible positions in the trips with low benefit density; (3) An infeasible solution handling strategy is used to ensure the feasibility of the new solution. After performing the destruction and repair operations on the current feasible solution, in order to ensure the feasibility of the solution, the following factors need to be considered and the solution after the operation is processed: ① Service location time window Since each service location has a different service time window, after optimizing through the destruction operator and the repair operator, there is a situation where some passengers visit service locations outside the opening time range of the service locations. Therefore, for the newly generated current feasible solution, check the passengers in the service queue of the service location who exceed the time window in turn, and delete the corresponding service locations in their corresponding trip chains until the passengers in the service queue of the service location do not exceed the time window constraint; ② Passenger time budget Since each passenger has a different play time budget, after optimizing through the destruction operator and the repair operator, there is a situation where the trip chains of some passengers exceed their time budgets. Therefore, in the process of iteration, delete the last service location in the trip chains of such passengers until the travel time of the passenger does not exceed the time budget.
7. The method according to claim 1, wherein Step S3 evaluates and processes the quality of the new feasible solution, specifically including: (1) Judge whether the new feasible solution is better than the optimal solution. If so, replace the optimal solution and the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, jump to the next step; (2) Judge whether the new feasible solution is better than the current feasible solution. If so, replace the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, jump to the next step; (3) Judge whether to accept the inferior solution with probability P. If so, replace the current feasible solution with the new feasible solution, cool down and update the solution, and then jump to step S4. If not, directly jump to S4; Among them, when using the simulated annealing algorithm criterion to judge whether to accept a worse solution with probability P, the following formula is used to calculate the probability P: Among them, F c represents the initial temperature. In each iteration, the temperature is controlled by a linear annealing mechanism. At the iteration number iter, F iter = ωF iter-1 , F iter represents the temperature at the iter-th iteration, and ω is the simulated annealing factor.
8. The method according to claim 1, characterized in that The specific steps of step S5 include: Judge whether the stopping strategy is satisfied. If so, output the optimal solution set, and use the obtained optimal solution to provide a global travel plan for multiple passengers; If not, jump to step S2; The stopping strategy includes that as long as the stopping strategy 1 or stopping strategy 2 is satisfied, the calculation is stopped and the optimal solution set is output; the stopping strategy 1 and stopping strategy 2 are respectively: Stopping strategy 1: Stop the calculation when the maximum number of iterations of the algorithm reaches 1000 times; Stopping strategy 2: Stop the calculation when no new optimal solution appears in 120 consecutive iterations.