TPACTM Rostering is part of the TPACTM suite of crew planning tools. Its objective is to create legal, workable rosters that cover all of the work to be done at minimum cost. TPACTM Rostering is very flexible and deals with complex business rules, safe working (including fatigue), workplace agreements and technical requirements. Other activities, such as training and medical checks can be included as part of the optimization.
Rostering is the process of allocation of staff to activities, where in general an activity is some work that starts and ends at the same location. In a transport application, many activities consist of a crew pairing - that is a "generic" crew operating or traveling on a series of vehicles starting and ending at the crew's base and traveling to a range of locations in between. For long haul applications, a pairing may consist of multiple duties with intervening rests at hotels. Rostering is the process of assigning an "actual" crew to perform the activities which were "paired up with" a "generic" crew (hence the name "crew pairing").
Rostering of crew pairings is often more involved than simple rostering, due to complex legislative or industrial rules which require consideration of the types of duties within crew pairings.
For example, in long haul transport applications there are often limitations specifying the minimum rest requirements in a sliding window of a week, month or even a year that can overlap several activities. Travel across time zones may require extra acclimatisation such that two activities with large time zone shifts may require extra rest between them. Industrial awards may guarantee limits in the number of activities visiting a particular location in a rostering period, and so on.
Furthermore, staff may wish to express preferences for pairings that include travel to certain locations, or duties with certain characteristics (as known as "bidding").
Rostering for transport applications thus requires knowledge of details of each crew pairing and the ability to configure rules that take these details into account. Activities that are not crew pairings must also be catered for (e.g. training, standby, leave), and thus the resulting system must handle both standard rostering requirements and the extra requirements for rostering of crew pairings.
TPACTM Rostering has been designed to handle all rostering requirements for a transport enterprise including:
Allocation can follow strict precedence (e.g. granting bids by seniority), or use fair share algorithms to allocate a fair share or weighted fair share of activities. To support this, TPACTM Rostering incorporates a number of solver stages that can be pipelined together to solve a transport enterprise's particular rostering problem:
Each optimization run incorporates a pipeline of any arrangement of solvers, with selectable rules for each pass. This allows for complex rostering requirements such as:
Manual roster allocations and deallocations may be performed at any stage to cater for special requirements such as training or leave.
The user can change rules (legal or otherwise) to produce an experimental - what if - solution such that it can be compared to the current set of rules. This is useful if the company needs to provide comment to the regulators on proposed rule changes. This can also be used when negotiating with Unions.
The TPACTM Rostering Optimizer has the following advantages:
The user interface (TPACTM Workbench) allows the user to perform a number of optimization runs each with different run parameters and to then compare the results. Multiple simultaneous runs can be performed, and run progress can be monitored in real time. Runs can be scheduled to maximize the usage of available hardware. Runs can be monitored with "live graphs" to assess the quality of a solution before the run has completed. Results from an optimization run can also be edited to create a final solution or to "warm start" another optimization run.
Our optimizers are suitable for large problems that are made up of thousands of staff. Our technology can be scaled up on multiple CPUs and/or machines through the use of threading and scheduling.