Você está na página 1de 80

BCC465 - TECNICAS DE

OTIMIZACAO
MULTI-OBJETIVO
Aula 02 - Meta-heursticas Populacionais

Gladston Juliano Prates Moreira


email: gladston@iceb.ufop.br
CSILab, Departamento de Computacao
Universidade Federal de Ouro Preto

20 de setembro de 2016

1 / 59
Meta-heursticas Populacionais

2 / 59
Meta-heursticas Populacionais
Algoritmos Geneticos (AGs)
Particle Swarms Optimization (PSO)

3 / 59
Algoritmos de Inspiracao Biologica

4 / 59
Otimizacao com algoritmos geneticos

I Funcionamento
I Propriedades
I Exemplos
I Extensoes ao algoritmo basico

5 / 59
Algoritmos Geneticos (AGs)

I Modelos simplificados da evolucao natural:


I Sobrevivencia dos mais aptos
I Reproducao com variacao

I Processamento iterativo de um conjunto de solucoes


I No incio: solucoes escolhidas aleatoriamente
I No final: solucoes de boa qualidade

6 / 59
Modo de Funcionamento

7 / 59
Terminologia

I Populacao:
I Conjunto de solucoes processadas pelo algoritmo
I Geracao:
I Iteracao do algoritmo
I Indivduos (cromossomas):
I Solucao que faz parte de uma populacao
I Genes:
I Constituintes basicos de uma solucao

8 / 59
Terminologia

I Populacao:
I Conjunto de solucoes processadas pelo algoritmo
I Geracao:
I Iteracao do algoritmo
I Indivduos (cromossomas):
I Solucao que faz parte de uma populacao
I Genes:
I Constituintes basicos de uma solucao

8 / 59
Terminologia

I Populacao:
I Conjunto de solucoes processadas pelo algoritmo
I Geracao:
I Iteracao do algoritmo
I Indivduos (cromossomas):
I Solucao que faz parte de uma populacao
I Genes:
I Constituintes basicos de uma solucao

8 / 59
Terminologia

I Populacao:
I Conjunto de solucoes processadas pelo algoritmo
I Geracao:
I Iteracao do algoritmo
I Indivduos (cromossomas):
I Solucao que faz parte de uma populacao
I Genes:
I Constituintes basicos de uma solucao

8 / 59
Aplicacao de AGs

I Para aplicar um AG a um problema de otimizacao e necessario


definir:
I Representacao para as solucoes
I Funcao de avaliacao
I Selecao
I Operadores geneticos (transformacao):
I Cruzamento (Recombinacao)
I Mutacao
I + Alguns parametros

9 / 59
Aplicacao de AGs

I Para aplicar um AG a um problema de otimizacao e necessario


definir:
I Representacao para as solucoes
I Funcao de avaliacao
I Selecao
I Operadores geneticos (transformacao):
I Cruzamento (Recombinacao)
I Mutacao
I + Alguns parametros

9 / 59
Aplicacao de AGs

I Para aplicar um AG a um problema de otimizacao e necessario


definir:
I Representacao para as solucoes
I Funcao de avaliacao
I Selecao
I Operadores geneticos (transformacao):
I Cruzamento (Recombinacao)
I Mutacao
I + Alguns parametros

9 / 59
Aplicacao de AGs

I Para aplicar um AG a um problema de otimizacao e necessario


definir:
I Representacao para as solucoes
I Funcao de avaliacao
I Selecao
I Operadores geneticos (transformacao):
I Cruzamento (Recombinacao)
I Mutacao
I + Alguns parametros

9 / 59
Aplicacao de AGs

I Para aplicar um AG a um problema de otimizacao e necessario


definir:
I Representacao para as solucoes
I Funcao de avaliacao
I Selecao
I Operadores geneticos (transformacao):
I Cruzamento (Recombinacao)
I Mutacao
I + Alguns parametros

9 / 59
Aplicacao de AGs

I Para aplicar um AG a um problema de otimizacao e necessario


definir:
I Representacao para as solucoes
I Funcao de avaliacao
I Selecao
I Operadores geneticos (transformacao):
I Cruzamento (Recombinacao)
I Mutacao
I + Alguns parametros

9 / 59
Representacao

I Binaria
I Real
I Lista
I Regras
I Caracteres

10 / 59
Representacao

I Binaria
I Real
I Lista
I Regras
I Caracteres

10 / 59
O Problema da Mochila

I O desafio de encher uma mochila com capacidade limitada, otimizando o


