Evolutionary computation algorithms are employed to minimize functions with large number of variables. Biogeography-based optimization (BBO) is an optimization algorithm that is based on the science of biogeography, which researches the migration patterns of species. These migration paradigms provide the main logic behind BBO. Due to the cross-disciplinary nature of the optimization problems, there is a need to develop multiple approaches to tackle them and to study the theoretical reasoning behind their performance. This manuscript intends to explain the mathematical model of BBO algorithm and its variants created to cope with continuous domain problems (with and without constraints) and combinatorial problems.