Hyperheuristic: An Emerging Search Algorithm in ...

3 downloads 423 Views 166KB Size Report
is a general-purpose problem domain independent heuristic search method that .... Chakhlevitch, 2003) is to assign the available workforce to respective ...
The 36th CIE Conference on Computers & Industrial Engineering

Hyperheuristic: An Emerging Search Algorithm in Scheduling Dipak Laha*, Amal K Ray, Simul Banerjee Industrial Engineering Laboratory, Mechanical Engineering Department Jadavpur University, Kolkata 700032, India

*Corresponding author E-mail: [email protected] Abstract This paper addresses the principle and various application of using hyper-heuristics. A hyperheuristics is a general-purpose problem domain independent heuristic search method that chooses the low-level heuristics at any given time without knowledge of problem it is trying to solve. Heuristics and metaheuristics are problem dependent, i.e., they cannot be used to solve different problems. Hyperheuristics on the other hand, are problem independent, robust, cheap and fast. They have been successfully implemented to various complex real-life problems. KEY WORDS: Hyperheuristics; Metaheuristics; Personnel scheduling; Hybrid heuristics 1. Introduction A hyperheuristic belongs to the class of recently developed search algorithms, in which high – level domain independent heuristic is obtained. It iteratively selects and executes a set of application based specific and simple search moves, called low-level heuristics, in order to achieve improved or nearoptimal solutions. A hyperheuristic can be defined as the heuristic which selects between low-level heuristics for solving a given optimization problem or class of optimization problems. As the combinatorial optimization problems including scheduling are of NP-hard type, often these types of problems are solved using heuristic techniques, many of which use sophisticated metaheuristic approaches and problem specific information to arrive at an optimal solution such as hybrid genetic algorithm or simulated annealing. However, as these methods are often tailored specifically for the problem itself, so that it is unlikely that they may be successfully used to solve different domain independent problems. Heuristics and metaheuristics tend to be knowledge rich requiring sufficient expertise in both the problem and specific heuristic approach (Cowling, Kendall & Soubeiga, 2002). Heuristic techniques (Chakraborty & Laha, 2002) are commonly used to solve large, complex optimization problems. Good heuristics are not easy to design, and are usually applied to individual problems, exploiting knowledge of problems to gain efficiency. This makes them difficult to reuse and costly to develop. On the other hand, hyperheuristics are robust in nature that is they generate good quality solutions for various problems or problem instances using low-level heuristics with very limited problem specific information. Over the past five years, a number of hyperheuristic methods have emerged and applied successfully to a number of relevant combinatorial optimization problems using time tabling (Burke & Petrovic, 2002), scheduling (Cowling & Chakhlevitch, 2003), rostering (Cowling, Kendall & Soubeiga, 2002). This development has gained increased recognition in the areas of operations research and artificial intelligence. Hyperheuristics overcome the limitations of heuristics and metaheuristics provide a general-purpose tool. Although it is not a completely proven method, there have been recent reports on the interesting idea of using hyperheuristics, which refer to domain independent heuristics. Traditional heuristics and metaheuristics require designers to understand the problem well enough in order to implement the algorithms. However, hyperheuristics operate at high level than the metaheuristic, and are not involved about the structures, constraints and even information in the problem domain. In this regard, hyperheuristics are cheap and fast to implement and have wide application in different problem 4251

The 36th CIE Conference on Computers & Industrial Engineering

domains, rather than specific problem domains. Recent work has suggested that it is a good search algorithm. Firstly, it provides a mechanism to allow the structure to select the heuristics from the set of heuristics; this relieves the end user from having worry about which algorithm to apply. Finally, the hyperheuristic method has a great potential to provide framework with learning mechanism. 2. Hyperheuristic Solution Techniques Hyperheuristics select at each stage the most promising simple low-level heuristic (or combination of heuristics) which is potentially able to improve the solution. On the other hand, if there is no improvement, i.e., locally optimal solution is found, the hyperheuristic diversifies the search to other area of solution space by choosing an appropriate heuristic from the given set of heuristics. 2.1 Random and Choice Functions Hyperheuristics may be based on either random type of choice function type (Kendall, Soubeiga & Cowling, 2002). The first one chooses repeatedly one low-level heuristic from the given set and is used until some stopping criterion is satisfied. The second one based on choice function adaptively ranks the low-level heuristics and thus provides effective guidance to it. The random hyperheuristic, for a minimization problem such as scheduling problem, works as follows: Define an objective function f and a set of heuristics H. Select an initial seed solution x0 and number of iterations N; Count = 0; Repeat Count ++; Randomly select a heuristic h ∈H; Apply h to f to obtain new solution x1; ∆ =f (x1) – f (xo) If (∆ ≥ 0) Then xo = x1; Until count = N; The choice – function hyperheuristic for a minimization problem works as follows: Define an objective function f and set of heuristics, H. Select an initial seed solution x0 = 0 and number of iterations N. Count = 0; Repeat Count ++; Select the low – level heuristic, h ∈H based on choice-function and apply it to obtain new solution x1; Update choice-function’s parameters adaptively; ∆ = f (x1) – f (xo) If (∆ ≥ 0) Then xo = x1; Until count = N; 2.2 Genetic algorithm based hyperheuristic Genetic algorithms are used to select low-level heuristics in the hyperheuristic framework to solve problems. In genetic algorithm procedure, the chromosome is represented by a sequence of all lowlevel heuristics using the random function or choice function (Cowling, Kendall & Soubeiga, 2002). 4252

