31
O PROBLEMA DE O PROBLEMA DE SCHEDULING SCHEDULING EM EM JOB-SHOP JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO GENÉTICO

O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Embed Size (px)

Citation preview

Page 1: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O PROBLEMA DE O PROBLEMA DE SCHEDULING SCHEDULING EM JOB-SHOPEM JOB-SHOP

SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICOGENÉTICO

Page 2: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

EstruturaEstrutura

IntroduçãoIntroduçãoObjetivosObjetivosTópicos para revisão da literaturaTópicos para revisão da literaturaMetodologia a ser adotadaMetodologia a ser adotadaComentáriosComentários

Page 3: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

IntroduçãoIntroduçãoSobrevivência no mercado está associada ao Sobrevivência no mercado está associada ao

planejamento e controle da produção, que atua também planejamento e controle da produção, que atua também na programação da produção com o escalonamento de na programação da produção com o escalonamento de atividades;atividades;

O escalonamento é peça fundamental na tomada de O escalonamento é peça fundamental na tomada de decisão, tanto de manufatura como de serviços.decisão, tanto de manufatura como de serviços.

Page 4: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

IntroduçãoIntrodução

WALTER (1999) considera que organizar os WALTER (1999) considera que organizar os processos produtivos frente a um planejamento maior é processos produtivos frente a um planejamento maior é objetivar um melhor atendimento de prazos ou datas de objetivar um melhor atendimento de prazos ou datas de entrega, minimização de tempos de fluxos dos estoques entrega, minimização de tempos de fluxos dos estoques intermediários, maximização da capacidade disponível. intermediários, maximização da capacidade disponível.

Sistemas discretos e contínuos;Sistemas discretos e contínuos;

Job-shop e escalonamento;Job-shop e escalonamento;

Page 5: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

EstruturaEstrutura

IntroduçãoIntroduçãoObjetivosObjetivosTópicos para revisão da literaturaTópicos para revisão da literaturaMetodologia a ser adotadaMetodologia a ser adotadaComentáriosComentários

Page 6: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

ObjetivosObjetivosOBJETIVO GERALOBJETIVO GERAL

Desenvolver método baseado em algoritmo Desenvolver método baseado em algoritmo genético para solucionar genético para solucionar schedulingsschedulings em Job-Shops, em Job-Shops, com soluções eficientes em tempo computacional com soluções eficientes em tempo computacional satisfatório.satisfatório.

Page 7: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

EstruturaEstrutura

IntroduçãoIntroduçãoObjetivosObjetivosTópicos para revisão da literaturaTópicos para revisão da literaturaMetodologia a ser adotadaMetodologia a ser adotadaComentáriosComentários

Page 8: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Tópicos para revisão da literaturaTópicos para revisão da literatura

O problema de scheduling de Job-Shop:O problema de scheduling de Job-Shop:Algoritmos genéticos;Algoritmos genéticos;Representação genética das soluções;Representação genética das soluções;

Page 9: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Tópicos para revisão da literaturaTópicos para revisão da literatura

IntroduçãoIntrodução ObjetivosObjetivos Tópicos para revisão Tópicos para revisão

da literaturada literatura Metodologia a ser Metodologia a ser

adotadaadotada ComentáriosComentários

O problema de O problema de scheduling de Job-Shop;scheduling de Job-Shop;

Algoritmos genéticos;Algoritmos genéticos; Representação genética Representação genética

das soluções;das soluções;

Page 10: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Em linhas gerais, um Em linhas gerais, um job-shopjob-shop é uma é uma organização funcional cujos departamentos são organização funcional cujos departamentos são organizados em torno de processos particulares, os organizados em torno de processos particulares, os quais consistem em tipos específicos e/ou operações, quais consistem em tipos específicos e/ou operações, tais como perfuração e montagem em uma fábrica, tais como perfuração e montagem em uma fábrica, operações de leitura ótica e impressão em um operações de leitura ótica e impressão em um laboratório de computação.laboratório de computação.

Os bens produzidos ou os serviços oferecidos Os bens produzidos ou os serviços oferecidos são originados por pedidos individuais de um cliente são originados por pedidos individuais de um cliente específico.específico.

