• Nenhum resultado encontrado

LOGÍSTICA FERROVIÁRIA: RESOLUÇÃO DO PROBLEMA DE ALOCAÇÃO ÓTIMA DE VAGÕES E LOCOMOTIVAS NO CURTO PRAZO

N/A
N/A
Protected

Academic year: 2021

Share "LOGÍSTICA FERROVIÁRIA: RESOLUÇÃO DO PROBLEMA DE ALOCAÇÃO ÓTIMA DE VAGÕES E LOCOMOTIVAS NO CURTO PRAZO"

Copied!
12
0
0

Texto

(1)

LOGÍSTICA FERROVIÁRIA: RESOLUÇÃO DO PROBLEMA DE ALOCAÇÃO

ÓTIMA DE VAGÕES E LOCOMOTIVAS NO CURTO PRAZO

Fernanda Hamacher

Departamento de Engenharia Elétrica, PUC-Rio

R. Marques de São Vicente, 225, Rio de Janeiro, Brasil, 22453-900

fhamacher@gmail.com

Oscar Porto

Departamento de Engenharia Elétrica, PUC-Rio

R. Marques de São Vicente, 225, Rio de Janeiro, Brasil, 22453-900 oscar@ele.puc-rio.br

Eduardo Uchoa

Departamento de Engenharia de Produção, Universidade Federal Fluminense R. Passo da Pátria, 156, Bloco E, sala 440, Niterói, Brasil, 24210-240

uchoa@producao.uff.br Marcus Poggi

Departamento de Informática, PUC-Rio

R. Marques de São Vicente, 225, Rio de Janeiro, Brasil, 22453-900 poggi@inf.puc-rio.br

Resumo: A alta complexidade do processo logístico de transporte ferroviário de carga, propicia um ambiente favorável para o desenvolvimento de ferramentas de apoio à decisão que possibilitam uma melhor utilização dos recursos envolvidos. Neste trabalho é apresentado um modelo de programação inteira para o Problema da Alocação ótima de Vagões e Locomotivas no curto prazo (PAVL). Esse problema consiste em determinar a movimentação de vagões (carregados e vazios) e locomotivas na malha de maneira a maximizar o retorno obtido pela demanda atendida no período considerado. Além disso, é apresentada uma extensão para esse modelo onde se permite atrasar ou adiantar trens no primeiro dia do horizonte de planejamento. Esse problema foi resolvido de maneira ótima ou quase ótima em tempo razoável, tanto em termos acadêmicos como para sua utilização prática. São apresentados o problema, a formulação do modelo, as técnicas de pré-processamento utilizadas, assim como resultados computacionais de instâncias reais.

Palavras-chave: Logística Ferroviária, Programação Inteira, Multifluxo, Pré-processamento

Abstract: The complexity of the logistic process in railway freight transportation provides a natural environment for the development of decision support tools that allows the companies to make a more efficient use of their resources. In this work we present an integer programming model for the Cars and Locomotives short-term Allocation Problem. This problem consists in determining the movement of the cars (loaded and empty) and locomotives on the railway network in order to maximize the profit obtained with the requested demand in the given period. We also present an extension of the model in which certain delays and anticipations of trains on the first day of the period are allowed. For all instances tested, this problem was solved to optimality or near-optimality in a reasonable time, either for academic or practical purposes. We present a description of the problem, the mathematical formulation, the preprocessing techniques used, as well as the computational results obtained.

(2)

1. INTRODUÇÃO

A alta complexidade de um sistema ferroviário exige que um grande número de decisões inter-relacionadas sejam tomadas permanentemente para garantir a viabilidade da sua operação, procurando também, índices crescentes de eficiência e robustez. Como tais decisões dependem de um grande volume de informações e exigem atenção a inúmeros detalhes técnicos, a única abordagem viável para controlar, planejar e operar uma ferrovia é dividir o problema de operação global em subproblemas menores, de dimensões, complexidades e estrutura apropriadas para serem resolvidos separadamente. Os problemas de transporte ferroviário podem ser classificados de diversas maneiras. Por exemplo, problemas de ferrovias de carga ou de passageiros; problemas locais (envolvendo apenas operações locais de pátios ou trechos) ou globais (decisões que envolvem todos os recursos da ferrovia). Nos concentramos aqui em problemas globais de transporte ferroviário de carga.

