• Nenhum resultado encontrado

Formulações de programação inteira para problemas de escalonamento da produção

N/A
N/A
Protected

Academic year: 2021

Share "Formulações de programação inteira para problemas de escalonamento da produção"

Copied!
145
0
0

Texto

(1)

UNIVERSIDADE FEDERAL FLUMINENSE ESCOLA DE ENGENHARIA

MESTRADO EM ENGENHARIA DE PRODUCAO

FERNANDO PAES BARRETO MACHADO

FORMULAÇÕES DE PROGRAMAÇÃO INTEIRA PARA PROBLEMAS DE ESCALONAMENTO DA PRODUÇÃO

NITERÓI 2018

(2)

FERNANDO PAES BARRETO MACHADO

FORMULAÇÕES DE PROGRAMAÇÃO INTEIRA PARA PROBLEMAS DE ESCALONAMENTO DA PRODUÇÃO

Dissertação apresentada ao Curso de Mestrado em Engenharia de Produção da Universidade Federal Fluminense como requisito parcial para obtenção do Grau de Mestre em Engenharia de Produção.

Professor Orientador:

Prof. D.Sc. EDUARDO UCHOA BARBOZA

NITERÓI 2018

(3)

Bibliotecária responsável: Fabiana Menezes Santos da Silva - CRB7/5274 Eduardo Uchoa Barboza, orientador. Niterói, 2018.

145 f.

Dissertação (mestrado)-Universidade Federal Fluminense, Niterói, 2018.

1. Pesquisa operacional. 2. Programação inteira. 3. Otimização. 4. Tomada de decisão. 5. Produção

intelectual. I. Título II. Barboza,Eduardo Uchoa, orientador. III. Universidade Federal Fluminense. Escola de Engenharia.

(4)

-a

a

a a

(5)

AGRADECIMENTOS

Agradeço em primeiro lugar à minha família por todo apoio e compreensão ao longo dessa difícil caminhada pelo saber que é a realização de um projeto de pesquisa e escrita da dissertação. Pai e irmã foram ombros nos quais eu pude me confortar e reforçar minha vontade em concluir este objetivo. Tenho gratidão especial à minha mãe por me ensinar o verdadeiro significado das palavras comprometimento, disciplina e perseverança. Seus ensinamentos foram fundamentais para essa conquista.

Aos amigos também sou grato pelos momentos de companheirismo, descontração e divertimento tão necessários ao longo do mestrado. Compartilhar as dificuldades e potencializar as alegrias me ajudou a passar por este período de muito estudo e algumas renúncias de maneira mais leve e suave.

Um agradecimento especial não poderia faltar ao Professor Uchoa por todo profissionalismo, excelente didática, paciência e dedicação a este projeto. Registro aqui, neste documento tão importante para minha vida pessoal e profissional, minha profunda gratidão e admiração. Sem sua orientação a conclusão deste trabalho não seria possível.

Direciono também meus agradecimentos aos professores que aceitaram compor a banca examinadora de defesa desta dissertação. É uma grande honra ter a oportunidade de apresentar minha pesquisa e receber os comentários de profissionais com tamanho reconhecimento na academia e notória capacidade de contribuição para o tema. Mais uma vez, muito obrigado pela disponibilidade.

Por fim, agradeço à Universidade Federal Fluminense e, mais especificamente, a todos os professores e colaboradores dessa instituição que, com muito empenho, trabalham no Programa de Mestrado e Doutorado em Engenharia de Produção da UFF.

(6)

Our passion for learning…is our tool for survival.

(7)

RESUMO

Os modelos determinísticos para resolução de problemas de escalonamento possuem grande aplicabilidade por permitirem o estudo de diversas situações em diferentes áreas do conhecimento. Dois problemas deste tipo foram abordados neste estudo: o problema de sequenciamento de job shop (PSJS) e o caso prático do problema de alocação de bobinas (PAB) para fabricação de dutos flexíveis da indústria de óleo e gás. O ambiente de produção job shop possibilita alta flexibilidade na oferta de produtos e serviços, sendo estratégico para a satisfação dos clientes. Devido à sua relevância, um dos objetivos dessa dissertação consiste em propor um modelo de programação inteira (PI) para resolver o problema de sequenciamento de job shop com função objetivo de minimizar o atraso total ponderado de forma eficiente. O novo modelo é baseado na formulação proposta por Bowman e Kondili, Pantelides e Sargent com variáveis indexadas no tempo e introdução de restrições como fluxos em rede. Os resultados demonstraram que a nova formulação é competitiva em condições em que os tempos de processamento das tarefas pelas máquinas é reduzido e apresenta resultados iniciais, isto é, soluções ótimas com relaxação linear mais próximas da solução ótima inteira do que as formulações presentes na literatura. As bobinas tratadas no segundo problema deste trabalho são utilizadas para armazenagem e transporte de dutos flexíveis em cada etapa da sua produção até a entrega final ao cliente. Outro objetivo desta dissertação é a proposição de um modelo de PI para resolução do problema de alocação de bobinas a fim de minimizar o número de bobinas necessárias e/ou reduzir a sua movimentação dentro da fábrica. A contribuição deste modelo é a capacidade de fornecer respostas ágeis e precisas em um cenário de escassez de bobinas e esforço crescente para redução de custos na indústria do petróleo. O modelo foi aplicado em uma fábrica de dutos localizada no Estado do Rio de Janeiro. O teste foi realizado para um horizonte de planejamento de seis meses, correspondendo a uma produção de dutos 10% maior do que a do semestre anterior. O modelo mostrou que era possível realizar esse aumento de produção sem a aquisição de bobinas adicionais, gerando consideráveis ganhos financeiros.

Palavras-chave: escalonamento, programação inteira, job shop, atraso total ponderado, dutos flexíveis, bobinas

(8)

ABSTRACT

The deterministic models for solving scheduling problems have high applicability due to the fact they permit the study of several situations in different areas of knowledge. Two problems of this type were addressed in this study: the job shop scheduling problem (JSSP) and the practical case of the reel allocation problem (RAP) for the production of flexible pipes in the oil and gas industry. The job shop machine environment enables high flexibility to offer products and services and therefore it is strategic for customer satisfaction. Due to its relevance, one of the objectives of this master thesis consists in proposing an integer programming (IP) model to solve the job shop scheduling problem with the objective function of minimizing the total weighted tardiness. The new model for solving the job shop scheduling problem is based on the formulation proposed by Bowman and Kondili, Pantelides and Sargent with time-indexed variables and introduction of constraints as network flows. Results have shown that the new formulation is competitive under conditions in which processing times of the jobs in the machines are reduced and presents initial results, i.e. optimal solutions with linear relaxation closer to the integer optimal solution than the existing formulations in the literature. The reels treated in the second problem of this work are used for storage and transportation of flexible pipes at each stage of their production, until final delivery to the customer. Another objective of this master thesis is proposing an IP model for solving the reel allocation problem in order to minimize the number of reels required and/or reduce its movement inside the factory. The contribution of the proposed model for the definition of reel allocation is the ability to provide agile and accurate responses in scenarios of reel shortages and increasing effort to reduce costs in the oil industry. The model was applied to a pipe plant located in the State of Rio de Janeiro. The test was performed for a planning horizon of six months, corresponding to a production of pipes 10% higher than that of the previous semester. The model showed that it was possible to achieve this increase of production without purchasing additional reels, generating considerable financial gains.

