TPAC Rostering Optimiser


Overview

The TPAC Rostering Optimiser is a component that automatically creates staff rosters given the work to be rostered, the available staff, their bids or preferences, and applicable rules.

TPAC Rostering Optimiser utilizes advanced constraint programming and optimization techniques in order to produce rosters that maximize objectives such as cost effectiveness and fairness while satisfying statutory, crew and company rules. Rules and penalties for undesirable solutions are described using the TPAC Rules rule management system.

TPAC Rostering Optimiser can be used both during the planning phase to generate rosters from scratch, and during the crew operations phase to perform crew reallocation, ie. dynamically reallocate existing or new activities in response to operational changes.

TPAC Rostering Optimiser is a back-end component with a well-defined interface, and can readily be integrated into larger crew planning, tracking or management systems.

What is Staff Rostering?

Rostering is the process of allocating work (activities) to particular people, the result of which is a staff roster. Typically, the activities to be allocated include crew pairings, leave and training.

The rostering process may be influenced by any preferences for activities or types of activities expressed by individual staff members, or by strict orderings like staff seniority.

The key challenges in generating crew rosters are:

  • To produce legal solutions

  • To ensure that the rosters cover as many of the activities as possible

  • To produce quality solutions in terms of the specified objective

  • To be scalable with problem size

  • To produce solutions quickly

Systems can be characterized by their input, output, and what processing they perform. TPAC Rostering Optimiser can be described as such:

Input
  • The set of activities to be allocated and the skills required for those activities (eg. rank, qualifications)

  • The set of staff available to do work, as well as their skills, base, history, bids and preferences

  • Existing allocations for the set of staff, if any

  • Legality and penalty rules to constrain the solution

  • Costs, eg. overtime costs, penalties, penalties for unfair allocations

  • Run parameters, as entered by the user of the system

  • Optionally a set of trip activities to be crewed, and skill limits for each, eg. maximum number of inexperienced crew for each leg

Processing
  • Activities are allocated to staff

Output
  • A staff roster, which contains roster lines for each staff member

References

The following documents may also be of interest:

Document Description
Crewing Rules Overview A description of how crewing rules are specified for use by products such as TPAC Pairing Optimiser and TPAC Rostering Optimiser.
Crewing Rule Repository Template A Common Rules repository set up in the form required for crewing, containing example rule implementations that can be customized for a particular client.
TPAC Pairing Optimiser Description An overview of the TPAC Pairing Optimiser component.
Common Rules Editor User Guide User guide for the editor that is used to specify rules. The guide includes an introduction to Common Rules.

Features

TPAC Rostering Optimiser provides:

  • Allocation of activities

    • Pairings

    • Training

    • Courses

    • Ground duty

    • Leave

    • Days Off

    • Standby/Reserve duty

  • Tunable objectives, allowing solutions to trade off between

    • Fairness

    • Cost

  • Bidding

    • Bids can be awarded in seniority order, or any other order as determined by rules

    • Bids can be considered as preferences

    • Bids can be for particular activities or for groups of activities

    • Bids can be nominated with a specific order of desirability

  • Staff preferences

    • Can be used to determine fairness or to modify legality rules based on individual preferences

  • Staff member specific constraints

    • Buddy, to describe that crew members should be allocated to the same work periodically

    • No-fly, to describe crew members who shouldn't work together

    • Team Rostering, to generate a tailored individual roster as a member of a Team

  • Staff skills, specified for each staff member

    • Rank, qualifications, appointments

    • Language skills and proficiency

    • Crew base, including change-of-base during the roster period

    • Rule-driven skill rejuvenation

    • Nationality-based landing restrictions

  • Consideration of crew history

    • History expressible in terms of various periods, eg. days, weeks, calendar months

    • Configurable attributes for each period, eg. total duty time for the period, period classification, etc.

  • Crew roster line rules

    • Legality of allocation of activities to particular crew members

    • Legality of allocating combinations and sequences of activities to particular crew members

    • Consideration of crew skills, recency, history

    • Penalties for undesirable allocations

    • Roster line limits, eg. maximum flying hours in roster period

  • Trip Activity based rules

    • Skill requirements for the work underlying the activities, eg. minimum language skills for a given flight leg, or maximum number of inexperienced cabin crew per flight leg

    • Buddy, no-fly, and team constraints and penalties

  • Reallocation capability, in addition to allocation

    • Choice-driven reallocation. TPAC Rostering Optimiser can consider requests by crew to change their roster. Requests may either be to release allocated activities and/or bid for additional activities

  • Configurable legality and penalty rules

    • New types of rules can be added with no code change

    • Accountability for rule changes

    • What-if scenario modelling for rule changes

    See the Crewing Rules Overview document for further information.

  • Scalability

    • Capable of handling large (tier-one airline) rostering problems

    • Capable of handling multi-base, multi-fleet, and multi-crew type problems

  • Reporting tools to summarise solutions

    • Costs, descriptions and other items used within reports are defined using the TPAC Rules rule management system.

  • Run management capability, to start, stop and keep track of runs