valor carregado.
I 1957: Dantzig.
I Relacao com inumeros outros modelos de programacao: Investimento de
capital; Empacotamento; Carregamento de Veculos; Orcamento, etc.

O problema e formulado como:


n
X
z = max cj xj
j=1
sujeito a :
Xn
wj xj b
j=1

as variaveis x1 , .., xn definem a quantidade de cada objeto que esta sendo


carregado, cada um com um respectivo peso w1 , ...wn e valor c1 , ..., cn . A
capacidade total da mochila e b.

11 / 59
O Problema da Mochila

I O desafio de encher uma mochila com capacidade limitada, otimizando o


valor carregado.
I 1957: Dantzig.
I Relacao com inumeros outros modelos de programacao: Investimento de
capital; Empacotamento; Carregamento de Veculos; Orcamento, etc.

O problema e formulado como:


n
X
z = max cj xj
j=1
sujeito a :
Xn
wj xj b
j=1

as variaveis x1 , .., xn definem a quantidade de cada objeto que esta sendo


carregado, cada um com um respectivo peso w1 , ...wn e valor c1 , ..., cn . A
capacidade total da mochila e b.

11 / 59
O Problema da Mochila

I O desafio de encher uma mochila com capacidade limitada, otimizando o


valor carregado.
I 1957: Dantzig.
I Relacao com inumeros outros modelos de programacao: Investimento de
capital; Empacotamento; Carregamento de Veculos; Orcamento, etc.

O problema e formulado como:


n
X
z = max cj xj
j=1
sujeito a :
Xn
wj xj b
j=1

as variaveis x1 , .., xn definem a quantidade de cada objeto que esta sendo


carregado, cada um com um respectivo peso w1 , ...wn e valor c1 , ..., cn . A
capacidade total da mochila e b.

11 / 59
O Problema da Mochila

I O desafio de encher uma mochila com capacidade limitada, otimizando o


valor carregado.
I 1957: Dantzig.
I Relacao com inumeros outros modelos de programacao: Investimento de
capital; Empacotamento; Carregamento de Veculos; Orcamento, etc.

O problema e formulado como:


n
X
z = max cj xj
j=1
sujeito a :
Xn
wj xj b
j=1

as variaveis x1 , .., xn definem a quantidade de cada objeto que esta sendo


carregado, cada um com um respectivo peso w1 , ...wn e valor c1 , ..., cn . A
capacidade total da mochila e b.

11 / 59
O Problema da Mochila

objeto(j) 1 2 3 4 5 6 7 8
valor (cj ) 5 8 7 6 9 5 4 3
peso(wj ) 10 18 12 14 13 11 8 6

Capacidade da mochila b = 35

N
X
Funcao Objetivo: xi ci
i=1
N
X
Restricao: xi wi b
i=1

12 / 59
O Problema da Mochila

objeto(j) 1 2 3 4 5 6 7 8
valor (cj ) 5 8 7 6 9 5 4 3
peso(wj ) 10 18 12 14 13 11 8 6

Capacidade da mochila b = 35

N
X
Funcao Objetivo: xi ci
i=1
N
X
Restricao: xi wi b
i=1

12 / 59
O Problema da Mochila

I Representar solucoes:
I Identificar objetos selecionados para entrar na mochila
I Problema com N objetos Sequencia binaria com N posicoes
I Exemplos de solucoes para o problema com 8 objetos:
I {11000101}
I {00100111}

Esta representacao tem uma limitacao importante.

13 / 59
O Problema da Mochila

I Representar solucoes:
I Identificar objetos selecionados para entrar na mochila
I Problema com N objetos Sequencia binaria com N posicoes
I Exemplos de solucoes para o problema com 8 objetos:
I {11000101}
I {00100111}

Esta representacao tem uma limitacao importante.

13 / 59
O Problema da Mochila

I Representar solucoes:
I Identificar objetos selecionados para entrar na mochila
I Problema com N objetos Sequencia binaria com N posicoes
I Exemplos de solucoes para o problema com 8 objetos:
I {11000101}
I {00100111}

Esta representacao tem uma limitacao importante.

13 / 59
O Problema da Mochila

I Representar solucoes:
I Identificar objetos selecionados para entrar na mochila
I Problema com N objetos Sequencia binaria com N posicoes
I Exemplos de solucoes para o problema com 8 objetos:
I {11000101}
I {00100111}

Esta representacao tem uma limitacao importante.

13 / 59
O Problema da Mochila

