Você está na página 1de 48

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/281556757

Otimização com Algoritmos Genéticos no MATLAB (Mini-Curso)

Research · September 2015


DOI: 10.13140/RG.2.1.4657.5848

CITATIONS READS

0 8,073

1 author:

Rafael Saraiva Campos


Centro Federal de Educação Tecnológica Celso Suckow da Fonseca (CEFET/RJ)
49 PUBLICATIONS   210 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

RF Positioning View project

Calculus View project

All content following this page was uploaded by Rafael Saraiva Campos on 07 September 2015.

The user has requested enhancement of the downloaded file.


Otimização com Algoritmos
Genéticos no MATLAB

Prof. Rafael Saraiva Campos


CEFET-RJ
Conteúdo do Mini-Curso

PARTE 1 – Teoria PARTE 2 – Prática


Conteúdo do Mini-Curso
PARTE 1 – Teoria

1.1. Conceitos Básicos de Inteligência


Artificial (AI)

1.2. Otimização com Algoritmos


Genéticos (GA)

1.3. Implementação de GA no MATLAB


utilizando a GAOT (Genetic Algorithm
Optimization Toolbox)
Conteúdo do Mini-Curso
PARTE 2 – Prática
2.2. Localização de
2.1. Otimização da RAN em
terminais móveis em redes
telefonia móvel celular
de telefonia móvel celular
1.1) Conceitos Básicos de AI
Técnicas de AI

Redes Neurais Artificiais Sistemas Especialistas Lógica Fuzzy

Algoritmos Genéticos

Aprendizado de Máquina
1.1) Conceitos Básicos de AI
Inteligência e Aprendizado

Inteligência

Aprendizado

Experiência Generalização
Memória
1.1) Conceitos Básicos de AI
Aprendizado de Máquina

Tipos Máquinas

Aprendizado Redes Neurais Artificiais (RNA),


Supervisionado Árvores de Decisão

Aprendizado Não- Camadas de Kohonen,


Supervisionado Mapas Auto-Organizáveis

Aprendizado Algoritmos Genéticos,


Evolucionário Computação Evolutiva
1.1) Conceitos Básicos de AI
Aprendizado Supervisionado

Representação Esquemática do Aprendizado Representação Esquemática de uma RNA


de Máquina Supervisionado do tipo Backpropagation
1.1) Conceitos Básicos de AI
Aprendizado Não-Supervisionado

Camada de Kohonen

Mapa Auto-Organizável
(SOM)
Clusterização (sem alvos pré-definidos)
1.1) Conceitos Básicos de AI
Aprendizado Evolucionário
Baseado na seleção natural e evolução das espécies
(Teoria da Evolução – Charles Darwin, 1859)

Indivíduos (População) Meio-Ambiente

Seleção Natural

Reprodução, Mutação
1.1) Conceitos Básicos de AI
Aplicações de AI – Classificação com Back. ANNs
1.1) Conceitos Básicos de AI
Aplicações de AI – Clusterização com Camada de Kohonen / SOM
1.1) Conceitos Básicos de AI
Aplicações de AI – Otimização com GA
1.2) Otimização com GA
Visão Geral

Maximização
Função Objetivo
Minimização

Busca Paralela Busca


Adaptativa Probabilística
Algoritmos Genéticos

Inspirada na Inspirada na
Seleção Natural Recombinação
Genética
1.2) Otimização com GA
Visão Geral

População
Avaliação Seleção Reprodução
Inicial

NÃO Critério
Gera nova
de
população
Parada
SIM

FIM
1.2) Otimização com GA
Componentes Básicos
Selecionando para Reprod. Aplicando Operadores Genéticos
Primeira Geração (criando o mating pool ou parent pop.) (criando a offspring)

Indivíduo 𝑓(𝑥) Função de Avaliação Crossover

População Algoritmos de Seleção Mutação

Produzindo uma Nova Geração Critérios de Parada

Elitismo

Torneio e outras
técnicas
1.2) Otimização com GA
Primeira Geração: Indivíduos

• Indivíduo  Solução Candidata


• Cromossomo = representação do indivíduo (encoding)
• Fenótipo x Genótipo

