UNIVERSIDADE FEDERAL FLUMINENSE MESTRADO EM …§ão... · 2020. 12. 23. · Pantelides e Sargent...
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