https://www.researchgate.net/post/What_are_the_differences_between_heuristics_and_metaheuristics What are the differences between heuristics and metaheuristics? *** As already written by some contributors of this thread, heuristics are problem-dependent techniques. As such, they usually are adapted to the problem at hand and they try to take full advantage of the particularities of this problem. However, because they are often too greedy, they usually get trapped in a local optimum and thus fail, in general, to obtain the global optimum solution. Meta-heuristics, on the other hand, are problem-independent techniques. As such, they do not take advantage of any specificity of the problem and, therefore, can be used as black boxes. In general, they are not greedy. In fact, they may even accept a temporary deterioration of the solution (see for example, the simulated-annealing technique), which allows them to explore more thoroughly the solution space and thus to get a hopefully better solution (that sometimes will coincide with the global optimum). Please note that although a meta-heuristic is a problem-independent technique, it is nonetheless necessary to do some fine-tuning of its intrinsic parameters in order to adapt the technique to the problem at hand. You might want to take a look also at the so-called hyper-heuristics that go a step beyond meta-heuristics. The particularity of hyper-heuristics is that their search space is not the usual space of the solutions but is rather the space of heuristics or meta-heuristics. Indeed, hyper-heuristics can be viewed as "heuristics to search for heuristics". There is also a slightly different category defined as "heuristics to generate heuristics". (see links) http://www.inf.ufpr.br/aurora/disciplinas/topicosia2/livros/search/hyper.pdf http://www.cs.nott.ac.uk/TR/SUB/SUB-0906241418-2747.pdf *** Optimization algorithms can be roughly divided into two categories: exact algorithms and heuristics. Exact algorithms are designed in such a way that it is guaranteed that they will find the optimal solution in a finite amount of time. However, for very difficult optimization problems (e.g. NP-hard or global optimization) this "finite amount of time" may increase exponentially respect to the dimensions of the problem. Heuristics do not have this guarantee, and therefore generally return solutions that are worse than optimal. However, heuristic algorithms usually find "good" solutions in a "reasonable" amount of time. Many heuristic algorithms are very specific and problem-dependent. On the other hand, a metaheuristic is a high-level problem-independent algorithmic frame-work that provides a set of guidelines or strategies to develop heuristic optimization algorithms. But a concrete definition has been elusive and in practice many researchers and practitioners interchange these terms. Thus, the term metaheuristic is also used to refer to a problem specific implementation of a heuristic optimization algorithm according to the guidelines expressed in such a framework. *** A heuristic (to find) approach to a problem is an empirical search or optimization method that often works at solving the problem, but doesn't have any of the rigorous proof that people like physicists and mathematicians expect. Nobody knows if it will always give the best answer to the problem. To put it simply, it is a short cut to solving difficult problems. While on the otherhand a Meta (beyond) heuristic is a semi-mythical method for finding good heuristics for particular problems. For example: "What parameter settings do I use to get good results when applying heuristic method X to problem Y?". The attached document good help you further in understanding the difference by application. A Comparison between Heuristic and Meta-Heuristic Methods for Solving the Multiple Traveling Salesman Problem. https://www.researchgate.net/profile/Philip_Metzger/post/What_are_the_differences_between_heuristics_and_metaheuristics/attachment/59d621bfc49f478072e98a6c/AS:271834488999936@1441821800449/download/v25-56.pdf *** When solving an optimization problem, you can choose between exact, approximate and heuristic methods. 1. Exact method: it provides the optimum for any instance of the problem. 2. Approximate method: it provides a result of a certain quality, for any instance of the problem. This means that the distance from this result to the optimum is known. 3. Heuristic method: for many instances of the problem, it provides a result that is “good enough”. The heuristic methods are used for their speed; the other methods can be very expensive when considering computing resources. So, you balance the quality of the result with the time spent on computation. It is possible that the heuristic method fails on certain instances (it cannot find any result), but these situations are extremely rare. All this discussion supposes that you have the optimization problem. But what about groups of problems? Meta-heuristic is a framework: some general directions on how to solve a set of problems. Some successful meta-heuristics are inspired by nature. One example is the Ant Colony Optimization (ACO, see http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10139). When solving a specific problem, you can choose the solution representation, the local search modules, and so on, in order to be more efficient and to exploit the problem's characteristics. For example, for the TSP (Traveler Salesman Problem) you can use the brute force approach (it is an exact method), or you can code an algorithm that follows the ACO (and so you are coding a heuristic application, based on ACO meta-heuristic).