Escolar Documentos
Profissional Documentos
Cultura Documentos
Tese de Doutorado
Tese apresentada ao programa de ps-graduao
em Engenharia de Produo da PUC-Rio como parte
dos requisitos parciais para obteno do ttulo de
Doutor em Engenharia de Produo.
Orientador: Dr. Jos Eugnio Leal
Departamento de Engenharia Industrial PUC, Rio de Janeiro, Brasil
Co-orientador: Dr. Thomas Gnther Sttzle
IRIDIA/CoDE Universit Libre de Bruxelles, Bruxelas, Blgica
Rio de Janeiro
Maro de 2008
Otimizao
com
colnia
de
formigas
aplicada
Ficha Catalogrfica
Sabino, Jodelson Aguilar
CDD: 658.5
Agradecimentos
Ao meu orientador, Prof. Dr. Jos Eugnio Leal, pelo apoio e estmulo em todas
Resumo
Palavras-chave
Otimizao com colnia de formigas, planejamento operacional de ptios
ferrovirios, sistemas de transporte ferrovirio, roteirizao.
Abstract
Keywords
Ant colony optimization, railroad yard operational planning, railroad
transportation systems, routing.
Sumrio
1 Introduo
12
2 Apresentao do Problema
15
15
21
2.3. Enunciado
29
31
44
3 Reviso da literatura
46
46
49
52
58
58
59
62
65
66
68
75
5 Testes computacionais
82
82
88
5.3. Resultados
91
6 Concluso
99
7 Referncias Bibliogrficas
103
Lista de Figuras
16
18
20
23
34
36
37
39
54
55
61
62
70
71
72
72
74
77
79
79
80
84
86
92
94
96
97
98
1
Introduo
13
14
2
Apresentao do Problema
16
17
origem para uma linha de destino dentro de um ptio. No contexto deste trabalho,
o conjunto formado por uma locomotiva de manobra mais os vages acoplados a
ela ser denominado de comboio. Uma ordem de servio um pedido de execuo
de uma manobra.
A execuo de uma manobra corresponde seguinte seqncia de operaes
que envolvem um conjunto de vages, uma equipe de planejamento e operao e
uma locomotiva de manobra:
18
19
20
21
22
23
PLANEJAMENTO
DE PTIOS
FERROVIRIOS
ESTRATGICO
TTICO
OPERACIONAL
1. Coleta e
organizao das
tarefas
2. Identificao
das manobras
3. Definio da
programao de
locomotivas de
manobra
24
depois de definida, executada repetidamente a cada perodo prdefinido (e.g.: uma semana) durante certo tempo (e.g.: trs meses) ou
at que se faa uma reviso extraordinria. importante notar que a
escala de tempo envolvida nestas atividades de planejamento de
alguns dias a alguns meses;
compem,
analogamente,
Plano
de
Descarregamento;
Uma tarefa, no contexto desta etapa, se refere a uma demanda operacional
de mais alto nvel para o ptio, como por exemplo, formar um trem, descarregar
os vages de um trem ou inspecionar um lote de vages e em seguida realizar as
manutenes e limpezas necessrias. Uma tarefa no est associada a uma
locomotiva especfica e normalmente requer a realizao de vrias manobras para
atend-la. As informaes consideradas sobre cada tarefa nesta etapa so o tipo de
25
26
esta lista pode ser utilizada no planejamento ttico, j que ele fornece indicaes
sobre a utilizao dos recursos do ptio em mdio prazo (e.g.: linhas, locomotivas
de manobras e demanda por equipagem em cada rea do ptio considerando o
plano de trens e as rotinas de carregamento e descarregamento atuais).
2.2.2.Identificao das Manobras
A segunda etapa do planejamento operacional do ptio considera todas as
tarefas planejadas e no planejadas e as manobras herdadas do horizonte de
planejamento anterior. Nesta etapa, o planejador de ptio elabora a lista completa
de todas as manobras necessrias para o prximo horizonte de planejamento o
qual compreende algumas horas. Espera-se que esta etapa esteja concluda alguns
minutos antes do incio do horizonte de planejamento ao qual ela se refere, de
modo a permitir a execuo das tarefas da terceira etapa antes do incio do
PUC-Rio - Certificao Digital N 0321287/CA
27
Linha de origem;
Linha de destino;
Quantidade de vages;
Manobras implcitas de puxar vages do incio de uma linha e deixlos em outra linha para tornar acessveis vages que esto
localizados atrs destes.
28
desocupadas o bastante para acomodar os vages nas reas de ptio de destino das
manobras previstas para o futuro. Para tanto, preciso explorar a flexibilidade das
janelas de tempo e acompanhar o estado de alocao das linhas de cada rea do
ptio com o passar do tempo, garantindo que os conjuntos de vages caibam nas
linhas de destino das manobras que os envolvem.
2.2.3.Definio do plano de trabalho das locomotivas de manobras
Esta a ltima das trs etapas e executada pelo controlador de ptio. O
principal dado de entrada para esta etapa a lista produzida na etapa de
identificao das manobras contendo todas as manobras a serem executadas.
O objetivo desta etapa definir qual locomotiva deve executar qual
manobra (alocao) e tambm a ordem de execuo destas manobras
(seqenciamento) de modo a no violar nenhuma restrio operacional (e.g.:
janela de tempo ou capacidade da locomotiva para movimentar o peso do bloco)
e, ao mesmo tempo, minimizar o custo operacional do ptio. Para executar esta
etapa do planejamento, necessrio fornecer informaes sobre o leiaute do ptio
e sobre as locomotivas de manobra disponveis nele e enumerar detalhadamente
todas as manobras a serem realizadas durante um horizonte de planejamento
especificado.
29
(b)
30
3. Lista
das
locomotivas
de
manobra
disponveis,
incluindo
(b)
(c)
(d)
31
2.4.
Modelagem do Problema utilizando grafos
Este item apresenta a definio dos elementos envolvidos no PPOLM
baseado em Teoria de Grafos (Diestel, 2005). Estas definies so utilizadas
primeiramente para a apresentao do enunciado formal do problema e depois so
referenciadas como suporte para explanaes posteriores.
2.4.1.
Locomotivas e ordens de servio
Seja um Horizonte de Planejamento h de durao h que se inicia no
momento hs e termina no momento hf (de tal modo que h = hf hs).
Seja E o conjunto formado por todas as locomotivas de manobra disponveis
no ptio durante o horizonte de planejamento h . Cada locomotiva e tem a si
PUC-Rio - Certificao Digital N 0321287/CA
r
dentro de um intervalo de tempo r + = [tsr , t fr ] e a hora de entrega t deve
r
r
estar dentro do intervalo de tempo r = [ts , t f ] . Este dois intervalos de tempo
32
33
34
rea B do Ptio K
2
6
3
1
Grafo G associado
35
2.4.4.
Correspondncia entre G e G
A Figura 6 mostra a correspondncia entre os grafos G e G. Para clareza do
desenho, nem todos os arcos de G esto representados nesta figura. No plano
superior contm a representao do grafo G e o plano inferior contm a
representao do grafo G. As linhas verticais pontilhadas que unem os dois planos
indicam correspondncias entre ns dos grafos G e G. Ns empilhados no grafo
G indicam linhas do ptio que so origem ou destino de mais de uma manobra e,
nestes casos, o nmero de ns empilhados de G indicam exatamente quantos ns
correspondem a um nico n em G. Note que:
36
Oe = {e + , v1 , v2 ,..., vn , e } V
(1)
{r + , r } Oe {r + , r } Oe = r R
+
Se v j = r e vk = r para um dado r R , ento k = j + 1 , ou
(2)
(3)
wr qe r R | r + Oe
(4)
Se vk = r + ou vk = r , sendo vk Oe ,
(5)
37
v
O
ento Tvk t fvk e Tvk = max{ts k , Tvk1 + t(vek1 )(vk ) }
Te + hs e Te h f
(6)
t(Ovek1 )(vk ) o tempo total necessrio para percorrer o caminho mais curto indo do n
vk-1 ao n vk.
A condio (2) fora o emparelhamento da coleta com a entrega e a
condio (3) a condio de carga nica, ou full truckload, que estabelece que
toda coleta deve ser imediatamente seguida de sua respectiva entrega. A condio
(4) a restrio de capacidade. A condio (5) especifica as restries de janela de
rk2
r1+
e+ e
r1
rk+1
r2+
rk1
rk+2
rk+
rk = e
38
diante, at que a locomotiva e faz a sua ltima entrega na linha rk que tambm
39
l1 + l 2
(7)
linha v1
linha v2
l1
l2
D(v1, v2 )
que
existe
pelo
menos
um
caminho
i (v1, v2 ) =
D(u , u
k
k =1
k +1
(8)
40
(9)
(Oe ) = cd
(vz, vz+1 )
z ,z +1Oe
(10)
41
do
(11)
(Oe ) =
(vz, vz+1 )
z ,z +1Oe
(12)
Esta frmula muito parecida com a frmula (10), sendo que neste caso cd
no usado porque o seu papel j foi desempenhado pelas constantes ct,, cl e cs.
O tempo de espera em cada linha do caminho de coleta e entrega depende
do exato momento em que o comboio chega quela linha. A espera ocorre ou por
causa da restrio imposta pela janela de tempo ou devido linha adiante estar
ocupada por outro comboio ou locomotiva. Esta variabilidade do custo
dependente do tempo faz com que o valor do custo s possa ser obtido atravs de
uma simulao da execuo completa do caminho de coleta e entrega e
impossibilita o clculo antecipado do custo das rotas entre cada par de ns
adjacentes do caminho de coleta e entrega, como ocorre no caso do custo baseado
em distncia. Estas caractersticas do custo baseado em tempo conferem ao
mesmo o nome alternativo de custo varivel dinmico.
2.4.6.
Formulao
Seja um conjunto
42
= {Oe }eE
(13)
(14)
Oe = V
(15)
e E
C (* ) =
c1
|E |
(* ) +
c2
d
(O )
Oe *
(16)
43
comparar com o custo fixo mdio por locomotiva e por unidade de tempo e depois
estabelecer a relao de proporo entre os dois valores considerando,
adicionalmente, as metas do planejamento ttico, como, por exemplo, diminuio
do nmero de locomotivas de manobras no ptio. Independentemente do mtodo
utilizado para valores c1 e c2, pode-se dizer que estes valores so arbitrariamente
definidos pelo usurio e tm como objetivo definir a importncia do objetivo de
reduzir a frota de locomotivas utilizada no ptio comparada ao objetivo de fazer
com que as manobras sejam executadas mais rapidamente e com menor consumo
de combustvel.
A frmula (14) expressa a restrio de precedncia do PPOLM. Esta
restrio identifica uma diferena importante no critrio de seleo das solues
viveis entre o algoritmo CompetAnts e o algoritmo proposto neste trabalho.
A frmula (15) faz com que todas as ordens de servio sejam atendidas pela
coleo de caminhos de coleta e entrega da frmula (13). O fato do valor de
*
C ( * ) ser mnimo implica que no h ordem de servio repetida em .
44
45
submetendo
este
novo
conjunto
de
informaes
para
3
Reviso da literatura
3.1.
Planejamento operacional de ptios ferrovirios
A principal motivao deste trabalho a reduo dos custos operacionais de
ptios ferrovirios. Neste contexto, espao, tempo e custo so variveis
interdependentes e constituem o foco principal da anlise. Por exemplo, espaos
mais curtos percorridos pelas locomotivas de manobras implicam em menor
tempo para percorr-lo e conseqentemente menor consumo de combustvel e
menor tempo de alocao dos recursos humanos envolvidos (e.g. tripulao,
tcnicos de operao ferroviria), reduzindo assim o custo operacional do ptio.
47
48
manobras. O objetivo principal foi apresentar uma soluo paralela para tais
problemas e a concluso foi que, embora a tcnica escolhida seja eficiente, ela
sensvel a problemas internos como gargalos de comunicao e anomalias. Do
ponto de vista de aplicao prtica, no foi apresentado o resultado de testes
comparativos usando como referncia dados reais ou mesmo a simulao destes.
A concluso naquela poca foi que, embora o algoritmo proposto tenha sido
considerado aplicvel em qualquer ptio, o mesmo no considerava alguns
aspectos importantes tais como linhas frreas interditadas, rotas conflitantes e
lotes de vago de diferentes tamanhos, j que estes itens foram relaxados para se
permitir um primeiro passo na soluo dos problemas citados.
Kraft (1998) e Daganzo et al. (1983) tratam de outros problemas
relacionados ao planejamento operacional de ptios sem, no entanto, referenciar o
49
50
Os
algoritmos
exatos,
aplicados
modelos
baseados
em
51
52
modo possvel encontrar boas solues com tempo de CPU razovel e, portanto,
tempo de execuo praticvel.
Mesmo diante da diversidade de modelos, mtodos e resultados reportados
na literatura, a avaliao do desempenho relativo de algoritmos para resolver
problemas de coleta e entrega com janelas de tempo praticamente impossvel, j
que at o momento no h conjuntos conhecidos de instncias de referncia (i.e.
benchmarks) para o caso genrico deste problema. Toth & Vigo (2002) explicam
que isto ocorre principalmente devido diversidade de variaes dos problemas
estudados, j que a maioria dos trabalhos se baseia em aplicaes prticas, as
quais induzem modelagens especficas para a representao das restries e da
funo objetivo. Assim, os mtodos so testados com dados simulados da situao
real em estudo e os resultados so comparados com os obtidos com as solues
manuais em uso.
3.3.
Otimizao com Colnia de Formiga
Otimizao com Colnia de Formiga ou Ant Colony Optimization (ACO)
como so mais conhecidos na literatura, uma classe de algoritmos que geram
solues candidatas para um problema de otimizao atravs de um mecanismo
construtivo onde a escolha do componente da soluo a ser adicionado em cada
passo se baseia em um balanceamento probabilstico que considera trilhas de
feromnio artificial e informaes heursticas sobre o problema em questo
(Dorigo & Sttzle, 2004).
Dentre os diversos algoritmos ACO disponveis atualmente na literatura, o
primeiro a ser proposto foi o algoritmo Ant System (AS), apresentado nas verses
originais denominadas ant-density (Dorigo et al., 1991), ant-quantity (Colorni et
al., 1992) e ant-cycle (Dorigo, 1992). Atualmente ACO se caracteriza como uma
ferramenta de otimizao poderosa e verstil, com um nmero crescente de
publicaes e aplicaes em diversas reas da pesquisa operacional, gesto e
tecnologia (Gutjahr, 2007).
Problemas de otimizao combinatria tratados com ACO so normalmente
codificados atravs de um grafo de construo completo G(V,A), onde os ns de
V so componentes da soluo e os arcos de A so conexes entre os
53
soluo parcial mais completa para o problema. Em cada passo s, uma formiga a
determina o conjunto de expanses viveis para o seu estado atual e escolhe uma
destas expanses, movendo-se para um novo estado, baseada na distribuio de
probabilidade que se segue.
A probabilidade pia, j de uma formiga se mover de um estado i para um
estado j depende da combinao de dois valores:
1. A atratividade do movimento, calculada antes do processo de
construo da soluo e, portanto, considerada uma indicao prvia
do grau de atrao do movimento;
2. O nvel de feromnio do movimento, que indica o quo eficiente
foi fazer aquele movimento no passado. Este valor considerado
uma indicao posterior da atratividade do referido movimento, j
que calculado durante o processo de construo da soluo.
A Figura 9 ilustra as diversas possibilidades de passo de uma formiga partir
do estado i. Se o estado j ainda no foi visitado, ou seja, se ainda no pertence ao
caminho da formiga, a probabilidade de escolha deste estado proporcional ao
nvel de feromnio e atratividade associado ao passo (i,j).
54
pia, j (, )
j
i
k
Figura 9:: Movimentos possveis de uma formiga a partir do estado i
computadas como segue: pia, j igual a zero para todos os passos inviveis (isto ,
os que esto contidos no conjunto inviveis
viveisa), caso contrrio, a probabilidade
calculada pela seguinte frmula:
a
ij
p =
ij ij
iv iv
(17)
(iv )inviveisa
55
ij (t ) = ij (t 1) + ijk
(18)
k =1
ijk zero.
ACO
Passo 1: Inicializao
Definir valor inicial do feromnio;
Definir soluo com o pior valor possvel;
Inicializar caminho com vazio;
Passo 2: Construo
Para cada formiga k repetir {
Calcular os valores de ;
Escolher o estado para movimentao usando a
probabilidade dada pela frmula(17);
Adicionar o movimento escolhido ao conjunto inviveis;
} At que a formiga obtenha uma soluo completa
ou desista;
[melhorar a soluo com busca local] Opcional
Se (valor da nova soluo melhor que soluo) {
Atualizar soluo com o novo valor;
Atualizar caminho associado ao novo valor;
}
Passo 3: Atualizao do feromnio
Para cada movimento do caminho da soluo {
Calcular
ijk
56
Sttzle, 2004).
Dorigo et al. (2006), apresenta a famlia de algoritmos ACO como um
conjunto de mtodos para resolver vrios problemas de otimizao combinatria,
quer sejam estticos ou dinmicos. A Tabela 1 mostra algumas aplicaes bem
sucedidas da metaheurstica ACO para resolver problemas clssicos de
otimizao, e os respectivos anos de publicao.
Lista no exaustiva de aplicaes do algoritmo ACO agrupados por tipo de problema
TIPO DE PROBLEMA
ROTEAMENTO
NOME DO PROBLEMA
CAIXEIRO VIAJANTE
ROTEAMENTO DE VECULOS
ATRIBUIO
AGENDAMENTO
SUBCONJUNTO
OUTROS
ORDENAO SEQUENCIAL
ATRIBUIO QUADRTICA
TABELA DE CURSOS
COLORAO DE GRAFOS
PROGRAMAO DE PROJETOS
ATRASO TOTAL PONDERADO
PROGRAMAO DA PRODUO
RECOBRIMENTO DE CONJUNTOS
RVORES DE CARDINALIDADE i
MOCHILA MLTIPLO
CLIQUE MXIMO
SATISFAO DE RESTRIES
REGRAS DE CLASSIFICAO
REDES BAYESIANAS
ENROLAMENTO DE PROTENAS
DOCKING PROTENA-LIGANTE
AUTORES
DORIGO ET AL
DORIGO E GAMBARDELLA
STTZLE E HOOS
GAMBARDELLA ET AL
REIMANN ET AL
GAMBARDELLA E DORIGO
STTZLE E HOOS
MANIEZZO
SOCHA ET AL
COSTA E HERTZ
MERKLE ET AL
DEN BESTEN ET AL
MERKLE E MIDDENDORF
BLUM
LESSING ET AL
BLUM E BLESA
LEGUIZAMN E MICHALEWICZ
FENET E SOLNON
SOLNON
PARPINELLI ET AL
MARRTENS ET AL
CAMPOS ET AL
SHMYGELSKA E HOOS
KORB ET AL
ANO
1991, 1996
1997
1997, 2000
1999
2004
2000
2000
1999
2002,2003
1997
2002
2000
2000
2005
2004
2005
1999
2003
2000,2002
2002
2006
2002
2005
2006
57
Dorigo & Blum (2005) uma boa referncia terica sobre a metaheurstica
ACO. Este trabalho apresenta uma reviso dos resultados sobre convergncia do
algoritmo, discute as relaes entre ACO e outros mtodos de aproximao e
identifica algumas questes em aberto como motivao para pesquisas futuras.
As referncias mais importantes sobre ACO para este trabalho foram as que
apresentam casos de soluo de problemas de otimizao multi-objetivo em
sistemas de transporte. Neste contexto se destacam Reimann (2002), que
apresenta um algoritmo ACO com duas colnias de formigas para resolver um
problema de transporte com caminhes de carga similar ao PPOLM, Sabino
(2004) que a pesquisa precursora deste trabalho e que apresenta um prottipo de
algoritmo para resolver o PPOLM e Gambardella et al. (2003), que apresenta duas
ferramentas para assistir o planejamento de roteiro em vrias fases de um processo
de entrega de encomendas.
4
Metodologia de soluo do problema
facilidade
de
implementao
manuteno:
Alm
da
59
60
61
62
o qual fornece informaes histricas sobre a qualidade das solues obtidas nas
iteraes anteriores.
O algoritmo CompetAnts apresentada na Figura 12. Primeiramente so
definidas as solues iniciais para as duas colnias. Depois disso, determinado o
nmero de formigas nativas e espis de cada colnia. Em seguida, feita uma
chamada ao algoritmo ACO (apresentado na Figura 10) para cada tipo de colnia.
4.3.
Clculo da atratividade
A atratividade uma informao bsica para a definio da frmula que
guia o processo incremental de construo do caminho das formigas. Cada colnia
utiliza uma frmula de atratividade diferente para as mudanas de estado.
A frmula seguinte usada para o clculo da atratividade para a colnia
WT. Ela procura expressar a produtividade das locomotivas de manobras,
considerando improdutivo o tempo de espera, bem como o tempo de
deslocamento escoteira da locomotiva de manobras:
63
WT
(t ) =
ij
se (i,j) um passo
vivel do tipo NOMA
ou PRIMA,
se (i,j) um passo
vivel do tipo NOLO,
(19)
(20)
64
WT
convenientemente para evitar que o valor de ij assuma um valor muito prximo
de zero.
O clculo da atratividade para a colnia EM utiliza a seguinte frmula:
e16(r r )
se (i,j) um passo
vivel do tipo NOMA,
e16(e r )
se (i,j) um passo
vivel do tipo PRIMA,
+
j
+
j
ijEM =
(21)
se (i,j) um passo
vivel do tipo NOLO,
65
pijkn (t ) =
h N
[ij ] [ij (t )]
se j
(22)
caso contrrio
se j
(23)
pij f (t ) =
0
caso contrrio.
66
4.5.1.
Regra CME
Depois que todas as formigas tiveram a oportunidade de construir a sua
soluo, os passos que compem o caminho percorrido pelas formigas que
obtiveram as melhores solues so consideradas para atualizao da
quantidade de feromnio.
Em primeiro lugar, a quantidade de feromnio destes arcos reduzida. Esta
metfora da evaporao do feromnio ocorre apenas uma vez para cada arco,
mesmo que esta faa parte de mais de um dos caminhos. Em seguida
depositada em cada arco uma quantidade de feromnio proporcional qualidade
da soluo que utilizou aquele arco. A regra de evaporao e depsito de
feromnio definida pela frmula:
= ij + ij , (i, j ) J , e 0 1
(24)
=1
melhores caminhos.
Apenas as formigas que obtiveram as melhores solues da iterao
depositam feromnio e a evaporao s ocorre nos caminhos percorridos por estas
67
ij =
se 0
(25)
caso contrrio
4.5.2.Regra RNK
Alm do mtodo original de atualizao de feromnio usado no algoritmo
CompetAnts, foi testada uma variao chamada rank-based ant system,
referenciada neste trabalho como RNK, onde a formiga que obteve a melhor
soluo at ento deposita a maior quantidade de feromnio em cada iterao. De
acordo com Dorigo & Sttzle (2004), o rank based ant system tem desempenho
um pouco melhor que o elitist ant system e significativamente melhor que o ant
system original. Esta posio de destaque do mtodo RNK em relao a outros
mtodos de atualizao da quantidade de feromnio na trilha das formigas
despertou o interesse em considerar a regra RNK como alternativa regra CME
para a soluo do PPOLM.
No RNK, antes de realizar a atualizao da quantidade de feromnio, as
formigas so classificadas em ordem no decrescente de custo da soluo e a
quantidade de feromnio que uma formiga deposita depende da posio da
formiga nesta classificao. Em cada iterao apenas as primeiras (-1) formigas
e a formiga que obteve o melhor resultado at ento podem depositar feromnio
em seus caminhos. A formiga que obteve o melhor resultado, considerando todas
as iteraes ocorridas at ento e incluindo a iterao atual d a maior
contribuio, depositando feromnio com peso . A -sima melhor formiga da
iterao atual contribui com peso max{0,-}. Sendo assim, a atualizao do
feromnio feita baseada na seguinte frmula:
68
ij = ij + ( ) ij + ijbs
(17)
=1
bs
bs
onde ij = 1/ C , ij = 1/ C , Cbs o custo da melhor soluo obtida at
regra CME, pois a mesma utiliza informaes sobre a qualidade das solues
obtidas somente na iterao atual. Testes computacionais apresentados em Sabino
et al. (2006) sugerem que o mtodo RNK conduz a melhores resultados.
4.6.Detalhes sobre a implementao do algoritmo YoYo
Este item apresenta as principais rotinas utilizadas na implementao do
algoritmo YoYo, desenvolve uma estimativa de sua ordem de complexidade e
apresenta a estrutura de dados mais importante do algoritmo, a qual foi utilizada
para armazenamento das informaes sobre feromnio.
4.6.1.
Lgica das principais rotinas
Este item apresenta o pseudocdigo das principais rotinas utilizadas na
implementao do algoritmo YoYo. A rotina principal ACO usa, em sua lgica, a
rotina RegraDeciso, que por sua vez usa as rotinas SortearResposta e Vivel.
4.6.1.1.
Rotina ACO
O pseudocdigo da rotina ACO utilizada no algoritmo YoYo apresentado
na Figura 13. O nmero total de formigas da colnia, o nmero de formigas espis
e o tipo de colnia (i.e. EM ou WT) so informados como parmetros de entrada.
Inicialmente, so definidas seis matrizes de feromnio (apresentadas na Figura 17)
69
70
71
4.6.1.2.
Rotina RegraDeciso
A rotina RegraDeciso, conforme apresentado na Figura 14, processa a
mudana de estado em cada passo da construo do caminho da formiga, ou seja,
identifica qual a prxima locomotiva ou a prxima manobra a ser adicionada ao
caminho. Para tanto, especificado o tipo de item que se quer adicionar e esperase receber uma resposta identificando o item ou, em caso de inviabilidade, a
4.6.1.3.
Rotina SortearResposta
Esta rotina implementa o mtodo de seleo por roleta, muito utilizado na
seleo de cromossomas em algoritmos genticos, como em Obitko (1998).
Primeiro gera-se um nmero aleatrio entre 0 e 1. Depois, a lista de itens viveis
72
4.6.1.4.
Rotina Vivel
A rotina Vivel verifica se a incluso da manobra no caminho sendo
construdo pela formiga pode ser feita atendendo todas as restries dadas. Esta
rotina retorna um valor falso ou verdadeiro para a rotina RegraDeciso de acordo
com o resultado da verificao feita. Esta rotina tem uma lgica linear e apenas
valida, seqencialmente, cada restrio operacional do PPOLM, conforme
apresentado na Figura 16.
Vivel ()
01 Se esta manobra j consta no caminho atual, retorne falso;
02 Se a locomotiva que vai executar esta manobra no pode
chegar linha de coleta antes do final da janela de tempo
de coleta, retorne falso;
03 Se o desacoplamento da locomotiva no pode ocorrer durante
a janela de tempo de entrega, retorne falso;
04 Se a capacidade de trao da locomotiva no suficiente
para mover o conjunto de vages desta manobra, retorne
falso;
05 Se esta manobra tem outra manobra predecessora que ainda
no est com a coleta j realizada, retorne falso;
06 Caso contrrio, retorne verdadeiro.
Figura 16: Rotina Vivel, usada rotina RegraDeciso
4.6.2.
Estimativa da ordem de complexidade
Para estimar a ordem de complexidade do algoritmo CompetAnts aplicado
no contexto da soluo do PPOLM, basta observar que no algoritmo ACO da
73
Figura 13 da pgina 70, em cada iterao, iniciando por cada uma das |E|
locomotivas disponveis no ptio, m formigas tentam construir uma soluo que
contm, no mximo, (|E|+2n) passos, onde n o nmero de ordens de servio. Em
cada passo na construo do caminho, cada formiga deve escolher uma opo de
mudana de estado em um conjunto com menos de n opes. Temos ento a
expresso |E|.m.(|E|+2n).n como primeira estimativa para a complexidade de
tempo do algoritmo proposto. Note que a complexidade do algoritmo proposto
no depende do nmero |E| de locomotivas, j que este nmero limitado pela
quantidade de ordens de servio, pois, no pior caso, cada ordem de servio
executada por uma locomotiva diferente. Outro detalhe importante que todas as
demais operaes do algoritmo CompetAnts, tais como a atualizao e depsito de
feromnio so O(n2). Finalmente, deve-se considerar as duas possibilidades para
clculo do custo varivel. No caso do custo varivel esttico, tem-se uma tabela
PUC-Rio - Certificao Digital N 0321287/CA
74
Camadas de M =
2 colnias de
formiga
Colunas de M =
p manobras +
q locomotivas
pxq
pxp
pxq
pxp
Linhas de M =
p manobras +
q locomotivas
qxp
qxp
qxq
qxq
75
4.7.
Determinao da rota de cada passo
Se o custo varivel a ser utilizado na funo objetivo esttico, a rota de
cada passo do caminho de coleta e entrega depende somente do leiaute do ptio.
Desta forma, o caminho mnimo em G`, e o valor da distncia percorrida neste
caminho para cada passo pode ser calculada uma vez e fornecida como dado de
entrada para o programa que implementa o algoritmo YoYo. Se o custo varivel
dinmico, a determinao da rota mnima deve ser feita durante a construo do
caminho, pois a mesma varia com o tempo. A estrutura de dados para armazenar o
estado de ocupao das linhas do ptio e a rotina para determinao da rota
mnima e o clculo do custo varivel dinmico esto detalhadas nos dois itens que
se seguem.
4.7.1.
A modelagem da alocao das linhas do ptio
Para identificar se h conflito de alocao de linhas quando as locomotivas
executam as manobras seguindo o plano definido pelo programa fundamental
estabelecer um mecanismo de controle de alocao das linhas, de modo que dois
elementos (i.e. comboio, locomotiva escoteira ou conjunto de vages) no possam
ocupar a mesma linha ao mesmo tempo.
Espao e tempo so as variveis de controle consideradas no processo e a
modelagem utilizada parte das seguintes premissas:
76
t0 =
min{lv , v G }
2sa
(26)
77
inicial de t0 e a partir da, podem ser feitos os ajustes necessrios pela equipe de
planejamento de ptio.
Como ser mostrado nos pargrafos que se seguem, o intervalo t0 possibilita
a transformao do tempo em uma varivel discreta, simplificando o controle de
alocao das linhas.
i0
i1
i2
i(n-2)
i(n-1)
(n-5)t0
t0
pertence
ou
no
ao
intervalo.
Assim
por
exemplo,
Diz-se que uma linha de ptio i est ocupada durante o intervalo ik se existe
um comboio, uma locomotiva ou um conjunto de vages na linha i em algum
instante do intervalo ik.
O principal objetivo do intervalo tornar o tempo uma varivel discreta de
modo que seja possvel mape-lo atravs de colunas de uma matriz. Desta forma,
o modelo de dados definido para controle da alocao das linhas se baseia numa
matriz e funciona da seguinte forma: Define-se uma matriz Z(n,l) onde n o
nmero de intervalos em h e l o nmero de linhas do ptio. Desta forma,
possvel associar um intervalo a cada coluna da matriz Z e uma linha de ptio a
cada linha da matriz Z. Os elementos da matriz s podem assumir os valores 0 ou
1. O valor 1 no elemento z(i,j) da matriz Z indica que a linha i se encontra ocupada
78
79
Matriz de alocao
de linhas do ptio
i0
i1
i2
i3
...
in-4
in-3
in-2
in-1
Linha A
...
Linha B
...
Linha C
...
...
...
Linha A
Linha D
Linha C
Linha B
80
inicialmente
ialmente est localizado um comboio considerada ocupada at que o
comboio deixe completamente a linha.
A linha de destino de um comboio considerada ocupada at o fim do
horizonte de planejamento ou at que uma manobra executada posteriormente
retire o comboio de l. Alm disso, se a linha de destino no estiver livre desde o
momento em que o incio do comboio a atingir at o momento em que o centro do
comboio estiver alinhado com o seu centro, ento a linha no ser considerada
desocupada.
A Figura 21 mostra a vista lateral do comboio , localizado na linha A,
pronto para se deslocar at a linha B. A linha A aparece representada em preto e a
linha B em cinza. O ponto central de cada linha est assinalado com um pequeno
tringulo da cor da linha. Na figura esto indicados o comprimento l0 do comboio
Linha A
l0
Comboio
Linha B
lb
la
81
5
Testes computacionais
para definio do conjunto de dados de teste, o qual foi utilizado para analisar o
comportamento do programa YoYo em diversas situaes. O captulo concludo
com a apresentao dos resultados dos testes computacionais.
5.1.O programa gerador de ordens de servio
A necessidade de desenvolvimento de um programa gerador de manobras denominado SOGY (Switch Order Generator for YoYo) - surgiu durante a fase
dos testes computacionais. Com o principal objetivo deste projeto desenvolver
um algoritmo para soluo do PPOLM e implement-lo, na prtica, como
ferramenta de apoio deciso, desde o incio havia o interesse em comparar as
operaes recomendadas pelo programa YoYo com as operaes efetivamente
executadas pelos profissionais responsveis pelas operaes do ptio em estudo.
Para comparar os dois planos, era necessrio ento registrar o plano gerado
na prtica e submeter ao programa as mesmas informaes que a equipe de
operao do ptio usou para elaborar o seu plano. Em seguida a idia era
comparar o custo do plano gerado pela equipe com o custo do plano gerado pelo
programa.
Nos estgios iniciais do projeto, visando obter uma estimativa do retorno de
investimento e justificar a viabilidade do projeto, foram feitas algumas coletas
manuais de dados, simplesmente acompanhando a rotina das equipes de
planejamento e execuo de manobras na sala de controle de operaes de ptio,
83
84
linha principal, onde podem ser estacionados vrios conjuntos de vages. Cada
crculo escuro representa um conjunto padro, constitudo de uma linha principal
e um total de at oito ramificaes paralelas laterais de mesmo comprimento.
Assim, cada crculo escuro representa uma zona do ptio. Esto representadas as
zonas de recepo (RCP) e desmembramento (BKU) de trens, manuteno de
locomotivas (MNS), descarregamento (UNL1, UNL2, UNL3 e UNL4), um ponto
de inspeo, uma rampa de classificao (HPY) seguida de uma rea de
estacionamento (PRK), uma rea de limpeza (CLN), uma rea de manuteno de
vages (MNC) e uma rea de formao de trens (MKU). Maiores detalhes sobre o
leiaute do terminal RRT1 podem ser obtidos em Sabino(2004).
MNC
CLN
MKU
PRK
HPY
MNS
X
RCP
ISP
BKU
UNL1
UNL2
UNL3
UNL4
85
Escopo
Geral
Geral
Geral
Geral
Geral
Chegada
Chegada
Partida
Descarga
Descarga
Descarga
Descarga
Inspeo
Inspeo
Inspeo
classificao
Especificao
reas do ptio ferrovirio
Horizonte de planejamento
Peso mdio de um vago vazio
Peso mdio de um vago carregado
Tempo de servio mximo permitido
Tempo entre duas chegadas
consecutivas de trens
Vetor que contm as probabilidades de
haver 1, 2, 3, 4 ou 5 blocos num trem
recm chegado
Tempo entre duas partidas
consecutivas de trens
Tempo de servio de uma descarga
longa (assistida)
Tempo mdio de uma descarga de
durao curta (no assistida)
Probabilidade de uma manobra de
descarga ser assistida
Probabilidade de um conjunto de
vages carregado no descarregar
durante o horizonte de planejamento
dado
Probabilidade de um vago requerer
manuteno aps a inspeo
Probabilidade de um conjunto de
vages requerer limpeza aps a
inspeo
Nmero mximo de conjuntos de
vages distintos criados aps a
inspeo
Probabilidade de um bloco localizado
na rea de estacionamento necessitar
de manobras de classificao
Valor
RCP, BKU, UNL, PRK,
CLN, MNT, MKU
6h
15 ton
50 ton
2h
20 min
{0.65, 0.15, 0.10, 0.10,
0.05}
20 min
0.2 h
15 min
0.4
0.2
0.05
0.01
10
0.3
86
87
88
de persistncia do feromnio ;
3. Verificar se os valores recomendados para os parmetros do
algoritmo ACO mudam com a variao do tamanho da instncia;
4. Verificar se o tempo mdio de resposta para a obteno de boas
solues para o problema razovel para utilizao do programa
YoYo como ferramenta de apoio deciso aplicvel em situaes
prticas no planejamento de operaes de um ptio de manobras
real.
Para se obter um conjunto de entrada e dados de tamanho razovel, o
programa SOGY foi usado para gerar 50 instncias de entrada, cada uma com
mais de 200 manobras a serem executadas em um horizonte de planejamento de 6
horas.
A Tabela 3 mostra os parmetros operacionais usados nos experimentos. O
horizonte de planejamento foi definido com durao igual de um turno de
trabalho do ptio real de referncia deste estudo. O nmero de manobras a serem
planejadas a varivel mais importante na determinao do tamanho da instncia
do problema. No caso real, observou-se uma mdia de 10 manobras por hora,
totalizando 60 manobras em um horizonte de planejamento de 6 horas, assim,
consideramos instncias de 20 manobras, para representar uma instncia de
tamanho pequeno, 60 manobras para representar um valor mdio para um grande
89
otao
h
Valor(es)
6,0
n_orders
20; 60 e 100
c1/c2
0,8
n_vehicles
40
90
otao
Nmero inicial de formigas (para ambas
m
colnias)
Valor(es)
40; 60; 100 e 200
Expoente do feromnio
Expoente heurstico
1; 3; 5 e 10
0,1
0,5
91
92
todos os testes feitos para conjunto de dados de entrada contendo 20, 60 e 100
manobras. O histograma da Figura 24 mostra o resultado lado a lado e os
respectivos valores com preciso de 4 casas decimais so mostrados na Tabela 5.
Esta primeira anlise sugere que no h diferena significativa na qualidade da
soluo para nenhum dos valores de n_orders. A anlise de varincia suporta esta
hiptese intuitiva, j que a mesma no produz evidncias de diferena
estatisticamente significativa entre os resultados obtidos para os algoritmos que
utilizam as regras CME e RNK.
Qualidade da soluo por nmero de manobras
0,9
0,8
0,7
soluo
0,6
0,5
0,4
CME
0,3
RNK
0,2
0,1
0,0
Mdia
Desvio
Padro
20
Mdia
Desvio
Padro
Mdia
60
Desvio
Padro
100
n_orders
Algoritmo
n_orders Soluo
CME
20 Mdia
0,1246
Desvio Padro
0,0274
60 Mdia
0,4213
Desvio Padro
0,0366
100 Mdia
0,7789
Desvio Padro
0,0545
RNK
0,1270
0,0306
0,4212
0,0466
0,7719
0,0828
93
n_orders
Algoritmo
CME
RNK
1,29
1,17
2,55
2,35
29,89 23,08
33,81 33,94
79,71 71,62
78,43 100,40
m{40, 60, 100, 200} . As barras esto agrupadas de acordo com o nmero de
manobras do conjunto de dados de entrada.
94
soluo
0,6
0,5
0,4
CME
0,3
RNK
0,2
0,1
0,0
40
60
100
200
40
60
20
100
200
40
60
60
100
200
100
m
n_orders
Contagem Soma
Mdia
Varincia
1000 413,1341 0,413134 0,001293
1000
406,31 0,40631 0,001678
ANOVA
Fonte da variao
Entre grupos
Dentro dos grupos
SQ
0,023284
2,967564
Total
2,990848
gl
MQ
F
1 0,023284 15,67681
1998 0,001485
valor-P
F crtico
7,78E-05 3,846117
1999
95
0,46
0,45
0,44
0,43
soluo
0,42
0,02
0,41
0,1
0,40
0,5
0,9
0,39
0,98
0,38
0,37
0,36
1
10
96
soluo
0,42
0,02
0,41
0,1
0,40
0,5
0,9
0,39
0,98
0,38
0,37
0,36
1
10
97
0,80
0,70
0,60
0,50
CME
0,40
RNK
0,30
0,20
0,10
0,00
40
60
100
20
200
40
60
100
60
200
40
60
100
200
100
m
n_orders
Figura 27: Nmero mdio de iteraes para CME e RNK variando n_orders e m
98
100
0
50
CPU Needed
150
200
rnkparm000049
rnkparm000057
rnkparm000065
rnkparm000073
rnkparm000081
rnkparm000089
sample
6
Concluso
100
PPOLM.
de
manobras.
Alm disso,
fase
de testes
101
este
trabalho
analisa
mais
detalhadamente
atualmente
uma
realidade.
Encontra-se
em
andamento
102
manobras reais,
7
Referncias Bibliogrficas
[1] AHUJA, R.K.; JHA, K.C. New Approaches for Solving the Block-to-Train
Assignment Problem, Department of Industrial & Systems Engineering,
University of Florida, Gainesville, FL, 2004. Relatrio Tcnico.
[2] AHUJA, R.K.; JHA, K.C.; LIU J. Solving real-life railroad blocking
problems. Department of Industrial & Systems Engineering, University of
Florida, Gainesville, FL, USA, 2004. Relatrio Tcnico,
[3] AHUJA, R.K.; LIU J.; ORLON, J.B.; SHARMA, D.; SHUGHART, L.A.
Solving real-life locomotive scheduling problems. Transportation Science, v.
32, p. 358-369, 2002.
[4] ALBUQUERQUE, M.C. Indicadores de desempenho no transporte ferrovirio
de carga. Dissertao de mestrado. Pontifcia Universidade Catlica do Rio de
Janeiro, Rio de Janeiro, 2006.
[5] ASSAD, A. A., Modeling of rail networks: Toward a routing/makeup model,
Transportation Research, v. 14B, p. 101-114, 1980.
[6] BALDACCI, R.; MANIEZZO, V. ; MINGOZZI, A. An exact method for the
car pooling problem based on Lagrangean column generation. Operations
Research, v. 52, p.422-439, 2004.
[7] BARCUS, L. et al. Routing Design for Less-Than-Truckload Motor Carriers
Using Ant Colony Techniques. Departamento de Economa de la Empresa,
Universidad Carlos III de Madrid, 2004. Relatrio Tcnico.
[8] BEKTAS, T.; CRAINIC, T.G.; MORENCY, V. Improving performance of
rail
reassignments
of empty
cars. Centre
Transport
(CIRRELT).
Relatrio
Tcnico.
Disponvel
em :
<http://www.forac.ulaval.ca:1037/Publications/Documents%20de%20travail
%202007/CIRRELT-2007-19.pdf >. Acesso em 12/12/2007.
104
[9] BIANCHI, L. Ant Colony Optimization and Local Search for the Probabilistic
Traveling Salesman Problem: A Case Study in Stochastic Combinatorial
Optimization. Tese de Doutorado, ULB Universit Libre de Bruxelles, 2006.
[10]
105
[19]
CORDEAU J-F; LAPORTE G. A tabu search heuristic for the static multi-
106
[29]
approaches for the Fleet Size and Mix Vehicle Routing Problem with Time
Windows. Transportation Science, v. 41, n. 4, p. 516-526. 2007.
[30]
Transportation
Research
Record
Journal
of
the
Artificial
ants
as
computational
intelligence
technique.
IEEE
107
[39]
Fluidity. In: MULTIRAIL, 2006, Princeton, NJ, EUA. Disponvel em: <
http://www.railplanning.com/MR2006docs/Carl%20Van%20Dyke_Network
%20Performance.pdf>. Acesso em: 31/5/2008.
[41]
Railroad
GAMBARDELLA,
L.
M.;
RIZZOLI,
A.
E.;
OLIVERIO,
F.;
v.
73,
n.
9,
2003.
Publicao
Online. Disponvel
em:
<http://findarticles.com/p/articles/mi_qa3734/is_200309/ai_n9269474>.
Acesso em: 21/12/2007.
[45]
108
[47]
fleet mix problem using tabu search and set partitioning, Journal of the
Operational Research Society. 2007. Publicao Online. Disponvel em:
<http://www.palgravejournals.com/jors/journal/vaop/ncurrent/abs/2602421a.html>.
Acesso
em:
18/11/2007.
[52]
LI, Haibing; LIM Andrew. A Metaheuristic for the Pickup and Delivery
heuristic for solving the pickup and delivery problem with time windows.
European Journal of Operational Research, v. 175, n. 2, p. 672-687, 2006.
109
[55]
[59]
NANRY, W.P.; BARNES, J.W. Solving the Pickup and Delivery Problem
110
Disponvel
em:
<http://www.professor.webizu.org/ga/>.
Acesso
em:
23/02/2008.
[65]
[66]
and delivery models Part II: Transportation between pickup and delivery
locations, Faculty of Business, Economic and Statistics, Department of
Business Studies, University of Vienna, Vienna, Austria, 2006. Relatrio
Tcnico.
[67]
REIS Jr., W.O. Um Otimizador Branch & Bound Paralelo para Manobras
and branch-and-cut algorithms for pickup and delivery problems with time
windows. 0etworks. v. 49, n. 4, p. 258-272, 2007.
[70]
111
[73]
SIGURD, M., PISINGER, D., SIG, M. The pickup and delivery problem
ZHOU, C., TAN, Y., LIAO, L., LIU, Y. Solving the Multi-vehicle Pick-up