Metro crew scheduling optimization method based on column generation algorithm

By constructing a space-time network of subway flight attendants scheduling based on column generation algorithm, the complexity of the design of flight attendants scheduling schemes under fully automatic running lines is solved, and an efficient and fair flight attendants scheduling scheme is achieved, and subway operation efficiency is improved.

CN119850164APending Publication Date: 2025-04-18HEFEI UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510007494.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-03
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

It is difficult for the prior art to design a high-fair and efficient flight schedule in a fully automatic subway line, especially when facing complex and flexible operating modes, traditional heuristic algorithms are difficult to obtain high-precision solutions.

Method used

The subway flight scheduling optimization method based on the column generation algorithm is adopted. By constructing a point-arc-based subway flight scheduling space-time network, a subway flight scheduling model based on the value-match path is established, and the column generation algorithm and greedy insertion heuristic algorithm are used for solving the problem, and the scheduling scheme is optimized to improve fairness and efficiency.

Benefits of technology

It has realized the design of a high-quality flight attendant scheduling plan under the fully automatic operation line, balanced task allocation, improved the flight attendant scheduling efficiency and operation efficiency, and provided technical support for the fully automatic operation line.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119850164A_ABST
    Figure CN119850164A_ABST
Patent Text Reader

Abstract

The invention discloses a metro crew scheduling optimization method based on a column generation algorithm. The metro crew scheduling optimization method comprises the following steps: 1, constructing a metro crew scheduling space-time network based on a point-arc; 2, establishing a subway crew scheduling model based on the on-duty path; 3, solving the subway crew scheduling model by using a column generation algorithm to obtain an optimal scheduling scheme; and 4, continuously optimizing the optimal scheduling scheme by using a greedy insertion heuristic algorithm to obtain the optimal scheduling scheme considering fairness. According to the method, the subway crew scheduling model based on the value multiplication path is established by utilizing the construction of the point-arc space-time network, and the subway crew scheduling is solved and optimized by adopting an accurate column generation algorithm by taking the balance between efficient and fair distribution of the subway crew scheduling as a purpose, so that a high-quality optimal scheduling scheme is obtained, and the working efficiency of the subway crew scheduling is improved. And on the basis, a greedy insertion heuristic algorithm is used for adjustment to ensure that the scheduling scheme is more fair and reasonable, so that the scheduling efficiency and the working quality of subway crew members are effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of urban rail transit, and specifically is a subway crew scheduling optimization method based on a column generation algorithm. Background Art

[0002] With the new requirements of automation, informatization and intelligence for urban rail transit in my country, fully automatic operation lines are gradually becoming a new trend for future urban rail transit lines. Compared with traditional operation lines, fully automatic operation lines have many advantages such as high operation efficiency, high operation safety and strong environmental sustainability. With the new characteristics of automation technology and automation equipment, the functions and roles of crew members have also changed. As a key part of urban rail transit operation planning, designing a scientific and reasonable crew scheduling plan that meets the characteristics of fully automatic operation lines can reasonably allocate resources, optimize crew tasks, and thus improve rail transit operation efficiency.

[0003] The subway crew scheduling problem is to reasonably assign various driving and service tasks to each crew member according to the subway operation plan, ensuring that they can complete a series of work processes such as attendance, driving, dining, resting and leaving in an orderly manner. This process must not only ensure the efficiency and safety of subway operations, but also take into account the workload and quality of the crew members. Although current research has made some progress in the subway crew scheduling problem, there are still the following shortcomings: First, with the increasing complexity of subway operation modes, crew members need to flexibly sign in and out at different times and stations, as well as arrange meals. The high flexibility greatly increases the complexity of the scheduling problem, making it difficult for the scheduling plan to meet actual needs; second, although the traditional heuristic algorithm can obtain a reasonable scheduling plan in a short time, it is difficult to obtain a high-precision solution when faced with flexible and complex crew scheduling problems. Summary of the invention

[0004] The present invention aims to solve the deficiencies of the above-mentioned prior art and proposes a subway crew scheduling optimization method based on a column generation algorithm, in order to be able to consider fairness in a high-quality subway crew scheduling plan under fully automatic subway lines, thereby balancing the fair distribution of tasks and improving crew scheduling efficiency.

[0005] In order to achieve the above-mentioned purpose, the present invention adopts the following technical scheme:

[0006] The subway crew scheduling optimization method based on the column generation algorithm of the present invention is characterized in that it is applied to a fully automatic subway line with bidirectional travel, and the up and down lines are the same, and trains travel in both directions on the subway line, and the following steps are performed:

[0007] Step 1: Initialize subway crew scheduling data information, including:

[0008] Station data: Split each station into two different platforms: up and down; let n represent the total number of stations on the subway line; let represents the set of subway platforms on a subway line, and , Indicates subway platform; represents a set of subway platforms with dining breaks; It represents the time planning range of subway crew scheduling, where: Indicates the maximum value of time planning;

[0009] Train data: Let K represent the set of train numbers; let S k represents the set of stations that train number k passes through, and ;make Indicates the train number The time set of arrival at the platform; Indicates the train number The time set of leaving the platform; Indicates the train number Arrival Platform The arrival time of Indicates the train number Leave the platform Departure time;

