Method for crew scheduling and related apparatus

CN122736182APending Publication Date: 2026-09-11CHINA EASTERN AIRLINES CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610874709.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-16
Publication Date
2026-09-11

Smart Images

  • Figure CN122736182A_ABST
    Figure CN122736182A_ABST
Patent Text Reader

Abstract

This disclosure relates to a method and related apparatus for scheduling flight crew members. A method for scheduling flight crew members includes: acquiring flight mission information, which includes task loops obtained by combining serializable flight missions and task strings obtained by combining serializable task loops; acquiring crew member information, which includes the flight missions already executed by each crew member and their executable task strings, as well as factors affecting the fatigue level of each crew member; constructing an integer programming model by setting constraints and an objective function, wherein the objective function includes the cost of crew members performing flight missions, and the cost of crew members performing flight missions includes fatigue balancing costs; and solving the integer programming model using the acquired flight mission information and crew member information, and scheduling flight crew members based on the solution results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of aviation technology, and more specifically, to a method, apparatus, electronic equipment, computer-readable storage medium, and computer program product for scheduling flight crew. Background Technology

[0002] Flight crew members are a vital component of airlines, and airlines need to carefully schedule each crew member to perform flight missions. Therefore, crew scheduling is extremely important for airlines. Summary of the Invention

[0003] A brief overview of this disclosure is given below to provide a basic understanding of some aspects of it. However, it should be understood that this overview is not an exhaustive summary of this disclosure. It is not intended to identify key or essential parts of this disclosure, nor is it intended to limit the scope of this disclosure. Its purpose is merely to present certain concepts of this disclosure in a simplified form as a prelude to the more detailed description that follows.

[0004] One of the purposes of this disclosure is to provide a method, apparatus, electronic device, computer-readable storage medium, and computer program product for scheduling crew members.

[0005] According to a first aspect of this disclosure, a method for scheduling flight crew members is provided, comprising: acquiring flight mission information, the flight mission information including task loops obtained by combining serializable flight missions and task strings obtained by combining serializable task loops; acquiring flight crew information, the flight crew information including the flight missions executed by each flight crew member and their executable task strings, and factors affecting the fatigue level of each flight crew member; constructing an integer programming model by: setting constraints, including: setting a first constraint, the first constraint requiring that the number of flight crew members assigned to each task loop does not exceed the number of flight crew members required for that task loop; setting a second constraint, the second constraint requiring that each flight crew member execute at most one task string; and setting an objective function, wherein the objective function includes the cost of flight crew members executing flight missions, the cost of flight crew members executing flight missions includes fatigue balancing costs, and the fatigue balancing costs increase as the degree of fatigue imbalance among flight crew members increases; and solving the integer programming model using the acquired flight mission information and flight crew information and scheduling flight crew members according to the solution results.

[0006] In some embodiments, the objective function also includes the cost of a task loop not being fully staffed with crew members.

[0007] In some embodiments, the objective function is set to Where P represents the set of task cycles, and cp This represents the cost coefficient for task loop p where the crew is not fully booked, y p R represents the number of missing crew members in mission loop p, I represents the set of crew members, and R represents the number of missing crew members. i C represents the set of task strings that crew member i can execute. ir Let C represent the cost of crew member i performing task string r, and C ir Including C if C if This represents the fatigue leveling cost of crew member i performing task string r. The min function is used to find the minimum value.

[0008] In some embodiments, the method for scheduling crew members further includes: determining an assessment window W, wherein the assessment window W is configured to indicate the time range for calculating fatigue, and C if Set in In the case of They are positively correlated, where Δ i This indicates the fatigue balance deviation of crew member i within the evaluation window W. F i This indicates the total fatigue level of crew member i within the assessment window W. This represents the expected average total fatigue level of crew members awaiting scheduling within the assessment window W.

[0009] In some embodiments, , Where α represents the penalty coefficient, α>1, c f This represents the fatigue equilibrium cost coefficient.

[0010] In some embodiments, , , = +D ,in, This indicates the determined fatigue level of crew member i within the assessment window W. This indicates the fatigue level assigned to crew member i within the assessment window W during this shift scheduling. This indicates the average daily total fatigue level per person for crew members awaiting scheduling within the assessment window W. This indicates the average total fatigue level per person for crew members awaiting scheduling within the assessment window W. D represents the number of days that flight missions have occurred within the evaluation window W, and D represents the number of days for the current scheduling within the evaluation window W.

[0011] In some embodiments, the method for scheduling crew members includes at least one of the following: setting a first constraint for Requirements must be met Or set the second constraint to be for Requirements must be met Where P represents the set of task cycles, I p R represents the assembly of crew members who can be assigned to mission loop p. ip This represents the set of task strings containing task loop p that can be executed by crew member i. y p N represents the number of crew members missing in mission loop p. p Let R represent the number of crew members required for mission loop p, I represent the set of crew members, and R represent the number of crew members required for mission loop p. i This represents the set of task strings that crew member i can execute.

[0012] In some embodiments, the method for scheduling crew members further includes: calculating fatigue based on factors affecting fatigue, wherein the factors affecting fatigue include at least one of the following: flight segment, flight time, number of duty days, duty period, type of take-off and landing airport, time difference between the landing airport and the take-off airport, delay duration, teaching task status, management task status, and rest status.

