Algorithm, Heuristic and Metaheuristic


The three terms – Algorithm, Heuristic and Metaheuristic – are often used in Engineering fields. Knowing about these terms could be beneficial.  

Algorithms can be considered as any sequence of operations. Computer programs contain algorithms which have detail instructions so that specific tasks can be performed by computer.

Flowcharts and programming languages are most commonly used to express Algorithms.

In optimization problems, heuristic algorithms can be used to find a solution. These algorithms work by getting closer and closer to the optimal solution in a relatively short time as they progress. Tabu search (deterministic algorithm), simulated annealing algorithms (non-deterministic algorithm), genetic algorithms are some of them.   

Heuristics can be termed as strategy derived from previous experiences with similar problems. Many heuristics algorithms are specific and problem dependent.

Metaheuristics may be used for a variety of problems. Metaheuristics efficiently explore the search space to find near optimal solution. Metaheuristics are not problem-specific and algorithms are usually non-deterministic.

To improve local search heuristic for finding better solutions, many metaheuristic ideas were proposed; like – simulated annealing, tabu search etc. These can both be classified as local search based or global search metaheuristics.

Ant colony optimization, Particle swarm optimization, Genetic algorithms are usually population based metaheuristics and global search metaheuristics.

Single solution based metaheuristics include simulated annealing. This approach focuses on improving a single candidate solution. Population based metaheuristics improve multiple candidate solutions. 

References:

Comments

Popular posts from this blog

RC Beam Analysis With ANSYS Step by Step

How to Make 'Payesh' in an Easy Way