Tais problemas também podem ser classificados quanto ao horizonte de planejamento. Os problemas estratégicos tratam de decisões mais estruturais da ferrovia, com impacto de longo prazo e efeito duradouro, como por exemplo, a aquisição de novos equipamentos; construção, melhoria ou mesmo desativação de trechos; construção de silos para depósitos de mercadorias e outros. No nível tático, os problemas têm impacto de curto e médio prazos e são também chamados de problemas de planejamento. Normalmente, esses problemas consistem em definir estratégias a serem adotadas na ferrovia, modos de operação e planos

válidos por um período razoável de tempo (por exemplo um mês). Nessa classe de problemas estão, por exemplo, o Problema de Planejamento de Atendimento a Demandas e o Problema da Elaboração da Grade de Trens.

A curtíssimo prazo, existem os problemas operacionais que dizem respeito a decisões que devem ser tomadas imediatamente, ou no máximo em um dia. Esse último tipo de problemas deve considerar o maior número de detalhes possível e serve para ajustar os planos previamente definidos à realidade, levando-se em conta todos os imprevistos ocorridos. Dentro desta classe se encontram o Problema de Fluxo de Vagões, o Problema de Fluxo de Locomotivas, o Problema de Escala de Trens e o Problema de Escalonamento de Maquinistas.

Esse trabalho tem como objetivo apresentar uma metodologia para a alocação ótima de vagões e locomotivas no curto prazo descrevendo o modelo e técnicas de otimização envolvidos no processo. Esse é um dos principais problemas da área ferroviária e aqui ele será referenciado como o Problema da Alocação ótima de Vagões e Locomotivas no curto prazo (PAVL).

O problema aqui estudado é extremamente operacional e tem como principal objetivo determinar a distribuição de vagões (carregados e vazios) e locomotivas que maximiza o retorno sobre os ativos para um horizonte de planejamento de quatro dias. Além disso, ele faz a alocação de tração, a escala de trens e define que demandas serão efetivamente atendidas. Dessa forma, ele é um problema fundamental para operadoras ferroviárias já que consegue decidir várias das principais questões operacionais simultaneamente.

Para esse problema, foi desenvolvido um modelo multiperiódico baseado no modelo de multifluxos. Nele são contempladas todas as movimentações e operações de vagões e locomotivas que podem ser feitas no horizonte considerado. A decisão de que trens devem efetivamente circular e de que composição de locomotivas formará cada trem influencia na capacidade de tração em cada trecho da malha a cada instante, junto com a possibilidade de escolha de horário de saída dos trens do primeiro dia do horizonte de planejamento.

A formulação feita para o modelo do problema possui um grande número de variáveis (podendo chegar a milhões de variáveis), e foram resolvidas utilizando um pacote genérico de programação inteira, CPLEX 9.0. Para poder resolver problemas de programação inteira de tamanho tão grande foram necessários alguns pré-processamentos de modo a reduzir o número de variáveis. As relaxações lineares das formulações destes modelos fornecem limites muito bons, permitindo a obtenção de soluções ótimas, ou quase ótimas, em tempos compatíveis com a dinâmica da operação.

(3)

2. DETALHAMENTO DO PROBLEMA ESTUDADO

Dadas as demandas programadas para um pequeno intervalo de tempo (usualmente uma semana) e os trens que podem circular a cada dia, o Problema da Alocação ótima de Vagões e Locomotivas no curto prazo consiste em achar um fluxo viável de vagões e locomotivas para atender as demandas do período, total ou parcialmente, de maneira a maximizar o retorno obtido.

É muito comum dividir o Problema de Fluxo de Vagões e Locomotivas em dois subproblemas. Primeiro os vagões são associados a trens e então as locomotivas são atribuídas de forma a gerar tração necessária em cada trem para puxar os vagões. No entanto, neste trabalho resolveremos o Problema de Fluxo de Vagões e Locomotivas simultaneamente. No caso do transporte de cargas, esse problema se torna ainda mais complexo, dado que aqui também teremos que decidir a rota dos vagões carregados e vazios e as composições de locomotivas que formarão cada trem.

Para um horizonte de planejamento de quatro dias será feita a distribuição de vagões e locomotivas e serão definidas as composições que formarão cada trem. Além disso, os horários de partida dos trens poderão ser ajustados para o primeiro dia do período. Aqui o primeiro dia do horizonte de planejamento é denotado por D+1 já que D é o dia em que é feito o planejamento. O sistema deve otimizar o atendimento fazendo apenas pequenas alterações na grade para ajustá-la a eventuais imprevistos como o cancelamento de demandas, ou a quebra de um vagão ou locomotiva, por exemplo; isso porque os operadores da malha ferroviária desejam o máximo de regularidade possível nas suas operações.

2.1. Dados de Entrada do Problema

Pátios (ou Estações) – constituem os pontos notáveis da rede de transporte. Um pátio tem como

