Applications Metaheuristics are used for combinatorial optimization in which an optimal solution is sought over a discrete search-space. An example problem is the travelling salesman problem where the search-space of candidate solutions grows faster than exponentially as the size of the problem increases, which makes an exhaustive search for the optimal solution infeasible. Additionally, multidimensional combinatorial problems, including most design problems in engineering such as form-finding and behavior-finding, suffer from the curse of dimensionality, which also makes them infeasible for exhaustive search or analytical methods. Metaheuristics are also widely used for jobshop scheduling and job selection problems. Popular metaheuristics for combinatorial problems include simulated annealing by Kirkpatrick et al., genetic algorithms by Holland et al., scatter search and tabu search by Glover. Literature review on metaheuristic optimization, suggested that it was Fred Glover who coined the word metaheuristics. Metaheuristic Optimization Frameworks A MOF can be defined as ‘‘a set of software tools that provide a correct and reusable implementation of a set of metaheuristics, and the basic mechanisms to accelerate the implementation of its partner subordinate heuristics (possibly including solution encodings and technique-specific operators), which are necessary to solve a particular problem instance using techniques provided’’. There are many candidate optimization tools which can be considered as a MOF of varying feature: Comet, EvA2, evolvica, Evolutionary::Algorithm, GAPlayground, jaga, JCLEC, JGAP, jMetal, n-genes, Open Beagle, Opt4j, ParadisEO/EO, Pisa, Watchmaker, FOM, Hypercube, HotFrame, Templar, EasyLocal, iOpt, OptQuest, JDEAL, Optimization Algorithm Toolkit, HeuristicLab, MAFRA, Localizer, GALIB, DREAM, Discropt, MALLBA, MAGMA, Metaheuristics.jl, UOF and OptaPlanner. Contributions Many different metaheuristics are in existence and new variants are continually being proposed. Some of the most significant contributions to the field are: 1952: Robbins and Monro work on stochastic optimization methods. 1954: Barricelli carry out the first simulations of the evolution process and use them on general optimization problems. 1963: Rastrigin proposes random search. 1965: Matyas proposes random optimization. 1965: Nelder and Mead propose a simplex heuristic, which was shown by Powell to converge to non-stationary points on some problems. 1965: Ingo Rechenberg discovers the first Evolution Strategies algorithm. 1966: Fogel et al. propose evolutionary programming. 1970: Hastings proposes the Metropolis–Hastings algorithm. 1970: Cavicchio proposes adaptation of control parameters for an optimizer. 1970: Kernighan and Lin propose a graph partitioning method, related to variable-depth search and prohibition-based (tabu) search. 1975: Holland proposes the genetic algorithm. 1977: Glover proposes scatter search. 1978: Mercer and Sampson propose a metaplan