The 36th CIE Conference on Computers & Industrial Engineering

The random permutation algorithm repeatedly selects a random sequence of all the low-level heuristics and considers each low-level heuristic once in the sequence order until some stopping criteria is met. The genetic algorithm based hyperheuristic is presented as follows: •

• • • •

Select an initial population of sequence of low-level heuristics based on random permutation algorithm and number of generations no-gen=N; Count = 0; Repeat Count ++; Evaluate the objective function for each sequence in the population; Find out the fitness probability for each sequence; Generate a population of sets of low – level heuristics; Apply crossover and mutation operator; Until no_gen = N;

2.3 Low – level heuristics The low –level heuristics (LLH) are applied based on the problem domain. A set of simple LLHs offers more flexibility for the hyperheuristic. A set of complex LLHs, such as steepest descent methods that find the best neighbour is computationally expensive and indirectly influences the hyperheuristics to behave as a steepest descent method. The complex set of LLHs is able to find good solution without having to be guided by a hyperheuristic. Of course, it takes longer time to implement complex LLH when the problem domain changes. Therefore, while dealing with a set of complex LLHs it may be worth applying a simple hyperheuristic. The selection of a set of LLHs for the problem is important and as a result, it affects the quality of performance of a hyperheuristic. As the LLHs are problem specific based we refer to the example of personnel scheduling problem cited by Cowling, Kendall & Soubeiga (2002). They have considered eight problem specific low-level heuristics based on replacing, swapping staff members from one session to another, and moving a presentation from one session to another. 2.4 High – Level Heuristic Different higher level heuristics / methodologies employed within a hyperheuristic framework consider case based reasoning, choice functions and metaheuristic methods.

Hyperheuristic Non domain data Domain barrier Set of low-level heuristics {h1, h2…hn} Objective function

Problem domain

Figure 1. A general framework for hyperheuristic 4253

The 36th CIE Conference on Computers & Industrial Engineering

Many of the current state of the approaches in examination timetabling (Burke & Petrovic, 2002) employ specially tailored heuristic based metaheuristic methods. This kind of approach is also applicable for other optimization problems. A hyperheuristic comprises a set of low-level heuristics and a high level selector. They are metaheuristics that can operate on metaheuristics (Ayob & Kendall, 2003). The general framework of hyperheuristic representing the relationship with the low – level heuristics is shown in Figure 1. 2.5 Constraints In optimization problems, constraints (Rattadilok, Gaw & Kwan, 2004) are classified into two types, namely hard and soft constraints. The hard constraints are rigid in nature that cannot be released at any time for the given problem, whereas the soft constraints can be relaxed to achieve a feasible solution. Hard constraints cannot be violated under any circumstances. For example, a teacher cannot be assigned to two different classes at the same time. Soft constraints are desirable but not essential. In most real-life problems, no solution can be found which satisfy all the stipulated soft constraints. 3. Applications on scheduling The generalized framework of hyperheuristic along with set of low-level heuristics can be applied to a wide range of problems with minimal modification. Multi-processor platforms are used to take advantage of parallel algorithmic designs and greater computational power. 3.1 Timetabling Timetabling problems (Burke & Petrovic, 2002) have attracted the researches in the areas of artificial intelligence and operations research for more than four decades. It involves assigning a set of events (exams, courses, meeting etc) to a set of rooms and timeslots, subjected to a set of constraints. Violation of hard constraints makes the timetabling infeasible, whereas violation of soft constraints is not desirable but can be relaxed at any time if required. In the timetabling problem, for a set of events (e.g., lectures, seminars, etc.) to be scheduled in some timeslots, a set of rooms in which events can take place, a set of students who attend the events and a set of features satisfied by rooms and required by the events (e.g., a given seminar may require a room with a overhead projector), it needs to allocate a times lots to each event, bearing in mind that each student, attend a number of events and rooms are of limited maximum capacity. The examples of hard constraint in this context are ‘a student cannot be scheduled to attend more than one event at a time’, ‘the room needs all features required by the event’, ‘room capacity must be satisfied’, and ‘no more than one event is allowed in each room and in each timeslot’. Similarly the examples of soft constraint are ‘a student has been scheduled an event in the last timeslot of the day’, ‘a student has been scheduled to attend more than two consecutive events’ and ‘a student has been scheduled to attend only one event in a given day’. The number of soft constraint violations measures the quality of feasible solutions. Therefore, it is possible to define the overall quality of a solution in terms of the number of hard constraint violations, and the number of soft constraint violations. Problem instances can be created using a problem instance generator that takes certain parameter values. 3.2 Nurse rostering Nurse rostering problems (Cowling, Kendall & Soubeiga, 2002) are solved using different neighborhood research heuristics (e.g. change the shift pattern of a nurse, swap the shift pattern of two nurses, etc). A hyperheuristic is applied to select between different low –level heuristics at different 4254

