m todos heur sticos gen ricos l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Métodos Heurísticos Genéricos: PowerPoint Presentation
Download Presentation
Métodos Heurísticos Genéricos:

Loading in 2 Seconds...

play fullscreen
1 / 47

Métodos Heurísticos Genéricos: - PowerPoint PPT Presentation


  • 230 Views
  • Uploaded on

Métodos Heurísticos Genéricos:. Meta-heurísticas e Hiper-heurísticas. Igor Ribeiro Sucupira (Mestrando em Ciência da Computação pelo IME-USP) Orientador: Prof. Dr. Flávio S. C. da Silva. Meta-heurísticas e hiper-heurísticas.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Métodos Heurísticos Genéricos:


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
m todos heur sticos gen ricos

Métodos Heurísticos Genéricos:

Meta-heurísticas e Hiper-heurísticas

Igor Ribeiro Sucupira

(Mestrando em Ciência da Computação pelo IME-USP)

Orientador: Prof. Dr. Flávio S. C. da Silva

meta heur sticas e hiper heur sticas
Meta-heurísticas e hiper-heurísticas
  • São métodos heurísticos que podem lidar com qualquer problema de otimização, ou seja, que não estão atrelados a um problema específico.
neste semin rio
Neste seminário
  • Meta-heurísticas:
    • Definição.
    • Tipos.
    • Uma meta-heurística clássica.
    • Uma meta-heurística recente.
  • Hiper-heurísticas:
    • Definição.
    • Exemplos concretos.
meta heur sticas
Meta-heurísticas

Do sítio www.metaheuristics.net :

“Uma meta-heurística é um conjunto de conceitos que podem ser utilizados para definir métodos heurísticos aplicáveis a um extenso conjunto de problemas.”

tipos de meta heur sticas
Tipos de meta-heurísticas
  • Uma possível divisão, por Melián et al. (Universidad de La Laguna - Espanha):
    • Meta-heurísticas de busca por entornos: percorrem o espaço de busca levando em conta, fundamentalmente, a “vizinhança” da solução em mãos, definida como o conjunto de soluções que podem ser obtidas a partir da aplicação de algum operador à solução atual.
    • Meta-heurísticas de relaxação: simplificam o problema (criando um problema relaxado) e utilizam a solução encontrada como guia para o problema original.
    • Meta-heurísticas construtivas: definem de forma meticulosa o valor de cada componente da solução.
    • Meta-heurísticas evolutivas: lidam com uma população de soluções, que evolui, principalmente, através da interação entre seus elementos.
exemplos busca por entornos
Exemplos (busca por entornos)
  • GLS (Guided Local Search): busca monotônica. Porém, altera a função objetivo ao encontrar um ótimo local.
  • Simulated Annealing : não monotônica. Probabilidade de “movimentos ruins” decresce exponencialmente com o aumento na diferença de custo.
  • Busca Tabu: não monotônica. Classifica como tabu os componentes de soluções adicionados ou removidos recentemente.
  • Busca Reativa: Busca Tabu com detecção de ciclos.
exemplo construtiva
Exemplo (construtiva)
  • GRASP (Greedy Randomized Adaptive Search Procedure): cada iteração é composta por uma fase construtiva e uma fase de busca por entornos. Em cada passo da fase construtiva:
    • Selecionam-se os componentes que causam melhor efeito se adicionados à solução atual.
    • Acrescenta-se um desses elementos (selecionado aleatoriamente) à solução.
exemplo relaxa o
Exemplo (relaxação)
  • Relaxação Lagrangeana: remove algumas restrições de um problema de programação linear, atribui um peso (multiplicador de Lagrange) a cada uma delas e altera a função objetivo para penalizar as soluções que seriam inviáveis no problema original.
exemplos evolutivas
Exemplos (evolutivas)
  • Algoritmos genéticos.
  • Algoritmos meméticos: algoritmos genéticos que realizam otimização local.
  • Estimação de distribuição: verificam a distribuição dos componentes nas melhores soluções e criam a geração seguinte aleatoriamente, segundo essa distribuição.
  • Busca dispersa e Path relinking : criam caminhos entre soluções e geram a população seguinte a partir das soluções que aparecem nesses caminhos.
