UNIVERSIDADE FEDERAL FLUMINENSE MESTRADO EM …§ão... · 2020. 12. 23. · Pantelides e Sargent...

of 145 /145
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

Embed Size (px)

Transcript of UNIVERSIDADE FEDERAL FLUMINENSE MESTRADO EM …§ão... · 2020. 12. 23. · Pantelides e Sargent...

  • 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

  • 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

  • Ficha catalográfica automática - SDC/BEE

    Bibliotecária responsável: Fabiana Menezes Santos da Silva - CRB7/5274

    M149f Machado, Fernando Paes BarretoFormulações de programação inteira para problemas de

    escalonamento da produção / Fernando Paes Barreto Machado;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çãointelectual. I. Título II. Barboza,Eduardo Uchoa, orientador.III. Universidade Federal Fluminense. Escola de Engenharia.

    CDD -

  • aaaa

    a

    a

    a

    a

  • 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.

  • Our passion for learning…is our tool for survival.

    Carl Sagan

  • 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

  • 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

  • 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

    3.6 DISCUSSÃO DOS RESULTADOS .............................................................. 57

  • 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

  • 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

    Figura 21 – Diagrama de Gantt dos usos alocados com bobinas de 14 ft ................ 90

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

    22 ft ........................................................................................................................... 91

  • 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

    Tabela 23 – Solução ótima da alocação de bobinas aos usos ................................ 120

  • 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

    𝑒(𝑟) instante de liberação de bobinas

  • 𝑒(𝑢) 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

  • 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

    UT unidade de tempo

  • 𝑤𝑗 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

    𝑍𝑅𝐿 valor da solução ótima com relaxação linear

  • 13

    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

  • 14

    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

  • 15

    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.

  • 16

    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.

  • 17

    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

  • 18

    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;

  • 19

    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

  • 20

    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.

  • 21

    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.

  • 22

    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

  • 23

    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.

  • 24

    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.

  • 25

    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;

  • 26

    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

  • 27

    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

  • 28

    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

  • 29

    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

  • 30

    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;

  • 31

    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

  • 32

    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 make-to-

  • 33

    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.

  • 34

    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

  • 35

    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:

  • 36

    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:

  • 37

    𝑥𝑖𝑗𝑘: 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)

  • 38

    O parâmetro 𝑟𝑖𝑗𝑘 é igual a 1, se a k-ésima operação da tarefa j for

    processada na máquina i e 0, caso contrário. A função objetivo é declarada em (16).

    As Restrições (17) garantem que cada posição em cada máquina é reservada

    somente para uma tarefa. As Restrições (18) impõem que cada tarefa ocupe

    somente uma posição em uma máquina. As Restrições (19) declaram que o tempo

    de início de uma tarefa em uma máquina deve ser maior que o tempo de finalização

    da tarefa alocada na posição anterior. As Restrições (20) são responsáveis por

    manter a ordem de precedência conforme estabelecido. As Restrições (21) fazem

    com que o makespan seja, no mínimo, igual ao maior tempo de finalização da última

    tarefa de todas as máquinas. As Equações (22) definem que os tempos de início de

    todas as tarefas em todas as posições das máquinas são maiores ou iguais a zero.

    As Restrições (23) conferem a característica binária à variável que indica se a tarefa

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

    2.3 PROBLEMA DE FLUXO EM REDE

    Problemas de fluxos em rede são uma das mais importantes e mais

    recorrentes classes de problemas de otimização. Eles surgem em decorrência da

    análise e do projeto de grandes sistemas como de comunicação, transporte e redes

    de manufatura. Ahuja, Magnanti e Orlin (1993) complementam essa visão ao

    afirmarem que modelos baseados em fluxos em rede aparecem em quase todas as

    indústrias, como agricultura, comunicação, defesa, educação, energia, saúde,

    manufatura, medicina, varejo e transporte. Também possuem grande relevância por

    serem utilizados para modelagem de classes importantes de problemas

    combinatórios como de atribuição, caminho mais curto e caixeiro viajante

    (BERTSEKAS, 1998).

    Mazraeh Farahani et al. (2018) desenvolveram um modelo de programação

    linear inteira mista para resolução do problema de evacuação-localização, aplicável

    em ocasiões de logística emergencial. O modelo combina decisões de localização

    com o problema do fluxo máximo com o objetivo de selecionar destinos seguros que

    sejam capaz de maximizar o número de pessoas deslocadas em um desastre ou

    evento de calamidade.

  • 39

    Em um cenário de escassez de investimentos em plantas de biogás na

    Dinamarca, Jensen, Münster e Pisinger (2017) elaboraram um modelo de

    programação linear inteira mista para determinar a produção ótima e o plano de

    investimentos em uma cadeia de suprimentos de biogás de modo a garantir o

    melhor retorno para toda a cadeia. O problema é resolvido utilizando um modelo de

    fluxo em rede cujo lado de entrada apresenta um espaço de tempo, processo e

    conteúdo energético e o lado de saída apresenta um espaço de tempo e processo.

    Isto é, no lado da entrada, o modelo deve ter mapeado a massa e o conteúdo

    energético ao longo do tempo. A massa é necessária para o dimensionamento dos

    processos e da quantidade de digestato, enquanto o conteúdo de energia deve ser

    usado para calcular o rendimento do biogás para a saída. No lado da saída, é

    necessário apenas ter mapeado a quantidade de metros cúbicos de biogás

    disponível ao longo do tempo.

    Venkatadri, Elaskari, Kurdi (2017) desenvolveram uma formulação baseada

    em fluxo em rede multi-commodity para o problema de formação de células

    multiperíodo, bastante relevante para área de projetos e planejamento de

    instalações. O modelo proposto pelos pesquisadores visa minimizar o custo total de

    aquisição, disposição e realocação de máquinas, fabricação e manuseio de

    materiais entre células e dentro da célula.

    Scheffler e Strehler (2016) apresentam em seu estudo uma formulação de

    programação linear inteira mista que visa otimizar simultaneamente a sincronização

    de sinais de trânsito e a alocação de tráfego em megaeventos programados, como

    jogos de futebol e shows. Os pesquisadores utilizaram uma extensão de um modelo

    de fluxo em rede de tempo expandido ciclicamente.

    Problemas de fluxos em rede podem ser entendidos como uma composição

    de pontos de suprimento e demanda, conectados por um número de rotas

    responsáveis pela transferência do que está sendo fornecido para onde será

    consumido ou recebido. Os pontos de fornecimento e demanda podem ser

    modelados como nós ou vértices de um grafo, enquanto as rotas podem ser

    definidas como arestas ou arcos de um grafo.

    Segundo Bertsimas e Tsitsiklis (1997) um grafo orientado, 𝐺 = (𝑁, 𝐴),

    consiste em um conjunto N de nós e um conjunto A de pares de nós diferentes de N

  • 40

    chamados arcos. Denota-se como N o número de nós e A o número de arcos e

    assume-se que 1 ≤ 𝑁 ≤ ∞ e 0 ≤ 𝐴 ≤ ∞. Um arco (𝑖, 𝑗) é tido como um par

    ordenado, assim se diferenciando do arco (𝑗, 𝑖). No caso do par (𝑖, 𝑗) é dito que o

    arco sai de i e entra em j . O grau de um nó i é o número de arcos incidentes em i.

    O caminho P em um grafo orientado é a sequência de nós (𝑛1, 𝑛2, … , 𝑛𝑘) com

    𝑘 ≥ 2 e uma sequência correspondente de k-1 arcos. O i-ésimo arco na sequência é

    (𝑛𝑖, 𝑛𝑖+1), neste caso chamado de arco progressivo, ou (𝑛𝑖+1, 𝑛𝑖), conhecido como

    arco regressivo (BERTSEKAS, 1998).

    Bertsekas (1998) menciona que em muitas aplicações envolvendo grafos é

    útil introduzir uma variável que meça a quantidade que flui através de cada arco. O

    pesquisador cita exemplos de fluxos como corrente elétrica em um circuito elétrico

    ou o fluxo de água em uma rede hidráulica. Refere-se a essa variável como fluxo de

    um arco e denota-se como 𝑥𝑖𝑗, sendo um escalar e número real.

    2.3.1 Problema do fluxo de custo mínimo

    O problema do fluxo de custo mínimo tem como objetivo achar um conjunto

    de fluxos de arco que minimize uma função de custo linear sujeita às restrições que

    produzem um determinado vetor de divergência e que permaneçam dentro de

    alguns limites. A formulação do problema pode ser observada a seguir:

    Min ∑ 𝑐𝑖𝑗𝑥𝑖𝑗(𝑖,𝑗)∈𝐴 (24)

    Sujeito a

    ∑ 𝑥𝑖𝑗 − ∑ 𝑥𝑗𝑖 = 𝑠𝑖{𝑗|(𝑗,𝑖)∈𝐴}{𝑗|(𝑖,𝑗)𝜖𝐴} , ∀𝑖 ∈ 𝑁 (25)

    𝑎𝑖𝑗 ≤ 𝑥𝑖𝑗 ≤ 𝑏𝑖𝑗, ∀(𝑖, 𝑗) ∈ 𝐴 (26)

    Onde 𝑎𝑖𝑗, 𝑏𝑖𝑗, 𝑐𝑖𝑗 e 𝑠𝑖são escalares. A seguir a descrição das constantes

    utilizadas:

  • 41

    𝑐𝑖𝑗: coeficiente de custo de (i,j);

    𝑎𝑖𝑗 e 𝑏𝑖𝑗: os limites de fluxo de (i,j);

    [𝑎𝑖𝑗, 𝑏𝑖𝑗]: intervalo viável de fluxo de (i,j);

    𝑠𝑖: o suprimento do nó i. Quando 𝑠𝑖 é negativo, o escalar -𝑠𝑖 é

    chamado de demanda de i;

    A função objetivo está declarada em (24). As Restrições (25) são chamadas

    de restrições de conservação de fluxo, enquanto as Restrições (26) são conhecidas

    como restrições de capacidade.

  • 42

    3 FORMULAÇÃO DE PI PARA O PROBLEMA DE

    SEQUENCIAMENTO DE JOB SHOP

    3.1 INTRODUÇÃO

    Resolver o problema de sequenciamento de job shop consiste em programar

    o processamento de um conjunto de tarefas em um conjunto de máquinas. Nesse

    ambiente, cada tarefa possui uma rota predeterminada de operações nas máquinas

    que precisa ser cumprida. Esse tipo de problema tornou-se amplamente estudado

    devido à sua grande aplicação em diversas áreas do conhecimento. Além disso,

    ficou ainda mais conhecido em função de sua complexidade, uma vez que é

    classificado como NP-difícil. Isso significa que os algoritmos desenvolvidos para

    resolver este problema podem levar um tempo exponencial para encontrar uma

    solução.

    A relevância do job shop para a engenharia, ciência da computação, ciência

    da decisão, matemática, gerenciamento de operações, entre outras áreas, pode ser

    constatada por pesquisas recentes. Gran et al. (2015) demonstraram que o modelo

    proposto para resolução do problema de sequenciamento de job shop flexível

    baseado em programação por meta inteira mista multiobjetivo é competitivo em

    comparação com métodos metaheurísticos largamente utilizados.

    Kusuma e Maruf (2016) elaboraram um modelo de programação linear

    inteira para resolver o problema de sequenciamento de job shop com máquinas de

    prensa não idênticas e minimizar o atraso total. A principal restrição do modelo é que

    as tarefas apresentam datas de entrega fixas. Os resultados da pesquisa apontam

    que, no melhor cenário, foram necessárias 14 máquinas das 59 existentes para

    escalonar 70 tarefas com quatro datas de entrega. Esse cenário foi resolvido em 13

    segundos, não apresentou nenhum atraso e aumentou a taxa de utilização das

    máquinas para 89% em comparação com os 71% de utilização da operação

    convencional com as 59 máquinas iniciais.

    Lange e Werner (2017) modelaram um problema de programação de trens

    como um problema de sequenciamento de job shop com restrições de bloqueio.

    Restrições como essa se referem às situações em que um trem precisa ocupar um

    trecho mais tempo do que o necessário até que o próximo trecho a ser seguido

  • 43

    esteja liberado para passagem. Quatro formulações de programação inteira mista

    foram desenvolvidas e comparadas em um estudo computacional que levou em

    consideração instâncias difíceis de até 20 tarefas e 11 máquinas. Os modelos

    propostos apresentam boa eficiência para a resolução de instâncias não tão

    extensas.

    O restante do capítulo é organizado como exposto a seguir. A Seção 3.2

    apresenta a metodologia da pesquisa e a Seção 3.3 traz a formulação proposta para

    resolver o problema de sequenciamento de job shop. A Seção 3.4 fornece um

    exemplo ilustrativo de resolução de uma instância simples e a Seção 3.5 introduz as

    formulações de referência para os testes de comparação. Por fim, a Seção 3.6

    destina-se à discussão de resultados.

    3.2 METODOLOGIA DA PESQUISA

    A base metodológica deste capítulo pode ser esquematizada conforme a

    Figura 4:

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

  • 44

    As diferentes fases podem ser detalhadas conforme as próximas

    subseções.

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

    O levantamento e análise das melhores formulações consistiu na busca de

    artigos recentes que tratassem da resolução do problema de sequenciamento de job

    shop. Foi possível observar que a maioria das técnicas empregadas atualmente tem

    como fim o sequenciamento das tarefas para min