1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades...

31
1 Algoritmos Genéticos Algoritmos Genéticos em Otimização de em Otimização de Planejamento 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.”

Transcript of 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades...

Page 1: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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.”

Page 2: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 3: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 4: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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.

Page 5: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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.

Page 6: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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)

Page 7: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 8: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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 . . . .

Page 9: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 10: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 11: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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”

Page 12: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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.

Page 13: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

13

P = (P = (tt, c, s, a) , c, s, a) Hora

1234567891011

t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .

Page 14: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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)

Page 15: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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)

Page 16: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 17: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

17

t . . . . . . . . . . . . . t . . t t . . . . . . . . . . .Hora

1234567891011

P = (P = (tt, a, s, c) , a, s, c)

Page 18: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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)

Page 19: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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)

Page 20: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 21: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 22: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 23: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 24: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

24

Busca AleatóriaBusca Aleatória

Page 25: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 26: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 27: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 28: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 29: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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

Page 30: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

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)

Page 31: 1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.

31

Variando-se os Pesos de Variando-se os Pesos de Crossover + MutaçãoCrossover + Mutação