The autoassign parameter is a highly sophisticated way to control the roster build. We recommend that it only used by users that have a high understanding of the business.
Algorithms for engine
CP-SAT algorithm (The CP-SAT solver is technologically superior to the original CP solver and should be preferred in almost all situations).
Max run time of solver (min)
This option apply to OR-tools, maximize pairing coverage, maximize reference activity coverage and any fairness.
This mean that each process will take e.g. 5 min.
If you have e.g several Fainess Objectives (station fairness) it will take 5 min for each step.
If the process time is too low, it might result an error.
Day off fill in
Refernce activity to be used for Days Off.
Day off fill in is mandatory for legality purposes
Position to cover
Select the Rank you want to cover. It is only posible to run with one rank at a time.
The crew select used in Auto rostering must correspond to this selection.
Low Rank is currently not supported.
Assign Days Off
Days Off will be assigned.
Fill historical blank days with DO
If you have crew in the previous period without assigned Days OFF, and you have a constraint saying 4 daysof in 14 days, this will make the optimizer stop.
To awoid this, you should use this option
Allow crew to downrank
If the crew is allowed to be downranked (Human Resources) this option will allow downranking when the crew is included in the solution.
Attempt to distribute downranings fairly
This option will try to distribute downranked crew evenly.
It is possible to take the history days into account. Enter the number of days back that shall be calculated, and the total allowed number of down ranked legs in the loaded and historical period.
Rules that are irrelevant for the roster process should be moved the rules to the "ignored rules".
Note: Some rules, like Max BLH per month will not be checked during the optimization. To control the BLH you need to use constraints.
Constraints are use defined parameters that can control the process.
Note that constrains are considered as HARD rules, which mean that if the optimizer can't create a solution with the selected constraint, then you will get an "Infeasible solution" warning and all crew will be obmitted from the solution.
Basically there is no restriction on how many times you can use the same constraint, but be carefull that the different constraints doesn't conflicts.
When you set up the constraints, be carefull that they doesn't conflict with each other.
E.g "At least 4 days off in 28 days" will conflict with "Max 60 hours FDP in 7 days", because the crew can't fly that many hours in a month
NOTE: If you use constraints with minimum values, you should start out with 0 as minimum.
Needed if you use legality rules.
This parameter also check for Base changes in the period.
The parameter will be added as per default when you create a new template.
Note: Some max. period rules are not checked.
At least x consecutive days off in last y days
Specify number (X) of consecutive days off that shall be assigned in a period of days (Y)
At least x days off in y days
This is a rolling backwards parameter. This mean that if you want 4 days OFF in 28 days, the solver will look 28 days back for 4 days off, and then assign 4 DO in the next 28 days.
It can happen that the DO are clustered, that has to be handle
Note: The loaded crew must have assigned the corresponding number of Days OFF in the previous period, othervise you will get an error telling that crew xxx doesn't have the required DO
At least x hours extended recovery rest every y days
This parameter refer to EASA ORO.FTL.235(d).
The minimum recurrent extended recovery rest period shall be 36 hours, including 2 local nights, and in any
case the time between the end of one recurrent extended recovery rest period and the start of the next extended
recovery rest period shall not be more than 168 hours. The recurrent extended recovery rest period shall be increased
to 2 local days twice every month.
At most x days off in y days
This parameter only work together with "At least x days off in y days".
The idea with tha parameter is to spread the DO over the month. You wil probably find that option 2 give the best result.
1. You can use the “Max x DO in y days” constraint, but make sure that it is not conflicting with the “Min x days off in y days”. For example if you use “Max 1 DO in 5 days”, then the “Min x DO in 28 days” need to have a parameter x that is 5 or lower. Since “Max 1 DO in 5 days” => “Max 6 DO in 30 days”.
2. You could also try to do it the other way around (if that makes practical sense). That is, to set “Max 10 DO in 28 days” and “Min 1 DO in 5 days”. This should give you at most 10 do in 20 days, but it should spread them out over the period, since it is not allowed to have any subperiod of 5 days without a DO.
Dayoff can not follow a duty which ends at or after HH:mm
This rule control that you don't assign a day off after a duty that ends at HH:mm the day before.
Days off in 3 month
If a crew member performs 4 or more night duties, early starts or late finishes between 2 extended recovery rest periods as defined in ORO.FTL.235(d), the second extended recovery rest period is extended to 60 hours.
Early duty after day off
This option will avoid two pairings on the same day.
Pairings in the Late span are not allowed to be followed by a flight in the Early span.
Max 1 pairing assigned per day
This parameter is used to avoid Standby and flight pairings on the same day.
Max x consecutive late/early transitions
This parameter control how many late/early pairings you can have in a row.
Max x hours FDP in y days.
This actually calculates Duty. Make sure you enter a realistic value.
e.g. if the max. duty is 100 per month, you shouldn't enter 60,7
Min rest due to pre-assignment
EASA minimum rest rule. The rest needs to be at least 12h, or as long as the previous duty. This constraint should catch cases that we miss with the Legality rule. For example if 2 pairings can be combined into the same duty, then our simple legality checks won't catch min rest violations for the rest period after these 2 pairings
Min Max days off in loaded period
This function will assign min,max days off in the loaded period.
Compared to the "At least x days off in y days", this function will not look back into the previous period.
The two functions shall not be used together.
Min x max y reference activities in z days
You can create Reference Activity pairings, and let this parameter control the number of Reference activities in a period.
Syntax: "Ref act shortcode",min,max,days.
Minimum time for assignments of name B act after name A act.
This parameter is used to separate pairings.
Parameter: PairingNameA,/,PairingNameB, d:hh:mm.
Minimum time for assignments of type B ref act after type A ref act.
enter comma separated Type A reference activity, "/", type B reference activities, time as d:hh:mm
Minimum x calendardays for assignments of TypeB reference activity after TypeA refence activity.
Separate reference activities by calendar days.
Only assign on blank days
Pre-assigned activities will not be removed.
But e.g. 2 activities can be assigned on the same day. To avoid this use the constaint "Max 1 pairing assigned per day".
Single day off must be x hours long
This parameter control the length of a Day Off that shall be longer than 24 hours. Max. 48 hours.
Single day off must have 2 local nights
The parameter control that the Day Off cover 2 local nights.
Syntax: night start,night end as HH:MM,HH:MM
Summed calculator value
This parameter is a hard constraint and it control the min and max values alloved.
Specify a calculator span in minutes.
e.g. BLH,3600,4800 AR will not exceed 80 hours or go below 60.
NOTE:Be careful with the MIN value. If one of the loaded crew can't be above the the MIN value, then the complete solution will be infeasible. The recommended MIN value is 0.
Type A ref act should not be directly folowed by Type Bref act.
enter comma separated Type A reference activity, "/", type B reference activities.
e.g. SbA/SbB. The Reference activity will not be assigned the day after.
Weekends off in period
This function control the number of weeklends off in a period.
Enter comma separated weekdays, number of weekends in the period.
Syntax:6,7,3 (saturday,sunday, 3 weekends)
With workstructures you can tell the optimizer to follow a specific pattern of flights, days off, blank days or Standby's
For each crew the optimizer will look back in the previous period and try to find a starting point.
Maximize flight pairing coverage
This objective try to cover as many pairings as possible.
Note: If this parmeter isn't selected, no pairings will be assigned.
Maximize Reference activity coverage
This objective try to cover as many reference activity pairings as possible.
Note: If this parmeter isn't selected, no pairings will be assigned.
Legality calculator fairness
This option will look at the historical values and try to make a fair distribution.
Minimize number of crew outside calculator span.
This parameter will make a fair distribution of the calculator inside the span, if the history days are applied the optimizer will make a fair distribution based on the full period (loaded plus history)
This rule is a Soft rule. The optimizer will try to distibute the pairings evenly inside the parameter LOW - High.
This option shall be used carefully, if you have too many rules it will maybe result in NO solution.