Keywords: scheduling, integer programming, job shop, total weighted tardiness, flexible pipes, reels

(9)

SUMÁRIO

1 INTRODUÇÃO ... 13

1.1 MOTIVAÇÃO DO TRABALHO ... 14

1.2 DESCRIÇÃO DO PROBLEMA ... 16

1.3 JUSTIFICATIVA E RELEVÂNCIA DO ESTUDO ... 17

1.4 OBJETIVO GERAL ... 18

1.5 OBJETIVOS ESPECÍFICOS ... 18

1.6 DELIMITAÇÕES DO ESTUDO ... 19

1.7 METODOLOGIA E TRABALHO REALIZADO ... 20

1.8 ORGANIZAÇÃO DO TRABALHO ... 21

2 FUNDAMENTAÇÃO TEÓRICA ... 24

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

2.1.1 Campo 𝛂 – Ambientes de máquina ... 25

2.1.2 Campo 𝛃 – Detalhes das características e restrições de processamento 27 2.1.3 Campo 𝛄 – Objetivos de minimização ... 30

2.2 JOB SHOP ... 32

2.3 PROBLEMA DE FLUXO EM REDE ... 38

2.3.1 Problema do fluxo de custo mínimo ... 40

3 FORMULAÇÃO DE PI PARA O PROBLEMA DE SEQUENCIAMENTO DE JOB SHOP ... 42

3.1 INTRODUÇÃO ... 42

3.2 METODOLOGIA DA PESQUISA ... 43

3.2.1 Levantamento e análise das melhores formulações ... 44

3.2.2 Identificação e implementação de oportunidades de melhoria ... 44

3.2.3 Realização de testes com a nova formulação e as de referência ... 44

3.2.4 Comparação dos resultados obtidos ... 46

3.3 MODELO MATEMÁTICO ... 47

3.4 EXEMPLO ILUSTRATIVO ... 49

3.5 FORMULAÇÕES DE REFERÊNCIA PARA OS TESTES ... 54

(10)

4 FORMULAÇÃO DE PI PARA O PROBLEMA DE ALOCAÇÃO DE BOBINAS NA

PRODUÇÃO DE DUTOS FLEXÍVEIS ... 70

4.1 INTRODUÇÃO ... 70

4.2 METODOLOGIA DA PESQUISA ... 74

4.2.1 Reconhecimento e levantamento de dados do processo fabril ... 74

4.2.2 Elaboração e programação do modelo matemático ... 75

4.2.3 Aplicação no estudo de caso ... 75

4.2.4 Discussão dos resultados e comparação com a situação anterior ... 76

4.3 PRODUTO E PROCESSO DE PRODUÇÃO ... 76

4.4 EXEMPLO ILUSTRATIVO ... 78

4.5 MODELO MATEMÁTICO ... 83

4.6 IMPLEMENTAÇÃO E ESTUDO DE CASO ... 88

5 CONCLUSÃO E TRABALHOS FUTUROS ... 92

6 REFERÊNCIAS BIBLIOGRÁFICAS ... 95

7 APÊNDICES ... 98

(11)

LISTA DE ILUSTRAÇÕES

Figura 1 – Produção científica relacionada ao tema "job shop" ... 14

Figura 2 – Produção científica relacionada ao tema "scheduling" ... 15

Figura 3 – Produção científica relacionada ao tema "integer programming" ... 16

Figura 4 – Etapas da metodologia da pesquisa para o problema de sequenciamento de job shop ... 43

Figura 5 – Representação esquemática das Restrições (28) e (29) relativas à capacidade das máquinas ... 49

Figura 6 – Representação esquemática das Restrições (30) a (32) relativas à ordem de precedência das tarefas ... 49

Figura 7 – Diagrama de Gantt da solução ótima do exemplo ... 51

Figura 8 – Esquema representativo dos fluxos em rede das restrições de capacidade de máquina do exemplo ... 52

Figura 9 – Esquema representativo do fluxo em rede da restrição de precedência da tarefa 1 do exemplo ... 52

Figura 10 – Esquema representativo do fluxo em rede da restrição de precedência da tarefa 2 do exemplo ... 53

Figura 11 – Esquema representativo do fluxo em rede da restrição de precedência da tarefa 3 do exemplo ... 53

Figura 12 – Análise comparativa dos gaps de integralidade das formulações para uma instância 8 x 8 com tempos de processamento entre 1 e 5 UT, semente 3 e solução ótima igual 266 ... 67

Figura 13 – Análise comparativa dos gaps de integralidade das formulações para uma instância 8 x 8 com tempos de processamento entre 1 e 10 UT, semente 6 e solução ótima igual 468 ... 68

Figura 14 – Exemplo de arranjo submarino com aplicações de dutos flexíveis ... 71

Figura 15 – Duto flexível ... 72

Figura 16 – Bobinas ... 73

Figura 17 – Etapas da metodologia da pesquisa para o problema de alocação de bobinas ... 74

Figura 18 – Partes de uma bobina ... 77

Figura 19 – Diagramas de Gantt do plano de produção e dos seus usos ... 81

Figura 20 – Grafos de usos e a solução para o exemplo dado ... 86

(12)

Figura 22 – Diagrama de Gantt dos usos alocados com bobinas de 16 ft, 17 ft, 19 ft e 22 ft ... 91

(13)

LISTA DE TABELAS

Tabela 1 – Tamanho das instâncias adotadas na metodologia de pesquisa ... 45

Tabela 2 – Tempos de processamento das tarefas nas máquinas do exemplo ... 50

Tabela 3 – Sequência das máquinas de cada tarefa do exemplo ... 50

Tabela 4 – Valores das variáveis de decisão da solução ótima do exemplo ... 50

Tabela 5 – Resultados do novo modelo ... 58

Tabela 6 – Resultados do modelo disjuntivo adaptado ... 59

Tabela 7 – Resultados do modelo de Kondili adaptado ... 60

Tabela 8 – Resultados do modelo de kondili adaptado e revisado ... 61

Tabela 9 – Resumo das formulações mais eficientes por instância ... 62

Tabela 10 – Redução do tempo de resolução dos modelos com variáveis indexadas no tempo com alguma restrição como fluxo em rede em comparação ao modelo de kondili adaptado ... 64

Tabela 11 – Resultados das formulações para uma instância 8 x 8 com tempos de processamento entre 1 e 5 UT, semente 3 e solução ótima igual 266 ... 66

Tabela 12 – Resultados das formulações para uma instância 8 x 8 com tempos de processamento entre 1 e 10 UT, semente 6 e solução ótima igual 468 ... 68

Tabela 13 – Descrição das camadas de um típico duto ... 76

Tabela 14 – Exemplo de plano de produção ... 78

Tabela 15 – Distâncias (metros) entre locais do exemplo ... 79

Tabela 16 – Instantes e locais de liberação das bobinas do exemplo ... 79

Tabela 17 – Usos definidos pelo plano de produção do exemplo ... 80

Tabela 18 – Alocação das bobinas na solução do exemplo ... 82