• Exemplo (inspirado na aplicação prática 2.1)


Cromossomo (74 bits)

Localização BTS (28 bits) Setor 1 (23 bits) Setor 2 (23 bits)
011011010110000 11100001000000 0000000000 0100000 0110000 001111000 0101000 0110100
X(m)=7000 Y(m)=144000 Azm()=0 H(m)=32 Azm()=120 H(m)=40
14 bits 14 bits 9 bits 7 bits 9 bits 7 bits
EIRP(dBm)=48 EIRP(dBm)=52
7 bits 7 bits
1.2) Otimização com GA
Primeira Geração: População

• Explorando o espaço de soluções


   Conj. de Soluções Possíveis
 #  n de soluções possíveis
 i  Conj. de Ind. da i-ésima geração  População da i-ésima geração
 N  n máx. de gerações
𝑁
 𝑖=1 P𝑖  n de soluções candidatas avaliadas
 Tipicamente, 𝑁 𝑖=1 P𝑖 ≪ #A
• População Inicial
 Importância da inicialização da população inicial na convergência do
algoritmo genético (aplicação prática 2.2)
1.2) Otimização com GA
Selecionando para Reprodução: Função de Avaliação

• Específica do problema (ambiente)


• Avalia a aptidão de cada indivíduo
• Indivíduos mais aptos têm maior probabilidade de reproduzir

Algoritmo de Seleção
Indivíduo Função de Avaliação Aptidão
1.2) Otimização com GA
Selecionando para Reprodução: Algoritmos de Seleção
Torneio (Tournament Selection)
• k indivíduos selecionados aleatoriamente
• k alto aumenta a pressão seletiva
• O mais apto tem vai para o mating pool
• Torneios de duplas prosseguem até completar o mating pool

Roleta (Roulette Wheel Selection; Proportional Fairness)


• Probabilidade de ser selecionado proporcional à aptidão relativa
• 𝑝𝑖 = 𝑓𝑖 𝑁 𝑖=1 𝑓𝑖
• A cada girada da roleta um indivíduo é selecionado
• Girar a roleta até preencher o mating pool

Linear (Linear Ranking)


• Indivíduos listados em ordem crescente de aptidão
• Probabilidade de ser selecionado é linearmente relacionada com
a posição no ranking
• Custo computacional adicional para realizar a ordenação
1.2) Otimização com GA
Selecionando para Reprodução: Algoritmos de Seleção
Roulette Selection
1.2) Otimização com GA
Operadores Genéticos: Crossover

Crossover de Ponto Único (Single Point Crossover)


ou Crossover Simples (Simple Crossover)

Fonte: http://www.codeproject.com/Articles/707505/Genetic-Algorithms-Demystified
1.2) Otimização com GA
Operadores Genéticos: Crossover
Crossover de Ponto Múltiplos (Multi Point Crossover)

Fonte: http://www.xatlantis.ch/education/genetic_algorithm.html#multipoint_crossover
1.2) Otimização com GA
Operadores Genéticos: Mutação

Cromossomos com Cromossomos com


Representação Binária Representação Inteira

Fonte: http://www.oocities.org/igoryepes/visualizar2.htm Fonte: http://www.algoritmosgeneticos.com.br/figuras.html


1.2) Otimização com GA
Produzindo uma Nova Geração

• Substituição completa da população


 N/2 indivíduos selecionados geram N descendentes
• Substituição completa da população com elitismo
 Idem anterior + clonagem do melhor indivíduo na geração seguinte
• Substituição parcial da população
 Indivíduos do mating pool concorrem num torneio
 Os N melhores são selecionados para a geração seguinte
• Substituição parcial da população sem duplicatas
 Idem anterior+ verificação/eliminação de duplicatas
 Detecção de duplicatas resulta em overhead computacional
1.2) Otimização com GA
Critérios de Parada
• Número máximo de gerações (gmax)
 “Hard limit”
• Aptidão do melhor indivíduo (fmax)
 Difícil definir
• Estado estacionário (, )
 Aptidão do melhor indivíduo não aumenta mais que  ao longo de 
gerações consecutivas

Solução retornada Melhor indivíduo da