atributo a capacidade máxima de vagões estacionados. Os seguintes eventos podem acontecer em um pátio: vagões e locomotivas podem ficar estacionados, ser anexados ou desanexados a trem ou ainda os vagões podem ser carregados ou descarregados.

Tipos de vagões – são os elementos responsáveis pelo transporte dos produtos. Seus principais

atributos são o tipo, que caracteriza a classe de produtos que podem ser transportados, a tara, que corresponde ao peso do vagão vazio, e a capacidade, que varia com a classe de produtos carregados.

Locomotivas – são os elementos responsáveis pelo tracionamento do conjunto. As locomotivas,

dependendo do seu modelo, têm como características a tara, a KGF, a capacidade de tração (em TB) e o consumo de diesel, sendo que essas duas últimas características dependem do perfil de rampa compensada. As locomotivas podem estar ativas (gerando tração) ou podem estar desligas (sendo arrastadas como um vagão em um trem).

Estado inicial dos vagões – é uma "fotografia" que mostra como os vagões estão distribuídos no

instante inicial e em que situação eles se encontram. Um vagão pode estar estacionado em um pátio, pode estar sendo anexado ou desanexado de um trem, pode estar sendo carregado ou descarregado ou ainda pode estar se movimentando em trem no instante inicial. Estão associados ao estado inicial de cada vagão: o tipo do vagão, o pátio em que ele se encontra, a demanda, caso ele esteja carregado e o tempo que ele demora até que alguma decisão sobre ele possa ser tomada.

Estado inicial das locomotivas – é uma "fotografia" que mostra como as locomotivas estão

distribuídas no instante inicial. O estado inicial de uma locomotiva é definido pelo modelo da locomotiva, pelo pátio em que ela se encontra e pelo tempo que ela demora até ficar disponível.

Pares de Estações – são ligações entre duas estações vizinhas. Os principais atributos de um par de

estações são a capacidade de suporte em número de vagões, o tempo de percurso estimado, a distancia em quilômetros, a tração em KGF (Quilograma-Força) máxima permitida e o perfil de rampa compensada, indicando a inclinação da rampa entre as estações.

Trens – são formados por uma composição de locomotivas percorrendo uma rota (trecho) em um

determinado horário. Cada trecho percorrido pelo trem tem uma quantidade máxima de KGF suportada.

(4)

Quadro de tração – KGF gerada por cada modelo de locomotiva.

Quadro de acoplamento – possíveis acoplamentos entre modelos de locomotivas. Ao acoplar dois

modelos diferentes de locomotivas numa mesma composição a tração gerada por cada uma das locomotivas será multiplicada por um fator de perda de tração no acoplamento.

Possibilidade de utilização – indica que modelos de locomotivas podem circular em cada trecho. Fluxos – são definidos pelo cliente, mercadoria, origem, destino.

Tipos de vagão por fluxo – são os conjuntos de tipos de vagões capazes de atender a cada fluxo. Demandas – são caracterizadas por um pedido de uma certa quantidade de vagões de um determinado

fluxo, por uma data de carregamento, por uma receita (tarifa) e por uma estimativa dos tempos de carregamento e descarregamento. A data de descarregamento da demanda é indefinida.

2.2. Considerações

Abaixo estão algumas considerações feitas na elaboração do modelo:

• Locomotivas e vagões carregados ou vazios só podem ser movidos de um pátio a outro quando anexados a um trem.

• As locomotivas podem fazer parte da composição do trem, gerando tração ou podem ser rebocadas como um vagão.

• Uma locomotiva ativa só pode ser anexada a um trem no inicio do trecho e só pode ser desanexada no final; já um vagão ou uma locomotiva desligada podem ser anexados ou desanexados a um trem em qualquer pátio da rota onde o trem fique parado tempo suficiente para isso.

• Vagões e locomotivas existentes no estado inicial só devem ser utilizados caso haja necessidade efetiva, isso é, deve-se minimizar a quantidade de recursos (vagões e locomotivas) utilizados no atendimento ótimo das demandas. Vagões ou locomotivas não utilizados podem ser mandados para manutenção por ex., ou mesmo serem realocados em algum outro pátio onde serão úteis para um maior atendimento das demandas. Para evitar essa utilização desnecessária atribui-se um custo de utilização em cada um dos recursos do estado inicial, no modelo isso significa que o vagão/locomotiva ficará parado no pátio inicial até o final do horizonte de planejamento sem que nenhuma operação seja efetuada sobre ele.

• A partir do segundo dia do horizonte de planejamento (D+2), a grade de trens não poderá sofrer modificações já que não temos como prever a situação real da malha daqui a dois dias.

