Post on 07-Apr-2016
1
Algoritmos Genéticos em Algoritmos Genéticos em Otimização de PlanejamentoOtimização de Planejamento
Planejamento ocorre em todas as atividades e envolve:
PLANEJAMENTO
• Recursos• Tarefas• Tempo• Objetivos • Restrições e condições
Otimizar: – “Alocar , no tempo, os recursos para a execução das
tarefas, respeitando as restrições e condições, de modo a alcançar os objetivos do problema.”
2
ExemplosExemplos
Problema do Caixeiro Viajante Otimização da Distribuição/Coleta (Rota veículos) Alocação de Espaço Físico e Recursos: hospitais,
salas de aula etc Planejamento de Vôos de Cias Aéreas Planejamento Operação (embarque, geração, etc) Planejamento Financeiro Otimização da Produção Industrial
3
Variáveis Típicas do Variáveis Típicas do Planejamento Planejamento
Restrições de RecursosRestrições de Recursos– número de instâncias de cada recurso/máquina;– diferenças entre as instâncias (velocidade, tempo
máximo de operação, capacidade etc).– paradas de manutenção
Restrições TemporaisRestrições Temporais– horário de funcionamento preferenciais;– tempo de transporte de material entre máquinas
Reajuste das MáquinasReajuste das Máquinas– tarefas exigem preparação de máquinas (automático ou
manual).
4
Variáveis Típicas do Variáveis Típicas do Planejamento Planejamento (cont.)(cont.)
PrioridadePrioridade– tarefas com prioridades diferentes (prazo entrega,
emergência, manutenção, tipo de cliente, etc) EstoqueEstoque
– matéria prima e de consumo: disponibilidade, ordem de armazenamento, etc
ReprogramaçãoReprogramação– reprogramação dos recursos sob contingência
PrecedênciaPrecedência– certas tarefas não podem ser programadas antes que
outras tenham terminado.
5
Características do Características do PlanejamentoPlanejamento
Há muitas condições e restrições que não podem ser ser expressas matematicamente;
Métodos de busca falham devido a requisitos de tempo; Podar o espaço de busca reduz tempo de execução e limita
desempenho; Heurísticas são úteis para acelerar a busca; GA é uma técnica adequada a problemas mal estruturados
como os de planejamento.
6
Problema Simples de Problema Simples de Planejamento de ProduçãoPlanejamento de Produção
90 tarefas: (a, b, c, d, e, f........ab, ac........) cada tarefa possui um peso associado a sua
importância (lucro, prioridade, benefício etc) 30 recursos: apenas uma instância de cada recurso tarefas requerem de 1 a 3 horas para execução programação para período de 40 horas de produção algumas tarefas têm restrições Objetivo: maximizar a soma dos pesos das tarefas
planejadas nas primeiras 40 horas (1 semana)
7
Tarefas Tempo Execução Recursos Utilizados pelas Tarefas
Exemplo de Tarefas: Exemplo de Tarefas: a..ua..u
Tempo de Execução de cada tarefa: Tempo de Execução de cada tarefa: 1, 2 ou 3 horas1, 2 ou 3 horasRecursos requeridos por cada tarefa: Recursos requeridos por cada tarefa: “ . ”“ . ” = recurso não requerido = recurso não requerido
“ “ aa”” = recurso requerido = recurso requerido
R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 R30a 3 . a . . . . a a . . . a a . . . . . . . a . . . . . . . . .b 1 . . b . . . . b . b . . b . b b . . b . b . . . . . . . . .c 3 . . c . c c . . c . . . . c . . c c . c . c c . . . . . . .d 3 . . d . . . d . . d . . d . . . . . . . . d . . . . . . . de 3 . . . . e e e . . e . . . . . . . e . . . . . . . . e . . ef 1 . f . f f f . . f . . . . . . . . . . . f . f f f . f . f .g 3 g . g . . . . g . . . . g . g g g . . . . g g . g g . . . .h 2 h . . . h . h . h . h h . . . . . . . . . . . . . . . . . .i 1 . . . i . . . . . . i i i . . . . . i . . i . . . . . . . ij 1 . . . . . . . . . . . . . . . . . . . . . . . . j . . . . jk 1 . . k k . k . k . . . . . k k . . . . . . k . . . . . . . .l 1 l . . . l l . . l . . . l . . l . l l . . . l . . l . . l .
m 3 . . . . m . m . . . m m . . . . . . . . . . . . m . . . m .n 2 . . . . . . . . . . . . . . n n . . n n . . . . . . . . n .o 3 . o o . . . . . o . . . . . o . . o o . . o . . . . . . . .p 1 . . . . p . . . . . p . p p . . . . p . . p . p . . . . . .q 3 . . . q . . . q . . . . q . . q . . q . q . . q . q . q q .r 1 r . . . . . . . . . r r . r . . . . . r . . . . . . . . r .s 3 . . . s s . . . s s . . . . . s . . . . . s . . . . s . . .t 1 t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .u
8
Exemplo de PlanejamentoExemplo de Planejamento Em ordem de recebimento das tarefas (alfabética) Planejamento é uma matriz 40 (hs) X 3 (recursos), cujos
elementos pertencem a um alfabeto de 90 símbolos (tarefas) EB= 901200 , muitas soluções são planejamentos inválidosTempo
Hora1234567891011
. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .a c . c c a a c . . a a c . . c c . c a c c . . . . . . .
. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .
. . b . . . . b . b . . b . b b . . b . b . . . . . . . . .
. f d f f f d . f d . . d . . . . . . . f d f f f . f . f d
. . d . . . d . . d . . d . . . . . . . . d . . . . . . . d
. . d . . . d . . d . . d . . . . . . . . d . . . . . . . dg . g . e e e g . e . . g . g g g e . . . g g . g g e . . eg . g . e e e g . e . . g . g g g e . . . g g . g g e . . eg . g . e e e g . e . . g . g g g e . . . g g . g g e . . e. f . f f f . . f . . . . . . . . . . . f . f f f . f . f .g . g . . . . g . . . . g . g g g . . . . g g . g g . . . .
9
Modelagem do Algoritmo GenéticoModelagem do Algoritmo Genético
1. 1. ProblemaProblema2. Representação2. Representação3. Decodificação3. Decodificação4. Avaliação4. Avaliação5. Operadores5. Operadores6. Técnicas6. Técnicas7. Parâmetros7. Parâmetros
10
RepresentaçãoRepresentação
Cromossoma permutação (lista) de tarefas EB= 90!
P1 = (a, b, c, d, e, . . . . t)P2 = (d, s, e, h, g, . . . . i)
cromossoma codifica a ordem e a vez (posição) nas quais as tarefas serão planejadas (colocadas na matriz 40X30)
requer construtor de planejamentos legais
11
Decodificador do CromossomaDecodificador do Cromossoma
Constrói soluções LEGAIS Concentra todo o conhecimento no domínio do
problema: restrições, recursos, horários, etc. Regra Principal:
“Se uma tarefa está planejada na hora t, uma outra tarefa não pode ser planejada em t, exceto se a interseção dos recursos requisitados é vazia”
12
Decodificador do Problema de Decodificador do Problema de PlanejamentoPlanejamento
Pega a primeira tarefa da lista;
Coloca a tarefa no planejamento a partir de t=1;
Pega próxima tarefa e procura colocá-la no
planejamento, considerando as restrições presentes,
a partir de t=1 até t=40 horas;
Vai para 3 se não terminou a lista.
13
P = (P = (tt, c, s, a) , c, s, a) Hora
1234567891011
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .
14
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .
Hora1234567891011
P = (P = (tt, , cc, s, a) , s, a)
15
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . . s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
Hora1234567891011
P = (P = (tt, , cc, , ss, a) , a)
16
Hora1234567891011
t a . . . . a a . . . a a . t . . t t . a . . . . . . . . .. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .. a c . c c a a c . . a a c . . c c . c a c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . . s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
. s s . . . s s . . . . . s . . . . . s . . . . s . . .
P = (P = (tt, , cc, , ss, , aa) ) 7 horas 7 horas
17
t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .Hora
1234567891011
P = (P = (tt, a, s, c) , a, s, c)
18
t a . . . . a a . . . a a . t . . t t . a . . . . . . . . .. a . . . . a a . . . a a . . . . . . . a . . . . . . . . .. a . . . . a a . . . a a . . . . . . . a . . . . . . . . .
Hora1234567891011
P = (P = (tt, , aa, s, c) , s, c)
19
t a . s s . a a s s . a a . t s . t t . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .
Hora1234567891011
P = (P = (tt, , aa, , ss, c) , c)
20
t a . s s . a a s s . a a . t s . t t . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .. a . s s . a a s s . a a . . s . . . . a s . . . . s . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .. . c . c c . . c . . . . c . . c c . c . c c . . . . . . .
Hora1234567891011
P = (P = (tt, , aa, , ss, , cc) ) 6 horas 6 horas
21
AvaliaçãoAvaliação Função objetivo considera:
– pesos das tarefas maximizar a soma das planejadas– restrições das tarefas penalizar (p/K) se violação restrição– período não planejar se além de t=40 horas– gera apenas valores positivos e quantifica tarefas não planejadas
Ai = pt - pn + pp + pv/k
– pt = pesos de todas as t tarefas
– pn = pesos das tarefas nnão planejadas
– pp = pesos das tarefas pplanejadas
– pv = pesos das tarefas que vviolaram restrição AAi i 0; A 0; Ai i = 0 = 0 nenhuma planejada; A nenhuma planejada; Ai i = 2 = 2 p pt t todastodas
t n p v
22
Possíveis OperadoresPossíveis Operadores
Mutação Baseada em OrdemMutação Baseada em Ordem Mutação Baseada em PosiçãoMutação Baseada em Posição Mutação por EmbaralhamentoMutação por Embaralhamento Crossover Baseado em OrdemCrossover Baseado em Ordem Recombinação de AdjacênciasRecombinação de Adjacências
Aspectos importantes– Ordem Relativa
• tarefas anteriores podem impedir o planejamento das tarefas posteriores
– Posição da Tarefa• tarefas no início da lista têm maior chance de serem
planejadas
23
Avaliação de DesempenhoAvaliação de Desempenho
Busca Aleatória para comparar resultados– gera uma lista de tarefas e avalia
Espaço de Representação = 90! = 10138
Média de 50 Experimentos de 3000 Indivíduos: média dos melhores a cada instante
24
Busca AleatóriaBusca Aleatória
25
Mutação Baseada em OrdemMutação Baseada em Ordem
duas tarefas são selecionadas aleatoriamente e a segunda é colocada na frente da primeira
Exemplos:
(aa b c d ee f) (a bb c dd e f) (ee aa b c d f) (a dd bb c e f)
operador preserva ordem relativa de parte do cromossoma
26
Mutação Baseada em PosiçãoMutação Baseada em Posição
Troca (inverte) as posições de duas tarefas escolhidas aleatoriamente. Exemplos:
(aa b c d ee f) (a bb c dd e f) (ee b c d aa f) (a dd c bb e f)
operador não preserva a ordem relativa das posições selecionadas em relação as tarefas do meio
27
Mutação por EmbaralhamentoMutação por Embaralhamento
embaralha sub-lista escolhida aleatoriamente
(a | b c d | e f) (a b c | d e f |)
(a | c d b | e f) (a b c | f d e |)
operador tem maior poder de dispersão da população
28
Crossover de OrdemCrossover de Ordem Posições são selecionadas aleatoriamente Posições das tarefas em um genitor são impostas nas tarefas
correspondentes no outro genitorP1 = a b cb c d ee f g h h i j
P2 = e ii bb d f f a j g g c h
Padrão 0 1 1 0 1 0 0 1 0 0
F1 = _ ii bb _ ff _ _ gg _ _
F2 = _ b cb c _ ee _ _ hh _ _
F1 = a ii bb c f f d e gg h j
F2 = i bb cc d ee f a hh j g
29
Recombinação de AdjacênciasRecombinação de Adjacências Crossover combina a informação de adjacências entre as tarefas
presentes nos genitores
P1 = a b c d e f
P2 = b d c a e f
P1 ab bc cd de ef fa informação de adjacência
P2 bd dc ca ae ef fb informação de adjacência
F = b c d e a fF bc cd de ea af fb informação de adjacência
30
Recombinação de AdjacênciasRecombinação de Adjacências
Operador foi originalmente criado para o problema do Caixeiro Viajante (TSP)
A
C
B ED7Km
3Km4Km
1Km
3Kmcidades
A D B C E
No TSP temos:– informação de adjacência é importante– direção (ordem) entre 2 cidades não importa (A B = B A)
31
Variando-se os Pesos de Variando-se os Pesos de Crossover + MutaçãoCrossover + Mutação