pelo GA última geração
1.3) GAOT
Genetic Algorithm Optimization Toolbox

Atenção: incluir o diretório gaot no path do MATLAB antes de executar os exemplos.


1.3) GAOT
Genetic Algorithm Optimization Toolbox
Exemplo didático de aplicação:
Encontrar o ponto máximo
da função 𝒛 𝒙, 𝒚 = 𝐬𝐢𝐧 𝒙 𝐬𝐢𝐧(𝒚)√𝒙𝒚
para (𝑥, 𝑦) ∈ (0,10) × (0,10)
1.3) GAOT
Genetic Algorithm Optimization Toolbox

Termination Functions

maxGenOptTerm.m optMaxGenTerm.m

opt2MaxGenTerm.m
Fim da Parte 1
Parte 2 - Prática
2.2. Localização de
2.1. Otimização da RAN em
terminais móveis em redes
telefonia móvel celular
de telefonia móvel celular
2.1) Otimização da RAN em telefonia móvel celular
Otimização Multi-Objetivo (MOO)

Maximizar Capacidade
(Erl)

Maximizar Precisão de
Maximizar Cobertura
Localização de Chamadas
(km2)
de Emergência (E911/CID)
2.1) Otimização da RAN em telefonia móvel celular
Estrutura Básica de uma Rede Celular
2.1) Otimização da RAN em telefonia móvel celular
Evolução dos Padrões Telefonia Móvel Celular
2.1) Otimização da RAN em telefonia móvel celular
Cobertura de uma Célula
2.1) Otimização da RAN em telefonia móvel celular
Cobertura de uma Célula
2.1) Otimização da RAN em telefonia móvel celular
Área de Melhor Servidor
2.1) Otimização da RAN em telefonia móvel celular
Área de Teste
17,6 km

17,6 km
17,6 km 17,6 km
Área suburbana (Santa Cruz); 17 setores (células); 310 km2 Mapa de Tráfego (Erl/km2) em escala logarítmica
2.1) Otimização da RAN em telefonia móvel celular
Parâmetros da Simulação
Objetivos
1. Maximizar precisão E911/CID (equivalente max. cob.)
2. Maximizar precisão E911/CID considerando tráfego

Alterações na RAN
• Acréscimo de 1 BTS com 2 Setores com Pt = 43 dBm
• Modelo de antena: 7131.16.33.00 A-800-40-18i-0-D
2.1) Otimização da RAN em telefonia móvel celular
Parâmetros da Simulação
Parâmetro Valor
Cross-over 'simpleXover'
Taxa de Cross-over 70 %
Mutação 'binaryMutation'
Taxa de Mutação 1%
Algoritmo de Seleção 'roulette'
Parada 'opt2MaxGenTerm'
Parâmetros de parada [MaxGen 1e-5 10]
Número máximo de gerações 50
Tamanho da população 10 indivíduos
2.1) Otimização da RAN em telefonia móvel celular
Funções de Avaliação

105 E  mapa de erro de localização CID (m)


1 𝑓𝑖 = 𝑁 𝑀 T  mapa de tráfego (Erl/km2)
𝑦=1 𝑥=1 𝐸 𝑥, 𝑦
M = N = 88 pixels (R = 200 m)

105
2 𝑓𝑖 = 𝑁 𝑀
𝑦=1 𝑥=1 𝐸 𝑥, 𝑦 𝑇 𝑥, 𝑦
𝑁 𝑀
𝑦=1 𝑥=1 𝑇 𝑥, 𝑦
2.1) Otimização da RAN em telefonia móvel celular
Resultados das Simulações – Função de Avaliação 1
2.1) Otimização da RAN em telefonia móvel celular
Resultados das Simulações – Função de Avaliação 1
2.1) Otimização da RAN em telefonia móvel celular
Resultados das Simulações – Função de Avaliação 2
2.1) Otimização da RAN em telefonia móvel celular
Resultados das Simulações – Função de Avaliação 2
2.1) Otimização da RAN em telefonia móvel celular
Resultados das Simulações – Função de Avaliação 2
2.2) Localização de terminais móveis
em redes de telefonia móvel celular

View publication stats

Você também pode gostar