Análise dos Algoritmos Método do Gradiente e Algoritmo Colônia de Vagalumes Aplicado a um Problema de Engenharia
Palavras-chave:
Algoritmo, Computação Bio-inspirada, EngenhariaResumo
A busca por soluções mais eficientes em Engenharia evolui em relevância com o passar do tempo, seja na distribuição de recursos ou no tempo de execução de determinadas tarefas. Na otimização irrestrita, as situações passam por uma modelagem matemática que tem como finalidade minimizar ou maximizar uma função objetivo. Este estudo tem como objetivo analisar a eficiência dos Algoritmos Colônia de Vagalumes e Método do gradiente na resolução de um problema de busca da posição ótima de Equilíbrio entre duas molas interligadas em suas extremidades. Neste problema a Energia Potencial Elástica (EPE) deve ter valor mínimo para manter o estado de equilíbrio após ser realizado deslocamento horizontal e vertical na extremidade das molas. Para a implementação dos algoritmos foi utilizada a linguagem de programação Python, sem a presença de bibliotecas nativas de otimização. A plataforma versátil e gratuita Google Colab foi utilizada como apoio operacional por possuir a possibilidade de colaboração em tempo real. A estrutura inicial dos algoritmos é semelhante e inicialmente são criadas as constantes que descrevem o problema real, sendo estas, as forças P1 e P2, aplicadas respectivamente de forma horizontal e vertical no sistema, seus comprimentos L1 e L2, suas constantes de elasticidade individuais K1 e K2 e as variáveis x1, x2 e a função z (x1, x2). A função z representa a EPE do sistema e será minimizada de forma iterativa por meio das variáveis x1 e x2, respectivamente o deslocamento horizontal e vertical ocasionados pelas forças P1 e P2. O algoritmo da Colônia de Vagalumes possui construção estocástica e é bio-inspirado no comportamento dos vagalumes, quando estão dispostos em colônias, por meio de processamento iterativo com valores pseudoaleatórios. São calculadas as posições atuais dos “vagalumes” e estas representam o valor da função z a ser minimizada. Quando estas posições convergem para um valor próximo, dado um critério de convergência ou parada, então a função teve seu valor mínimo ou máximo encontrado. Já para o algoritmo de Método do gradiente, é gerado um ponto inicial da função e a cada iteração é calculado o valor do gradiente da função e o ponto a ser percorrido na próxima iteração deve ser orientado a seguir a direção do gradiente, até alcançar o critério de parada definido. Os valores de minimização encontrados para a função que descreve a EPE do sistema seguem a conformidade com os trabalhos da literatura que foram utilizados como referência e o esforço computacional foi semelhante entre os dois algoritmos, com margem de diferença de tempo de execução de 10% entre os algoritmos.