Crew scheduling

Crew scheduling is the process of assigning crews to operate transportation systems, such as rail lines or airlines.

Complex
Most transportation systems use software to manage the crew scheduling process. Crew scheduling becomes more and more complex as you add variables to the problem. These variables can be as simple as 1 location, 1 skill requirement, 1 shift of work and 1 set roster of people. In the Transportation industries, such as Rail or mainly Air Travel, these variables become very complex. In Air Travel for instance, there are numerous rules or "constraints" that are introduced. These mainly deal with legalities relating to work shifts and time, and a crew member's qualifications for working on a particular aircraft. Add numerous locations to the equation and Collective Bargaining and Federal labor laws and these become new considerations for the problem solving method. Fuel is also a major consideration as aircraft and other vehicles require a lot of costly fuel to operate. Finding the most efficient route and staffing it with properly qualified personnel is a critical financial consideration. The same applies to rail travel. Crew scheduling involves assigning complementary crews for each scheduled trip based on the timetable for the next day or a short period. In rail transportation, crew scheduling involves generating crew duties for conductors and train operators.

The problem is computationally difficult and there are competing mathematical methods of solving the problem. Although not easy to describe in one sentence, the goal is essentially the same for any method of attacking the problem: "Within a set of constraints and rules, move a set roster of people with certain qualifications, from place to place with the fewest personnel and aircraft or vehicles in the least amount of time." Lowest cost has traditionally been the major driver for any crew scheduling solution.

Four Parts
Although not a "rule", We can describe at least four parts of the equation that are ingested by the computational process:
 * People and their qualifications and abilities.
 * Aircraft or vehicles and their "People" qualification requirements and their cost to operate over distance.
 * Locations and the time and distance between each location.
 * Work rules for the personnel, including Shift hours and seniority.

In crew scheduling the rules and constraints are typically a combination of:
 * government regulations concerning flight time, duty time and required rest, designed to promote aviation safety and limit pilot fatigue,
 * crew bid requests, vacations,
 * labor agreements
 * aircraft maintenance schedules
 * crew member qualification and licensing
 * other constraints related to training
 * pairing experienced crew members with more junior crew members
 * returning crew to their base at the end of their trip (called deadheading)

The first phase in crew planning is building the crew pairings (also known as trips, rotations, among other popular descriptions). This process pairs a generic crew member with a flight so that at the end of this process all aircraft flights are covered and all trips (combination of flights starting at a crew base and returning to that crew base or co-terminal are crew legal. The next step is the allocation of those trips to the individual crewmember.

For the US, Canada and Australia, seniority generally rules. The two processes (which are completely different) are referred to as bid lines and preferential bidding. In seniority order, pilots bid for either a line of time (bidline) or trips and days off (preferential bidding. These are awarded based on seniority and modified only when their selections have already been taken by a more senior crew member (bidlines) or their trip and day off selections (preferential bidding) do not make up a complete line (hours, days off, etc. parameters agreed to by the company and the union).  The senior folks have more time off, better choice of time off and fly better trips than the junior crew members, generally speaking. In the US, this is considered fair.

For European airlines and other airlines in the rest of the world, the allocation process is completely different. The company builds the pilot schedules directly to meet their needs, not the pilot's needs. Before assigning a single trip, the schedulers put all planned absences (vacation, training, etc.) onto the crew members' schedule. Only then are trips assigned to the individual crew members. As such, fairness means that the most senior captain and the most junior captain have the same amount of duty time, block hours, night time, time away from base, layovers, expense pay, etc. in a given schedule period. Seniority is out and all work is completely homogenized. For them, anything else is unfair, undemocratic. Slowly over the last thirty years, foreign airlines using the "no seniority" rostering system have allowed some measure of seniority to creep into the allocation process from pilots who may now ask for a specific day off or trip once a quarter or make multiple requests within a schedule period. Although this may sound very much like preferential bidding, it is not. The disparity between junior and senior crew members is still very limited and thus achievement of your choices is limited.

Disruptions
Additional unplanned disruptions in schedules due to weather, maintenance, and air traffic control delays can disrupt schedules, so crew scheduling software remains an area for ongoing research.