Você está na página 1de 5

Modelos de Fluxo em Redes para o Problema de Escala de

Motoristas de nibus Urbano


Gustavo P. Silva, Marcone J. F. Souza
Depto de Computao, ICEB, UFOP,
35400-000, Ouro Preto, MG
E-mail: gustavo@iceb.ufop.br, marcone@iceb.ufop.br

Alosio de C. Gomes
Depto de Engenharia de Produo - UFMG
15025-400, Belo Horizonte, MG
E-mail: algomesjr2004@yahoo.com.br

1. Introduo
O Problema de Gerao da Escala de Motoristas e
Cobradores de nibus Urbanos denominado na
literatura como Problema de Programao de
Tripulaes (PPT) de um Sistema de Transporte
Pblico. Ele consiste em determinar o nmero
mnimo necessrio de tripulaes (motorista e
cobrador), tal que a programao dos veculos seja
realizada com sucesso. A soluo deste problema
tambm envolve o seqnciamento das atividades
de cada tripulao, gerando um conjunto de
jornadas de trabalho cujo custo operacional total
seja mnimo. Este problema apresenta grande
complexidade devido sua magnitude, s restries
operacionais vigentes nas empresas e nas clusulas
trabalhistas contidas nos acordos coletivos da
categoria.
Esse problema tem sido muito estudado e a
abordagem mais empregada aquela que formula o
PPT como um problema de recobrimento ou de
particionamento (set covering ou set partitioning
model) e utiliza a tcnica de gerao de colunas,
branch-and-bound, branch-and-price e a relaxao
lagrangeana para encontrar uma soluo inteira
(Smith e Wren [12], Desrochers e Soumis [5],
Desrochers et al. [6], Fores et al. [9], Barnhart et al.
[2], Friberg e Haase [10]).
Diferentemente dos modelos de programao
linear, os algoritmos de fluxo em redes so capazes
de resolver problemas de grandes dimenses
produzindo solues que j so inteiras. Assim, os
modelos de fluxo em redes tambm se tornam
ferramentas importantes na resoluo do PPT.
Entre os trabalhos iniciais pode-se destacar Ball et
al. [3] que utiliza o modelo de emparelhamento
para resolver tanto o problema da programao dos
veculos quanto de suas tripulaes. Carraresi e
Galo [4], realizam uma reviso bibliogrfica
mostrando as diferentes utilizaes dos modelos de
fluxo em redes na resoluo de diversos problemas
de otimizao que surgem na operao de sistemas
de transporte pblico. Nesse trabalho os autores
tratam do problema de programao dos veculos,

programao da tripulao e do rodzio da tripulao


utilizando as seguintes ferramentas: a) modelos clssicos
de fluxo em rede; b) modelos de conjuntos particionados;
c) modelos agregados; d) modelos de emparelhamento e
e) tcnicas de relaxao lagrangeana.
Siqueira [11] apresenta uma abordagem para a resoluo
do PPT que utiliza o modelo do problema de
emparelhamento de peso mximo. Esta abordagem divide
o problema em quatro fases. A primeira fase consiste em
dividir as escalas de longa durao em vrias escalas de
curta durao, realizada atravs de princpios de
programao dinmica. O resultado da primeira fase so
escalas de menor durao, a partir das quais so geradas
trs tabelas: uma tabela contendo escalas para os dias
teis, outra para os sbados e outra para os domingos. A
segunda fase consiste em pegar as escalas geradas na
primeira fase e combin-las para formar a jornada diria
de cada tripulao. Essa combinao realizada
aplicando o algoritmo de emparelhamento. O resultado
desta fase so as jornadas de trabalho a serem executadas
nos dias teis, sbados e domingos/feriados pelas
tripulaes da empresa. A terceira fase consiste em
combinar as jornadas de finais de semana com as jornadas
de dias teis. Para esta fase foi utilizado o
emparelhamento de peso mximo em um grafo bipartido,
onde de um lado tm-se as jornadas de dias teis e do
outro as jornadas de finais de semana. Como resultado
desta fase tem-se a jornada semanal de cada tripulao. A
quarta e ltima fase consiste em designar as jornadas
semanais aos funcionrios, respeitando os horrios em
vigor, bem como o tempo livre de cada funcionrio.
Novamente o algoritmo de emparelhamento de peso
mximo em um grafo bipartido foi utilizado, tendo de um
lado as jornadas semanais e do outro lado os funcionrios.
Os arcos representavam possibilidades de alocao das
tripulaes s jornadas, e os pesos correspondem s suas
respectivas preferncias. O resultado desta fase consiste
na escala semanal de trabalho das tripulaes da empresa.
Este artigo apresenta uma abordagem para o PPT baseada
no trabalho de Siqueira [11]. Entretanto com aplicaes
sucessivas do modelo de emparelhamento na construo
das jornadas dirias. So exploradas duas estratgias que
tiram proveito da estrutura do problema real para