[0010] Crew data: Let R represent the set of crew members, let any crew member in R be denoted by r, r∈R; let represents the minimum coverage time of the vehicle-following inspection task; represents the minimum line change time of the crew; Indicates the designated meal time for crew members; Assigning a crew member The fixed price for providing services for train operations; Indicates flight attendant The cost per unit time of performing the crew segment task; Indicates flight attendant The operation cost per unit time during waiting, resting, idling, and changing lines; Indicates flight attendant The cost of rest per unit time during mealtime; represents the meal time window, where , Indicates the start time of the meal. Indicates the end time of meal;

[0011] Step 2: Obtain the data of stations, platforms, train numbers, crew members and time planning range for subway crew scheduling, so as to construct a spatiotemporal network of subway crew scheduling based on point-arc ,in, represents the set of all spatiotemporal nodes, represents the set of all spacetime arcs;

[0012] Point-arc based space-time network The set of all spatiotemporal nodes in ,in, Indicates the virtual crew start node for the crew to sign in for the crew shift. Indicates the virtual crew termination node when the crew member signs out of the crew shift. Indicates at a point in time The next train arrives at any platform 's nodes, and , Indicates any station, represents the set of all arrival times at the platform, represents the set of all departure times from the platform; Indicates at a point in time The next train leaves the platform 's nodes, and , Indicates at a point in time Disembarkation dining platform Nodes on , and ;

[0013] Space-time network The set of all spacetime arcs ,include:

[0014] A sign-in arc at the beginning of the crew's crew shift path , the sign-in arc The cost is recorded as ,make ;

[0015] A sign-out arc at the end of the crew's crew shift , the sign-out arc The cost is recorded as ,make ;

[0016] A working arc of the crew following the train to perform full-automatic line duty ,in, Indicates another point in time The next train leaves the platform Node, and the working arc The cost is recorded as ,make ;

[0017] An empty arc in which the crew follows the train to change platforms but does not perform the duty ,in, Indicates another point in time The next train arrives at the next platform Nodes with empty arcs The cost is recorded as ,make ;

[0018] A waiting arc of the crew waiting to stop on the platform ,in, Indicates another point in time The next train arrives at the same platform Another arrival node of and waiting arc The cost is recorded as ,make ;

[0019] The crew at the time Follow the train to the platform and leaving the platform A connecting arc between , and connected arcs The cost is recorded as ,make ;

[0020] A transition arc where the crew changes the state from departure to arrival , and the conversion arc The cost is recorded as ,make ;

[0021] A dining arc of a crew member dining at a designated dining station ,in, Indicates another point in time Get off the same dining platform Another dining spot, , , and dining arc The cost is recorded as ,make ;

[0022] A pre-meal connection arc of the flight attendant's node transition before the start of the meal state , and connect the arc before the meal The cost is recorded as ,make ;

[0023] A post-meal connection arc for the node transition of the flight attendant after the meal state is completed , and after meals connect the arc The cost is recorded as ,make ;

[0024] A line change arc when the crew is transferring up or down within the same physical platform ,in, Indicates another point in time The following train will be on the same platform Another starting node, and the line break arc The cost is recorded as ,make ;

[0025] A non-working arc when the crew does not work within the time planning range , and non-working arc The cost is recorded as ,make ;

[0026] Step 3: Establish a subway crew scheduling model based on duty paths;

[0027] Step 4: Use the column generation algorithm to solve the subway crew scheduling model and obtain the optimal scheduling solution ;

[0028] Step 5: Use the greedy insertion heuristic algorithm to find the optimal scheduling solution Continuously optimize to obtain the best scheduling solution that takes fairness into consideration .

[0029] The subway crew scheduling optimization method based on the column generation algorithm described in the present invention is characterized in that the step 3 comprises:

[0030] The main objective function of the subway crew scheduling model based on the duty path is constructed using formula (1): :

[0031] (1)

[0032] In formula (1), Represents the value multiplication path formed by all arcs passed by the crew; represents the set of all value multiplication paths; Indicates flight attendant Whether to pass the value multiplication path If so, then let , otherwise, let ; Indicates that the crew member has passed the duty route the cost;

[0033] The main constraints of the subway crew scheduling model based on the duty path are established using equations (2) to (4):

[0034] (2)

[0035] (3)

[0036] (4)

[0037] In formula (2) to formula (4), represents any spacetime arc, Indicates the train number The set of work arcs passed; Representing Arc Is there a value multiplication path? If so, then let , otherwise, let ,

[0038] Formula (5) is used to evaluate the balance and fairness of the scheduling task allocation among crew members in the same work schedule:

[0039] (5)

[0040] In formula (5), represents the set of all morning, afternoon and evening shifts, let Any of the following flights is recorded as ; Indicates that in any shift The maximum number of trips that a crew member who performs duty may occupy, Indicates that in any shift The minimum number of train trips occupied by crew members performing on-duty tasks.

[0041] Further, the step 4 comprises:

