Algoritmos Genéticos em Problemas com Restrições

Slides:



Advertisements
Apresentações semelhantes
Programação de Horário em Escolas
Advertisements

Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Pesquisa Operacional Resolução através do Método Gráfico
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Subespaço, base e dimensão
N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
Exercício Exercício. Considere um algoritmo sequencial que busca um elemento em uma lista não ordenada a) Qual é a complexidade de tempo deste algoritmo.
Celso C. Ribeiro Caroline T. Rocha
Exercício 1 A) Caminho 3 – 4 -3 B) Caminho 100 – 1 – 1 – 100
Busca Otimizada Subida da Encosta (Hill Climbing)
Equações Homogéneas Vitor Maló Machado I. S. T., Maio de 2011.
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
Teorema Fundamental da Programação Linear
1 Domínios Finitos A eficiência das programas em domínios finitos (incluindo booleanos) podem ainda ser melhoradas pelo uso de Algoritmos de Propagação.
1 Optimização Na programação por restrições, há que considerar não apenas a satisfação de restrições mas também a optimização de uma função objectivo.
LIMITE DE UMA FUNÇÃO II Nice Maria Americano Costa Pinto.
Prof. M.Sc. Fábio Francisco da Costa Fontes Agosto
Problemas de Forma Não-padrão
Algoritmos Genéticos Alex F. V. Machado.
Caso LCL Tintas Ltda A firma LCL Tintas Ltda produz dois tipos de tintas chamadas: Seca Rápido (SR) e Super Seca (SS). Ambas são produzidas a partir de.
Programação Não Linear
EE-214/2011 Métodos de Busca Aleatória. EE-214/2011 Problema Básico Sistema Dinâmico u xuxu J[u,x u ] Calculador de Custo Obter: Dados: 1) Um sistema.
Introdução à Linguagem Prolog
Programação Linear Método Simplex
Perfil e competências do atendente
Pessoas certas nos lugares certos
Otimização de Funções Contínuas via Algoritmos Genéticos Adaptado do trabalho realizado por: Frederico Heitor Mônica do Amaral.
Otimização de Funções Contínuas via Algoritmos Genéticos
Análise Dada uma cadeia de terminais w, queremos saber se wL(G) ou não. Se for o caso, poderemos querer achar uma derivação de w. Um algoritmo que pode.
FACENS – Engenharia da Computação Inteligência Artificial
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Administração de Recursos Materiais
Programação Linear.
Disciplina: Inteligência Artificial
Atualização de Cadastro de Usuários
1 Introdução aos Agentes Inteligentes Flávia Barros.
Desenvolvimento de Sistemas OLAP
Função de uma Variável Aleatória
MÁXIMOS E MÍNIMOS Ao se estudar situações práticas relacionadas a conjunturas economias, administrativas e contábeis, é comum realizar perguntas como:
Inteligência Artificial Aplicada a Problemas de Tomada de Decisão
Solucionar de forma otimizada os problemas que exijam alto esforço computacional e assim assegurar a satisfação dos clientes.
Métodos Populacionais
Funções e Equações Exponenciais
SOMA  0 fim início Simulação do algoritmo que soma os valores dos primeiros números naturais até o número fornecido como entrada: leia N T
Exercício 1 para achar solução gráfica de PLs
Algoritmos Evolutivos Algoritmos Genéticos Introdução
Otimização Linear Definições e Solução Gráfica
Cálculo da Direção de Caminhada: Gradiente de f(x)
Utilização de algoritmos genéticos para a identificação e escolha de acções de condicionamento da procura de energia Álvaro Gomes; A. Gomes Martins; Carlos.
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
Input » Processamento » Output »
Introdução Prof. Antonio Carlos Coelho
 Solucionar de forma otimizada os problemas que exijam alto esforço computacional e assim assegurar a satisfação dos clientes.
