Optimização Os problemas de optimização têm como objetivo maximizar ou minimizar uma função definida sobre um certo domínio Optimizar (max ou min)

Slides:



Advertisements
Apresentações semelhantes
Unidade VII Algoritmos Genéticos
Advertisements

Inteligência Artificial
Algoritmos Genéticos Teresa B. Ludermir.
Algoritmos Genéticos Seminário de MAC5758
Busca Informada Parte 3 – Algoritmos Genéticos
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.
Algoritmos Genéticos Problema das 8 Rainhas Algoritmo Genético
Optimization and Decision Support Techniques FUNDAMENTOS DE ALGORITMOS GENÉTICOS Pedro Miguel A. S. Melo FEUP – Fevereiro de 2008.
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
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.
Métodos Heurísticos de Busca e Otimização
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Computação Evolucionária
GRASP Greedy Randomized Adaptative Search Procedure
Adriano Joaquim de O Cruz
ÉLDMAN DE OLIVEIRA NUNES E AURA CONCI INSTITUTO DE COMPUTAÇÃO UFF
Implementação de AG no Balanceamento Interativo de Linhas de Montagem
Algoritmos Genéticos Marcone Jamilson Freitas Souza
Computação Evolutiva: Programação Genética
Computação Evolutiva: Estratégias Evolutivas
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
Inteligência Artificial
Algoritmo Genético.
Algoritmos Genéticos Prof. Luis Otavio Alvares II/UFRGS
Algoritmos Genéticos Rômulo Ferreira Douro.
Algoritmos Genéticos – Capítulo 11
Algoritmos Genéticos - Capítulo 10 Representação Numérica
INF 1771 – Inteligência Artificial
Métodos Populacionais
Controle de parâmetros em algoritmos evolucionários
Meta - heurísticas Prof. Aurora
Otimização Prof. Benedito C. Silva IRN UNIFEI
Aurora Pozo– UFPR – Meta-Heurísticas
Otimização por Colônia de Formigas (ACO)
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Inteligência Artificial I
GENÉTICA DE POPULAÇÕES.
Métodos Populacionais
Sistemas Inteligentes
Sistema de equações lineares
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Anne Magály de PaulaCanuto DIMAp/UFRN
Algoritmos Evolutivos Algoritmos Genéticos Introdução
Tópicos Avançados em Inteligência Artificial
Algoritmos Genéticos Ricardo Prudêncio.
INF 1771 – Inteligência Artificial
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
II. METODOLOGIA Ambas as antenas, PIFA modificada e BFMA, foram analisadas numericamente empregando as equações integrais dos potenciais em conjunto com.
Algoritmos Genéticos Fernando Lobo
O PROBLEMA DE SCHEDULING EM JOB-SHOP
OPTIMIZAÇÃO COM ALGORITMOS EVOLUTIVOS
Artigo: Berth allocation planning in the public berth system by genetic algorithms Akio Imai, Etsuko Nishimura, Stratos Papadimitriou, Heurística.
Resolução de problemas por meio de busca
Computação Evolutiva : Um Novo Paradigma Para a Resolução de Problemas Complexos Aurora Pozo Pós-graduação em Informática, Pós-graduação em Métodos Numéricos.
Inteligência Artificial I
Projeto de um Algoritmo Genético Híbrido para Planejamento Operacional de Curto Prazo de Minerações a Céu Aberto Robert Fabricio Subtil.
Algoritmos Genéticos Ricardo Prudêncio.
Inteligência Artificial
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização)
Algoritmos Genéticos ÝIntrodução ÝHistórico ÝAlgoritmo Genético Básico: 3Representação de um indivíduo 3Função de aptidão 3Operadores genéticos 3Critério.
Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.
Taís Sineiro Herig Laboratório de Genômica e Expressão / UNICAMP
Métodos Populacionais. Mantém um conjunto de soluções candidatas e não só uma solução Cada solução será modificada e avaliada Hill-Climbing paralelos.
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.
Transcrição da apresentação:

Optimização Os problemas de optimização têm como objetivo maximizar ou minimizar uma função definida sobre um certo domínio Optimizar (max ou min) função – função objectivo sujeita a um conjunto de restrições Região admissível R é o conjunto de pontos que satisfazem as restrições Solução admissível é qualquer ponto de R Solução óptima é um ponto de R a que corresponde o maior (menor) valor da função objectivo Exemplos: alinhamento de sequências, squenciação, epesquisa de motivos,...