Page 11: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Especificamente, o Especificamente, o Job-ShopJob-Shop pode ser definido pode ser definido como sendo um conjunto de N como sendo um conjunto de N jobsjobs J={J J={J11, J, J22, ..., J, ..., JNN} a } a

serem processados em M máquinas disponíveis M={Mserem processados em M máquinas disponíveis M={M11, ,

MM22, ..., M, ..., MMM}. }.

Cada Cada jobjob possui uma ordem de execução possui uma ordem de execução específica entre cada uma das máquinas, ou seja, um específica entre cada uma das máquinas, ou seja, um jobjob é composto de uma lista ordenada de operações, é composto de uma lista ordenada de operações, cada qual definida pela máquina requerida e pelo cada qual definida pela máquina requerida e pelo tempo de processamento na mesma.tempo de processamento na mesma.

Page 12: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

As restrições que podem ser seguidas são:As restrições que podem ser seguidas são:

Operações não podem ser interrompidas, e cada máquina Operações não podem ser interrompidas, e cada máquina pode processar apenas uma operação de cada vez;pode processar apenas uma operação de cada vez;

Cada Cada jobjob só pode ser processado em apenas uma máquina só pode ser processado em apenas uma máquina por vez;por vez;

Cada Cada jobjob é processado por uma seqüência conhecida de é processado por uma seqüência conhecida de operações;operações;

Não existe restrições de precedência entre operações de Não existe restrições de precedência entre operações de diferentes diferentes jobsjobs;;

Não existe relação de precedência entre as operações Não existe relação de precedência entre as operações executadas por uma mesma máquina;executadas por uma mesma máquina;

Page 13: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Definidas as sequências de máquina de cada Definidas as sequências de máquina de cada jobjob, , o problema consiste em determinar as o problema consiste em determinar as seqüências seqüências dos dos jobsjobs em cada máquina em cada máquina, de forma que o , de forma que o tempo de tempo de execução transcorridoexecução transcorrido, desde o início do primeiro job , desde o início do primeiro job até o término so último, até o término so último, seja mínimoseja mínimo..

A medida de qualidade empregada, conhecida A medida de qualidade empregada, conhecida por por makespanmakespan não é única, mas é o critério mais não é única, mas é o critério mais simples e mais largamente usado.simples e mais largamente usado.

Normalmente o número de restrições é muito Normalmente o número de restrições é muito grande, tornando o Job-Shop um dos problemas mais grande, tornando o Job-Shop um dos problemas mais difíceis de ser solucionado.difíceis de ser solucionado.

Page 14: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Exemplo Exemplo (j=3/m=3 Job-shop)(j=3/m=3 Job-shop)::

Como distribuir o melhor arranjo de tarefas para as máquinas M1, M2 e M3 ?

Page 15: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Exemplo (cont):Exemplo (cont):

Solução:Solução:

31 unidades de tempo

Page 16: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Os JSSP’s e casos de Os JSSP’s e casos de schedulingscheduling similares são similares são problemas de otimização combinatória, classificados problemas de otimização combinatória, classificados como problemas NP-como problemas NP-hardhard (GOLDBARG E LUNA, (GOLDBARG E LUNA, 2000). Apesar de existirem métodos exatos, é quase 2000). Apesar de existirem métodos exatos, é quase impossível resolvê-los desta forma, exceto para impossível resolvê-los desta forma, exceto para

exemplos relativamente pequenos do problema.exemplos relativamente pequenos do problema.

Page 17: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

O JSSPO JSSP

Em ambientes de produção reais, é suficiente Em ambientes de produção reais, é suficiente obter resultados próximos do ótimo, mas em tempo obter resultados próximos do ótimo, mas em tempo computacional razoável, conseguido com os computacional razoável, conseguido com os métodos métodos heurísticosheurísticos. .

São aproximações importantes aplicadas ao São aproximações importantes aplicadas ao JSSP: JSSP: Busca TabuBusca Tabu (TS) (BARNES e CHAMBERS, (TS) (BARNES e CHAMBERS, 1995), 1995), Simulated AnnealingSimulated Annealing (SA) e (SA) e Algoritmos Algoritmos Genéticos Genéticos (AG) (YAMADA e NAKANO, 1997). (AG) (YAMADA e NAKANO, 1997).