conduzir as solues a assumirem caractersticas


interessantes do ponto de vista prtico. O trabalho
est dividido como segue: na seo seguinte
realizada uma descrio do problema estudado. Na
seo trs apresentado o modelo de
emparelhamento e na seo quatro descrita a
metodologia proposta com suas duas abordagens. A
seo cinco contm os resultados alcanados no
estudo e finalmente, na seo seis realizada uma
anlise dos resultados obtidos e apresenta a
concluso do trabalho.
2. O Problema de Programao da Tripulao
No transporte pblico, usualmente a programao
da tripulao feita aps a programao dos
veculos. Na programao dos veculos as viagens
so reunidas em blocos que definem a seqncia
das atividades que um determinado veculo tem que
realizar em um dia, desde a sua partida at o seu
retorno garagem. Cada bloco mostra tambm as
Oportunidades de Troca das Tripulaes (OT).
Uma OT um intervalo de tempo suficientemente
grande que ocorre entre duas viagens em um ponto
apropriado que possibilita a ocorrncia de troca das
tripulaes que conduzem um veculo.
A partir dos blocos dos veculos so criadas as
tarefas a serem realizadas pelas tripulaes. Cada
tarefa um conjunto de viagens compreendidas
entre duas OTs. Assim, durante a realizao da
tarefa, no possvel que haja a troca da tripulao.
A programao de uma tripulao formada pelo
conjunto de tarefas a ser executado por ela ao longo
do dia, tambm denominada de jornada de trabalho
da tripulao. A programao das tripulaes o
conjunto de todas as jornadas de trabalho referentes
a uma empresa. Neste trabalho so considerados os
seguintes tipos de jornadas: com Pegada Simples
ou com Dupla Pegada, conforme o tempo existente
entre as tarefas. No primeiro tipo, as tarefas so
realizadas de uma nica vez e os intervalos de
tempo entre as tarefas so inferiores a duas horas.
Caso ocorra um intervalo maior que duas horas, a
jornada classificada como dupla pegada. Neste
intervalo superior a duas horas o veculo
recolhido garagem e a tripulao dispensada.
Portanto a tripulao no remunerada neste
perodo. Aps o trmino do intervalo, o tripulante
deve retornar ao trabalho para realizar a segunda
pegada da jornada.
Ao reunir as tarefas formando as jornadas, deve-se
levar em conta inmeras restries operacionais e
trabalhistas. As restries trabalhistas so aquelas
impostas pela legislao e os acordos coletivos do
setor. J as restries operacionais representam a
filosofia de gesto das empresas. Essas restries
podem ser classificadas em dois tipos: restries
essenciais, ou seja, aquelas de carter obrigatrio e
que devem ser satisfeitas para gerar uma escala
vivel; e restries no essenciais, aquelas cujo

atendimento melhoram a qualidade da escala gerada, mas


