Implementação das meta-heurísticas ABC, ACO e PSO para aplicações de machine learning

Otimização de Sistemas (ou Otimização Combinatória) é uma rica área de pesquisa dentro do arcabouço da Inteligência Artificial.

De modo simples, métodos de otimização, a partir de modelos matemáticos de um determinado problema, visam escolher a melhor combinação de valores de um espaço de busca(variáveis de decisão) que permitam maximizar ou minimizar uma determinada medida pré-estabelecida, considerando um conjunto de restrições.

Vale destacar que diversas são as aplicações dos métodos de otimização. Por exemplo, estes podem ser aplicados para realizar a distribuição de recursos produtivos em uma fábrica (de modo a diminuir os custos de produção), planejar o roteamento de veículos (melhorando a distribuição logística) e até mesmo realizar o ajuste de parâmetros de uma rede neural (visando aumentar a eficiência de sua execução).

Estes métodos podem ser classificados de diversas formas, como exatos ou heurísticos, dependendo da estratégia de resolução, que varia de acordo com vários fatores como a complexidade ou característica do espaço de busca do problema explorado.

Pensando nisso, disponibilizo em meu Github a implementação clássicas dos algoritmos Ant Colony Optimization (ACO), Particle Swarm Optimization (PSO) e Artificial Bee Colony (ABC) utilizando a linguagem MATLAB.

Estes algoritmos são exemplos de meta-heurísticas poderosas, as quais se baseiam em comportamentos biológicos para otimização de funções.

Segue o link: https://github.com/diegocavalca/machine-learning/tree/master/optimization/metaheuristics

Written by Diego Cavalca

Graduado em Análise e Desenvolvimento de Sistemas pela UNILINS em 2012, atualmente Mestrando em Ciência da Computação na Universidade Federal de São Carlos (UFSCar).