Muito utilizados em problemas de Muito utilizados em problemas de schedulingscheduling, os , os AGs demonstram maior versatilidade ante outras, dada AGs demonstram maior versatilidade ante outras, dada a facilidade na codificação do espaço do problema a facilidade na codificação do espaço do problema (STORER et al 1995).(STORER et al 1995).

Page 18: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos genéticosAlgoritmos genéticos

É uma técnica heurística que consiste na busca de É uma técnica heurística que consiste na busca de soluções baseadas em mecanismos da seleção natural e genética.soluções baseadas em mecanismos da seleção natural e genética.

Inicialmente estudados por HOLLAND (1975), Inicialmente estudados por HOLLAND (1975), fundamentaram-se pela teoria geral de sistemas e adaptação fundamentaram-se pela teoria geral de sistemas e adaptação robusta, com aplicação prática na determinação de máximos e robusta, com aplicação prática na determinação de máximos e mínimos de funções matemáticas. mínimos de funções matemáticas.

Em linhas gerais, partindo de uma população inicial, cada Em linhas gerais, partindo de uma população inicial, cada indivíduo passará pelas etapas tripartites do algoritmo como parte indivíduo passará pelas etapas tripartites do algoritmo como parte da busca por soluções ótimas: reprodução, da busca por soluções ótimas: reprodução, crossovercrossover e mutação e mutação (GOLDBERG, 1989). (GOLDBERG, 1989).

Page 19: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Tópicos para revisão da literaturaTópicos para revisão da literatura

IntroduçãoIntrodução ObjetivosObjetivos Tópicos para revisão Tópicos para revisão

da literaturada literatura Metodologia a ser Metodologia a ser

adotadaadotada ComentáriosComentários

O problema de O problema de scheduling de Job-Shop;scheduling de Job-Shop;

Algoritmos genéticos;Algoritmos genéticos; Representação genética Representação genética

das soluções;das soluções;

Page 20: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos genéticosAlgoritmos genéticos

Os AGs diferem das outras heurísticas por Os AGs diferem das outras heurísticas por apresentar características distintas: apresentar características distintas:

opera em um conjunto de pontos (população) e não a partir opera em um conjunto de pontos (população) e não a partir de pontos isolados; de pontos isolados;

opera em um espaço de soluções codificadas e não opera em um espaço de soluções codificadas e não diretamente no espaço de busca; diretamente no espaço de busca;

necessita como informação, somente o valor de uma necessita como informação, somente o valor de uma função objetivo (função de adaptabilidade, ou função objetivo (função de adaptabilidade, ou fitnessfitness); );

usa transições probabilísticas e não regras determinísticas usa transições probabilísticas e não regras determinísticas (GOLDBARG e LUNA, 2000). (GOLDBARG e LUNA, 2000).

Page 21: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos GenéticosAlgoritmos Genéticos

Fonte: HAUPT&HAUPT, 2004

Analogia entre um AG numérico e a genética biológica

Page 22: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos GenéticosAlgoritmos Genéticos

Fonte: HAUPT&HAUPT, 2004

Fluxograma de um algoritmo genético

Page 23: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos GenéticosAlgoritmos Genéticos

Fonte: HAUPT&HAUPT, 2004

Geração de dois filhos por meio de cruzamento de pais selecionados.

Page 24: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos genéticosAlgoritmos genéticos

Passo 1: Passo 1: InicializaçãoInicialização Ler o tamanho da população, K, e taxa de mutação, Ler o tamanho da população, K, e taxa de mutação, pmpm.. Inicializar cromossomos gerando soluções factíveis no tamanho da população.Inicializar cromossomos gerando soluções factíveis no tamanho da população.

Passo 2: Passo 2: Cálculo do Cálculo do fitnessfitness Calcular os valores de Calcular os valores de fitnessfitness de cada indivíduo da população inicial. de cada indivíduo da população inicial.

Passo 3: Passo 3: Seleção dos paisSeleção dos pais Selecionar randomicamente dois cromossomos da população, considerando a Selecionar randomicamente dois cromossomos da população, considerando a

probabilidade de escolha associada ao probabilidade de escolha associada ao fitnessfitness de cada um. de cada um.Passo 4: Passo 4: Geração de descendênciaGeração de descendência

