AULA 14
META-HEURÍSTICAS + SIMULAÇÃO PERSPECTIVAS FUTURAS
Autor: Anibal Tavares de Azevedo
INTRODUÇÃO À META-HEURÍSTICAS
2 4 1 5 3
2
4 1 3 5
P1
P2
P3
ELABORAÇÃO DE HORÁRIOS
2
Segunda Terça Quarta Quinta Sexta Sábado
7:30-8:20 8:20-9:10 9:30-10:20 10:20-11:10 11:15-12:05
Segunda Terça Quarta Quinta Sexta Sábado
7:30-8:20 8:20-9:10 9:30-10:20 10:20-11:10 11:15-12:05
Cálculo I Cálculo I
Física I
ELABORAÇÃO DE HORÁRIOS
Cálculo I Cálculo I
Física I Física I
Cálculo II Cálculo II
Cálculo II Cálculo II
PROFESSOR 1
PROFESSOR 2 Física I
MELHOR HORÁRIO – VISÃO PROFESSORES
Segunda Terça Quarta Quinta Sexta Sábado 7:30-8:20
8:20-9:10 9:30-10:20 10:20-11:10 11:15-12:05
Física I
Segunda Terça Quarta Quinta Sexta Sábado
7:30-8:20 8:20-9:10 9:30-10:20 10:20-11:10 11:15-12:05
Cálculo I Cálculo I
ELABORAÇÃO DE HORÁRIOS
Cálculo I Cálculo I
Cálculo II Cálculo II
Cálculo II Cálculo II
ALUNO 1
ALUNO 2
MELHOR HORÁRIO – VISÃO ALUNOS
Física I
Física I Física I Física I
Cálculo I Cálculo I
Cálculo I Cálculo I Cálculo II
Segunda Terça Quarta Quinta Sexta Sábado
7:30-8:20 8:20-9:10 9:30-10:20 10:20-11:10 11:15-12:05
Cálculo I Cálculo I
ELABORAÇÃO DE HORÁRIOS
Cálculo I Cálculo I Cálculo II
Cálculo II
Cálculo II Cálculo II
MELHOR HORÁRIO – VISÃO RECURSOS
Física I
Física I Física I Física I
4
MÚLTIPLOS OBJETIVOS PROFESSORES ALUNOS
RECURSOS NOVO HORÁRIO
NOVA RODADA?
ELABORAÇÃO DE HORÁRIOS
FLEXIBILIDADE DAS META-HEURÍSTICAS
VEÍCULOS AUTOGUIADOS
VEÍCULOS AUTOGUIADOS
6
3
2
4 1 5 6
7 8 9
(xc,yc)
Limites do ambiente
Obstáculos Veículo
Radar
vc
1
VEÍCULOS AUTOGUIADOS
vc
1 1 0 0 0 0 0 0 0 0
Informação do radar
Decisão
1
2
VEÍCULOS AUTOGUIADOS
vc
1 1 0 0 0 0 0 0 0 0
Informação do radar
Decisão
2
3
VEÍCULOS AUTOGUIADOS
8
0 0 0 0 0 0 0 0 1
Extração de informação do radar
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1
Extração de informação do radar
0 0 0 0 0 0 0 0 1
Comparando a informação com as regras armazenadas no banco de dados
0
0 0 0 1 0 0 0 0 1 0
…
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1
Extração de informação do radar
0 0 0 0 0 0 0 0 1
Comparando a informação com as regras armazenadas no banco de dados
0
0 0 0 1 0 0 0 0 1 0
…
Movendo o veículo
10
0 100 200 300 400 500 600 700
0 100 200 300 400 500 600 700
fixo
variável
R1 R1
VEÍCULOS AUTOGUIADOS
R1 R1
VEÍCULOS AUTOGUIADOS
R1 R1
R2
VEÍCULOS AUTOGUIADOS
12 R1 R1
R2 R1 R1
R1 R1
R2 R1 R1
VEÍCULOS AUTOGUIADOS
R1 R1
R2 R1 R1 R3
VEÍCULOS AUTOGUIADOS
R1 R1
R2 R1 R1
R3 R1
VEÍCULOS AUTOGUIADOS
14 R1 R1
R2 R1 R1
R3 R1
Detecta Parede !
R1 R1
R2 R1 R1
R3 R1
R2
VEÍCULOS AUTOGUIADOS
R1 R1
R2 R1 R1 R3
Colisão !
R1
R2
R1
R1
R1
VEÍCULOS AUTOGUIADOS
R1 R1
R2 R1 R1 R3
Colisão !
R1
R2
R1
R1
R1
VEÍCULOS AUTOGUIADOS
16
VEÍCULOS AUTOGUIADOS
vc
1
grafig(xc,yc,xv,yv,angle,rr,ratio)
Coordenadas pilares
Coordenadas veículo
Ângulo do radar
Alcance do radar
Raio do veículo
vc
1 1 0 0 0 0 0 0 0 0
Informação do radar
Decisão
1
2
VEÍCULOS AUTOGUIADOS
[sector,colid]=
detecta(xc,yc,xv,yv,angle,rr,ratio)
VEÍCULOS AUTOGUIADOS
30o
18
θθθθ=30
ϕϕϕϕ+ θθθθ= 60
30o
ϕϕϕϕ= 30 φφφφ= 36,5
Ângulo barreira - Setores candidatos:
1, 4, 7
2
VEÍCULOS AUTOGUIADOS
30o
d = 36,5
Distância da barreira com os limites dos setores 1, 4 e 7: posição no setor 1
3
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1
Extração de informação do radar
0 0 0 0 0 0 0 0 1
Comparando a informação com as regras armazenadas no banco de dados
0
0 0 0 1 0 0 0 0 1 0
…
VEÍCULOS AUTOGUIADOS
[ dif1 ]=match( v1 , v2 )
Índice dos vetores que combinam
0 0 0 0 0 0 0 0 1
Extração de informação do radar
Comparando a informação com as regras armazenadas no banco de dados
0 0 0 1 0 0 0 0 1 0
…
VEÍCULOS AUTOGUIADOS
20
2 2 2 2 2 2 2 2 2 0
Informação obtida pelo radar
Decisão Tanto faz: barreira ou não
REPRESENTAÇÃO MAIS COMPACTA: VANTAGEM!
2 2 2 2 2 2 2 2 2 0
Informação obtida pelo radar
Decisão
VEÍCULOS AUTOGUIADOS
Tanto faz: barreira ou não
2 2 2 2 2 2 2 2 2 0
Informação obtida pelo radar
Decisão
VEÍCULOS AUTOGUIADOS
Tanto faz: barreira ou não
CENÁRIO 1
2 2 2 2 2 2 2 2 2 0
Informação obtida pelo radar
Decisão
VEÍCULOS AUTOGUIADOS
Tanto faz: barreira ou não
22
2 2 2 2 2 2 2 2 1 1
Informação específica Decisão Informação geral
CENÁRIO 2
VEÍCULOS AUTOGUIADOS
2 2 2 2 2 2 2 2 1 1
Informação específica Decisão Informação geral
[R]=espec(v1)
2 2 2 2 2 2 2 2 2 0
2 2 2 2 2 2 2 2 1 0
R(1) = 0 R(2) = 1
VEÍCULOS AUTOGUIADOS
2 2 2 2 2 2 2 2 1 0
Informação obtida pelo radar
Decisão
ATIVIDADE 1: CRIE SUAS REGRAS PARA TESTAR DEPOIS NA AULA DE LABORATÓRIO!
Tanto faz: barreira ou não
Informação específica
0 1 2
VEÍCULOS AUTOGUIADOS
if (listam == 1) then angle=angle+%pi/12;
elseif (listam == 0)
angle=angle-%pi/12; 30o
DETALHES DA SIMULAÇÃO
24 R1 R1
R2 R1 R1 R3
Evolução das regras:
••••Número de passos
••••Últimas regras usadas
Colisão !
R1
R2
R1
R1
R1
COMO PREMIAR AS REGRAS?
VEÍCULOS AUTOGUIADOS
VEÍCULOS AUTOGUIADOS
VEÍCULOS AUTOGUIADOS
26
+
CHAVES ALEATÓRIAS - RK
CHAVES ALEATÓRIAS - RK
0.25 0.19 0.67 0.05 0.89
1 Gere valores aleatórios:
GENETICS AND RANDOM KEYS FOR SEQUENCING AND OPTIMIZATION BY JAMES C. BEAN, 1994
2 Víncule um índice: 1 2 3 4 5
3 Ordene os valores aleatórios reais em ordem crescente e modifique a ordem dos índices de acordo com essa ordem.
0.25 0.19 0.67 0.05 0.89
1 2 3 4 5
0.05 0.19 0.25 0.67 0.89
4 2 1 3 5
CHAVES ALEATÓRIAS - RK
GENETICS AND RANDOM KEYS FOR SEQUENCING AND OPTIMIZATION BY JAMES C. BEAN, 1994
28
BIASED RANDOM-KEY GENETIC ALGORITHMS WITH APPLICATIONS IN TELECOMMUNICATIONS BY MAURICIO G. C. RESENDE, JOURNAL OF HEURISTICS, 2010
CHAVES ALEATÓRIAS VICIADAS-BRKGA
CHAVES ALEATÓRIAS VICIADAS-BRKGA
CHAVES ALEATÓRIAS VICIADAS-BRKGA
30
1 2
3 4 5
6 7
8 9
10 11
12
13 14
Problema do Caixeiro Viajante
1 2
3
4
5
SOLUÇÃO
APLICAÇÃO NO PROBLEMA DO CAIXEIRO VIAJANTE - PCV
CHAVES ALEATÓRIAS - RK
0.25 0.19 0.67 0.05 0.89
1 2 3 4 5
ENXAME DE PARTÍCULAS (PSO)
32
ENXAME DE PARTÍCULAS (PSO)
ENXAME DE PARTÍCULAS (PSO)
function [fo] = evaluatePSO(S,M) S = decode(S);
[m,n] = size(S);
for i=1:m sol = S(i,:)';
aux = tspdist(sol,M);
fo(i) = aux;
end
CHAVES ALEATÓRIAS - RK
function [S] = decode(S) [m, n] = size(S);
[i1,i2] = gsort(S,"c");
// Como gsort coloca na ordem // decrescente
34
CORTE E EMPACOTAMENTO
CORTE E EMPACOTAMENTO
PERSPECTIVAS FUTURAS
36
PERSPECTIVAS FUTURAS
PERSPECTIVAS FUTURAS