All the questions asked for discussion in the ResearchGate can be found more details than just the basics in the Internet, but here it may be useful to clarify a person with an example of more than the details and basics available in many sites
In principle I agree with Michael regarding the fact that a lot of information can be found in the Internet, however, in general, this information, as in the case of Wikipedia, is usually theoretical, by force very general or giving the basic as Michael says, and it serves as a good introduction to a subject.
In my humble opinion, the very big advantage of RG is that it permits anybody to formulate specific questions related with her/his activity, and most of the times getting answers from people working on that field and with examples, and normally getting practical advice from doers, not from theory based scholars.
In addition, in RG, a practitioner may interact with other practitioners or researchers, and getting valuable hints on how to solve her/his problem. We can see it almost daily in RG.
The main difference is that Wikipedia, as useful as it is, is only a library, while RG is a forum.
As a bottom line, if you are looking for information go to Internet, but if you are seeking for help, go to RG.
Regarding your specific question about a metaheuristic and a heuristic algorithm, I believe that this very brief explanation from Fred Glover and Kenneth Sorensen, found in http://scholarpedia.org/article/Metaheuristics can clarify your doubts
'A metaheuristic is a high-level problem-independent algorithmic framework that provides a set of guidelines or strategies to develop heuristic optimization algorithms (Sörensen and Glover, 2013).'
A heuristic algorithm simply is a mathematical procedure.
Heuristic is a problem-solving method executed through learning-based techniques and experience. See the links below for information and application of metaheuristics
Heuristic is a procedure or intuitive method you apply to solve a problem. In general, the heuristic does not provide the exact answer to the problem, but provide faster answers than the exact mathematical method.
Metaheuristics are structured heuristics that follow a pattern and that may be adapted to solve your problem. Examples of metaheuristics: Ant Colony Metaheuristic, Genetic Algorithm, Simulated Annealing Metaheuristic.
Some combinatorial problems cannot be solved in reasonable time and, so, require the development of a heuristic or of a metaheuristic to provide an solution to the problem. A good heuristic or metaheuritic should provide a solution near optimal.
Heuristics are often problem-dependent, that is, you define an heuristic for a given problem. Metaheuristics are problem-independent techniques that can be applied to a broad range of problems. An heuristic is, for example, choosing a random element for pivoting in Quicksort. A metaheuristic knows nothing about the problem it will be applied, it can treat functions as black boxes.
A metaheuristic is a high-level problem-independent algorithmic framework that provides a set of guidelines or strategies to develop heuristic optimization algorithms [...] A problem-specific implementation of a heuristic optimization algorithm according to the guidelines expressed in a metaheuristic framework is also referred to as a metaheuristic » (Sörensen, Glover on http://scholarpedia.org/article/Metaheuristics)
A heuristic is a rule-based procedure, often quite simple like greedy constructive heuristics, or sweeping arc, steepest ascent, that searches for the optimum. However, they often get stuck in local optima. These typically only allow improving moves. So you only accept a solution if it is "better".
A metaheuristic is just another "heuristic" (set of rules/procedures) that manages the heuristic... all in an effort to escape the local optima in search of better optima. Generally speaking, no heuristic can guarantee the true, global optimum.
So, using the "steepest ascent" analogy. The basic (steepest ascent) heuristic will keep searching, walking uphill, until everything around it is lower, and then claim "I'm on top of the world!" but it may be stuck on a low hill. A METAheuristic will allow the solution to "walk downhill" in search of another hill, where it will then keep walking uphill, and hopefully find a better height at the "top".
It is not seen very often that to an interesting question, there have been so many different but very illustrative answers, with different explanations, in particular from Nicolau, Kgs and J. W.
Heuristic algorithms use the special designed functions to find out solution space intelligently. Meta-heuristics algorithms are the iterative generation process which guides a subordinate heuristic for exploring and exploiting the search space (Desale et al. 2015).
@ Asia Mahdi Naser: Thank you for your very clear answer. I also think, that the literature (e. g. Rothlauf 2011) agrees in differentiating between the two types of heuristics, i. e. „classical“ or „standard“ heuristics and meta-heuristics or, what some call, „modern heuristics“ referring to Polya (1945).
But even more important and interesting to see is, that there is a third type of heuristic:
„Approximation algorithms are heuristic optimization methods that return an approximate solution with guaranteed solution quality. Therefore, for approximation algorithms we are able to provide a bound on the quality of the returned solution. The main difference between heuristics and approximation algorithms is the existence of a bound on the solution quality. If we are able to formulate a bound, a heuristic “becomes” an approximation algorithm.“ (Rothlauf 2011, 84; see Sect. 3.4.2)
That has become very important e.g. in the context of solving TSP-problems. The World tour with 1.904.711 cities has been solved by Keld-Helsgaun-heuristic and Concorde yielding a gap of only 0.0476% from optimality!
Rothlauf (2011) distinguishes between these three types of heuristics:
1) heuristics,
2) approximation algorithms, and
3) metaheuristics (what he calls modern heuristics).
ad 1) „There are two different types of heuristics: construction heuristics that construct one solution from scratch by performing iterative construction steps and improvement heuristics that start with a complete solution and iteratively apply problem-specific search operators to search through the search space. Usually, construction heuristics use problem-specific rules for the construction of a solution and improvement heuristics apply problem-specific search operators and search strategies.“ (Rothlauf 2011, 83, 84; see also 85-88)
ad 2) „Approximation algorithms are an attempt to formalize heuristics. Approximation algorithms emerged from the field of theoretical computer science [...] but are also becoming popular in the field of artificial intelligence, especially evolutionary algorithms [...]. As we know that there are intractable problems (for example NP-complete problems), we are interested in heuristics that have polynomial running time and for which we can develop bounds on the quality of the returned solution. Therefore, approximation algorithms are heuristics for which we can derive a bound on the quality of the returned solution.“ (Rothlauf 2011, 88)
ad 3) „Finally, we denote improvement heuristics that use a general, problem-invariant, and widely applicable search strategy as modern heuristics (Polya, 1945 [...]). Such methods are denoted as modern heuristics since they define a strategy for searching through the search space on a metalevel. Therefore, they are, especially in the OR community, also often denoted as metaheuristics (Glover, 1986). Modern heuristics often imitate the functionality of search strategies observed in other domains (for example in biology, nature, or physics). Characteristic properties of modern heuristics are that the same search concept can successfully be applied to a relatively wide range of different problems [...].“ (Rothlauf 2011, 84)
„Modern heuristics are extended variants of improvement heuristics [...]. They are general-purpose solvers and usually applicable to a large variety of problems. Modern heuristics are also called heuristic optimization methods or metaheuristics. In contrast to standard improvement heuristics which usually only perform improvement steps, modern heuristics also allow inferior solutions to be generated during search. Therefore, we want to define modern heuristics as improvement heuristics that
1. can be applied to a wide range of different problems (they are general-purpose
methods) and
2. use during search both intensification (exploitation) and diversification (explo-
„A precise distinction between improvement heuristics and modern heuristics is
difficult as the concepts are closely related and in the literature no consistent naming convention exists. Usually, modern heuristics are defined problem-independently, whereas heuristics are explicitly problem-specific and exploit problem structure.
Therefore, the design and application of high-quality heuristics is demanding, since problem-specific properties must be known and actively exploited. In contrast, standard modern heuristics can easily be applied to different problems with little or no modification. There is a trade-off between ease of application and effectiveness. Problem-specific heuristics are more difficult to develop and apply in comparison to modern heuristics. However, if problem-specific knowledge is considered appropriately, they often outperform standard modern heuristics.“ (Rothlauf 2011, 84)
There is also the math-heuristic, where a mathematical model is included into an heuristic. I have a math-heuristic paper in my research gate page. Although in portuguese, I think you can follow the basics of it (MATH - HEURISTIC PARA
O PROBLEMA DE RECUPERAÇÃO DE MALHA AÉREA (RECOVERY PROBLEM).
The major difference between heuristic and meta-heuristics is that heuristic tech. get stuck in local optima, while meta-heuristics have sensitive mechanism to avoid getting stuck in local optima.
"Metaheuristics is a rather unfortunate term often used to describe a major subfield of stochastic optimization" wrote Sean Luke in his great "Essentials of Metaheuristics". Check out the chapter "0.1 What is a Metaheuristic?". Completely free from .
I subscribe Modestus Okwu and Nicolau Dionísio Fares Gualda definitions of "heuristic" in Computer Science, but I noticed that people working in lower education give it a slightly different meaning.
To avoid getting stuck on a local optima, the metaheuristics usually have two mechanisms, one devoted to diversification, so that the search for the optima explore regions far from a reached solution, and another one devoted to intensify the search nearby a new reached solution.
Metaheuristic types: Root and tuber algorithm, Simulated annealing, Tabu search, Evolutionary computation; Ant colony algorith; Differential evolution , Artificial immune systems • Particle swarm optimization and so on.
I think the differences between Heuristics and metaheuristics have been answered by all. Just to add mine. I see metaheuristics as an n-dimensional framework ( n =2,3.... m) like a Spider web search . while heuristics are usually 1- dimensional (more or less like a straight line search).
Heuristic refers to the techniques applied to specific problems. This is thisgs such as rules extracted from the experience. On other hand, metaheuristic consider methods with aplication a general schemes.
Heuristic refers to a "rule of thumb," or good guide to follow when making decisions. In summary, it is a shortcut to solving problem while metaheuristic is a higher-level procedure designed to find, generate, or select a partial search algorithm that may provide a robust or sufficiently good solution to an optimization problem.
A heuristic is just a method of resolution, often informal and "individual".
A metaheurisic is just a generic heuristic that is to say a heuristic that can be declined for the resolution of problems that have no connection between them.