536 research outputs found
Grammatical evolution hyper-heuristic for combinatorial optimization problems
Designing generic problem solvers that perform well across a diverse set of problems is a challenging task. In this work, we propose a hyper-heuristic framework to automatically generate an effective and generic solution method by utilizing grammatical evolution. In the proposed framework, grammatical evolution is used as an online solver builder, which takes several heuristic components (e.g., different acceptance criteria and different neighborhood structures) as inputs and evolves templates of perturbation heuristics. The evolved templates are improvement heuristics, which represent a complete search method to solve the problem at hand. To test the generality and the performance of the proposed method, we consider two well-known combinatorial optimization problems: exam timetabling (Carter and ITC 2007 instances) and the capacitated vehicle routing problem (Christofides and Golden instances). We demonstrate that the proposed method is competitive, if not superior, when compared to state-of-the-art hyper-heuristics, as well as bespoke methods for these different problem domains. In order to further improve the performance of the proposed framework we utilize an adaptive memory mechanism, which contains a collection of both high quality and diverse solutions and is updated during the problem solving process. Experimental results show that the grammatical evolution hyper-heuristic, with an adaptive memory, performs better than the grammatical evolution hyper-heuristic without a memory. The improved framework also outperforms some bespoke methodologies, which have reported best known results for some instances in both problem domains
Automated generation of constructive ordering heuristics for educational timetabling
Construction heuristics play an important role in solving combinatorial optimization problems. These heuristics are usually used to create an initial solution to the problem which is improved using optimization techniques such as metaheuristics. For examination timetabling and university course timetabling problems essentially graph colouring heuristics have been used for this purpose. The process of deriving heuristics manually for educational timetabling is a time consuming task. Furthermore, according to the no free lunch theorem different heuristics will perform well for different problems and problem instances. Hence, automating the induction of construction heuristics will reduce the man hours involved in creating such heuristics, allow for the derivation of problem specific heuristics and possibly result in the derivation of heuristics that humans have not thought of. This paper presents generation construction hyper-heuristics for educational timetabling. The study investigates the automatic induction of two types of construction heuristics, namely, arithmetic heuristics and hierarchical heuristics. Genetic programming is used to evolve arithmetic heuristics. Genetic programming, genetic algorithms and the generation of random heuristic combinations is examined for the generation of hierarchical heuristics. The hyper-heuristics generating both types of heuristics are applied to the examination timetabling and the curriculum based university course timetabling problems. The evolved heuristics were found to perform much better than the existing graph colouring heuristics used for this domain. Furthermore, it was found that the while the arithmetic heuristics were more effective for the examination timetabling problem, the hierarchical heuristics produced better results than the arithmetic heuristics for the curriculum based course timetabling problem. Genetic algorithms proved to be the most effective at inducing hierarchical heuristics
Stepping Stones to Inductive Synthesis of Low-Level Looping Programs
Inductive program synthesis, from input/output examples, can provide an
opportunity to automatically create programs from scratch without presupposing
the algorithmic form of the solution. For induction of general programs with
loops (as opposed to loop-free programs, or synthesis for domain-specific
languages), the state of the art is at the level of introductory programming
assignments. Most problems that require algorithmic subtlety, such as fast
sorting, have remained out of reach without the benefit of significant
problem-specific background knowledge. A key challenge is to identify cues that
are available to guide search towards correct looping programs. We present
MAKESPEARE, a simple delayed-acceptance hillclimbing method that synthesizes
low-level looping programs from input/output examples. During search, delayed
acceptance bypasses small gains to identify significantly-improved stepping
stone programs that tend to generalize and enable further progress. The method
performs well on a set of established benchmarks, and succeeds on the
previously unsolved "Collatz Numbers" program synthesis problem. Additional
benchmarks include the problem of rapidly sorting integer arrays, in which we
observe the emergence of comb sort (a Shell sort variant that is empirically
fast). MAKESPEARE has also synthesized a record-setting program on one of the
puzzles from the TIS-100 assembly language programming game.Comment: AAAI 201
Hyper‐Heuristics and Metaheuristics for Selected Bio‐Inspired Combinatorial Optimization Problems
Many decision and optimization problems arising in bioinformatics field are time demanding, and several algorithms are designed to solve these problems or to improve their current best solution approach. Modeling and implementing a new heuristic algorithm may be time‐consuming but has strong motivations: on the one hand, even a small improvement of the new solution may be worth the long time spent on the construction of a new method; on the other hand, there are problems for which good‐enough solutions are acceptable which could be achieved at a much lower computational cost. In the first case, specially designed heuristics or metaheuristics are needed, while the latter hyper‐heuristics can be proposed. The paper will describe both approaches in different domain problems
Grammar-based generation of variable-selection heuristics for constraint satisfaction problems
We propose a grammar-based genetic programming framework that generates variable-selection heuristics for solving constraint satisfaction problems. This approach can be considered as a generation hyper-heuristic. A grammar to express heuristics is extracted from successful human-designed variable-selection heuristics. The search is performed on the derivation sequences of this grammar using a strongly typed genetic programming framework. The approach brings two innovations to grammar-based hyper-heuristics in this domain: the incorporation of if-then-else rules to the function set, and the implementation of overloaded functions capable of handling different input dimensionality. Moreover, the heuristic search space is explored using not only evolutionary search, but also two alternative simpler strategies, namely, iterated local search and parallel hill climbing. We tested our approach on synthetic and real-world instances. The newly generated heuristics have an improved performance when compared against human-designed heuristics. Our results suggest that the constrained search space imposed by the proposed grammar is the main factor in the generation of good heuristics. However, to generate more general heuristics, the composition of the training set and the search methodology played an important role. We found that increasing the variability of the training set improved the generality of the evolved heuristics, and the evolutionary search strategy produced slightly better results
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
Investment Opportunities Forecasting: Extending the Grammar of a GP-based Tool
In this paper we present a new version of a GP financial forecasting tool, called EDDIE 8. The novelty of this version is that it allows the GP to search in the space of indicators, instead of using pre-specified ones. We compare EDDIE 8 with its predecessor, EDDIE 7, and find that new and improved solutions can be found. Analysis also shows that, on average, EDDIE 8's best tree performs better than the one of EDDIE 7. The above allows us to characterize EDDIE 8 as a valuable forecasting tool
- …