Algoritmos heurísticos HEURÍSTICA DE MELHORAMENTO - parte de uma solução admissível e procura melhorá-la através de sucessivas pequenas alterações Ex: TSP 1 2 4 3 5 6 7 12 10 9 11 8

Heurística de melhoramento local (TSP) 1 2 4 3 5 6 7 12 10 9 11 8 1-3-2-4-5-6-7 Distância =68 2 12 4 3 12 8 11 11 10 3 10 1 3 5 6 9 Trocar 2-3 12 6 7 9 1-2-3-4-5-6-7 Distância =69 7

Heurística de melhoramento local (TSP) Iteração 1 1-2-3-4-5-6-7-1 Distância =69 Troca 2-3 2 12 1-3-2-4-5-6-7-1 Distância =68 Troca 3-4 4 12 8 1-2-4-3-5-6-7-1 Distância =65 Troca 4-5 11 11 10 3 10 1 3 1-2-3-5-4-6-7-1 Distância =65 Troca 5-6 5 6 9 12 6 7 1-2-3-4-6-5-7-1 Distância =66 9 7

Heurística de melhoramento local (TSP) Iteração 2 1-2-4-3-5-6-7-1 Distância =65 Apenas a troca 3-5-6 leva a um melhoramento no valor da solução 1-2-4-6-5-3-7-1 Distância =64 Mais nenhuma troca leva a melhoramentos

Heurística de melhoramento local (TSP) Solução óptima 1-2-4-6-7-5-3-1 Distância =63 2 12 4 12 8 11 11 2 12 10 3 10 1 3 4 5 6 12 8 9 12 6 11 7 11 10 3 10 1 3 9 5 7 6 12 9 6 7 Solução da heurística 1-2-4-6-5-3-7-1 Distância =64 9 7

Metaheuristicas Metaheurística – método heurístico para resolver de forma genérica problemas de optimização. As metaheurísticas fornecem uma estrutura e uma estratégia para desenvolver algoritmos heurísticos para problemas específicos Desvantagens heurística de melhoramento local – pára num óptimo local Considerar várias soluções iniciais, escolhidas aleatoriamente Metaheurística – combina melhoramento local com estratégias que permitam escapar aos óptimos locais

Metaheuristicas Pesquisa Tabu - Pesquisa “inteligente”, que pretende imitar o comportamento humano e aplicar algumas regras de aprendizagem. Algumas alternativas de pesquisa podem ser excluídas – lista tabu. Uso de memória – o passado, recente ou mais afastado, vai influir determinantemente no processo de pesquisa, guiando-a em função das soluções já visitadas. Simulated Annealing (arrefecimento simulado) técnica de busca local probabilística, com analogia na termodinâmica Algoritmo genético - faz uma analogia entre o processo de encontrar soluções óptimas ou de boa qualidade para problemas complexos e a teoria da evolução das espécies baseada no princípio da sobrevivência dos indivíduos mais aptos de uma população.

Algoritmos genéticos Holland (1975)* “As espécies evoluem pelo principio da seleção natural e sobrevivência do mais apto.” Charles Darwin” Holland (1975)* Imitar algumas etapas da selecção natural incorporando-as num algoritmo computacional. Uma criança herda alguns dos cromossomas de cada um dos progenitores Herança de “boas” características  maior probabilidade de sobrevivência Maior probabilidade de sobrevivência  “boas” características transmitidas aos descendentes Mutações (ocorrem ocasionalmente)  alteração característica de um cromossoma Mutação traz vantagem  maior probabilidade de sobrevivência A população tende a melhorar ao longo do tempo

Algoritmos genéticos População de indivíduos de uma geração Processo de selecção de indivíduos para reprodução, baseado na sua aptidão Cruzamento dos pares de indivíduos seleccionados, mais algumas transformações... População da geração seguinte. Este processo repete-se por um número especificado de gerações.

Algoritmos genéticos Os indivíduos são representados por cromossomas; Seleccionam-se os mais aptos para darem origem à geração seguinte (selecção para reprodução) Os indivíduos seleccionados passam por uma série de transformações. (cruzamento e mutação) Selecção, cruzamento e mutação operadores genéticos.