outros exemplos
Outros exemplos
  • Meta-heurísticas de decomposição: indicam como decompor o problema em instâncias e utilizar as soluções resultantes na construção da solução para o problema original.
  • Ant colony optimization: formigas artificiais percorrem um grafo em que cada aresta representa um componente de solução.
  • Otimização extrema: em cada iteração, remove o pior componente.
  • Particle swarm optimization.
  • Iterated local search : tenta realizar uma espécie de busca por entornos nos ótimos locais.
exemplos em detalhes
Exemplos em detalhes
  • Uma meta-heurística clássica:
    • Algoritmo genético.
  • Uma meta-heurística recente:
    • Particle swarm optimization (1995).
algoritmo gen tico
Algoritmo genético
  • É uma meta-heurística evolutiva.
  • Cada elemento da população é uma seqüência de símbolos (“genes”), chamada cromossomo.
  • Exemplo simples: problema da mochila 0-1 com n itens. Cromossomo tem n genes. Cada i-ésimo gene é um bit, associado ao i-ésimo item.
algoritmo gen tico13
Algoritmo genético
  • Operador de mutação: escolhe aleatoriamente um gene do cromossomo e o altera (para um valor aleatório).
  • TmЄ [0, 1] é a taxa de mutação.
  • Operador de cruzamento: gera um par de cromossomos a partir dos genes de outro par.
  • TcЄ [0, 1] é a taxa de cruzamento.
  • Função de aptidão: mede a qualidade de um indivíduo.
  • Exemplo (mochila - i-ésimo item tem valor vi):
passagem entre gera es
Passagem entre gerações
  • m : tamanho da população.
  • Partindo de M = {}, repetir m vezes:
    • Selecione aleatoriamente um indivíduo da população. Probabilidades são proporcionais às aptidões.
    • Adicionar a M o indivíduo selecionado.
  • Para formar a próxima população, repita m/2 vezes:
    • Selecione um par de indivíduos de M e, com probabilidade Tc, realize cruzamento em um ponto aleatório, gerando dois outros indivíduos.
    • Adicione os dois indivíduos gerados à nova população.
    • Realize mutação nos indivíduos (probabilidade Tm).
algumas aplica es
Algumas aplicações
  • Problema da mochila (múltiplo e 0-1).
  • Problemas de agendamento.
  • Problemas de coloração de vértices (ou arestas).
  • Terminal assignment problem.
  • Problema da soma de subconjunto (subset sum).
  • Problema do corte máximo.
  • Problema da cobertura por conjuntos (set covering).
  • Conjunto independente máximo.
  • Problema da cobertura mínima de vértices.
  • Codificação e decodificação de códigos de grupo.
  • Problema da montagem de fragmentos de DNA (fragment assembly).
particle swarm optimization
Particle Swarm Optimization
  • Desenvolvida por James Kennedy (psicólogo) e Russell Eberhart (engenheiro), com base no comportamento de pássaros em revoadas, modelado pelo biólogo Frank Heppner.
  • Elementos do algoritmo:
    • A : população de agentes.
    • xi : posição do agente ai no espaço de soluções.
    • f : função de avaliação.
    • vi : velocidade do agente ai.
    • V(ai) : conjunto fixo de vizinhos do agente ai.
    • Todos os agentes estão conectados, direta ou indiretamente.
itera o
Iteração
  • Para cada agente ai :

vi := ω.vi + η1.rand().(yi - xi) + η2.rand().(zi - xi)

xi := xi + vi

  • Sendo:
    • yi: melhor posição em que ai já esteve.
    • zi: melhor posição em que algum vizinho de ai já esteve.
aplica es de pso
Aplicações de PSO
  • Aplicações bem-sucedidas mais comuns:
    • Evolução de redes neurais artificiais.
    • Extração de regras de RNAs.
  • Aplicação recente:
    • Bandwidth Minimization Problem (2003).
  • Algumas aplicações pontuais recentes (2004):
    • Caminho ótimo para operações de perfuração automatizadas.
    • Mineração de dados para tarefas de classificação.
    • Posicionamento de bases em computação móvel.
    • Aproximação poligonal ótima de curvas digitais.