Rule Specification

The TPAC Rostering Optimiser system allows rules to be specified using the TPAC Rules rule management system.

How It Works

Modes of operation

The optimiser solves different kinds of problems using different approaches, in order to take advantage of problem-specific techniques and optimizations. The approaches are encapsulated as modes of operation, each of which describes which solvers (described below) to apply in which order. Modes are configurable, and can be tailored to different business processes Examples of common TPAC Rostering Optimiser modes include:

  • Fair Share

    The Fair Share mode is used either when it is desirable to allocate activities fairly between crew members, or when a lowest-cost solution is sought in the case where there is no requirement for strict sequential allocation.

    The definition of fairness is configurable, as it is specified using rules. Any combination of properties of activities can be used in the calculation of fairness. As an example, a set of allocations might be considered fair if each crew member is allocated a similar number of duty hours and a similar number of early morning starts. The trade-off between solution cost and fairness is configurable.

  • Sequential Allocation and Deallocation

    The sequential allocation mode is used where some crew members are to be given preference over others. A typical example is where the crew bid for activities, and bids are to be awarded in order of seniority.

  • Choice-driven reallocation

    This mode is used to support business processes that have produce an initial roster, then allow crew members to express preferences to take on extra activities and to drop activities allocated to them.

    In this mode, the optimiser assesses each of these expressed preferences and attempts to satisfy as many of the preferences as possible, subject to the given objectives and legality constraints.

Solvers

The optimiser contains a number of separate solvers that can be combined in various ways to solve rostering problems. A mode definition (described above) essentially describes a list of solvers to apply, and in what order. The available solvers include:

  • Heuristic allocation solver

    This solver is used to produce an initial solution that is legal but likely to be sub-optimal. The initial solution is used as input to other solvers that then refine the solution. The choice of heuristic algorithm is specified using rules.

    This solver is used for modes that perform rostering from scratch, as it is not applicable for reallocation modes.

  • Choice-based sequential solver

    The choice-based sequential solver is used to allocate activities according to crew choices (preferences and bids), where choices are to be processed in strict sequential order. This solver uses Operations Research techniques (mixed integer programming) to select optimal results for each roster line subject to the specified rules.

  • Skill vacancy optimization solver

    The skill vacancy optimization solver is used in improvement stages, that is, it begins with a solution produced during an earlier stage and improves it while maintaining solution legality.

    Linear and Mixed Integer Programming techniques are applied as well as custom heuristics, allowing this solver both to produce quality solutions and to handle large data sets. The solver also considers optimizations and goals achieved during earlier stages to ensure that the quality of the solution does not regress in one dimension while improving in another.

    This solver is used for all modes.

  • Fair share optimization solver

    The fair share optimization solver is employed when fairness of allocations is one of the given objectives. It is used in improvement stages, that is, it begins with a solution produced during an earlier stage and improves its fairness while maintaining solution legality and other costs. It also considers optimizations and goals achieved during earlier stages to ensure that the quality of the solution does not regress in one dimension while improving in another.

    The solver repeatedly selects sub-problems from the larger problem, guided by the disparity in fairness. For each sub-problem, techniques from Operations Research such as Quadratic Programming are applied to resolve the disparity.

    This solver is used for the fair share mode only.

Glossary of Terms

Activity

A block of work that can be allocated to a crew member (or to multiple crew members). The key property of an activity is that it starts and ends in the same location, so that it can be allocated to staff based in that location without recombination.

Crew base

The place that a given crew will start Activities from and return to.

This may be different to the start and end locations of the Duty Activities in the Activity, but will normally be accessible using ground transport. For example, a London base might be used to crew Duty Activities starting at Heathrow, Gatwick and Stanstead airports.

Crew skill

Any particular detail about a Crew Member that is relevant to the legality of an allocation of an Activity. This may be the Crew Base that the crew member is located at, which Fleet(s) the crew member is qualified to operate, whether the Crew Member has any language qualifications, or any other information about the Crew Member that the Airline needs to use when creating the Crew Member's roster.

Duty

An ordered sequence of Duty Activities that don't contain any layovers.

Duty Activity

A general term describing a unit of work that is part of a duty, plus some information describing who is required and what role they have for that work.

Examples of Duty Activities include:

  • A leg, with a particular crew complement and a specification of whether the work is in a deadheading/paxing or an operating capacity.

  • A standby period, for a particular crew complement away from base.

  • Emergency procedure training conducted away from base.

Layover

A rest of some duration (as determined by rules) at a location other than the crew's base.

Leg

The fundamental unit of travel in a transport schedule where a vehicle travels from a start location to an end location. The start and end locations are normally different, but may be the same.

Paxing/deadheading

Where a crew member travels on a leg in a non-operating capacity.

Roster period

Transport companies often break time down into roster periods in order to simplify their business processes. Crew pairing and rostering are performed for whole roster periods in advance. Roster periods are typically four to eight weeks long.

Further Information

You may wish to look at the PDF version (20K PDF) of this document.