Empregando o operador Empregando o operador crossovercrossover, gerar dois cromossomos a partir dos pais , gerar dois cromossomos a partir dos pais selecionados no passo 3.selecionados no passo 3.Passo 5: Passo 5: Fim da geração de descendênciaFim da geração de descendência

Repetir os passos 3 e 4 se o tamanho da geração de descendentes for < K; caso Repetir os passos 3 e 4 se o tamanho da geração de descendentes for < K; caso contrário, ir para o passo 6.contrário, ir para o passo 6.Passo 6: Passo 6: MutaçãoMutação

Para cada indivíduo da população, varrer os elementos de cada cromossomo, Para cada indivíduo da população, varrer os elementos de cada cromossomo, modificando-os randomicamente, com probabilidade pm.modificando-os randomicamente, com probabilidade pm.Passo 7: Passo 7: Cálculo do Cálculo do fitnessfitness

Calcular o Calcular o fitnessfitness para os cromossomos descendentes. para os cromossomos descendentes.Passo 8: Passo 8: FinalizaçãoFinalização

Caso o critério de finalização seja alcançado, parar; caso contrário, dirigir-se ao passo Caso o critério de finalização seja alcançado, parar; caso contrário, dirigir-se ao passo 3.3.

Fonte: RODRIGUES et ali, 2003

Page 25: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Algoritmos genéticosAlgoritmos genéticos

O tamanho da população é um dos principais O tamanho da população é um dos principais fatores de controle de um algoritmo genético, fatores de controle de um algoritmo genético, entretanto, é preciso considerar ainda a taxa de entretanto, é preciso considerar ainda a taxa de ocorrência de mutações e o número de gerações, ocorrência de mutações e o número de gerações, além de outros fatores, como o número de gerações além de outros fatores, como o número de gerações sem melhoras significativas quanto ao melhor sem melhoras significativas quanto ao melhor indivíduo encontrado.indivíduo encontrado.

Page 26: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Tópicos para revisão da literaturaTópicos para revisão da literatura

IntroduçãoIntrodução ObjetivosObjetivos Tópicos para revisão Tópicos para revisão

da literaturada literatura Metodologia a ser Metodologia a ser

adotadaadotada ComentáriosComentários

O problema de O problema de scheduling de Job-Shop;scheduling de Job-Shop;

Algoritmos genéticos;Algoritmos genéticos; Representação genética Representação genética

das soluções;das soluções;

Page 27: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Codificação das soluçõesCodificação das soluções

Esquema de codificação

Indivíduo e cromossomo

Cromossomo: 001 100 010 001Indivíduo: ACBA

- Exemplo de solução válida para o problema:

Exemplo: Problema do Caixeiro Viajante

Page 28: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

EstruturaEstrutura

IntroduçãoIntroduçãoObjetivosObjetivosTópicos para revisão da literaturaTópicos para revisão da literaturaMetodologia a ser adotadaMetodologia a ser adotadaComentáriosComentários

Page 29: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

Proposta metodológicaProposta metodológica

Inicialmente, desenvolver pesquisa Inicialmente, desenvolver pesquisa bibliográfica sobre o tema, aprofundando o bibliográfica sobre o tema, aprofundando o assunto de JSSP, bem como do uso de AGs na assunto de JSSP, bem como do uso de AGs na busca de soluções para o problema.busca de soluções para o problema.

Posteriormente, desenvolver avaliações Posteriormente, desenvolver avaliações das soluções encontradas para um dado das soluções encontradas para um dado problema apresentado e avaliar o problema apresentado e avaliar o comportamento ante diferentes tratamentos de comportamento ante diferentes tratamentos de operadores operadores crossover.crossover.

Page 30: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

EstruturaEstrutura

IntroduçãoIntroduçãoObjetivosObjetivosTópicos para revisão da literaturaTópicos para revisão da literaturaMetodologia a ser adotadaMetodologia a ser adotadaComentáriosComentários

Page 31: O PROBLEMA DE SCHEDULING EM JOB-SHOP SOLUÇÃO POR APROXIMAÇÃO COM ALGORITMO GENÉTICO

ComentáriosComentários