Você está na página 1de 17

Mtodos de Apoio Deciso Mtodos heursticos

Grupo de Controlo e Gesto G

ndice
Problemas de Optimizao Problemas de Optimizao Combinatria
Tcnicas Classificao Tipos de problemas

Heursticas Tipos de problemas Meta-heursticas


Simulatead annealing Pesquisa tabu Algoritmos genticos

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

Problemas de Optimizao Combinatria

Grupo de Controlo e Gesto G

Optimizao Combinatria - tcnicas


Tcnicas exactas ou ptimas obtm e garantem a soluo ptima. Atingir esta soluo pode ser difcil (muito demorado), ou mesmo impossvel, ou nem sequer ser especialmente importante a sua obteno. Tcnicas aproximadas ou heursticas no garantem a obteno da soluo ptima. No entanto procuram obter uma boa soluo muito rapidamente.

Grupo de Controlo e Gesto G

Optimizao Combinatria tcnicas exactas


Enumerao explcita gerando e avaliando todas as solues admissveis. Enumerao implcita no gerando e avaliando todas as solues admissveis elas so avaliadas implicitamente. Exemplo: Branch and Bound Formulao em modelos de programao inteira (ou binria) resoluo atravs de algortmos prprios. Podem ser usadas para obter limites por relaxaes por exemplo

Grupo de Controlo e Gesto G

Optimizao Combinatria tcnicas heursticas


Objectivo
Obter boas solues de forma eficiente. No obtm a soluo ptima, ou pelo menos no so capazes de garantir que uma dada souo a ptima.

Caractersticas
Tempo de execuo curto Facilidade de implementao Flexibilidade Simplicidade

Grupo de Controlo e Gesto G

Optimizao Combinatria tcnicas heursticas


Tipos de heursticas construtivas
Constroem uma soluo passo a passo, segundo um conjunto de regras pre-estabelecido

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

Pesquisa local e vizinhanas


Baseia-se no mtodo heurstico mais antigo: a tentativa e erro. Para sistematiza a pesquisa constroi-se uma estrutura de vizinhana A vizinhana de uma soluo um conjunto de solues parecidas com a a soluo em questo:
Muitos elementos semelhantes Valor da funo objectivo no muito diferente

Grupo de Controlo e Gesto G

Problemas Mochila (Knapsack)


Dados
Um conjunto de objectos em que cada um tem um valor e um peso associados Uma mochila com um limite de peso

Objectivo
Encher a mochila no ultrapassando o peso limite, maximizando o valor total dos objectos transportados

Grupo de Controlo e Gesto G

Problemas caixeiro viajante (TSP)


Dados
Localizao de cada cidade (coordenadas) Distncia entre duas quaisquer cidades

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

Grupo de Controlo e Gesto G

ProblemasCobertura de conjuntos (set covering)


Dados
Um conjunto de clientes Um conjunto de armazns Uma matriz de ligao armazns - clientes Custo de abertura de um armazm

Objectivo
Fornecer todos os clientes minimizando os custos de abertura de armazns

Grupo de Controlo e Gesto G

ProblemasPartio conjuntos (set particioning)


Dados
Um conjunto de clientes Um conjunto de armazns Uma matriz de ligao armazns - clientes Custo de abertura de um armazm

Objectivo
Fornecer todos os clientes minimizando os custos de abertura de armazns. Cada cliente s pode ser fornecido por um armazm

Grupo de Controlo e Gesto G

Problemas Localizao (location)


Dados
Um conjunto de clientes Um conjunto de armazns Uma matriz de custos de fornecimento de clientes pelos armazns Custo de abertura de cada armazm

Objectivo
Fornecer todos os clientes minimizando os custos de abertura de armazns e custos de fornecimento.

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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)

Grupo de Controlo e Gesto G

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%)

Soluo Inicial (x0) boa soluo vs aleatria Vizinhana tipologia suave


Grupo de Controlo e Gesto G C G

Simulated Annealing
Consideraes Simplicidade Robustez Longos tempos de computao Paralelismo Convergncia (em teoria) Melhorias podem ser obtidas pela introduo de outros procedimentos

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

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

Grupo de Controlo e Gesto G

17

Você também pode gostar