UMA ABORDAGEM PARA O PROJETO DE REDES URBANAS DE DISTRIBUIÇÃO DE GÁS POR OTIMIZAÇÃO COMBINATÓRIA E SISTEMAS DE INFORMAÇÃO GEOGRÁFICAS Cezar Miranda Paula.
Teste Simbólico Marcelo d’Amorim
- 1 - ISEL – Instituto Superior de Engenharia de Lisboa Comissionamento de Grupos Térmicos de Produção de Energia Eléctrica Jorge Alberto Mendes de Sousa.
Oil Refinery Optimization Relações causa-efeito # Crude 3 # Crude 2 # Crude 1 # Gasoline # Heat oil # Diesel # Heavy.
Parcelas Espécies Definir áreas protegidas. cobertura.
Gradiente Topológico via Análise de Sensibilidade à Mudança de Forma
PowerPoint Aula-4 Exercício de Fixação.
Projeto de um Algoritmo Genético Híbrido para Planejamento Operacional de Curto Prazo de Minerações a Céu Aberto Robert Fabricio Subtil.
CARACTERIZAÇÃO DO TEMA DE TESE Rosely Antunes de Souza Prof. Mayerle Setembro 2006.
Design cognition: results from protocol and other empirica studies of design activity CROSS, N. In: Design Cognition, Design Knowing e Learning. Editado.
Algoritmo de Transportes Objecto de Aprendizagem Manuel Pina MarquesDEIG
Programação Linear ADSA António Câmara.
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 10 Algoritmos Genéticos Max Pereira.
Adm.Industrial P.O. Aula 05 Programação Linear Rafael Ferrara.
DOMÍNIO DE UMA FUNÇÃO.
Transcrição da apresentação:

Algoritmos Genéticos em Problemas com Restrições

Problemas Numéricos com Restrições Ocorrem quando soluções devem satisfazer restrições quanto a valores assumidos pela solução (xi): de domínio: mín<xi<máx que relacionam variáveis do problema: 2x1+4x2>3x3 Inicialização, crossover e mutação garantem genes dentro do domínio de cada variável xi. Genei  {mín, máx} Todavia, não garantem que o cromossoma satisfaça restrições que relacionem valores das variáveis.

Exemplo de Problema Numérico com Restrição Encontrar os percentuais de investimento (pi%) em n diferentes ações que maximizam o retorno da carteira. pi  {0, 1} porém  pi = 1 p1 p2 p3 . . . pn-1 pn Como garantir  pi = 1 ?

Tipos de Restrições em Geral soft: solução que não satisfaz restrição; não é a preferida; há solução melhor hard: solução que não satisfaz a restrição; não é válida domínio: solução deve sempre satisfazer

Técnicas para lidar com Restrições Função Penalty Eliminação de Soluções Reparo das Soluções Decodificadores de Cromossoma GENOCOP

Função Penalty Geram-se soluções sem se considerar as restrições. Soluções que violam restrições são penalizadas. Aptidão (x) = Aval(x) + Pen(x) se problema de mínimo Aptidão (x) = Aval(x) - Pen(x) se problema de máximo Pen(x) = 0 para soluções que atendem a restrição Pen(x)  0 para soluções que não atendem a restrição

Função Penalty (cont) Tipos de funções com relação ao grau de violação (desvio): Logarítmica Pen(x) = logn (1 +  . (desvio)) Linear Pen(x) =  . (desvio) Quadrática Pen(x) = ( . (desvio))2  = constante

Eliminação de Soluções Soluções que violam restrições são eliminadas: Aptidão (x) = 0 Novas soluções têm que ser geradas para completar a população. Muitos dos indivíduos criados e avaliados podem ser descartados; baixo desempenho do GA. Utiliza-se essa técnica em problemas onde é baixa a probabilidade de gerar soluções inválidas pelos operadores genéticos.

Reparo da Solução Soluções que violam restrições são corrigidas por um algoritmo de reparo específico. Algoritmos de reparo são determinísticos e podem ser intensivos computacionalmente. A utilização também depende da probabilidade de geração de soluções que violam restrições.

Decodificadores Transforma um cromossoma em uma solução válida. Pode também utilizar operadores genéticos especialmente desenvolvidos para o problema. Decodificadores e operadores podem ser complexos, intensivos computacionalmente, ou mesmo impossíveis de serem concebidos. Quando corretamente concebidos, oferecem excelente desempenho ao modelo genético.

GE N O CO P Proposto por: GEnetic algorithm for Numerical Optimization for COnstrained Problems Proposto por: Zbigniew Michalewicz gratuito para uso científico

Problema Numérico com Restrição Encontrar um vetor X ótimo para: f(x), x = (x1,...,xq)  Rq sujeito a p  0 equações: ci(x) = 0, i=0,..,p, e a m-p  0 inequações: ci(x)  0, i=p+1,..,m.