[0042] Step 4.1: Use the greedy algorithm to solve the subway crew scheduling model based on the duty path and obtain the crew's initial duty path;

[0043] Step 4.2: Construct a relaxed subway crew scheduling model;

[0044] Step 4.2.1: Relax the 0-1 decision variables in the constraint conditions shown in formula (4) into linear variables, thereby obtaining the relaxed decision variable domain constraint conditions shown in formula (6);

[0045] (6)

[0046] In formula (6), Another value multiplication path formed by all arcs passed by the crew;

[0047] Step 4.2.2: Formula (1)-(3) and Formula (6) together form the relaxed subway crew scheduling model;

[0048] Step 4.3: Use equation (7) to construct the sub-objective function of the subway crew scheduling model :

[0049] (7)

[0050] In formula (7), , express Any two space-time nodes in ; express Slave nodes in arrive The space-time arc; Indicates whether the crew has passed the arc If so, then let , otherwise, let ; Indicates that the crew passes through the arc the cost; In expression (2), the crew The dual variable of The train number in expression (3) The dual variable of

[0051] Step 4.4: Use equations (8) to (12) to construct the sub-constraints of the subway crew scheduling model:

[0052] (8)

[0053] (9)

[0054] (10)

[0055] (11)

[0056] (12)

[0057] In formula (8) to formula (12), express Any time and space node in express Slave nodes in arrive The space-time arc; Indicates deleting the virtual crew start node and the virtual crew termination node A collection of spatiotemporal nodes; Indicates whether the crew has passed the arc If so, then let , otherwise, let , express From the virtual crew start node The space-time arc of departure; Indicates whether the crew has passed the arc If so, then let , otherwise, let , express Arriving at the virtual crew termination node The space-time arc; Indicates whether the crew has passed the arc If so, then let , otherwise, let ;

[0058] Step 4.5: Solve the relaxed subway crew scheduling model, obtain the dual variables of each constraint condition, and substitute the dual variables into the sub-objective function under the sub-constraint condition Solve it in, and then use formula (13) to get the crew duty path The lowest price :

[0059] (13)

[0060] Step 4.6: Determine the sub-objective function under the sub-constraint conditions In the process of solving , is there a value multiplication path with a negative cost? If so, bring the corresponding value multiplication path into the relaxed subway crew scheduling model and solve it again. Otherwise, execute step 4.7;

[0061] Step 4.7: Restore the relaxed subway crew scheduling model to the subway crew scheduling model before relaxation, and solve it again to obtain a new crew duty path set ;

[0062] Step 4.8: Judgement Are all decision variables in integers? If so, then This is the optimal subway crew scheduling solution. ; Otherwise, continue to solve the subway crew scheduling model before relaxation using the deep and shallow algorithm, and then return to step 4.8.

[0063] Furthermore, the depth algorithm of step 4.8 is performed according to the following steps:

[0064] Step 4.8.1: Define a set of non-integer variables ;

[0065] Step 4.8.2: Add the non-integer variables in to the set In the judgment set Is it an empty set? If so, The output is the optimal scheduling solution Otherwise, the collection The non-integer variable whose value is closest to 1 After assigning the value to 1, execute step 4.8.3;

[0066] Step 4.8.3: Resolve the subway crew scheduling model before relaxation and determine whether a value multiplication path that satisfies the main constraints is obtained. If so, execute step 4.8.2; otherwise, return to step 4.5.

[0067] Further, the step 5 comprises:

[0068] Step 5.1: Define and initialize the current number of iterations as ; Get the optimal scheduling solution in step 3 As the scheduling plan for the g-th iteration, ;Will Any shift scheduling scheme is recorded as ;

[0069] Step 5.2: According to The number of trains included in the scheduling plan for each crew member is Arrange in descending order to get the sorted shift schedule , thus obtaining the optimal scheduling plan after sorting ;

[0070] Step 5.3: From Select the maximum number of trains The shift schedule is recorded as , then the remaining crew scheduling plan is recorded as ;

[0071] Step 5.4: Traversal Each train number contained in Can it be inserted? If possible, then from Delete the corresponding train number , and the train number Add Thus, the scheduling plan for the g+1th iteration is obtained. ;

[0072] Step 5.5: Assign to Then return to step 5.2 and execute sequentially until All train numbers contained in cannot be inserted into So far, the adjusted scheduling plan for all crew members is output as the optimal scheduling plan considering fairness. .

[0073] Furthermore, in step 5.4, the following steps are used to determine whether any train number Can it be inserted? middle:

[0074] Step 5.4.1: Record the remaining crew scheduling plan as Any shift scheduling scheme is recorded as , The number of trips is recorded as ;

[0075] Step 5.4.2: If , then it means the train number The number of trains that can be inserted is The remaining crew scheduling plan Otherwise, the train number Cannot insert middle.

[0076] An electronic device of the present invention includes a memory and a processor, wherein the memory is used to store a program that supports the processor to execute the subway crew scheduling method, and the processor is configured to execute the program stored in the memory.

[0077] The present invention provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and the computer program is characterized in that when the computer program is run by a processor, the steps of the subway crew scheduling method are executed.

