While categorizing or detecting inefficiencies at a shift level can be easy, this ap- proach has its drawbacks. One such drawback is suggested by the perception that, in many cases, an inefficiency in a shift s is actually forced by the presence of an-
other shift s0 in the schedule. This is especially frequent in methods that involve
constructive steps/heuristics. As an example, consider a shift s that contains a spell that starts 5 min after the start of a certain vehicle block. If the schedule contains
no overcover, this means that there is another shift s0 which covers that 5-minute
spell left uncovered by s. In constructive approaches, this situation will usually arise
when s is added to the schedule before s0. With our categorization above, s0 will
probably be classed as inefficient (for example using the metric dts0/ndts0). However, most human schedulers would agree that in order to solve this local inefficiency, it is s that must be modified first.
One solution for this particular situation is to add a new shift-level inefficiency rule for shifts containing a spell that starts or ends too close to the start/end of a vehicle block (but not exactly at the start/end of that block). However, this approach has the inconvenience that the new inefficiency is not expressed in terms of driving or non-driving time, and therefore is difficult to compare or integrate with other categories.
Moreover, we argue that this situation is or can still be covered by driving/non-
driving time considerations. We first observe that shifts s and s0 are adjacent, in
the sense that they share a relief opportunity (or WRO). In our first local search proposal in Chapter 4, most moves would consider both a shift and its adjacent shifts. For example a piece-swap would reassign a piece of work to an adjacent shift – and in the example above this move might solve the problem by assigning the
5-minute spell in s0 to s.
In the situation of using a repair heuristic like those proposed in the previous
chapter, consider the case where shift s0 is invalid because the 5-minute spell is
not allowed by a (hard or soft) constraint. The standard approach of removing s0
wouldn’t work, since any shift added to replace s0 would either be invalid on a 5-
minute spell, or otherwise include overcover, but s wouldn’t be modified. However, there is a simple extension to our repair mechanism that solves this problem:
rule for repairing: given a schedule S containing a set I of invalid shifts, determine the set AI of shifts in S adjacent to shifts in I; then, when repair-costing S, remove all shifts in I ∪AI from S before repairing. In the example above, this rule would remove s since it belongs to I, but would also
remove s0 because it belongs to A
I, therefore giving the repair cost an opportunity
to modify both s and s0. Although in principle tests in the previous chapter show
a linear degradation of repair heuristics with the number of shifts removed, it must be noted that the rule above is different in that the additional shifts removed by the rule are not randomly selected (as were the ones in the experiments in Chapter 6), and hence the results on degradation may not apply to this rule – on the contrary, we expect that the addition of this rule will help achieve better repair costs.
We believe that in most (if not all) situations where the initial perception is that there is a need for a new inefficiency rule, careful analysis should show that the rules introduced in this chapter regarding inefficient use of driving/non-driving time or overcover are enough to detect and tackle those situations.
A Local Search Approach with
Support for Exploration of
Infeasible Solutions and
Exploitation of Local Inefficiencies
In this chapter we integrate the tools and ideas developed in the previous two chap- ters, and present a new hybridized (GaS and Local Search) approach for the TDSW problem. We implement the proposed framework and evaluate it using a set of real instances of the problem, varying the starting solution and the formulation. We also consider alternatives to the framework proposed and evaluate them.
8.1
The Proposal
The proposal presented in this chapter is built on that of Chapter 4, and shares the skeleton of first running a GaS stage over a RoA model, followed by a local search stage over the WRO formulation. However, the local search stage now iterates
over two distinct phases, the standard phase and the exploration phase. During
standard phases, the search is tied to all feasibility constraints, as is the case with
the local search in Chapter 4. When a standard phase reaches a local optimum (or a similar criterion, e.g. a certain number of move trials without cost improvements), a move tailored to correct a specific inefficiency in the current solution is executed. This move is more complex in design than other moves in the search, but does not guarantee a feasible solution – in some cases, it doesn’t even guarantee that all work is covered in the resulting schedule. After this move, the search switches to an
exploration phase, where infeasible solutions are allowed, and which relies on repair
costing to compare (feasible and infeasible) solutions. When a termination criterion is met, the current solution is repaired (if infeasible), and the search resumes in
standard mode. A global termination criterion dictates the end of the search. The
proposed framework is illustrated in Figure 8.1.
In combination, the execution of the inefficiency-reducing move and the subse- quent exploration phase act as a diversification phase that ‘bridges’ parts of the fea- sible search phase through both intelligent exploration of the infeasible search space and use of domain knowledge. In this proposal, the inefficiency-reducing move and the exploration phase are linked inextricably: allowing for infeasible solutions during the exploration phase makes it possible to design a move that modifies the current solution in a way that the standard phase cannot; at the same time, the exploration phase relies on the inefficiency-correcting move to suggest a different direction in the exploration of the search space.