Problema Numérico com Restrição Exemplo: minimizar f(x) = x10.6 + x20.6 - 6x1 - 4x3 + 3x4 sujeito a: -3x1 + x2 - 3x3 = 0 x1 + 2x3  4 x2 + 2x4  4 x1  3 x4  1 0  xi , i=1,2,3,4. Melhor solução conhecida: x* = (4/3, 4, 0, 0) f(x*) = -4.5142

GENOCOP é aplicado em problemas com espaços de buscas CONVEXOS

GENOCOP Otimizar: f(x), x = (x1,...,xq)  Rq, com (x1,...,xq)  D  Rq , sendo: 1) D um conjunto convexo. 2) D é definido pelo domínio das variáveis: leftk  xk  rightk , k = 1,..,q e por um conjunto de restrições C

Espaços de Busca Convexos Para cada ponto do espaço de busca (x1,...,xq)  D existe uma vizinhança <left(k), right(k)> da variável xk (1 k  q) onde as outras variáveis xi (i=1,..., k-1, k+1,..., q) permanecem fixas. Para um ponto (x1,...,xk,...,xq)  D: y  <left(k), right(k)> sss (x1,...,xk-1,y,xk+1,...,xq)  D

Espaços de Busca Convexos Exemplo: D  R2 definido por: -3  x1  3, -0  x2  8, x12  x2  x1 + 4 ponto (2,5)  D e podemos determinar left(X1) = 1, right(X1) = , x2 = 5 (fixo) left(X2) = 4, right(X2) = 6 , x1 = 2 (fixo)

Espaços de Busca Convexos Isso significa que: x1 pode variar de 1 a enquanto que x2=5; e x2 pode variar de 4 a 6 enquanto que x1=2 Se C=vazio então o EB é convexo e: left(k) = lk, right(k) = rk para k=1 ...q

GENOCOP Propriedade de espaços convexos é importante para o operador de operador de mutação. se xk vai sofrer mutação, o intervalo para mutação é <left(k), right(k)> consequentemente, um descendente é sempre possível.

GENOCOP Propriedade de espaços convexos é importante para o operador de crossover aritmético. Dados dois pontos quaisquer: x1 e x2  D a combinação linear: a x1 + (1-a)x2 , a  [0,1] também é um ponto em D.

GENOCOP Classe de problemas considerada pelo GENOCOP: Otimizar: f(x1, x2 ...,xq) sujeito às seguintes restrições lineares: l  x  u , l= <l1,...,lq>, u= <u1,...,uq>, x= <x1,...,xq> Ax = b , x= <x1,...,xq> , A = (aij), b= <b1,...,bp> 1  i  p e 1  j  q (p = nº de equações) Cx  d , x= <x1,...,xq> , C = (cij), d= <d1,...,dm> 1  i  m e 1  j  q (m = nº de inequações)

Estratégia do GENOCOP Eliminar equações do conjunto de restrições. removendo igual número de variáveis; diminuindo o espaço de busca As restrições restantes são inequações lineares e formam um conjunto convexo Combinações lineares de soluções produzem soluções sem necessidade de se verificar as restrições.

GENOCOP Exemplo: Otimizar f f(x1 ,x2 ,x3 ,x4 ,x5 ,x6 )

GENOCOP Eliminar as equações e reduzir o número de variáveis x1 = 3 - 4x4, x2 = -10 + 8x4 + x5 - 3x6, x3 = 10 - x5 + 3x6 O problema original ficou reduzido à função g g(x4,x5,x6) = f((3-4x4), (-10+8x4+x5-3x6), (10-x5+3x6), x4, x5, x6)

GENOCOP Sujeito às seguintes restrições: (apenas inequações) -10+8x4+2x5-3x6  120, -40  3-4x4  20, 50  -10+8x4+x5-3x6  75, 0  10-x5+3x6  10, 5  x4 15, 0  x5  20 e -5  x6  5 que ainda podem ser reduzidas, por exemplo: da segunda e da quinta tem-se: 5  x4  10.75

GENOCOP O espaço de busca resultante é convexo: para cada xk existe um intervalo possível <left(k), right(k)> onde as outras variáveis são fixas. Assim, para o ponto possível (x4,x5,x6) = (10,8,2) X4  [7.25, 10.375] enquanto x5=8 e x6=2 X5  [6, 11] enquanto x4=10 e x6=2 X6  [1, 2.666] enquanto x4=10 e x5=8