Tabela 19 – Movimentação das bobinas vazias na solução do exemplo ... 82

Tabela 20 – Quantidade de bobinas e total de instantes de liberação por diâmetro . 88 Tabela 21 – Dados dos usos considerados no trabalho ... 98

Tabela 22 – Matriz distância entre máquinas ... 119

(14)

LISTA DE ABREVIATURAS, SIGLAS E SÍMBOLOS

𝛼 tempo mínimo entre duas alocações consecutivas de uma bobina a usos

𝛿𝑘(𝑢) conjunto de arcos de 𝐺

𝑘 entrando no vértice 𝑢 ∈ 𝑉𝑘

𝛿𝑘+(𝑢) conjunto de arcos de 𝐺𝑘 deixando o vértice 𝑢 ∈ 𝑉𝑘

∑ 𝑤𝑗(1 − 𝑒−𝑟𝐶𝑗) tempo total de conclusão ponderado descontado

∑ 𝑤𝑗𝐶𝑗 tempo total de conclusão ponderado

∑ 𝑤𝑗𝑇𝑗 atraso total ponderado

∑ 𝑤𝑗𝑈𝑗 número ponderado de tarefas atrasadas

𝜎𝑗 h-ésima operação da tarefa j 𝑎𝑖𝑗 limite de fluxo de (i,j)

𝐴𝑘 conjunto de arcos do grafo direcionado das bobinas de tamanho k

𝑏𝑖𝑗 limite de fluxo de (i,j)

𝑏𝑘(𝑟) número de bobinas liberadas de tamanho k batch(b) processamento em lotes

block bloqueio

brkdwn paradas

𝑐𝑖𝑗 coeficiente de custo de (i,j) 𝐶𝑚𝑎𝑥 makespan

𝑐𝑢𝑣𝑘 custo de movimentação de uma bobina de tamanho k de 𝑒𝑙(𝑢)

até 𝑠𝑙(𝑣)

𝑑𝑖𝑗 distância entre um par de locais 𝑖, 𝑗 ∈ 𝐿 𝑑𝑗 prazo em que a tarefa j deve estar finalizada

DLL Dynamic Link Library

𝑒𝑖𝑗𝑡 variável binária que é igual a 1 se a tarefa j não começar na

máquina i no momento t

(15)

𝑒(𝑢) instante final de um uso 𝑒𝑙(𝑢) local final de um uso

𝑒𝑙(𝑟) local de liberação de bobinas

𝑓𝑖𝑡 variável binária que se iguala a 1 quando a máquina i permanece ociosa no período t

FIFO First In First Out

𝑖𝑘 variável que representa o tempo de início do processamento da tarefa na k-ésima posição da máquina i

𝐽𝑚 job shop

JSSP job shop scheduling problem

𝐾 conjunto de tamanhos do diâmetro do tambor das bobinas

𝐹𝑚 flow shop

𝐹𝐹𝑐 flow shop flexível

𝐹𝐽𝑐 job shop flexível

fmls famílias de tarefa

𝐺𝑘 grafo direcionado das bobinas de tamanho k 𝐿 conjunto de locais na fábrica de dutos flexíveis 𝑀𝑗 restrições de elegibilidade de máquina

nwt sem espera

𝑂𝑚 open shop

𝑝𝑖𝑗 tempo de processamento da tarefa j na máquina i 𝑃𝑚 máquinas idênticas em paralelo

PAB problema de alocação de bobinas

PSJS problema de sequenciamento de job shop

PI programação inteira

PIM programação inteira mista prec restrições de precedência

(16)

prmp preempção

prmu permutação

𝑞𝑖𝑗𝑘 variável de excesso relacionada à máquina i e às tarefas j e k

𝑄𝑚 máquinas em paralelo com diferentes velocidades

rijk variável binária igual a 1 se a k-ésima operação da tarefa j for processada na máquina i e 0

𝑅𝑘 conjunto de liberações de bobinas de tamanho k

RAP reel allocation problem 𝑟𝑗 data de liberação da tarefa j

𝑅𝑚 diferentes máquinas em paralelo

rcrc recirculação

𝑠𝑖 suprimento do nó i

𝑠𝑖𝑗 variável contínua que representa o tempo de início da tarefa j na máquina i

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

𝑠(𝑢) instante de início de um uso 𝑠𝑙(𝑢) local de início de um uso

𝑡𝑗 atraso da tarefa j, calculado como 𝑡𝑗 = 𝑚𝑎𝑥{0, 𝐶𝑗 − 𝑑𝑗}, onde 𝐶𝑗 é

o tempo de conclusão da tarefa j

U conjunto definido como {1, … , 𝐻} no problema de sequenciamento de job shop ou conjunto de usos de bobina no problema de alocação de bobinas

𝑈𝑖𝑗 conjunto dos tempos em que a tarefa j pode efetivamente começar sua operação na máquina i sem exceder o tempo H definido, uma vez que a tarefa j também precisa ser executada em máquinas antes e/ou depois de i

𝑈𝑘 conjunto de usos que são compatíveis com bobinas de tamanho k ou maiores

(17)

𝑤𝑗 peso atribuído à tarefa j

𝑉 número com valor grande

𝑉𝑘 conjunto de vértices

VBA Visual Basic for Applications

𝑥𝑖𝑗𝑡 variável binária que assume o valor igual a 1 caso a tarefa j

comece na máquina i no instante t

𝑥𝑢𝑣𝑘 variável binária que indica se uma bobina de tamanho k é

alocada a 𝑢 e em seguida é alocada para 𝑣

𝑧𝑖𝑗𝑘 variável binária que assume o valor 1 quando a tarefa j precede a tarefa k na máquina i

𝑍𝑂𝑝𝑡 valor da solução ótima

(18)

1 INTRODUÇÃO

Escalonamento ou sequenciamento consiste na função de alocar um conjunto de tarefas a um conjunto de meios de produção ao longo de um determinado intervalo de tempo com o objetivo de otimizar um ou mais indicadores de desempenho. Assim, encontrar uma solução ótima para um problema de escalonamento significa determinar a sequência de processamento das tarefas capaz de maximizar ou minimizar uma ou mais funções objetivo. A principal contribuição deste processo é a capacidade de planejamento e controle da produção de bens e da prestação de serviços.

Este trabalho apresenta formulações de programação inteira para dois problemas de escalonamento da produção. O primeiro se trata de um problema teórico, clássico e de difícil resolução: o problema de sequenciamento de job shop. Amplamente encontrado em várias indústrias, segundo Pinedo (2016), este problema é classificado como NP-difícil e vem sendo estudado há aproximadamente 70 anos. O segundo é um problema real encontrado em uma fábrica e consiste em definir a alocação ótima de bobinas utilizadas no armazenamento e transporte ao longo da fabricação de dutos flexíveis para produção e exploração de petróleo e gás. O autor não encontrou registros de trabalhos publicados na literatura que abordem este problema.

