A metaheuristic algorithm is a search procedure designed to find, a good solution to an optimization problem that is complex and difficult to solve to optimality. It is imperative to find a near-optimal solution based on imperfect or incomplete information in this real-world of limited resources (e.g., computational power and time). The emergence of metaheuristics for solving such optimization problems is one of the most notable achievements of the last two decades in operations research. There are challenges that call for attention to develop better solutions over existing traditional approaches. Different metaheuristic algorithms are described by authors that are pretty extensive to various applications to solve non-linear non-convex optimization problems. Metaheuristics can often find good solutions with less computational effort than optimization algorithms, iterative methods, and simple greedy heuristics. There are different varieties of problems that are impractical to solve using an optimization algorithm to global optimality. For example, an optimization problem becomes complex when there are stochastic random variables present in the objective or constraints. Hence, it is not easy to solve large-scale stochastic programs using stochastic programming or robust optimization techniques. Metaheuristic can play a key role in different domains. In essence, many optimization problems are multi-objective functions with non-linear constraints. For instance, most of the engineering optimization problems are highly non-linear that demand solutions to multi-objective problems. On the other hand, artificial intelligence and machine learning problems rely heavily on large datasets, and it is difficult to formulate the optimization problem to solve for optimality. Therefore, metaheuristics play a significant role in solving practical problems that are difficult to solve. Now, let us explore some metaheuristic algorithms. In addition to their algorithmic perspective, a real-life scenario of emergency response allocation of marine accidents and the application of metaheuristics will be exemplified.
This repository will be updated regularly with different metaheuristics algorithms coded on MATLAB.