motiva o para as hiper heur sticas
Motivação para as hiper-heurísticas
  • Implementações de meta-heurísticas podem ser algoritmos extremamente poderosos. Porém, normalmente isso exige alterações substanciais para cada novo problema a ser tratado.
  • O objetivo das hiper-heurísticas é resolver esse conflito entre facilidade de implementação e qualidade. Portanto, a idéia não é necessariamente superar a qualidade das outras técnicas.
conceito de hiper heur stica
Conceito de hiper-heurística
  • O termo hiper-heurística (2000) se refere aos algoritmos heurísticos que operam em um alto nível de generalidade. O domínio de uma hiper-heurística é composto por conjuntos de heurísticas (e não pelo conjunto das instâncias de um problema de otimização).
  • Uma hiper-heurística encontra soluções indiretamente, utilizando de maneira inteligente as heurísticas que lhe foram fornecidas.
vantagens
Vantagens
  • Simplicidade: para adaptar uma hiper-heurística a um novo problema, basta alterar o conjunto de heurísticas simples de baixo nível.
  • Vantagens potenciais:
    • Robustez: uma hiper-heurística é um algoritmo bem definido que, idealmente, apresenta eficiência e eficácia no tratamento de diversos problemas de otimização, pois sua “inteligência” está implementada em um nível independente do domínio do problema.
    • Os erros de decisão praticados por cada uma das heurísticas pouco elaboradas são suprimidos em um processo de intercalação. A hiper-heurística é, portanto, insensível a essas falhas.
um exemplo concreto
Um exemplo concreto
  • Hiper-heurística desenvolvida em 2002, por Cowling et al. (Bradford / Nottingham).
  • A hiper-heurística é um algoritmo genético:
    • Cada cromossomo é uma seqüência de inteiros no intervalo [0, nh-1], sendo nh o número de heurísticas de baixo nível.
    • A população inicial é criada com números aleatórios.
  • Tamanho da população: 30.
  • Número de gerações: 200. Porém, 100 gerações fornecem resultados semelhantes.
  • Elitismo: população com os 30 melhores entre a população atual e a população gerada.
vers es da hiper heur stica
Versões da hiper-heurística
  • Oito versões:
    • Quatro com tamanho fixo de cromossomo.
    • Quatro com tamanho adaptativo de cromossomo.
  • Taxas fixas e função de aptidão simples.
  • Taxas adaptativas e função de aptidão simples.
  • Taxas fixas e função de aptidão com tempo de CPU.
  • Taxas adaptativas e função de aptidão com tempo de CPU.
caracter sticas das vers es
Características das versões
  • Versões com taxas fixas:
    • Taxa de cruzamento: 0,6.
    • Taxa de mutação: 0,1.
  • Taxas adaptativas: Tm se eleva (e Tc diminui) quando não há aumento na aptidão média por três gerações seguidas. O inverso ocorre quando há aumento de aptidão por três gerações. Aumento de uma taxa T := (T + 1) / 2. Diminuição: divisão por 2.
  • Função de aptidão simples: valor objetivo resultante da aplicação do cromossomo à melhor solução já encontrada em todo o processo.
  • Função de aptidão com tempo de CPU: o valor acima é dividido pelo tempo de CPU tomado na aplicação do cromossomo.
n mero vari vel de genes
Número variável de genes
  • Operadores adicionais, que lidam com subseqüências de genes:
    • Um operador de cruzamento permuta a melhor seqüência de um cromossomo com a melhor seqüência do outro.
    • Um operador de mutação remove a pior seqüência do cromossomo.
    • Outro operador de mutação insere no cromossomo a melhor seqüência de um outro cromossomo (selecionado aleatoriamente).
  • Cromossomos muito grandes são penalizados pela função de aptidão.
aplica o
Aplicação
  • Problema: agendamento de cursos.
  • D : conjunto de docentes.
  • L : centros de treinamento (localidades), cada um com um certo número de salas.
  • P : matriz de penalidades (DxL).
  • n : número de vagas na grade horária.
  • C : conjunto de cursos. A cada curso c estão associados:
    • Um conjunto de docentes competentes para ministrá-lo.
    • Um intervalo dentro do qual c deve se iniciar.
    • Um conjunto de localidades.
    • Uma duração (entre 1 e 5 vagas da grade horária).
    • Um valor que indica a sua prioridade (importância).
