what is difference between heuristic and meta-heuristic algorithms. How can we say a algorithm whether it is heuristic or meta-heuristic algorithm? Thank you in advance.
Heuristics (or heuristic search): An informed search technique that systematically explores a state-space (Pearl, 1984) under a constant searching rule.
Examples are the First-come-first-served (FCFS) and Earliest-due-date (EDD) for flow shop scheduling, Greedy search for 2D bin packing (see https://en.wikipedia.org/wiki/Greedy_algorithm).
Meta-heuristics: High-level strategies for guiding a search (Glover, 1986) according to feedback from the objective function, previous decisions and prior performance (Stutzle, 1998). In other words, the rules of a meta-heuristic consist of (at least) two orders, such that the overall searching behavior keeps changing while exploring the state-space.
Examples include Variable Neighborhood Search (VNS, see https://en.wikipedia.org/wiki/Variable_neighborhood_search) and Ant Colony Optimization (ACO, see https://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms) for the traveling salesman problem.
References
Pearl, J. (1984). Heuristics: intelligent search strategies for computer problem solving. Addison-Wesley, Reading, MA.
Glover, F. (1986). Future paths for integer programming and links to artificial intelligence. Computers & Operations Research, 13(5), 533–549. doi:10.1016/0305-0548(86)90048-1
Stutzle, T. (1998). Local search algorithms for combinatorial problems — analysis, improvements, and new applications. (Doctoral dissertation, Department of Computer Science, University of Essex, Colchester, UK).
I think the main difference is related to the goal of the algorithm, the heuristics typically are used for a specific problem (example, the silver meal heuristic for inventory problems) and metaheuristics have a structure for solving different problems (simulated annealing, GA, ant colony)
Heuristic algorithms are based on trail and error whereas meta heuristics can be bifurcated to meta plus heuristics I.e. added heuristics. Meta heuristics add randomization to heuristics which generally helps these algorithms to reach near to optimal solutions even in the complex problems where heuristic algorithms fail. In other words meta heuristics combine exploration and exploitation while looking for acceptable solutions.
Heuristics are design as solution methods for specific problems. Meta-heuristics are design to solve different type of problems. For example evolutionary algorithms are meta-heuristics.
A simpler manner to understand the difference is to consider heuristic as a local search algorithm where one tries to continuously evolve solutions using a perturbation mechanism. In general those mechanisms lead the search to a "local trap" and the search stops as it is not able to improve solutions any more.
A metaheuristic is a second generation local search provided with a (meta) mechanism which is able to lead the search from being trapped, allowing the improvement to continue.
Heuristics designed to obtain the specific solution for problem and the solution examed by several experimental, thus the solution is good, near optimal. Meta-heuristics designed the general structure to solve different type of problems, each of these structures used to solve different problem as Tabu search, Ant,....
Both approaches are search algorithms. Consider the maze problem in which there are a rabbit and a carrot in that. Now, the rabbit asks you an algorithm to find the carrot.
In the heuristic approach, you suggest it proceed to the rightmost alley when it reached multiple-ways. The rabbit will finally find the carrot if the maze is static and doesn't change during the search. This approach is just fit for the maze. You can't suggest this approach for the n-queen or scheduling problems. The heuristic approach usually uses a greedy search based on common sense or experimental metrics. If we can prove that the selected metric always finds the best answer in a multi-way, we can be sure the proposed metric always can find an optimal solution.
In the meta-heuristic approach, you can ask the rabbit to select a random alley each time it reached to multiple-way. Finally, maybe the rabbit can find the carrot even the maze be dynamically changing, but it may take more time than the heuristic approach. Besides, random selection can be used in every problem like scheduling or n-queen. The meta-heuristic algorithms try to converge search space to the solution by saving some searched paths (states) and predict their distance to the solution. For example, the cost of a path can be a metric for a maze or the scheduled jobs or number of arranged queens. Unfortunately, it is not possible to prove the optimality of a meta-heuristic algorithm. So, we use meta-heuristic algorithms when a local optimal solution is enough, too. Besides, the meta algorithms usually can find the local optimum solution, faster than heuristic algorithms.
There are many problems with both approaches. Both can be locked in local optimum solutions. For example, if there are two baskets of carrots, both approaches may find the small basket first and stop there and don't try to find the next basket.
References:
Russell, Stuart, and Peter Norvig. "Artificial intelligence: a modern approach." (2002).
Heuristic is problem-dependent solution strategy where Meta-heuristic is problem-independent solution strategy. For example, if you want to get the best shooting speed for a soccer robot, you can use a specific heuristic. This is heuristic way. Because, it doesn't necessarily mean, the same heuristic will also be useful to get the best throwing speed of a basketball to score. But, if you design a strategy with parameters to tune which can be applicable to both problems, then it will be a meta-heuristic.
Metaheuristics is a heuristic of heuristic, i.e. metaheuristic algorithm is an algorithm that when solving a particular problem, we have to split the algorithm into several parts, these separate parts are solved by the heuristic algorithm and the merging of the parts is also done by the heuristic approach.
Heuristics are often problem-dependent, that is, you define a heuristic for a given problem. Metaheuristics are problem-independent techniques that can be applied to a broad range of problems.
Attached are 2 papers related heuristics approach.
Article Solving Order Planning Problem Using a Heuristic Approach: T...
Article A Computational Model for Determining Levels of Factors in I...