que, se no satisfeitas, no geram escalas inviveis.
As restries essenciais consideradas no modelo so as
seguintes:
Uma tripulao no pode realizar mais de uma tarefa
ao mesmo tempo;
As trocas das tripulaes s podem ocorrer nas OTs;
As trocas das tripulaes s podem ocorrer entre
grupos de linhas predeterminadas, ou seja, grupos de
linhas com as mesmas caractersticas;
As tripulaes com Pegadas Simples no podem
realizar trocas de pontos;
Cada tripulao com pegada simples tem direito a
trinta minutos corridos de descanso/alimentao
durante sua jornada diria, contabilizados at as seis
primeiras horas de trabalho.
O nmero de jornadas do tipo dupla pegada deve estar
limitado a um valor pr-determinado;
A jornada de trabalho dirio de 7:10 horas para as
tripulaes com pegada simples e 6:40 horas para
aquelas com dupla pegada, acrescida de at duas horas
extras;
O tempo entre o final de uma jornada diria de
trabalho e o seu incio no dia seguinte deve ser de, no
mnimo, 11 horas.
As restries no essenciais consideradas no modelo so:
O tempo ocioso de uma tripulao deve ser o menor
possvel;
O nmero de horas extras deve ser minimizado;
O nmero de tripulaes deve ser mnimo;
O nmero de vezes que uma tripulao troca de
veculo deve ser reduzido;
O nmero de vezes que uma tripulao com dupla
pegada finaliza a primeira parte da jornada em um
ponto e inicia a segunda parte em um outro ponto deve
ser reduzido;
O nmero de vezes que uma tripulao troca de linhas
dentro de um mesmo grupo deve ser reduzido.
Essas restries constam na Conveno Coletiva de
Trabalho 2003/2004 celebrada entre o Sindicato das
Empresas de Transporte de Passageiros de Belo
Horizonte e o Sindicato dos Trabalhadores em Transporte
Rodovirio de Belo Horizonte.
3. O Problema de Emparelhamento
Um emparelhamento um conjunto de pares de vrtices
de um grafo com pesos no nulos, e tais que cada vrtice
deve formar, no mximo, um par. Deste modo, um
emparelhamento de um grafo G=(X, A) um subconjunto
M do conjunto A de arcos de G, escolhidos de tal maneira
que cada vrtice a extremidade de, no mximo, um arco
de M, ou seja, no existem arcos adjacentes em M (Evans
e Minieka [8] , Ahuja et al. [1]).

A Figura 3.1 ilustra um conjunto emparelhamento


cujos elementos so os pares de vrtices: (1, 4) , (2,
3) e (6, 7).
1

7
Figura 1: Exemplo de um conjunto de Emparelhamento

O problema de emparelhamento de peso mximo


consiste em maximizar a soma dos pesos dos arcos
pertencente ao conjunto M, considerando que a rede
no direcionada. Para a formulao matemtica
do problema, seja V = {V1, V2, ..., Vz} o conjunto de
todos subconjuntos de vrtices com cardinalidade
mpar. Seja Tm o conjunto de todos os arcos com as
extremidades no conjunto de vrtices Vm e T = {T1,
T2, ..., Tz}. Seja o nmero de vrtices em Vm dado
por 2nm +1. Assim, nenhum conjunto de
emparelhamento pode conter mais que nm membros
do conjunto Tm.
Sendo pij o peso no arco (i, j) considere a varivel
de deciso xij=1 se o arco (i, j) est no
emparelhamento e xij=0, caso contrrio. Desta
maneira o problema de programao linear para o
emparelhamento de peso mximo fica da seguinte
forma:
Maximizar

p ij . x ij

(i, j )

Sujeito a:

(x
j X

( i , j )Tm

(1)

ij

+ x ji ) 1, i X

ij

n m , ( m = 1, 2, ..., z ) (3)

x ij 0 ( i , j )

(2)

(4)

O conjunto de restries (2) garante que cada arco


(i, j) seja considerado pertencente ao conjunto de
emparelhamento, no mximo, uma vez. Alm disso,
como o grafo no direcionado, se xij=1 ento xji
tambm dever ser igual a 1. O conjunto de
restries (3) refere-se aos subconjuntos de
cardinalidade mpar de G, e para cada subconjunto
Tm de vrtices em Vm o nmero de arcos em M deve
ser menor
do que nm. Estas restries no
permitem a formao de arcos adjacentes
pertencentes ao conjunto emparelhamento. O
nmero z representa a quantidade total de
subconjuntos com cardinalidade mpar do grafo G.
O Problema de Emparelhamento um problema
clssico de fluxo em redes com diversas aplicaes
na resoluo de problemas reais, entre as quais

