Sistemas de Apoio à Decisão Optimização V 2.0, V.Lobo, EN/ISEGI, 2011

Documentos relacionados
Optimização Não-linear

Sistemas de Apoio à Decisão Optimização V 1.0, V.Lobo, EN/ISEGI, 2005

Optimização Não-linear

Métodos modernos de pesquisa e Optimização

Métodos de pesquisa e Optimização

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

4 Métodos Existentes. 4.1 Algoritmo Genético

1. Computação Evolutiva

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

Inteligência Artificial

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

4 Metáforas de Optimização

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Buscas Informadas ou Heurísticas - Parte III

1. Computação Evolutiva

Inteligência Artificial

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina:

Uma Introdução à Busca Tabu André Gomes

SISEE. Genetic Algorithms MEE

Algoritmos Genéticos

Algoritmos Genéticos

Capítulo 4 Secção 1. Livro

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

UMA ABORDAGEM DIDÁTICA DO SIMULATED ANNEALING USANDO O MODELO MARKOVIANO APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE

Inteligência Artificial

Uso de Algoritmos de Optimização no problema de representação de grafos

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos Fernando Lobo

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

1. Computação Evolutiva

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

Pesquisa Operacional Aplicada à Mineração

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização

Procura Informada. Capítulo 4

Algoritmo Genético. Teoria da Evolução Princípio seguido pelos AGs

Procura Informada. Capítulo 4

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Tópicos Especiais em Informática Fatec Indaiatuba

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

ALGORITMO DE BUSCA TABU APLICADO NA SOLUÇÃO DO PROBLEMA DE MÚLTIPLAS MOCHILAS.

Algoritmos Genéticos

INF 1771 Inteligência Artificial

Introdução a Algoritmos Genéticos

Modelos Evolucionários e Tratamento de Incertezas

Algoritmos Genéticos

Otimização com Algoritmos Evolutivos

Computação Evolutiva Parte 2

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Algoritmos Genéticos e Evolucionários

PARTE III OUTRAS METAHEURÍSTICAS

1. Computação Evolutiva

TÉCNICAS ALGORÍTMICAS BASEADAS NA EVOLUÇÃO NATURAL E A TECNOLOGIA

Introdução aos Algoritmos Genéticos

Algoritmos de Estimativa de Distribuição. Cassio Pennachin LCE PPGEE UFMG Setembro de 2010

$QWyQLR-RVp%DWHO$QMR 0DULD5RViOLD'LQLV5RGULJXHV 'HSDUWDPHQWRGH0DWHPiWLFD'HSDUWDPHQWRGH0DWHPiWLFD 8QLYHUVLGDGHGH$YHLUR 8QLYHUVLGDGHGH&RLPEUD

Frederico Gadelha Guimarães Departamento de Computação (DECOM) Universidade Federal de Ouro Preto (UFOP)

PARTE III OUTRAS METAHEURÍSTICAS

2. MÉTODO DE RECOZIMENTO SIMULADO

O USO DE ALGORITMOS GENÉTICOS NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR RESUMO INTRODUÇÃO

3. Problemas de Optimização Não Linear e de Optimização em Redes

Utilizando um Algoritmo Genético para Encontrar os Zeros de uma Função Real

Inteligência Artificial

Sistemas Inteligentes / Inteligência Artificial, Outros Métodos de Procura

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

ALGORITMOS GENÉTICOS

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

Programa. Análise de algoritmos. Notação Big-O. Sistemas de Informação Geográfica II. Análise de algoritmos

Resolução do problema do caixeiro viajante assimétrico (e uma variante) através da relaxação Lagrangeana

Teoria da Decisão. Introdução às Metaheurísticas. Prof. Lucas S. Batista. lusoba

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

Recozimento Simulado (Simulated Annealing)

Problemas de otimização

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Otimização a Múltiplos Objetivos de Dispositivos Eletromagnéticos pelo Método dos Elementos Finitos. Luiz Lebensztajn

Extracção de Conhecimento

Busca com informação e exploração. Inteligência Artificial

Problema do vendedor: uma abordagem via algoritmos genéticos

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Satisfação de Restrições. Capítulo 5 (disponível online)

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Transcrição:

V.0, V.Lobo, EN/ISEGI, 0 ópicos Métodos modernos de pesquisa e Optimização Victor Lobo Introdução Métodos matemáticos clássicos Método de Monte Carlo Hill- Climbing Simulated Annealing Algoritmos Genéticos abu Search antos algoritmos novos!!! Introdução Propriedades de f(x) Problema de optimização Dada uma função f(x) encontrar o seu óptimo (máximo ou mínimo) Cada um faz a sua pesquisa!!! Problema de pesquisa Seja um ponto inicial Encontrar o óptimo da função f(x) Problema de pesquisa em paralelo Seja um conjunto de pontos iniciais Encontrar o óptimo da função f(x) Domínio R n I n Sub conjunto de R n ou de I n Símbolos Propriedades de f(x) Diferenciável Não diferenciável Optimização Matemática Gradiente Optimização com restrições Multiplicadores de Lagrange Optimização Inteira Investigação operacional Métodos heurísticos Hill- Climbing Simulated Annealing Algoritmos Genéticos abu Search Exemplos Outros Exemplos f sin ( ) ( x + y ) x, y = g( x, y) = 00( x ) ( ) ( x + y ) y + x 0-000 -000-000 x - - 0 0 y - - Problema das N- Rainhas Qual a função de optimização Problema de satisfação de restrições X i = {, L, N} X j X i j i X j X i ± ( j i) j i, j {, L, N} > i Assignment Problem Um conjunto de n pessoas é capaz de realizar n tarefas. O custo da pessoa i fazer a tarefa j é c ij. Encontrar a atribuição de tarefas (t,,t n )que minimize o custo mínimo n c iti i=

V.0, V.Lobo, EN/ISEGI, 0 Mais exemplos 0- Knapsack problem Um conjunto de n itens deve ser empacotado numa mochila com capacidade de C unidades. Existem v i unidades de cada item i e usa c i unidades de capacidade. Determine o subconjunto I de items que podem ser empacotados de modo a maximizar tal que máximo v i i I ci C i I antos problemas giros!!! Mais outro exemplo Coloração de um grafo Um grafo é definido por um conjunto de nós, alguns dos quais estão ligados entre si através de arcos. Dois nós ligados por um arco são designados por adjacentes. O problema da coloração de um grafo é atribuir cores a cada um dos nós de tal modo que dois nós adjacentes não tenham a mesma cor. O objectivo é encontrar o número mínimo de cores capazes de colorir um grafo. Uma nova terminologia Estado Conjunto dos descendentes Espaço de estados x Soluções Vizinhas x Solução inicial x 0 x x Relações de Vizinhaça Porque!!! Solução Vizinhança Espaço de soluções x 0 Codificação dos estados e operadores Domínios em R n Codificação: vector com um ponto em R n Cálculo dos descendentes Orientada: Método do gradiente Não orientada: Adicionar vector aleatório por exemplo gaussiano Domínios simbólicos Problema das N-rainhas Exemplos de codificação Vector de inteiros de a N sem repetições Exemplo do operador Mudar duas das posições seleccionados aleatoriamente x x Método do gradiente Seja uma função f(x,, x n ) derivável. O mínimo de f(x,, x n ) é dado por t+ t f ( X ) x = x η i i xi X = X i =, L, n t = 0, L, t ( X ) X 0 X = X 0 ± η f = X O máximo de f(x,, x n ) é dado por t+ t f ( X ) xi = xi + η xi X = X i =, L, n t = 0, L, t Método do Gradiente Problema: maximizar f(x) em que f(x) é derivável Seleccionar uma solução inicial X 0 R n repita X = X 0 + η f ( X ) X = X 0 se f(x) > f(x 0 ) então X 0 = X até critério de paragem X 0 éa solução. Matemática!!!

V.0, V.Lobo, EN/ISEGI, 0 Hill-Climbing Hill-Climbing (ou stochastic hill-climbing) Problema: maximizar f(s) Seleccionar uma solução inicial s 0 S repita Seleccionar aleatoriamente s N(s 0 ) /* N(s 0 ) é a vizinhança de s0 */ se f(s) > f(s 0 ) então s 0 = s; Contador = 0; senão Contador = Contador + até critério de paragem s 0 é a solução. Exemplo do caixeiro viajante Solução Consideremos o espaço de soluções representados pela sequência de letras, em que só a primeira e a última são repetidas. O conjunto de vizinhança definida pela troca de duas letras Considere o ponto inicial ABCDEA E D A 0 9 9 9 C B ADBCEA ou AECBDA Problemas com o Hill-Climbing Pára nas seguintes situações Máximos locais Planaltos Arestas. Simulated Annealing

V.0, V.Lobo, EN/ISEGI, 0 Kirkpatrick (98) When optimising a very large system (i.e. a system with many degrees of freedom), instead of always going downhill, try to go downhill most of the time. Annealing Na física da matéria condensada refere-se como annealing o processo que se segue: Um sólido num banho quente é aquecido, aumentando a temperatura até um valor máximo. A essa temperatura, todo o material encontra-se na fase líquida e as partículas arrumam-se aleatoriamente A temperatura do banho quente é arrefecida suavemente, permitindo que todas as partículas se arrumem no estado de menor energia dessa estrutura. Em Português: Arrefecimento Simulado, Resfriado Simulado,... Algoritmo de Metropolis (9) Desenvolvido para simular a evolução de um sistema físico quente que tende para o estado de equilíbrio térmico. Em cada passo do algoritmo, um átomo do sistema é sujeito a um pequeno deslocamento aleatório. Calcula-se a variação E da energia do sistema. Se E < 0 o deslocamento é aceite. Se não o deslocamento só será aceite com uma probabilidade E onde é a temperatura p ( E) = e Função exp(-δ/) exp(-delta/) 0.8 0. 0. 0. 0 0 8 0 delta 0. 0 0 Simulated annealing Problema: minimizar f(s) Seleccionar uma solução inicial s0 S; uma temperatura inicial > 0; e uma função de redução de temperatura α repita repita Seleccionar aleatoriamente s N(s0) /* N(s0) é a vizinhança de s0 */ δ = f(s) - f(s0) se δ < 0 então s0 = s; Contador = 0; senão seja x um um número aleatório entre 0 e se x < exp(- δ/) então s0 = s ; Contador = Contador + até Contador = Nmax = α() até critério de paragem s0 é a solução. Algoritmos Genéticos

