Capítulo 12: Tratamento de Restrições Lyno Henrique Gonçalves Ferraz Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro 18/05/2012
Jan 21, 2016
Capítulo 12:Tratamento de Restrições
Lyno Henrique Gonçalves Ferraz
Programa de Engenharia Elétrica - PEE/COPPE/UFRJ
Universidade Federal do Rio de Janeiro
18/05/2012
Motivação (1)
• Algoritmos evolucionários (EA)– Problemas difíceis
• NP-difícil, NP-completo
– Geralmente restritos• Nem todas as combinações são possíveis
– Restrições• Aplicação em EA não trivial
−Operadores “cegos”• Recombinação e mutação
Problema com Restrições
• O que é um problema com restrições?– Espaço de busca livre
– Depende do algoritmo!– Caixeiro Viajante
),(
},...,,,{ 321
d
ccccC n
n
iii
n
ssdsfSs
CS
112
2
,)(minarg|
n
iii
n
ssdsfSs
ccccpermS
111
3211
,)(minarg|
},...,,,{
n
n
DDDDS
vvvv
...
,...,,,
321
321
Problema com Restrições
Função Objetivo
Restrições Não Sim
Não Não há problema
Problema de Otimização Livre
(Free Optimization Problem – FOP)
Sim
Problema de Atendimento de Restrições
(Constrain Satisfaction Problem – CSP)
Problema de Otimização com Restrições
(Constrained Optimization Problem – COP)
Problema com Restrições
Função Objetivo
Restrições Não Sim
Não Não há problema
Problema de Otimização Livre
(Free Optimization Problem – FOP)
Sim
Problema de Atendimento de Restrições
(Constrain Satisfaction Problem – CSP)
Problema de Otimização com Restrições
(Constrained Optimization Problem – COP)
Problema de Otimização Livre
Par (S,f)
S : espaço de busca livre
f : função objetivo
Solução:s E S com valor ótimo de f
fS ,
Ss
Problema com Restrições
Função Objetivo
Restrições Não Sim
Não Não há problema
Problema de Otimização Livre
(Free Optimization Problem – FOP)
Sim
Problema de Atendimento de Restrições
(Constrain Satisfaction Problem – CSP)
Problema de Otimização com Restrições
(Constrained Optimization Problem – COP)
Problema de Atendimento de Restrições
Par
S : espaço de busca livre
: fórmula (booleana em S)
Solução:s E S com
,S
Ss
trues )(
Problema com Restrições
Função Objetivo
Restrições Não Sim
Não Não há problema
Problema de Otimização Livre
(Free Optimization Problem – FOP)
Sim
Problema de Atendimento de Restrições
(Constrain Satisfaction Problem – CSP)
Problema de Otimização com Restrições
(Constrained Optimization Problem – COP)
Problema de Otimização com Restrições
Trio
S : espaço de busca livre
f : função objetivo
: fórmula (booleana em S)
Solução:s E S com valor ótimo de f e
,, fS
Ss
trues )(
Problema de Otimização com Restrições
• Caixeiro Viajante
n
iii
n
ssdsfSs
CS
112
2
,)(minarg|
),(
},...,,,{ 321
d
ccccC n
lku
c
uc
ssnlktrues
niCctrues
:,...,2,1,)(
,...,2,1!:)(
Abordagens para Tratamento de Restrições
• Tratamento indireto de restrições– Transformação de restrições– CSP, COP FOP– Realizado antes do EA
• Tratamento direto de restrições– Resolução de COP
• Tratamento através de mapeamento– CSP, COP FOP
,,,,,,, gSfSS
,,,,
,,
,,,,
gSfS
fS
fSS
,,',,,,, gSfSS
Formas de Tratar Restrições
• Geralmente variáveis discretas• Opções
– Funções de penalidade Indireta– Funções de reparo de soluções inviáveis Direta– Representação do problema Direta– Funções decodificadoras Mapeamento
Funções de Penalidade
• Mapeamento da função objetivo
• Tipos– Estática– Dinâmica– Adaptativa
)),(()()(' FxdPxfxf
m
iii xdwFxdP
1
)()),((
Funções de Penalidade Estática
• Extintivo– Coeficientes altos
• Binário– Valor da distância unitário
• Penalidade baseada na distância• Problema
– Valores dos pesos
Funções de Penalidade Dinâmicas
• Valores dos pesos– Dependentes do tempo
• Divisão em estágios– Pena de morte para que viola– Cumprimento parcial de restrições– Cumprimento obrigatório de restrições
• Aumenta
)()( twts ii
Funções de Penalidade Adaptativas
• Abordagens– Diminuição do impacto de resultados ruins
• Escolha dos pesos
– Dimensionamento adaptativo• Estatísticas dos melhores resultados• Distância da restrição• “proximidade de limiar viável”
– Adaptação do espaço de busca em nível populacional• Restrições violadas pelo melhor indivíduo• Atualização de pesos dessas restrições
Funções de Reparo
• Caso especial de busca local– Remoção da violação
• Substituição– Aprendizado Baldwiniano– Aprendizado Lamakiano
• Adição de aleatoriedade• Complexidade da função de reparo
– GENOCOP III
Representação do Problema
• Limitação do espaço de busca– Toda região possível permutação
• Operadores– Alcançabilidade de toda região– Geração de indivíduos possíveis
• Desafios– Operadores
Funções Decodificadores
• Mapeamento genótipos para região possível• Requisitos
– Genótipo z é mapeado para solução única s– Toda solução única s deve ter ao menos
uma representação s’
– Toda solução única s deve ter o mesmo número de representações em S’
• Introdução de redundâncias
'Sz
FS '
Fs
'' Ss
Exemplo: Pintar 3-cores no Grafo
• Indireto– Funções de penalidade– CSP FOP– Strings ternárias– Penalidades
• “Arestas incorretas”• “Nós incorretos”
– Aplicação de componentespadrões
m
jjj cswsf
11 ,)(
n
i
ii Cswsf
12 ,)(
i
j
C
c
0
1, s
se s viola k
senão
Exemplo: Pintar 3-cores no Grafo
• Direto Decodificador– Cromossomos
• Permutações de nós• Procedimento
– Função objetivo• Somatório de nós sem cor
– Aplicação de componentespadrões
}),...,2,1,(|{'},,{ njissSsSS jin