Differences Between Heuristics and Metaheuristics

Heuristic are designed for the solution to specific problems, for instance Dijkstra and Floyd. Meta-heuristic are master strategies for the solution of problem under some conditions for instance MODS and Ant Colony inspired algorithms. 


Heuristics are usually tailored to perform best on a specific problem type. On the other hand metaheuristics are general problem solving methods. Metaheuristics take into count the information collected during the search to steer the search process (like gbest in PSO).They are embedded with operators to escape a local optima, like mutation in GA(or the notion of topology in PSO). They are generating new solutions by combining one or more good solutions.

 

From Talbi 2009: "Heuristics find 'good'solutions on large-size problem instances. They allow to obtain acceptable performance at acceptable costs in a wide range of problems. They don not have an approximation guarantee on the obtained solutions. They are tailored and designed to solve a specific problem or/and instance. 
Meta-heuristics are general-purpose algorithms that can be applied to solve almost any optimization problem. They may be viewed as upper level general methodologies that can be used as a guiding strategy in designing underlying heuristics..."

 

Actually, a metaheuristic is also a heuristic,but a more powerful one, since a mechanism to avoid be trapped in a local minimum is present in any good metaheuristic. Moreover, the metaheuristic is able to employ heuristics methods by guiding them over the search space in order to exploit its best capabilities to achieve better solutions.

 

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. 


Meta-heuristic is a framework: some general directions on how to solve a set of problems. Some successful meta-heuristicsare inspired by nature. One example is the Ant Colony Optimization (ACO, seehttp://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). 


Heuristic is a term relative to results for a problem and a no guarantee obtained solutions. Metaheuristic methods is also a heuristic with a powerful mechanism to achieve better solutions.

 

Heuristic means "act of discovering".The heuristic is performed based on experience on a special problem, the knowledge about this problem is important to perform good heuristics. A classical example of heuristic of TSP Problem is nearest neighbor heuristic. In this method the nearest cities are visited to obtain good solutions at the end of total TSP's circuit. Meta-heuristics are global, the name "meta" means "one level above", in other words, meta-heuristics works with support to heuristic. Very good solutions can be obtained combining good heuristics with classical meta-heuristics for many problems.

 

"A heuristic is a part of an optimization algorithm that uses the information currently gathered by the algorithm to help to decide which solution candidate should be tested next or how the next individual can be produced. Heuristics are usually problem class dependent.
A metaheuristic is a method for solving very general classes of problems. It combines objective functions or heuristics in an abstract and hopefully efficient way, usually without utilizing deeper insight into their structure, i. e., by treating them as black-box-procedures" (http://www.it-weise.de/projects/book.pdf)
I think it depends on the problem to choose a method. (sometimes entering complexity to the problem reduces the efficiency of the solution)


You could think of a heuristic like an approximate (not approximation) solution to a problem. The difference between approximate and approximation is that the first is about getting a good guess of the solution of a problem, but that you don't really know how good it is. The second is about getting a solution for which you can prove how close it is to the optimal solution.

So, heuristics are often problem-dependent, that is, you define and heuristic for a given problem.Meta-heuristics are problem-independent techniques that can be applied to abroad range of problems. An heuristic is, for example, choosing a random element for pivoting in Quick sort. A meta-heuristic knows nothing about the problem it will be applied, it can treat functions as black boxes.

You could say that a heuristic exploits problem-dependent information to find a 'good enough' solution to an specific problem, while meta-heuristics are, like design patterns, general algorithmic ideas that can be applied to a broad range of problems.


http://www.researchgate.net/post/What_are_the_differences_between_heuristics_and_metaheuristics


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值