Algoritmos genéticos Indivíduo solução do problema Aptidão do indivíduo função de avaliação da solução População conjunto de soluções Geração iteração do algoritmo

Algoritmos genéticos Codificação das soluções (cromossomas); Criação de uma população inicial; Função de avaliação das soluções em termos da sua aptidão (função objectivo); Utilizar operadores (genéticos) na construção de uma nova geração Selecção, Mutação, Cruzamento

Algoritmo Gerar a população inicial (cromossomas) Inicialização Avaliar a população (cromossomas) Enquanto critério de paragem não for satisfeito Seleccionar os indivíduos mais aptos (progenitores) Criar nova população (partindo dos cromossomas seleccionados e aplicando os operadores cruzamento e mutação) Iteração Avaliar a população Output cromossoma mais apto na população actual Desvios relativamente à teoria da evolução: um adulto (solução) pode ser usado para reprodução em várias gerações.

Algoritmos genéticos Algumas questões: Qual a melhor codificação para as soluções? População inicial ( conjunto soluções) pode ser gerada aleatoriamente. Qual a dimensão da população? - Seleccionar alguns elementos da população para cruzamento. Quais? Como fazer o cruzamento? Reter, apenas, elementos da população que correspondem a soluções admissíveis? reter apenas os mais aptos (?!) Em cada iteração, como fazer a substituição da população? - Regra de paragem, qual? – nº de iterações, pré-fixado, sem melhoramento do valor da “melhor” solução

Representação das soluções Lista de elementos Exemplos : Listas de dígitos inteiros (6,8,2,3,...) Listas de dígitos reais (2.2, 4.6,...) Listas de regras (R1, R2,...) Para uma boa implementação de um AG é necessário uma boa representação das soluções do problema. Exemplo: Listas de dígitos binários (0,1,1,0,....) População inicial pode ser gerada aleatoriamente, atirando uma moeda ao ar tantas vezes quantas as necessárias, isto é, dimensão do cromossoma × dimensão da população

Função aptidão A aptidão de um cromossoma deve medir a qualidade da solução associada A função aptidão pode depender da função objectivo Em muitos casos a aptidão de um cromossoma é o valor da função objectivo da solução que ele codifica

Operadores genéticos Selecção A selecção dos progenitores é feita com base na aptidão, indivíduos mais aptos têm maior probabilidade de se reproduzirem Exemplo de selecção Roleta enviesada C A 4 cromossomas designados por A,B C e D Para cada cromossoma existe uma secção na roleta proporcional à taxa de aptidão desse cromossoma face à aptidão total. 25,2% 31,9% D 6,6 37,3% Os indivíduos seleccionados são sujeitos ao operador cruzamento

Nota: Com listas binárias é “fácil” fazer o cruzamento Operadores genéticos Cruzamento O cruzamento de dois cromossomas combina as características dos dois transmitindo aos descendentes essa informação. Pares de indivíduos são cruzados com uma determinada probabilidade. Exemplo de Cruzamento Simples Selecciona-se aleatoriamente uma posição para o cruzamento Trocar os elementos em posições seguintes à do cruzamento 1 1 posição 2 1 1 Nota: Com listas binárias é “fácil” fazer o cruzamento

Operadores genéticos Mutação Cada descendente é sujeito a mutação com uma detreminada probabilidade Exemplo de Mutação Simples Selecciona-se aleatoriamente uma posição do cromossoma e substitui-se o elemento nessa posição pelo seu complementar posição 2 1 1 O algoritmo vai explorar uma “nova” zona da região admissível

Exemplo (Goldberg,89) max f(x) = x2 , x  [0,31], x inteiro Codificação das soluções - listas binárias 31 na base 10  31, 3101+1100 Listas binárias 31 na base 2  11111 124 + 123+122+ 121+120 = 31 12 na base 2  01100 024 + 123+122+ 021+020 = 8+4= 12 x  [0,31], na base 2 (a4,a3,a2,a1,a0) com ai=0 ou 1 x = a424 + a323+a222+ a121+a02 Nota: cada ai é um gene