• É possível que algumas demandas só possam ser atendidas parcialmente ou mesmo não possam ser atendidas por falta de recursos (vagões vazios e locomotivas disponíveis) na malha ferroviária. • Todo trem é formado por uma e somente uma composição de locomotivas. Essas locomotivas são

as responsáveis por gerar a capacidade de tração do trem.

• Para gerar uma quantidade viável de composições possíveis para um trem assumiremos que uma composição de locomotivas tem no máximo dois modelos diferentes de locomotiva. Na prática isso realmente acontece, salvo raros casos em que uma composição é formada por três modelos diferentes de locomotivas.

3. SOLUÇÃO

O modelo do problema é baseado no modelo de multifluxos com duas malhas distintas representando respectivamente o fluxo de vagões e de locomotivas ao longo do tempo:

• Malha representando o fluxo de vagões ao longo do tempo:

Essa malha é subdividida em uma malha para cada tipo de vagão vazio e uma malha para cada demanda e tipo de vagão capaz de atender a esta demanda. Para cada uma dessas malhas existe um

(5)

vértice para cada pátio e cada trem em pátio em cada instante de tempo relevante. Para a malha de fluxo de vagões um instante de tempo é dito relevante quando um dos seguintes eventos acontece: chegada ou partida de uma viagem de trem ou possível começo ou fim de uma operação de carregamento, descarregamento, anexação ou desanexação. Os arcos onde circulam vagões representam as variáveis em número de vagões. Esses arcos podem ser de vagões carregando, descarregando, anexando, desanexando, em movimento, parados, ou ainda sendo utilizados do estado inicial.

Na figura a seguir é apresentado um exemplo de malha de fluxo de vagões:

Figura 1 – Exemplo de malha de fluxo de vagões

• Malha representando o fluxo de locomotivas ao longo do tempo:

Essa malha é subdividida em uma malha para cada modelo de locomotiva. Para cada uma dessas malhas existe um vértice para cada pátio em cada instante de tempo relevante. Para a malha de fluxo de locomotivas um instante de tempo é dito relevante quando acontece uma chegada ou partida de uma viagem de trem. Os arcos onde circulam locomotivas representam as variáveis em número de locomotivas. Esses arcos podem ser de locomotivas paradas, ativas ou desligadas indo de um pátio para outro, ou ainda sendo utilizadas do estado inicial.

(6)

Figura 2 – Exemplo de malha de fluxo de locomotivas

Para cada locomotiva em trem, existe um arco de locomotiva ativa e outro de locomotiva desligada que vão do vértice correspondente ao pátio e horário de partida do trem ao vértice correspondente ao pátio e horário final do trem em cada par de estações. Podemos observar que para a malha de locomotivas não existem arcos de anexação e desanexação. O tempo gasto para anexar ou desanexar uma locomotiva já esta incorporado ao tempo de percurso do trem no trecho.

A malha de locomotivas se relaciona com a malha de vagões pelo fato de que o fluxo que passa pelos arcos de locomotivas ativas determina a capacidade dos arcos de vagões em movimento no trem. Na prática isso significa que um vagão só poderá ser transportado em um trem caso existam locomotivas ativas no trem com capacidade de tração suficiente para arrastá-lo.

A seguir faremos a descrição da notação utilizada e da formulação do modelo proposto neste trabalho. 3.1. Índices:

i : vértice de tempo e pátio de origem do arco; j : vértice de tempo e pátio de destino do arco; k : tipo de vagão;

p : pátio;

t : trem, t = 0 significa que o vagão não está em nenhum trem; d : demanda, d = 0 significa que o vagão está vazio;

l : locomotiva;

c : composição de locomotivas; 3.2. Conjuntos:

Y : conjunto de todos os pátios;

S : conjunto de todas as viagens de trens; D : conjunto de todas as demandas;

Qd : conjunto de todos os tempos de origem da demanda d;

K : conjunto de todos os tipos de vagões; T : conjunto de todos os trens;

L : conjunto de todos os modelos de locomotivas; V : conjunto de todos os vértices na malha de vagões;

VP : conjunto de todos os vértices de pátio na malha de vagões; VT : conjunto de todos os vértices de trem na malha de vagões; VL : conjunto de todos os vértices na malha de locomotivas; 3.3. Parâmetros:

α : percentual da receita das demandas para favorecer carregamentos;

β : percentual da receita das demandas para favorecer descarregamentos;

(7)

λ : custo para anexar um vagão a um trem;

ε : custo de utilizar um vagão;