pode-se destacar o Problema de Programao da


Tripulao (Ahuja et al. [1]).
4. Metodologia Proposta
O PPT tem como dados de entrada os blocos dos
veculos, os quais so particionados em tarefas que
compem as jornadas de trabalho de cada tripulao,
formando ento a escala diria de trabalho ou a
programao diria das tripulaes. A metodologia
proposta consiste em emparelhar inicialmente as tarefas
que apresentam maior similaridade e que podem ser
executadas por uma nica tripulao, sem ferir as
restries desejadas. Posteriormente, cada par de tarefas
emparelhadas devido aplicao do algoritmo de peso
mximo, representado por um nico n formando um
pedao de jornada. Assim, um pedao de jornada
compreende a execuo de uma ou mais tarefas. Os
pedaos de jornadas sofrem sucessivos emparelhamentos
at que nenhuma nova combinao de pedaos de jornada
seja possvel, determinando ento as jornadas de trabalho
das tripulaes.
O modelo de emparelhamento para o PPT considera um
grafo no direcionado G = {V, A} onde inicialmente V =
{v1,...,vn} o conjunto de vrtices que representam as
tarefas provenientes dos blocos dos veculos e A = {{vi,
vj}, tal que vi, vj V, ij} o conjunto de arcos que
representam os possveis seqenciamentos das tarefas vi e
vj com peso pij atribudo a este arco.
Se duas tarefas puderem ser executadas por uma nica
tripulao, ou seja, se o seqenciamento de tais tarefas
no infringir qualquer uma das restries consideradas
essenciais, ento o arco ligando tais tarefas acrescido ao
grafo, caso contrrio, o arco descartado do grafo. Logo,
dado um conjunto de tarefas, obtido a partir da
programao dos veculos, e utilizando uma funo de
peso, gera-se o grafo G a partir do qual (3.2)
feito o
emparelhamento das tarefas. Para diminuir o nmero de
comparaes entre as tarefas, as mesmas so ordenadas
de acordo com seus horrios de incio.
A partir do conjunto de tarefas combinadas, ou pedaos
de jornadas, obtidas pelo emparelhamento inicial,
utilizando-se novamente a funo de peso e um novo
grafo G' gerado. Neste grafo os vrtices so os pedaos
de jornadas e os arcos so as possveis combinaes entre
eles. A partir deste novo grafo realizado um novo
emparelhamento.
Este processo repetido sucessivamente at que nenhuma
combinao de pedaos de jornadas possa ser realizada,
ou seja, o nmero de arcos no grafo G' nulo. Nesse caso
o grafo resultante apresenta um conjunto de vrtices
isolados, no qual cada vrtice representa uma jornada de
trabalho e o conjunto de todos os vrtices representa a
escala diria das tripulaes da empresa.
Para determinar o peso pij dos arcos utilizou-se a Equao
(5). Esta equao leva em considerao elementos
pertencentes s restries essenciais do problema descrita

na seo 2, alm de abranger jornadas de dupla


pegada, onde:

pij = hextras hocios hexced


ntv tl perm tp perm f 30

(5)

pij o peso no arco que liga as tarefas i e j;


um nmero muito grande do qual sero
subtradas
as
penalizaes.
Nesta
implementao = 20.000;
hextras o nmero de hora extras no pedao de
jornada e = 6;
hocios o nmero de horas ociosas no pedao de
jornada, ou seja, horas que a tripulao recebe e
no produz. Nos testes foram experimentados os
valores = 4 e = 0;
hexced o nmero de horas que excedem as 9h
10 permitidas para uma jornada de trabalho e
= 300;
ntv o nmero de vezes que a tripulao troca
de veculos e = 500;
tlperm o nmero de vezes ocorreu trocas de
linhas permitidas e = 10;
tpperm o nmero de vezes que as tripulaes
com dupla pegada fazem troca de ponto
permitida. Nesse caso foi adotado = 10;
f30 o nmero de minutos que faltam para
completar o intervalo de 30 minutos obrigatrios
e = 500. Este peso desconsiderado em
jornadas com dupla pegada.
Os valores dos parmetros , , , , , e so
baseados nos pesos da funo de avaliao proposta
por Silva et al. [13]. Foi utilizado = 0 quando o
fator horas ociosas no estava sendo considerado na
determinao do peso no arco.
A partir do modelo de emparelhamento foram
desenvolvidas duas estratgias, ou metodologias
para a construo da rede sobre a qual aplicado o
algoritmo de emparelhamento com peso mximo.
Estas metodologias so descritas a seguir.

