A heuristic is a set of rules for solving problems or making decisions. In computer science, heuristics are the foundation of algorithms. Metaheuristics are larger principles or guidelines that establish the heuristics used to create algorithms.

Both heuristics and metaheuristics apply to computer programming. A heuristic applies to a specific problem, while a metaheuristic is a general guideline that is problem-independent. Developers use metaheuristics to produce consistent programming practices, while they develop heuristics for specific solutions.

For example, a software development team may build a search engine using both metaheuristics and heuristics. Below are examples of each:

Search Metaheuristics

The following metaheuristics apply to all search engines:

  1. create an index of searchable data to improve search efficiency
  2. use a "fuzzy search" to search for terms similar to keywords entered by the user, instead of only exact matches
  3. order results by most relevant to least relevant

Search Heuristics

The following heuristics may apply to a specific type of search engine:

  1. produce search results that are most relevant to the user's location
  2. customize search results based on information stored in the user's account
  3. use search history to provide a list of autocomplete search phrases

The first list above provides general guidelines for an effective search engine. The second list provides specific features a search engine should have. In some cases, heuristics and metaheuristics may overlap in their scope. The best way to distinguish between the two is to determine if it is a general rule (metaheuristic) or if it applies to a specific problem/solution (heuristic).

Updated December 5, 2020

Definitions by

The definition of Metaheuristic on this page is an original definition. If you would like to reference this page or cite this definition, you can use the green citation links above.

The goal of is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about the Metaheuristic definition or would like to suggest a new technical term, please contact us.

Want to learn more tech terms? Subscribe to the daily or weekly newsletter and get featured terms and quizzes delivered to your inbox.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.