V.0, V.Lobo, EN/ISEGI, 0 Algoritmos Genéticos Esquema básico Baseado na simulação da dinâmica de populações A pesquisa é baseada em populações erminologia População - conjunto de descrições de indivíduos Cromossoma - descrição de um indivíduo Gene - Posição dentro do cromossoma Alelo - Valor existente no gene fitness - medida de adaptação do individuo ao meio ambiente Parte da área de Evolutionary Computation P0 Selecção para a reprodução Substituição P P Reprodução Mutação P Operadores Selecção para a reprodução Selecção para reprodução Uniforme Roleta Integral orneio Reprodução ou Cross-over Depende do problema Cruzamento ponto Cruzamento de n pontos Mutação Depende do problema Inversão roca de dois genes Substituição Completa Parcial com selecção Uniforme Roleta orneio A hipótese de um indivíduo ser seleccionado para a reprodução é função do seu fitness Roleta Escolha aleatória e directamente proporcional ao seu fitness Integral Respeita a muito rigidamente o fitness relativo orneio Dois indivíduos seleccionados aleatoriamente disputam um torneio. O melhor passa. Um exemplo muito simples Encontrar o máximo da função f(x) = x no domínio [0, ] Qual a função de fitness? f(x) Como codificar? Utilizaremos uma codificação binária de bits Exemplo de cromossomas [00000] x = 0 [000] x = [0] x = 9 Processo de selecção para o exemplo (ª geração) Desc. Crom. X f(x) f i f f i f Selec. 00 9 0. 0.8 000 7 0.9.97 0000 8 0.0 0. 0 00 9 0.. Soma.00.0 Média 0..0 Máximo 0.9.97

V.0, V.Lobo, EN/ISEGI, 0 Cruzamento Cruzamento - Outro exemplo Ponto de cruzamento Sejam dois cromossomas de dimensão N. Seleccione-se aleatoriamente um ponto de corte do cromossoma ( (N- )). Cada um dos dois descendentes recebe informação genética de cada um dos pais Exemplo Cr - 000 Cr - 000 Seja o ponto de cruzamento Cr - 000 Cr - 000 Descendentes Desc - 00 Desc - 0000 pontos de cruzamento Semelhante ao caso anterior mas agora com a escolha de dois pontos de corte Exemplo Dois cromossomas pais Dois descendentes Processo de cruzamento para o exemplo (ª para ª geração) Processo de selecção para o exemplo (ª geração) Cromos. Cônjuge Ponto de Cruzamento Nova População Valor x f(x) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 79 0 0 0 0 0 0 Soma 7 Média 9 Desc. Soma Média Crom. 0 0 0 0 0 0 0 0 0 0 X 7 f(x) 79 f i f 0,08 0, 0, 0,.00 0, f i f 0,,, 0,8.0 Selec. 0 Máximo 79 Máximo 0,, Efeito de passagem de uma geração para outra ª Geração:, 9,, 8 ª Geração 7,,,.. n-ésima Geração (c/ mutação),,0,7 abu Search

V.0, V.Lobo, EN/ISEGI, 0 abu Search Exemplo do abu Search Algoritmo de pesquisa com um único ponto em memória Memoriza os últimos movimento abela de abu Proposto por Fred Glover (98, 990) Pretende-se construir um módulo de material isolante composto por 7 camadas de diferentes materiais Codificação 7 Operador de vizinhança rocar dois módulos entre si 7 abela de abu Iteração 0 7 abela de abu 7 7 f(x) = 0, 7,, 7 f(x) =, 0, - Iteração Iteração 7 f(x) = abela de abu 7,,, - 7 f(x) = 8 abela de abu 7, -, - 7, - 7 f(x) = 8 7, -, - 7 f(x) =, -7, -9

V.0, V.Lobo, EN/ISEGI, 0 Iteração - Aspiração Iteração 7 f(x) = 7 f(x) = 0 abela de abu 7,, 7, 0, -, - 7 f(x) = 0 abela de abu 7 7, 0, -, -, -, -8 Bibliografia Colin R, Reeves, Modern Heuristic echniques for Combinatorial Problems, McGraw-Hill David E. Goldberg, Genetic Algorithms in search Optimization & Machine Learning, Addison Wesley