You are on page 1of 8

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS DE


COMUNICAÇÃO E AUTOMAÇÃO

MATHEUS FONSECA BASTOS

ALGORITMO GENÉTICO: INSTALAÇÃO DA CENTRAL


DO SAMU

Mossoró/RN
2018
1. Introdução

A otimização de um processo consiste em encontrar os valores das entradas de forma a


obter os melhores valores de saída. A definição de “melhor” varia de problema para problema,
mas, em termos matemáticos, refere-se à maximização ou minimização de uma ou mais funções
objetivas, variando os parâmetros de entrada.
O espaço de busca compõe o conjunto de todas as possíveis soluções ou valores que as
entradas podem tomar. Neste espaço de busca, existe um ponto ou um conjunto de pontos que
fornece a solução ideal. O objetivo da otimização é encontrar esse ponto ou conjunto de pontos
no espaço.
Mas o que a otimização tem a ver com Algoritmos Genéticos (AG)? Os AG são
algoritmos baseados em pesquisas de seleção natural e genética. É um subconjunto do ramo da
computação mais conhecido como Computação Evolutiva. Os AG têm como principal objetivo
a busca pelo “melhor” resultado ou problema, ou seja, otimizar o processo.
Nos AG, temos uma população (números de indivíduos) de possíveis soluções para um
dado problema. Essas soluções passam por recombinações e mutações (genética atual),
produzindo novos filhos e o processo se repete ao longo de várias gerações. Cada indivíduo
recebe um valor de aptidão (com base em seu valor da função objetivo) e os indivíduos com
“melhor” valor de aptidão têm maior chance de acasalar e produzir indivíduos mais aptos. De
acordo com a Teoria Darwiniana da Sobrevivência do Mais Apto.
O processo de “evolução” ou busca pela “melhor” solução ao longo das gerações
continua até ser definido um critério de parada. O critério de parada, pode ser definido pelo
número de interações.

2. Algoritmos Genéticos - SAMU

O objetivo principal deste trabalho é criar um algoritmo genético capaz de realizar de


forma otimizada o processo de busca para instalação de uma central do SAMU. O algoritmo
deve ser desenvolvido através da frequência de chamada geradas em cada bairro, conforme é
representado pela Figura 1. Com base nos bairros com maior frequência de chamadas, o
algoritmo deve indicar a posição de instalação da central.
Figura 1: Representação do Problema

Fonte: Notas de Aula

Funcionamento:

1- Determinar uma população inicial


2- Avaliar cada indivíduo da população através do cálculo de sua aptidão, utilizando a
função objetivo
3- Selecionar os melhores indivíduos para a próxima geração, em função dos seus
desempenhos apurados no passo anterior.
4- Gerar indivíduos através da aplicação das operações de cruzamento (crossover) e
mutação sobre os indivíduos selecionados no passo anterior, criando uma nova geração
(reprodução).
5- Caso o critério de parada for satisfeito, termina e retorna o melhor individuo (posição)
gerado, senão volta ao passo 2.

Inicialização da População

Os AG se iniciam através de uma população (que pode ser gerada aleatoriamente ou


semeada por outras heurísticas). A população é geralmente definida como uma matriz
bidimensional. Foi observado que a população não deve ser inicializada usando uma heurística,
pois pode resultar em uma população com soluções similares e com pouca diversidade. Foi
observado experimentalmente que as soluções aleatórias (randômica) são as que levam a
população à um resultado otimizado.
A Figura 2 ilustra a etapa inicial do algoritmo genético (valores fixados) e a geração
aleatória da população (de forma randômica). Onde foram gerados aleatoriamente uma
população com 100 indivíduos, com uma taxa de mutação de 0.5%.

Figura 2: Geração da População

Fonte: Autoria Própria

Cálculo de Aptidão

A função de aptidão simplesmente define o quão boa a solução é em relação ao problema


em consideração. O cálculo da aptidão verifica as restrições definidas no problema. Cada
restrição recebe um peso de acordo com a importância, sendo que o valor de aptidão varia entre
0 e 100, sendo 100 o valor ótimo. Foi criado uma função (fobj) com os pesos e a função objetivo,
conforme mostra a Figura 3.
Figura 3: Função Objetiva

Fonte: Autoria Própria

Método de Seleção
A seleção de indivíduos pelo método do torneio consiste em, escolher um número de
indivíduos (geralmente são 2) aleatoriamente da população e o melhor é selecionado. Os
indivíduos são selecionados para os torneios com probabilidades iguais.
A desvantagem deste método é que a probabilidade dos melhores indivíduos serem
escolhidos diminui bastante se comparado com o método da roleta.
A Figura 4 representa a implementação do método torneio.

Figura 4: Método Torneio

Fonte: Autoria Própria


Reprodução

O processo de reprodução (crossover) envolve mais de um indivíduo, que gera


fragmentos entre os pares dos indivíduos. De forma simples, trata-se de um processo aleatório
que ocorre com probabilidade fixa, que deve ser especificada pelo usuário conforme Figura 5.

Figura 5: Reprodução (crossover)

Fonte: Notas de Aula

A Figura 6 representa a implementação do processo de reprodução através de dois pais.

Figura 6: Implementação Crossover

Fonte: Autoria Própria


Elitismo

O Elitismo garante que os melhores indivíduos de uma população não sejam perdidos.
Desta forma os melhores indivíduos de uma população são reproduzidos na população seguinte.
A Figura 7 representa a implementação do Elitismo.

Figura 7: Implementação Elitismo

Fonte: Autoria Própria

Mutação

O processo de mutação em AG é equivalente à busca aleatória. Basicamente, seleciona-


se uma posição num cromossomo e muda-se o valor do gene correspondente aleatoriamente
para um outro alelo possível. O processo é geralmente controlado por um parâmetro fixo, que
indica a probabilidade de um gene sofrer mutação.
A mutação tem como objetivo apenas trocar os alelos de posição no indivíduo. Para cada
indivíduo de cada espécie é sorteada a posição de forma aleatória e o conteúdo da posição é
trocado.

Figura 8: Mutação

Fonte: Autoria Própria


Resultado

Foi possível observar diferentes resultados para diferentes simulações. Observou que a
função de aptidão tem uma variação entre 50-100 em seu custo. Percebe-se que por ser um
algoritmo genético que gera sua população de forma aleatória (randômica), os resultados não
serão iguais.

Referências

CASILLO, L. A.; VALE, M. R. B. G.; Notas de aula: Algoritmo Genético.

You might also like