I Representar solucoes:
I Identificar objetos selecionados para entrar na mochila
I Problema com N objetos Sequencia binaria com N posicoes
I Exemplos de solucoes para o problema com 8 objetos:
I {11000101}
I {00100111}

Esta representacao tem uma limitacao importante.

13 / 59
Solucoes invalidas no espaco de procura

I O que fazer?

14 / 59
Avaliacao com Penalizacao


XN

xi ci se solucao for valida
Qualidade(S) = i=1


0 caso contrario

Qual e o ponto fraco desta funcao de avaliacao?

15 / 59
Avaliacao com Penalizacao

N
X
Qualidade(S) = xi ci Pen(S)
i=1

0
se solucao for valida


N
!
Pen(S) = X


xi wi b caso contrario
i=1

A penalizacao e proporcional ao grau de violacao das restricoes.

16 / 59
AG: Simulacao de uma iteracao

I Passo 1: Criar e avaliar a populacao inicial

Tamanho da populacao

17 / 59
Selecao

Escolher as melhores solucoes da geracao atual: Selecao


probabilstica

I Selecao por torneio:

18 / 59
Selecao

19 / 59
Transformar Solucoes: Cruzamento

I O material genetico de 2 progenitores e combinado para dar


origem a novas solucoes

I Objectivo: Combinar caractersticas interessantes de duas


solucoes promissoras

20 / 59
Transformar Solucoes: Cruzamento

I O material genetico de 2 progenitores e combinado para dar


origem a novas solucoes

I Objectivo: Combinar caractersticas interessantes de duas


solucoes promissoras

20 / 59
Operador de Recombinacao: Exemplo

I Cruzamento com um ponto de corte


I Alinhar os dois progenitores
I Selecionar um ponto de corte aleatorio
I Combinar seccoes complementares para obter descendentes

21 / 59
Cruzamento

22 / 59
Diversificar Solucoes: Mutacao

I O material genetico de 1 descendente e ligeiramente alterado

I Objetivo: Introduzir diversidade na populacao de solucoes

23 / 59
Diversificar Solucoes: Mutacao

I O material genetico de 1 descendente e ligeiramente alterado

I Objetivo: Introduzir diversidade na populacao de solucoes

23 / 59
Operador de Mutacao: Exemplo

I Mutacao binaria: Altera o valor de um gene

24 / 59
Mutacao

25 / 59
Avaliacao dos Descendentes

26 / 59
AG: Estrutura Generica

1. Gerar a populacao inicial P(0)


2. Avaliar os indivduos de P(0)
3. Enquanto criterio de terminacao nao for atingido repetir:
3.1 Selecionar progenitores P 0 (t) a partir de P(t)
3.2 Transformar indivduos de P 0 (t) obtendo a nova populacao
P(t + 1)
3.3 Avaliar P(t + 1)
4. Devolver o resultado final da otimizacao

27 / 59
Resumo

I E necessario definir:
I Representacao
I Funcao de avaliacao
I Metodo de selecao
I Operadores geneticos (cruzamento + mutacao)
I Parametros:
I Tamanho da populacao
I Criterio de paragem
I Tamanho do torneio
I Probabilidade de cruzamento e de mutacao

28 / 59
AG: Caractersticas

I Vantagens:
I Pesquisa competitiva
I Equilbrio conservacao / exploracao Selecao vs. Transformacao
I Robustez
I Limitacoes:
I Convergencia prematura
I Fine-tuning pouco eficiente

29 / 59
Reparar Solucoes Invalidas

I Algoritmo de reparacao corrige as solucoes invalidas:


I Avaliacao lida apenas com solucoes legais
I Limitacoes:
I Algoritmos especficos para um determinado problema
I Tempo adicional de processamento
I Diminuicao da diversidade

30 / 59
Problema da Mochila: Algoritmo de Reparacao

I Ideia:
I Retirar objetos enquanto a capacidade da mochila for excedida

I Como selecionar os objetos que vao sair da mochila?


I Aleatoriamente
I Utilizando uma heurstica

31 / 59
Problema da Mochila: Representacao Alternativa

I Algoritmo de interpretacao / descodificacao:


I Posicao dos objetos na solucao representa a sua prioridade no
acesso a mochila o problema
I Exemplos:
I {4, 7, 8, 1, 2, 6, 3, 5}
I {1, 8, 7, 4, 2, 6, 3, 5}
I Como sabemos quais os objetos que estao na mochila?