agendamento de cursos
Agendamento de cursos
  • Objetivo: maximizar W - D, sendo:
    • W : soma das prioridades dos cursos realizados.
    • D : soma das penalidades aplicadas.
  • Restrições adicionais:
    • Nenhum docente pode ministrar dois cursos simultaneamente.
    • Nenhum docente pode trabalhar em mais de 60% das vagas de horários.
heur sticas de baixo n vel
Heurísticas de baixo nível
  • Tipo 1 (5 heurísticas): escolhem um curso e tentam agendá-lo.
  • Tipo 2 (4 heurísticas): idem, mas, na presença de conflitos, tentam trocar os dados entre o curso escolhido e outro curso já agendado. Pode ser exaustivo.
  • Tipo 3 (3 heurísticas): agendam o curso de maior prioridade que melhore a solução mesmo após a remoção dos cursos conflitantes.
experimentos
Experimentos
  • Para efeito de comparação, também foram desenvolvidas duas meta-heurísticas, implementadas de forma não trivial: um algoritmo genético e um algoritmo memético.
  • As heurísticas de baixo nível da hiper-heurística foram utilizadas como operadores para o algoritmo memético.
  • Heurísticas H1, ..., H5 : cinco execuções da hiper-heurística mais simples em uma instância complexa.
experimentos31
Experimentos
  • Todas as instâncias têm 25 professores, 10 localidades e 60 vagas de horários. São baseadas em um caso real ocorrido em uma instituição financeira de grande porte.
  • Defeito: poucas instâncias (5).
  • Instâncias diferem na complexidade:
    • Número médio de professores associados a cada curso.
    • Número médio de localidades associadas a cada curso.
  • Instância mais complexa: para cada curso, 1 localidade e 5 docentes.
outro exemplo concreto
Outro exemplo concreto
  • Hiper-heurística desenvolvida em 2001 por Cowling et al. (Nottingham).
  • Seleciona uma heurística de baixo nível a cada iteração.
  • Recebe os componentes da função objetivo, com seus respectivos pesos.
  • f1c(Hi) : desempenho histórico de Hi em relação ao componente c.
  • f2c(Hi, Hk) : desempenho histórico (em relação ao componente c) de Hi quando executada logo após Hk.
  • f3(Hi) : tempo decorrido desde a última execução de Hi.
  • αc, βc e δ : pesos dos fatores históricos.
fatores hist ricos
Fatores históricos
  • f1 e f2 são critérios de intensificação.
  • f3 é um critério de diversificação.
  • Intensificação :exploração do espaço de busca através de componentes e de tipos de movimentos que, historicamente, levam a soluções de boa qualidade.
  • Diversificação : tentativa de construção de soluções que pertencem a regiões não exploradas do espaço de busca e diferem significativamente das soluções já encontradas.
itera o da hiper heur stica
Iteração da hiper-heurística
  • Seleciona aleatoriamente um componente c, com probabilidades proporcionais aos pesos.
  • Hk : última heurística executada.
  • Executar-se-á a heurística Hi que maximiza o valor:

fc(Hi) = αc∙f1c(Hi) + βc∙f2c(Hi, Hk) + δ∙f3(Hi).

vers es
Versões
  • Pesos fixos para os fatores históricos e função objetivo atômica.
  • Pesos adaptativos e função objetivo atômica.
  • Pesos adaptativos e função objetivo decomposta.
  • Adaptabilidade:
    • Quando a heurística selecionada aumenta a qualidade da solução, o peso do maior fator de intensificação (max{α, β}) sofre elevação proporcional.
    • O mesmo peso é reduzido quando não há ganho de qualidade.
    • Quando não há progresso durante b iterações, o fator de diversificação se eleva (b é o número de heurísticas de baixo nível).
    • Quando há progresso em b iterações seguidas, o fator de diversificação é reduzido.