ϕ : custo de utilizar uma locomotiva;

η : custo de movimentar um vagão em um trem;

3.4. Dados:

Rd : receita da demanda d;

CapPatioi : capacidade do pátio i em número de vagões;

CapVagij t

: capacidade em número de vagões do trem t indo do vértice i para o vértice j;

CapVagCarij

t

: capacidade em número de vagões carregados do trem t indo do vértice i para o vértice j;

CapVagaok

d

: capacidade do vagão k carregando a demanda d em TU; Tarak : tara do vagão k em Toneladas;

CapCq

d

: TU da demanda d solicitada no dia q;

EstInii,jk,d : número de vagões do tipo k no estado inicial carregados ou não com a demanda d, indo do

vértice i para o vértice j;

CapCompTBi,jc : capacidade da composição c indo do vértice i para o j;

EstInii,jl : estado inicial da locomotiva do tipo l indo do vértice i para o j;

NumLocolc : número de locomotivas do tipo l na composição c;

CustoDieseli,jl : custo da locomotiva l indo do vértice i para o j;

TaraLocl : tara da locomotiva do tipo l.

3.5. Variáveis do problema:

As seguintes famílias variáveis do problema estão expressas em número de vagões:

Ti,jt,k,d : vagões do tipo k no trem t carregados ou não com a demanda d, indo do vértice i para o vértice j

ou parados; Ci,j

t,k,d

: vagões do tipo k sendo anexados ao trem t carregados ou não com a demanda d, indo do vértice i para o vértice j;

Di,j t,k,d

: vagões do tipo k sendo desanexados do trem t carregados ou não com a demanda d, indo do vértice i para o vértice j;

Li,j k,d

: vagões do tipo k carregando a demanda d, indo do vértice i para o vértice j; Ui,j

k,d

: vagões do tipo k descarregando a demanda d, indo do vértice i para o vértice j; Ii,j

k,d

: vagões do tipo k no estado inicial carregados ou não com a demanda d, indo do vértice i para o vértice j;

Si,j k,d

: vagões do tipo k parados e carregados com a demanda d, indo do vértice i para o vértice j; As seguintes famílias de variáveis do problema estão expressas em número de locomotivas: LAi,j

l,t

: locomotivas do tipo l ativas no trem t indo do vértice i para o vértice j (locomotivas ativas geram capacidade de tração);

LDi,j l,t

: locomotivas do tipo l desligadas no trem t indo do vértice i para o vértice j (locomotivas desligadas vão arrastadas no trem assim como um vagão, consumindo capacidade de tração);

LPi,j l

: locomotivas do tipo l paradas indo do vértice i para o vértice j; ILi,j

l

: locomotivas do tipo l no estado inicial indo do vértice i para o vértice j. As seguintes variáveis do problema são binárias:

TTc t

: indica que a composição utilizada no trem t é a composição c de locomotivas. 3.6. Formulação

Função Objetivo:

(8)

Restrições da malha de vagões:

Conservação de fluxo de vagões nos vértices:

Capacidade de pátios em número de vagões:

Capacidade de trechos em número de vagões:

Capacidade de trechos em número de vagões carregados:

Carregamentos de demandas:

Limita o número de vagões utilizados:

Restrições da malha de locomotivas:

Conservação de fluxo de locomotivas nos vértices:

Assegura que apenas uma composição é utilizada em cada trem:

Assegura que o fluxo de locomotivas seja correspondente a composição utilizada no trem:

(9)

Restrição que liga a malha de vagões a malha de locomotivas: Capacidade de trechos em TB:

A variável TTct é binária, todas as demais são positivas e inteiras

3.7. Extensão do modelo com ajuste na escala de trens

O modelo proposto acima parte do princípio que o itinerário dos possíveis trens já está predefinido. Os trens ou saem no horário previsto ou simplesmente não saem. Faremos aqui uma extensão desse modelo para que ele considere possíveis ajustes nos horários previstos dos trens do primeiro dia do horizonte de planejamento. Essa escala de trens se faz necessária visto que a situação atual nem sempre é a prevista. A todo instante surgem novas demandas, outras são canceladas, locomotivas e vagões entram em manutenção, entre outros fatores que alteram o estado da malha. Para tentar compensar essas perturbações inevitáveis, na escala de trens, os horários da grade são ajustados, possibilitando um melhor aproveitamento dos recursos disponíveis.

A formulação da extensão ao modelo pode ser obtida adicionando-se, para cada arco de trem, novos arcos com os possíveis horários de partida. Para isso, o índice t que representa o trem associado a variável terá um sub-índice h indicando qual das possibilidades de horário (conjunto H) a variável se refere.

