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.
The heuristic are approximation methods for hard problems and for contexts with hard constraints of reactivity (so when exact methods are too time consuming). The metaheuristics are heuristics patterns : you have to adapt it for your problem.
About the multi-heuristics, I'm not sure: I guess the process is to use simultaneously different heuristics well adapted for the problem, and finally for keeping the best solution. Maybe someone else could explain it?
The heuristic is usually some simple methods motivated by some intuitive characters, such as local search that only accepts improving solution, or some constructing method: insertion or saving method for VRP.
Meta-heuristic is more sophisticated method, which use some strategies to lead the search to escape from the local optimal. These methods includes Simulated Annealing, Tabu Search, VNS, ACO, GA.
Multi-heuristic usually contains two levels, the lower level contains several simple heuristics, and the high level is used to guide the lower level heuristics.
Heuristic is a local problem solving technique, while meta heuristic takes a global view of the problem. Multi heuristic combines or selects from different heuristics to solve the problem at hand. It is a more universal version where different techniques can be combined to form an hybrid solution technique. Such a technique may be used to solve problems from different domains.
I agree with dipesh.
Heuristics are problem specific, meta heuristics are generalized heuristics. Examples of meta heuristics are GA,SA,ACO,TS etc.
Multiheuristics are useful when you decompose the problem into several levels and each level we can use some heuristics to solve. Basically you need combination of heuristics to solve the problem that is why they call it as multiheuristics.
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.
Popular Answers
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.
All Answers (10)
About the multi-heuristics, I'm not sure: I guess the process is to use simultaneously different heuristics well adapted for the problem, and finally for keeping the best solution. Maybe someone else could explain it?
Meta-heuristic is more sophisticated method, which use some strategies to lead the search to escape from the local optimal. These methods includes Simulated Annealing, Tabu Search, VNS, ACO, GA.
Multi-heuristic usually contains two levels, the lower level contains several simple heuristics, and the high level is used to guide the lower level heuristics.
Heuristics are problem specific, meta heuristics are generalized heuristics. Examples of meta heuristics are GA,SA,ACO,TS etc.
Multiheuristics are useful when you decompose the problem into several levels and each level we can use some heuristics to solve. Basically you need combination of heuristics to solve the problem that is why they call it as multiheuristics.
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.