Summary: | Os Algoritmos Evolutivos são tema de estudo há décadas e se baseiam na evolução através de gerações de populações cujos indivíduos são estruturas que representam possíveis soluções de um problema. Os chamados Algoritmos Genéticos estão nesse grupo de algoritmos e sua eficácia na aplicação a problemas de otimização combinatória está registrada em muitos trabalhos científicos. Recentemente tem sido objeto de estudo o Algoritmo Genético Construtivo (AGC), que trabalha com uma população de tamanho variável ao longo das gerações, não somente formada por estruturas, mas também por partes de estruturas. Este trabalho contribui com esse estudo apresentando uma adaptação do AGC para trabalhar com uma população formada apenas por partes de estruturas, criando estruturas não somente através da combinação dessas partes, mas também com complementação das partes selecionadas, e ainda utilizando um processo de busca local como mutação aplicada às estruturas. O processo mantém salva apenas a melhor estrutura eventualmente formada com a combinação ou complementação das partes na população. O estudo foi feito com a aplicação do AGC a três problemas de otimização muito estudados: Coloração de Grafos, Projeto de Células de Manufatura e Formação de Horários Escolares. O problema de Coloração de Grafos tem muitas aplicações práticas, essencialmente na formação de grupos de objetos sem incompatibilidades entre si. O problema de Projeto de Células de Manufatura está presente em ambientes de produção de peças utilizando máquinas, tratando de agrupar essas máquinas de modo a criar células de produção em que peças são completamente produzidas dentro da célula, evitando o transporte de produtos semi-acabados. O problema de Formação de Horários Escolares (Timetabling)tem importância evidente em instituições de ensino e sua automação se justifica por uma constante e cíclica demanda. Todos os problemas estudados foram considerados como problemas de formação de agrupamentos. O código do AGC foi escrito especificamente para cada problema a partir de uma estrutura básica e foi executado em microcomputadores e estações de trabalho, produzindo bons resultados para instâncias tomadas da literatura, criadas para testes ou mesmo instâncias reais. === Evolutionary Algorithms has been a research subject for decades and are based on evolving populations of possible solutions for a problem along generations. Genetic Algorithms belong to this group and many scientific works have registered their efficiency applied to combinatorial optimization problems. Recently, the Constructive Genetic Algorithm (CGA)has been studied. This algorithm works with a variable size population over the generations, the population is formed not only by complete problem solutions but also problem solutions parts. This work contributes to the study of such algorithm by introducing a CGA adaptation that works with populations composed only by solution parts, creating complete solution not only by parts combination by also by parts complementation, and finally using a local search method as a mutation process over the complete solutions. This process keeps the best solution eventually found. The study was made using three very known optimization problems: Graph Coloring, Manufacturing Cell Design and School Timetabling. The Graph Coloring problem has many practical applications. It can be applied every time a set formed by objects with some incompatibility among its elements has to be partitioned into subsets with no incompatibilities inside. The Manufacturing Cell Design problem importance resides in planning environments to produce parts using machines, forming machine cells to completely produce parts, reducing the movement of non-completely produced parts. The School Timetabling problem has obvious importance for education institutions and its cyclic demand justify automation by using algorithms. All problems considered were seen as clustering problems. The AGC code was specifically written for each problem using a common base and was executed in microcomputers and workstations, producing good results for test instances taken from the literature, instances specially created for tests, and instances taken from the real word.
|