Nesse trabalho consideraremos 5 possibilidades de horário para cada trem do primeiro dia do horizonte de planejamento, tendo uma granularidade de hora. No entanto esses parâmetros podem ser facilmente ajustados para outros valores.

Reescrevendo a restrição que garante que no máximo uma composição é utilizada em cada trem da forma a seguir, asseguramos também que a composição é utilizada em apenas um dos possíveis horários de partida do trem .

Por sua vez, estendendo a restrição de capacidade do trecho em TB para qualquer índice de horário h, garantimos que uma vez escolhido o horário de partida do trem, apenas as variáveis com os índices correspondentes poderão assumir valores diferentes de zero.

O horário previsto para a saída do trem só deve ser alterado caso haja realmente necessidade, assim, para dar prioridade para que o trem saia no horário, a cada meia hora de atraso ou adiantamento do trem é atribuído um custo δ na função objetivo.

Dado que:

h = 0 Î significa que o trem está no horário previsto, h < 0 Î (-1 ou -2) significa que o trem está adiantado e

(10)

h > 0 Î (1 ou 2) significa que o trem está atrasado,

o seguinte termo deve ser acrescentado na função objetivo do modelo:

Com essa extensão o problema deve aumentar bastante de tamanho já que o número de trens do primeiro dia do horizonte de planejamento será multiplicado por 5. Para melhorar o desempenho do sistema foi adotada uma estratégia de branching. Para isso a restrição que garante que no máximo uma composição é utilizada em cada trem foi subdividida em duas restrições e uma nova variável binária foi criada:

TTt,h : indica se o trem t sai no horário h.

Restrição que assegura que um trem sai em no máximo um de seus possíveis horários:

Restrições que garante que uma composição é utilizada no trem que sai no horário escolhido:

Essa nova formulação se mostra mais eficiente quando é dada prioridade de branching a restrição. 3.8. Pré-processamento

De acordo com o modelo apresentado acima, temos que a malha de vagões é subdividida em |K|+∑d|k(d)| subredes, onde k(d) é o conjunto de vagões capazes de atender a demanda d ∈ D (este

número é em torno de 1000). Dado que |TV| é o conjunto de tempos relevantes na malha de vagões, cada uma delas é composta por até |Y|⋅|TV|+|S| vértices e um número de arcos da mesma ordem de grandeza. Para o caso da malha de locomotivas temos |L| subredes compostas por até |Y|⋅|TL|+|S|, sendo |TL| o conjunto de tempos relevantes da malha de locomotivas. Nas instâncias testadas temos os seguintes tamanhos de conjuntos: |K| = 38, |L| = 14, |Y| = 120, |D| = 230, |T| = 200, |S| = 1500 e |TV| = 1300 e |TL| = 550.

A construção das malhas já ter feita de forma que um vértice de pátio no tempo só existe caso haja a possibilidade de ocorrer algum evento nesse pátio no instante de tempo correspondente. Apesar disso, a formulação completa do problema ainda é muito grande (em número de variáveis e restrições) para ser resolvido em tempo razoável. Para contornar este problema, foram desenvolvidos esquemas de pré-processamento de maneira a reduzir o tamanho da formulação como o procedimento Pre-Path apresentado em Fukasawa et al [9], onde são eliminados arcos das subredes das demandas da malha de vagões. Foram utilizados também outros algoritmos para a eliminação de vértices e arcos na macha de vagões e de locomotivas.

4. RESULTADOS COMPUTACIONAIS E CONCLUSÕES

Para mostrar os resultados do modelo foram gerados 20 cenários a partir de uma instância real contendo:

120 pátios, 38 modelos de vagões, 14 modelos de locomotivas, 230 demandas e 200 trens. Esses são dados reais, já pré-processados, da gestora da maior malha ferroviária nacional. Essa malha possui mais de 2.000 quilômetros de extensão e percorre os estados de Minas Gerais, Goiás, Rio de Janeiro, Espírito Santo, Bahia, Sergipe e Distrito Federal. A frota de vagões é de

(11)

Esses cenários foram criados variando-se aleatoriamente cerca de 30% das demandas e dos estados iniciais dos vagões e das locomotivas. Como ocorre na prática, existem sempre situações que não estavam previstas, por exemplo, alguns vagões ou locomotivas serem tirados de circulação para manutenção ou estarem em lugares diferentes do esperado, além de demandas serem cancelas ou aparecerem novas demandas.

