Métodos de pesquisa e Optimização

Documentos relacionados
Métodos modernos de pesquisa e Optimização

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

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

Optimização Não-linear

Optimização Não-linear

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

1. Computação Evolutiva

Inteligência Artificial

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

Algoritmos Genéticos

Inteligência Artificial

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

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

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

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

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

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

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

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

Otimização com Algoritmos Evolutivos

SISEE. Genetic Algorithms MEE

Algoritmos Genéticos

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

Algoritmos Genéticos

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

INF 1771 Inteligência Artificial

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

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

Problemas de otimização

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

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

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

Introdução a Algoritmos Genéticos

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

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

Tópicos Especiais em Informática Fatec Indaiatuba

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

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

Algoritmos Genéticos

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

Algoritmos Genéticos Fernando Lobo

Técnicas de Inteligência Artificial

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

1. Computação Evolutiva

Max Pereira. Inteligência Artificial

Técnicas de Inteligência Artificial

Introdução aos Algoritmos Genéticos

Extracção de Conhecimento

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

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

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

Algoritmos Genéticos e Evolucionários

IF-705 Automação Inteligente Algoritmos Genéticos

Algoritmos Evolutivos para Otimização

Problema do vendedor: uma abordagem via algoritmos genéticos

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

4 Métodos Existentes. 4.1 Algoritmo Genético

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

3 Algoritmos Genéticos

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Modelos Evolucionários e Tratamento de Incertezas

1. Computação Evolutiva

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

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

3 Algoritmos Genéticos

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

método de solução aproximada

1. Computação Evolutiva

Inteligência Artificial

Investigação Operacional

Pesquisa Operacional Aplicada à Mineração

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

INF 1771 Inteligência Artificial

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

Lista de Exercícios - Modelagem de representação cromossômica e função fitness

IF-705 Automação Inteligente Algoritmos Evolucionários

INF 1771 Inteligência Artificial

1. Computação Evolutiva

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Inteligência Artificial

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

Aprendizado de Máquinas. Seleção de Características

Modelos Evolucionários e Tratamento de Incertezas

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

Agentes Adaptativos. Introdução

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

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Algoritmos Genéticos Fundamentos e Aplicações. Prof. Juan Moisés Mauricio Villanueva

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

3. ALGORITMOS GENÉTICOS

4 Metáforas de Optimização

3 Otimização Evolucionária de Problemas com Restrição

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Implementação De Um Algoritmo Genético Codificado Para A Solução do Problema do Caixeiro Viajante

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

Transcrição:

Métodos de pesquisa e Optimização Victor Lobo Importância para os SAD Definir o caminho a tomar depois de se ter trabalhado os dados 1ª Fase: Analisar os dados disponíveis Visualização OLAP, relatórios Clustering 2ª Fase: Prever a evolução do sistema Regressão Classificação 3ª Fase: Escolher a linha de acção óptima Algoritmos de PESQUISA E OPTIMIZAÇÃO

Introdução Problema de optimização Dada uma função f(x) Encontrar o seu óptimo (máximo ou mínimo), variando o valor de x Cada um faz a sua pesquisa!!! Problema de pesquisa Seja um ponto inicial x 0 Encontrar o óptimo da função f(x) (ou pelo menos não violar as restrições), experimentando diversos valores de x i, obtidos a partir do ponto inicial Problema de pesquisa em paralelo Seja um conjunto de pontos iniciais Encontrar o óptimo da função f(x) Propriedades de 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 Métodos de gradiente Optimização com restrições Multiplicadores de Lagrange Optimização Inteira Vários em Investigação operacional Métodos heurísticos Hill-Climbing Simulated Annealing Tabu Search Monte Carlo Algoritmos Genéticos

