• Nenhum resultado encontrado

2 FUNDAMENTAÇÃO TEÓRICA

2.1 ESTRUTURA E NOTAÇÕES PARA MODELOS DETERMINÍSTICOS DE

2.1.2 Campo

As características e restrições de processamento no campo β podem incluir múltiplas entradas. Algumas dessas possibilidades podem ser observadas a seguir:

Datas de liberação (𝑟𝑗): Quando este símbolo aparece no campo β, então a tarefa j não pode iniciar seu processamento antes da data de liberação. Caso não seja especificado, não há restrições a respeito do início de processamento;

Preempção (prmp): Preempções implicam que não é necessário manter uma tarefa em uma máquina do início até a sua conclusão. É possível programar a produção de modo que o processamento de uma tarefa seja interrompido para que outra tarefa seja processada na máquina. Essa movimentação não faz com que a quantidade processada da tarefa interrompida seja perdida, sendo necessário, posteriormente, somente completar o processamento na mesma máquina ou em uma máquina idêntica em paralelo. Quando essa característica está presente em um ambiente de produção, as letras prmp são acrescentadas no campo β. Caso não haja nenhuma especificação nesse sentido, a preempção não é permitida;

Restrições de precedência (prec): Restrições de precedência podem acontecer em um ambiente com uma única máquina ou com máquinas em paralelo, garantindo que uma tarefa inicie seu processamento

somente após a conclusão de outra. Há algumas formas especiais de restrições de precedência, como as cadeias, em que cada tarefa tem no máximo uma predecessora e uma sucessora. Se cada tarefa tem no máximo uma sucessora, então as restrições são chamadas de árvores internas. Por outro lado, são chamadas de árvores externas, caso cada tarefa apresente no máximo uma predecessora. Se as letras prec não estiverem presentes no campo β, então as tarefas não estão sujeitas às restrições de precedência;

Tempo de configuração dependente da sequência (𝑠𝑗𝑘): 𝑠𝑗𝑘 representa

o tempo de configuração que depende da sequência de processamento entre as tarefas j e k. 𝑠0𝑘 e 𝑠𝑗0 são, respectivamente, o tempo de

configuração se a tarefa k for a primeira da sequência e o tempo de limpeza caso a tarefa j seja a última da sequência. Caso o tempo de configuração entre as tarefas j e k também dependam da máquina em que o processamento será realizado, então a letra subscrita i é adicionada à variável, tornando-se 𝑠𝑖𝑗𝑘. Caso 𝑠𝑗𝑘 não apareça no campo β, os tempos de configuração são tidos como zero ou independentes da sequência, neste caso já estão considerados no tempo de processamento;

Famílias de tarefa (fmls): Neste caso, as n tarefas pertencem a F famílias. As tarefas pertencentes à mesma família podem ter diferentes tempos de processamento, no entanto não requerem tempo de configuração em uma máquina quando uma tarefa é processada depois de outra da mesma família. Por outro lado, quando uma máquina processa uma tarefa de uma família g e depois processa outra de uma família h, então se incorre em um tempo de configuração. Se este tempo depende das famílias g e h, a variável é tida como 𝑠𝑔ℎ, se depende somente de uma das famílias, por exemplo a família h, então a variável torna-se 𝑠ℎ. Caso não dependa de nenhuma família, a variável é escrita

simplesmente como s;

Processamento em lotes (batch(b)): Uma máquina pode ser capaz de processar um número de tarefas, assume-se b, simultaneamente. O tempo de processamento das tarefas em um lote pode não necessariamente ser o mesmo e um lote completo só é concluído quando

a última tarefa do lote é finalizada. Isso implica que o tempo de conclusão do lote é determinado pelo tempo de processamento mais longo dentre as tarefas. Se 𝑏 = 1, então o problema é convertido em um ambiente convencial de sequenciamento. Há casos em que se assume que não há limite do número de tarefas que uma máquina pode processar, adotando, assim, 𝑏 = ∞;