Com cada um desses 20 cenários foram feitas duas rodadas, a primeira sem permitir ajuste de horários e a segunda permitindo que os trens do primeiro dia atrasem ou adiantem o seu horário de partida assim como foi descrito na extensão do modelo com ajuste na escala de trens. Todas as rodadas foram feitas em um Pentium IV 800 MHz, com 1GB de RAM, usando como resolvedor de MIPs o CPLEX 9.0, com os parâmetros padrões. Depois de uma hora de execução todas as rodadas foram interrompidas.

A tabela apresenta os resultados computacionais obtidos para esses cenários. Nela, as colunas nLins e nCols representam o número de linhas e colunas do MIP; TT o tempo total até achar a melhor solução; e Gap o gap percentual da melhor solução. O número 1 depois nos nomes da coluna representa os resultados sem permitir ajuste na escala de trens, e o número 2 representa os resultados permitindo ajuste de horário na partida dos trens do primeiro dia. As colunas Desc e Vag representam, respectivamente, o ganho em percentual de descarregamentos e a economia em percentual de utilização de vagões em relação aos resultados sem permitir ajuste de horário. A coluna Trens indica o número de trens que tiveram seu horário ajustado na solução obtida.

# nCols1 nLins1 TT1(s) Gap1 nCols2 nLins2 TT2(s) Gap2 Desc Vag Trens

1 641.716 399.713 3587,38 0,02% 840.736 536.883 3.588,14 0,26% 0,00% 0,21% 11 2 651.415 405.264 209,05 0,00% 859.136 548.561 3.599,31 0,15% 0,00% 0,41% 16 3 668.780 417.950 3599,42 0,02% 894.689 573.329 3.599,64 0,43% 0,43% 0,23% 9 4 689.701 429.675 312,64 0,00% 901.967 575.996 3.580,31 0,01% 0,72% 0,90% 22 5 601.554 372.567 3599,22 0,12% 783.001 497.387 3.532,05 0,27% 0,58% 0,10% 16 6 696.332 434.599 570,95 0,00% 922.521 590.666 3.599,52 0,05% 0,53% 0,17% 21 7 658.570 410.456 402,08 0,00% 868.172 554.898 2.871,53 0,00% 2,67% 0,54% 16 8 663.682 414.118 1188,28 0,00% 879.717 562.831 805,00 0,00% 0,88% 0,28% 12 9 661.127 410.921 3599,31 0,02% 861.943 549.215 3.599,42 0,03% 0,00% 0,20% 11 10 700.625 438.453 3541,41 0,15% 940.605 603.740 3.564,63 0,06% 1,14% 0,09% 10 11 672.166 420.179 3503,92 0,05% 889.864 570.227 3.488,33 0,14% 0,69% 0,09% 30 12 649.386 403.785 3599,39 0,02% 871.095 556.226 1.157,55 0,00% 0,00% 0,45% 8 13 672.233 420.506 3598,48 0,13% 888.699 569.639 3.598,80 0,39% 1,18% 0,09% 16 14 700.450 440.395 543,78 0,00% 942.444 607.352 1.836,33 0,00% 1,49% 0,24% 12 15 721.447 452.694 804,02 0,00% 959.351 616.772 3.599,45 0,53% 0,00v 0,56% 22 16 689.864 432.082 3598,89 0,03% 913.269 585.688 3.598,91 0,07% 1,92% 0,18% 16 17 650.069 405.362 233,75 0,00% 867.364 554.864 3.599,39 0,02% 0,26% 0,37% 15 18 723.559 451.095 703,98 0,00% 952.563 609.014 3.481,44 0,02% 0,52% 0,00% 14 19 700.820 438.614 3597,45 0,03% 937.783 602.100 3.561,44 0,10% 0,00% 0,10% 18 20 659.071 411.817 245,53 0,00% 871.148 557.992 3.375,25 0,45% 0,60% 0,00% 15

Tabela 1 – Resultados computacionais obtidos

Para todos os cenários rodados foram obtidos bons resultados. Para o caso sem ajuste de horário temos que o maior gap foi de 0,15%, e em 50% deles a solução ótima foi encontrada em menos de uma hora de execução. Para o caso com ajuste de escala, os resultados apresentados na tabela mostram que apenas em quatro cenários a solução ótima foi encontrada; no entanto, estão todos bem próximos do ótimo, sendo o maior gap obtido de 0,53%.

Mesmo com gaps obtidos maiores, podemos observar que permitir o ajuste de horário da partida dos trens do primeiro dia trás ganhos, seja pelo maior atendimento em número de descarregamentos ou pela economia na utilização de vagões disponíveis na malha. Permitindo o ajuste de horários fomos

(12)