da manh e da noite, gerando pedaos de trabalhos com


maiores duraes. Todos os pedaos de jornadas assim
como as tarefas do perodo da tarde so ento
emparelhados com a finalidade de propiciar que as trocas
de tripulaes ocorressem no horrio de almoo, e as
duplas pegadas tenham atividade nos horrios do pico da
manh e da noite.
Foram realizados testes para diferentes divises de
perodos com pr-emparelhamento. Tambm foram
consideradas variaes nos parmetros que definem os
respectivos perodos. Desta forma, foi gerada uma
variedade de solues com diferentes caractersticas.
4.2. Metodologia 2: Agrupamento das Tarefas em
Blocos de Maior Durao
Esta abordagem tem como finalidade representar a
situao operacional na qual a tripulao que inicia a
operao a partir da garagem permanece com o veculo
por um dado perodo mnimo de tempo. O mesmo
acontece com a tripulao que retorna com o veculo
garagem no final da operao. Logo, foi realizado um
agrupamento das tarefas de curta durao em blocos de
maior durao. Este agrupamento se d no incio e no
final da atividade de cada veculo, ou sejam quando ele
sai e quando ele retorna garagem. As duraes mnimas
consideradas para cada bloco foram de 03:00 horas, 03:30
horas, 04:00 horas, 04:30 horas e 05:00 horas. Os pedaos
de trabalho iniciais e finais com durao mnima so
ento emparelhados sucessivamente com o restante das
tarefas, considerando sempre a Equao (5) na atribuio
dos pesos aos arcos. Como variao desta abordagem,
aps o agrupamento das tarefas iniciais e finais, aplicouse a metodologia 1.
5. Testes Realizados
Para avaliar a qualidade dos resultados obtidos, foi
utilizada uma verso adaptada da funo proposta por
Silva et al. [13], que visa medir a qualidade de cada
resultado obtido. Esta funo de avaliao est baseada
em penalidades e apresentada abaixo.
n

FA = pi ai

(6)

i =1

4.1. Metodologia 1: Diviso das Tarefas em


Perodos
Esta metodologia tem como objetivo forar o
agrupamento de tarefas que pertencem ao mesmo
perodo, seja da manh, da tarde ou da noite,
deixando que as tarefas dos demais perodos sejam
agrupados segundo o emparelhamento global.
Dessa maneira o modelo gera solues com
jornadas cuja durao predominante ocorre dentro
do perodo. Assim, em uma primeira etapa as
tarefas foram divididas em 3 blocos. Tais blocos
representam trs perodos tpicos do dia: manh (de
0:00 s 9:59), tarde (de 10:00 s 15:59) e noite
(16:00 s 11:59). A partir da, pode for realizado,
por exemplo, um pr-emparelhamento nos perodos

onde:
pi = peso atribudo s restries no essenciais violadas
pela soluo;
ai = nmero de horas ou de vezes que a inviabilidade
ocorreu;
n = nmero de inviabilidades a serem contempladas.
Foram realizados diversos testes computacionais com
dados de uma empresa que opera no sistema brasileiro de
transporte pblico. As duas metodologias se mostraram
eficientes na resoluo do problema em um reduzido
tempo de processamento.

