Escolar Documentos
Profissional Documentos
Cultura Documentos
ndice
Problemas de Optimizao Problemas de Optimizao Combinatria
Tcnicas Classificao Tipos de problemas
Problemas de Optimizao
Com variveis contnuas Problemas Contnuos A soluo um conjunto de nmeros reais Com variveis discretas Problemas Combinatrios A soluo um objecto que pertence a um conjunto finito ou ento infinito enumervel, por exemplo nmeros inteiros, conjuntos, permutaes ou grafos
Caractersticas
Tempo de execuo curto Facilidade de implementao Flexibilidade Simplicidade
de melhoramentos
A partir de uma soluo admissvel qualquer, tentam melhor-la atravs de pequenas alteraes sucessivas
compostas
Tm uma fase construtiva e uma fase de melhoramentos
Heursticas construtivas
Constroem a soluo passo a passo, segundo um conjuno de regras pr-estabelecido.
Escolha do ponto inicial inicializao Critrio de escolha do elemento seguinte a acrescentar soluo Seleco da posio onde o novo elemento vai ser inserido
Heursticas de melhoramentos
A partir de uma soluo inicial admissvel, procuram melhorar a soluao atravs de pequenas alteraes sucessivas. A soluo inicial pode ser obtida:
Aleatriamente Atravs de heurstica construtiva
Se utilizarmos uma heurstica construtiva para a soluo inicial estamos perante uma heurstica composta
Heursticas de melhoramentos
A partir de uma soluo inicial admissvel, procuram melhorar a soluao atravs de pequenas alteraes sucessivas. A soluo inicial pode ser obtida:
Aleatriamente Atravs de heurstica construtiva
Se utilizarmos uma heurstica construtiva para a soluo inicial estamos perante uma heurstica composta
Objectivo
Encher a mochila no ultrapassando o peso limite, maximizando o valor total dos objectos transportados
Objectivo
Encontrar o caminho mais curto para um caixeiro viajante que sai de uma cidade e volta a ela, visitando uma nica vez outras n cidades
Objectivo
Fornecer todos os clientes minimizando os custos de abertura de armazns
Objectivo
Fornecer todos os clientes minimizando os custos de abertura de armazns. Cada cliente s pode ser fornecido por um armazm
Objectivo
Fornecer todos os clientes minimizando os custos de abertura de armazns e custos de fornecimento.
Meta-heursticas
Mtodos que aproveitam os conceitos de pesquisa local Introduz conceitos de intensificao as melhores solues contm partes boas que tendem a no ser alteradas de iterao para iterao. Introduz conceitos de diversificao Por vezes e para evitar cair em timos locais, so consideradas piores solues que as anteriores. As mais conhecidas so:
Pesquisa por Arrefecimento Simulado Simulated Annealing Pesquisa Tabu Tabu Search Algoritmos Genricos genetic Algorithms Colnias de Formigas Ant Colonies
Simulated Annealing
Incio dos anos 80 Ideias bsicas da metalurgia e termodinmica Alguns materiais tm fontes de energia que, em arrefecimento lento, aps um banho de calor, podero incluir estados de baixa energia Mas a temperatura baixa por si s no garante um estado de energia mnima annealing
Simulated Annealing
Como funciona?
Soluo actual xk Melhor soluo x* Gerar ao acaso nova soluo x V(xk) Se x melhor que x* ento x* = x Se x melhor que xk ento xk = x Seno com uma probabilidade pk, xk = x
pk = exp (- C/T)
10
Simulated Annealing
Como implementar? Temperatura / probabilidade de aceitao
arrefecimento geomtrico TL+1= TL L largura do patamar em n de iteraes T0 temperatura inicial (deve ser alta da ordem de C0) - tipicamente entre 0,8 e 0,99 C diferena entre a soluo actual e a soluo anterior pk = exp (- C/T)
Critrio de paragem
Normalmente para-se se a soluo no melhora mais que y% em N patamares consecutivos (1% < y < 5%)
Simulated Annealing
Consideraes Simplicidade Robustez Longos tempos de computao Paralelismo Convergncia (em teoria) Melhorias podem ser obtidas pela introduo de outros procedimentos
11
Tabu Search
Conceber uma estrutura de vizinhana e possivelmente uma subvizinhana. Criar e gerir uma Lista Tabu
Lista de solues visitadas Movimentos recentes Atributos desses movimentos
Como funciona?
Soluo actual xk Procurar a melhor soluo (x) na sub-vizinhana x V (xk,k) Soluo actual a soluo (x) xk = x
A Lista Tabu limita os movimentos e altera a sub-vizinhana. A Lista Tabu visa impedir os ciclos.
Grupo de Controlo e Gesto G C G
Tabu Search
Como implementar?
Especificao de uma estrutura de Vizinhana ou sub-vizinhana Lista Tabu Solues recentes Tamanho da lista Critrio de aspirao Definio de soluo suficientemente boa para aceitar mesmo sendo tabu Regra de paragem
Consideraes Registar atributos ou movimentos e no solues evita esforo excessivo Limitar um determinado atributo pode impedir o acesso a boas solues que no foram visitadas
Grupo de Controlo e Gesto G G
12
Algoritmos Genticos
Algoritmo que mimetiza a evoluo gentica das espcies Lidam com populaes em vez de solues individuais Solues interactuam, interagem e produzem filhos que se espera que retenham as boas caractersticas dos pais. a vizinhana de toda a populao que explorada Como funciona? Os algoritmos tm que ser codificados como uma cadeia de caracteres
Nem sempre a codificao mais evidente a que conduz a melhores solues
Comeam com uma populao inicial com N solues e evoluem gerando populaes de N solues atravs dos operadores de:
Seleco Crossover mutao
Grupo de Controlo e Gesto G C G
Algoritmos Genticos
Como Implementar? Gerao de populaes Os melhores individuos da populao X(n) so seleccionados So efectuadas operaes de crossover sobre pares desses individuos, gerando descendentes Estes descendentes iro substituir os maus elementos da populao A uma pequena parte dos filhos feita uma mutao
13
Algoritmos Genticos
Como Implementar? Avaliao de solues Cada soluo tem que ser avaliada pela sua adaptao ao meio envolvente (fitness). Esta pode ser o valor da funo objectivo. A seleco dos individuos baseada na sua adaptao mas no de uma forma determinstica mas com uma probabilidade que aumenta com a sua adaptao
Algoritmos Genticos
Como Implementar? Crossover Pares formados por individuos seleccionados so submetidos a crossover (com probabilidade p)
Existem vrias possibilidades Mais comum o crossover de 2 pontos
Exemplo
Cromossoma 1 - 0 0 1 1 1 0 0 1 0 Cromossoma 2 - 1 1 0 0 0 1 0 0 1 So escolhidas aleatoriamente 2 posies do cromossoma (exemplo 3 e 5) Os contedos dos genes dessas posies so trocados Novo cromossoma 1 0 0 1 0 0 0 0 1 0 Novo cromossoma 2 1 1 0 1 1 1 0 0 1
Grupo de Controlo e Gesto G C G
14
Algoritmos Genticos
Como Implementar? Mutao Cada um dos filhos submetido a uma mutao com probabilidade pm O operador mais simples consiste em simplesmente escolher um gene aleatoriamente e trocar o caracter que l se encontra por outro. Exemplo
Cromossoma - 0 0 1 1 1 0 0 1 0 Fazendo a mutao na posio 7 Novo cromossoma - 0 0 1 1 1 0 1 1 0
Algoritmos Genticos
Como Implementar? Substituio A substituio dos maus elementos pelos bons elementos feita de forma anloga ao da seleco Os maus elementos so seleccionados de acordo com a sua adaptao (ou melhor, desadaptao) Paragem O algoritmo para ao fim da gerao de um nmero pr-determinado de populaes
15
Algoritmos Genticos
Codificaes baseadas em permutaes Em muitos problemas de optimizao combinatria natural codificar solues como uma sequncia de elementos O conjunto de solues admissveis ser o sub-conjunto das permutaes que possvel construir com esses elementos Exemplo
No caso do problema do caixeiro viajantea soluo pode ser representada como uma lista ordenada de cidades. No entanto o operador de crossover de 2 pontos usual deixa de funcionar 35|7124|869 35|2346|869 19|2346|875 19|7124|875 Em cada soluo existem cidades repetidas e outras que no so visitadas
Algoritmos Genticos
Codificaes baseadas em permutaes Exemplo
35|7124|869 19|2346|875 Preparam-se os cromossomas A e B para tornar possvel a transferncia dos genes 3 a 6 de A para B e vice-versa Preparao de B Criar buracos nos sitios dos genes transferidos de A H9|H3H6|8H5 Preencher os buracos movendo os no buracos circularmente da direita para a esquerda, comeando pelo 2 ponto de crossover 36|HHHH|859 Transferir os genes de A 36|7124|859 Para A 71|2346|895
Grupo de Controlo e Gesto G C G
16
Algoritmos Genticos
Codificaes baseadas em permutaes Exemplo
Operador de mutao especial Seleccionar dois pontos do cromossoma e inverter a posio Cromossoma 1 3 5 7 | 1 2 4 8 | 6 9 Novo cromossoma 1 3 5 7 | 8 4 2 1 | 6 9
17