[0013] According to a second aspect of this disclosure, an apparatus for scheduling flight crew members is provided, comprising: an acquisition module configured to: acquire flight mission information, the flight mission information including a task loop obtained by combining serializable flight missions and a task string obtained by combining serializable task loops; acquire crew member information, the crew member information including the flight missions executed by each crew member and their executable task strings, and factors affecting the fatigue level of each crew member; and a construction module configured to construct an integer programming model by: setting constraints, including: setting a first constraint for each task. The system includes a first constraint requiring that the number of crew members assigned to a task loop does not exceed the total number of crew members required for that task loop. A second constraint is also set, requiring each crew member to execute at most one task sequence. An objective function is defined, which includes the cost of crew members performing flight tasks, including fatigue balancing costs, which increase as the degree of fatigue imbalance among crew members increases. A scheduling module is configured to solve an integer programming model using the acquired flight task information and crew member information, and to schedule crew members based on the solution results.

[0014] According to a third aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory storing computer-executable instructions, which, when executed by the processor, cause the processor to perform the method for crew scheduling according to the first aspect of this disclosure.

[0015] According to a fourth aspect of this disclosure, a computer-readable storage medium having computer-executable instructions stored thereon is provided, which, when executed by a processor, cause the processor to perform a method for scheduling crew members according to a first aspect of this disclosure.

[0016] According to a fifth aspect of this disclosure, a computer program product is provided, the computer program product including instructions that, when executed by a processor, implement a method for scheduling crew members according to a first aspect of this disclosure.

[0017] Other features and advantages of this disclosure will become clearer from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0018] The foregoing and other features and advantages of this disclosure will become clear from the following description of embodiments illustrated in conjunction with the accompanying drawings. The drawings, incorporated herein and forming a part of the specification, are further used to explain the principles of this disclosure and to enable those skilled in the art to make and use it. Wherein: Figure 1 A flowchart illustrating a method for scheduling crew members according to some embodiments of the present disclosure is shown; Figure 2 A schematic block diagram of an apparatus for scheduling crew members according to some embodiments of the present disclosure is shown; Figure 3 A schematic block diagram of an electronic device according to some embodiments of the present disclosure is shown; Figure 4 A schematic block diagram of a computer system on which embodiments of the present disclosure may be implemented is shown.

[0019] Note that in the embodiments described below, the same reference numerals are sometimes used across different figures to denote the same parts or parts having the same function, and repeated descriptions are omitted. In this specification, similar reference numerals and letters are used to denote similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0020] For ease of understanding, the positions, dimensions, and extents of the structures shown in the accompanying drawings and other materials may not represent actual positions, dimensions, and extents. Therefore, the disclosed invention is not limited to the positions, dimensions, and extents disclosed in the accompanying drawings and other materials. Furthermore, the drawings are not necessarily drawn to scale, and some features may be enlarged to show details of specific components. Detailed Implementation

[0021] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.

[0022] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the scope of this disclosure or its application or use. That is, the structures and methods herein are shown in an exemplary manner to illustrate different embodiments of the structures and methods in this disclosure. However, those skilled in the art will understand that they merely illustrate exemplary ways that can be used to implement this disclosure, and not exhaustive ways. Furthermore, the drawings are not necessarily drawn to scale, and some features may be enlarged to show details of specific components.

[0023] In addition, techniques, methods and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods and equipment should be considered part of the specification.

[0024] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.

[0025] Generally, crew scheduling and fatigue management can be accomplished according to the fatigue management rules and regulations required by the Civil Aviation Administration of China (CAAC) and the airline's own operational management manual. For example, the CAAC's "Rules for the Qualification Assessment of Large Aircraft Public Air Transport Carriers" (CCAR-121) uniformly restricts the monthly flight hours, annual flight hours, flight duty periods, and rest periods for flight crews. The airline's own operational management manual can further refine the additional rest requirements based on the CAAC's regulations, such as rest period arrangements, night operations, and extended flight duty periods. However, the above scheduling and fatigue management methods have certain shortcomings.

[0026] For example, the actual operational content of different crew members varies significantly. If crew scheduling compliance checks are conducted solely based on fixed time limits stipulated in regulatory rules and company manuals, it is impossible to identify and quantify the differences in crew fatigue caused by these variations. Furthermore, due to the lack of unified fatigue quantification indicators, scheduling personnel rely on subjective experience when manually scheduling, which can easily lead to uneven flight workloads among crew members. For instance, some crew members may be assigned high-fatigue tasks for extended periods, thus affecting overall operational safety and crew satisfaction. In addition, current management of crew fatigue is usually adjusted only after violations occur (e.g., arranging 56 hours of rest after 5 consecutive days of flying), which is a reactive measure and lacks preventative and real-time balancing mechanisms, making it difficult to achieve proactive control of fatigue risks.

[0027] To address this, the present disclosure provides a method for scheduling flight crew members that allows for flexible scheduling based on the fatigue levels of crew members performing flight duties. In particular, it considers the degree of fatigue balance among different crew members, thereby resolving at least one of the above-mentioned deficiencies and improving the fairness of the scheduling scheme in terms of fatigue and the safety of flight operations.

[0028] The following will first combine Figure 1 A method 100 for scheduling flight crew according to various embodiments of the present disclosure (hereinafter referred to as "method 100") is described in detail. It will be understood that the actual method may include other steps, but in order to avoid obscuring the essential points of the present disclosure, these other steps will not be discussed herein and will not be shown in the accompanying drawings.

[0029] like Figure 1 As shown, method 100 may include steps S102 to S108.

[0030] In step S102, flight mission information is obtained, which includes a mission loop obtained by combining serializable flight missions and a mission string obtained by combining serializable mission loops.

[0031] For example, a task loop can be sequentially linked from the perspective of a flight route, while a task sequence can be sequentially linked from the perspective of a flight crew member. Thus, one task loop can be considered to correspond to one flight route, and one task sequence to one flight crew member. It should be understood that when multiple flight crew members (i.e., forming a single crew) are assigned to execute the same task loop, this task loop is an intersection of multiple task sequences executed by those crew members. It should also be understood that a sequenceable flight task included in a task loop can be one or more flight tasks, and a sequenceable task loop included in a task sequence can be one or more task loops.