quatro vers es simples
Quatro versões simples
  • Também foram desenvolvidas quatro hiper-heurísticas simples, semelhantes a meta-heurísticas de busca por entornos.
  • SimpleRandom : seleciona uma heurística aleatoriamente e a aplica à solução corrente.
  • RandomDescent : seleciona uma heurística aleatoriamente e a aplica repetidamente até que não haja ganho de qualidade.
  • RandomPerm : cria aleatoriamente uma permutação das heurísticas e a aplica.
  • RandomPermDescent : semelhante ao método acima, mas cada heurística é aplicada, repetidamente, até que não haja ganho de qualidade.
aplica o a um problema
Aplicação a um problema
  • Problema real: feira comercial.
  • Companhia promove um evento que envolve fornecedores e delegados.
  • Fornecedores indicam os delegados que desejam encontrar, classificando alguns encontros como prioritários.
  • Delegados também participam de seminários. Cada delegado indica os seminários de que gostaria de participar. Todas as participações são garantidas, para os delegados convidados.
  • Cada encontro ocupa um horário na grade.
  • Cada seminário ocupa três horários.
  • O objetivo é selecionar quais delegados serão convidados e agendar encontros.
feira comercial
Feira comercial
  • Um delegado não pode participar de mais de 12 encontros.
  • Um delegado não pode participar de duas atividades (seminário ou encontro) ao mesmo tempo e um fornecedor não pode participar de dois encontros ao mesmo tempo.
  • Restrições desejáveis (soft constraints):
    • Cada fornecedor deve ter ao menos 20 encontros.
    • Cada fornecedor deve ter ao menos 17 encontros prioritários.
  • Função a ser minimizada: E = B + 0,05∙C + 8∙H.
    • C : penalidades pela não realização dos 20 encontros.
    • B : idem, para os encontros prioritários.
    • H = d - 72, onde d é o número de delegados convidados e 72 é um limite inferior (se cada fornecedor tem 20 encontros).
resolu o
Resolução
  • Apenas a versão 3 da hiper-heurística foi utilizada.
  • Solução inicial para a hiper-heurística: resultado de um algoritmo guloso desenvolvido pelos autores.
  • Componentes da função objetivo: (1, B), (0,05, C), (8, H).
  • 10 heurísticas de baixo nível, que adicionam e/ou removem encontros ou delegados.
experimentos41
Experimentos
  • Deixam a desejar:
    • Não comparam as hiper-heurísticas com outros métodos.
    • A instância é um caso real, mas foi a única utilizada. Dados:
      • 43 fornecedores.
      • 99 potenciais delegados.
      • 12 seminários.
      • 24 horários disponíveis.
outro problema
Outro problema
  • Problema real: agendamento de apresentações de projetos em um curso de graduação.
  • Apenas uma instância.
  • As três versões da hiper-heurística foram utilizadas.
  • 8 heurísticas de baixo nível.
principais refer ncias meta heur sticas
Principais referências (meta-heurísticas)
  • MELIÁN, B. et al. Metaheuristics: A Global View. In Revista Iberoamericana de Inteligencia Artificial. Asociación Española de Inteligencia Artificial, 2003. v. 2, n. 19.
  • REEVES, C. R. Genetic Algorithms. In GLOVER, F., KOCHENBERGER, G. Handbook of Metaheuristics. Kluwer, 2003. Cap. 3.
  • POMEROY, P. An Introduction to Particle Swarm Optimization. 2003. (http://www.adaptiveview.com/articles/ipsop1.html)
  • Metaheuristics Network. (http://www.metaheuristics.net)
principais refer ncias hiper heur sticas
Principais referências (hiper-heurísticas)
  • ROSS, P. et al. Hyper-heuristics: An Emerging Direction in Modern Search Technology. In Handbook of Metaheuristics. Kluwer, 2003.
  • COWLING, P. et al. An Adaptive Length Chromosome Hyperheuristic Genetic Algorithm for a Trainer Scheduling Problem. Submitted to SEAL 2002 Conference). University of Nottingham.
  • COWLING, P. et al. Hyperheuristics: A Tool for Rapid Prototyping in Scheduling and Optimization. In LNCS 2279, Applications of Evolutionary Computing: Proceedings of Evo Workshops 2002.
meta refer ncia
Meta-referência:

Mais referências na minha monografia:

http://www.ime.usp.br/~igorrs/seminarios/metahiper.ppt

http://www.ime.usp.br/~igorrs/monografias/metahiper.pdf