Paradas (brkdwn): Paradas de máquinas implicam que uma máquina pode não estar continuamente disponível. Os períodos nos quais uma máquina não está disponível são assumidos como fixos, como nos casos onde há trocas ou manutenções programadas. Se há um número de máquinas idênticas em paralelo, o número de máquinas disponíveis em um dado momento é uma função do tempo, isto é, m(t). Paradas de máquina são conhecidas também como restrições de disponibilidade de máquina;

Restrições de elegibilidade de máquina (𝑀𝑗): Esta condição está relacionada aos ambientes com m máquinas em paralelo. Quando 𝑀𝑗 está

presente, nem todas m máquinas são capazes de processar a tarefa j. Assim, o conjunto 𝑀𝑗 denota o conjunto de máquinas que pode processar a tarefa j. Se o campo 𝛽 não contém 𝑀𝑗, então a tarefa j pode ser processada em qualquer uma das m máquinas;

Permutação (prmu): Esta condição é relativa aos ambientes flow shop e se refere a uma restrição que impõe que as filas em frente a cada máquina operem de acordo com a lógica FIFO, que prioriza o processamento das tarefas que chegaram primeiro. Isso implica que a ordem ou a permutação que as tarefas passaram pela primeira máquina é mantida ao longo de todo sistema;

Bloqueio (block): Bloqueio é um fenômeno que pode ocorrer em flow shops e está relacionado à limitação de estoque entre duas máquinas sucessivas. Quando o estoque está cheio, a máquina anterior no fluxo de produção não pode liberar uma tarefa completa, bloqueando a próxima tarefa da sequência de processamento. Nos casos em que se assume que não há estoque entre duas máquinas consecutivas, uma tarefa não

pode deixar uma máquina enquanto a tarefa precedente não tiver sido concluída na próxima máquina;

Sem Espera (nwt): Este requisito está relacionado aos ambientes flow shop e se refere à condição de que as tarefas não podem esperar entre máquinas consecutivas. Isso obriga que uma tarefa tenha o início de seu processamento na primeira máquina atrasada para garantir que não haverá tempo de espera para nenhuma máquina ao longo do sistema; Recirculação (rcrc): Recirculação pode ocorrer em um job shop ou flow

shop quando uma tarefa pode visitar uma máquina ou um centro de trabalho mais de uma vez.

2.1.3 Campo 𝛄 – Objetivos de minimização

Embora diferentes objetivos possam ser escolhidos para serem minimizados em um sequenciamento, todos eles dependem de uma variável em comum: o tempo de conclusão das tarefas, referenciado como 𝐶𝑗. O tempo de conclusão da operação da tarefa j em uma máquina i é 𝐶𝑖𝑗. O objetivo também pode estar relacionado ao prazo de finalização de uma tarefa. Nesses casos, há três principais funções de penalidade consideradas:

a) O descumprimento de uma tarefa pode ser calculado por: 𝐿𝑗 = 𝐶𝑗− 𝑑𝑗, que é positivo quando a conclusão ocorre após o prazo de finalização e negativo em caso de antecedência;

b) 𝑡𝑗, o atraso de uma tarefa, é obtido pela fórmula: max(𝐿𝑗,0), sempre sendo

positivo por ser o máximo entre duas medidas, descumprimento e zero; c) A unidade de penalidade de uma tarefa é definida como:

𝑈𝑗 = { 1, 𝑠𝑒 𝐶𝑗 > 𝑑𝑗; 0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜

Alguns exemplos de objetivos a serem incluídos no campo γ podem ser listados abaixo:

Makespan (𝐶𝑚𝑎𝑥): O makespan é definido como max(𝐶1, … , 𝐶𝑛), isto é, é o tempo de conclusão da última tarefa a deixar o sistema;

Máximo descumprimento (𝐿𝑚𝑎𝑥): Esta medida é definida como

max(𝐿1, … , 𝐿𝑛), e mensura a máxima diferença entre o prazo de finalização e o tempo de conclusão de uma tarefa;

Tempo total de conclusão ponderado (∑𝑤𝑗𝐶𝑗): Também chamado de tempo de fluxo ponderado, este indicador calcula a soma de todos os tempos de conclusão das tarefas, ponderando os a partir de um peso previamente escolhido;

Tempo total de conclusão ponderado descontado (∑𝑤𝑗(1 − 𝑒−𝑟𝐶𝑗): Nesta medida, se uma tarefa não for concluída no tempo t, incorre-se em um custo adicional 𝑤𝑗𝑟𝑒−𝑟𝑡𝑑𝑡 ao longo do período [t, t + dt]. Por outro lado,

caso a tarefa seja concluída no tempo t, o custo entre 0 e t será igual a 𝑤𝑗(1 − 𝑒−𝑟𝑡). O valor estimado para r deve estar entre 0 e 1;

Atraso total ponderado (∑𝑤𝑗𝑇𝑗): Neste objetivo, busca-se minimizar o

somatório ponderado dos atrasos das tarefas;

Número ponderado de tarefas atrasadas (∑𝑤𝑗𝑈𝑗): Essa medida procura indicar o número de tarefas atrasadas, ponderando as por um peso pré- estabelecido.

Muito esforço tem sido aplicado em pesquisas para planejamento e sequenciamento da produção com utilização de programação inteira e programação inteira mista (PIM) (PINEDO, 2005). Um modelo linear inteiro misto consiste em um programa que envolve variáveis contínuas e inteiras e restrições lineares (POCHET e WOLSEY, 2006). A seguir são exemplificados alguns trabalhos relevantes publicados recentemente sobre o tema.

No estudo de Ham (2017), uma formulação de programação inteira mista foi utilizada em uma fábrica de semicondutores para sequenciamento de um job shop flexível com máquinas de processamento em lotes dispostas paralelamente. O trabalho de Samarghandi e Behroozi (2017) propôs modelos de PIM e de programação de restrições para minimizar o makespan de um flow shop sem espera entre atividades sucessivas e cujas tarefas devem ser concluídas antes do prazo de finalização. Na pesquisa de Nguyen et al. (2018), um modelo linear inteiro misto e uma heurística são propostos para minimizar o tempo total de conclusão de um problema específico de sequenciamento de máquinas paralelas com um único

recurso adicional. As tarefas consideradas neste problema possuem função linear de consumo de recursos semelhante.

Os resultados do estudo de Zhang et al. (2017) mostram avanço na resolução de problemas de job shop flexível com eficiência energética utilizando PIM e heurística de geração evolutiva. A pesquisa de Yazdani et al. (2017) introduz um novo critério de otimização baseado na soma do máximo adiantamento e atraso para o problema de sequenciamento de job shop com uso de PIM. No trabalho de Jaramillo e Erkoc (2017), foi proposta uma formulação de PIM para minimizar o atraso total ponderado e custo de horas extras no sequenciamento de uma máquina única com tarefas que podem ser preemptivas.

O estudo de Tan, Mönch e Fowler (2017) se concentrou na proposta de uma abordagem híbrida a partir de um modelo de PIM e de heurística de busca em vizinhança para minimizar o atraso total ponderado de um problema de sequenciamento de flow shop flexível com máquinas de processamento em lote. O trabalho de Kongchuenjai e Prombanpong (2017) demonstra a aplicação de um modelo de PIM com o objetivo de minimizar o tempo total de produção de peças de modelos mistos em centros de trabalho com controle numérico computadorizado. PI e fluxo em rede foram empregados no estudo de Fukasawa et al. (2002) para otimizar o problema do fluxo de vagões de carga com a obtenção de resultados efetivos para todas as instâncias até então utilizadas pelo maior operador de ferrovias da América Latina. Torjai e Kruzslicz (2016) propuseram três formulações de PIM para o problema de sequenciamento de caminhões que realizam o transporte de biomassa e bons resultados foram obtidos na minimização de custos de disponibilização de recursos e de tempo ocioso total dos caminhões.

Documentos relacionados