Exemplo Dimensão da população = 4 Função Aptidão dada por f(x) = x2 em cada iteração (geração) temos 4 indivíduos Função Aptidão dada por f(x) = x2 por exemplo x = 8 tem aptidão f(8)=64 e x = 0 tem aptidão f(0)=0. População inicial gerada aleatoriamente Lançando uma moeda ao ar 20 vezes (porquê?), cara 1 coroa 0 Lista nº Lista nº População inicial (gerada aleatoriamente) População inicial (gerada aleatoriamente) Valor de x x f(x) f(x) 1 0 1 1 0 1 13 169 2 1 1 0 0 0 24 576 3 0 1 0 0 0 8 64 4 1 0 0 1 1 19 361

(gerada aleatoriamente) Exemplo Selecção e reprodução A probabilidade de selecção do indivíduo i pode ser dada por Exemplo: lista nº1 (indivíduo 1) f(1)=169; =1170; p1=169/1170=0.14 De acordo com estas probabilidades, constrói-se a roleta enviesada. Gira-se a roleta 4 vezes para seleccionar 4 progenitores. pseleccionar frequência esperada frequência observada roleta Lista nº População inicial (gerada aleatoriamente) x f(x) 1 0 1 1 0 1 13 169 0.14 0.58 1 2 1 1 0 0 0 24 576 0.49 1.97 2 3 0 1 0 0 0 8 64 0.06 0.22 0 4 1 0 0 1 1 19 361 0.31 1.23 1 Soma 1170 Média 293 Máximo 576

Exemplo Cruzamento 1º) emparelham-se aleatoriamente os progenitores seleccionados; 2º) para cada par, o ponto de cruzamento é seleccionado aleatoriamente Progenitores selecionados (ponto de cruzamento) par Ponto de cruzamento Nova população 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 Nota: Pode considerar-se que cada nova geração substituiu a antiga em bloco. Nesta geração, a aptidão média aumentou de 293 para 439, a aptidão máxima aumentou de 576 para 729.

Exemplo Mutação Considere-se a probabilidade de mutação pm= 0.001 e o cruzamento dos indivíduos 1 e 2; Gerem-se aleatoriamente dez números, xi, entre 0 e 1; Se xi<0.001 vai ocorrer uma mutação no gene i; Caso contrário não ocorre mutação no gene i Exemplo. Supondo que a8<0.001 e ai>=0.001, i8 Nenhuma mutação em C1, uma mutação no gene 3 de C2 Após cruzamento Nova população C1: 01100 C2: 11001 C1: 01100 C2: 11101 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 Mutação 1 0 0 0 0 X1=12 X2=25 X1=12 X2=29

Convergência   Rudolph (1994) prova, usando Cadeias de Markov finitas, que um algoritmo genético converge assimptoticamente para o óptimo global desde que se use elitismo. Rudolph, G. (1994) “Convergence Analysis of Canonical Genetic Algorithms”, IEEE Transactions on Neural Networks 5 (1) pp 96-101. Num AG não existe garantia de que o elemento mais apto (“melhor” solução) passe para a geração seguinte. O elitismo consiste na selecção obrigatória para a geração seguinte do indivíduo que representa a melhor solução até ao momento.

Questões Nas iterações iniciais podem ocorrer situações em que existem alguns indivíduos muito aptos numa população de aptidão média reduzida. Estes indivíduos podem levar o AG a convergir prematuramente (para uma solução de má qualidade). Para evitar a convergência prematura e estimular a competição selectiva mais tarde, existem técnicas de calibração da função de aptidão que modificam a escala de aptidão.  Caso a população inicial não inclua indivíduos correspondentes a soluções admissíveis pode-se recorrer, por exemplo, a uma heurística construtiva para obter indivíduos correspondentes a soluções admissíveis . Empiricamente, vários autores sugerem dimensão da população da ordem dim_pop=30. Alander (1992)* sugere n  dim_pop  2n) sendo n a dimensão do cromossoma binário. A eficiência de um AG pode ser melhorada incorporando no AG outra técnica heurística – hibridização.

Questões Pode-se definir vários tipos de cruzamento múltiplo (multi-point crossover). Exemplo: 1 1 posições 2 e 5 1 1 Em geral, a população de uma geração é totalmente substituída pelos descendentes da geração anterior. Podem perder-se indivíduos de boa qualidade de uma geração para outra. Mecanismos para contrariar estas desvantagens são, por exemplo o elitismo e a substituição incremental. substituição incremental – a população da geração seguinte é constituída criando apenas r (valores pequenos para r) filhos por cruzamento que vão substituir r membros da população corrente.