[0032] In step S104, crew information is obtained, which includes the flight tasks performed by each crew member and the task strings they can perform, as well as the factors affecting the fatigue level of each crew member.

[0033] Crew members may include flight crew members (e.g., instructors, captains, cruise captains, first officer, second officer, etc.), cabin crew members (e.g., chief purser, flight attendants, security officers, etc.), or other personnel related to the flight mission (e.g., air traffic control, etc.), without any restrictions.

[0034] The flight tasks performed by the crew can be used to calculate the crew's fatigue level, thus providing a more comprehensive reflection of the crew's fatigue level in different time windows.

[0035] The available task sequences for crew members can be determined based on flight mission information. A task sequence that can be performed by the crew refers to a task sequence that the crew has time to perform under the condition of meeting the relevant scheduling rules (e.g., the regulatory authority's regulations on flight hours, rest, etc.).

[0036] In some embodiments, crew members may be selected from the airline's overall crew based on their attendance and availability information. This attendance and availability information may include, for example, information indicating whether a crew member is available or unavailable for a given time period, wherein crew members who are unavailable cannot be scheduled.

[0037] In addition, the executable task strings for the crew can also be determined based on other factors such as the crew's technical skill level information, and there are no restrictions here.

[0038] In some embodiments, fatigue can be calculated based on factors affecting fatigue, wherein factors affecting fatigue may include at least one of the following: flight segment, flight time, number of duty days, duty period, type of take-off and landing airport, time difference between the landing airport and the take-off airport, delay duration, teaching task status, management task status, and rest status.

[0039] As a non-restrictive illustrative example, considering the different levels of difficulty and fatigue associated with different flight positions, the fatigue level for different flight segments can be determined based on the flight positions of crew members, according to Table 1 below.

[0040] Table 1

[0041] For Table 1 and Tables 2-10 (described below), specific numerical values ​​can be assigned to fatigue values ​​based on actual circumstances. Furthermore, fatigue values ​​can be positive or negative; for example, a positive fatigue value indicates an increase in crew fatigue, while a negative fatigue value indicates a decrease in crew fatigue. The above information will be referenced in the following text and tables, and will not be repeated here.

[0042] As a non-limiting illustrative example, considering that different monthly flight hours result in different levels of fatigue, the fatigue level for different flight times can be determined based on factors such as monthly flight hours and check-in time, according to Table 2 below.

[0043] Table 2

[0044] As a non-restrictive illustrative example, considering that different numbers of working days result in different levels of fatigue, the fatigue level for different numbers of working days can be determined based on the number of working days, according to Table 3 below.

[0045] Table 3

[0046] As a non-restrictive illustrative example, considering the varying degrees of fatigue during different periods of duty, the fatigue levels for different duty periods can be determined according to Table 4 below, based on factors such as flight duty duration. Here, "positioning" refers to the process by which crew members, as passengers, travel to the assigned flight location by aircraft or other means of transportation to complete their assigned flight mission.

[0047] Table 4

[0048] As a non-restrictive illustrative example, considering the varying difficulty and fatigue levels of flight operations at different types of airports, the fatigue levels for different airport types can be determined based on the airport conditions as shown in Table 5 below. High-altitude operations refer to flights to and from airports with an elevation of 2438 meters (8000 feet) or higher. Polar operations refer to flights where at least a portion of the planned route enters the Arctic region (north of 78°N) or the Antarctic region (south of 60°S). Furthermore, based on operational standards and the complexity of the operating environment, airports can be classified into Category I airports (e.g., Dalian Airport, Dali Airport, Panzhihua Airport, etc.), Category IIA airports, Category IIB airports, and Category III airports, with the difficulty of flight operations decreasing in that order.

[0049] Table 5

[0050] As a non-restrictive illustrative example, considering the different levels of fatigue caused by the time difference between the landing airport and the departure airport, different levels of fatigue can be determined based on the time difference of the destination airport according to Table 6 below.

[0051] Table 6

[0052] As a non-limiting illustrative example, considering that different delay durations result in different levels of fatigue, different levels of fatigue can be determined based on delay time according to Table 7 below.

[0053] Table 7

[0054] As a non-restrictive illustrative example, considering the varying degrees of fatigue caused by different training tasks, the fatigue levels of different training tasks can be determined based on simulator training and flight training scenarios, as shown in Table 8 below. The SPIC (Supervised Pilot in Command) stage refers to the process by which a first officer, under the supervision of an instructor, performs captain duties as a trainee captain during the final training phase before being promoted to captain.

[0055] Table 8

[0056] As a non-restrictive illustrative example, considering the different levels of fatigue caused by different administrative tasks, the fatigue level can be determined based on situations such as working on public holidays, according to Table 9 below.

[0057] Table 9

[0058] As a non-limiting illustrative example, considering that different rest states can alleviate fatigue to varying degrees, the fatigue level of different rest states can be determined based on factors such as the location of rest or recuperation, according to Table 10 below.

[0059] Table 10

[0060] Furthermore, the factors affecting fatigue can be adjusted based on the actual operation of the unit, the type of personnel, and the results of safety analysis to adapt to different situations and operational phases, and to meet business objectives and needs. For example, factors affecting fatigue can be increased or decreased, or specific scenarios within these factors can be adjusted. Additionally, different fatigue values ​​can be assigned to specific scenarios.

[0061] It should be understood that fatigue can be calculated in various ways based on the factors affecting fatigue, and this article does not impose any particular restrictions on the specific calculation method. For example, the fatigue values ​​determined based on the factors affecting fatigue can be summed. Alternatively, weights can be assigned to the factors affecting fatigue, thereby weighted summing of the determined fatigue values.

[0062] In some embodiments, fatigue levels can be calculated dynamically. For example, if the flight assignments allocated to the crew change during crew scheduling or adjustments, the real-time fatigue levels of the crew members can be dynamically updated based on the changed flight assignment information and crew member information.

[0063] In step S106, an integer programming model is constructed by setting constraints and an objective function, wherein the objective function includes the cost of crew members performing flight tasks, and the cost of crew members performing flight tasks includes fatigue balancing costs.

[0064] In this document, when describing integer programming models, the same or similar characters can be used to represent the same or similar variables. Therefore, once a variable is defined in one embodiment, it does not need to be described again in subsequent embodiments.

[0065] For example, a first constraint can be set, requiring that the number of crew members assigned to each task loop does not exceed the number of crew members required for that task loop. This constraint limits the allocation coverage constraint on task loops from the perspective of the number of crew members in each task loop. Generally speaking, the number of crew members assigned to a task loop should, as far as possible, meet its required number of crew members.

[0066] In some embodiments, the first constraint may be set as follows: Requirements must be met Where P represents the set of task cycles, I p R represents the assembly of crew members who can be assigned to mission loop p. ip This represents the set of task strings containing task loop p that can be executed by crew member i. y p N represents the number of crew members missing in mission loop p. p This indicates the number of crew members required for mission loop p.

[0067] I p For example, it could be a set of crew members who can be assigned to mission loop p, selected based on crew member information, mission loop p information, crew member attendance and occupancy information, and various regulations of the airline and the regulatory authority.

[0068] By introducing information about y into the objective function pThe cost can be minimized to avoid the task loop failing due to insufficient crew members assigned to it. Furthermore, y p The introduction of this approach can improve the tolerance of the model solution, thereby helping to improve solution efficiency. For task loop p (i.e., y) that is shown as having insufficient crew in the solution results... p (Greater than 0), which can be adjusted manually later. If the shortage of crew members is considered unacceptable, or if it is desired to reduce the workload of subsequent manual intervention, y can be omitted. p Therefore, it is possible to Requirements must be met This can improve the direct usability of the solution results, and in a sense, improve the automation of scheduling or reduce the need for manual intervention later.

[0069] In some embodiments, the first constraint may also be set to... Requirements must be met This implies that the crew shortage is considered relatively acceptable, and that the variable y does not need to be defined. p .

[0070] Additionally, the first constraint can also be set to... Requirements must be met , where y′ p This represents the number of redundant crew members in task loop p. This is achieved by introducing information about y′ into the objective function. p The cost can be minimized to avoid over-allocating crew members to the task loop, thus preventing the waste of crew resources.

[0071] For example, a second constraint can be set, requiring each crew member to execute at most one task string. Generally, a crew member can only execute one task string at a time, and not multiple task strings, to avoid assigning other task strings to a crew member who has already been assigned to execute a certain task string, which would prevent the assigned task string from being completed.

[0072] In some embodiments, the second constraint may be set as follows: Requirements must be met Where I represents the set of crew members, R i This represents the set of task strings that crew member i can execute.

[0073] R i For example, it could be a set of executable task strings for crew members, filtered based on crew member information, crew member attendance and occupancy information, flight mission information, and various regulations of the airline and the regulatory authority.

[0074] For crew members shown in the solution results as not having been assigned any task sequences, they can be reassigned manually later. If it is deemed unacceptable that crew members have not been assigned any task sequences, or if it is desirable to reduce the workload of subsequent manual intervention, this can also be done by... This can improve the direct usability of the solution results, and in a sense, improve the automation of scheduling or reduce the need for manual intervention later.

[0075] From the perspective of an integer programming model, the first constraint limits the crew's allocation coverage relative to the task cycle, while the second constraint limits the crew's allocation coverage relative to the task string. It is understandable that additional constraints can be imposed based on the desired scheduling effect.

[0076] Regarding the objective function of the integer programming model, it can be set according to any desired business objective. By directly mapping business requirements to the setting of the objective function, the solution results can be made more consistent with the actual business situation. For example, business objectives may include optimizing crew scheduling (such as achieving balanced crew scheduling), so the cost of crew members performing flight missions can be included in the objective function. Furthermore, business objectives may include promoting balanced crew scheduling based on fatigue levels, so the cost of crew members performing flight missions may include fatigue balancing costs, and these fatigue balancing costs increase as the degree of unevenness in crew fatigue increases.

[0077] Furthermore, in some embodiments, the business objective may include the achievement of flight missions, so the objective function may also include, for example, the cost of a mission loop not being fully booked with crew members, thereby enabling the objective function to balance the balanced scheduling of crew members and the completion of flight missions.

[0078] In some examples, the cost of an unfilled crew loop can be determined based on base costs and the complexity of the flight mission. Furthermore, in some examples, the cost of an unfilled crew loop can increase as the difference between the number of crew members required for that loop and the number of crew members assigned to that loop increases. This increase can be linear or non-linear.

[0079] It should be understood that the "cost" in the objective function can also be understood as the "penalty" in the mathematical model of planning and solving. It can be an additional cost imposed on undesirable situations (such as violating soft constraints, deviating from the goal, or imbalance) in the objective function, in order to guide the optimal solution to adjust towards a better behavior.

[0080] In some embodiments, the objective function can be set to Where P represents the set of task cycles, and c pC represents the cost factor for task loop p not being fully staffed with crew members. ir Let represent the cost of crew member i performing task string r. The min function is used to find the minimum value. Furthermore, C... ir Including C if C if This represents the fatigue leveling cost for crew member i performing task string r. In other words, the term in the objective function... This can correspond to the cost of a task loop not being fully staffed with crew members; the term in the objective function... This can correspond to the cost of crew members performing flight duties.

[0081] In some embodiments, an evaluation window W can be defined, wherein the evaluation window W can indicate the time range for calculating fatigue. The duration of the evaluation window W can be determined based on, for example, the shift schedule, the desired time range for evaluating fatigue, etc., and is typically greater than one day, such as 14 days or 30 days. For ease of description, an evaluation window W with a duration of one month (e.g., calculated as 30 days) is given as a non-limiting example. For example, in the case of a one-month shift schedule for crew members, the last day T of the shift schedule can be used as the endpoint, and an evaluation window W=[T-29,T] can be constructed so that the evaluation window W fully covers all tasks of this shift. It should be understood that evaluation windows W with other time ranges can also be constructed as needed.

[0082] In some embodiments, to facilitate comparison between the overall fatigue level of the crew members to be scheduled and the fatigue level of individual crew members, for crew member i, F can be used. i F represents its total fatigue level within the evaluation window W. i This system reflects the fatigue levels of crew members already experienced, those already assigned to specific shifts, and those newly scheduled. Experienced fatigue includes accumulated fatigue from completed flight duties, training assignments, and / or rest periods. Already assigned fatigue includes the fatigue expected from flight duties, training assignments, and / or rest periods already secured (locked and unchangeable) within the scheduling cycle, representing the unchangeable workload within the current scheduling window. Newly scheduled fatigue includes the fatigue expected from newly assigned flight duties, training assignments, and / or rest periods in this scheduling period. Additionally, for crew members awaiting scheduling, [the system can be used to...]. This represents the expected average total fatigue level within the evaluation window W. By selecting different crew members awaiting scheduling, the fatigue levels of different groups can be balanced, thus facilitating flexible adjustments based on different scheduling objectives. For example, the crew members awaiting scheduling can be all crew members awaiting scheduling, or personnel divided according to job level or qualifications. Calculation For example, known parameters such as the existing fatigue levels of crew members awaiting scheduling can be used to estimate and calculate their expected average total fatigue level within the evaluation window W. Furthermore, it is possible to use... This indicates the fatigue balance deviation of crew member i within the evaluation window W. If Δ i If the value is greater than 0, then crew member i is considered to have a higher fatigue level than the group's expected level, and a high penalty is imposed. Therefore, the fatigue equilibrium cost C can be... if Set in In the case of It is positively correlated, that is, C if The fatigue level increases with the degree of unevenness among crew members, and this increase can be linear or nonlinear. This setting helps the integer programming model, when solving the problem, to prioritize assigning low-load tasks or appropriately extending the rest time for crew members with higher fatigue levels, thereby reducing the difference in fatigue levels among crew members and promoting dynamic and fair fatigue load balancing.

[0083] In some embodiments, the fatigue leveling cost C can be... if Set as Where α represents the penalty coefficient, α>1, c f This represents the fatigue equilibrium cost coefficient. If Δ i If Δ is less than or equal to 0, then crew member i's fatigue level is considered lower than the group's expected level, meaning crew member i has spare capacity and can fly more without penalty. If Δ i A penalty coefficient greater than 0, or greater than 1, can increase the degree of uneven fatigue among crew members in the randomized group, accelerating its rise. This results in crew member i's fatigue level deviating significantly from the expected group level based on historical trends after being assigned tasks, leading to a higher penalty. The fatigue balancing cost coefficient c... f It can affect the fatigue equilibrium cost C if The weight in the objective function. For example, the cost C of executing task string r. ir When there are multiple costs reflecting different expected business objectives, the fatigue leveling cost coefficient c is adjusted. f The fatigue equilibrium cost C can be adjusted. if The cost C for executing task string r ir The weights and proportions in the calculation. Furthermore, the penalty coefficient α and the fatigue equilibrium cost coefficient c... f It can be continuously optimized based on actual operational data and security analysis results to adapt to business objectives and needs in different situations and different operational stages.

[0084] In some embodiments, , , = +D ,in, This indicates the determined fatigue level of crew member i within the assessment window W, i.e. This includes the fatigue level already experienced by the crew and the fatigue level already occupied. This indicates the fatigue level assigned to crew member i within the assessment window W during this shift scheduling, i.e. This includes the fatigue level of the newly scheduled crew members. (Historical days) This represents the number of days that flight missions have occurred within the evaluation window W. The non-historical days D represents the number of days in the current schedule within the evaluation window W. For each crew member i, their non-historical days D can be determined based on the actual situation; the non-historical days D can be different for different crew members. For example, D can be the total number of days in the evaluation window W plus... The difference can be calculated by subtracting the number of days the crew member i was unable to attend, for example, from the number of days the crew member i was unable to attend. In a specific example, for the first day t of the scheduled shift within the evaluation window W=[T-29,T], the evaluation window W can be divided into W1=[T-29,t-1] and W2=[t,T]. Since all flight missions before t have already occurred, the number of days in window W1 corresponds to the historical number of days. The number of days in window W2 corresponds to the number of non-historical days D. This indicates the average total fatigue level per person for crew members awaiting scheduling within the assessment window W. This indicates the average daily total fatigue level per person for crew members awaiting scheduling within the assessment window W.

[0085] Since the tasks to be scheduled are themselves variables, if the equilibrium objective is directly incorporated into the global objective function, the optimization problem will typically involve multiple coupled variables such as task allocation, personnel load, and equilibrium constraints. This will significantly increase the problem size, solution complexity, and computational cost, resulting in low actual solution efficiency. This disclosure can quantitatively determine F. i and This allows for the quantitative determination of the fatigue equilibrium deviation Δ. i This simplifies the setting of the objective function, transforming the complex global equilibrium problem into a local adjustment problem around the objective. As a result, the model structure is clearer, there are fewer constraints, the solution process is more direct, the computational complexity is lower, and it is easier to solve, making it suitable for rapid operation in actual scheduling and resource allocation scenarios.

[0086] It is understood that the above are merely exemplary and not exhaustive, and those skilled in the art can configure the objective function based on actual needs and many other factors. For example, all these factors can be comprehensively considered on a crew-by-crew, job-by-position, task-by-task cycle, and task-by-task sequence basis to specifically set the cost for each crew member to perform each flight task, thereby making the solution more reasonable.

[0087] In step S108, the obtained flight mission information and crew information are used to solve the integer programming model and the crew schedule is arranged according to the solution results.

[0088] After constructing the integer programming model, the obtained flight mission information and crew information can be used to solve the integer programming model, and the crew scheduling can be based on the solution results. For example, solving the integer programming model can solve for each x. ir The value of is either 1 or 0, which determines the correspondence between each task string r and each crew member i, and based on this, the crew member scheduling scheme can be obtained.

[0089] This paper does not impose any specific restrictions on the solution methods for integer programming models. It is understood that any suitable solution method for integer programming models, whether currently known or developed in the future, can be applied here. For example, the most commonly used solution methods currently include enumeration, cutting plane methods, branch and bound methods, graph theory methods, and binary exploitation methods. Furthermore, the integer programming model constructed in this paper can be input into any suitable solver for integer programming models, whether currently known or developed in the future. The solver will intelligently select the most suitable algorithm for the model and provide the optimal or feasible solution. Solvers typically integrate most of the top-tier algorithm packages currently available, and they contain many internal techniques to accelerate the solution process, often showing good results for general integer programming problems. For example, commercial solvers include Gurobi, COPT, SCIP / spx, and Matlab, while open-source solvers include CBC, GLPK, and LP_SOLVE.

[0090] Therefore, Method 100 can be used for crew scheduling. Method 100 defines and assigns values ​​to variables in an integer programming model based on the acquired flight mission information and crew information. It sets constraints on the integer programming model according to various flight regulations and business objectives, and sets an objective function for the model with various desired scheduling effects as targets. Crew scheduling can be performed by solving the constructed integer programming model. On one hand, compared to manual scheduling methods, it significantly improves efficiency and accuracy, and the scheduling results are stable, highly interpretable, and easy to implement, review, and adjust. On the other hand, compared to scheduling methods in related technologies, it significantly improves personalization and flexibility, making the scheduling results closer to practically executable solutions and meeting various regulations, needs, and expectations of regulatory authorities, airlines, and crew members. For example, it can flexibly schedule based on the fatigue level of crew members performing flight missions, especially considering the degree of fatigue balance among different crew members, thereby improving the fairness of the scheduling scheme in terms of fatigue and the safety of flight operations.

[0091] This disclosure also provides, in another aspect, a device for scheduling crew members. (Reference) Figure 2 The diagram illustrates a schematic block diagram of a crew scheduling device 200 (hereinafter referred to as "device 200") according to some embodiments of the present disclosure. Figure 2 As shown, the apparatus 200 includes an acquisition module 202, a construction module 204, and a scheduling module 206. It is understood that the actual apparatus may include other components, but to avoid obscuring the essential points of this disclosure, they are not discussed herein and are not shown in the accompanying drawings.

[0092] The acquisition module 202 can be configured to acquire flight mission information and crew information. The flight mission information includes mission loops obtained by combining serializable flight missions and mission strings obtained by combining serializable mission loops. The crew information includes the flight missions executed by each crew member and their executable mission strings, as well as the factors affecting the fatigue level of each crew member.

[0093] Module 204 can be configured to construct an integer programming model through constraints and an objective function. Specifically, module 204 can be configured to set a first constraint requiring that the number of crew members assigned to each task loop does not exceed the required number of crew members for that task loop. Module 204 can also be configured to set a second constraint requiring that each crew member execute at most one task sequence. Module 204 can also be configured to set an objective function, which includes the cost of crew members performing flight tasks, including fatigue leveling costs, which increase as the degree of fatigue imbalance among crew members increases.

[0094] The scheduling module 206 can be configured to solve an integer programming model using the acquired flight mission information and crew information, and schedule crew members based on the solution results.

[0095] Various embodiments of the apparatus 200 are similar to the various embodiments of the aforementioned method 100, and therefore can be referred to the foregoing description of the various embodiments of the method 100, which will not be repeated here.

[0096] This disclosure also provides an electronic device that may include a processor and a memory storing computer-executable instructions, which, when executed by the processor, cause the processor to perform a method for scheduling crew members according to any of the foregoing embodiments of this disclosure.

[0097] refer to Figure 3 This illustrates a schematic block diagram of an electronic device 300 according to some embodiments of the present disclosure. Figure 3 As shown, the electronic device includes a processor 302 and a memory 304 storing computer-executable instructions that, when executed by the processor 302, cause the processor 302 to perform the method 100 according to any of the foregoing embodiments. The processor 302 may be, for example, a central processing unit (CPU) of the electronic device 300. The processor 302 may be any type of general-purpose processor, or it may be a processor specifically designed for crew scheduling, such as an application-specific integrated circuit (“ASIC”). The memory 304 may be coupled to the processor 302 and may include various computer-readable media accessible by the processor 302. In various embodiments, the memory 304 described herein may include volatile and non-volatile media, removable and non-removable media. For example, the memory 304 may include any combination of: random access memory (“RAM”), dynamic RAM (“DRAM”), static RAM (“SRAM”), read-only memory (“ROM”), flash memory, cache memory, and / or any other type of non-transitory computer-readable media. The memory 304 may store instructions that, when executed by the processor 302, cause the processor 302 to execute the method 100 according to any of the foregoing embodiments of the present disclosure.

[0098] The electronic device 300 is configured to perform the method 100 described in any of the foregoing embodiments, and therefore reference can be made to the description of the various embodiments of method 100 above, which will not be repeated here.

[0099] This disclosure also provides a computer-readable storage medium having computer-executable instructions stored thereon, which, when executed by a processor, cause the processor to perform a method for scheduling crew members according to any of the foregoing embodiments of this disclosure.

[0100] This disclosure also provides a computer program product that may include instructions that, when executed by a processor, implement the method for scheduling crew members according to any of the foregoing embodiments of this disclosure. The instructions may be any set of instructions that can be executed directly by one or more processors, such as machine code, or any set of instructions that can be executed indirectly, such as a script. The instructions may be stored in an object code format for direct processing by one or more processors, or stored in any other computer language, including scripts or sets of independent source code modules that are interpreted on demand or compiled in advance.

[0101] Figure 4A schematic block diagram of a computer system 400 on which embodiments of the present disclosure may be implemented is shown. The computer system 400 includes a bus 402 or other communication mechanism for transmitting information, and a processing means 404 coupled to the bus 402 for processing information. The computer system 400 also includes a memory 406 coupled to the bus 402 for storing instructions to be executed by the processing means 404; the memory 406 may be random access memory (RAM) or other dynamic storage device. The memory 406 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processing means 404. The computer system 400 also includes a read-only memory (ROM) 408 or other static storage device coupled to the bus 402 for storing static information and instructions for the processing means 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to the bus 402 for storing information and instructions. Computer system 400 may be coupled via bus 402 to output device 412 for providing output to a user, such as, but not limited to, a display (such as a cathode ray tube (CRT) or liquid crystal display (LCD)), speakers, etc. Input device 414, such as a keyboard, mouse, microphone, etc., is coupled to bus 402 for transmitting information and command selections to processing device 404. Computer system 400 may perform embodiments of this disclosure. Consistent with certain implementations of this disclosure, results are provided by computer system 400 in response to processing device 404 executing one or more sequences of one or more instructions contained in memory 406. Such instructions may be read into memory 406 from another computer-readable medium, such as storage device 410. Execution of the sequence of instructions contained in memory 406 causes processing device 404 to perform the methods described herein. Alternatively, the teachings may be implemented using hardwired circuitry in place of or in combination with software instructions. Therefore, implementations of this disclosure are not limited to any particular combination of hardware circuitry and software. In various embodiments, computer system 400 may be connected across a network to one or more other computer systems, such as computer system 400, via network interface 416 to form a networked system. This network may include a private network or a public network such as the Internet. In a networked system, one or more computer systems may store data and supply data to other computer systems. As used herein, the term "computer-readable medium" refers to any medium that participates in providing instructions to processing device 404 for execution. Such media may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical discs or magnetic disks such as storage device 410. Volatile media include dynamic memory such as memory 406. Transmission media include coaxial cables, copper wires, and optical fibers, including wiring that includes bus 402.Common forms of computer-readable media or computer program products include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, or any other magnetic media, CD-ROMs, digital video discs (DVDs), Blu-ray discs, any other optical media, thumb drives, memory cards, RAM, PROMs and EPROMs, fast EPROMs, any other memory chips or cartridges, or any other tangible media from which a computer can read. Various forms of computer-readable media may be involved when carrying one or more sequences of one or more instructions to processing device 404 for execution. For example, instructions may initially be carried on a disk of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit the instructions over a telephone line using a modem. A modem local to computer system 400 may receive data over a telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 402 may receive the data carried in the infrared signal and place the data on bus 402. Bus 402 carries the data to memory 406, from which processing device 404 retrieves and executes the instructions. Optionally, the instructions received by the memory 406 may be stored on the storage device 410 before or after execution by the processing device 404.

[0102] According to various embodiments, instructions configured to be executed by a processing device to perform a method are stored on a computer-readable medium. The computer-readable medium may be a device for storing digital information. For example, a computer-readable medium includes a compact disc read-only memory (CD-ROM) as known in the art for storing software. The computer-readable medium is accessed by a processor adapted to execute the instructions configured to be executed.

[0103] The foregoing has described one or more exemplary embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0104] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. A typical implementation device is a server system. Of course, this disclosure does not exclude the possibility that, with the future development of computer technology, the computer implementing the functions of the above embodiments can be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.