[0078] Compared with the prior art, the present invention has the following beneficial effects:

[0079] 1. Aiming at the characteristics of few research models and high computational complexity of subway crew scheduling under fully automatic lines, the present invention conducts in-depth research, analyzes the compilation elements and scheduling process of crew scheduling scheme under fully automatic line scenario, and optimizes the time consumption of work. Under the condition of a given train operation diagram, according to different crew segment division methods, a corresponding subway crew scheduling plan that meets meal constraints, train coverage constraints and time-space connection constraints is compiled, thereby improving the overall operation efficiency of the subway and the work quality of the crew.

[0080] 2. In the process of spatiotemporal network modeling of the crew scheduling problem, the present invention proposes a point-arc based spatiotemporal network diagram to characterize the complex subway crew scheduling tasks. The point set and arc set in the spatiotemporal network diagram can effectively map the task status of the subway crew scheduling, and combined with the precise column generation and greedy insertion heuristic algorithm, the crew scheduling problem is successfully transformed into a form that can be efficiently solvable, which effectively reduces the difficulty of solving the crew scheduling problem and significantly improves the scheduling efficiency, providing strong technical support for the crew scheduling of subways on fully automatic lines.

[0081] 3. The train generation algorithm adopted in the present invention is an accurate algorithm for the subway crew scheduling problem. The advanced solution strategy demonstrates the accuracy and flexibility of the train generation algorithm. By dynamically constructing a feasible solution space, it can effectively cope with the complex and changeable crew scheduling constraints in the subway scheduling problem, such as shift connections, rest time regulations and staffing restrictions. It has a global search capability and can find the optimal scheduling plan within a complex constraint environment and a limited number of iterations, thereby ensuring scheduling efficiency. It has laid a solid foundation for realizing efficient, safe and humanized operation of the subway system, and is a strong support for the intelligent development of modern urban rail transit. BRIEF DESCRIPTION OF THE DRAWINGS

[0082] Figure 1 It is the overall flow chart of the present invention;

[0083] Figure 2 It is the value multiplication path diagram of the spatiotemporal network of the present invention;

[0084] Figure 3 A flow chart of algorithm solution is generated for the present invention. DETAILED DESCRIPTION

[0085] In this embodiment, a subway crew scheduling optimization method based on a column generation algorithm is to first construct a point-arc-based space-time network diagram based on the background that train operation on fully automatic lines does not require human intervention, crew work tasks are mainly train inspections and civilized supervision tasks, and crew members need to be on duty for a certain period of time on routes traversed by passenger trains, and crew members can flexibly transfer at any platform on the line, and then establish a subway crew scheduling model based on the duty path, and then use the column generation algorithm to solve the model to obtain the optimal scheduling plan. On this basis, the greedy insertion heuristic algorithm is used to continuously adjust the solution, and finally the optimal subway crew scheduling plan that takes fairness into consideration is obtained. Specifically, if Figure 1 As shown, the method is performed in the following steps:

[0086] Step 1: Initialize subway crew scheduling data information;

[0087] Assume that all subway lines are fully automatic double-track subway lines with bidirectional operation, and the up and down paths are the same. Trains run in both directions on the subway lines, and each station is divided into two different platforms for up and down.

[0088] Station data: Let n represent the total number of stations on the fully automatic line; let represents the set of subway platforms on a fully automated line, and , Indicates subway platform; represents a set of subway platforms with dining breaks; It indicates the time planning range of subway crew scheduling, where: Indicates the maximum value of the time plan.

[0089] Train data: Let K represent the set of train numbers; let S k represents the set of stations that train number k passes through, and ;make Indicates the train number The arrival time set of Indicates the train number The departure time set of Indicates the train number arrive The arrival time of the platform; Indicates the train number leave The departure time of the platform.

[0090] Crew data: Let R represent the set of crew members, let any crew member in R be denoted by r, r∈R; let represents the minimum coverage time of the vehicle-following inspection task; represents the minimum line change time of the crew; Indicates the designated meal time for crew members; Assigning a crew member The fixed price for providing services for train operations; Indicates flight attendant The cost per unit time of performing the crew segment task; Indicates flight attendant The operation cost per unit time during waiting, resting, idling, and changing lines; Indicates flight attendant The cost of rest per unit time during mealtime; represents the meal time window, where , Indicates the start time of the meal. Indicates the end time of the meal.

[0091] Step 2: Obtain the data of stations, platforms, train numbers, crew members and time planning range for subway crew scheduling, and build a point-arc-based spatiotemporal network for subway crew scheduling based on the task scenario of fully automatic operation lines. ,in, represents the set of all spatiotemporal nodes, represents the set of all space-time arcs;

[0092] In this embodiment, the value multiplication path diagram of the space-time network is as follows: Figure 2 As shown in the figure, the vertical axis represents the space dimension, the horizontal axis represents the time dimension, and the space-time network coordinate plane is constructed. The black circles represent different space-time nodes, and the directed line segments connecting two space-time nodes of different types represent different space-time arcs. Figure 2 The diagram shows a complete crew member's duty path. The crew member first uses the sign-in arc to indicate the start of the crew work, then performs line duty work through the work arc, then waits for the next train through the transfer arc and the waiting arc, then drives to the platform to prepare for meals through the connecting arc and the empty driving arc, ends the meal state under the pre-meal connecting arc, the meal arc and the post-meal connecting arc, and finally ends the duty task through the sign-out arc.