Essa dissertação está estruturada em seis capítulos. O presente capítulo apresenta uma breve contextualização e introduz os problemas estudados. O Capítulo 2 se refere à fundamentação teórica, onde os principais elementos conceituais do estudo são abordados. O Capítulo 3 aborda especificamente a formulação proposta para o problema de sequenciamento de job shop. Neste capítulo, há introdução, metodologia da pesquisa, proposição do novo modelo matemático, exemplo ilustrativo, apresentação das formulações de referência para os testes e discussão dos resultados. O Capítulo 4 trata do modelo de programação inteira proposto para resolver o problema de alocação de bobinas na produção de dutos flexíveis. Neste capítulo, há introdução, contextualização do produto e seu processo de fabricação, exemplo ilustrativo, apresentação da formulação matemática proposta, implementação e realização do estudo de caso. O Capítulo 5 expõe a conclusão do trabalho e as sugestões para trabalhos futuros. O Capítulo 6

(19)

organiza as referências bibliográficas utilizadas na elaboração desta pesquisa e, por fim, o Capítulo 7 apresenta os apêndices.

1.1 MOTIVAÇÃO DO TRABALHO

Os problemas de escalonamento permitem a modelagem de um vasto conjunto de situações reais e permeiam diversas áreas do conhecimento. Pinedo (2016) cita alguns exemplos de problemas deste tipo encontrados em uma fábrica de sacola de papel, em uma instalação de manufatura de semicondutores, em um aeroporto no processo de alocação de portões de embarque e em uma unidade de processamento central de um computador para sequenciamento de tarefas. Nesta dissertação, são tratados especificamente dois problemas desta classe: o sequenciamento de job shop e a alocação de bobinas para fabricação de dutos flexíveis.

O problema de sequenciamento de job shop é relacionado à indústria de manufatura e apresenta muitas aplicações práticas para a programação de operações em ambientes de produção (JAMILI, 2016). Outro fator que torna o problema interessante para se tratar em um estudo é o seu nível de complexidade. O sequenciamento das tarefas de um job shop, como explicado por Akram, Kamal e Zeb (2016), é um problema NP-difícil bem conhecido de otimização combinatória.

O interesse pela investigação deste tipo de problema vem aumentando na literatura ao longo dos últimos anos, o que pode ser percebido a partir da análise da produção científica de 2006 a 2017 sobre este tema.

Figura 1 – Produção científica relacionada ao tema "job shop" Fonte: Scopus – Acesso em janeiro de 2018

(20)

Os números apresentados na Figura 1 resultam da consulta realizada na base de periódicos Scopus a partir da expressão “job shop” nos títulos dos documentos, resumos e palavras chaves.

O problema de alocação de bobinas é um problema bem específico da fabricação de dutos flexíveis, que pertence à indústria de óleo e gás. Resolver este problema exige sequenciar a utilização de bobinas para transporte e armazenamento de dutos ao longo de sua fabricação e em função de uma de suas dimensões. Problemas como este vêm recebendo bastante atenção da comunidade científica, mais que triplicando o número de publicações sobre o tema “sequenciamento” de 2000 até 2017. A Figura 2 evidencia essa tendência.

Figura 2 – Produção científica relacionada ao tema "scheduling" Fonte: Scopus – Acesso em janeiro de 2018

Esse gráfico apresenta números resultantes da consulta realizada na base de periódicos Scopus a partir da expressão “scheduling” nos títulos dos documentos, resumos e palavras chaves e limitando a pesquisa a quatro áreas do conhecimento: ciência da computação, engenharia, matemática e ciência da decisão.

A pesquisa relacionada à programação inteira também se mostrou promissora ao demonstrar um aumento das publicações sobre o tema nos últimos anos. A Figura 3 esboça essa inclinação.

(21)

Figura 3 – Produção científica relacionada ao tema "integer programming" Fonte: Scopus – Acesso em janeiro de 2018

Os dados para elaboração do gráfico anterior foram extraídos de uma consulta na base de periódicos Scopus a partir da expressão “integer programming” nos títulos dos documentos, resumos e palavras chaves.

1.2 DESCRIÇÃO DO PROBLEMA

Lakatos e Marconi (2003) definem o problema de uma pesquisa como uma dificuldade, que pode ser teórica ou prática, relativa ao conhecimento de algo de real importância, para a qual uma solução deve ser encontrada. Gil (2009) complementa esta visão e defende que um problema é de natureza científica quando envolve variáveis que podem ser classificadas como testáveis, isto é, são passíveis de observação ou de manipulação.

Lakatos e Marconi (2003) citam cinco aspectos a serem analisados para que um problema seja considerado apropriado:

1) Viabilidade: possibilidade de ser resolvido de forma eficaz por meio da pesquisa;

2) Relevância: capacidade de trazer novos conhecimentos;

3) Novidade: adequação ao nível atual de evolução científica e capacidade de trazer novo enfoque e/ou soluções;

4) Exequibilidade: possibilidade de chegar a uma conclusão válida; 5) Oportunidade: atendimento a interesses particulares e gerais.

(22)

Os dois problemas que norteiam esta pesquisa são:

1) Resolver de maneira eficiente o problema de sequenciamento de job shop e minimizar o atraso total ponderado das tarefas;

2) Alocar eficientemente o menor número possível e/ou com o menor deslocamento possível as bobinas utilizadas para armazenamento e transporte de dutos flexíveis ao longo do seu processo de fabricação.

Entende-se como eficiência, neste estudo, a capacidade de resolver uma determinada instância em um tempo computacional inferior aos demais métodos atualmente propostos ou em tempo razoável e a propriedade de ser aplicável nas atividades de planejamento de curto prazo.

1.3 JUSTIFICATIVA E RELEVÂNCIA DO ESTUDO

As justificativas do estudo dos dois problemas apresentados nesta dissertação estão listadas abaixo:

1) Para o sequenciamento de job shop é o avanço na compressão da abordagem de programação inteira em função de sua complexidade e pelas oportunidades que a otimização pode possibilitar;

2) Para a alocação das bobinas é a possibilidade de melhorar o processo de planejamento encontrado na operação de uma fábrica de dutos flexíveis.

A relevância do estudo foi identificada conforme exposto a seguir:

1) Alto potencial de aplicabilidade dos métodos desenvolvidos uma vez que o job shop é um ambiente de produção comum na indústria brasileira e mundial. Além disso, as técnicas utilizadas neste trabalho acadêmico podem servir de referência para resolução e tratamento de outros problemas NP-difíceis;

2) O modelo proposto para a alocação ótima de bobinas pode aumentar a eficiência de utilização dos recursos da fábrica analisada e contribuir para a redução de custos do produto vendido. Em última escala, esse ganho pode ser revertido para os operadores dos

(23)

campos de petróleo e gás e até para os consumidores finais de seus derivados.

1.4 OBJETIVO GERAL

Para Lakatos e Marconi (2003) toda pesquisa deve apresentar um objetivo determinado com a finalidade de definir o que será procurado e o que se pretende atingir. Os mesmos autores complementam que o objetivo torna o problema explícito, o que contribui para o aumento de conhecimento acerca do assunto tratado.

Os objetivos gerais desta dissertação consistem em:

1) Propor uma formulação para resolver o problema de sequenciamento de job shop com função objetivo de minimizar o atraso total ponderado de forma eficiente;

2) Elaborar um modelo capaz de resolver o problema de alocação das bobinas para transporte e armazenamento de dutos flexíveis ao longo de sua fabricação de maneira ótima e em tempo razoável para o processo de planejamento.

1.5 OBJETIVOS ESPECÍFICOS

