Imperialist Competitive Algorithm (ICA), also known as Colonial Competitive Algorithm (CCA), is a sociopolitical metaheuristics, inspired by historical colonization process and competition among imperialists, to capture more colonies. Set of countries (solutions) in ICA, is partitioned to form several Empires, which contains a single Imperialist and several other weaker countries, called Colonies. This algorithm is proposed by Esmaeil Atashpaz Gargari ...

Read More »# Metaheuristics

## Tabu Search (TS) in MATLAB

Tabu Search (TS) is a local search-based metaheuristic, which is proposed by Fred W. Glover, in 1986. Tabu Search is completely based on the definition of neighborhood and actions converting a solution to its neighboring solutions. This algorithms starts with a single solution, and searches for better solutions, applying actions and moving between neighbor solutions. However, acceptance, applicability and availability ...

Read More »## Biogeography-Based Optimization (BBO) in MATLAB

Biogeography-Based Optimization (BBO) is an evolutionary algorithm and metaheuristic, which is inspired by the biogeographic concepts: speciation (the evolution of new species), the migration of species between islands, and the extinction of species. The algorithm is originally proposed by Dan Simon, in 2008, in this paper. This algorithm is based on a mathematical model, describing the migration of species between ...

Read More »## CMA-ES in MATLAB

Evolution Strategy (ES) is the first and oldest evolutionary algorithm, and it is based on the adaptation and evolution. Specially, the main concept used to describe how Evolution Strategy works, is the Evolution of Evolution. In fact, evolution strategy is a family of related algorithms, and because of this, the plural name Evolution Strategies is also widely used, in the ...

Read More »## Differential Evolution (DE) in MATLAB

Differential Evolution (DE) is an evolutionary algorithm, which uses the difference of solution vectors to create new candidate solutions. The key points, in the usage of population differences in proposition of new solutions, are: The distribution of population and its orientation is hidden in the differences of population members. According to the Central Limit Theorem, as the population size increases, ...

Read More »## Simulated Annealing in MATLAB

Simulated Annealing (SA) is a metaheuristic, inspired by annealing process. SA starts with an initial solution at higher temperature, where the changes are accepted with higher probability. So the exploration capability of the algorithm is high and the search space can be explored widely. As the algorithm continues to run, the temperature decreases gradually, like the annealing process, and the ...

Read More »## Harmony Search in MATLAB

Harmony Search (HS) is a global optimization algorithm which inspired by harmony improvisation process of musicians, proposed by Zong Woo Geem in 2001. Every solution in this algorithm is called a Harmony and there is an archive of promising solutions, called Harmony Memory (HM). For more information on Harmony Search, you can read the related article in Wikipedia (here). At ...

Read More »## Teaching-Learning-based Optimization in MATLAB

Teaching-Learning-based Optimization (TLBO) is a metaheuristic, inspired by process of Teaching and Learning, via a simplified mathematical model of knowledge improvements gained by students in a class. This algorithm is proposed by Rao, Savsani and Vakharia in 2011, in this paper. In this post, we are going to share with you, the open-source MATLAB implementation of Teaching-Learning-based Optimization (TLBO) algorithm. ...

Read More »## Shuffled Complex Evolution in MATLAB

Shuffled Complex Evolution (SCE-UA) is a metaheuristic for global optimization, proposed by Duan, Gupta and Sorooshian, in 1992. Because SCE is the abbreviated name of other methods in the science, the UA is added to the abbreviated name of this algorithm, because the creators of this algorithm are members of University of Arizona. In SCE-UA, the population is divided into ...

Read More »## Shuffled Frog Leaping Algorithm in MATLAB

Shuffled Frog Leaping Algorithm (SFLA) is a metaheuristic, or more accurately it is a Memetic Algorithm, which is inspired by frog leaping. SFLA is based on the model used by Shuffled Complex Evolution (SCE-UA), and incorporated the memetic evolution into it. It is applicable to any kind of optimization problems, discrete, continuous or mixed, via modification of operators used in ...

Read More »