Um modelo matemático para o problema de sequenciamento de ... · um modelo matematico para o...
Transcript of Um modelo matemático para o problema de sequenciamento de ... · um modelo matematico para o...
UM MODELO MATEMATICO PARA O PROBLEMA DE
SEQUENCIAMENTO DE TRENS
Kelligton Fabricio de Souza Neves
Dissertacao de Mestrado apresentada ao
Programa de Pos-graduacao em Engenharia
de Sistemas e Computacao, COPPE, da
Universidade Federal do Rio de Janeiro, como
parte dos requisitos necessarios a obtencao do
tıtulo de Mestre em Engenharia de Sistemas e
Computacao.
Orientador: Nelson Maculan Filho
Rio de Janeiro
Maio de 2013
UM MODELO MATEMATICO PARA O PROBLEMA DE
SEQUENCIAMENTO DE TRENS
Kelligton Fabricio de Souza Neves
DISSERTACAO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO
ALBERTO LUIZ COIMBRA DE POS-GRADUACAO E PESQUISA DE
ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE
JANEIRO COMO PARTE DOS REQUISITOS NECESSARIOS PARA A
OBTENCAO DO GRAU DE MESTRE EM CIENCIAS EM ENGENHARIA DE
SISTEMAS E COMPUTACAO.
Examinada por:
Prof. Nelson Maculan Filho, D.Sc.
Prof. Marcia Helena Costa Fampa, D.Sc.
Dr. Oscar Porto, D.Sc.
RIO DE JANEIRO, RJ – BRASIL
MAIO DE 2013
Neves, Kelligton Fabricio de Souza
Um modelo matematico para o problema de
sequenciamento de trens/Kelligton Fabricio de Souza
Neves. – Rio de Janeiro: UFRJ/COPPE, 2013.
XI, 49 p.: il.; 29, 7cm.
Orientador: Nelson Maculan Filho
Dissertacao (mestrado) – UFRJ/COPPE/Programa de
Engenharia de Sistemas e Computacao, 2013.
Referencias Bibliograficas: p. 45 – 49.
1. Sequenciamento de trens. 2. Fluxo em redes.
3. Programacao inteira. I. Maculan Filho, Nelson.
II. Universidade Federal do Rio de Janeiro, COPPE,
Programa de Engenharia de Sistemas e Computacao. III.
Tıtulo.
iii
Aos meus pais, Jazon e Euza.
Ao meu irmao, Kennedy. Aos
meus familiares e amigos.
iv
Agradecimentos
Agradeco ao meus pais, irmao e a toda minha famılia que, com muito carinho e
apoio, nao mediram esforcos para que eu chegasse ate esta etapa de minha vida.
Ao professor Alexandre Ribeiro, que possui grande parcela de culpa do que eu
sou hoje, por ter me ajudado, desde o inıcio da graduacao, a trilhar o meu caminho
da melhor forma possıvel, pelos ensinamentos e conselhos inestimaveis e por ter se
tornado mais que um professor, um grande amigo.
A todos do Laboratorio de Otimizacao (LabOtim), em especial meus amigos
Alejandra Troyo, Jesus Ossian e Renan Vieira, pela valiosa amizade e ajuda nesses
dois anos.
Aos professores Thierson Couto Rosa e Wellington Santos Martis, pela confianca
e por terem me iniciado no mundo cientıfico.
A todos da Gapso, em especial aos grandes amigos Karen Schvartzman, Marcos
Mallet, Nara Marquez, Natalia de Oliveira, Pablo Catalao, Pedro Cunha, Ricardo
Penna e Rodrigo Campello, a famosa “Galera do Mal”, pelos incontaveis momentos
de felicidade e descontracao dentro e fora da empresa e por terem proporcionado
um ambiente de trabalho prazeroso e cooperativo, que transmitiu seguranca e
conhecimento para a composicao dessa dissertacao.
A Maria de Fatima Cruz Marques por toda a ajuda, em todos os ambitos,
sempre disponıvel e amavel para me atender, escutar e proporcionar uma prazerosa
prazerosos dialogos.
Ao Conselho Nacional de Desenvolvimento Cientıfico e Tecnologico (CNPq) pelo
auxılio financeiro que possibilitou a realizacao deste trabalho e ao Programa de
Engenharia de Sistemas e Computacao da COPPE-UFRJ.
E, por ultimo, mas nao menos importante, agradeco imensamente ao professor
e orientador Nelson Maculan Filho, um grande exemplo pessoal e profissional a ser
seguido, pela confianca depositada e pelos valiosos ensinamentos que me levaram a
execucao e conclusao desta dissertacao.
Considerando esta dissertacao como resultado de uma caminhada que nao
comecou na COPPE-UFRJ, agradecer pode nao ser tarefa facil, muito menos justa.
Para nao correr o risco da injustica, agradeco a todos que de alguma forma passaram
pela minha vida e contribuıram para a construcao de quem sou hoje e a todos que
contribuıram, direta ou indiretamente, com essa dissertacao.
v
Resumo da Dissertacao apresentada a COPPE/UFRJ como parte dos requisitos
necessarios para a obtencao do grau de Mestre em Ciencias (M.Sc.)
UM MODELO MATEMATICO PARA O PROBLEMA DE
SEQUENCIAMENTO DE TRENS
Kelligton Fabricio de Souza Neves
Maio/2013
Orientador: Nelson Maculan Filho
Programa: Engenharia de Sistemas e Computacao
Esse trabalho apresenta o Problema de Sequenciamento de Trens em um
territorio de multiplas vias como um problema de programacao matematica,
considerando informacoes disponibilizadas pela competicao anual promovida pela
Railway Applications Section (RAS), uma particao do Institute for Operations
Research and the Management Sciences (INFORMS). Para a solucao desse problema
foram estudados varios modelos propostos na literatura e sobre a abordagem
mais adequada sao apresentadas uma formulacao de programacao inteira e uma
formulacao de programacao inteira mista baseado no conceito de fluxo em redes.
Propomos algumas estrategias para a otimizacao que permite a obtencao mais rapida
de uma solucao viavel para o problema e apresentamos uma heurıstica baseada na
segunda formulacao proposta na literatura estudada. Tanto as duas formulacoes
quanto a heurıstica foram implementadas e os resultados comparados.
vi
Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Master of Science (M.Sc.)
A MATHEMATICAL MODEL FOR THE TRAIN SCHEDULING PROBLEM
Kelligton Fabricio de Souza Neves
May/2013
Advisor: Nelson Maculan Filho
Department: Systems Engineering and Computer Science
This work presents the Train Dispatching Problem in an multi-track territory as
a mathematical programming problem, based on information provided by the annual
competition sponsored by the Railway Applications Section (RAS), a partition
of Institute for Operations Research and the Management Sciences (INFORMS).
For the solution of this problem were studied several models proposed in the
literature and about the most appropriate model is presented a formulation of integer
programming and mixed integer programming formulation based on the concept of
network flow. We propose some strategies for optimization that allows to obtain
quickest a viable solution to the problem and present a heuristic based on the
second formulation proposed in the literature studied. Both the two formulations
as heuristics were implemented and the results compared.
vii
Sumario
Lista de Figuras x
Lista de Tabelas xi
1 Introducao 1
1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Proposicao e Roteiro da Dissertacao . . . . . . . . . . . . . . . . . . . 3
2 Problemas em Ferrovias 5
2.1 Problema de Blocagem de Vagoes . . . . . . . . . . . . . . . . . . . . 5
2.2 Problema de Localizacao de Patios . . . . . . . . . . . . . . . . . . . 6
2.3 Problema de Programacao de Trens . . . . . . . . . . . . . . . . . . . 7
2.4 Problema de Programacao de Locomotivas . . . . . . . . . . . . . . . 7
2.5 Problema de Sequenciamento de Trens . . . . . . . . . . . . . . . . . 8
3 O Problema de Sequenciamento de Trens 10
3.1 Descricao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Suposicoes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Regras Operacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Formulacao 20
4.1 Formulacao Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.1 Rede tempo-espaco . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.2 Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1.3 Formulacao Matematica . . . . . . . . . . . . . . . . . . . . . 25
4.2 Formulacao Inteira Mista . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1 Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.2 Formulacao Matematica . . . . . . . . . . . . . . . . . . . . . 29
4.3 Abordagens de Solucao . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.1 Melhoramento da Formulacao . . . . . . . . . . . . . . . . . . 32
viii
4.3.2 Algoritmo de Incrementacao . . . . . . . . . . . . . . . . . . . 34
4.3.3 Algoritmo de Decomposicao . . . . . . . . . . . . . . . . . . . 35
5 Resultados e Discursoes 36
6 Conclusao 41
6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
A Territorio 42
B Segmentos 43
C Lista de Segmentos 44
Referencias Bibliograficas 45
ix
Lista de Figuras
3.1 Encontro de dois trens em uma via unica (adaptado de [1]) . . . . . . 12
3.2 Encontro de tres trens em uma via dupla (adaptado de [1]) . . . . . . 12
3.3 Impasse (adaptado de [1]) . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1 Um diagrama de tempo-espaco (adaptado de [2]) . . . . . . . . . . . 22
4.2 Parte de uma rede tempo-espaco para um trem (adaptado de [2]) . . 24
4.3 Exemplo de como o territorio e segmentado . . . . . . . . . . . . . . 27
5.1 Diagrama Tempo-Espaco: Conjunto de Dados 1 . . . . . . . . . . . . 39
5.2 Diagrama Tempo-Espaco: Conjunto de Dados 2 . . . . . . . . . . . . 39
5.3 Diagrama Tempo-Espaco: Conjunto de Dados 3 . . . . . . . . . . . . 40
A.1 Territorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
B.1 Divisao do territorio em segmentos . . . . . . . . . . . . . . . . . . . 43
x
Lista de Tabelas
3.1 Custo relativo de impacto de atraso por tipo de trem . . . . . . . . . 18
4.1 Conjuntos de entrada: formulacao PI . . . . . . . . . . . . . . . . . . 25
4.2 Dados de entrada e parametros: formulacao PI . . . . . . . . . . . . . 25
4.3 Conjuntos de entrada: formulacao PIM . . . . . . . . . . . . . . . . . 28
4.4 Dados de entrada e parametros: formulacao PIM . . . . . . . . . . . 28
4.5 Variaveis de decisao: formulacao PIM . . . . . . . . . . . . . . . . . . 29
5.1 Resultados: computador pessoal . . . . . . . . . . . . . . . . . . . . . 36
5.2 Resultados: computador de alto desempenho . . . . . . . . . . . . . . 37
5.3 Comparacao entre formulacoes . . . . . . . . . . . . . . . . . . . . . . 37
C.1 Lista de segmentos e arcos correspondentes . . . . . . . . . . . . . . . 44
xi
Capıtulo 1
Introducao
1.1 Motivacao
O transporte e um dos servicos mais importantes na economia moderna. Nesse
contexto as ferrovias desempenham um papel essencial, fornecendo servicos eficientes
e de baixo-custo para o transporte de produtos e mercadorias em muitos paıses. A
industria ferroviaria e uma industria de capital intensivo, com grande investimento
realizado em equipamentos e funcionarios. Alem disso, operar uma ferrovia requer
muitos processos complexos de decisao, devido a necessidade de agendar varias
centenas de trens ao longo de milhares de quilometros distancias. Mesmo uma
pequena porcentagem de melhoria na eficiencia da operacao global pode trazer
retorno financeiro significativo.
Esses complexos processos de decisao envolvidos fazem com que as ferrovias
representem algumas das oportunidades mais interessantes e desafiadoras para
a aplicacao de ferramentas e metodologias de otimizacao. Do lado da oferta,
que envolve todas as acoes necessarias para prestar servicos de transporte de
carga eficientes e eficazes, companhias ferroviarias enfrentam inumeras decisoes e
problemas em diferentes nıveis (estrategico, tatico e operacional), em geral, muito
mais complexas que os que se encontram em outras areas como transporte aereo ou
por caminhoes.
Uma diferenca importante e que as ferrovias sao responsaveis pela construcao,
operacao e manutencao de toda a infra-estruturas fısica relacionada com as
respectivas operacoes. Ela engloba trilhos em que os comboios viajam; estacoes
e patios onde os trens sao formados e vagoes sao carregados ou descarregados;
despacho em tempo real, controle de trafego e sinalizacao. O numero de decisoes
envolvidas e enorme, geralmente inter-relacionadas, e de natureza muito complexa.
Entre elas estao decisoes estrategicas de investimento de capital, tais como a
expansao da rede ferroviaria, duplicacao e aumento da capacidade de linhas;
1
construcao, melhoria e fechamento de patios e estacoes, a aquisicao de novas
locomotivas, vagoes e outros equipamentos caros para uso diverso como carga e
descarga; decisoes taticas, relacionadas com os horarios dos comboios e locomotivas
e planos de manutencao; decisoes operacionais, envolvendo despacho de trens,
operacoes de patio, o movimento de vagoes vazios, agendamento de locomotivas,
gerenciamento de equipes, etc
Sabendo desses problemas desafiadores a Railway Applications Section (RAS),
uma particao do Institute for Operations Research and the Management Sciences
(INFORMS) fundada em 1994 com o objetivo de facilitar a melhoria da
produtividade e do crescimento do setor de transporte ferroviario, propoe a cada ano
uma competicao destinada a introduzir os participantes aos problemas ferroviarios.
A competicao do ano de 2012 aborda um problema da vida real para o qual o setor
ferroviario tem tentado encontrar uma solucao de referencia por decadas [1]. O
problema e o sequenciamento do movimento de trens de forma otima em uma rede
ferroviaria detalhada de tal maneira que os trens nao colidam, atendendo requisitos
operacionais e minimizando o atraso total dos trens. Esse problema e conhecido
na literatura como problema de despacho ou problema de sequenciamento de trens
(PST). Embora existam muitas solucoes para o modo de planejamento do problema,
so agora, depois de decadas de trabalho, que algumas solucoes para a variacao em
tempo real estao comecando a entrar em uso operacional; alem do mais, a versao do
problema introduzido na competicao tem alguns desafios da vida real que nao foram
totalmente abordados na literatura. O problema apresentado e uma simplificacao
de um caso real dos Estados Unidos; ainda assim, a solucao aqui proposta pode ser
aplicada em qualquer ferrovia no mundo que apresente problema semelhante.
Em uma ferrovia tıpica dos Estados Unidos, sua rede e constituıda por mais de
10.000 quilometros de trilhos [3], com milhares de trens semanais, movimentando
cerca de 2.000-3.000 locomotivas e nada menos do que 80 mil vagoes entre 200-300
metros, utilizando-se cerca de 5.000 membros na tripulacao. Ferrovias de carga
funcionam todos os dias do ano. Toda a rede ferroviaria dos Estados Unidos
compreende mais de 140.000 quilometros de trilhos sobre os quais sete grandes
companhias ferroviarias (BNSF, CN, CP, CSX, FXE, KCS, NS, TFM e UP) operam.
No Brasil o transporte ferroviario e constituıdo de quase 30 mil quilometros de
extensao, localizados em 22 estados e no Distrito Federal [4]. As primeiras ferrovias
brasileiras surgiram na decada de 1830, passou por uma grande expansao no perıodo
de 1889 a 1930 e foi operada pelo estado ate meados da decada de 1990. A partir
de 1992 deu-se inıcio ao processo de privatizacao do sistema ferroviario brasileiro.
Das concessionarias que assumiram, houve um rearranjo e hoje a malha ferroviaria
brasileira e controlada por tres grandes operadoras (Vale, ALL e MRS).
2
1.2 Proposicao e Roteiro da Dissertacao
A proposta desse trabalho e apresentar o PST em um territorio de multiplas vias
como um problema de programacao matematica, considerando informacoes dispo-
nibilizadas pela competicao anual promovida pela RAS-INFORMS, e implementar
uma solucao eficiente para resolucao do problema.
Foram estudados varios modelos propostos na literatura e sobre a abordagem
mais adequada sao apresentadas uma formulacao de programacao inteira e uma
formulacao de programacao inteira mista baseado no conceito de fluxo em redes.
Dado que um tempo aceitavel para obtencao de uma solucao em uma fase
operacional e em torno de 5 minutos, propomos algumas estrategias para a
otimizacao que permitem a obtencao mais rapida de uma solucao viavel para o
problema e, alem disso, apresentamos uma heurıstica que foi proposta na literatura
estudada e que se baseia na segunda formulacao para obtencao de uma solucao
de boa qualidade em um tempo aceitavel. Tanto as duas formulacoes quanto a
heurıstica foram implementadas e os resultados comparados.
A industria de transporte ferroviario e rica em termos de problemas que podem
ser modelados e resolvidos utilizando tecnicas de otimizacao matematica. No
Capıtulo 2 nos descrevemos alguns dos problemas mais relevantes no planejamento
e programacao de ferrovias e que podem ser modelados utilizando o conceito de
fluxo em redes. Para cada problema sao apresentadas suas caracterısticas, contexto
e importancia para ferrovias, bem como uma revisao bibliografica contendo as
principais abordagens existentes na literatura para resolucao dos mesmos.
O PST, juntamente com outros problemas, compoe o conjunto de operacoes
em ferrovias que sao inerentemente complexas e de grande escala. No Capıtulo 3
e apresentada uma descricao detalha do PST, bem como as suposicoes iniciais e
informacoes preliminares a considerar na resolucao do problema. Nesse capıtulo
tambem serao introduzidos jargoes ferroviarios relevantes, as restricoes operacionais
do problema, os criterios de viabilidade da solucao e os componentes da funcao
objetivo que serao utilizados para avaliar a validade e qualidade da solucao.
A seguir, no Capıtulo 4, e apresentando o modelo de fluxo em redes para o
PST; em seguida, utilizando o conceito de rede tempo-espaco, apresentamos uma
formulacao matematica de programacao inteira para o problema. Nesse mesmo
capıtulo apresentamos ainda uma outra formulacao de programacao inteira mista
que faz uso das vantagens do modelo de fluxo em redes, bem como as abordagens e
algoritmos heurısticos adotados para resolver o problema.
Por fim, o Capıtulo 5 apresenta detalhes da implementacao da solucao e os
resultados computacionais obtidos pela implementacao das formulacoes e algoritmos
apresentados no Capıtulo 4 para solucao do problema de sequenciamento de trens
3
definido no Capıtulo 3. Nesse capıtulo tambem sao apresentados graficos de tempo-
espaco que permitem uma analise mais detalhada da solucao. E, finalmente, a
dissertacao e concluıda com a proposta de trabalhos futuros.
4
Capıtulo 2
Problemas em Ferrovias
A industria de transporte ferroviario e rica em termos de problemas que podem
ser modelados e resolvidos utilizando tecnicas de otimizacao matematica. Em [5] e
apresentada uma descricao detalhada sobre operacoes ferroviarias e transporte de
carga, bem como uma introducao interessante para a modelagem e otimizacao de
problemas ferroviarios.
Em [3] sao apresentados alguns dos problemas mais relevantes de planejamento e
programacao de ferrovias e que podem ser resolvidos utilizando-se modelos de fluxo
em redes. A seguir, descrevemos esses problemas, suas caracterısticas, contexto
e importancia para ferrovias, e uma revisao bibliografica contendo as principais
abordagens existentes na literatura para resolucao dos mesmos.
2.1 Problema de Blocagem de Vagoes
Uma ferrovia pode transportar milhoes de carregamentos da suas origens para
o seus respectivos destinos. Um carregamento tıpico e definido como um conjunto
de vagoes que possui a mesma origem e hora de partida, assim como o mesmo
destino e hora de chegada. Os vagoes de um carregamento pode passar por varios
patios entre sua origem e destino e em alguns desses patios ocorre o processo de
reclassificacao, que consiste na separacao dos vagoes e ordenacao dos mesmos de
acordo com seu destino. Para reduzir a quantidade de reclassificacoes, muitos vagoes
sao agrupados para formar um ou mais blocos, que posteriormente serao alocados a
um trem. Apos a formacao do bloco, os vagoes nao sao reclassificados ate atingirem
o destino, o qual pode ser um patio final ou um patio intermediario de reclassificacao.
Essa consolidacao de vagoes em blocos permite as ferrovias aproveitar as economias
associadas a trens totalmente carregados. A decisao de quais vagoes devem ser
agrupados e chamada de politica de blocagem.
Dessa forma, o Problema de Blocagem de Vagoes (PBV) consiste em gerar um
plano de blocagem que minimize o custo total de manipulacao e transporte. Um
5
plano de blocagem de uma ferrovia envolve a formacao de blocos para todos os
carregamentos, e possui custo total dependente da soma dos custos de classificacao
dos vagoes nos blocos e da distancia total percorrida na ferrovia. Dada a natureza
altamente combinatoria do problema, a determinacao da polıtica de blocagem otima
constitui uma questao complexa.
Esse problema e tratado em [6] e [7] onde e proposto uma formulacao do PBV
como um problema de fluxo em rede multiproduto, utilizando programacao inteira
mista, e utiliza-se o algoritmo de busca local Very Large-Scale Neighborhood Search
(VLSN) para a resolucao. Baseado nesse ultimo, e proposto em [8] uma adaptacao
com a pretensao de gerar um modelo matematico mais proximo da realidade.
Em [9] e [10] e proposto formulacoes similares para o PBV utilizando
programacao inteira mista e solucionado com um algoritmo baseado em relaxacao
Lagrangiana.
Variantes deste problema podem surgir em varios setores de transporte incluindo
empresas de distribuicao de encomendas e cartas postais, empresas de caminhao,
e o setor de aviacao onde a companhia aerea consolida o trafico de milhares
de passageiros entre pares de origem-destino em trechos de voos realizados por
diferentes aeronaves. O mesmo problema e encontrado em telecomunicacoes onde
as mensagens de voz ou dados sao consolidados e encaminhados ao longo da rede de
telecomunicacoes projetada.
2.2 Problema de Localizacao de Patios
Os patios de uma ferrovia desempenham um papel vital e podem ser considerados
os mais importantes nos em uma rede ferroviaria, pois sao onde os vagoes que chegam
sao reclassificados e alocados em blocos de saıda. Estes patios sao geralmente
referidos como os centros nervosos do sistema ferroviario. Dessa forma, uma vez
definido o problema de blocagem, o Problema de Localizacao de Patios (PLP)
consiste em encontrar a melhor configuracao da rede em termos da quantidade e
localizacao dos patios onde os vagoes podem ser reclassificados em blocos novos.
Essas decisoes afetam significativamente a polıtica de blocagem.
Ao prestar mais atencao nesse problema estrategico, as ferrovias entendem que
alguns dos principais patios atuais podem ser fechados com pouco ou nenhum
impacto sobre o custo de transporte, ou que algum dos patios importantes podem ser
realocados para reduzir significativamente os custos de transporte. Mesmo assim,
na maioria dos casos, esses locais foram determinados historicamente e nao sao
mudados apesar das implicacoes significativas de custos. Talvez por essas razoes a
pesquisa sobre esta questao em particular nao tem atraıdo a atencao na literatura
de pesquisa operacional.
6
Uma formulacao para esse problema e apresentada em [11], essa formulacao
e baseada na mesma formulacao matematica para o problema de blocagem
apresentado em [7], com a adicao de variaveis binarias de decisao que identificam os
locais dos patios selecionados em um dado conjunto de locais candidatos.
2.3 Problema de Programacao de Trens
Uma vez que a ferrovia possui um plano de blocagem, deve elaborar uma
programacao de trens que permita um transporte eficiente dos blocos entre suas
origens e destinos. O Problema de Programacao de Trens (PPT) consiste em
determinar quantos trens colocar em circulacao, qual a origem, o destino e itinerario
de cada trem, qual o tempo de chegada e partida de cada estacao onde ele para,
qual o horario de funcionamento semanal para cada trem e a atribuicao de blocos
de vagoes para os comboios, de tal forma que minimize o custo total de transporte.
O objetivo do PPT e minimizar a soma ponderada da distancia total percorrida
pelos vagoes em trens, o tempo total do fluxo dos vagoes que viajam de suas origens
para seus destinos, o numero total de trocas de blocos de vagoes entre trens, o
numero de locomotivas e tripulacao requerida e o numero total de trens formado
durante a semana.
O PPT pode compor uma rede de otimizacao de grande escala chegando a trilhoes
de variaveis de decisao. Essa dificuldade impedia o desenvolvimento de algoritmos
para programacao de trens e muito esforco foi despendido para a solucao desse
problema, incluindo [12], [13], [14], [15], [16], [17] e [18]. Esses trabalhos dividem
o problema em duas fases distintas que sao resolvidas separadamente. A primeira
fase determina a rota dos trens e a segunda fase roteia os blocos aos trens. Outra
abordagem onde o problema e considerado integralmente, pode ser encontrado em
[19]. Porem, a maioria dessas abordagens nao sao escalaveis para grandes problemas
reais de programacao de trens ou ignoram realidades praticas necessarias para gerar
solucoes implementaveis, dessa forma sao inviaveis para uso pratico. Porem, nos
ultimos anos houve grandes avancos na solucao do PPT, trabalhos mais recentes e
que ja abordam problemas reais podem ser encontrados em [20], [21], [22] e [23].
2.4 Problema de Programacao de Locomotivas
Dada uma programacao de trens, o Problema de Programacao de Locomotivas
(PPL) consiste em designar de forma eficiente diferentes tipos de locomotivas para
os trens programados respeitando uma variedade de restricoes, incluindo requisitos
de manutencao e abastecimento das locomotivas, forca de tracao necessaria dos
trens, compatibilidade entre locomotivas e trens, entre outras. Os trens podem
7
ter frequencia diferente na semana, ou seja, alguns trens podem rodar todos os
dias, enquanto outros podem rodar menos frequentemente. O objetivo geral e
melhorar a utilizacao media das locomotivas reduzindo assim o numero necessario
de locomotivas.
Por envolver um recurso muito caro, o PPL e um dos problemas mais importantes
em ferrovias. Devido a essa importancia, ha uma grande quantidade de trabalhos
na literatura dedicados a esse problema.
A pesquisa inicial sobre o PPL foi conduzida por Charnes e Miller [24], que
usaram programacao linear para alocar tripulacao e locomotivas em um conjunto de
viagens para fornecer cada trem em uma dada programacao com recursos suficientes.
Em [25] podemos encontrar um survey dos modelos e algoritmos existentes para
esse problema ate 1998. Alguns modelos encontrados, por exemplo, em [26] e [27],
assumem que um trem e designado para apenas uma locomotiva. Outros modelos
assumem que os trens pode ser designados para multiplas locomotivas, esses modelos
podem ser encontrados em [28], [29], [30], [31], [32] e [33]. Existe ainda alguns
trabalhos que consideram a alocacao de locomotivas para trens de passageiros, como
em [34] e [35].
2.5 Problema de Sequenciamento de Trens
O Problema de Sequenciamento de Trens (PST) consiste em determinar
detalhadamente o movimento e horarios dos trens em uma rede ferroviaria
obedecendo varias restricoes operacionais de forma a minimizar o desvio da
programacao planejada. O objetivo pode variar de acordo com a necessidade
da ferrovia e pode envolver outros quesitos. Esse problema assume que uma
programacao ideal dos trens e dada, ou seja, para cada trem programado se sabe os
horarios de partida e chegada planejados nas correspondentes estacoes de origem e
destino, bem como os tempos de viagem ao logo do itinerario. Essa programacao
ideal dos trens e resultado da solucao do PPT discutido anteriormente.
O PST pode surgir em diferentes contextos. Em uma programacao de tempo
real, isso permite ajudar os despachantes que estao controlando o trafego a tomar
decisoes sobre qual trem parar e aonde. No planejamento tatico, que consiste
em encontrar a melhor programacao de horarios em uma base periodica regular
(semanal, mensal ou trimestral, por exemplo). No planejamento estrategico, que se
refere a decisoes de investimento em infraestrutura da ferrovia como novos desvios
a serem construıdos, extensao dos desvios existentes para acomodar trens mais
longos e duplicacao de segmentos de linhas simples. Esse problema vem recebendo
mais atencao ultimamente com o sistemas avancados de controle que fornecem
informacoes em tempo real sobre a posicao e velocidade do trem que estao sendo
8
desenvolvidos e implementados por varias companhias ferroviarias.
Esse problema e extensamente estudado na literatura de pesquisa operacional.
Varios trabalhos de pesquisa anteriores estuda modelos, cujo principal objetivo e
estimar o atraso de cada trem causado por interferencias em uma linha de trem
em funcao das polıticas de expedicao, distribuicao de trafego, pista e topologia
fısica. Uma revisao ate 1998 pode ser encontrada em [25]. As primeiras
ferramentas informatizadas foram implementadas em meados dos anos 80 e podem
ser encontradas em [36], [37] e [38]. Grande parte dos trabalhos encontrados na
literatura propoem formulacoes de programacao inteira, modelando o problema como
uma rede de tempo-espaco como em [39], [40], [41], [42], e [2]. Outras formulacoes
de programacao inteira e metodos para solucoes aproximadas sao propostos em [43],
[44] e [45]. Outro trabalhos como [46], [43] e [47] propoem um modelo contınuo
para o problema. A medida que o tamanho do problema aumenta, torna-se difıcil
encontrar uma solucao exata e se faz necessario uma ferramenta para chegar a uma
solucao rapidamente, em face disso algoritmos heurısticos tambem foram propostos
em [48] e [49].
O PST e o problema abordado nessa dissertacao e sera melhor detalhado no
proximo capıtulo.
9
Capıtulo 3
O Problema de Sequenciamento
de Trens
Muitas ferrovias de carga operam seus trens em extensas faixas de linha unica
em que o comboio deve tomar um desvio para cruzar ou ultrapassar outro trem,
isso pode causar atrasos indesejaveis ao transporte e embarque/desembarque de
mercadorias, alem da reducao de produtividade das locomotivas e vagoes. Isso torna
relevante o planejamento no sequenciamento dos trens levando em consideracao o
tempo e os recursos disponıveis na ferrovia.
O PST, juntamente com outros problemas, compoe o conjunto de operacoes em
ferrovias que sao inerentemente complexas e de grande escala. Essas operacoes sao
fonte de muitos problemas desafiadores de pesquisa operacional. Dessa forma, o
Institute for Operations Research and the Management Sciences - Informs propoe
a cada ano uma competicao com proposito de introduzir os participantes para os
problemas em ferrovias. A competicao, intitulada RAS Problem Solver Competition,
de 2012 [1] lancou como desafio projetar um algoritmo para planejamento e despacho
de trens em territorios de multiplas vias.
Essa dissertacao utiliza as especificacoes e dados fornecidos pela competicao para
estudo de um modelo matematico capaz de resolver o problema proposto de forma
eficaz. Nesse capıtulo serao introduzidos jargoes ferroviarios relevantes, as restricoes
operacionais do problema, os criterios de viabilidade da solucao e os componentes da
funcao objetivo que serao utilizados para avaliar a validade e qualidade da solucao.
3.1 Descricao
Dado um territorio ferroviario, o problema consiste em programar a circulacao
de trem de forma otima ao longo de uma rede de vias ferroviarias de tal forma que
os trens nao colidam, obedecendo restricoes operacionais e alcancando a maxima
10
eficiencia global. Isso e feito decidindo qual trem toma um desvio quando dois trens
que viajam em direcoes opostas se encontram, ou quando um trem mais rapido esta
ultrapassando um trem mais lento. Deve-se tambem decidir o horario de partida do
trem e o tempo de espera nos terminais. Alguns problemas reais demandam ainda
decisoes quanto a velocidade dos trens, o que dificulta ainda mais o problema, porem
essa decisao nao sera considerada aqui.
O planejamento detalhado do sequenciamento de trens consiste de uma tabela
de horarios que compreende os tempos de partida e chegada de cada trem em
cada secao da sua rota de forma que todas as restricoes de trafego na ferrovia
sao obedecidas, especialmente a capacidade dos trilhos, garantindo que todos os
cruzamentos ou ultrapassagens de trens acontecem com a utilizacao de desvios ou
em estacoes intermediarias onde ha espaco suficiente para os trens envolvidos serem
acomodados. Portanto, o resultado do planejamento de sequenciamento tambem
compreende a informacao detalhada de todos os trens que foram atrasados devido
a conflitos com outros trens, reportando o local em que o trem parou e os tempos
inicial e final da parada.
A rede ferroviaria pode ser composta por uma ou mais linhas conectando estacoes
principais. Cada linha pode comportar inumeras secoes de linhas intermediarias
simples ou duplas entre estacoes intermediarias. Uma secao de linha simples e
definida como um segmento de trilhos que pode acomodar apenas um trem por
vez. Enquanto que uma secao de linha dupla pode suportar ate dois trens por vez,
viajando na mesma direcao ou em direcao oposta. No problema apresentado aqui,
o territorio e composto de vias simples e duplas. Tanto as secoes de via simples e
de via dupla possuem desvios onde os trens nao favoraveis podem aguardar ate que
o proximo segmento na rota esteja disponıvel.
Quando dois trens estao para se encontrarem em um segmento de trilho de uma
via unica, um dos trens deve tomar um desvio antes de chegar a este segmento.
A Figura 3.1 retrata esse cenario, os arcos 2-4 e 6-7 sao chamados de faixas de
comutacao, o qual permitem os trens se moverem para o desvio a partir da via
principal e retornar a via principal a partir do desvio, respectivamente. De forma
similar, em um trecho de multiplas vias (veja a Figura 3.2), se o numero de trens e
maior que o numero de vias paralelas, um ou mais dos trens devem parar nos desvios
para evitar colisoes.
Em territorios de multiplas vias, trens podem se mover entre as vias principais
utilizando faixas de cruzamento (veja os arcos entre os nos 2-17, 5-18, 10-27, e 13-28
na Figura 3.2). Por exemplo, em uma situacao onde dois trens estao ambos na Via
1 e pertos um do outro, os cruzamentos 10-27 e 13-28 permitem esses trens andarem
concorrentemente entre os nos 10 e 13 na Via 1 e entre os nos 26 e 29 na Via 2.
Essas vias paralelas podem ser usadas na mesma direcao ou em direcao opostas.
11
Figura 3.1: Encontro de dois trens em uma via unica (adaptado de [1])
Figura 3.2: Encontro de tres trens em uma via dupla (adaptado de [1])
Na Figura 3.2 , Trem D e Trem E estao se movendo um em direcao ao outro
e o Trem E foi instruıdo a utilizar o cruzamento 13-28, dessa forma o Trem E nao
colide com o Trem D e continua na Via 2. Contudo, desde que ha outro trem (Trem
C) vindo em direcao ao Trem E agora que o Trem E esta na na Via 2, o Trem
E e instruıdo a tomar o desvio ate que o Trem C libere o arco 20-21. A decisao
sobre qual trem tomar o desvio e resultado de multiplos criterios de decisao, o
qual sera expressado utilizando uma funcao objetivo multi-criterio que sera descrita
detalhadamente adiante.
A Figura 3.2, tambem ilustra a nocao de janela de manutencao da via. Devido
as atividades de reparos ou inspecao nos trilhos entre os nos 1 e 4, essa parte da
ferrovia deve ficar indisponıvel para o trafego de trens por uma quantidade de tempo
especıfica, Portanto, o Trem D se move na Via 2 e entao toma o cruzamento 18-5
ultrapassando o trecho interrompido.
Um desvio pode acomodar no maximo um trem aguardando por um cruzamento
ou ultrapassagem, enquanto que uma estacao intermediaria pode servir como um
patio ou um terminal onde trens podem esperar por ultrapassagens ou cruzamentos
e de onde trens podem partir ou chegar. Uma secao de trilho e delimitada em cada
extremidade por um desvio ou uma estacao intermediaria.
Trens na ferrovia possuem velocidades diferentes. A velocidade de um trem
depende de varios fatores, dentre eles a configuracao do acelerador, a potencia total
das locomotivas, o territorio (subida ou descida), a tonelagem do trem, resistencia
aerodinamica, resistencia do rolamento, entre outros. A velocidade tambem pode ser
12
impactada pelo limite de velocidade imposto para cada segmento de trilho. Como
resultado, a velocidade dos trens varia de acordo com os fatores acima e o tempo que
levam para atravessar uma secao da ferrovia depende da aceleracao e desaceleracao,
velocidade e necessidade de parar para outros trens. Para simplificar o complexo
calculo para determinar a velocidade precisa de um trem em varias situacoes, para
os fins desse problema, cada trem tera uma velocidade fixa baseada na classe do
trem (A, B, D, E ou F), o tipo do segmento (Via 1, Via 2, Faixa de Comutacao,
Cruzamento e Desvios) e a direcao de movimento (Saıda ou Entrada).
Alem das restricoes operacionais de movimentacao na ferrovia, podem surgir
outras restricoes praticas. Comprimento de trilhos insuficiente ou a natureza da
carga sendo carregada podem restringir quais trens podem parar em um local.
Pode nao ser permitido que alguns trens parem em algum desvio especıfico por
nao ter forca de tracao suficiente para voltar a se movimentar se ele tomar o
desvio, dependendo do declive do desvio. De forma similar, a falta de infraestrutura
adequada para as tripulacoes pode limitar o tempo maximo que um trem pode
esperar em um desvio. Outras restricoes praticas podem aparecer dependendo da
realidade do problema.
3.2 Suposicoes Iniciais
Assume-se uma aceleracao e desaceleracao instantanea para que o trem alcance
sua velocidade padrao e para que o trem pare. O trem deve se mover na velocidade
indicada para cada segmento dos trilhos ou estar completamente parado. Uma
movimentacao de um trem em uma velocidade que nao a indicada nao e permitido.
Alem disso, assume se que a velocidade do trem e em relacao ao motor principal do
trem, ou seja, o trem se movimenta como um ponto.
Normalmente, em uma ferrovia, utiliza-se um sistema de sinalizacao para diversas
finalidades como protecao e espacamento, limite de velocidade, indicacao de direcao,
etc. Essa sinalizacao se baseia em varias normas de seguranca e regras de separacao
de comboio. Esses sinais aparecem em pontos de controle indicando ao maquinista se
os trilhos seguintes estao disponıveis para continuar ou nao. Esses sinais atualmente
foram substituıdos por Controles de Trafego Centralizados (CTC), um sistema mais
seguro composto por circuitos de via, reles eletricos e sinais indicativos de trafego,
ligados a um centro de controle. No problema aqui tratado, o territorio usa uma
sinalizacao simplificada onde nao ha sinais ou pontos de controle. Ao inves dos sinais
de controle, deve haver 5 minutos de separacao entre trens para evitar colisoes.
Apenas um trem pode ocupar o segmento de trilhos entre dois nos consecutivos
por vez por razoes de seguranca. Isto e, em uma situacao onde dois trens estao
se movimentando na mesma direcao ou em direcoes opostas, o segundo trem nao
13
pode entrar em um segmento de trilhos ocupado pelo primeiro trem ate que saia do
segmento e se passe 5 minutos como definido anteriormente.
Os trens so podem se mover em uma direcao pre-especificada. Retornos nao sao
permitidos. Por exemplo, se um trem entrar em um desvio pelo lado oeste, ele deve
deixar o desvio pelo lado leste, e nao por onde ele entrou no desvio. Impasses, do
tipo que a continuacao do movimento dos trens so pode ser obtida movendo algum
dos trens no sentido inverso, devem ser evitados. A Figura 3.3 e um exemplo de
situacao de impasse, o Trem A impede que o Trem C tome o desvio e dessa forma
nenhum trem pode continuar seu caminho sem colisao.
Figura 3.3: Impasse (adaptado de [1])
3.3 Definicoes
Tempo de entrada e saıda: Assume-se que um trem entra em um arco quando
a extremidade dianteira do trem entra no arco. E assume se que o trem deixa o arco
quando sua extremidade dianteira sai do arco.
Atraso do trem: O atraso do trem e definido como o tempo perdido enquanto
o trem esta parado em um terminal ou em qualquer lugar do territorio aguardando
alguma manutencao nos trilhos ou a passagem de outro trem.
Adesao de horario: Quanto a aderencia de horario, ha dois tipos de trens de
carga. Trens de passageiros nao sao considerados aqui.
• Trens com Adesao de Horario (AH) - Espera-se que o movimento desses
trens esteja de acordo com um cronograma pre-determinado. Qualquer
desvio do cronograma deve ser evitado, a menos que nao esteja impactando
significativamente a velocidade media do sistema. Nos dados de entradas, os
tipos de trem A, B, C e D sao trens com adesao de horario.
• Trens sem Adesao de Horario (NAH) - Apesar de possuir um cronograma
conhecido, os movimentos desses trens nao precisa necessariamente cumprir
seus horarios. Esses trens tem menor prioridade quando se trata de decisoes
de alocacao. Os trens do tipo E e F sao trens sem adesao de horario.
14
A adesao de horario e baseada no tempo de entrada de um trem no no.
Secao: Uma secao pode ser construıda como uma colecao de nos. por exemplo,
na Figura 3.1 os nos entre 2 e 7 podem ser chamados de uma secao.
Evento de Encontro e Passagem: Um evento de encontro e passagem pode
acontecer em duas situacoes:
• Encontro - dois trens se movendo em direcoes opostas se encontram na mesma
via em uma estacao onde ha um desvio ou um cruzamento para outra via.
Durante um evento de encontro, se o primeiro trem chegando nessa estacao
toma o desvio, ele tera que esperar ate o outro trem chegar e passar pelo
primeiro trem, liberando a via. Se o primeiro trem chega e espera na via
principal, entao o segundo trem deve tomar o desvio e continuar.
• Passagem - dois trens se movendo na mesma direcao, onde o trem de tras e
mais rapido que o trem a frente. Nesse caso o despachante pode optar que o
trem anterior ultrapasse o trem que vai adiante no que e chamado um evento
de “passagem”. Semelhante ao encontro, em um territorio com de via unica,
o trem da frente poderia tomar um desvio e esperar ate que o trem anterior
passe por ele. Em um territorio com duas ou mais vias, os trens podem
usar cruzamentos para se moverem para outra via paralela para executar a
ultrapassagem ou permitir o trem anterior passar, evitando assim uma possıvel
colisao.
Manutencao de Via (MV): Devido aos regulamentos do governo e para a
seguranca dos funcionarios e comunidades, os trilhos e sinais na ferrovia devem ser
regularmente inspecionadas e reparadas quando necessario. O fechamento de um
segmento para fins de inspecao ou reparacao e chamado de janela de Manutencao
de Via (MV), onde a “janela”se refere a um perıodo especıfico de tempo durante o
qual a faixa nao pode ser utilizada. Embora procura-se colocar as janelas MV nos
momentos em que ha pouco transito, as vezes, um trilho quebrado ou outra questao
exige atencao imediata e o fechamento de um segmento da pista.
Quando uma janela MV ocorre, o despachante precisa fechar a parte da ferrovia
para o trafego de trens para manter os trabalhadores da reparacao seguros. Uma
janela MV e fornecida com dois atributos: espaco (de qual ate qual no) e tempo
(minuto inicial ate o minuto final). Quando uma janela MV e colocada sobre uma
via unica na linha principal, onde nao ha via alternativa (como um desvio) para dar a
volta, todos os trens que estao destinados a atravessar a faixa fechada devem realizar
seu movimento pela pista impactada antes de comecar a janela de interrupcao ou
apos o fim desta. Os locais de espera dos trens podem ser os terminais em ambas
as extremidades do territorio, os desvios e os segmentos de trilho na via principal
anteriores a pista fechada. Em um trecho de multiplas pistas, os trens podem
15
utilizar cruzamentos para mudar de faixa, de modo que os trens possam continuar
se movendo no caminho paralelo.
O despachante procura colocar os trens em segmentos das vias principais, desvios
ou mante-los nos terminais, de tal forma que, quando a janela MV esta prestes a
terminar, os trens com prioridade mais alta e cronograma de horarios crıticos sao
menos afetados por atraso.
Direcao do Trem: O territorio inclui dois terminais, um no extremo oeste e um
na extremidade leste. Todo trem tem como destino final um desses dois terminais,
definimos como Trens de Saıda os trens que se destinam ao terminal leste e Trens
de Chegada os trens com destino ao terminal oeste.
Tempo de Preferencia do Terminal (TPT): Os terminais tem patios com
capacidade finita. Quando ha um trafego pesado de entrada ou saıda em um
terminal, os terminais poderao pedir ao despachante para atrasar a entrada de alguns
trens no terminal, a fim de aceita-los em seus patios quando eles acreditam que tem
capacidade de faze-lo. O Tempo de Preferencia do Terminal representa o melhor
horario para um trem chegar a um terminal. Embora seja desejavel respeitar esse
tempo preferencial, eles nao sao restricoes fortes. Quando um terminal fornece um
TPT para um trem especıfico, e apreciado se o trem chega dentro das proximas tres
horas depois do TPT. Alem disso, nao e desejado que esse trem chegue mais do
que uma hora antes do TPT. Isso fornece uma janela de tempo de quatro horas de
preferencia para o trem chegar ao terminal.
Trem em Movimento: Nao necessariamente um trem parte de um dos
terminais principais. Um conjunto de dados de entrada pode conter trens que
partem de qualquer estacao intermediaria ou desvio dentro do territorio. Esses
trens possuem um tempo de entrada no territorio igual a 0 e sao denominados como
trens em movimento.
Uso de Trilho Nao-preferencial: A decisao de tomar um desvio ou se mover
em uma via paralela e impulsionado pela eficiencia geral do sistema e e deixada a
criterio do despachante. No caso de multiplas vias paralelas, cada faixa tera uma
direcao especıfica preferida. Sempre que possıvel, os trens devem se mover na sua
faixa preferencial ao inves da faixa paralela. Prefere-se que os trens de saıda usem
a Via 2 e que os trens de entrada usem a Via 1, sempre que possıvel. Os desvios e
segmentos de entrada e saıda diretamente ligados a uma via nao preferencial tambem
sao nao-preferenciais. Na Figura 3.2, apos passar pelo cruzamento 13-28, o Trem E
esta usando uma via nao-preferencial ao passar pela Via 2 entre 28-25, pela faixa
de comutacao 25-24, pelo desvio 24-23, e ate utilizar um cruzamento para retornar
a Via 1.
16
3.4 Regras Operacionais
O peso de um trem geralmente e calculado em Toneladas por Freio Operativo
(TFO), que e a tonelagem bruta do trem, dividido pelo numero total de carros com
freios operatorios. Trens com mais de 100 TFO sao considerados pesados. Trens
pesados podem pertencer a qualquer um dos tipos de trem, de A a F. Nos casos
em que um trem pesado esta passando por um evento de encontro e passagem e o
segundo trem nao possui aderencia de horario, o trem pesado deve esperar na pista
principal e o segundo trem toma o desvio. Se o segundo trem possui aderencia de
horario, independente do tipo do trem pesado, a decisao sobre qual trem usara o
desvio e baseada na eficiencia geral do sistema.
Os trens longos nao podem usar desvios que sao mais curtos que o comprimento
do trem. Os arcos de desvio sao indicados nos dados de entrada com seus
comprimentos correspondentes. O comprimento dos segmentos de entrada e saıda
do desvio nao pode ser adicionado ao comprimento do desvio para determinar se o
trem cabe nesse desvio ou nao. Por exemplo, na Figura 3.1, o comprimento do trem
deve ser comparado com o comprimento do arco 4-6, nao a soma dos comprimentos
dos arcos 2-4, 4-6 e 6-7. Um trem longo devera entao esperar no segmento de trilho
da via principal correspondente ao desvio (arco 3-5) independente de qual tipo de
trem esta vindo.
Trens com Material Perigoso (MP) estao proibidos de ocupar os desvios para
garantir a seguranca publica. Trens desse tipo sao indicados nos dados de entrada.
A solucao nao deve apresentar nenhuma espera em um desvio quando nao ha
nenhum evento de encontro e passagem acontecendo. Ou seja, nao e permitido
atribuir trens a um desvio a fim de aliviar um congestionamento iminente a frente.
Uma melhor solucao seria deixar o trem seguir no seu ritmo normal e entao parar
o trem instantaneamente antes do congestionamento e atrasar o tempo necessario
para evitar o congestionamento.
O horizonte de planejamento e 12 horas. As penalidades para aderencia de
horario e Tempo de Preferencia do Terminal vao ser ativadas apenas para os
eventos que ocorrerem dentro do horizonte de planejamento. De forma similar,
as penalidades para tempo de atraso e uso de vias nao preferencias tambem so serao
contadas apenas para o tempo gasto no horizonte de planejamento.
3.5 Objetivo
O objetivo e projetar um algoritmo que forneca uma solucao em primeiro
lugar viavel e livre de impasses (ou seja, sem acidentes e sem retorno de trens),
minimizando o atraso dos trens, maximizando a aderencia ao horario, minimizando
17
o desvio do tempo de preferencia do terminal e minimizando o uso de vias nao
preferenciais.
Relacoes numericas podem ser dadas para os componentes da funcao objetiva,
conforme segue:
• Um atraso de 60 minutos, independente de ter acontecido no terminal ou em
qualquer lugar do territorio, custa para a ferrovia os valores mostrados na
Tabela 3.1.
• Um desvio de cronograma de 60 minutos custa a ferrovia aproximadamente
$200. Isso se deve ao prejuızo e estresse gerado ao cliente. Essa regra so se
aplica para trens que possuem aderencia de horario e que estao mais do que
2 horas atrasados. Ou seja, a cada hora extra de atraso para alem de 2 horas
custa $200.
• Um desvio de 6 minutos da janela do Tempo de Preferencia do Terminal custa
para a rodovia aproximadamente $75, devido a criacao de congestionamento
indesejada nos terminais, portanto exigindo uma tripulacao maior nos patios.
O custo e aplicado apenas para a quantidade de desvio fora da janela de 4
horas.
• Um tempo de utilizacao de 60 minutos de uma via nao preferencial tem uma
penalidade de $60.
Tipo do Trem Custo do Atraso Por Hora
A $600B $500C $400D $300E $150F $100
Tabela 3.1: Custo relativo de impacto de atraso por tipo de trem
Esses valores sao fictıcios e podem nao ser os mesmos custos usados por uma
companhia ferroviaria real.
O custo total para o sistema pode ser calculado conforme segue:
Custo Total = (Atraso Total * Penalidade por Atraso/Hora) +
(Desvio de Cronograma * Penalidade de Desvio/Hora) +
(Desvio da janela TPT * Penalidade para TPT/Hora) +
(Uso de Via Nao Preferencial * Penalidade de Via Nao Preferencial/Hora)
18
No proximo capitulo sera apresentado as formulacoes e abordagens utilizadas
para solucao do PST em um territorio de multiplas vias apresentado aqui.
19
Capıtulo 4
Formulacao
Em particular, o PST foi formulado como um problema de fluxo em redes em [2],
utilizando o conceito de rede tempo-espaco e propondo uma formulacao matematica
de programacao inteira. As vantagens do modelo de fluxo em redes tambem foram
utilizados na formulacao de programacao inteira mista proposta em [50]. Nesse
capıtulo serao apresentadas ambas as formulacoes, bem como algoritmos heurısticos
baseados nessas formulacoes para a solucao do problema.
4.1 Formulacao Inteira
Em [2] e proposta uma abordagem para modelagem do PST como um problema
de fluxo multiproduto com algumas restricoes em uma rede tempo-espaco. Cada
trem t (pertencendo a um conjunto T de trens a serem sequenciados) funciona como
um produto na rede. A representacao em uma rede tempo-espaco permite que a
formulacao seja facilmente adaptada para redes mais complexas ou de multiplas
vias ao inves de uma unica via. A grande vantagem dessa abordagem e que a
maioria das restricoes praticas e tratada na construcao da rede.
A maioria das restricoes praticas que fariam o tamanho do problema ainda maior
com as abordagens de formulacao anteriores encontrados na literatura sao tratadas
na fase de construcao da rede. A formulacao proposta e flexıvel o suficiente para
incorporar a maioria das limitacoes praticas, sem ter que alterar a sua estrutura
subjacente. Dessa forma, a formulacao proposta e simples e flexıvel o suficiente
para incorporar a maioria das limitacoes praticas sem ter que alterar sua estrutura
fundamental.
O que apresentamos a seguir e uma descricao de como a rede tempo-espaco e
construıda e uma adaptacao da formulacao proposta para atender as necessidades
do PST conforme descricao apresentada no Capıtulo 3.
20
4.1.1 Rede tempo-espaco
Todos os problemas apresentados no Capıtulo 2 possuem em comum a
caracterıstica de que podem ser modelados como um problema de fluxo em rede.
De forma geral, uma rede e definida como um grafo G = (N,A), onde N denota
o conjunto de nos e A denota o conjunto de arcos, um conjunto de custos ci,j e de
capacidades uij associados a cada arco (i, j) de A e um conjunto de demandas bi
associadas a cada no i de N (veja, por exemplo, [51]).
Para entendimento de como a rede tempo-espaco e construıda, considere um
territorio com vias que ligam dois terminais principais e e composto por secoes de
via unica ou multiplas vias. A representacao de rede proposta e baseada no conceito
de diagrama de tempo-espaco, o qual e um metodo padrao para apresentacao de
resultados de sequenciamento de trens, pontos de encontro e atrasos associados.
Muitas ferrovias de carga ainda dependem de sequenciamento de trens que sao feitos
manualmente por despachantes qualificados que utilizam esse tipo de diagrama. A
Figura 4.1 ilustra um exemplo de um diagrama de tempo-espaco para um territorio
de via unica que conecta o terminal 1 ao 6. Pontos de encontro intermediarios estao
localizados nas estacoes 2 a 5. Os eixos vertical e horizontal representam espaco e
tempo, respectivamente. Ha dois trens de saıda (Trem B e Trem C)que se movem de
1 para 6, e um trem de entrada (Trem A). O Trem A sofre dois atrasos, nos pontos de
encontro 4 e 3, como uma possıvel solucao para o conflito com o Trem B e Trem C.
Mesmo nesse exemplo simples, ha muitas possibilidades de combinacoes de desvios
e tempo que podem ser escolhidos que permitem os eventos de encontro e passagem,
sem mencionar os tempos de partida de estacoes intermediarias. Isso ilustra como
o PST e um problema combinatorial muito grande. Quando inumeros trens em
ambas as direcoes sao sequenciados, muitos conflitos podem surgir. Cada conflito
envolve ou trens em direcoes opostas ou trens na mesma direcao. Dependendo
da solucao escolhida para um conflito envolvendo dois trens (ou seja, qual trem
ira tomar o desvio e/ou esperar que o outro passe), o local e a hora de conflitos
posteriores podem mudar, novos conflitos em locais diferentes podem surgir , e
conflitos existentes podem deixar de existir. Dessa forma, o numero de possıveis
solucoes para os conflitos de trem pode ser muito grande.
Para a formulacao inteira do PST, o tempo do horizonte de planejamento e
discretizado em instantes com espaco igual entre instantes consecutivos, denotamos
Q = {1, 2, . . . , q} como sendo o conjunto de instantes de tempo. No problema
tratado aqui, o horizonte de planejamento de 12 horas foi discretizado em perıodos
de 5 minutos, portanto q = 720.
Nas vias que ligam os dois terminais principais, seja S = 0, . . . , s o conjunto de
estacoes e desvios , numerados de acordo com a ordem que aparecem no territorio.
21
Figura 4.1: Um diagrama de tempo-espaco (adaptado de [2])
De forma geral, cada trem t ∈ T pode partir de qualquer estacao s1 ∈ S e chegar em
s2 ∈ S, no problema tratado aqui sabemos que s2 sempre sera um terminal principal,
ou seja, um dos dois terminais que se localizam nos extremos do territorio. Tambem
definimos o conjunto de segmentos de trilho para representar a faixa entre duas
estacoes consecutivas ou desvios si e si+1 como L = 0, . . . , s− 1. SI(t) ⊂ S denota
o conjunto de estacoes intermediarias e desvios s ∈ S onde o trem t ∈ T pode passar
ou parar para cruzamentos e ultrapassagens, enquanto que C(t) denota o conjunto
consecutivo de estacoes (ot − s1, s1 − s2, . . . , sk − dt) que compoem o caminho do
trem. Para cada trem t ∈ T sao dados as estacoes de origem ot e destino dt; o
tempo de partida edt e conhecido , bem como o tempo de viagem ao longo de cada
segmento.
A rede tempo-espaco e representada como um grafo G = (N,A), onde N e A
denotam o conjunto de nos e arcos, respectivamente. O conjunto de nos da rede e
dividido em 3 tipos, a saber:
• PreNos - representa o conjunto de nos artificiais no qual o fluxo de saıda indica
a partida do trem da origem. Ha um no de partida para cada trem t ∈ T que
22
nao esteja em movimento denotado por Init.
• FimNos - corresponde aos nos no qual o fluxo de entrada representa a chegada
de um trem no destino final.
• IntNos - e o conjunto de nos intermediarios e que possuem dois atributos: lugar
e tempo. Nos do conjunto IntNos correspondem a copias de cada terminal
s ∈ S em cada perıodo k ∈ Q. Um elemento desse conjunto e denotado como
ik, onde i ∈ S e k ∈ Q.
O conjunto de arcos e composto de quatro subconjuntos conforme mostrado na
Figura 4.2. Os arcos no conjunto dos arcos de origem surgem dos nos em PreNos
e arcos de destino terminam nos FimNos. Para representar a partida de um trem
t para seu terminal de origem ot, e criado arcos do no Init para nos otk para cada
instante de tempo que essa partida for possıvel. Similarmente, para modelar a
chegada de um trem t em seu terminal de destino dt, pode foram criados arcos dos
nos dtk para o no Fimt para cada instante da janela de tempo onde essa chegada e
possıvel.
Os arcos de viagem (V arcos) e arcos de espera (Earcos) da rede de tempo-espaco
sao criados com base nas informacoes de cada trem. Para um trem t, observa-se a
sequencia de terminais e desvios possıveis que esse trem pode passar da sua origem
ot ate o terminal de destino dt. O conjunto de arcos de saıda incluem os arcos do no
ik para um no consecutivo (i + 1)l onde k + 1 ≤ l ≤ maxTime (maxTime denota
o tempo maximo do planejamento). Para modelar a possibilidade de movimento de
um trem t do terminal i para o terminal j no tempo k, e criado um arco do no ik
para o no jl, onde l = k + f tij, observando se ik possui um arco de chegada do trem
t. O conjunto de arcos de espera para o trem t inclui os arcos do no ik para o no
ik+1 para todos os desvios do territorio. Portanto, se um no de um desvio possui um
arco de entrada representando um possıvel movimento de um trem t, entao cria-se
arcos de espera consecutivos nesse mesmo no para toda a janela de tempo que e
possıvel que esse trem fique parado. Um exemplo apresentado na Figura 4.2 mostra
um subconjunto de arcos definidos para um trem programado para sair da Estacao
0 no tempo t e chegar na Estacao 2 no tempo t+ 2 com um atraso de no maximo 3
perıodos de tempo.
O custo dos arcos de espera e o comprimento (em horas) no qual o tempo esta
discretizado, multiplicado pela penalidade de espera por hora do tipo do trem. De
forma similar, o custo dos arcos de origem correspondem ao respectivo atraso inicial
multiplicado pela penalidade de espera por hora para o tipo do trem. Os arcos que
chegam em nos que possuem tempo de chegada agendado para determinados trens,
possuem um custo correspondente ao atraso acima de 2 horas do tempo agendado
multiplicado pela penalidade de atraso por hora para o tipo do trem. Os arcos de
23
Figura 4.2: Parte de uma rede tempo-espaco para um trem (adaptado de [2])
destino possuem um custo correspondente ao tempo de desvio da janela de 4 horas
preferencial para a chegada daquele trem no destino, multiplicado pela penalidade
para atraso de chegada por hora para o tipo do trem.
No caso de multiplas vias paralelas, cada via possui uma direcao especıfica
preferida. Trens devem se mover nas suas vias preferidas sempre que possıvel.
Neste caso, arcos que saem de nos cuja via nao e a preferida para a direcao do trem
e chegam em nos dessa mesma via ou em nos que nao da via preferida (desvios,
cruzamentos), terao seus custos acrescidos do tempo de utilizacao desses arcos que
nao sao preferidos, multiplicado pela penalidade por hora pelo uso desses arcos.
Todos os custos dos outros arcos sao 0.
24
4.1.2 Definicoes
A seguir sao apresentados os dados de entrada e definicoes de variaveis para a
formulacao do problema de programacao inteira (PI). Os conjuntos de entrada e os
parametros e dados de entrada sao denotados na Tabela 4.1 e Tabela 4.2.
Notacao DefinicaoT Conjunto de trens, indexado por tT out Conjunto de trens de saıdaT in Conjunto de trens de entradaT mov Conjunto de trens em movimento, pode comecar em qualquer no n ∈ NN Conjunto de nos da redeA Conjunto de arcos da redeS Conjunto de terminais da ferroviaQ Conjunto de instantes de tempo
Tabela 4.1: Conjuntos de entrada: formulacao PI
O conjunto S de terminais esta numerado de acordo com a ordem que eles
aparecem no territorio, da esquerda para a direita, de cima para baixo. Seja esq(S) o
conjunto de pontos finais que ficam no extremo esquerdo das vias e dir(S) o conjunto
de pontos finais do lado direito. Cada trem t ∈ T pode partir de qualquer terminal
s1 ∈ esq(S) e chegar em qualquer terminal s2 ∈ dir(S) ou vice-versa, isso significa
que os trens so podem viajar entre pontos finais de S e indo de um extremo a outro.
Notacao Definicaoε tempo final do horizonte de planejamento∆P Tempo de separacao, 5 minutos nesse caso∆S Tolerancia de desvio de horario, 2 horas nesse caso∆TPT+ Tolerancia de chegada apos o TPT, 3 horas nesse horas nesse caso∆TPT− Tolerancia de chegada antes do TPT, 1 hora nesse casoot Terminal de origem do trem tdt Terminal de destino do trem t
Tabela 4.2: Dados de entrada e parametros: formulacao PI
4.1.3 Formulacao Matematica
Baseado das definicoes apresentadas, o problema e formulado como um problema
de Programacao Inteira (PI) como segue. A formulacao PI possui variaveis binarias
de decisao xtikjl representando o fluxo do trem t no arco (ik, jl), cada variavel de
25
fluxo e definida apenas para movimentos viaveis correspondentes a um dos quatro
conjunto de arcos descrito anteriormente.
min∑t∈T
∑(i,j)∈A
cijxtij (4.1)
s.a.∑k∈Q
xtInitdt
k= 1 ∀t ∈ T (4.2)
∑i∈IntNodes
xtij −
∑i∈IntNodes
xtji = 0 ∀t ∈ T, ∀j ∈ IntNodes
(4.3)∑t∈T out
∑l≤k−1
∑m+∆P≥k
xtil(i+1)m
+∑
t∈T in
∑l≤k−1
∑m+∆P≥k
xt(i+1)lim
≤ 1, ∀i ∈ S, ∀k ∈ Q (4.4)
Mxtikjl
+∑t∈T
∑p<l+ct
∑q>k
xtipjq ≤M ∀t ∈ T, ∀(ikjl) ∈ Earcos
(4.5)
xtij ∈ {0, 1} ∀(i, j) ∈ A,∀t ∈ T
(4.6)
A funcao objetivo 4.1 minimiza o atraso dos trens, maximiza a aderencia aos
horarios, minimiza o desvio do tempo esperado pelo terminal e minimiza o uso de
vias que nao sao as preferidas. A restricao 4.2 garante que para cada trem t haja um
fluxo de saıda unitario do no de partida para um dos nos que e a copia do terminal
de origem em um tempo dentro da janela possıvel de partida. Restricao 4.3 garante
a conservacao de fluxo para os nos em IntNodes, tudo que entra nesses nos deve
ser igual ao que sai. Restricao 4.4 garante que em qualquer intervalo de tempo, o
numero de trens esperando em um desvio nao sera maior do que um. Restricao 4.5
garante que em qualquer intervalo de tempo nao haja mais do que um trem viajando
em um mesmo arco. Isto e conseguido assegurando que, no maximo, um dos arcos
passando atraves do mesmo intervalo de tempo em uma determinada secao possua
um fluxo unitario. E a restricao 4.6 garante que um trem nao entrara em uma secao
enquanto outro trem nao desocupar totalmente essa secao.
A grande vantagem dessa abordagem e que a maioria das restricoes praticas
sao tratadas na construcao da rede. No caso da restricao do uso de desvio, que
obriga que a solucao nao apresente nenhuma espera em um desvio quando nao ha
nenhum evento de encontro e passagem acontecendo, nos resolvemos essa restricao
com um pos-processamento, ou seja, se um trem tomar um desvio sem necessidade de
cruzar ou ultrapassar outro trem, nos simplesmente reconfiguramos a solucao para
que o trem passe pela via principal correspondente e acrescemos o custo na funcao
objetivo. De forma similar, a restricao que obriga que que se um trem pesado esta
passando por um evento de encontro e passagem com um segundo trem que nao
possui aderencia de horario, o trem pesado deve esperar na pista principal, tambem
26
e resolvido com pos-processamento, nesse caso, se a restricao for violada, a solucao
e reconfigurada trocando os caminhos entre os dois trens e corrigindo o valor da
funcao objetivo.
4.2 Formulacao Inteira Mista
Em [50] e apresentado uma formulacao de programacao inteira mista para o
problema que integra o conceito de segmentos apresentado em [52] e a representacao
por meio de um modelo de fluxo em rede abordado em [53]. O conceito de segmentos
evita a criacao de variaveis em excesso para arcos que nao sao utilizados, ja a
representacao por meio de rede permite que as regras de desvio sejam implementadas
explicitamente. Aqui nos apresentamos essa formulacao e suas caracterısticas.
Nessa formulacao um segmento e definido como uma colecao de vias entre dois
nos adjacentes. Os segmentos cobrem o territorio de forma que um trem deve
passar atraves de cada segmento entre sua origem e seu destino e viajar em uma
via especıfica em cada segmento. A malha ferroviaria foi dividida em 53 segmentos
e alguns arcos falsos foram adicionados para facilitar a segmentacao. A Figura 4.3
mostra um exemplo de como a ferrovia e segmentada. A Tabela C.1 no Apendice C
apresenta a lista completa dos 53 segmentos e os arcos que cada segmento contem.
Figura 4.3: Exemplo de como o territorio e segmentado
27
4.2.1 Definicoes
As Tabelas 4.3 e 4.4 apresentadas a seguir denotam os conjuntos de entrada,
dados e parametros. As variaveis de decisao utilizadas no sao apresentadas na
Tabela 4.5.
Notacao DefinicaoT conjunto de trensT out conjunto de trens de saıdaT in conjunto de trens de entradaT K conjunto de trens com aderencia de horariosT H conjunto de trens pesadosT I conjunto de trens transportando Material PerigosoG conjunto de segmentos indexados por i, |G| = n, i aumenta da esquerda para a direitaGD conjunto de segmentos que contem desviosBt conjunto de segmentos ocupados pelo trem tCi conjunto de trens que ocupam o segmento iLi conjunto de vias do segmento iVt conjunto de nos em que o trem t pode passar, excluindo origem e destinoE(v) conjunto dos arcos de entrada do no v da esquerda para a direitaW(v) conjunto dos arcos de saıda do no v da esquerda para a direitaOt conjunto dos arcos conectados ao no de origem do trem t que podem ser ocupadosDt conjunto dos arcos conectados ao no de destino do trem t que podem ser ocupadosFt conjunto de arcos que sao desvios e tem comprimento menor que o trem tXt conjunto de segmentos de entrada em MV’s para o trem tYt conjunto de segmentos de saıda de MV’s para o trem tNt conjunto de segmentos onde o no de saıda para o trem t possui horario programadoUt,i conjunto de trechos nao-preferenciais no segmento i para o trem t
Tabela 4.3: Conjuntos de entrada: formulacao PIM
Notacao Definicaoε tempo final do horizonte de planejamento∆P tempo de separacao entre trens, 5 minutos nesse caso∆S tolerancia de desvio do horario programado, 2 horas nesse caso∆TPT+ tolerancia de chegada apos o TPT, 3 horas nesse caso∆TPT− tolerancia de chegada antes do TPT, 1 hora nesse casoot ındice do segmento de origem do trem tdt ındice do segmento de destino do trem tbt tempo de entrada na origem para o trem trt,i,j Tempo de deslocamento do trem t no trecho j do segmento isi ındice do trecho de desvio no segmento imi ındice do trecho principal no segmento iwi ındice do trecho no segmento i que tem uma janela de manutencaoζj,j′,i igual a 1 se os trechos j e j′ sao conflitantes ou se j = j′ no segmento i, 0 caso contrarioHPt,i horario programando para o trem t no no de saıda do segmento iTPTt tempo de preferencia do terminal para o trem tMV ini
i tempo inicial da manutencao de via para o segmento i
MV fimi tempo final da manutencao para o segmento i
cDt custo de atraso por unidade de tempo para o trem tcS custo de desvio do horario de aderencia por unidade de tempocTPT custo de desvio da janela do TPT por unidade de tempocU custo de utilizacao de trilho nao-preferencial por unidade de tempoM numero suficientemente grande
Tabela 4.4: Dados de entrada e parametros: formulacao PIM
28
Notacao Definicao
xentryt,i tempo de entrada do trem t no segmento i
xexitt,i tempo de saıda do trem t do segmento i
xinitt tempo em que o trem t comeca a se movimentarqt,i,j igual a 1 se o trem t utiliza a via j no segmento i, 0 caso contrarioγt,t′,i igual a 1 se o trem t e agendado antes do trem t′ no segmento i, 0 caso contrarioλt,t′,i igual a 1 se o trem t e agendado depois do trem t′ no segmento i, 0 caso contrariout,t′,d igual a 1 se λt,t′,rd−1 − λt,t′,rd+1 = 1, 0 caso contrariou′t,t′,d igual a 1 se λt,t′,rd−1 − λt,t′,rd+1 = −1, 0 caso contrario
yt,t′,d igual a 1 se os trens t e t′ se encontram no desvio d, 0 caso contrariozWt atraso do trem t no terminalzDt,i atraso do trem t no segmento i
zSt,i desvio acima de 2 horas do horario agendado para o trem t no no i
zTPT+t desvio para mais fora da janela de 4 horas para o trem t
zTPT−t desvio para menos fora da janela de 4 horas para o trem tzUt,i tempo de uso de trilho nao-preferencial pelo trem t no segmento i
at,i igual a 1 se o trem t deixou o segmento i antes do tempo final
βt,i igual a 1 se xentryt,i ≥MV fim
i , 0 caso contrario
ξt,i Igual xexitt,i se αt,i = 0, ε caso contrario
Tabela 4.5: Variaveis de decisao: formulacao PIM
4.2.2 Formulacao Matematica
A formulacao do problema e dada como segue:
minimizar∑t∈T
cDt (z
Wt +
∑i∈Bt
zDt,i) +
∑t∈TK
∑i∈Nt
cSzSt,i +
∑t∈T
cTPT
(zTPT+t + z
TPT−t ) +
∑t∈T
∑i∈Bt
cUzUt,i (4.7)
Sujeito a
Restricoes de movimentacao do trem:
xexitt,i = xentryt,i+1 , ∀t ∈ T out, ∀i ∈ Bt : i 6= n (4.8)
xexitt,i = xentryt,i−1 , ∀t ∈ T in,∀i ∈ Bt : i 6= 1 (4.9)
xentryt,ot
≥ bt, ∀t ∈ T (4.10)
xexitt,i ≥ xentryt,i +
∑j∈Li
rt,i,jqt,i,j , ∀t ∈ T , ∀i ∈ Bt (4.11)
Restricoes de trafego de rede:
∑j∈Ot
qt,ot,j = 1, ∀t ∈ T (4.12)
∑j∈Dt
qt,dt,j = 1, ∀t ∈ T (4.13)
∑(j,i)∈E(v)
qt,i,j =∑
(j′,i′)∈W(v)
qt,i′,j′ , ∀t ∈ T , ∀v ∈ Vt (4.14)
Restricoes de nao-concorrencia e avanco:
qt,i,j + qt′,i,j′ − 1 ≤ λt,t′,i + γt,t′,i, ∀t, t′ ∈ Ci, ∀i ∈ G, ∀j, j′ ∈ Li : t 6= t′, ζj,j′,i = 1 (4.15)
xentryt′,i − xexitt,i ≥ ∆P −M(1− γt,t′,i), ∀t, t′ ∈ Ci, ∀i ∈ G, ∀j, j′ ∈ Li : t 6= t′, ζj,j′,i = 1 (4.16)
xentryt,i − xexitt′,i ≥ ∆P −M(1− λt,t′,i), ∀t, t′ ∈ Ci, ∀i ∈ G, ∀j, j′ ∈ Li : t 6= t′, ζj,j′,i = 1 (4.17)
λt,t′,i + γt,t′,i ≤ 1, ∀t, t′ ∈ Ci, ∀i ∈ G : t 6= t′ (4.18)
29
Restricoes de ocupacao de desvio:
λt,t′,i−1 − λt,t′,i+1 = ut,t′,i − u′t,t′,i, ∀t, t′ ∈ Ci, ∀i ∈ GD : t 6= t′ (4.19)
ut,t′,i + u′t,t′,i ≤ 1, ∀t, t′ ∈ Ci, ∀i ∈ GD : t 6= t′ (4.20)
yt,t′,i ≥ ut,t′,i + u′t,t′,i + qt′,i,mi− 1, ∀t, t′ ∈ Ci, ∀i ∈ GD : t 6= t′ (4.21)
2yt,t′,i ≤ ut,t′,i + u′t,t′,i + qt′,i,mi, ∀t, t′ ∈ Ci, ∀i ∈ GD : t 6= t′ (4.22)
qt,i,si ≤∑
t′∈Ci,t′ 6=t
yt,t′,i, ∀t ∈ Ci, ∀i ∈ GD (4.23)
Restricoes de trens especiais:
qt,i,si = 0, ∀t ∈ T , ∀i ∈ Ft (4.24)
qt,i,si = 0, ∀t ∈ T I , ∀i ∈ Bi ∩ GD (4.25)
qt,i,si + qt′,i,mi≤ 2− ut,t′,i − u′t,t′,i, ∀t ∈ Ci ∩ T H , ∀t′ ∈ Ci ∩ (T \T K), ∀i ∈ GD : t 6= t′ (4.26)
Restricoes de Manutencao de Via:
xentryt,i ≥MV fim
i qt,i,wi −MV fimi (1− βt,i), ∀t ∈ T , ∀i ∈ Xt (4.27)
xexitt,i ≤MV inii +M(i− qt,i,wi )−Mβt,i′ , ∀t ∈ T , ∀i ∈ Yt, ∀i′ ∈ Xt (4.28)
Restricoes relacionadas a funcao objetivo:
ε− xexitt,i ≤Mαt,i, ∀t ∈ T , ∀t ∈ Bt (4.29)
xexitt,i − ε ≤M(1− αt,i), ∀t ∈ T , ∀i ∈ Bt (4.30)
ξt,i ≥ xexitt,i −M(1− αt,i), ∀t ∈ T , ∀i ∈ Bt (4.31)
ξt,i ≥ ε(1− αt,i), ∀t ∈ T , ∀i ∈ Bt (4.32)
zWt ≥ xentryt,ot
− bt, ∀t ∈ T (4.33)
zDt,i ≥ ξt,i − xentryt,i − rt,i,jqt, i, j, ∀t ∈ T , ∀i ∈ Bt (4.34)
zSt,i ≥ xexitt,i −HPt,i −∆S −M(1− αt,i), ∀t ∈ T K , ∀i ∈ Nt (4.35)
zTPT+t ≥ xexitt,dt
− TPTt −∆TPT+ −M(1− αt,dt ), ∀t ∈ T (4.36)
zTPT−t ≥ −(xexitt,dt
− TPTt + ∆TPT−)−M(1− αt,dt ), ∀t ∈ T (4.37)
zUt,i ≥ ξt,i − xentryt,i −M(1−
∑j∈Ut,i
qt,i,j), ∀t ∈ T , ∀i ∈ Bt (4.38)
Restricoes de variaveis:
xentryt,i,j , xexitt,i,j , ξt,i,j , z
Dt,i,j , z
Ut,i,j ≥ 0, ∀t ∈ T ,∀(i, j) ∈ A (4.39)
qt,i,j ∈ 0, 1, ∀t ∈ T ,∀(i, j) ∈ A (4.40)
γt,t′,r, λt,t′,r ∈ 0, 1, ∀t ∈ T ,∀(i, j) ∈ A : t 6= t′ (4.41)
ut,t′,d, u′t,t′,d, yt,t′,d ∈ 0, 1, ∀t ∈ T ,∀d ∈ D : t 6= t′ (4.42)
zSt,i ≥ 0, ∀t ∈ T K ,∀i ∈ Nt (4.43)
zTPT+t , zTPT−
t , zWt ≥ 0, ∀t ∈ T (4.44)
αt,i,j ≥ 0, ∀t ∈ T ,∀(i, j) ∈ A (4.45)
βt,m ≥ 0, ∀t ∈ T ,∀m ∈M (4.46)
A funcao objetivo 4.7 minimiza o custo total do atraso dos trens, desvio de
horario acima de 2 horas para trens com aderencia de horario, desvio alem da janela
30
de 4 horas do Tempo de Preferencia do Terminal e uso de trilhos nao-preferenciais.
A restricao 4.8 requer que cada trem saia de um segmento no mesmo momento
que entra no proximo. Restricao 4.10 garante que nenhum trem entre na ferrovia
mais cedo que o horario de entrada pre-especificado. A restricao 4.11 indica que o
tempo decorrido quando um trem ocupa uma via em um dado segmento deve ser
pelo menos o tempo de deslocamento do trem nessa via. Qualquer tempo alem disso
e considerado como atraso.
As restricoes 4.12 e 4.13 requer que cada trem comeca no seu no de origem e
termina em seu no de destino. Restricao 4.14 garante a conservacao do fluxo pela
rede.
As variaveis λt,t′,i e γt, t′, i indicam qual trem ocupa um segmento primeiro. Para
evitar colisoes, a restricao 4.15 denota que se dois trens estao usando a mesma via
ou vias conflitantes no mesmo segmento i, isto e, qt,i,j = qt′, i, j′ = 1, entao os dois
eventos nao vao se sobrepor cronologicamente, ou seja, ou λt,t′,i ou γt, t′, i devem
assumir o valor 1. Seguindo essa restricao, a restricao 4.16 se torna ativa se λt,t′,i = 1
ou a restricao 4.17 se torna ativa caso γt, t′, i = 1. Restricao 4.16 e 4.17 respeitam a
regra operacional de 5 minutos de separacao entre trens. A restricao 4.18 garante a
relacao cronologica entre dois trens quando ocupam o mesmo segmento, isto e, λt,t′,i
e γt, t′, i nao podem ser 1 simultaneamente.
O conjunto de restricoes de ocupacao do desvio forca com que um trem nao tome
um desvio a nao ser que ocorra um evento de encontro-e-passagem. As restricoes
4.19 e 4.20 implicam que ut,t′,i + u′t,t′,i = 1 se e somente se |λt,t′,i−1 + λt,t′,i+1| = 1.
Restricoes 4.21 e 4.22 denotam que yt,t′,i = 1 se e somente se as duas condicoes forem
simultaneamente satisfeitas. A restricao 4.23 indica em que situacao um trem pode
ser despachado para um desvio.
As restricoes 4.24 e 4.25 obriga os trens a nao ocuparem os desvios mais curtos
que seu comprimento os trens com Material Perigoso (MP) a tambem nao passarem
pelo desvio. Restricao 4.26 implica que se um trem pesado e um trem sem Aderencia
de Horario (NAH) passarem por um evento de encontro-e-passagem, o trem NAH
tera preferencia pelo desvio.
As restricoes 4.27 e 4.28 garantem que nenhum trem ira utilizar vias durante o
a janela de tempo pre-especificada de manutencao.
O conjunto de restricoes relacionado a funcao objetivo foram introduzidas para
prevenir que eventos ocorridos fora do horizonte de planejamento sejam considerados
na funcao objetivo. Restricoes 4.29 e 4.30 denota que αt,i = 1 se o trem t sair do
segmento j antes do fim do horizonte de planejamento. As restricoes 4.31 e refobj4
implicam que ξ)t, i e igual ao mınimo entre xexitt,i e ε. A restricao 4.33 denota o tempo
de atraso do trem antes de entrar na ferrovia. A restricao 4.34 denota o atraso do
trem em cada um dos segmentos ocupados. A restricao 4.35 denota o desvio do
31
horario programado para cada trem no nos com aderencia de horario. As restricoes
4.36 e 4.37 denotam o desvio do alem da janela de 4 horas do TPT. E por fim, a
restricao 4.38 denota o tempo de uso de via nao-preferencial para cada trem em
cada segmento ocupado.
4.3 Abordagens de Solucao
Nas duas formulacoes apresentadas o problema e combinatorialmente difıcil e
resolve-lo implica substanciais esforcos computacionais. Isso exige que o modelo
seja reexaminado em busca de possıveis melhorias. Por outro lado, obter a solucao
otima podem nao justificar o enorme tempo computacional gasto, uma vez que
uma solucao de alta qualidade geralmente serve para fins praticos. A seguir
apresentaremos algumas melhorias na formulacao de programacao inteira mista com
a adicao de restricoes que nao sacrificam a solucao otima e tambem um algoritmo de
decomposicao que aborda o problema com uma tecnica de “dividir para conquistar”,
ambos propostos em [50].
Antes de qualquer melhoria, a primeira modificacao e a introducao de xexitt,i , um
limite inferior para xexitt,j . Esse valor equivale ao menor tempo possıvel que um
trem t pode deixar o segmento i e e calculado simplesmente somando o tempo de
deslocamento da menor via principal em cada segmento a partir do no de entrada e
adicionando o tempo de entrada do trem.
xexitt,i = bi +
max(ot,i)∑k=min(ot,i)
minj∈Mk
(rt, k, j), ∀t ∈ T ,∀i ∈ Bi (4.47)
ondeMk e o conjunto de vias principais do segmento k. Em um trecho de via unica,
esse limite inferior e o tempo que o trem vai deixar o segmento sempre viajar na via
principal e sem nenhum delay. Em um contexto de via dupla, onde o trem deve usar
cruzamentos pelo menos uma vez, esse limite e estritamente menor que xt,i uma vez
que o limite assume que o trem pode “pular”instantaneamente de uma via principal
pra outra.
4.3.1 Melhoramento da Formulacao
A seguir descrevemos as restricoes que buscam fortalecer a formulacao sem
comprometer a solucao otima.
32
Igualando variaveis λt,i e γt,i para segmentos adjacentes
Para dois segmentos geograficamente adjacentes onde nenhum evento de
encontro-e-passagem pode acontecer, a sequencia entre os dois trens nos dois
segmentos vao permanecer inalterada. Por exemplo, na ferrovia apresentada na
Figura A.1, se um trem A ocupar o arco (5,6) mais cedo do que o trem B, entao o trem
A tambem devera ocupar o arco (6,7) mais cedo. Expressado matematicamente, isto
e
λt,t′,i = λt, t′, i+ 1 ∀t, t′ ∈ Ci, ∀i, i+ 1 ∈ G ′ (4.48)
γt,t′,i = γt, t′, i+ 1 ∀t, t′ ∈ Ci, ∀i, i+ 1 ∈ G ′ (4.49)
onde G ′ e o conjunto de segmentos de via unica onde nenhum evento de encontro-e-
passagem pode ocorrer. Esses segmentos sao 2-10, 12-22, 24-26, 41-49 e 51-52.
Sem atraso em nos intermediarios
Apesar de que seja permitido paradas em nos intermediarios, nao ha nenhum
incentivo real para faze-lo. Por exemplo, na Via Principal 0 da Figura A.1, e
desnecessario parar no no 8 para trens de saıda. Um lugar mais adequado para
esperar pode ser o no 17 ou 18. Dessa forma, a restricao de inequacao 4.11 pode
ser revisada para restricao de igualdade para alguns segmentos. A condicao para
que essa restricao possa ser revisada nao depende apenas do territorio, mas tambem
depende da direcao do trem. Para trens de saıda, as paradas foram permitidas
apenas nos trechos referentes aos segmentos 1, 11, 23, 28, 32, 34, 40 e 50. Ja
para trens de entrada, e permitido parar apenas em trechos que pertencem aos
segmentos 1, 11, 23, 27, 30, 32, 36 e 50. Impedir que os trens parem em alguns nos
serve para eliminar cenarios duplicados ou otimos alternativos, melhorando assim o
desempenho computacional.
Fixacao de variaveis βt,i relacionadas a MV
Se na restricao 4.27 o limite inferior de xentryt,i (similarmente calculado como o
limite inferior de xexitt,i ) for maior do que ou igual a MV end)i, entao por definicao
βt,i deve assumir o valor 1. Isso permite pre-ativar algumas das restricoes 4.27 e
desativar algumas restricoes 4.28.
Ajuste de big-M
Customizar big-M para cada restricao pode fortalecer a formulacao mais do que
se big-M for atribuıdo arbitrariamente. O valor de big-M foi configurado com base
33
no limite inferior de xexitt , i na maioria das restricoes. Nas restricoes 4.16 e 4.17,
big-M e dado como
M = max(xexitt,i − xentryt,i , 0) + ∆T (4.50)
onde ∆T e uma tolerancia de 5 horas. Nas restricoes 4.28, 4.30, 4.31, 4.35 e 4.36, o
valor de big-M e configurado como
M = xexitt,i + ∆T (4.51)
Nas restricoes 4.29 e 4.38, big-M assume o valor do horizonte de planejamento ε. E,
por fim, o big-M da restricao 4.37 recebe o valor de TPTt.
4.3.2 Algoritmo de Incrementacao
Ao tentar resolver o modelo proposto acima ate a otimalidade, observou-se que
o resolvedor possui uma grande dificuldade para encontrar uma unica solucao viavel
para o problema, podendo ficar rodando por horas sem ao menos encontrar uma
solucao que atenda todas as restricoes. Com base nessa observacao, propomos aqui
um algoritmo de incrementacao onde a ideia e, como o nome sugere, adicionar os
trens de forma incremental e resolver os subproblemas ate a otimalidade, fixar a
solucao encontrada e adicionar o proximo trem. Isso permite que o resolvedor comece
cada subproblema sempre com uma solucao viavel que melhora consideravelmente o
tempo para encontrar uma solucao viavel e, consequentemente, convergir para uma
solucao otima ou proxima a ela. Uma ordenacao inicial dos trens pelo tempo de
entrada, permite encontrar uma melhor solucao viavel. Apresentamos a seguir o
algoritmo proposto:
Algoritmo 1: Incrementacao
inıcioDefine tempoLimiteOrdena os trens pelo seu tempo de entrada, indexado por t.para todo trem t ∈ T faca
Adiciona o trem t ao subproblemaResolve o subproblema ate a otimalidadeFixar todas as variaveis para o trem t.
fim para todoDesafixar variaveis e resolver o problema ate a otimalidade ou ate atingiro tempoLimite retorna trens sequenciados
fim
34
4.3.3 Algoritmo de Decomposicao
Motivado pelo fato de que trens cronologicamente distantes sao relativamente
independentes e o impacto entre eles e insignificante, e proposto por [50] um
algoritmo de decomposicao baseado no horizonte de planejamento. Primeiramente,
os trens sao ordenados pelo tempo de entrada. Entao, em cada iteracao i, otimiza-
se um subproblema contendo apenas os trens cujo tempo de entrada e menor do
que um limiar δi. Apos a obtencao da solucao otima do subproblema, para os
trens que chegam em seu destino antes do tempo δi, todas as variaveis (qual trecho
tomar, tempo de entrada e saıda em cada segmento, etc) sao fixadas no seu valor
otimo, incluindo as variaveis de sequencia com outros trens. Para os trens que nao
conseguiram chegar antes do tempo δi, fixa-se apenas as variaveis correspondentes
a eventos que ocorrem antes de um tempo δi − δr, com δr sendo um tempo de
reversao. Dessa forma, os trens sao despachados dinamicamente em cada iteracao
ate que todos os trens sejam programados. Apresentamos a seguir o algoritmo
proposto:
Algoritmo 2: Decomposicao
inıcioOrdena os trens pelo seu tempo de entrada, indexado por t.Define o numero de iteracoes m, indexado por i, e o limiar δi.Define δm = ε.Define i = 1.enquanto i ≤ m faca
Resolve o subproblema que despacha os trens com bt < δi.se i = m entao
Parafim separa todo trem sequenciado faca
se xexitt,dt≤ δi entao
Fixar todas as variaveis para o trem t.fim sesenao
Fixar todas as variaveis para eventos com xexitt,i < δi − δrfim se
fim para todoi = i + 1
fim enqtoretorna trens sequenciados
fim
No proximo capıtulo, apresentaremos detalhes da implementacao das for-
mulacoes e algoritmos apresentados acima, bem como os resultados computacionais
obtidos para solucao do PST.
35
Capıtulo 5
Resultados e Discursoes
Esse capıtulo apresenta os resultados computacionais obtidos pela imple-
mentacao das formulacoes e algoritmos apresentados no Capıtulo 4 para solucao
do problema de sequenciamento de trens definido no Capıtulo 3.
A implementacao foi feita utilizando a linguagem de programacao Java (veja,
por exemplo, [54]) invocando o resolvedor comercial ILOG CPLEX V12.4, um
resolvedor de programacao matematica de alto desempenho para programacao
linear, programacao mista e programacao quadratica [55]. Todos os parametros
do resolvedor foram mantidos com sua configuracao padrao, exceto para o tempo
maximo de processamento que foi fixado em 1 hora.
Como problema para validacao da eficiencia das formulacoes e algoritmos, foram
utilizados as tres instancias fornecidas pela competicao. Essas instancias tem
tamanho e complexidade crescentes, sendo que a primeira possui 12 trens a serem
sequenciados, a segunda possui 18 trens com possibilidade de trens que ja estao em
movimento na ferrovia
Os resultados apresentados na Tabela 5.1 foram executados em um computador
com um processador Intel Core i7, com um clock de 2.2GHz e 8Gb de memoria
RAM disponıvel. O sistema operacional utilizado foi o Windows Seven Professional
de 64 bits.
Decomposicao Incrementacao PIM PI
Entrada Obj. Tempo(s) Obj. Tempo(s) Gap(%) Obj. Tempo(s) Gap(%) Obj. Tempo(s) Gap(%)1 873.33 16.62 799.94 1204.32 0.0 11391.36 3600 98.53 2981.24 1896.33 0.02 4499.68 66.24 5464.46 3600 86.09 - - - - - -
3 7138.30 640.61 9918.02 3600 74.09 - - - - - - 1
Tabela 5.1: Resultados: computador pessoal
Na tentativa de encontrar a solucao otima ou uma solucao que se aproxima mais
da otimalidade, os mesmos testes foram executados em um computador de alto
desempenho com um processador Intel(R) Xeon(R), clock de 3.07GHz e 48Gb de
1: “-”Nenhuma solucao viavel encontrada dentro de 1 hora.
36
memoria RAM disponıvel. Os resultados decorrentes desses testes sao reportados
na Tabela 5.2.
Decomposicao Incrementacao PIM PI
Entrada Obj. Tempo (s) Obj. Tempo (s) Gap(%) Obj. Tempo (s) Gap(%) Obj. Tempo (s) Gap(%)1 873.33 10.04 799.94 808.686 0.0 1173.76 3600 80.41 2981.24 1014.26 0.02 4499.68 47.83 4042.93 3600 84.18 - - - 7172.91 3600 35.723 7138.30 443.90 8805.90 3600 70.60 - - - - - -
Tabela 5.2: Resultados: computador de alto desempenho
Para os testes computacionais das diferentes abordagens de solucao, as Tabelas
5.1 e 5.2 reportam o custo da funcao objetivo (“Obj.”) em valor monetario, o tempo
de CPU (“Tempo”) em segundos e a folga (“Gap”) entre as solucoes do modelo
primal e dual, ou seja, o quao proximo a solucao pode esta do valor otimo. As
colunas “PI”e “PIM”relatam os resultados dos testes para a formulacao inteira
e a formulacao inteira mista, respectivamente. A coluna “Incrementacao”reporta
os resultados dos testes ao implementar a formulacao inteira mista utilizando
o Algoritmo de Incrementacao proposto no Capıtulo 4. E, por fim, a coluna
“Decomposicao”relata os resultados para o Algoritmo de Decomposicao apresentado
anteriormente. Foram feitos varios testes para encontrar um tamanho de passo para
incremento do limiar δi e um tempo de reversao δr satisfatorio e reportados os
resultados com o melhor desempenho computacional. Para a Entrada 1 foi utilizado
um tamanho de passo de 4 horas e para a Entrada 2 e Entrada 3 utilizou-se um
passo de 1 hora. O tempo de reversao foi de 2 horas para a Entrada 1 e de meia
hora para a Entrada 2 e Entrada 3. A escolha dos parametros pode configurar uma
desvantagem no Algoritmo de Decomposicao, pois nao e possıvel saber de antemao
o valor a adotar para uma entrada nova, porem, o que se pode fazer e uma analise
dos dados de entrada de forma que o tamanho do passo divida de forma homogenea
a quantidade de trens para os subproblemas.
A Tabela 5.3 fornece informacoes para comparacao da formulacao inteira com a
formulacao inteira mista em termos de numeros de variaveis e restricoes. Percebemos
que mesmo a formulacao PIM sendo muito mais complexa que a formulacao PI,
ainda assim possui um numero de variaveis e restricoes consideravelmente menor
que a formulacao PI. Alem do mais, das variaveis da formulacao PIM, uma certa
quantidade sao variaveis continua, o que pode facilitar ainda mais ao tentar resolver
o problema.
PIM Melhorado IP Original
Dados Variaveis Restricoes Variaveis Restricoes1 12441 30240 53119 539492 23259 58280 100087 941833 28500 62678 99648 93532
Tabela 5.3: Comparacao entre formulacoes
37
Os resultados computacionais claramente demonstram a eficacia do Algoritmo de
Incrementacao proposto aqui quando o objetivo e chegar a otimalidade da solucao.
Para a Entrada 1, ao implementar o Algoritmo de Incrementacao foi possıvel
encontrar a solucao otima em menos de meia hora, enquanto que a formulacao PIM
implementada sem essa estrategia, executando durante 1 hora em um computador
pessoal, encontrou um valor para a funcao objetivo mais que 13 vezes maior e com
uma folga de 98,5%.
Fica evidente tambem nos resultados a vantagem da formulacao PIM sobre
a formulacao PI. Nos testes executados tanto no computador pessoal quanto no
computador de alto desempenho, para a Entrada 1 a solucao otima encontrada na
formulacao PI e quase 4 vezes maior que a solucao otima da formulacao PIM, alem
desta primeira ter despendido mais tempo que a ultima. Para a Entrada 2 o valor
da funcao objetivo encontrado em 1 hora de execucao e melhor que o valor objetivo
encontrado para a formulacao PI ao executar pelo mesmo tempo em um computador
de alto desempenho. Ja para a Entrada 3, a mais difıcil, a a abordagem PI nao foi
capaz de nem mesmo fornecer uma solucao viavel dentro de 1 hora de processamento.
Mesmo com a eficacia da abordagem PIM e do Algoritmo de Incrementacao,
tentar chegar a uma solucao otima para o problema pode demandar muito tempo,
nesse sentido o Algoritmo de Decomposicao demonstrou ser capaz de encontrar
um valor muito proximo da solucao otima ou da melhor solucao encontrada nas
outras abordagens. Nos testes executados no computado pessoal, o algoritmo
de decomposicao encontrou uma solucao para o problema da Entrada 1 muito
proxima da solucao otima em aproximadamente 16 segundos. Para a Entrada 2, em
pouco mais de 1 minuto o Algoritmo de Decomposicao foi capaz de encontrar uma
solucao viavel melhor que a encontrada ao buscar a solucao otima pelo Algoritmo
de Incrementacao. O mesmo acontece para a Entrada 3, a instancia mais difıcil,
o Algoritmo de Decomposicao encontra uma solucao viavel com valor objetivo
de $7138.30 em aproximadamente 440 segundos, enquanto que rodando em um
computador de alto desempenho por 1 hora o melhor valor encontrado foi de
$9918.02.
As Figuras 5.1, 5.2 e 5.3 apresentam um diagrama tempo-espaco para o resultado
obtido a partir do algoritmo de decomposicao. Esses diagramas permitem uma
analise grafica do atraso de cada trem e identificar onde houve cruzamento entre
trens atraves de vias paralelas ou eventos de encontro-e-passagem.
O diagrama de tempo-espaco e um metodo padrao para apresentacao de
resultados de sequenciamento de trens, pontos de encontro e atrasos associados.
Muitas ferrovias de carga ainda dependem de sequenciamento de trens que sao feitos
manualmente por despachantes qualificados que utilizam esse tipo de diagrama.
38
Figura 5.1: Diagrama Tempo-Espaco: Conjunto de Dados 1
Figura 5.2: Diagrama Tempo-Espaco: Conjunto de Dados 2
39
Figura 5.3: Diagrama Tempo-Espaco: Conjunto de Dados 3
40
Capıtulo 6
Conclusao
Nessa dissertacao, o Problema de Sequenciamento de Trens foi apresentado
como um problema de programacao matematica e modelado como um problema de
fluxo em redes. Foram estudadas varias abordagens para a resolucao do problema
e apresentadas duas formulacoes matematicas, alem de um algoritmo heurıstico.
Baseado em uma das formulacoes, o algoritmo incremental proposto se mostrou
eficaz na busca de uma solucao viavel inicial de qualidade para o problema e,
consequentemente, acelerando a convergencia para a solucao otima. Foi possıvel
perceber a vantagem da formulacao mista em relacao a programacao inteira, tanto
em numero de restricoes e variaveis, quanto em tempo de resolucao e qualidade da
solucao. O algoritmo de decomposicao apresentado se mostrou capaz de encontrar
uma solucao muito proxima da solucao otima para o problema, acelerando o processo
de resolucao em mais de 80 vezes em relacao a segunda melhor abordagem. O
algoritmo tambem foi capaz de fornecer uma solucao de alta qualidade para entradas
maiores respeitando os requisitos operacionais.
6.1 Trabalhos Futuros
Como trabalhos futuros ha a possibilidade de aplicar o algoritmo de decom-
posicao no modelo de programacao inteira, o que poderia melhorar o tempo de
solucao e permitir uma discretizacao menor do horizonte de planejamento, o que
pode melhorar consideravelmente a qualidade da solucao. Outra possibilidade e
estudar uma forma de selecao mais sofisticada e inteligente para os parametros de
tamanho do passo e tempo de reversao do algoritmo de decomposicao, visto que
esses parametros tem um grande impacto no tempo e qualidade da solucao.
41
Apendice A
Territorio
Figura A.1: Territorio
42
Apendice B
Segmentos
Figura B.1: Divisao do territorio em segmentos
43
Apendice C
Lista de Segmentos
ID do Segmento Arcos ID do Segmento Arcos
0 (0,1) (0,2) 27 (41,42) (40,43)1 (1,3) (2,4) 28 (42,44) (43,45)2 (3,5) (4,5) 29 (44,46) (44,47) (45,47) (45,46)3 (5,6) 30 (46,48) (47,49)4 (6,7) 31 (49,50) (49,51) (48,48)5 (7,8) 32 (50,52) (51,53) (48,54)6 (8,10) 33 (52,55) (53,55) (54,54)7 (10,12) 34 (55,56) (54,54)8 (12,13) 35 (54,57) (54,58) (56,58) (56,57)9 (13,14) 36 (57,59) (58,60)10 (14,15) (14,16) 37 (59,61) (60,62)11 (15,17) (16,18) 38 (61,63) (62,64)12 (17,19) (18,19) 39 (63,65) (64,66)13 (19,20) 40 (65,67) (66,68)14 (20,21) 41 (67,69) (68,69)15 (21,22) 42 (69,70)16 (22,25) 43 (70,71)17 (25,26) 44 (71,72)18 (26,27) 45 (72,74)19 (27,28) 46 (74,76)20 (28,30) 47 (76,77)21 (30,31) 48 (77,78)22 (31,32) (31,33) 49 (78,79) (78,80)23 (32,34) (33,35) 50 (79,81) (80,82)24 (34,36) (35,36) 51 (81,38) (82,38)25 (36,37) 52 (38,39)26 (37,40) (37,41)
Tabela C.1: Lista de segmentos e arcos correspondentes
44
Referencias Bibliograficas
[1] INFORMS. “2012 RAS Problem Solving Competition
@ONLINE”. jun. 2012. Disponıvel em: <http://www.
informs.org/Community/RAS/Problem-Solving-Competition/
2012-RAS-Problem-Solving-Competition>.
[2] SAHIN, G., AHUJA, R., CUNHA, C. “Integer programming based solution
approaches for the train dispatching problem”, European Journal of
Operational Research, 2010.
[3] AHUJA, R., CUNHA, C., SAHIN, G. “Network models in railroad planning and
scheduling”, TutORials in Operations Research, v. 1, pp. 54–101, 2005.
[4] ANTT. “Transporte Ferroviario de Cargas @ONLINE”. jun. 2013. Dis-
ponıvel em: <http://www.antt.gov.br/index.php/content/view/
4735.html>.
[5] BECKMANN, M., MCGUIRE, C., WINSTEN, C. B. Studies in the Economics
of Transportation. Relatorio tecnico, 1956.
[6] LIU, J. Solving real-life transportation scheduling problems. Tese de Doutorado,
University of Florida, 2003.
[7] AHUJA, R. K., JHA, K. C., LIU, J. “Solving real-life railroad blocking
problems”, Interfaces, v. 37, n. 5, pp. 404–419, 2007.
[8] SARMENTO, R. A., GARCIA, A. S., BOERES&, M. C., et al. “UMA PRO-
POSTA DE FORMULACAO PARA O PROBLEMA DE BLOCAGEM
DE VAGOES EM FERROVIAS”, .
[9] NEWTON, H. N. Network Design Under Budget Constraints With Application
To The Railroad Blocking Problem. Relatorio tecnico, DTIC Document,
1997.
[10] BARNHART, C., JIN, H., VANCE, P. H. “Railroad blocking: A network design
application”, Operations Research, v. 48, n. 4, pp. 603–614, 2000.
45
[11] AHUJA, R., LIU, J., SAHIN, G. Railroads yard location problem. Relatorio
tecnico, Working paper, Innovative Scheduling Systems, Inc., Gainesville,
FL, 2005.
[12] ASSAD, A. “Models for rail transportation”, Transportation Research Part A:
General, v. 14, n. 3, pp. 205–220, 1980.
[13] CRAINIC, T., FERLAND, J., ROUSSEAU, J. “A tactical planning model for
rail freight transportation”, Transportation Science, v. 18, n. 2, pp. 165–
184, 1984.
[14] CRAINIC, T., ROUSSEAU, J. “Multicommodity, multimode freight trans-
portation: A general modeling and algorithmic framework for the
service network design problem”, Transportation Research Part B:
Methodological, v. 20, n. 3, pp. 225–242, 1986.
[15] HAGHANI, A. “Formulation and solution of a combined train routing and
makeup, and empty car distribution model”, Transportation Research
Part B: Methodological, v. 23, n. 6, pp. 433–452, 1989.
[16] KEATON, M. “Designing optimal railroad operating plans: Lagrangian
relaxation and heuristic approaches”, Transportation Research Part B:
Methodological, v. 23, n. 6, pp. 415–431, 1989.
[17] KEATON, M. “Service-cost tradeoffs for carload freight traffic in the US rail
industry”, Transportation Research Part A: General, v. 25, n. 6, pp. 363–
374, 1991.
[18] KEATON, M. “Designing railroad operating plans: A dual adjustment method
for implementing Lagrangian relaxation”, Transportation Science, v. 26,
n. 4, pp. 263–279, 1992.
[19] FRANCIS GORMAN, M. “An application of genetic and tabu searches to the
freight railroad operating plan problem”, Annals of Operations Research,
v. 78, pp. 51–69, 1998.
[20] CAPRARA, A., FISCHETTI, M., GUIDA, P. L., et al. “Solution of real-world
train timetabling problems”. In: System Sciences, 2001. Proceedings of
the 34th Annual Hawaii International Conference on, pp. 10–pp. IEEE,
2001.
[21] CAPRARA, A., MONACI, M., TOTH, P., et al. “A Lagrangian heuristic
algorithm for a real-world train timetabling problem”, Discrete Applied
Mathematics, v. 154, n. 5, pp. 738–753, 2006.
46
[22] STROTMANN, C. Railway scheduling problems and their decomposition. Tese
de Doutorado, PhD thesis, Universitat Osnabruck, 2007.
[23] FISCHER, F., HELMBERG, C., JANSEN, J., et al. “Towards Solving Very
Large Scale Train Timetabling Problems by Lagrangian Relaxation”. In:
Fischetti, M., Widmayer, P. (Eds.), ATMOS 2008 - 8th Workshop on
Algorithmic Approaches for Transportation Modeling, Optimization, and
Systems, Dagstuhl, Germany, 2008. Schloss Dagstuhl - Leibniz-Zentrum
fuer Informatik, Germany. Disponıvel em: <http://drops.dagstuhl.
de/opus/volltexte/2008/1585>.
[24] CHARNES, A., MILLER, M. H. “A model for the optimal programming of
railway freight train movements”, Management Science, v. 3, n. 1, pp. 74–
92, 1956.
[25] CORDEAU, J., TOTH, P., VIGO, D. “A survey of optimization models for
train routing and scheduling”, Transportation Science, v. 32, n. 4, pp. 380–
404, 1998.
[26] FORBES, M., HOLT, J., WATTS, A. “Exact solution of locomotive scheduling
problems”, Journal of the Operational Research Society, pp. 825–831,
1991.
[27] WRIGHT, M. “Applying stochastic algorithms to a locomotive scheduling
problem”, Journal of the Operational Research Society, pp. 187–192, 1989.
[28] CHIH, K., HORNUNG, M., ROTHENBERG, M., et al. “Implementation of a
real time locomotive distribution system”. 1990.
[29] NOU, A., DESROSIERS, J., SOUMIS, F. “Weekly locomotive scheduling at
Swedish state railways”, Cahiers du GERAD, 1997.
[30] FLORIAN, M., GUERIN, G., BUSHELL, G., et al. The engine scheduling
problem in a railway network. Departement d’informatique, Universite de
Montreal, 1972.
[31] SMITH, S., SHEFFI, Y. Locomotive scheduling under uncertain demand. N.
1251. 1989.
[32] ZIARATI, K., SOUMIS, F., DESROSIERS, J., et al. “Locomotive assignment
with heterogeneous consists at CN North America”, European journal of
operational research, v. 97, n. 2, pp. 281–292, 1997.
47
[33] ZIARATI, K., SOUMIS, F., DESROSIERS, J., et al. “A branch-first, cut-
second approach for locomotive assignment”, Management Science, pp.
1156–1168, 1999.
[34] CORDEAU, J., SOUMIS, F., DESROSIERS, J. “A Benders decomposition
approach for the locomotive and car assignment problem”, Transportation
Science, v. 34, n. 2, pp. 133–149, 2000.
[35] RAMANI, K. “An information system for allocating coach stock on Indian
Railways”, Interfaces, pp. 44–51, 1981.
[36] RIVIER, R., TZIEROPOULOS, P. “Interactive graphic models for railway ope-
rational planning”, PRACTICE OF TRANSPORTATION PLANNING,
1985.
[37] RIVIER, R., TZIEROPOULOS, P. “Computer-aided planning for railway
networks, lines and stations”. In: Computers in railway management, pp.
3–16. Springer-Verlag New York, Inc., 1987.
[38] SAUDER, R., WESTERMAN, W. “Computer aided train dispatching: decision
support through optimization”, Interfaces, pp. 24–37, 1983.
[39] MEES, A. “Railway scheduling by network optimization”, Mathematical and
Computer Modelling, v. 15, n. 1, pp. 33–42, 1991.
[40] BRANNLUND, U., LINDBERG, P., NOU, A., et al. “Railway timetabling
using lagrangian relaxation”, Transportation Science, v. 32, n. 4, pp. 358–
369, 1998.
[41] OLIVEIRA, E., SMITH, B. “A job-shop scheduling model for the single-
track railway scheduling problem”, RESEARCH REPORT SERIES-
UNIVERSITY OF LEEDS SCHOOL OF COMPUTER STUDIES LU
SCS RR, , n. 21, 2000.
[42] CAPRARA, A., FISCHETTI, M., TOTH, P. “Modeling and solving the train
timetabling problem”, Operations Research, pp. 851–861, 2002.
[43] HIGGINS, A., KOZAN, E., FERREIRA, L. “Optimal scheduling of trains on a
single line track”, Transportation Research Part B: Methodological, v. 30,
n. 2, pp. 147–161, 1996.
[44] HIGGINS, A., KOZAN, E., FERREIRA, L. “Heuristic techniques for single
line train scheduling”, Journal of Heuristics, v. 3, n. 1, pp. 43–62, 1997.
48
[45] KRAAY, D., HARKER, P. “Real-time scheduling of freight railroads”,
Transportation Research Part B: Methodological, v. 29, n. 3, pp. 213–229,
1995.
[46] CAREY, M. “A model and strategy for train pathing with choice of lines,
platforms, and routes”, Transportation Research Part B: Methodological,
v. 28, n. 5, pp. 333–353, 1994.
[47] NAGARAJAN, V., RANADE, A. “Exact train pathing”, Journal of Scheduling,
v. 11, n. 4, pp. 279–297, 2008.
[48] CAI, X., GOH, C., MEES, A. “Greedy heuristics for rapid scheduling of trains
on a single track”, IIE transactions, v. 30, n. 5, pp. 481–493, 1998.
[49] SAHIN, I. “Railway traffic control and train scheduling based oninter-train
conflict management”, Transportation Research Part B: Methodological,
v. 33, n. 7, pp. 511–534, 1999.
[50] YAN, C., YANG, L. Mixed-integer Programming Based Approaches
for the Movement Planner Problem: Model, Heuristics and De-
composition. Relatorio tecnico, Department of Industrial Engine-
ering, Tsinghua University, Beijing, China, October 2012. Dis-
ponıvel em: <https://www.informs.org/content/download/263138/
2473569/file/[email protected]>.
[51] AHUJA, R. K., MAGNANTI, T. L., ORLIN, J. B. Network Flows:
Theory, Algorithms, and Applications. Prentice Hall, fev. 1993.
ISBN: 9780136175490. Disponıvel em: <http://www.amazon.com/exec/
obidos/redirect?tag=citeulike07-20&path=ASIN/013617549X>.
[52] PERSSON, J. A., OTHERS. “N-Tracked Railway Traffic Re-Scheduling During
Disturbances”, Transportation Research Part B: Methodological, v. 41,
n. 3, 2007.
[53] MU, S., DESSOUKY, M. “Scheduling freight trains traveling on complex
networks”, Transportation Research Part B: Methodological, v. 45, n. 7,
pp. 1103–1123, 2011.
[54] DEITEL, H. M., DEITEL, P. J. Java: how to program: with an introduction
to Visual J++. Prentice-Hall, Inc., 1997.
[55] IBM. “CPLEX Optimizer @ONLINE”. 2013. Disponıvel em:
<http://www-01.ibm.com/software/commerce/optimization/
cplex-optimizer/index.html>.
49