[0093] Point-arc based space-time network The set of all spatiotemporal nodes in is ,in, represents the virtual crew start node, Represents a virtual crew termination node, Indicates the arrival node, represents the departure node, Represents a dining node, and has:

[0094] Virtual crew start node With virtual crew termination node Respectively indicate the crew's sign-in and sign-out for the crew shift;

[0095] Arrival Node Indicates at a point in time , the train arrives at the platform Nodes, where , Indicates a subway platform. represents the set of all arrival times at the platform, represents the set of all departure times from the platform;

[0096] Departure Node Indicates at a point in time , the train leaves the platform Nodes, where ;

[0097] Dining Node Indicates at a point in time , Crew dining platform Nodes on , where .

[0098] Space-time network The arc set contains multiple types of arcs. represents the set of all space-time arcs, including:

[0099] Attendance arc: For any attendance arc , indicating the start of the crew's crew shift path, and Represents the cost of the sign-in arc, which is calculated as ;

[0100] Sign-off arc: For any sign-off arc , indicating the end of the crew's crew shift path, and Represents the cost of the sign-out arc, calculated as ;

[0101] Working arc: For any working arc , indicating the working status of the crew following the train to perform full-automatic line duty, where represents another departure node, and Represents the cost of the work arc, which is calculated as ,in, Indicates a point in time, Indicates another point in time;

[0102] Empty arc: For any empty arc , which indicates the working state of the crew following the train to change platforms but not performing the duty task, where represents the arrival node of the next station, and represents the cost of the empty arc, which is calculated as ;

[0103] Waiting arc: For any waiting arc , indicating the state of the crew waiting to stay on the platform, where represents another arrival node of the same station, and represents the cost of the waiting arc, which is calculated as ;

[0104] Connected arcs: For any connected arc , indicating that the crew changes from the arrival state to the departure state, and Represents the cost of the connected arc, which is calculated as ;

[0105] Conversion arc: For any conversion arc , indicating the case where the crew changes the state from departure to arrival, and Represents the cost of the conversion arc, which is calculated as ;

[0106] Dining arc: For any dining arc , indicating the state of the crew dining at the designated dining station, where , , , represents another dining node at the same dining station, and represents the cost of the dining arc, which is calculated as .

[0107] Pre-meal connection arc: For any pre-meal connection arc , represents the node transition of the flight attendant before the start of the meal state, and represents the cost of the pre-meal connection arc, which is calculated as ;

[0108] Post-meal connection arc: For any post-meal connection arc , represents the node transition after the flight attendant finishes the meal state, and represents the cost of the post-meal connection arc, which is calculated as ;

[0109] Line break arc: For any line break arc , indicating the state of crew members transferring up and down in the same physical platform, where represents another departure node of the same station, and Represents the cost of the line break arc, which is calculated as ;

[0110] Non-working arc: There is a non-working arc in the space-time network , indicating that the crew does not work within the time planning range, and Represents the cost of the non-working arc, which is calculated as .

[0111] Step 3: Establish a subway crew scheduling model based on duty paths;

[0112] Formula (1) is used to define the objective function of the subway crew scheduling model based on the duty path as the main problem :

[0113] (1)

[0114] In formula (1), Represents the value multiplication path formed by all arcs passed by the crew; represents the set of all value multiplication paths; Indicates flight attendant Whether to pass the value multiplication path If so, then let , otherwise, let ; Indicates that the crew member has passed the duty route The cost.

[0115] Formula (2) to (4) are used to establish the subway crew scheduling model based on the duty path as the constraint conditions of the main problem:

[0116] (2)

[0117] (3)

[0118] (4)

[0119] In formula (2) to formula (4), Representing Arc Is there a value multiplication path? If so, then let , otherwise, let ,in, represents any spacetime arc, Indicates the train number The set of work arcs passed.

[0120] Formula (5) is used to evaluate the balance and fairness of the scheduling task allocation among crew members in the same work schedule:

[0121] (5)

[0122] In formula (5), Indicates that in any shift The maximum number of trips that a crew member who performs duty may occupy, Indicates that in any shift The minimum number of trips occupied by the crew members who perform the duty task, where represents the set of all shifts, let Any of the following flights is recorded as , , including morning, midday and evening shifts.

[0123] Step 4: Figure 3 As shown in the figure, the column generation algorithm is used to solve the subway crew scheduling model and obtain the optimal scheduling solution. , specifically including the following steps:

[0124] Step 4.1: Use the greedy algorithm to solve the subway crew scheduling model based on the duty path, and obtain a series of initial duty paths that meet the crew scheduling allocation constraints and ensure that each train number must be executed by the crew at least once, until all train numbers are covered and a sufficient number of crew initial duty paths are obtained.

[0125] Step 4.2: Construct a relaxed subway crew scheduling model, i.e., a linearly relaxed restricted master problem;