32 / 59
Problema da Mochila: Representacao Alternativa

I Utilizar permutacoes para representar as solucoes:


I Uma solucao e uma lista ordenada dos objetos que constituem o
problema
I Uma heurstica first-fit determina qual a solucao final

33 / 59
Problema da Mochila: Representacao Alternativa

I Interpretacao da solucao {1, 8, 7, 4, 2, 6, 3, 5}

34 / 59
Problema da Mochila: Representacao Alternativa

I Interpretacao da solucao {1, 8, 7, 4, 2, 6, 3, 5}

34 / 59
Operadores Geneticos para Permutacoes: Cruzamento

Cruzamento por ordem.

35 / 59
Operadores Geneticos para Permutacoes: Cruzamento

Cruzamento por ordem.

36 / 59
Operadores Geneticos para Permutacoes: Cruzamento

Cruzamento por ordem.

37 / 59
Operadores Geneticos para Permutacoes: Mutacao

38 / 59
Arquiteturas alternativas

I Modelos steady-state

39 / 59
Arquiteturas alternativas

I Abordagens Hbridas

40 / 59
Meta-heursticas Populacionais
Algoritmos Geneticos (AGs)
Particle Swarms Optimization (PSO)

41 / 59
Particle Swarms Optimization (PSO)

I Inspirado no comportamento e na dinamica dos movimentos dos


passaros, peixes, abelhas;
I comportamento social
I comportamento cognitivo

I Processamento iterativo de um conjunto de solucoes


I No incio: solucoes escolhidas aleatoriamente
I No final: solucoes de boa qualidade

42 / 59
Particle Swarms Optimization (PSO)

I Inspirado no comportamento e na dinamica dos movimentos dos


passaros, peixes, abelhas;
I comportamento social
I comportamento cognitivo

I Processamento iterativo de um conjunto de solucoes


I No incio: solucoes escolhidas aleatoriamente
I No final: solucoes de boa qualidade

42 / 59
Particle Swarms Optimization (PSO)

43 / 59
Elementos do algoritmo PSO:

I populacao de partculas (conjunto de solucoes).


I xi : posicao da partcula i no espaco de solucoes.
I f : funcao de avaliacao.
I vi : velocidade da partcula i no espaco de solucoes.

44 / 59
Elementos do algoritmo PSO:

I PSO e um metodo baseado em populacao, como o Algoritmo


Genetico
I O conceito basico e cooperacao em vez da rivalidade
I Uma partcula movimenta-se com velocidade
I Usando a propria experiencia
I Alem da experiencia de todas as partculas

45 / 59
Ideia basica: comportamento cognitivo

Um indivduo lembra do conhecimento passado

46 / 59
Ideia basica: comportamento social

Um indivduo adquire conhecimento dos demais membros do grupo

47 / 59
PSO: Fluxograma

48 / 59
Atualizacao de velocidade e posicao

Para cada partcula:

I pbesti e a melhor posicao em que a partcula ai ja esteve


I gbesti e a melhor posicao em que algum vizinho de ai ja esteve.
I w e o peso de inercia
I c1 e c2 taxa de aprendizado

49 / 59
PSO: Algoritmo

50 / 59
PSO: Exemplo

51 / 59
PSO: Exemplo

52 / 59
PSO: Exemplo

53 / 59
PSO: Exemplo

54 / 59
PSO: Interpretacao Geometrica

55 / 59
PSO: Melhoramentos

I Reducao linear da ponderacao de inercia;


I Fator de constricao;
I Modelos com Vizinhancas.

56 / 59
PSO: Dificuldades

Partculas tendem a se agrupar, reduzindo a capacidade de


movimentos da nuvem para solucoes melhores.

57 / 59
PSO: Dificuldades

Solucao: reiniciar algumas partculas em novas posicoes.

58 / 59
Referencias:

I Goldberg, D. Genetic algorithms in search, optimization and


machine learning. Addison Wesley, 1989.
I Man, K.F., Tang, K.S. and Kwong, S. Genetic Algorithms:
Concepts and Applications, 1996.
I Eberhart, R.C., Shi, Y. Particle Swarm Optimization:
Developments, Applications and Resources, 2001.
I Takahashi, R.H.C.; Notas de Aula: Otimizacao Escalar e
Vetorial.
http://www.decom.ufop.br/moreira/disciplinas/OVE.zip
I
http://www.decom.ufop.br/moreira/disciplinas/artigos GA PSO.zip

59 / 59

Você também pode gostar