Heuristic Methods for the Optimizer
The Optimizer provides a choice of methods to obtain solutions for a service region schedule. Each of these methods involves a different strategy to improve the schedule. All methods use operations to move appointments and activities in a schedule and then verify improvements in the overall cost of the schedule. For example, the Optimizer might try to swap a pair of activities between two field service engineers. This swap can change the cost of the schedule by changing the cost of travel, the amount and cost of overtime, and the rate that the field engineer bills. Any reduction in cost is an improvement in the schedule. For more information, see Defining Cost Functions for the Optimizer.
The Optimizer can use 2 basic optimization methods alone. The Optimizer can use 3 additional methods in combination with the basic methods. The following basic methods consistently search for and accept only improvements (lower costs) in the schedule:
Greedy search. This method starts with an existing schedule, finds the first move that improves the schedule, accepts the move, and then uses this solution to find the next improvement. A Greedy search repeats this process until there are no more opportunities for improvement or until a time limit is reached. This method is relatively fast, but the resulting solution is not as good as other methods.
Steepest search. This method starts with an existing schedule, tries all moves, accepts the move that provides the greatest improvement in the schedule, and then uses this solution to find the next improvement. A Steepest search repeats this process until there are no more opportunities for improvement or until a time limit is reached. This method takes longer, but generally produces lower-cost schedules.
Additional methods, combined with the Greedy search or the Steepest search, allow moves that temporarily increase the cost of a schedule to arrive at significant, overall improvements in the schedule. In all cases, the Greedy search or the Steepest search quickly finds an improved schedule, and then one of the following methods searches for improvements:
Tabu search. This method accepts the next best solution even if it is not an improvement over the previous schedule. This method keeps a tabu list of finite length that contains the results of previous moves. The Optimizer cannot repeat a move until the move is no longer on the list.
Fast Guided Local search. This method adjusts the cost of a solution to reflect the number of times the Optimizer tried a move so that the Optimizer can try a wider range of changes.
Fast Guided Tabu search. This method combines the Tabu search and the Fast Guided Local search. This method often finds good solutions faster than the Tabu or Fast Guided Local search.