O desdobramento do objetivo geral relativo ao problema de sequenciamento de job shop resulta nos seguintes objetivos específicos:

 Identificar e analisar as melhores formulações de PI utilizadas para resolver o problema de sequenciamento de job shop;

 Adaptar as melhores formulações encontradas para o caso em que a função objetivo consiste em minimizar o atraso total ponderado;

 Implementar melhorias em uma formulação de maneira a diminuir o tempo e esforço computacional na resolução das diferentes instâncias;

 Realizar testes com a formulação proposta e as de referência;

 Mensurar os resultados obtidos com os testes computacionais e comparar o desempenho dos diferentes modelos;

(24)

 Definir as limitações do estudo de modo a delinear as condições nas quais as vantagens da aplicação do método proposto podem ser reproduzidas.

O objetivo geral referente ao problema de alocação de bobinas leva aos seguintes objetivos específicos:

 Resolver o problema de alocação de bobinas e encontrar soluções ótimas;  Reduzir o tempo do processo de planejamento da utilização das bobinas;  Diminuir a movimentação das bobinas na planta fabril ao longo da fabricação

de dutos flexíveis;

 Aumentar a taxa de uso das bobinas, o que implica na redução do tempo ocioso desse tipo de equipamento;

 Reduzir investimentos na aquisição de novas bobinas;

 Reduzir o capital imobilizado em bobinas que não precisariam estar participando do processo de fabricação dos dutos flexíveis.

1.6 DELIMITAÇÕES DO ESTUDO

A pesquisa foi delimitada conforme os pontos a seguir:

1) O problema de sequenciamento de job shop se refere à versão clássica do problema, isto é, aquele em que não há recirculação e não é composto por centros de trabalho. O foco desta dissertação é a análise e aplicação de métodos exatos para otimização, portanto o desenvolvimento de técnicas heurísticas não faz parte do escopo deste trabalho;

2) Para o modelo de alocação de bobinas somente foram consideradas aquelas destinadas ao transporte e armazenamento dos dutos flexíveis enquanto estes estão sendo fabricados. Isso exclui do estudo as bobinas enviadas para o cliente ou utilizadas para transporte e armazenamento dos dutos flexíveis já acabados. Somente o diâmetro do tambor das bobinas foi considerado, neste trabalho, como uma restrição. A dimensão dos flanges foi desconsiderada por não impactar na operação fabril nem oferecer riscos às propriedades dos dutos flexíveis. Essa pesquisa também não visa realizar a otimização

(25)

da fabricação de dutos flexíveis. O plano de produção é considerado uma entrada já definida para o modelo de alocação de bobinas.

1.7 METODOLOGIA E TRABALHO REALIZADO

Segundo Lakatos e Marconi (2003), pesquisa é um procedimento formal realizado com um método de pensamento reflexivo, que demanda um tratamento científico e compõe o meio pelo qual a realidade será conhecida ou verdades parciais serão descobertas.

Gil (2009) complementa esta visão ao definir pesquisa como o procedimento racional e sistemático cuja finalidade é encontrar respostas aos problemas que se apresentam. A pesquisa tem sua função requisitada quando não há informações disponíveis para obter respostas a um determinado problema ou no caso em que as informações disponíveis não estão suficientemente organizadas, o que impossibilita a correlação adequada ao problema.

Lakatos e Marconi (2003) propõem que o desenvolvimento de um projeto de pesquisa seja estruturado em seis etapas:

1) Seleção do tópico ou problema para a investigação; 2) Definição e diferenciação do problema;

3) Levantamento de hipóteses de trabalho;

4) Coleta, sistematização e classificação dos dados; 5) Análise e interpretação dos dados;

6) Relatório do resultado da pesquisa.

Desse modo, a base metodológica desta pesquisa para abordar o problema de sequenciamento de job shop é composta de quatro fases:

1) Levantamento e análise das melhores formulações;

2) Identificação e implementação de oportunidades de melhoria; 3) Realização de testes com a nova formulação e as de referência; 4) Comparação dos resultados obtidos.

(26)

A primeira etapa consiste em identificar e analisar as melhores formulações utilizadas para resolução do problema de sequenciamento de job shop. A próxima fase tem como objetivo buscar e implementar oportunidades de melhoria que sejam capazes de trazer aumento de velocidade na resolução das diferentes instâncias. Em seguida, é necessário realizar testes para medir o desempenho da nova formulação proposta e das demais que são referência para a comparação. Por fim, as diferentes abordagens do problema são comparadas como forma de medir quais resultados apresentam mais vantagens em termos de eficiência.

Para elaboração e aplicação do modelo de alocação de bobinas foi utilizada a seguinte metodologia:

1) Reconhecimento e levantamento de dados do processo fabril; 2) Elaboração e programação do modelo;

3) Aplicação do estudo de caso;

4) Discussão dos resultados e comparação com a situação anterior.

A fase inicial consistiu em mapear o processo fabril e coletar os dados referentes ao plano de produção dos dutos flexíveis. Isso permitiu o agrupamento de atividades consecutivas realizadas em um mesmo duto por máquinas diferentes. Após o reconhecimento e estudo da operação da fábrica, foi possível elaborar o modelo matemático e implementar sua programação com a utilização do UFFLP. A terceira etapa foi a aplicação do modelo para o caso real descrito no plano de produção. Com a solução do problema, houve a análise dos resultados e a realização de um comparativo com a situação anterior, tanto em termos de eficiência do processo de planejamento quanto em ganhos de utilização das bobinas.

1.8 ORGANIZAÇÃO DO TRABALHO

Essa dissertação está dividida em cinco capítulos mais a seção destinada aos apêndices. Assim, no Capítulo 1 referente à introdução, buscou-se contextualizar o tema da pesquisa, descrever os problemas em torno do qual a dissertação foi escrita, apresentar as motivações e os objetivos e delimitar o escopo do trabalho.

(27)

O Capítulo 2 aborda a fundamentação teórica dos assuntos centrais discutidos neste estudo. Assim, foram feitas consultas aos mais importantes livros que compõem a literatura de cada tópico tratado. Em paralelo, houve um levantamento junto às bases de periódicos mais consistentes e reconhecidas pela comunidade científica internacional a fim de coletar o que há de estado da arte em matéria de conhecimento.

O Capítulo 3 é destinado ao problema de sequenciamento de job shop. Nele, é encontrada a Seção 3.1 que trata de sua introdução e a Seção 3.2, que apresenta a metodologia empregada para estudo deste problema. Em termos gerais, a partir da fundamentação teórica foi possível levantar as principais técnicas utilizadas recentemente na resolução do problema de sequenciamento de job shop e propor melhorias que tragam ganhos em termos de eficiência. Após a realização de uma comparação detalhada das abordagens foi possível identificar as vantagens da nova proposição.

A Seção 3.3 apresenta a formulação proposta para resolver o problema de sequenciamento de job shop com função objetivo de minimizar o atraso total ponderado e detalha as características da nova abordagem. Nesta seção, as variáveis de decisão, bem como as restrições que foram propostas são especificadas e explicadas detalhadamente.

