minicursocarine
TRANSCRIPT
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Técnicas para Resolução deProblemas Complexos
Carine Rodrigues da CostaMestranda em Ciência da Computação
Instituto de InformáticaUniversidade Federal de Goiás
http://www.inf.ufg.br
1 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
1 Sumário
2 Definições Preliminares
3 HeurísticasHeurísticas ConstrutivasBusca Local
4 MetaheurísticasBusca TabuGRASPAlgoritmos Genéticos
5 Problema de Alocação de Salas
6 Referências
2 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Otimização Combinatória
O que é um Problema de Otimização Combinatória?Um problema que possui diferentes soluções possíveis.Soluções são comparadas, efetuando a otimização.Otimizar: Encontrar uma solução ótima para umdeterminado problema, sob determinadas restrições.
3 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Como Resolver um Problema de Otimização Combinatória?Enumeração de todas as soluções.Escolha da solução que possui o menor custo.
4 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Exemplo: Problema da MochilaDados um conjunto de n objetos e uma mochila com:
prj : prioridade do objeto jpej : peso do objeto jb : capacidade da mochila
Determinar quais objetos devem ser colocados na mochilapara maximizar o benefício total de tal forma que o peso damochila não ultrapasse sua capacidade.
5 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Exemplo: Problema da Mochila
Figura: Exemplo Problema da Mochila
6 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Exemplo: Problema da MochilaColocar elementos dentro de um compartimento quesuporta 10kg.Cada elemento possui uma prioridade e um valor.
Considerando que existam 5 itens, temos:A [prioridade = 10, peso=3]B [prioridade = 3, peso=4]C [prioridade = 7, peso=6]D [prioridade = 9, peso=4]E [prioridade = 2, peso=2]
7 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Enumerando todas as soluções (peso máximo= 10kg)S1 [A] pr = 10 pe = 3 S17 [A,B,D] pr = 22 pe = 11S2 [B] pr = 3 pe = 4 S18 [A,B,E] pr = 15 pe = 9S3 [C] pr = 7 pe = 6 S19 [A,C,D] pr = 26 pe = 13S4 [D] pr = 9 pe = 4 S20 [A,C,E] pr = 19 pe = 11S5 [E] pr = 2 pe = 2 S21 [A,D,E] pr = 21 pe = 9
S6 [A,B] pr = 13 pe = 7 S22 [B,C,D] pr = 19 pe = 14S7 [A,C] pr = 17 pe = 9 S23 [B,C,E] pr = 12 pe = 12S8 [A,D] pr = 19 pe = 7 S24 [B,D,E] pr = 14 pe = 10S9 [A,E] pr = 12 pe = 5 S25 [C,D,E] pr = 18 pe = 12S10 [B,C] pr = 10 pe = 10 S26 [A,B,C,D] pr = 29 pe = 17S11 [B,D] pr = 12 pe = 8 S27 [A,B,C,E] pr = 22 pe = 15S12 [B,E] pr = 5 pe = 6 S28 [A,B,D,E] pr = 24 pe = 13S13 [C,D] pr = 16 pe = 10 S29 [A,C,D,E] pr = 28 pe = 15S14 [C,E] pr = 9 pe = 8 S30 [B,C,D,E] pr = 21 pe = 16S15 [D,E] pr = 11 pe = 6 S31 [A,B,C,D,E] pr = 31 pe = 19S16 [A,B,C] pr = 20 pe = 13
8 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
O número de soluções é dado por:
nS =n−1∑i=1
Cn,i + 1
n= quantidade de elementose C é a combinação de n elementos tomados p a p:
Cn,p =n!
p!(n− p)!
nS =5!
1!(5− 1)!+
5!2!(5− 2)!
+5!
3!(5− 3)!+
5!4!(5− 4)!
= 31
9 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Soluções Possíveis para o Problema da Mochila
Valor de n Número de Soluções5 3110 102320 104857550 1125× 1015
100 1269× 1030
150 1427× 1045
10 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Modelando um ProblemaDecisões: Identificar quais decisões efetivamente resolvem
o problema. O que não conhecemos noproblema?
Restrições: Identificar quais as restrições que limitam asdecisões a tomar.
Objetivos: Definir objetivos capazes de indicar que umadecisão é preferível a outras.
11 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Forma Geral de um Modelo de Otimizaçãomin ou max (função objetivo)sujeito a
restrições principais (equações ou inequações)tipo das variáveis de decisão
12 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Modelagem Matemática de um Problema de OtimizaçãoEncontrar x tal que
min f(x)s.a. gi(x) ≥ 0, para i = 1, ...,m
hj(x) = 0, para j = 1, ..., p
onde f, gi e hj são funções com x ∈ Rn.
13 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Problema do Caixeiro Viajante - PCV“Suponha que um caixeiro viajante tenha de visitar n cidadesdiferentes, iniciando e encerrando sua viagem na primeiracidade. Suponha, também, que não importa a ordem comque as cidades são visitadas e que de cada uma delas pode-seir diretamente a qualquer outra. O problema do caixeiroviajante consiste em descobrir a rota que torna mínima aviagem total.”
14 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
Problema do Caixeiro Viajante - PCVComo transformá-lo num problema de enumeração?Como determinar todas as rotas do caixeiro?Como saber qual delas é a menor?
15 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema do Caixeiro Viajante - PCV
Modelagem por Grafos
Dados: um grafo G = (V,A), com |V | e cij ≥ 0 umpeso associado à aresta (i, j) ∈ A que liga os vértices vi
e vj , com: P : peso total de todas as arestas“percorridas”.Determinar: um Ciclo Hamiltoniano de peso Pmínimo.
Ciclo Hamiltoniano: Um ciclo hamiltoniano em G é umciclo que passa (uma e uma só vez) por cada vértice de G,com retorno ao vértice de origem.
16 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema do Caixeiro Viajante - PCV
Exemplo: PCV
B
A
E
D C
44
39
31
51
63
50
6
8565
Figura: Uma instância do PCV modelado em um Grafo
17 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Definições Preliminares
InstânciaValores dados aos parâmetros de entrada numdeterminado momento, satisfazendo às restriçõesimpostas pelo problema.O tamanho de uma instância corresponde ao total decódigos (numéricos e alfanuméricos) necessários parasua identificação, considerando o tipo e a estrutura dosdados utilizados.
18 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema do Caixeiro Viajante - PCV
Modelando o PCVVariável de decisão: xij = 1 se a cidade i é visitada antes j.
0, caso contrário.Objetivo: Encontrar o circuito hamiltoniano de menor
custo.
minn∑
i=1
n∑j=1
cijxij
cij : custo da cidade i à cidade j.n: total de cidades.
19 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema do Caixeiro Viajante - PCV
Restrições do PCVn∑
i=1
xij = 1,∀j
De todas as cidades chega apenas uma.
n∑j=1
xij = 1,∀i
Escolhe apenas uma cidade para partir.
20 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas
O que é heurística?Técnica, consistindo de uma regra ou umconjunto de regras, que busca boas soluçõesem um tempo computacional razoável.É aproximativa.Não garante otimalidade.Qualidade da solução pode ser definida poruma métrica de avaliação ou critério.
21 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas
Propósito Geral das HeurísticasIdentificar soluções de um problema, onde o tempo émais importante que a qualidade da solução, ou oconhecimento da qualidade.São utilizados para identificar boas aproximações desoluções, em menos tempo que um algoritmo exatolevaria para descobrir uma solução ótima.O uso de métodos exatos pode tornar impraticável asolução de diversos problemas.
22 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas
Tipos de Heurísticas
Construtiva: Consiste em construir uma solução de um problemade forma incremental.
Melhoria: Iniciam com uma solução factível e então amelhoram com uma sequência de passos comointercalações ou trocas na vizinhança.
23 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas
Heurísticas Construtivas
24 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas Construtivas
Heurísticas Construtivas
Consiste em construir uma solução de um problema de formaincremental.
Adicionam componentes individuais (nós, arcos, variáveis).Método Guloso, procura o melhor componente.
Passo a passo, um componente é escolhido e depois inseridona solução até gerar uma solução completa.
O componente escolhido em cada passo é, em geral, omelhor candidato de acordo com algum critério.
25 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurística de Construção Gulosa
Algoritmo Básico de uma Heurística Construtiva
Algoritmo 1: Heurística Construtiva
Inicialize a solução parcial sp;1
Inicialize o conjunto C de componentes candidatos;2
enquanto (sp não for uma solução completa) faça3
c← melhor componente guloso;4
sp ← sp ⊗ c ;5
Atualize C;6
s← sp;7
Retorne a solução s.8
Onde: ⊗ é um operador para adicionar um componente c asolução parcial sp.
26 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Exemplo de Heurística Construtiva para o PCV
Heurística dos vizinhos mais próximosIdeia:
Escolha uma cidade inicial aleatoriamente.Em cada passo, escolha, entre as cidades que restaram,a cidade mais próxima.
27 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas
Busca Local
28 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Operações básicasPartindo de uma solução inicial, consiste em “navegar”interativamente pelo espaço de busca movendo-se em cadapasso, de uma solução para uma solução vizinha(adjacente).
29 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Espaço de Soluções da Busca Local
Figura: Espaço de Soluções da Busca Local
30 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Função de VizinhançaSeja S o espaço de busca do problemaSeja s uma solução do problema
DefiniçõesA função de vizinhança é uma função N(s) quemapeia cada solução s ∈ S para um subconjuntoN(s) ⊆ S.Um elemento qualquer de N(s) é denominado devizinho de s.
31 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
MovimentoTodo vizinho s′ ∈ N(s) é alcançado pela solução satravés de uma operação denominada de movimento.
N(S) = {s1, s2, s3, s4}
Figura: Exemplos de possíveis movimentos sobre a vizinhança de s.
32 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Exemplo de Movimentos na Vizinhança
2-opt (ou 2-change): No PCV: N2(s) = {s′ : s′ ∈ S e s′
pode ser obtida de s da seguinte maneira: remova duasarestas do caminho e as substitua por outras duas arestas}.
Figura: Exemplos de movimento 2-opt para o Problema doCaixeiro Viajante.
33 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Movimentos no PCV
Figura: Exemplos de vizinhos de uma viagem no PCV com omovimento 2-opt para o Problema do Caixeiro Viajante.
34 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Ótimo Local e Ótimo Global
Mínimo LocalUma solução s ∈ S é chamada de mínimo local sef(s) ≤ f(s′)∀s′ ∈ N(S).
Mínimo GlobalUma solução s ∈ S é chamada de mínimo global sef(s) ≤ f(s′)∀s′ ∈ S.Este tipo de solução será indicada por s∗
35 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Ótimo Local e Ótimo Global
Exemplo de Ótimo Local e Ótimo Global
Figura: Busca local interrompida na solução A, um ótimo local debaixa qualidade.Eixo x: espaço de soluções. Eixo y: valor da função objetivo.
36 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Operações básicasBaseado no método de tentativa e erro.O objetivo é encontrar ótimos locais, em sua forma maissimples.Partindo de uma solução inicial s, é feita uma busca nosubconjunto N(S) ⊂ S que contém soluções vizinhas des, e a melhor solução encontrada é escolhida.Processo se repete enquanto soluções melhores foremobtidas.Método não garante que seja encontrado um ótimolocal, embora seja possível de ser encontrado.
37 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Algoritmo Geral de Busca Local
Dada uma instância (S, c) de um problema de otimização,em que F é um conjunto factível e c é o custo domapeamento, a vizinhança é dada por N : S −→ 2S em quese busca um ponto s′ ∈ S que é melhorado pela sub-rotina:
melhorar(s) ={
s′ ∈ N(s) | c(s′) < c(s)s, se não existe s′ ∈ N(s)
38 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Algoritmo Geral de Busca Local
Algoritmo 2: Melhoria Iterativa
s← alguma solução inicial ;1
repita2
gerar s′ ∈ N(s);3
se f(s′) < f(s) então4
s← s′5
até f(s′) < f(s) para todo s′ ∈ N(s);6
Retorne a solução s.7
39 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Busca Local
Considerações importantes
Obter uma solução inicial factível (heurísticaconstrutiva).Escolher uma “boa” vizinhança para o problema.Escolher um bom método de busca.Regras de seleção bem conhecidas: Primeira Melhoria(First Improvement) e Melhor Melhoria (BestImprovement).Primeira Melhoria: Seleciona a primeira solução de menor
custo em relação à solução atual encontrada,termina a iteração e o restante da vizinhançanão é avaliada, na mesma iteração.
Melhor Melhoria: São avaliadas todas as soluções vizinhas, eapós é escolhida a solução que traga a melhormelhoria, e assim prossegue a busca.
40 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
HeurísticasConstrutivasBusca Local
Metaheurísticas
PAS
Referências
Heurísticas Construtivas × Busca Local
Heurísticas construtivas são, em geral, mais rápidas quemétodos de busca local.Contudo, a busca local, em geral, fornece soluções demelhor qualidade.
41 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
42 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
O que é Metaheurística?Métodos definidos de forma geral para resolução deproblemas, ou seja, são independentes de problemasespecíficos.Pode ser utilizada na resolução de diversas classes deproblemas, não relacionando a detalhes do problema.Devem ser refinadas.Heurísticas em que podem ser modelados problemas deuso geral, ou uma heurística de heurísticas.Tenta evitar a parada em um ótimo local.
43 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
Características Desejáveis em uma Metaheurística
Simplicidade: A metaheurística pode ser baseada em um princípiosimples e claro, que pode ser aplicado amplamente;
Precisão: Os passos de uma metaheurística devem serformulados matematicamente, independente daanalogia com a biologia ou física que foiresponsável pela inspiração inicial;
Coerência: Todos os passos da heurística devem ser seguidosquando resolver um problema em particular;
Eficiência: Heurísticas para problemas particulares devemfornecer uma solução ótima ou sub-ótima paratodas ou pelo menos as instâncias que contémdados reais;
44 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
Características Desejáveis em uma Metaheurística
Efetividade: Heurísticas para problemas particulares devemgastar um tempo computacional viável parafornecer soluções ótimas ou sub-ótimas;
Robustez: O desempenho da heurística deve ser consistentesobre uma grande quantidade e variedade deinstâncias, e não apenas aperfeiçoá-la para umúnico conjunto de instâncias;
Amigável: Heurísticas devem ser claramente descritas, fáceisde entender e fáceis de usar. Isto implica em terpoucos parâmetros, e se possível nenhum;
Inovação: Preferivelmente, os princípios das metaheurísticas,eficiência e efetividade devem conduzir a novostipos de aplicações.
45 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
Metaheurísticas
1 Busca Tabu2 GRASP3 Algoritmos Genéticos
46 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
Busca Tabu
47 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Busca Tabu
Busca Tabu
Criado por Glover [2] e Hansen.
Baseado em busca local.
Diferença entre Busca Local e Tabu Search é a maneira deexplorar a vizinhança, pois na primeira as soluções melhoresque a atual são escolhidas da vizinhança e na segunda amelhor solução vizinha é escolhida.
Estratégia de escolher o melhor vizinho (best improvement),junto com uma estrutura de memória para armazenar assoluções geradas tem como objetivo não deixar a busca presaem um ótimo local.
48 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Busca Tabu
Busca Tabu
Guia a busca local utilizando uma estrutura de memória comaceitação de movimentos que não são de melhora.
Usa a memória para:
Prevenir ciclos (isto é, evitar visitar soluções jávisitadas);Explorar regiões não visitadas do espaço de busca;Melhorar, através de experiências passadas, processo detomada de decisão.
49 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Busca Tabu
Memória de Curto PrazoA principal meta é evitar:
Reverter o movimento;Ciclos.
Lista tabu: registra o histórico das t mais recentes soluçõesvisitadas.Em geral, é registrado apenas alguns atributos das soluçõesjá visitadas em vez da solução completa (é mais barato).
50 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Busca Tabu
Construção da Lista Tabu
Fila circular com tamanho máximo pré-fixado.
Possui movimentos reversos aos últimos | T | movimentosrealizados.
Para o PCV: a lista tabu contém m pares de arestas queforam selecionadas por 2-opt.
51 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Busca Tabu
Algoritmo 3: Tabu Search
T ← ∅;1s← alguma solução inicial;2s∗ ← s;3repita4
encontrar a melhor s′ ∈ N(S) \ T ;5se f(s′) < f(s∗) então6
s∗ ← s;7
s← s′;8Atualize a lista tabu T ;9
até critério de parada;10Retorne s∗;11
52 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
GRASP
53 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
GRASP - Greedy Randomized Adaptive SearchProcedure
GRASP - Greedy Randomized Adaptive Search Procedure -Procedimento de Busca Adaptativa Gulosa e Randômica
Proposto por Feo e Resende [2].
Baseada no processo chamado Multistart, para obter ótimoslocais de melhor qualidade.
54 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
GRASP - Greedy Randomized Adaptive SearchProcedure
GRASP - Greedy Randomized Adaptive Search Procedure -Procedimento de Busca Adaptativa Gulosa e Randômica
Procedimento Iterativo
A cada iteração obtém-se uma solução.As soluções são mantidas até o final.
Procedimento tem 2 fases:
Construir uma solução inicial usando uma função gulosaaleatória.Aplica uma busca local para melhorar a solução anterior.
55 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
GRASP - Greedy Randomized Adaptive SearchProcedure
Algoritmo 4: GRASP
f∗ ←∞;1repita2
Construção();3BuscaLocal(s);4se (f(s) < f∗) então5
s∗ ← s;6f∗ ← f(s);7
até critério de parada;8s← s∗;9
56 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
GRASP - Greedy Randomized Adaptive SearchProcedure
Fase de Construção
A solução inicia com um conjunto vazio. São inseridoselementos nesse conjunto até que ele represente uma soluçãoviável para o problema.
A cada iteração, todos os elementos candidatos são avaliadossegundo uma função gulosa que meça o benefício da inserçãodesse elemento para a construção da solução.
Uma vez realizada essa valoração, é construída a LCR: umalista contendo os elementos com melhor valor na funçãogulosa.
Escolhe-se um elemento aleatoriamente para ser inserido nasolução.
A lista é atualizada.
57 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
GRASP - Greedy Randomized Adaptive SearchProcedure
Fase de construção
Demanda maior esforço computacional;
Constrói soluções, iterativamente, inserindo-se na solução,um elemento de cada vez;
A cada iteração, a escolha do próximo elemento a seradicionado é determinado pela ordenação de todos oselementos candidatos, em uma lista de candidatos;
Essa ordenação é feita mediante a avaliação de cadaelemento, conforme a função “gulosa”;
Heurística Adaptativa: Benefícios de cada elemento sãoatualizados a cada iteração, as próximas soluções conterãoalgumas características da solução anterior..
58 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
GRASP - Greedy Randomized Adaptive SearchProcedure
Fase de Construção do GRASP
Algoritmo 5: Construção
s← ∅;1Inicialize o conjunto de candidatos C;2enquanto C 6= ∅ faça3
g(tmin) = min{g(t) | t ∈ C};4g(tmax) = max{g(t) | t ∈ C};5LCR = {t ∈ C | g(t) ≤ g(tmin) + α(g(tmax − g(tmin))};6Selecione, aleatoriamente, um elemento t ∈ LCR;7s← s ∪ {t};8Atualize o conjunto C de candidatos;9
α ∈ [0, 1]: controla o nível de gulosidade e aleatoriedade doprocedimento Construção.Se α = 0 as soluções geradas são totalmente gulosas.Se α = 1 as soluções geradas são totalmente aleatórias(diversidade de soluções construídas).
59 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Metaheurísticas
Algoritmos Genéticos
60 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Algoritmos Genéticos
Criado por Holland e colegas [4].
Baseados em processos de seleção natural de evolução, daTeoria de Darwin.
Indivíduos com características melhores têm maiores chancesde sobrevivência a de produzirem filhos cada vez mais aptos.
61 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Elementos de Algoritmos Genéticos
0 1 0 0 1
1 1 0 0 1
1 1 0 0 0
0 1 1 0 1
População(Conjunto de Soluções)
Cromossomo(indivíduo, solução)
Gene (parte da representação
de uma solução)
Alelo(possível valor
do gene)
Figura: Elementos de um Algoritmo Genético.
62 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Elementos de Algoritmos Genéticos
Mecanismo de reprodução baseado em processos evolutivos,é aplicado sobre a população com o objetivo de explorar oespaço de busca e encontrar as melhores soluções para oproblema.
Cada indivíduo é avaliado por uma função de aptidão.
Quanto maior for o valor da função de aptidão, quer dizerque mais o indivíduo está adaptado ao meio.
63 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Componentes de Algoritmos Genéticos
1 Uma representação genética de potenciais soluções par oproblema;
2 Um modo de criar uma população de soluções inicial;
3 Uma função de avaliação que segue as regras do ambiente,avaliando as soluções em relação à sua “aptidão”;
4 Operadores genéticos que alteram a composição dos filhos;
5 Valores de vários parâmetros que um Algoritmo Genético usa(tamanho da população, probabilidade da aplicação dosoperadores genéticos).
64 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Procedimento Básico de um Algoritmo Genético
pai 2
pai 1
pai 2
pai 1Seleção de um ponto de corte
Aplicação do crossover
filho 2
filho 1Aplicação da
mutaçãofilho 2
filho 1
Gene alterado pela mutação
(a) (b)
(c) (d)
Figura: Procedimento Básico de um Algoritmo Genético.
65 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Processo de ReproduçãoExistem várias formas de selecionar indivíduos para oprocesso de reprodução.Binary Tournament Selection: indivíduos sãoselecionados aleatoriamente e aquele que tiver o maiorvalor para a função de aptidão é escolhido para ser opai, de forma análoga, o segundo pai é escolhido.
66 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Operações do Algoritmo GenéticoOperação de Recombinação: Geração de filhos.Operação de Mutação: Alterar aleatoriamente uma parte dos
genes de cada cromossomo.
67 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Critérios para Escolha de Cromossomos SobreviventesAleatórioRoleta: chance de sobrevivência de cada cromossomo é
proporcional ao seu nível de aptidão.Misto
O objetivo do uso destes critérios é escapar deótimos locais.
68 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Algoritmo Genético Básico
Algoritmo 6: Construção
t← 0;1
Gere a população inicial P (t);2
Avalie P (t);3
enquanto os critérios de parada não estiverem4
satisfeitos façat← t+ 1;5
Gere P (t) a partir de P (t− 1);6
Avalie P (t);7
Defina a população sobrevivente;8
69 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
MetaheurísticasBusca TabuGRASPAlg. Genéticos
PAS
Referências
Algoritmos Genéticos
Tipos de Cromossomos (Soluções)
Cromossomo p = (x1, x2, ..., xm)
Representação Binária: Ex.: Maximizar a funçãof(x) =| 11 ∗ num(x)− 150 |, em que num(x)contém a quantidade de 1’s do vetor cromossomo.
Representação por Inteiros: Ex.: No PCV, cromossomop = (3, 4, 7, 1, 8, 9, 2, 5, 6) equivale à uma rota.
70 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas
71 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
O que éClassroom Assignment - Parte integrante do Problemade Programação de Cursos Universitários (CouseTimetabling).Atribuição de aulas, com horários previamenteestabelecidos, a salas, respeitando um conjunto derestrições de várias naturezas [3].
72 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Restrições Fortesa: Em uma mesma sala e horário não pode haver
mais de uma aula.b: Uma sala não pode receber uma turma cuja
quantidade de alunos seja superior à suacapacidade.
c: Algumas salas têm horários previamentereservados e nestes horários ficam indisponíveis.
73 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Restrições Fracasd: Certas salas têm restrições de uso e elas devem
ser evitadas o quanto possível.e: Sempre que possível, alocar a uma mesma sala
alunos de um mesmo curso e período.f: Utilizar o espaço das salas eficientemente, isto
é, evitar alocar aulas de turmas pequenas emsalas de maior capacidade.
g: Se possível, cada uma das salas deve serdeixada vazia em pelo menos um horário aolongo do dia, de forma a possibilitar a limpeza.
74 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Representação da Solução
Matriz S = (sij)m×n, onde m = total horários, n = totalsalas.sij contém a turma alocada no horário i e sala j.
Figura: Exemplo de uma Alocação
75 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Estrutura de Vizinhança
Figura: Movimento de Alocação
76 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Estrutura de Vizinhança
Figura: Movimento de Troca
77 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Função ObjetivoAgrupando restrições fortes e fracas:g(s): função de inviabilidadeh(s): função de qualidade
f(s) = g(s) + h(s)
78 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Função de Inviabilidade
g(s) =K∑
k=1
αkIk
ondeK: número de medidas de inviabilidadeIk: valor de k-ésima medida de inviabilidadeαk: peso associado à k-ésima medida de inviabilidade
79 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Função de Qualidade
h(s) =L∑
l=1
βlQl
ondeL: número de medidas de qualidadeQl: valor de l-ésima medida de qualidadeβl: peso associado à l-ésima medida de qualidade
A solução s é viável quando g(s) = 0
80 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Geração de uma Solução InicialToma-se uma aula não alocada da turma com maiordemanda e constrói uma LCR das salas vagas nohorários da aula, ordenadas pela capacidade.Uma das |LCR| salas é escolhida aleatoriamente parareceber a aula.Procedimento continua até que sejam alocadas todas asaulas.
81 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Algoritmo - Busca Tabu e Simulated AnnealingCalibragem dos parâmetros:|T | = 100BTmax = 1000 (número de iterações sem melhora)
Algoritmo 7: SA+BT
s0 ← ConstruaSolucaoInicial() ;1
s1 ← SA(s0) ;2
s∗ ← BT (s1) ;3
82 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Problema de Alocação de Salas - PAS
Resultados
Figura: Características das Instâncias Consideradas
Figura: Resultados Computacionais 83 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Bibliografia Básica
A. Z. Cordenonsi.Ambientes, Objetos e Dialogicidade: Uma Estratégia de EnsinoSuperior em Heurísticas e Metaheurísticas.Tese de Doutorado, UFRGS, 2008.
C. H. Papadimitriou, K. Steiglitz.Combinatorial Optimization: Algorithms and Complexity.Prentice-Hall, 1982.
D. De Werra, A. Hertz.Tabu Search Techniques: A Tutorial and an Application to NeuralNetworks.OR Spectrum, 11(3):131–141, 1989.
D. E. Goldberg.Genetics Algorithms in Search, Optimization, and MachineLearning.Addison-Wesley, Berkeley, 1989.
84 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Bibliografia Básica
E. G. M. de Lacerda.Busca Local.Slides, UFRN - DCA, 2006.
F. Glover.Future Paths for Integer Programming and Links to ArtificialIntelligence.Computers and Operations Research, 5:553–549, 1986.
M. J. F. Souza., A. X. Martins, C. R. de Araújo.Experiências com Simulated Annealing e Busca Tabu na Resoluçãodo Problema de Alocação de Salas.XXXIV SBPO, RJ, 2002.
M. J. F. Souza.Inteligência Computacional para Otimização.Relatório Técnico - UFOP, 2009.
85 / 86
Técnicas paraResolução deProblemasComplexos
Sumário
Def. Preliminares
Heurísticas
Metaheurísticas
PAS
Referências
Bibliografia Básica
P. Hansen, N. Mladenovic.Variable Neighborhood Search..Cap. 7, p. 145–184. Kluwer Academic Publishers, 2003.
T. A. Feo, M. G. Resende.Greedy Randomized Adaptive Search Procedures.Journal of Global Optimization, 6:109–133, 1995.
86 / 86