[0126] Step 4.2.1: Relax the 0-1 decision variables in the constraint conditions shown in formula (4) into linear variables, thereby obtaining the relaxed decision variable domain constraint conditions shown in formula (6);

[0127] (6)

[0128] In formula (6), Another value multiplication path formed by all arcs passed by the crew;

[0129] Step 4.2.2: Equations (1)-(3) and (6) together form the relaxed subway crew scheduling model.

[0130] Step 4.3: Use equation (7) to construct the sub-objective function of the subway crew scheduling problem model :

[0131] (7)

[0132] In formula (7), , express Any two space-time nodes in ; express Slave nodes in arrive The space-time arc; Indicates whether the crew has passed the arc If so, then let , otherwise, let ; Indicates that the crew passes through the arc the cost; In expression (2), the crew The dual variable of The train number in expression (3) The dual variable of .

[0133] Step 4.4: Use equations (8) to (12) to construct the sub-constraints of the subway crew scheduling problem model:

[0134] (8)

[0135] (9)

[0136] (10)

[0137] (11)

[0138] (12)

[0139] In formula (8) to formula (12), express Any time and space node in express Slave nodes in arrive The space-time arc; Indicates deleting the virtual crew start node and the virtual crew termination node A collection of spatiotemporal nodes; Indicates whether the crew has passed the arc If so, then let , otherwise, let , express From the virtual crew start node The space-time arc of departure; Indicates whether the crew has passed the arc If so, then let , otherwise, let , express Arriving at the virtual crew termination node The space-time arc; Indicates whether the crew has passed the arc If so, then let , otherwise, let .

[0140] Step 4.5: Solve the relaxed subway crew scheduling model, obtain the dual variables of each constraint condition, and substitute the dual variables into the sub-objective function under the sub-constraint condition Solve it in, and then use formula (13) to get the crew duty path The lowest price :

[0141] (13)

[0142] Step 4.6: Determine the sub-objective function under the sub-constraint conditions During the solution process, is there a value multiplication path with a negative cost? If so, bring the corresponding value multiplication path into the relaxed subway crew scheduling model and solve it again. Otherwise, execute step 4.7.

[0143] Step 4.7: Restore the relaxed subway crew scheduling model to the subway crew scheduling model before relaxation, and solve it again to obtain a new crew duty path set ;

[0144] Step 4.8: Judgement Are all decision variables in integers? If so, then This is the optimal subway crew scheduling solution. ; Otherwise, continue to solve the subway crew scheduling model before relaxation using the deep and shallow algorithm, and then return to step 4.8.

[0145] Step 4.8.1: Define a set of non-integer variables ;

[0146] Step 4.8.2: Add the non-integer variables in to the set In the judgment set Is it an empty set? If so, The output is the optimal scheduling solution Otherwise, the collection The non-integer variable whose value is closest to 1 After assigning the value to 1, execute step 4.8.3;

[0147] Step 4.8.3: Resolve the subway crew scheduling model before relaxation and determine whether a value multiplication path that satisfies the main constraints is obtained. If so, execute step 4.8.2; otherwise, return to step 4.5.

[0148] Step 5: Use the greedy insertion heuristic algorithm to find the optimal scheduling solution Continuously optimize to obtain the best scheduling solution that takes fairness into consideration ;

[0149] Step 5.1: Define and initialize the current number of iterations as ; Get the optimal scheduling solution in step 3 As the scheduling plan for the g-th iteration, ;Will Any shift scheduling scheme is recorded as ;

[0150] Step 5.2: According to The number of trains included in the scheduling plan for each crew member is Arrange in descending order to get the sorted shift schedule , thus obtaining the optimal scheduling plan after sorting ;

[0151] Step 5.3: From Select the maximum number of trains The shift schedule is recorded as , then the remaining crew scheduling plan is recorded as .

[0152] Step 5.4: Traversal Each train number contained in Can it be inserted? If possible, then from Delete the corresponding train number , and the train number Add Thus, the scheduling plan for the g+1th iteration is obtained. ;

[0153] Step 5.4.1: Record the remaining crew scheduling plan as Any shift scheduling scheme is recorded as , The number of trips is recorded as ;

[0154] Step 5.4.2: If , then it means the train number The number of trains that can be inserted is The remaining crew scheduling plan Otherwise, the train number Cannot insert middle.

[0155] Step 5.5: Assign to Then return to step 5.2 and execute sequentially until All train numbers contained in cannot be inserted into Until then, the adjusted scheduling plan for all crew members is output.

[0156] In this embodiment, an electronic device includes a memory and a processor, wherein the memory is used to store a program that supports the processor to execute the above method, and the processor is configured to execute the program stored in the memory.

[0157] In this embodiment, a computer-readable storage medium is provided, on which a computer program is stored, wherein the computer program executes the steps of the above method when executed by a processor.

Claims