A Seção 3.4 propõe um exemplo ilustrativo de resolução do problema para aprofundar o entendimento do leitor. A Seção 3.5 introduz as formulações de referência utilizadas para os testes comparativos. A Seção 3.6 se refere aos resultados obtidos com as formulações adaptadas e com a nova proposição. A partir de uma comparação foi possível mapear em que condições as diferentes abordagens possuem vantagens e desvantagens.

O Capítulo 4 aborda o problema de alocação de bobinas. Assim, na Seção 4.1, é feita sua introdução e na Seção 4.2, a metodologia utilizada para abordar este problema é definida. Em linhas gerais, foi realizado o mapeamento do processo fabril de dutos flexíveis e o levantamento de dados do plano de produção. Essa etapa inicial viabilizou a elaboração e programação do modelo matemático. Após a conclusão do modelo houve sua aplicação no estudo de caso representativo de uma situação real. A resolução do problema de alocação de bobinas gerou resultados

(28)

que foram comparados à situação antes da implementação do novo método proposto.

Na Seção 4.3, é apresentado o que é um duto flexível e como ocorre seu processo de fabricação. Nesta seção, as principais camadas de um duto e suas funções são detalhadas, as máquinas onde cada camada é fabricada são definidas e as partes de uma bobina convencional são apresentadas.

Na Seção 4.4, é proposto um exemplo ilustrativo completo. Neste exemplo, é resolvida uma instância pequena e simples do problema para aprofundar o entendimento do leitor e tornar a abordagem do problema mais clara. Na Seção 4.5, o modelo matemático é formulado e na Seção 4.6, ocorre o detalhamento de sua implementação em um caso real.

O Capítulo 5 retoma os principais objetivos e resultados do trabalho, expõe as conclusões e identifica oportunidades para novas pesquisas. Os Capítulos 6 e 7 estão relacionados, respectivamente, às referências bibliográficas que suportaram este estudo e aos apêndices, onde mais detalhes sobre a pesquisa podem ser consultados.

(29)

2 FUNDAMENTAÇÃO TEÓRICA

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

De acordo com Pinedo (2016) em todos os problemas de escalonamento (scheduling problems) considerados, tanto o número de tarefas (jobs) quanto o de máquinas são finitos. Atribui-se ao número de tarefas a letra n, enquanto a letra m é utilizada para denominar o número de máquinas do problema. É usual que a letra j, subscrita a uma variável, represente uma tarefa específica e que a letra i, da mesma maneira, se refira a uma determinada máquina. Para representar uma etapa de processamento ou operação da tarefa j na máquina i utiliza-se o par (i, j).

Algumas características, apresentadas a seguir, podem estar associadas a uma tarefa j:

Tempo de processamento (𝑝𝑖𝑗): Refere-se ao tempo de processamento

da tarefa j na máquina i. Se o tempo de processamento da tarefa j for independente da máquina em que a operação está sendo realizada ou só existir uma máquina pela qual a tarefa é processada, a letra subscrita i é omitida;

Data de liberação (𝑟𝑗): É o tempo no qual a tarefa j chega ao sistema produtivo. Em outras palavras, é o tempo mais cedo no qual a tarefa j pode começar a ser processada em uma máquina. Outra nomenclatura, citada por Pinedo (2016) em sua obra, para essa mesma característica é a data de prontidão da tarefa j;

Prazo de finalização (𝑑𝑗): Representa a data esperada de finalização da tarefa j no processo produtivo. Caso o prazo de finalização não seja cumprido, o sistema é penalizado com um atraso. Nos casos em que o prazo deve obrigatoriamente ser atendido, muda-se a representação para (𝑑̅𝑗) e denomina-se prazo limite (deadline);

Peso (𝑤𝑗): Denota a importância de uma tarefa em relação às demais do

sistema e constitui um fator de prioridade. Pode estar atrelado ao custo do não cumprimento do prazo de finalização de uma tarefa e sua consequente permanência no processo de produção.

(30)

Um problema de sequenciamento geralmente é descrito em função de uma tríplice 𝛼|𝛽|𝛾. O campo 𝛼 descreve o ambiente de máquinas do processo e apresenta uma única entrada. O campo 𝛽, por sua vez, fornece detalhes das características e restrições de processamento, podendo conter uma única entrada, múltiplas entradas ou mesmo nenhuma. Finalmente, o campo 𝛾 explicita o objetivo a ser minimizado e, embora possa apresentar mais de uma entrada, frequentemente apresenta uma única.

As próximas três subseções tratam dos campos citados anteriormente e mostram as principais possibilidades de entrada e suas representações:

2.1.1 Campo 𝛂 – Ambientes de máquina

As possibilidades de ambientes de máquina a serem preenchidas no campo α são as listadas a seguir:

Máquina única (1): A situação onde há somente uma máquina é o caso mais simples de todos os ambientes de máquina e também um caso especial de todos os outros casos mais complicados;

Máquinas idênticas em paralelo (𝑃𝑚): Neste ambiente há m máquinas dispostas paralelamente. Assim, uma tarefa j precisa passar por somente uma operação e pode ser processada em qualquer uma das m máquinas ou qualquer uma que pertença a um determinado subconjunto. No caso em que a tarefa j não puder ser processada em qualquer uma das m máquinas do sistema, mas somente em qualquer uma do subconjunto 𝑀𝑗, então o atributo 𝑀𝑗 é acrescentado ao campo 𝛽;

Máquinas em paralelo com diferentes velocidades (𝑄𝑚): Neste arranjo,

também chamado de máquinas uniformes, há m máquinas em paralelo com diferentes velocidades, onde denota-se por 𝑣𝑖 a velocidade da máquina i. Assumindo que a tarefa j é integralmente processada pela máquina i, o tempo de processamento 𝑝𝑖𝑗 que a tarefa j gasta na máquina i pode ser calculado como 𝑝𝑗 / 𝑣𝑖. Se todas as máquinas apresentarem a mesma velocidade de processamento, então este ambiente se torna idêntico ao mencionado anteriormente;

(31)

Diferentes máquinas em paralelo (𝑅𝑚): Neste layout há m diferentes

máquinas em paralelo, sendo assim uma generalização do ambiente anterior. Tomando-se como premissa que a tarefa j é processada somente pela máquina i, o tempo de processamento 𝑝𝑖𝑗 gasto pela tarefa j na máquina i pode ser obtido dividindo-se 𝑝𝑗 por 𝑣𝑖𝑗, ou seja, a velocidade na qual a máquina i pode processar a tarefa j;

Flow shop (𝐹𝑚): Há m máquinas em série nas quais cada tarefa precisa ser processada. Todas as tarefas apresentam a mesma rota de processamento, isto é, precisam passar pela máquina 1, depois pela máquina 2 até a máquina m. Uma vez concluída a etapa em uma máquina, a tarefa se junta à fila para a próxima máquina. Geralmente, as filas são organizadas pela lógica First In First Out (FIFO), ou seja, a tarefa que entrou na fila primeiro tem prioridade na saída. Quando esta lógica é adotada, o flow shop é chamado de flow shop de permutação e incluem-se no campo 𝛽 as letras prmu;

Flow shop flexível (𝐹𝐹𝑐): É uma generalização do flow shop e do

