181 research outputs found
Automating the packing heuristic design process with genetic programming
The literature shows that one-, two-, and three-dimensional bin packing and knapsack packing are difficult problems in operational research. Many techniques, including exact, heuristic, and metaheuristic approaches, have been investigated to solve these problems and it is often not clear which method to use when presented with a new instance. This paper presents an approach which is motivated by the goal of building computer systems which can design heuristic methods. The overall aim is to explore the possibilities for automating the heuristic design process. We present a genetic programming system to automatically generate a good quality heuristic for each instance. It is not necessary to change the methodology depending on the problem type (one-, two-, or three-dimensional knapsack and bin packing problems), and it therefore has a level of generality unmatched by other systems in the literature. We carry out an extensive suite of experiments and compare with the best human designed heuristics in the literature. Note that our heuristic design methodology uses the same parameters for all the experiments. The contribution of this paper is to present a more general packing methodology than those currently available, and to show that, by using this methodology, it is possible for a computer system to design heuristics which are competitive with the human designed heuristics from the literature. This represents the first packing algorithm in the literature able to claim human competitive results in such a wide variety of packing domains
A Classification of Hyper-heuristic Approaches
The current state of the art in hyper-heuristic research comprises a set of approaches that share the common goal of automating the design and adaptation of heuristic methods to solve hard computational search problems. The main goal is to produce more generally applicable search methodologies. In this chapter we present and overview of previous categorisations of hyper-heuristics and provide a unified classification and definition which captures the work that is being undertaken in this field. We distinguish between two main hyper-heuristic categories: heuristic selection and heuristic generation. Some representative examples of each category are discussed in detail. Our goal is to both clarify the main features of existing techniques and to suggest new directions for hyper-heuristic research
A genetic programming hyper-heuristic approach to automated packing
This thesis presents a programme of research which investigated a genetic programming hyper-heuristic methodology to automate the heuristic design process for one, two and three dimensional packing problems.
Traditionally, heuristic search methodologies operate on a space of potential solutions to a problem. In contrast, a hyper-heuristic is a heuristic which searches a space of heuristics, rather than a solution space directly. The majority of hyper-heuristic research papers, so far, have involved selecting a heuristic, or sequence of heuristics, from a set pre-defined by the practitioner. Less well studied are hyper-heuristics which can create new heuristics, from a set of potential components.
This thesis presents a genetic programming hyper-heuristic which makes it possible to automatically generate heuristics for a wide variety of packing problems. The genetic programming algorithm creates heuristics by intelligently combining components. The evolved heuristics are shown to be highly competitive with human created heuristics. The methodology is first applied to one dimensional bin packing, where the evolved heuristics are analysed to determine their quality, specialisation, robustness, and scalability. Importantly, it is shown that these heuristics are able to be reused on unseen problems. The methodology is then applied to the two dimensional packing problem to determine if automatic heuristic generation is possible for this domain. The three dimensional bin packing and knapsack problems are then addressed. It is shown that the genetic programming hyper-heuristic methodology can evolve human competitive heuristics, for the one, two, and three dimensional cases of both of these problems. No change of parameters or code is required between runs. This represents the first packing algorithm in the literature able to claim human competitive results in such a wide variety of packing domains
Hyper-heuristic decision tree induction
A hyper-heuristic is any algorithm that searches or operates in the space of
heuristics as opposed to the space of solutions. Hyper-heuristics are
increasingly used in function and combinatorial optimization. Rather than
attempt to solve a problem using a fixed heuristic, a hyper-heuristic
approach attempts to find a combination of heuristics that solve a problem
(and in turn may be directly suitable for a class of problem instances).
Hyper-heuristics have been little explored in data mining. This work presents
novel hyper-heuristic approaches to data mining, by searching a space of
attribute selection criteria for decision tree building algorithm. The search is
conducted by a genetic algorithm. The result of the hyper-heuristic search in
this case is a strategy for selecting attributes while building decision trees.
Most hyper-heuristics work by trying to adapt the heuristic to the state of
the problem being solved. Our hyper-heuristic is no different. It employs a
strategy for adapting the heuristic used to build decision tree nodes
according to some set of features of the training set it is working on. We
introduce, explore and evaluate five different ways in which this problem
state can be represented for a hyper-heuristic that operates within a decisiontree
building algorithm. In each case, the hyper-heuristic is guided by a rule
set that tries to map features of the data set to be split by the decision tree
building algorithm to a heuristic to be used for splitting the same data set.
We also explore and evaluate three different sets of low-level heuristics that
could be employed by such a hyper-heuristic.
This work also makes a distinction between specialist hyper-heuristics and
generalist hyper-heuristics. The main difference between these two hyperheuristcs
is the number of training sets used by the hyper-heuristic genetic
algorithm. Specialist hyper-heuristics are created using a single data set from
a particular domain for evolving the hyper-heurisic rule set. Such algorithms
are expected to outperform standard algorithms on the kind of data set used
by the hyper-heuristic genetic algorithm. Generalist hyper-heuristics are
trained on multiple data sets from different domains and are expected to
deliver a robust and competitive performance over these data sets when
compared to standard algorithms.
We evaluate both approaches for each kind of hyper-heuristic presented in
this thesis. We use both real data sets as well as synthetic data sets. Our
results suggest that none of the hyper-heuristics presented in this work are
suited for specialization – in most cases, the hyper-heuristic’s performance on
the data set it was specialized for was not significantly better than that of
the best performing standard algorithm. On the other hand, the generalist
hyper-heuristics delivered results that were very competitive to the best
standard methods. In some cases we even achieved a significantly better
overall performance than all of the standard methods
Algorithms and data structures for three-dimensional packing
Cutting and packing problems are increasingly prevalent in industry. A well utilised freight vehicle will save a business money when delivering goods, as well as reducing the environmental impact, when compared to sending out two lesser-utilised freight vehicles. A cutting machine that generates less wasted material will have a similar effect. Industry reliance on automating these processes and improving productivity is increasing year-on-year.
This thesis presents a number of methods for generating high quality solutions for these cutting and packing challenges. It does so in a number of ways. A fast, efficient framework for heuristically generating solutions to large problems is presented, and a method of incrementally improving these solutions over time is implemented and shown to produce even higher packing utilisations. The results from these findings provide the best known results for 28 out of 35 problems from the literature. This framework is analysed and its effectiveness shown over a number of datasets, along with a discussion of its theoretical suitability for higher-dimensional packing problems. A way of automatically generating new heuristics for this framework that can be problem specific, and therefore highly tuned to a given dataset, is then demonstrated and shown to perform well when compared to the expert-designed packing heuristics. Finally some mathematical models which can guarantee the optimality of packings for small datasets are given, and the (in)effectiveness of these techniques discussed. The models are then strengthened and a novel model presented which can handle much larger problems under certain conditions. The thesis finishes with a discussion about the applicability of the different approaches taken to the real-world problems that motivate them
Novel Hyper-heuristics Applied to the Domain of Bin Packing
Principal to the ideology behind hyper-heuristic research is the desire to increase the level of generality of heuristic procedures so that they can be easily applied to a wide variety of problems to produce solutions of adequate quality within practical timescales.This thesis examines hyper-heuristics within a single problem domain, that of Bin Packing where the benefits to be gained from selecting or generating heuristics for large problem sets with widely differing characteristics is considered. Novel implementations of both selective and generative hyper-heuristics are proposed. The former approach attempts to map the characteristics of a problem to the heuristic that best solves it while the latter uses Genetic Programming techniques to automate the heuristic design process. Results obtained using the selective approach show that solution quality was improved significantly when contrasted to the performance of the best single heuristic when applied to large sets of diverse problem instances. Although enforcing the benefits to be gained by selecting from a range of heuristics the study also highlighted the lack of diversity in human designed algorithms. Using Genetic Programming techniques to automate the heuristic design process allowed both single heuristics and collectives of heuristics to be generated that were shown to perform significantly better than their human designed counterparts. The thesis concludes by combining both selective and generative hyper-heuristic approaches into a novel immune inspired system where heuristics that cover distinct areas of the problem space are generated. The system is shown to have a number of advantages over similar cooperative approaches in terms of its plasticity, efficiency and long term memory. Extensive testing of all of the hyper-heuristics developed on large sets of both benchmark and newly generated problem instances enforces the utility of hyper-heuristics in their goal of producing fast understandable procedures that give good quality solutions for a range of problems with widely varying characteristics
A study of evoluntionary perturbative hyper-heuristics for the nurse rostering problem.
Master of Science in Computer Science. University of KwaZulu-Natal, Pietermaritzburg 2017.Hyper-heuristics are an emerging field of study for combinatorial optimization. The aim of a hyper-heuristic is to produce good results across a set of problems rather than producing the best results. There has been little investigation of hyper-heuristics for the nurse rostering problem. The majority of hyper-heuristics for the nurse rostering problem fit into a single type of hyper-heuristic, the selection perturbative hyper-heuristic. There is no work in using evolutionary algorithms employed as selection perturbative hyper-heuristics for the nurse rostering problem. There is also no work in using the generative perturbative type of hyper-heuristic for the nurse rostering problem. The first objective of this dissertation is to investigate the selection perturbative hyper-heuristic for the nurse rostering problem and the effectiveness of employing an evolutionary algorithm (SPHH). The second objective is to investigate a generative perturbative hyper-heuristic to evolve perturbation heuristics for the nurse rostering problem using genetic programming (GPHH). The third objective is to compare the performance of SPHH and GPHH.
SPHH and GPHH were evaluated using the INRC2010 benchmark data set and the results obtained were compared to available results from literature. The INRC2010 benchmark set is comprised of sprint, medium and long instance types. SPHH and GPHH produced good results for the INRC2010 benchmark data set. GPHH and SPHH were found to have different strengths and weaknesses. SPHH found better results than GPHH for the medium instances. GPHH found better results than SPHH for the long instances. SPHH produced better average results. GPHH produced results that were closer to the best known results. These results suggest future research should investigate combining SPHH and GPHH to benefit from the strengths of both perturbative hyper-heuristics
- …