1. A subway crew scheduling optimization method based on column generation algorithm, characterized in that: It is a fully automatic subway line for bidirectional operation, and the up and down lines are the same. Trains run in both directions on the subway line and proceed as follows: Step 1: Initialize subway crew scheduling data information, including: Station data: Split each station into two different platforms: up and down; let n represent the total number of stations on the subway line; let represents the set of subway platforms on a subway line, and , Indicates subway platform; represents a set of subway platforms with dining breaks; It represents the time planning range of subway crew scheduling, where: Indicates the maximum value of time planning; Train data: Let K represent the set of train numbers; let S k represents the set of stations that train number k passes through, and ;make Indicates the train number The time set of arrival at the platform; Indicates the train number The time set of leaving the platform; Indicates the train number Arrival Platform The arrival time of Indicates the train number Leave the platform Departure time; Crew data: Let R represent the set of crew members, let any crew member in R be denoted by r, r∈R; let represents the minimum coverage time of the vehicle-following inspection task; represents the minimum line change time of the crew; Indicates the designated meal time for crew members; Assigning a crew member The fixed price for providing services for train operations; Indicates flight attendant The cost per unit time of performing the crew segment task; Indicates flight attendant The operation cost per unit time during waiting, resting, idling, and changing lines; Indicates flight attendant The cost of rest per unit time during mealtime; represents the meal time window, where , Indicates the start time of the meal. Indicates the end time of meal; Step 2: Obtain the data of stations, platforms, train numbers, crew members and time planning range for subway crew scheduling, so as to construct a spatiotemporal network of subway crew scheduling based on point-arc ,in, represents the set of all spatiotemporal nodes, represents the set of all spacetime arcs; Point-arc based space-time network The set of all spatiotemporal nodes in ,in, Indicates the virtual crew start node for the crew to sign in for the crew shift. Indicates the virtual crew termination node when the crew member signs out of the crew shift. Indicates at a point in time The next train arrives at any platform 's nodes, and , Indicates any station, represents the set of all arrival times at the platform, represents the set of all departure times from the platform; Indicates at a point in time The next train leaves the platform 's nodes, and , Indicates at a point in time Disembarkation dining platform Nodes on , and ; Space-time network The set of all spacetime arcs ,include: A sign-in arc at the beginning of the crew's crew shift path , the sign-in arc The cost is recorded as ,make ; A sign-out arc at the end of the crew's crew shift , the sign-out arc The cost is recorded as ,make ; A working arc of the crew following the train to perform full-automatic line duty ,in, Indicates another point in time The next train leaves the platform Node, and the working arc The cost is recorded as ,make ; An empty arc in which the crew follows the train to change platforms but does not perform the duty ,in, Indicates another point in time The next train arrives at the next platform Nodes with empty arcs The cost is recorded as ,make ; A waiting arc of the crew waiting to stop on the platform ,in, Indicates another point in time The next train arrives at the same platform Another arrival node of and waiting arc The cost is recorded as ,make ; The crew at the time Follow the train to the platform and leaving the platform A connecting arc between , and the connected arc The cost is recorded as ,make ; A transition arc where the crew changes the state from departure to arrival , and the conversion arc The cost is recorded as ,make ; A dining arc of a crew member dining at a designated dining station ,in, Indicates another point in time Get off the same dining platform Another dining spot, , , and dining arc The cost is recorded as ,make ; A pre-meal connection arc of the flight attendant's node transition before the start of the meal state , and connect the arc before the meal The cost is recorded as ,make ; A post-meal connection arc for the node transition of the flight attendant after the meal state is completed , and after meals connect the arc The cost is recorded as ,make ; A line change arc when the crew is transferring up or down within the same physical platform ,in, Indicates another point in time The following train will be on the same platform Another starting node, and the line break arc The cost is recorded as ,make ; A non-working arc when the crew does not work within the time planning range , and non-working arc The cost is recorded as ,make ; Step 3: Establish a subway crew scheduling model based on duty paths; Step 4: Use the column generation algorithm to solve the subway crew scheduling model and obtain the optimal scheduling solution ; Step 5: Use the greedy insertion heuristic algorithm to find the optimal scheduling solution Continuously optimize to obtain the best scheduling solution that takes fairness into consideration .

2. According to claim 1, a subway crew scheduling optimization method based on column generation algorithm is characterized in that: The step 3 comprises: The main objective function of the subway crew scheduling model based on the duty path is constructed using formula (1): : (1) In formula (1), Represents the value multiplication path formed by all arcs passed by the crew; represents the set of all value multiplication paths; Indicates flight attendant Whether to pass the value multiplication path If so, then let , otherwise, let ; Indicates that the crew member has passed the duty route the cost; The main constraints of the subway crew scheduling model based on the duty path are established using equations (2) to (4): (2) (3) (4) In formula (2) to formula (4), represents any spacetime arc, Indicates the train number The set of work arcs passed; Representing Arc Is there a value multiplication path? If so, then let , otherwise, let , Formula (5) is used to evaluate the balance and fairness of the scheduling task allocation among crew members in the same work schedule: (5) In formula (5), represents the set of all morning, afternoon and evening shifts, let Any of the following flights is recorded as ; Indicates that in any shift The maximum number of trips that a crew member who performs duty may occupy, Indicates that in any shift The minimum number of train trips occupied by crew members performing on-duty tasks.