6. Concluso do Trabalho
Neste trabalho, so propostas duas metodologias,
baseadas no algoritmo de Emparelhamento de Peso
Mximo para resolver o Problema de Programao
de Tripulaes. A primeira metodologia baseia-se
na diviso das tarefas em blocos que variavam de
acordo com o perodo do dia. A partir da
realizado um pr-emparelhamento e as tarefas so
agrupadas em um nico n, gerando pedaos de
jornadas. E assim sucessivamente at que nenhum
emparelhamento se torna possvel. A segunda
metodologia uma variao da primeira, na qual as
tarefas so agrupadas no incio e final das viagens
dos veculos at atingirem uma durao mnima.
Posteriormente foram aplicados emparelhamentos
sucessivos at encontrar uma soluo para o
problema.
As duas metodologias se mostraram eficientes,
gerando solues que atendem s restries do
problema com custos reduzidos, segundo avaliao
da empresa. Segundo os testes realizado, foi
possvel observar que a segunda metodologia 2
alcanou resultados melhores do que a primeira,
principalmente no que diz respeito ao nmero de
tripulantes. Isso se deve ao fato do agrupamento
seguir um encadeamento natural das tarefas
evitando um comportamento guloso dentro do
processo sucessivo de emparelhamentos, presente
na primeira metodologia. Os resultados do estudo
de caso mostram possibilidades de aplicao prtica
do modelo.
Agradecimentos
Os autores agradecem Fapemig pelo apoio
recebido no desenvolvimento deste trabalho.
Referncias Bibliogrficas
[1] Ahuja, R. K.; Magnanti, T. L.; Orlin, J. B.,
Network Flows: Theory, Algorithms and
Applications. Prentice-Hall, Inc., Englewood
Cliffs, New Jersey, 1993.
[2] Barnhart, C.; Johnson, E. L.; Nemhauser, G.
L.; Savelsbergh, M. P.; Vance, P. H., Branchand-price: column generation for solving huge
integer programs. Operations Research, v. 46
(1998) 316-329.
[3] Ball, M.; Bodin, L.; Dial, R.,A, Matching
Based Heuristic for Scheduling Mass Transit
Crews and Vehicles. Transportation Science,
v. 17, n. 1 (1983) 431.
[4] Carraresi, P.; Gallo, G., Network Models for
Vehicle and Crew Scheduling. European
Journal of Operational Research, v. 16 (1984)
139-151.
[5] Desrochers, M.; Soumis, F., A Column
Generation approach to the urban transit crew

scheduling problem. Transportation Science, v. 23


(1989) 1-13.
[6] Desrochers, M; Gilbert, J.; Sauve, M.; Soumis, F.,
CREW-OPT: Subproblem modeling in a column
generation approach to urban crew scheduling, em
Computer-Aided Transit Scheduling (Desrochers,
M. e Rousseau, J. M., eds.) pp. 395-406, Spring,
Berlin, (1992)
[7] Evans, J.R.; Minieka, E. Optimization Algorithms
for Networks and Graphs. Mercel Dekker, Inc. New York City-NY, 1992.
[8] Fores, S.; Proll, L.; Wren, A., An Improved ILP
System For Driver Scheduling, em Computer-Aided
Transit Scheduling (Wilson, N. H. M., ed.) pp. 4361, Springer, Berlin, 1999.
[9] Friberg, C.; Haase, K., An exact branch and cut
algorithm for the vehicle and crew scheduling
problem. em Computer-Aided Transit Scheduling
(Wilson, N. H. M., ed.) pp. 63-80, Springer, Berlin,
1999.
[10] Siqueira, P. H., Aplicao do algoritmo do
Matching no problema da construo de escalas de
motoristas e cobradores de nibus. Dissertao de
mestrado, Setor de Tecnologia e de Cincias Exatas,
Universidade Federal do Paran, Curitiba, 1999.
[11] Smith, B. M.; Wren, A. A Bus Crew Scheduling
System Using a Set Covering Formulation.
Transportation Research, v. 22 (1988) pp. 97-108.
[12] Silva, G. P.; Souza, M. J. F.; Alves, J. M. C. B.,
Resoluo do Problema de Programao Diria da
Tripulao de nibus Urbano via Simulated
Annealing, em Panorama Nacional de Pesquisa em
Transportes (Setti, J. R. A. e Santos, E. M., eds) v.2,
pp. 95-104, ANPET, Natal, 2002.

Você também pode gostar