1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos Restrições e condições l 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 Exemplos l Problema do Caixeiro Viajante l Otimização da Distribuição/Coleta (Rota veículos) l Alocação de Espaço Físico e Recursos: hospitais, salas de aula etc l Planejamento de Vôos de Cias Aéreas l Planejamento Operação (embarque, geração, etc) l Planejamento Financeiro l Otimização da Produção Industrial
3 Variáveis Típicas do Planejamento l Restriçõ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 l Restrições Temporais –horário de funcionamento preferenciais; –tempo de transporte de material entre máquinas l Reajuste das Máquinas –tarefas exigem preparação de máquinas (automático ou manual).
4 Variáveis Típicas do Planejamento (cont.) l Prioridade –tarefas com prioridades diferentes (prazo entrega, emergência, manutenção, tipo de cliente, etc) l Estoque –matéria prima e de consumo: disponibilidade, ordem de armazenamento, etc l Reprogramação –reprogramação dos recursos sob contingência l Precedência –certas tarefas não podem ser programadas antes que outras tenham terminado.
5 Características do Planejamento l Há muitas condições e restrições que não podem ser ser expressas matematicamente; l Métodos de busca falham devido a requisitos de tempo; l Podar o espaço de busca reduz tempo de execução e limita desempenho; l Heurísticas são úteis para acelerar a busca; l GA é uma técnica adequada a problemas mal estruturados como os de planejamento.
6 Problema Simples de Planejamento de Produção l 90 tarefas: (a, b, c, d, e, f ab, ac ) l cada tarefa possui um peso associado a sua importância (lucro, prioridade, benefício etc) l 30 recursos: apenas uma instância de cada recurso l tarefas requerem de 1 a 3 horas para execução l programação para período de 40 horas de produção l algumas tarefas têm restrições l 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: a..u Tempo de Execução de cada tarefa: 1, 2 ou 3 horas Recursos requeridos por cada tarefa: “. ” = recurso não requerido “ a ” = recurso requerido
8 Exemplo de Planejamento l Em ordem de recebimento das tarefas (alfabética) l Planejamento é uma matriz 40 (hs) X 3 (recursos), cujos elementos pertencem a um alfabeto de 90 símbolos (tarefas) l EB= , muitas soluções são planejamentos inválidos Tempo
9 Modelagem do Algoritmo Genético 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros
10 Representação l Cromossoma permutação (lista) de tarefas l EB= 90! P 1 = (a, b, c, d, e,.... t) P 2 = (d, s, e, h, g,.... i) l cromossoma codifica a ordem e a vez (posição) nas quais as tarefas serão planejadas (colocadas na matriz 40X30) l requer construtor de planejamentos legais
11 Decodificador do Cromossoma l Constrói soluções LEGAIS l Concentra todo o conhecimento no domínio do problema: restrições, recursos, horários, etc. l 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 Planejamento 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 = (t, c, s, a)
14 P = (t, c, s, a)
15 P = (t, c, s, a)
16 P = (t, c, s, a) 7 horas
17 P = (t, a, s, c)
18 P = (t, a, s, c)
19 P = (t, a, s, c)
20 P = (t, a, s, c) 6 horas
21 Avaliação l 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 A i = p t - p n + p p + p v /k t –p t = pesos de todas as tarefas n –p n = pesos das tarefas não planejadas p –p p = pesos das tarefas planejadas v –p v = pesos das tarefas que violaram restrição l A i 0; A i = 0 nenhuma planejada; A i = 2 p t todas t npv
22 Possíveis Operadores l Mutação Baseada em Ordem l Mutação Baseada em Posição l Mutação por Embaralhamento l Crossover Baseado em Ordem l Recombinaçã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 Desempenho l Busca Aleatória para comparar resultados –gera uma lista de tarefas e avalia l Espaço de Representação = 90 ! = l Média de 50 Experimentos de 3000 Indivíduos: média dos melhores a cada instante
24 Busca Aleatória
25 Mutação Baseada em Ordem l duas tarefas são selecionadas aleatoriamente e a segunda é colocada na frente da primeira l Exemplos: aebd (a b c d e f)(a b c d e f) eadb (e a b c d f)(a d b c e f) l operador preserva ordem relativa de parte do cromossoma
26 Mutação Baseada em Posição l Troca (inverte) as posições de duas tarefas escolhidas aleatoriamente. Exemplos: aebd (a b c d e f)(a b c d e f) eadb (e b c d a f)(a d c b e f) l operador não preserva a ordem relativa das posições selecionadas em relação as tarefas do meio
27 Mutação por Embaralhamento l 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 | ) l operador tem maior poder de dispersão da população
28 Crossover de Ordem l Posições são selecionadas aleatoriamente l Posições das tarefas em um genitor são impostas nas tarefas correspondentes no outro genitor b ce h P 1 = a b c d e f g h i j ibf g P 2 = e i b d f a j g c h Padrão ibfg F 1 = _ i b _ f _ _ g _ _ b ceh F 2 = _ b c _ e _ _ h _ _ ibf g F 1 = a i b c f d e g h j bceh F 2 = i b c d e f a h j g
29 Recombinação de Adjacências l Crossover combina a informação de adjacências entre as tarefas presentes nos genitores P 1 = a b c d e f P 2 = b d c a e f P 1 ab bc cd de ef fainformação de adjacência P 2 bd dc ca ae ef fbinformação de adjacência F = b c d e a f F bc cd de ea af fbinformação de adjacência
30 Recombinação de Adjacências l Operador foi originalmente criado para o problema do Caixeiro Viajante (TSP) A C BE D 7Km 3Km4Km 1Km 3Km cidades A D B C E l 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 Crossover + Mutação