3. According to claim 2, a subway crew scheduling optimization method based on column generation algorithm is characterized in that: The step 4 comprises: Step 4.1: Use the greedy algorithm to solve the subway crew scheduling model based on the duty path and obtain the crew's initial duty path; Step 4.2: Construct a relaxed subway crew scheduling model; Step 4.2.1: Relax the 0-1 decision variables in the constraint conditions shown in formula (4) into linear variables, thereby obtaining the relaxed decision variable domain constraint conditions shown in formula (6); (6) In formula (6), Another value multiplication path formed by all arcs passed by the crew; Step 4.2.2: Formula (1)-(3) and Formula (6) together form the relaxed subway crew scheduling model; Step 4.3: Use equation (7) to construct the sub-objective function of the subway crew scheduling model : (7) In formula (7), , express Any two space-time nodes in ; express Slave nodes in arrive The space-time arc; Indicates whether the crew has passed the arc If so, then let , otherwise, let ; Indicates that the crew passes through the arc the cost; In expression (2), the crew The dual variable of The train number in expression (3) The dual variable of Step 4.4: Use equations (8) to (12) to construct the sub-constraints of the subway crew scheduling model: (8) (9) (10) (11) (12) In formula (8) to formula (12), express Any time and space node in express Slave nodes in arrive The space-time arc; Indicates deleting the virtual crew start node and the virtual crew termination node A collection of spatiotemporal nodes; Indicates whether the crew has passed the arc If so, then let , otherwise, let , express From the virtual crew start node The space-time arc of departure; Indicates whether the crew has passed the arc If so, then let , otherwise, let , express Arriving at the virtual crew termination node The space-time arc; Indicates whether the crew has passed the arc If so, then let , otherwise, let ; Step 4.5: Solve the relaxed subway crew scheduling model, obtain the dual variables of each constraint condition, and substitute the dual variables into the sub-objective function under the sub-constraint condition Solve it in, and then use formula (13) to get the crew duty path The lowest price : (13) Step 4.6: Determine the sub-objective function under the sub-constraint conditions In the process of solving , is there a value multiplication path with a negative cost? If so, bring the corresponding value multiplication path into the relaxed subway crew scheduling model and solve it again. Otherwise, execute step 4.7; Step 4.7: Restore the relaxed subway crew scheduling model to the subway crew scheduling model before relaxation, and solve it again to obtain a new crew duty path set ; Step 4.8: Judgement Are all decision variables in integers? If so, then This is the optimal subway crew scheduling solution. ; Otherwise, continue to solve the subway crew scheduling model before relaxation using the deep and shallow algorithm, and then return to step 4.

8.

4. According to claim 3, a subway crew scheduling optimization method based on column generation algorithm is characterized in that: The depth algorithm of step 4.8 is performed according to the following steps: Step 4.8.1: Define a set of non-integer variables ; Step 4.8.2: Add the non-integer variables in to the set In the judgment set Is it an empty set? If so, The output is the optimal scheduling solution Otherwise, the collection The non-integer variable whose value is closest to 1 After assigning the value to 1, execute step 4.8.3; Step 4.8.3: Resolve the subway crew scheduling model before relaxation and determine whether a value multiplication path that satisfies the main constraints is obtained. If so, execute step 4.8.2; otherwise, return to step 4.

5.

5. According to claim 4, a subway crew scheduling optimization method based on column generation algorithm is characterized in that: The step 5 comprises: Step 5.1: Define and initialize the current number of iterations as ; Get the optimal scheduling solution in step 3 As the scheduling plan for the g-th iteration, ;Will Any shift scheduling scheme is recorded as ; Step 5.2: According to The number of trains included in the scheduling plan for each crew member is Arrange in descending order to get the sorted shift schedule , thus obtaining the optimal scheduling plan after sorting ; Step 5.3: From Select the maximum number of trains The shift schedule is recorded as , then the remaining crew scheduling plan is recorded as ; Step 5.4: Traversal Each train number contained in Can it be inserted? If possible, then from Delete the corresponding train number , and the train number Add Thus, the scheduling plan for the g+1th iteration is obtained. ; Step 5.5: Assign to Then return to step 5.2 and execute sequentially until All train numbers contained in cannot be inserted into So far, the adjusted scheduling plan for all crew members is output as the optimal scheduling plan considering fairness. .

6. According to claim 4, a subway crew scheduling optimization method based on column generation algorithm is characterized in that: In step 5.4, the following steps are used to determine the number of any train: Can it be inserted? middle: Step 5.4.1: Record the remaining crew scheduling plan as Any shift scheduling scheme is recorded as , The number of trips is recorded as ; Step 5.4.2: If , then it means the train number The number of trains that can be inserted is The remaining crew scheduling plan Otherwise, the train number Cannot insert middle.

7. An electronic device, comprising a memory and a processor, characterized in that: The memory is used to store a program that supports the processor to execute the subway crew scheduling method described in any one of claims 1-6, and the processor is configured to execute the program stored in the memory.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the subway crew scheduling method described in any one of claims 1 to 6 are executed.