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

Post on 07-Apr-2016

213 views 0 download

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

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