The 36th CIE Conference on Computers & Industrial Engineering

stages of the solution process. Each heuristic is given a score that is increased when applying the selected heuristic to current solution yields an immediate improved result and decreased otherwise. In nurse rostering problems (Burke, Causmaecker & Vanden Berghe, 1998), a tabu-search hyperheuristic is employed. To avoid choosing bad heuristics too often, a tabu list of heuristics is maintained which prevents certain heuristics from being selected for a number of iterations. The resulting tabu-search hyperheuristic produced good quality solution for several instances of the nurse rostering problem and proved to be very competitive with those obtained using a problem – specific genetic algorithm and a problem-specific tabu-search metaheuristics. 3.3 Personnel Scheduling The objective of personnel scheduling (Cowling, Kendall & Soubeiga, 2000: Cowling & Chakhlevitch, 2003) is to assign the available workforce to respective timeslots and locations. Lowlevel heuristics and metaheusistics incorporate specific information to the problem and require expertise both in the problem domain and heuristic methods. For this reason, hyperheuristic that is basically domain independent heuristic search methods have received much attention among the researchers. Cowling & Chakhlevitch (2003) proposed a metaheuristic to solve personnel scheduling problem, considering a large collection of low level heuristics. They considered a total of 95 low-level heuristics based on 12 event selection rules. The computation results show that their hyperheuristics are able to successfully solve different problems. Mason, Ryan & Panton (1998) presented an integrated approach using heuristic descent, simulation, and integer programming techniques to schedule staff at the Anckland International Airport, New Zealand. They obtained results that triggered major changes in the attitude of the airport staff who became enthusiastic about the contribution of computer-based decision. 4. Summary Heuristics and metaheuristics are used in specific problems to yield satisfactory results in reasonable time. Their application is usually dependent on problem domain and requires expertise both in the problem domain and in the heuristic methods. Metaheuristics are quite often expensive to implement. Hyperheuristics, on the other hand, is a general-purpose domain independent high-level heuristic search method. It is cheap and fast to apply to a wide range of problems. It manages the choices of low-level heuristics, making it a robust for different complex real-life problems. Simple heuristics based upon current user practice, simple local search neiguboushoods and greedy methods are quick to implement on a computer. Since these are required in order to apply a hyperheuristic method, this should yield a method far fast prototyping of decision support system for practical scheduling and optimization problems. References Ayob, M., & Kengall, G. (2003). A Monte Carlo hyperheuristic to optimize component placement sequencing for multi head placement machine, Proceedings of International Conference on Intelligent Technologies (In Tech 2003), 132-141. Burke, E. K., & Petrovic, S. (2002). Recent research directions in automated timetabling, European Journal of Operational Research 140, 266-280.

4255

The 36th CIE Conference on Computers & Industrial Engineering

Burke, E., De Causmaecker, P., & Vanden Berghe, G. A. (1998). Hybrid tabu search algorithm for the nurse rostering problem. Selected papers of the 2nd Asia – Pacific Conference on Simulated Evolution and Learning (SEAL’98) Lecture Notes in Artificial Intelligence, Springer, 186 – 194. Chakraborty, U., & Laha, D. (2002). Efficient hybrid heuristics for flowshop scheduling – Part I, Deterministic methods, Proceedings of the 4th Asia-Pacific Conference in Simulated Evolution and Learning (SEAL –2002), 2002, Singapore, Vol. II, pp.821-826. Cowling, P., Kendall, G., & Soubeiga, E. (2002). Hyperheuristcis: A tool for rapid prototyping in scheduling and optimization, Cowling, P., Kendall, G., & Soubeiga, E. (2000). A hyper-heuristics approach to scheduling a sales summit, Proceedings of the 3rd International on the Practice and theory of Automated Timetabling (PATAT 2000), Springer, 176 – 190. Cowling, P., Kendall, G., & Soubeiga, E. (2002). Hyperheuristics: A robust optimization method applied to nurse scheduling; Proceedings of the VII Parallel Problem form Nature (PPSN VIII), LNCS, Springer, 7-11. Cowling, P., & Chakhlevitch, K. (2003). Hyperheuristics for managing a large collection of low level heuristics to schedule personnel, proceeding of Congress on Evolutionary Computation (CEC 2003), Canberra, Australia, 1214-1221. Kengall, G., Soubeiga, E., & Cowling, P. (2002). Choice function and random hyperheuristics, Proceedings of 4th Asia-Pacific Conference on Simulated Evolution and Learning (SEAL 2002), NTU Press, 667-671. Mason, A. J., Royan, D. M., & Panton, D. M. (1998). Integrated simulation, heuristic and optimization approaches to staff scheduling. Operations Research 46/1, 191 – 175. Rattadilok, P., Gaw, A., & Kwan, R. K. K. (2004). A distributed hyper-heuristic for scheduling, University of Leeds, School of Computing Research Report Series, 1-10.

4256

Suggest Documents