[0105] While one or more embodiments of this disclosure provide the method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only execution order. In actual device or terminal product execution, the methods shown in the embodiments or drawings can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment).

[0106] The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitation, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded. For example, the use of terms such as "first" or "second" to denote names does not indicate any particular order.

[0107] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, when implementing one or more embodiments of this disclosure, the functions of each module can be implemented in one or more software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0108] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0109] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more blocks of a block diagram.

[0110] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of a block diagram.

[0111] Those skilled in the art will understand that one or more embodiments of this disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this disclosure may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0112] One or more embodiments of this disclosure can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this disclosure can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules can reside in local and remote computer storage media, including storage devices.

[0113] The same or similar parts between the various embodiments of this disclosure can be referred to mutually, and each embodiment focuses on describing the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments. In the description of this disclosure, the descriptions of terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., mean that the specific feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of this disclosure. In this disclosure, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this disclosure and the features of the different embodiments or examples.

[0114] Additionally, when used in this disclosure, the terms “here,” “above,” “below,” “below,” “in the following,” “overall,” and similar terms should refer to the entirety of this disclosure and not any particular part thereof. Furthermore, unless expressly stated otherwise or otherwise understood in the context in which they are used, conditional language used herein, such as “may,” “possibly,” “for example,” “like,” etc., is generally intended to express that certain embodiments include, while other embodiments do not, certain features, elements, and / or states. Therefore, such conditional language is not generally intended to imply that one or more embodiments require features, elements, and / or states in any way, or whether such features, elements, and / or states are included or performed in any particular embodiment.