Exemplos f 2 2 sin ( ) ( x + y ) x, y 2 2 ( x + y ) = g( x, y) = 100( x 2 y) + ( 1 x) 2 0-1000 -2000-3000 2 1 y 2 1 0 0 x -1-2 -1-2 Exemplos Encontrar o caminho mais curto para visitar N cidades Problema clássico do Caixeiro Viajante (TSP) Paradigma para os problemas NP-Completos Muitas instâncias do TSP: criptografia, controlo de qualidadem, etc,etc Encontrar o plano de investimentos a fazer sequencialmente que maximiza o lucro Definir o horário de trabalho de equipas que garante a melhor cobertura das necessidades com o menor custo Equipas de pilotos, turnos de operadores de call-centers

Outros Exemplos Problema das N- Rainhas Qual a função de optimização Problema de satisfação de restrições X i = X j X X j i, j { 1, L, N} i j i X i ± ( j i) { 1, L, N} j > 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 1,,t n )que minimize o custo mínimo n i= 1 c iti Mais exemplos 0-1 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 Tantos 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 Porque!!! Estado Solução Conjunto dos descendentes Vizinhança Espaço de estados Espaço de soluções Solução inicial x 0 x 1 x 4 Soluções Vizinhas x 2 x 3 Relações de Vizinhaça x 0 x 1 x 2

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 1 a N sem repetições Exemplo do operador Mudar duas das posições seleccionados aleatoriamente Algoritmos Genéticos

Utilização em SAD Definir uma função de custo Pode não ser analítica! Definir o que é um cromossoma Definir operadores de crossover/mutação Utilização em SAD Problema da codificação Determinante!!! Razão de sucesso/insucesso Bastante problem dependent Difícil ter software genérico para resolver qualquer problema Diferentes operadores de mutação/crossover

Algoritmos Genéticos Baseado na simulação da dinâmica de populações A pesquisa é baseada em populações Terminologia 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 Esquema básico Selecção para a reprodução P1 Reprodução P0 P2 Substituição P3 Mutação

Operadores 1)Selecção para reprodução Uniforme Roleta Integral Torneio 2)Reprodução ou Cross-over Depende do problema Cruzamento 1 ponto Cruzamento de n pontos 3) Mutação Depende do problema Inversão Troca de dois genes 4) Substituição Completa Parcial com selecção Uniforme Roleta Torneio Elitismo 1) Selecção para a reprodução Calcular a fitness (robustez, ou adaptação) de cada indivíduo A probabilidade de um indivíduo ser seleccionado para a reprodução é função do seu fitness A função de fitness é a função que é maximizada! Roleta Escolha aleatória e directamente proporcional ao seu fitness Integral Respeita a muito rigidamente o fitness relativo Torneio Dois indivíduos seleccionados aleatoriamente disputam um torneio. O melhor passa.

2) Cruzamento entre cromossomas 1 Ponto de cruzamento Sejam dois cromossomas de dimensão N. Seleccione-se aleatoriamente um ponto de corte do cromossoma (1 (N- 1)). Cada um dos dois descendentes recebe informação genética de cada um dos pais Exemplo Cr 1-11101001 Cr 2-10101101 Seja o ponto de cruzamento 5 Cr 1-11101001 Cr 2-10101101 Descendentes Desc 1-11101101 Desc 2-10101001 Cruzamento - Outro exemplo 2 pontos de cruzamento Semelhante ao caso anterior mas agora com a escolha de dois pontos de corte Exemplo Dois cromossomas pais Dois descendentes

3) Mutação aleatória Trocar aleatoriamente bits 11101001 -> 11101011 Taxa de mutação Muito alta -> busca quase aleatória Muito baixa -> não aparecem alelos novos Aprendizagem Lamarckiana Utilizar optimização determinística sobre os cromossomas As características que são passadas à descendência são melhores que as originais 4) Substituição da população Completa A velha geração desaparece Com elitismo Os melhores da geração anterior passam sempre para a seguinte (não se perdem boas soluções) Outros métodos Torneio, roleta, etc

