Escolar Documentos
Profissional Documentos
Cultura Documentos
MÉTODOS DE
OTIMIZAÇÃO
Algoritmo Genético
MATRÍCULA: 201269013C
201265268AH
201069036A
Juiz de Fora – MG
07/12/2016
1
MÉTODOS DE OTIMIZAÇÃO
Sumário
1 - RESUMO..................................................................................................................................................... 3
2 - INTRODUÇÃO ........................................................................................................................................... 3
3 - TABULEIRO ............................................................................................................................................... 4
3.1 –Regras ...................................................................................................................................................... 4
4 –AGORITMO GENÉTICO (AG) ................................................................................................................. 4
4.1- Características do AG ............................................................................................................................. 5
4.1–ETAPAS .................................................................................................................................................... 7
4.1.1– Inicialização .......................................................................................................................................... 7
4.1.2– Avaliação .............................................................................................................................................. 7
4.1.3– Seleção ................................................................................................................................................. 7
4.1.4– Reprodução .......................................................................................................................................... 7
4.1.4– Mutação ................................................................................................................................................ 7
4.1.4– Taxa de Cruzamento .......................................................................................................................... 8
4.1.5– Taxa de Mutação ................................................................................................................................. 8
4.1.6–Indivíduos............................................................................................................................................... 8
4.1.7 Representação dos Indivíduos ............................................................................................................ 8
4.1.8 Função Aptidão ...................................................................................................................................... 9
5 –METODOLOGIA......................................................................................................................................... 9
5.1 Modelagem do problema ......................................................................................................................10
5.1.2Modelando a FOB.................................................................................................................................11
5 Toolbox ........................................................................................................................................................12
6 - RESULTADOS .........................................................................................................................................14
6.1 Comentários.............................................................................................................................................30
7. CONCLUSÃO ............................................................................................................................................30
8. REFERÊNCIAS BIBLIOGRÁFICAS .......................................................................................................31
2
MÉTODOS DE OTIMIZAÇÃO
1 - RESUMO
2 - INTRODUÇÃO
Algoritmos Evolucionários modelam computacionalmente os processos naturais da evolução,
de modo a construir uma ferramenta para resolução de problemas nas mais diversas áreas do
conhecimento.
Este trabalho tem por definição o uso da toolbox do MatLab que contem esse algoritmo para
se obter a melhor solução na disposição de oito torres em um tabuleiro de xadrez de modo que
nenhuma possa capturar a outra. Esse problema é baseado em matriz quadrada n por n, no nosso
caso uma matriz 8 x 8 no qual o problema inicial não tem nenhuma pista onde as torres possam
estar, o problema tem algumas regras a serem seguidas:
A torre move em linha reta horizontalmente e verticalmente pelo número de casas não
ocupadas, até atingir o final do tabuleiro ou ser bloqueado por outra peça.
A torre não pode pular outras peças.
A torre captura no mesmo caminho em que se move, ocupando a casa onde se
encontra a peça adversária.
A torre pode parar em qualquer casa do tabuleiro, sendo por isso uma das peças mais
poderosas do jogo de xadrez
Mais adiante daremos explicações mais detalhadas do problema e do AG empregado na
resolução.
3
MÉTODOS DE OTIMIZAÇÃO
3 - TABULEIRO
3.1 –Regras
Como citado anteriormente e como ilustrado acima esses são os movimentos possíveis
para a torre, porém o nosso objetivo do problema temos que respeitar as seguintes regra: não se
pode ter duas torres nem na mesma linha e nem na mesma coluna, ou seja, cada torre no final da
aplicação do algoritmo terá a possibilidade de se movimentar livremente em sua linha e coluna
correspondente sem nenhum obstáculo.
4
MÉTODOS DE OTIMIZAÇÃO
4.1- Características do AG
Os AGs são inspirados nos princípios de seleção natural especialmente aqueles declarados
no livro A Origem das Espécies, do inglês Charles Darwin. Essa teoria da evolução das espécies
diz que só os indivíduos mais aptos ao meio ambiente sobrevivem e a estes são dadas a
oportunidade de se reproduzir e deixar suas características em seus descendentes. Segundo o
neodarwinismo, os preceitos básicos do processo de evolução das espécies seriam:
5
MÉTODOS DE OTIMIZAÇÃO
FIGURA 2: ALGORITMO DO AG
Umas das características do AG que se pode chamar atenção é pelo fato de ser uma
técnica probabilística e não determinística, iniciando um AG com a mesma população inicial e o
mesmo conjunto de parâmetros podemos encontra soluções diferentes a cada vez que
executamos o programa.
6
MÉTODOS DE OTIMIZAÇÃO
4.1–ETAPAS
4.1.1– Inicialização
É dada pela geração dos indivíduos. Tipicamente se faz uso de funções aleatórias para
gerar os indivíduos. Existem várias alternativas entre elas o método randômico uniforme ou não
uniforme e inicialização parcialmente enumerativa.
4.1.2– Avaliação
É a primeira etapa de seleção onde cada indivíduo da população é avaliado para que seja
determinado o seu grau de adaptação. É criada uma função aptidão para essa avaliação com ou
sem penalização.
4.1.3– Seleção
O método de seleção de pais deve simular o mecanismo de seleção natural. Fará com que
depois de muitas gerações, o conjunto inicial de indivíduos gere indivíduos mais aptos. Pode se
utilizar vários métodos exemplo: por ranking, torneio, uniforme ou da roleta. O mais utilizado é o
método da roleta, onde é criado uma roleta (virtual) na qual cada indivíduo é representado na
roleta proporcional à sua avaliação, roda-se essa roleta e cada indivíduo recebe o valor sobre o
qual parar.
4.1.4– Reprodução
Uma vez selecionados os indivíduos são recombinados entre eles para geração de novos
‘’filhos’’.
4.1.4– Mutação
A mutação opera sobre os indivíduos resultantes do processo de cruzamento e com uma
probabilidade pré-determinada efetua algum tipo de alteração em sua estrutura.
Após estes passos os indivíduos são atualizados formando uma nova população.
Com uma população pequena o desempenho pode cair, pois deste modo a população
fornece uma pequena cobertura do espaço de busca do problema. No entanto, para se trabalhar
com grandes populações, são necessários maiores recursos computacionais, ou seja, maior o
tempo gasto.
7
MÉTODOS DE OTIMIZAÇÃO
4.1.6–Indivíduos
Os indivíduos são a unidade fundamental de um algoritmo genético: eles codificam
possíveis soluções para o problema a ser tratado, e é através de sua manipulação que respostas
são encontradas.
8
MÉTODOS DE OTIMIZAÇÃO
(Problemas de Maximização)
(Problemas de Minimização)
5 –METODOLOGIA
O primeiro passo para solucionar o nosso problema é modelar o problema das torres afim
de minimizar o problema, para modelarmos adotamos as seguintes variáveis na qual foi aplicada
para cada problema proposto.
9
MÉTODOS DE OTIMIZAÇÃO
10
MÉTODOS DE OTIMIZAÇÃO
5.1.2Modelando a FOB
11
MÉTODOS DE OTIMIZAÇÃO
fob4 = 8-((x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)+x(8)-1)+(x(9)+x(10)+x(11)+x(12)+x(13)+x(14)+x(15)+x(16)-
1)+(x(17)+x(18)+x(19)+x(20)+x(21)+x(22)+x(23)+x(24)-
1)+(x(25)+x(26)+x(27)+x(28)+x(29)+x(30)+x(31)+x(32)-1)+
(x(33)+x(34)+x(35)+x(36)+x(37)+x(38)+x(39)+x(40)-1)+(x(41)+x(42)+x(43)+x(44)+x(45)+x(46)+x(47)+x(48)-
1)+ (x(49)+x(50)+x(51)+x(52)+x(53)+x(54)+x(55)+x(56)-
1)+(x(57)+x(58)+x(59)+x(60)+x(61)+x(62)+x(63)+x(64)-1)+ (x(1)+x(9)+x(17)+x(25)+x(33)+x(41)+x(49)+x(57)-
1)+(x(2)+x(10)+x(18)+x(26)+x(34)+x(42)+x(50)+x(58)-1)+ (x(3)+x(11)+x(19)+x(27)+x(35)+x(43)+x(51)+x(59)-
1)+(x(4)+x(12)+x(20)+x(28)+x(36)+x(44)+x(52)+x(60)-1)+ (x(5)+x(13)+x(21)+x(29)+x(37)+x(45)+x(53)+x(61)-
1)+(x(6)+x(14)+x(22)+x(30)+x(38)+x(46)+x(54)+x(62)-1)+ (x(7)+x(15)+x(23)+x(31)+x(39)+x(47)+x(55)+x(63)-
1)+(x(8)+x(16)+x(24)+x(32)+x(40)+x(48)+x(56)+x(64)-1)+
((x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)+x(8)+x(9)+x(10)+x(11)+x(12)+x(13)+x(14)+x(15)+x(16)+x(17)+x(18)+
x(19)+x(20)+x(21)+x(22)+x(23)+x(24)+
x(25)+x(26)+x(27)+x(28)+x(29)+x(30)+x(31)+x(32)+x(33)+x(34)+x(35)+
x(36)+x(37)+x(38)+x(39)+x(40)+x(41)+x(42)+x(43)+x(44)+x(45)+x(46)+x(47)+x(48)+x(49)+x(50)+x(51)+x(52)
+ x(53)+x(54)+x(55)+x(56)+x(57)+x(58)+x(59)+x(60)+x(61)+x(62)+x(63)+x(64))-8))
fitness = fob4;
Ou seja, colocamos como sendo o valor da nossa Fob no caso escolhemos o nome de
fob4 sendo igual a 8, se o nosso problema convergir para a melhor solução nossa FOB será igual
a 8, temos que ressaltar que o AG trabalha com probabilidade, ou seja ao executá-lo várias vezes
de pendendo dos parâmetros adotados ele nem sempre encontrará o melhor resultado, mas o
mesmo serão mostrados nas simulações.
Vale ressaltar que cada restrição pode ter um objetivo, uma importância maior na nossa
Fob, porém no nosso caso todas as restrições apresentam o mesmo grau de importância, sendo
assim não precisaremos penalizar nossa Fob caso não encontre o valor da Fob desejada.
O arquivo com as restrições e a com a função é salvo como fob4.m na pasta que
escolhemos para trabalhar no MatLab, o mesmo depois é usado na toolbox do AG no MatLab.
5 Toolbox
O Matlab possui uma toolbox capaz de resolver um AG tendo apenas que passar alguns
parâmetros a mesma como o arquivo da FOB, o número de variáveis, população, número de
gerações, os coeficientes das restrições não lineares.
Após a elaboração do problema chamamos a toolbox do AG no MatLab e passamos a ela
os seguintes parâmetros mostrado na figura a abaixo:
12
MÉTODOS DE OTIMIZAÇÃO
13
MÉTODOS DE OTIMIZAÇÃO
Além disso habilitamos o gráfico que o AG proporciona para vermos o resultado, dessa
forma obtivemos as seguintes respostas.
6 - RESULTADOS
14
MÉTODOS DE OTIMIZAÇÃO
15
MÉTODOS DE OTIMIZAÇÃO
16
MÉTODOS DE OTIMIZAÇÃO
17
MÉTODOS DE OTIMIZAÇÃO
18
MÉTODOS DE OTIMIZAÇÃO
19
MÉTODOS DE OTIMIZAÇÃO
20
MÉTODOS DE OTIMIZAÇÃO
21
MÉTODOS DE OTIMIZAÇÃO
22
MÉTODOS DE OTIMIZAÇÃO
23
MÉTODOS DE OTIMIZAÇÃO
24
MÉTODOS DE OTIMIZAÇÃO
25
MÉTODOS DE OTIMIZAÇÃO
26
MÉTODOS DE OTIMIZAÇÃO
27
MÉTODOS DE OTIMIZAÇÃO
28
MÉTODOS DE OTIMIZAÇÃO
29
MÉTODOS DE OTIMIZAÇÃO
6.1 Comentários
Podemos observar nas simulações que se mantermos uma reprodução adequada ao
problema podemos ter um aproveitamento maior do que se mantermos uma taxa muito baixa.
Na simulação com população de 300 indivíduos usando o default do MatLab em total de 8
simulações 2 não convergiram para o esperado, seja, houve 75% de aproveitamento, enquanto
na simulação com 300 indivíduos e trabalhando com uma reprodução igual a 100 tivemos um
melhor aproveitamento, de 100%, porém o método é probabilístico, pode ser que em demais
simulações almas podem não convergir para o valor esperado.
7. CONCLUSÃO
30
MÉTODOS DE OTIMIZAÇÃO
8. REFERÊNCIAS BIBLIOGRÁFICAS
[1] LUCAS, Diogo C. Algoritmos Genétios: uma Introdução. Porto Alegre, 2002. 48 p. Disciplina de
Ferramentas de Inteligência Artificial .
31