Claims

1. A method for scheduling crew members, comprising: obtaining flight task information, the flight task information comprising task loops obtained by combining serializable flight tasks and task strings obtained by combining serializable task loops; obtaining crew member information, the crew member information comprising executed flight tasks and executable task strings of each crew member, and factors affecting fatigue of each crew member; constructing an integer programming model by: setting constraints, comprising: setting a first constraint, the first constraint requiring, for each task loop, a number of crew members scheduled to the task loop to be no more than a number of crew members required by the task loop, setting a second constraint, the second constraint requiring, for each crew member, at most one task string to be executed, and setting an objective function, wherein the objective function comprises a cost of crew members executing flight tasks, the cost of crew members executing flight tasks comprising a fatigue balance cost, and the fatigue balance cost increasing with an increase in a degree of fatigue imbalance of the crew members; and solving the integer programming model using the obtained flight task information and crew member information and scheduling the crew members according to a result of the solving.

2. The method of claim 1, wherein, the objective function further comprises a cost of a task loop not being fully scheduled with crew members.

3. The method of claim 2, the objective function is set as , wherein, P represents a set of task loops, c p a cost coefficient representing the cost of not having the crew member assigned to the task loop p, y p represents the number of crew members missing from the task loop p, I represents a set of crew members, R i denotes the set of strings of tasks that can be performed by crew member i, C ir denotes the cost of crew member i performing task string r, and C ir includes C if , C if denotes the fatigue balancing cost of crew member i performing task string r, , the min function is used to find a minimum value. 4.The method of claim 3, further comprising: determining an evaluation window W, wherein the evaluation window W is configured to indicate a time range for calculating fatigue, and C if is set to be positively correlated with in the case of​ wherein, Δ i represents the fatigue equalization deviation of the crew member i within the evaluation window W, , F i F represents the total fatigue of the crew member i within the evaluation window W, represents the expected average total fatigue of the crew members to be scheduled within the assessment window W.