ambiente de máquinas em paralelo. Em vez de m máquinas em série, há c estágios em série compostos por um número de máquinas idênticas em paralelo. Cada tarefa apresenta a mesma sequência pelos diferentes estágios, isto é, cada tarefa precisa passar pelo estágio 1, pelo estágio 2 até chegar ao estágio c. Cada tarefa precisa passar por apenas uma máquina de cada estágio, sendo que qualquer uma pode realizar o processamento;

Job shop (𝐽𝑚): Em um job shop há m máquinas e n tarefas que apresentam rotas de processamento diferentes. É feita uma distinção entre os casos em que uma tarefa visita uma única vez cada máquina e os casos em que uma tarefa é processada mais de uma vez na mesma máquina. No último caso, é dito que o job shop apresenta recirculação e as letras rcrc devem ser acrescentadas no campo 𝛽;

Job shop flexível (𝐹𝐽𝑐): É a generalização do job shop e do ambiente de

máquinas em paralelo. Em vez de m máquinas em série, há c centros de trabalho compostos por um número de máquinas idênticas. Cada tarefa apresenta sua própria rota de processamento pelos diferentes centros de

(32)

trabalho. Uma tarefa precisa ser processada em uma máquina do centro uma única vez e qualquer máquina é capaz de realizar a operação. Caso uma tarefa precise visitar um centro de trabalho mais de uma vez, então as letras rcrc devem ser acrescentadas no campo 𝛽, indicando que o job shop flexível tem a característica de recirculação;

Open shop (𝑂𝑚): Neste ambiente, há m máquinas nas quais cada tarefa

precisa passar uma vez. Entretanto, o tempo de processamento de uma tarefa j em uma máquina i pode ser igual a zero. Não existem restrições para as rotas de processamento das tarefas, ou seja, as tarefas não possuem sequências predeterminadas de visita às máquinas.

2.1.2 Campo 𝛃 – Detalhes das características e restrições de processamento

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

(33)

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

(34)

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

(35)

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;

(36)

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

(37)

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.

2.2 JOB SHOP

Segundo Beemsterboer et al. (2017) a oferta de produtos diferenciados é fundamental para a sobrevivência de muitas empresas. Neste sentido, o job shop apresenta grande relevância por ser um ambiente de manufatura que possibilita grande variedade de produção, com os pedidos passando por diferentes rotas e em máquinas com propósitos diferentes. Muitos produtos manufaturados neste ambiente são únicos em função da política de tratamento da demanda

(38)

make-to-order, isto é, o processo produtivo de um item se inicia somente após a efetivação do pedido pelo cliente.

De acordo com Pinedo (2016) o job shop é um ambiente de produção onde há um conjunto finito M de m máquinas e que cada tarefa, de um conjunto J, possui uma rota predeterminada a seguir. Para cada tarefa j ∈ J é dada uma lista (𝜎1𝑗,...,𝜎𝑗, … , 𝜎𝑚𝑗) de máquinas que representa a sequência de processamento da tarefa j. Dessa forma, tem-se que 𝜎𝑗 é a h-ésima operação da tarefa j, enquanto 𝜎𝑚𝑗é a última operação da tarefa j, isto é, a última máquina em que a tarefa j é processada. Nos casos em que uma tarefa precisa visitar uma máquina mais de uma vez, atribui-se ao job shop a característica de recirculação. Além disso, para cada tarefa j e cada máquina i é dado um tempo de processamento 𝑝𝑖𝑗que assume valores inteiros não negativos.

O problema de sequenciamento de job shop apresenta diferentes formulações na literatura. Manne (1960) propôs um modelo com restrições disjuntivas e uma constante com valor relativo alto. Liao e You (1992) adicionaram variáveis contínuas de excesso ao modelo disjuntivo de Manne com o objetivo de aumentar o desempenho da resolução do problema. Bowman (1959) e Kondili, Pantelides e Sargent (1993) desenvolveram um modelo com variáveis indexadas no tempo, enquanto Wagner (1959) elaborou um modelo baseado nas posições das máquinas.

Ku e Beck (2016) realizaram extensivos testes e análises computacionais para definir qual modelo apresentava o melhor desempenho na resolução de problemas para minimização do makespan. Neste estudo, cada máquina era capaz de processar somente uma tarefa por vez e, uma vez iniciado o processamento de uma tarefa em uma máquina, não poderia haver interrupções. Os pesquisadores concluíram que o modelo disjuntivo proposto por Manne em 1960 é amplamente mais eficiente que os demais. Problemas com instâncias de tamanho moderado, isto é, com 15 tarefas e 15 máquinas podem ser resolvidos, se formulados com as restrições disjuntivas de Manne, na média, em pouco mais de 15 minutos. Problemas com instâncias menores, abaixo de 12 tarefas e 12 máquinas, podem ser resolvidos praticamente de forma instantânea.

(39)

O modelo disjuntivo de Manne será chamado de modelo disjuntivo original neste trabalho. Essa formulação possui as seguintes variáveis de decisão:

 𝑠𝑖𝑗: variável contínua que representa o tempo de início da tarefa j na máquina i;

 𝑧𝑖𝑗𝑘: variável binária que assume o valor 1 quando a tarefa j precede a tarefa k na máquina i.

A seguir, a formulação do modelo pode ser observada:

Min 𝐶𝑚𝑎𝑥 (1) Sujeito a 𝑠𝜎 ℎ𝑗,𝑗 ≥ 𝑠𝜎ℎ−1𝑗 ,𝑗+ 𝑝𝜎ℎ−1𝑗 ,𝑗, ∀𝑗 ∈ 𝐽, ℎ = 2, … , 𝑚 (2) 𝑠𝑖𝑗 ≥ 𝑠𝑖𝑘+ 𝑝𝑖𝑘− 𝑉. 𝑧𝑖𝑗𝑘, ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (3) 𝑠𝑖𝑘 ≥ 𝑠𝑖𝑗+ 𝑝𝑖𝑗 − 𝑉. (1 − 𝑧𝑖𝑗𝑘), ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (4) 𝐶𝑚𝑎𝑥 ≥ 𝑠𝜎 𝑚𝑗,𝑗+ 𝑝𝜎𝑚𝑗,𝑗, ∀𝑗 ∈ 𝐽 (5) 𝑠𝑖𝑗 ≥ 0, ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (6) 𝑧𝑖𝑗𝑘 ∈ {0,1), ∀𝑗, 𝑘 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (7)

A função objetivo do modelo, que consiste em minimizar o makespan do problema, está definida em (1). As Equações (2) são as restrições de precedência e têm a função de assegurar que as operações das tarefas sejam executadas na

(40)

ordem preestabelecida. As Equações (3) e (4) são as restrições disjuntivas e são responsáveis por garantir que somente uma tarefa é alocada em uma máquina de cada vez. Para que as Restrições (3) e (4) estejam corretas e funcionem adequadamente, é necessário que V seja um valor grande o suficiente. Na versão de Ku e Beck (2016), definiu-se que 𝑉 = ∑𝑗∈𝐽∑𝑖∈𝑀𝑝𝑖𝑗, pois o tempo de conclusão de