capazes de descarregar até 2,67% a mais de vagões carregados com demandas do que atendíamos sem permitir alterar a escala. Isto é, apenas fazendo pequenas alterações nos horários de poucos trens da grade (em média 15 trens partiram fora do horário previsto) conseguimos um bom ganho no atendimento.

Apesar de não serem viáveis na prática, outros testes foram feitos permitindo ajustes de horários em intervalos maiores, por exemplo, podendo atrasar ou adiantar o horário de partida de um trem em 3 ou 6 horas do seu horário padrão. Os ganhos em número de descarregamentos foram ainda melhores, no entanto o tempo até encontrar uma solução com um gap pequeno o suficiente foi muito além do limite aceitável.

Outra tentativa foi deixar que os trens fossem atrasados ou adiantados com apenas uma possibilidade de horário mas com um intervalo maior, mesmo assim o tempo de execução ainda extrapolou um limite de tempo razoável para a execução. Permitir mais do que duas alternativas horário para mais ou para menos do horário de saída previsto dos trens, mesmo com intervalos pequenos, torna o modelo inviável pelo grande número de variáveis e complexidade elevada.

Como foi descrito neste trabalho o modelo aqui proposto permite uma análise profunda de diversos aspectos da ferrovia. Além do propósito original operacional, o modelo ainda pode ser utilizado em um nível mais estratégico, auxiliando na geração de uma grade de trens ideal ou ainda para simular uma alteração no tamanho da frota de vagões ou locomotivas e nas capacidades dos pátios.

5. BIBLIOGRAFIA

[1] AHUJA, R.; MAGNANTI, T.; ORLIN, J. Network Flows: Theory, Algorithms, and applications. Prentice Hall, 1993.

[2] AHUJA, R. K.; LIU, J.; ORLIN, J. B.; SHARMA, D. ; SHUGHART, L. Solving real-life locomotive scheduling problems. 389-02, MIT Sloan School of Management, April 2002.

[3] BERTSIMAS, D.; TSITSIKLIS, J. N. Introduction to Linear Optimization. Athena Scientific, 1997.

[4] CPLEX. ILOG CPLEX 9.0 User’s Manual and Reference Manual. ILOG S.A., França, 2003. [5] COOK, W. J.; CUNNINGHAM, W. H.; PULLEYBLANK, W. R. ; SCHRIJVER, A. Combinatorial Optimization. John Wiley & Sons, 1997.

[6] CORDEAU, J. F.; TOTH, P.; VIGO, D. A survey of optimization models for train routing and scheduling. Transportation Science, 32(4):380–404, Novembro 1998.

[7] CORDEAU, J. F.; SOUMIS, F. ; DESROSIERS, J.. Simultaneous assignment of locomotives and cars to passenger trains. Operations Research, 49(4):531–548, 2001.

[8] FORD, L. R.; FULKERSON, D. R.. Flows in Networks. Princeton University Press, NJ, 1962. [9] FUKASAWA, R.; ARAGAO, M. V. P.; PORTO, O. ; UCHOA, E. Solving the freight car flow problem to optimality.

[10] HOLMBERG, K.; JOBORN, M.; LUNDGREN, J. Improved empty freight car distribution. Transportation Science, 32(2):163–173, Maio 1998.

Referências

Documentos relacionados

Este projeto teve por objetivo a construção de um blog educativo como veículo facilitador da aprendizagem de química, que foi utilizado pelos professores de Química do

No contexto brasileiro, observa-se que as organizações dos setores de papel e celulose, química e petroquímica e mineração possuem a percepção mais forte da gestão

A tabela a seguir resume as frequências em que os pacientes apresentaram pelo menos uma reação adversa não solicitada, foi registrada dentro de 28 dias após a vacinação de

Sabia bem o que se sentia naqueles dias a seguir ao parto e não me pareceu que um caroço daque- les, tão definido e sem ser dorido, estivesse relacionado com o leite, que aliás

Elektrofyziologické laboratórium (patch clamp) je umiestnené na oddelení výskumu svalových buniek, na 3. nadzemnom podlaží B budovy Pavilónu lekárskych vied, určené pre

O estudo foi realizado em duas etapas, sendo que na primeira, foi a fase experimental onde foi coletada as temperaturas de cada recipiente de aço inoxidável, na segunda foi verificada

Todas as classes têm efi- cácia similar, portanto, a escolha do antidepressivo deve ser baseada nas características da depressão, efeitos colaterais, risco de suicídio,

A partir de um modelo econométrico aplicado a empresas de capital aberto, do setor de alimentos e bebidas, baseado no método dos mínimos quadrados ordinários e utilizando