GENOCOP O GENOCOP tenta encontrar uma solução inicial buscando regiões possíveis. Se um determinado número de tentativas fracassar, o GENOCOP solicita ao usuário que informe um ponto inicial possível. A população inicial é formada por cópias do ponto inicial.

GENOCOP II O GENOCOP II permite tratar problemas que apresentem restrições Não Lineares. Ex. Referência: pp 134 Michalewicz

GENOCOP III GENOCOP III incorpora duas populações separadas, onde um desenvolvimento em uma população influencia avaliações dos indivíduos na outra população. A primeira população é chamada de pontos de busca e satisfaz as restrições lineares; A segunda população é chamada de pontos de referência e satisfaz todas as restrições.

GENOCOP III Ps={S1,S2,S3,S4,S5,S6} e Pr={R1,R2,R3,R4} S7 S1 R1 R3 S3

GENOCOP III O GENOCOP III evita muitas desvantagens de outros sistemas. Introduz poucos parâmetros adicionais (tamanho da população dos pontos de referência, probabilidade de substituir). Sempre retorna soluções válidas. A vizinhança ao melhor ponto de referência é explorada com maior freqüência. Alguns pontos de referência são movidas para a população de busca.

Operadores do GENOCOP MUTAÇÃO CROSSOVER Uniform Boundary Non-uniform Arithmetical Simple Heuristic

Uniform Mutation Genitor: x Descendente : x’ Um componente k  (1,...,q) é escolhido aleatoriamente do vetor (x1, ...,xk,...xq) e é gerado x’= (x1,...x’k,...xq), sendo x’ um valor aleatório do intervalo <left(k),right(k)> Importância: Nas primeiras fases - permitir que as soluções se movam por todo espaço de busca Nas fases posteriores - permitir que a solução saia de um mínimo local

Boundary Mutation Genitor: x Descendente : x’ Um componente k  (1,...,q) é escolhido aleatoriamente do vetor (x1, ...,xk,...xq) e é gerado x’= (x1,...x’k,...xq), sendo x’ igual ao valor de left(k) ou right(k), com igual probabilidade.

Non-uniform Mutation Genitor: x Descendente : x’ = (x1,..x’k,..xq), onde: xk + (t, right(k) - xk) , se bit sorteado = 0 xk - (t, xk - left(k)) , se bit sorteado = 1 x’k = (t,y) = y . r . (1 - t/T)b, retorno entre [0,y] r = sorteado entre [0,1] t = geração T = número máximo de gerações b = grau de não - uniformidade

Non-uniform Mutation Característica importante: No início a busca é feita uniformemente pelo espaço de busca (t é pequeno). Fases seguintes a busca é local.

Arithmetical Crossover Genitores: x1 e x2 Descendentes: x’1 = a.x1 + (1-a).x2 x’2 = a.x2 + (1-a).x1 , a sorteado [0,1] pela característica dos espaços de busca convexos, podemos garantir que: (x’1 e x’2)  D

Simple Crossover Genitores: x1 = (x1,...xq) x2 = (y1,...yq) crossover a partir da Kth posição: Descendentes: x’1 = (x1,..., xk, yk+1,...yq) x’2 = (y1,..., yk, xk+1,...xq) Exemplo: x1 = (8,3,1) x2 = (5,7,4) x’1 = (8,3,4) x’2 = (5,7,1) k=2

Simple Crossover Operador pode gerar descendentes fora do domínio D. Utiliza-se um a  [0,1] tal que: x’1 = (x1,..,xk, a . yk+1 + (1-a).xk+1,...a . yq + (1-a).xq ) x’2 = (y1,..,yk, a . xk+1 + (1-a).yk+1,...a . xq + (1-a).yq ) - partindo de a=1 tenta-se o maior valor de a

Heuristic Crossover Utiliza valores da função objetivo na determinação da direção da busca Produz um único descendente Pode não produzir descendentes

Heuristic Crossover Se x3 D : novo r é sorteado Genitores: x1 e x2 Descendente: x3 x3 = r.(x2-x1) + x2 r, sorteado entre 0 e 1 x2 não é pior que x1, isto é, f(x2)  f(x1) para problemas de máximo f(x2)  f(x1) para problemas de mínimo Se x3 D : novo r é sorteado Se após w tentativas não for encontrada solução, nenhum descendente é criado

Heuristic Crossover precisão da solução encontrada, ajuste fino local, Importância do operador: precisão da solução encontrada, ajuste fino local, pesquisa na direção mais promissora