qualquer operação não pode ser maior que o somatório do tempo de processamento de todas as operações. As Restrições (5) expressam que o makespan deve ser no mínimo igual ao maior tempo de conclusão das últimas operações de todos as tarefas. As Restrições (6) definem que os tempos de início de cada tarefa são maiores ou iguais a zero. As Restrições (7) garantem a característica binária das variáveis utilizadas nas restrições disjuntivas. Pan (1997) complementa que essas variáveis estabelecem uma relação “um ou outro” para as restrições de não interferência em máquinas individuais.

Liao e You (1992) propuseram uma nova versão do modelo disjuntivo ao adicionar variáveis contínuas de excesso às Restrições (3). Dessa forma, as Restrições (3) e (4) passam a ser escritas como:

𝑉. 𝑧𝑖𝑗𝑘+ (𝑠𝑖𝑗 − 𝑠𝑖𝑘) − 𝑝𝑖𝑘 = 𝑞𝑖𝑗𝑘, ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (8)

𝑞𝑖𝑗𝑘 ≤ 𝑉 − 𝑝𝑖𝑗− 𝑝𝑖𝑘, ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (9)

Outra formulação analisada no estudo de Ku e Beck (2016) foi a com variáveis indexadas no tempo proposta inicialmente por Kondili, Pantelides e Sargent em um simpósio em Sydney, Austrália no ano de 1988, após desenvolvimentos da formulação original introduzida por Bowman em 1959. Neste trabalho, a formulação desenvolvida pelo trio será chamada de modelo de Kondili original. A variável de decisão deste modelo é 𝑥𝑖𝑗𝑡, que é binária e tem valor igual a 1, se a tarefa j começa seu processamento na máquina i no tempo t. O conjunto 𝑈 é definido como {1, … , 𝐻}, onde H indica o horizonte de tempo, ou seja, o maior tempo em que uma tarefa pode começar seu processamento, sem o risco de perder a solução ótima. O modelo matemático pode ser observado a seguir:

(41)

Min 𝐶𝑚𝑎𝑥 (10) Sujeito a ∑ 𝑥𝑖𝑗𝑡 = 1 𝑡∈𝑈 , ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (11) ∑(𝑡 + 𝑝𝑖𝑗). 𝑥𝑖𝑗𝑡 ≤ 𝐶𝑚𝑎𝑥, 𝑡∈𝑈 ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (12) ∑ ∑ 𝑥𝑖𝑗𝑡 ≤ 1 𝑡∈𝑇𝑖𝑗𝑡 𝑗∈𝐽 , ∀𝑖 ∈ 𝑀, 𝑡 ∈ 𝑈, 𝑜𝑛𝑑𝑒 𝑇𝑖𝑗𝑡 = {𝑡 − 𝑝𝑖𝑗 + 1, … , 𝑡} (13) ∑ (𝑡 + 𝑝𝜎 ℎ−1𝑗 ,𝑗) . 𝑥𝜎ℎ−1𝑗 ,𝑗𝑡 ≤ ∑ 𝑡. 𝑥𝜎ℎ𝑗,𝑗𝑡 𝑡∈𝑈 𝑡∈𝑈 , ∀𝑗 ∈ 𝐽, ℎ = 2, … , 𝑚 (14) 𝑥𝑖𝑗𝑡 ∈ {0,1} ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽, ∀𝑡 ∈ 𝑈 (15)

A função objetivo está declarada em (10). As Restrições (11) garantem que cada tarefa comece exatamente uma única vez em cada máquina. As Equações (12) asseguram que o makespan é no mínimo equivalente ao tempo de conclusão mais longo da última operação de todas as tarefas. As Restrições (13) fazem com que as capacidades das máquinas sejam respeitadas ao longo de todo o período. As Restrições (14) são responsáveis por manter a ordem das operações de cada tarefa conforme definição prévia. As Restrições (15) impõem que a variável de decisão seja binária.

O modelo de Wagner (1959) também foi analisado nos estudos de Ku e Beck (2016) e baseia-se na alocação das tarefas em posições das máquinas. As variáveis de decisão dessa formulação podem ser observadas a seguir:

(42)

 𝑥𝑖𝑗𝑘: variável binária que tem valor 1, se a tarefa j é sequenciada na

k-ésima posição da máquina i;

 ℎ𝑖𝑘: representa o tempo de início do processamento da tarefa na

k-ésima posição da máquina i.

O modelo matemático define-se da seguinte forma:

Min 𝐶𝑚𝑎𝑥 (16) Sujeito a ∑ 𝑥𝑖𝑗𝑘 = 1 𝑗∈𝐽 , ∀𝑖 ∈ 𝑀, ℎ = 1, … 𝑛 (17) ∑ 𝑥𝑖𝑗𝑘 = 1 𝑛 𝑘=1 , ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽 (18) ℎ𝑖𝑘 + ∑ 𝑝𝑖𝑗𝑥𝑖𝑗𝑘 ≤ ℎ𝑖,𝑘+1, 𝑗∈𝐽 ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (19) ∑𝑖∈𝑀𝑟𝑖𝑗𝑙𝑖𝑘+ ∑𝑖∈𝑀𝑟𝑖𝑗𝑙𝑝𝑖𝑗 ≤ 𝑉. (1 − ∑𝑖∈𝑀𝑟𝑖𝑗𝑙𝑥𝑖𝑗𝑘)+ 𝑉. (1 − ∑𝑖∈𝑀𝑟𝑖𝑗,𝑙+1𝑥𝑖𝑗𝑘′) + ∑𝑖∈𝑀𝑟𝑖𝑗,𝑙+1𝑖𝑘′, ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽 𝑘, 𝑘′= 1, … , 𝑛 𝑙 = 1, … , 𝑚 − 1 (20) ℎ𝑖𝑛+ ∑ 𝑝𝑖𝑗𝑥𝑖𝑗𝑛 ≤ 𝐶𝑚𝑎𝑥, 𝑗∈𝐽 ∀𝑖 ∈ 𝑀 (21) ℎ𝑖𝑘 ≥ 0, ∀𝑖 ∈ 𝑀, 𝑘 = 1, … , 𝑛 (22) 𝑥𝑖𝑗𝑘 ∈ {0,1}, ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽, 𝑘 = 1, … , 𝑛 (23)

Referências

Documentos relacionados

O Quantitative susceptibility mapping (QSM) é uma técnica não-invasiva de Imagem por Ressonância Magnética (MRI) recente que, ao mensurar a distribuição espacial de

Janaína Oliveira, que esteve presente em Ouagadougou nas últimas três edições do FESPACO (2011, 2013, 2015) e participou de todos os fóruns de debate promovidos

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

Para tal, o presente artigo resulta de um trabalho de investigação de caráter exploratório e transversal (n = 102), realizado num Serviço de Urgência Geral, com

O 6º ano do Mestrado Integrado em Medicina (MIM) é um estágio profissionalizante (EP) que inclui os estágios parcelares de Medicina Interna, Cirurgia Geral,

Os dados referentes aos sentimentos dos acadêmicos de enfermagem durante a realização do banho de leito, a preparação destes para a realização, a atribuição

No capítulo 4 são abordados os principais resultados obtidos diante das restrições impostas à coleta de dados, bem como a avaliação dos dados obtidos caracterizando os períodos

Para eficiência biológica, de forma geral, utiliza-se a comparação de produtividades entre sistemas (monocultivo e cultivo consorciado), sendo avaliados a partir de