Um exemplo muito simples Encontrar o máximo da função f(x) = x 2 no domínio [0, 31] Qual a função de fitness? f(x) Como codificar? Utilizaremos uma codificação binária de 5 bits Exemplo de cromossomas [00000] x = 0 [01100] x = 12 [11101] x = 29 Processo de selecção para o exemplo (1ª geração) Desc. Crom. X f(x) f i f f i f Selec. 1 01101 13 169 0.14 0.58 1 2 11000 24 576 0.49 1.97 2 3 01000 8 64 0.06 0.22 0 4 10011 19 361 0.31 1.23 1 Soma 1.00 4.0 Média 0.25 1.0 Máximo 0.49 1.97

Processo de cruzamento para o exemplo (1ª para 2ª geração) Cromos. Cônjuge Ponto de Cruzamento Nova População Valor x f(x) 0 1 1 0 1 2 4 0 1 1 0 0 12 144 1 1 0 0 0 1 4 1 1 0 0 1 25 625 1 1 0 0 0 4 2 1 1 0 1 1 27 729 1 0 0 1 1 3 2 1 0 0 0 0 16 256 Soma 1754 Média 439 Máximo 729 Processo de selecção para o exemplo (2ª geração) Desc. Crom. X f(x) f i f f i f Selec. 1 0 1 1 0 0 12 144 0,08 0,33 0 2 1 1 0 0 1 25 625 0,36 1,43 1 3 1 1 0 1 1 27 729 0,42 1,66 2 4 1 0 0 0 0 16 256 0,15 0,58 1 Soma 1.00 4.0 Média 0,25 1 Máximo 0,42 1,66

Efeito de passagem de uma geração para outra 1ª Geração: 24, 19, 13, 8 2ª Geração 27, 25, 16, 12.. n-ésima Geração (c/ mutação) 31,31,30,27 Algumas questões Como lidar com restrições? Hard restrictions Os operadores cruzamento e mutação têm que gerar indivíduos viáveis Soft restrictions Todos os indivíduos são considerados, mas os inviáveis têm uma forte penalização de fitness Misturas entre vários tipos de algorítmos Genéticos para gerar pontos de partida para outras heurísticas Modelo das ilhas Convergência prematura

Problema do Caixeiro Viajante Visitar N cidades percorrendo a mínima distância possível Cromossoma: Sequência de cidades 1=Londres, 2=Roma, 3=Paris Cromossoma (solução) = [1 4 2 5 6 3 ] Operadores Crossover com recombinação (para que todas as cidades sejam visitadas * * Progenitor 1 (3 5 7 2 1 6 4 8) Progenitor 2 (2 5 7 6 8 1 3 4) Filho (8 5 7 2 1 6 3 4) (por recombinação ) Mutação Trocar dois bits (8 5 7 2 1 6 3 4) -> (8 5 3 2 1 6 7 4)

30 cidades geradas aletoriamente 120 100 80 y 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 x Solução i (Distância = 941) TSP30 (Performance = 941) 120 100 80 y 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 x

Solução j (Distância = 800) 44 62 69 67 78 64 62 54 42 50 40 40 38 21 35 67 60 60 40 42 50 99 y TSP30 (Performance = 800) 120 100 80 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 x Solução k (Distância = 652) 120 TSP30 (Performance = 652) 100 80 y 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 x

Melhor solução (Distância = 420) 42 38 35 26 21 35 32 7 38 46 44 58 60 69 76 78 71 69 67 62 84 94 y TSP30 Solution (Performance = 420) 120 100 80 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 x Evolução com as gerações TSP30 - Overview of Perform ance 1800 1600 1400 1200 Distance 1000 800 600 400 200 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 Generations (1000) Best Worst Average

Software Matlab Gatool Interface gráfico, que permite usar quaisquer funções de fitness/ cruzamento/ selecção Goat SuGaL Bibliografia Colin R, Reeves, Modern Heuristic Techniques for Combinatorial Problems, McGraw-Hill David E. Goldberg, Genetic Algorithms in search Optimization & Machine Learning, Addison Wesley