5. The method of claim 4, wherein, , wherein, α represents a penalty coefficient, α > 1, c f represents a fatigue degree equalization cost coefficient. 6.The method of claim 4 or 5, wherein, , , = +D , wherein, Fi represents the determined fatigue of the crew member i within the evaluation window W, represents the fatigue assigned to crew member i in the current shift within the evaluation window W, represents the total fatigue per person per day that has occurred for the crew members to be scheduled within the assessment window W, represents the total fatigue per person that has occurred for the crew members to be scheduled within the assessment window W, denotes the number of days within the evaluation window W in which a flight mission has occurred, D represents a number of days of the current scheduling within the evaluation window W. 7.The method of claim 1, comprising at least one of: The first constraint is set to be true for satisfied , or The second constraint is set to be satisfied for is required to satisfy , wherein, P represents a set of task loops, I p denotes the set of crew members assignable to the task ring p, R ip denotes the set of task strings containing the task ring p executable by the crew member i, , y p represents the number of crew members missing from the task loop p, N p represents the number of crew members required for the mission loop p, I represents a set of crew members, R i denotes the set of strings of tasks that can be performed by crew member i.

8. The method of claim 1, further comprising: calculating fatigue according to factors affecting fatigue, wherein the factors affecting fatigue comprise at least one of: a flight leg, a flight time, a number of duty days, a duty time period, a type of takeoff and landing airport, a time difference of a landing airport relative to a takeoff airport, a delay time length, a training task state, a management task state, and a rest state. 9.An apparatus for scheduling crew members, comprising: an obtaining module configured to: obtain flight task information, the flight task information comprising task loops obtained by combining serializable flight tasks and task strings obtained by combining serializable task loops, obtain crew member information, the crew member information comprising executed flight tasks and executable task strings of each crew member, and factors affecting fatigue of each crew member; a constructing module configured to construct an integer programming model by: setting constraints, comprising: setting a first constraint, the first constraint requiring, for each task loop, a number of crew members scheduled to the task loop to be no more than a number of crew members required by the task loop, setting a second constraint, the second constraint requiring, for each crew member, at most one task string to be executed, and setting an objective function, wherein the objective function comprises a cost of the crew members performing the flight tasks, the cost of the crew members performing the flight tasks comprises a fatigue balance cost, and the fatigue balance cost increases as a degree of fatigue imbalance of the crew members increases; and a scheduling module configured to solve the integer programming model using the obtained flight task information and crew member information and schedule the crew members according to a solution of the solving. 10.An electronic device, comprising: a processor; a memory storing computer-executable instructions that, when executed by the processor, cause the processor to perform the method for scheduling crew members according to any one of claims 1 to 8. 11.A computer-readable storage medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processor to perform the method for scheduling crew members according to any one of claims 1 to 8. 12.A computer program product comprising instructions that, when executed by a processor, implement the method for scheduling crew members according to any one of claims 1 to 8.