CAPÍTULO IV......................................................................................................................... 95
4. FUTURAS IMPLEMENTACIONES
4.2. Balanceo de línea
4.2.1. Procedimiento para la aplicación de la línea de balanceo
The driver scheduling problem is a hard combinatorial problem. Compiling an effective driver schedule is very complex and difficult since there are many rules governing the legality of duties and the partition of blocks of vehicle work is restricted by the availability of relief opportunities.
To make the driver scheduling problem simpler to solve, as a starting point, we simplify the problem by only allowing the compilation of duties with up to two-spells according to a reduced set of labour agreement rules.
• Compile only the duties containing up to two-spells
The driver scheduling problem, which allows duties with three or more spells is much more complicated than only allowing duties with up to two-spells. In this initial research, we limit the number of spells in a duty up to two. This simplification has practical significance and was applied in most of the early heuristic driver scheduling approaches and in the Cavique et al’s work reviewed in Section 2.4.1. The reason may be that two-spell duties are practically preferable, especially in bus operations. Moreover, some organisations only require duties with one or two spells, e.g. the Lisbon Underground situation reported by Cavique et al (1999).
• Enforce only some essential labour agreement rules on duties
The common labour agreement rules for both bus and train drivers have been outlined in Section 1.1.5. These rules governing the legality of a driver duty affect profoundly the complexity of duty compilation. For constructive approaches, the more rules that are imposed
on the validity of a duty, the more difficult it is to construct a solution. Hence, in this initial research, we simplify the problem by enforcing only the following rules, which would meet the essential requirements of most bus operators in the UK.
1) The total spreadover of a duty must be within a specified range.
2) The total daily working time of a duty must be limited to a certain number of hours.
3) The break between the two spells of work in a straight duty must be long enough for a driver to have a meal and to travel to start the next piece of work, while the break in the middle of a split duty must be longer than a certain amount of time.
4) There is a maximum length for a spell with or without a stop, and a maximum length for a stretch.
5) For split duties, the starting time must fall within a specified period, and they must finish before a specified time. They also have an earliest sign on and a latest sign off time.
If a duty obeys all the above rules, it is called a valid duty or a feasible duty; otherwise an invalid duty or an infeasible duty.
• Duty types
As discussed in Section 1.1.4, duties can be classified into two principal types: split duties and straight duties. Straight duties can be further divided into different types, e.g. early duties, middle duties, late duties. Some straight duties contain mealbreaks while the others do not. In this initial research, we classify duties into three types: split duties (having a long spreadover with a long break in the middle), straight duties (having a mealbreak in the middle), and non-mealbreak duties (i.e. straight duties with no non-mealbreak). Since only the duties with up to two-spells are allowed, both split duties and straight duties contain two two-spells with a mealbreak in
between, while the non-mealbreak duties may contain either one spell or two spells with a join-up in between. This classification can meet the requirement of many operators in the UK.
• Cost function and penalty function
Every duty has a corresponding payment, which is equal to the working time of the duty, and is called a wage cost or simply cost. Whether and how much non-driving work is counted as part of drivers’ working time depends on operators, and the way to calculate the working time varies dependent on the type of the duty. The following gives an example of the cost functions:
Wage cost of a straight duty = spreadover
Wage cost of a split duty = sign-on-at-depot + start spell + end spell + sign-off-at-depot + sign-off before the long break + sign-on after the long break Wage cost of a non-mealbreak duty = spreadover
Some operators stipulate a minimum payment for duties. If the counted working time of a duty is less than the specified minimum payment, the cost of the duty is assigned the minimum payment.
Usually, drivers prefer straight duties to split duties and operators do not prefer non-mealbreak duties. We treat the preferences as soft rules, which are catered for by means of some weighted costs to be minimised. For example, in the optimisation process, the cost of a split duty can be assigned twice its wage cost, the cost of a non-mealbreak duty can be assigned five times its wage cost, while the cost of a straight duty is assigned its wage cost.
If a duty is invalid, a quantitative penalty should be calculated to reflect how much the duty violates the labour agreement rules. Each rule has a corresponding kind of penalty, which is
defined as the difference between the actual time allowance and the due limit. If the difference is negative, it means this kind of rule is satisfied and the penalty is defined as zero. The following provides the formulae for calculating the penalty of a duty.
The penalties for an invalid straight duty:
Penalty-max-spreadover = spreadover – maximum spreadover Penalty-working-time = working time – maximum working time Penalty-mealbreak = minimum mealbreak – mealbreak Penalty-stretch = stretch – maximum stretch
The penalties for an invalid split duty:
Penalty-max-spreadover = spreadover – maximum spreadover Penalty-min-spreadover = minimum spreadover - spreadover Penalty-working-time = working time – maximum working time Penalty-mealbreak = minimum mealbreak – mealbreak Penalty-stretch = stretch – maximum stretch
Penalty-earliest-start-on = earliest start on time – start on time Penalty-latest-start-on = start on time – latest start on time Penalty-latest-finish-off = finish off time – latest finish off time Penalty-earliest-sign-on = earliest sign on time – sign on time Penalty-latest-sign-off = sign off time – latest sign off time
The penalties for an invalid non-mealbreak duty:
Penalty-max-spreadover = spreadover – maximum spreadover Penalty-working-time = working time – maximum working time
The total penalty of a duty is defined as the sum of the individual penalties. Validity of spells is enforced all the time.