Beruflich Dokumente
Kultur Dokumente
Transporte Escolar
Fernando Silveira Alves RA: 100834
2014
RESUMO
Em otimizao combinatria temos os Problemas de Roteamento de Veculos (PRV).
O problema consiste no atendimento de um conjunto de clientes c por meio de veculos
v, que partem de um depsito ou mais. A principal restrio de um PRV que cada
veculo v possui uma capacidade m e o somatrio de todas as demandas dos clientes
atendidos por cada veculo na ultrapasse m. Uma das diversas aplicaes do problema
o transporte escolar, onde o objetivo minimizar a quantidade de veculos necessrio
para transportar alunos. A Prefeitura Municipal de Coxim - MS, conta com 22 veculos,
em 36 linhas, com 5 modelos de capacidades distintas que transportam 1500 alunos
da rede pblica. A pergunta que surge, ser que conseguimos atender todos os alunos
com um nmero menor de veculos fazendo a mesma quantidade de viagens?. Para
resolver tal problema usaremos o mtodo Simplex e a tcnica Branch-and-Bound.
Palavras-chaves: Transporte escolar; Problema de roteamento de veculos; Otimizao
Combinatria.
INTRODUO
O municpio de Coxim est localizado na regio norte do Estado do Mato Grosso
do Sul, sendo cortado pelos rios Coxim e Taquari. De acordo com o senso do IBGE de
2010 o municpio conta com 32.159 habitantes com uma rea de 6.409, 224 km2 , sendo o
municpio composto pelos distritos de: Coxim, Jauru, So Ramo e Taquari.
A cidade de Coxim no conta com transporte pblico e nem privado, tendo somente
o servio de txi ou moto-txi. Para atender a rede pblica de ensino a prefeitura municipal
conta com um servio gratuito para o transporte escolar dos estudantes no perodos
matutino, vespertino e noturno. Sendo no total 36 linhas de atendimento.
2 linhas universitrias (transportam estudantes da cidade de Coxim at a Cidade de
Rio Verde - MS no perodo noturno);
4 linhas urbanas (nos trs perodos escolares);
6 linhas de permetro urbanos (nos trs perodos escolares);
DESCRIO DO PROBLEMA
A cidade de Coxim, conta com 22 veculos para transportar estudantes da rede
pblica de ensino, sendo 9 veculos prprios de sua frota e 13 veculos terceirizados, de
diversas capacidades que atendem 1500 alunos, sendo 600 no perodo matutino, 600 no
perodo vespertino. So em nmero 5 tipos de nibus com capacidade distintas conforme
tabela abaixo.
Tipo
Capacidade
Quantidade
tipo 1 (x1 )
30
6
tipo 2 (x2 )
40
5
tipo 3 (x3 )
20
3
tipo 4 (x4 )
42
4
tipo 5(x5 )
44
4
Formulao Matemtica
O modelo que se segue abaixo representa o problema dado:
k
X
min z =
x
xi
i=1
sujeito a:
k
X
yi xi Q
i=1
xi qi
xi 0
(i = 1, . . . , k)
e inteiro
(1)
METODOLOGIA DE SOLUO
Programao Linear
Tcnica que se prope otimizar (maximizar ou minimizar) o valor de uma funo
linear, respeitando um conjunto de restries (equaes ou inequaes) lineares.
Exemplo 1. George B. Dantzig (1947): planejamento logstico (suprimentos).
Objetivo tratar problemas de alocao de recursos - determinar o modo mais eficiente de
utilizar os recursos limitados;
Linear implica que todas as funes do problema so lineares.
Definio 0.1. Um modelo de programao linear (PL) reduz um sistema real a um
conjunto de equaes ou inequaes em que pretendemos otimizar uma funo objetivo.
Exemplos de Problemas de Deciso resolvidos por PL
Exemplo 2. Se tanto a Matria Prima quanto a Mo de Obra so limitados, qual a
quantidade produtos que maximiza o lucro da empresa?
Exemplo 3. Se um dado combustvel obtido de uma mistura de produto de preos
variados, qual a composio de menor custo com poder calorfico suficiente?
Exemplo 4. Se existem vrios caminhos que ligam duas cidades, qual a que propicia o
mnimo de gasto de combustvel?
Exemplo 5. Se existem vrios ativos financeiros, qual a combinao que melhor reflete o
compromisso entre o risco e o retorno?
Exemplo 6. Um empresa de nibus transportam um quantidade Q de alunos, qual o
nmero mnimo de nibus necessrios para efetuar tal transporte.
Formas de Representao
Formato Padro todas as restries so igualdades e todas as variveis so no-negativas.
Formato cannico (problema de minimizao) todas as variveis so no-negativas e todas as restries
so do tipo .
Mtodo Simplex
O mtodo nada mais do que um algoritmo de busca, isto , ele comea num
vrtice a regio factvel (regio onde se encontra todas as solues viveis) e move-se de um
vrtice a outro at encontrar o vrtice timo, ele descreve uma sequncia de passos para a
soluo de sistemas de equaes lineares sujeitos a uma funo objetivo. Basicamente, ele
dispe sobre trs situaes:
1. O mtodo de inverso de matriz bsica m m deduzida a partir de A, uma matriz
de restries m n.
2. As condies de troca de variveis dentro da matriz bsica, para que exista garantia
de uma contnua melhora da soluo do longo do desenvolvimento dos passos do
algoritmo.
3. As regras de parada do algoritmo e a interpretao dessa situao final.
Resumo do Algoritmo Simplex
[Condio de otimalidade] A varivel que entra na base em um problema de
maximizao (minimizao) a varivel no bsica que tiver o coeficiente mais
negativo (positivo) na linha z. Os vnculos so rompidos arbitrariamente. O timo
alcanado na iterao em que todos os coeficientes da linha z das variveis bsicas
forem no negativos (no positivos).
[Condio de viabilidade] Tanto para os problemas de maximizao quanto para
os problemas de minimizao, a varivel que sai da base a varivel bsica associada
com a menor razo no negativa (que tenha um denominador estritamente positivo).
Os vnculos so quebrados arbitrariamente.
[Operaes de linha por Gauss-Jordan]
1. Linha do piv
4
a) Substitua a varivel que sai da base na coluna Base pela varivel que entra
na base.
b) Nova linha piv = Linha piv atual Elemento piv
2. Todas as outras linhas, incluindo z Nova linha = (Linha atual) - (Coeficiente
da coluna piv)(Nova linha do piv).
Etapas do Algoritmo Simplex
Etapa 1 Determine um soluo bsica vivel.
Etapa 2 Selecione uma varivel para entrar na base usando a condio de otimalidade. Pare
aqui se no houver nenhuma varivel para entrar na base; a soluo tima. Seno,
passe para a etapa 3.
Etapa 3 Selecione uma varivel para sair da base usando a condio de viabilidade.
Etapa 4 Determine uma nova soluo bsica usando os clculos de Gauss-Jordan adequados.
Passe para a etapa 2.
Branch-and-Bound
O mtodo denominado Branch-and-Bound (B&B) baseia-se na idia de desenvolver
uma enumerao inteligente dos pontos candidatos soluo tima inteira de um problema.
O termo branch refere-se ao fato de que o mtodo efetua parties no espao de solues. O
termo bound ressalta que a prova de otimalidade da soluo utiliza-se de limites calculados
ao longo da enumerao.
Algoritmo B&B
Considerando um problema maximizao, estabelea um limite inferior inicial
z = para o valor dos coeficientes da funo objetivo tima da PLI. Determine i = 0.
Etapa 1 Selecione uma PLi, o prximo sub-problema a ser examinado. Resolva a PLi e tente
interpret-la usando uma das trs condies:
1. O valor timo de z da PLi no pode dar uma valor objetivo melhor que o limite
inferior atual.
2. A PLi d uma soluo inteira vivel melhor do que o limite inferior atual.
3. A PLi no tem soluo vivel
Surgiro dois casos.
1. Se a PLi for interpretada em uma soluo melhor for encontrada, atualize o
limite inferior. Se todos os sub-problemas tiverem sido descartados, para; a PLI
tima associada com o limite inferior finito atual. Se no existir nenhum limite
inferior finito, o problema no tem nenhum soluo vivel. Seno, determine
i = i + 1, repita a etapa 1.
2. Se a PLi no for interpretada, v para a etapa 2 para ramificar.
Etapa 2 (Ramificao) Selecione uma das variveis inteiras xj , cujo valor timo xj na soluo
da PLi no seja inteiro. elimine a regio
[xj ] < xj < [xj ] + 1
(na qual [v] define o maior inteiro v), criando dois sub-problemas de PL que
correspondem a
xj [xj ] e xj [xj ] + 1
Determine i = i + 1, e v para a etapa 1.
As etapas dadas se aplicam a problema de maximizao. Para minimizao, substitumos o limite inferior para um limite superior (cujo valor inicial z = +).
APRESENTAO DO RESULTADOS
Utilizando a tabela da pgina 2 e o modelo da pgina 2, temos ento o seguinte
problema a minimizar:
min z =
x
5
X
xi
i=1
sujeito a:
5
X
i=1
xi qi
xi 0
(i = 1, . . . , 5)
e inteiro
x2 4
x3 1
Note que na inequao 5i=1 (yi fol) xi 600 foi adicionada a varivel fol
referente a quantidade de passageiros nos veculos, a prefeitura municipal de Coxim no
trabalha com a lotao mxima, pois esporadicamente fiscais da prefeitura andam nas
linhas para verificar se os motoristas no esto dando carona para no estudantes, ou se,
os passageiros so estudantes com cadastrado daquela linha. A prefeitura adota fol = 2,
x2 4 so os veculos para as linhas das escolas rurais, ou seja, os veculos s voltam para
a cidade no final da tarde para comearem a fazer a linha noturna, e x3 1, pois uma
determinada escola s acessvel por meio de veculos de pequeno ou mdio porte, assim,
o modelo fica:
P
5
X
min z =
x
xi
i=1
sujeito a:
5
X
(yi 2) xi 600
i=1
x i qi
(i = 1, . . . , 5)
xi 0
(2)
e inteiro
x2 4
x3 1
Observe que a funo objetivo
z = x1 + x2 + x3 + x4 + x5
com coeficientes inteiros, deste modo, uma tcnica boa para soluo usar o Algoritmo
Simplex. Como o Algoritmo no est interessado em solues inteiras, ento usando a
tcnica Branch-and-Bound (B&B) procuraremos as solues inteiras que minimizem o
problema. Adicionando as variveis de folgas e variveis artificiais, deixaremos o modelo
(2) na forma padro.
min z = x1 + x2 + x3 + x4 + x5
x
sujeito a:
28x1 + 38x2 + 18x3 + 40x4 + 42x5 x11 + xa1 = 600
x1 + x6 = 6 x2 + x7 = 5
x3 + x8 = 3 x4 + x9 = 4
x5 + x10 = 4 x2 x12 + xa2 = 4
x3 x13 + xa3 = 1
x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , 0
x10 , x11 , x12 , x13 , xa1 , xa2 , xa3 0
Assim, a tabela abaixo, ser usada para aplicao do Algoritmo Simplex:
VB
x6
x7
x8
x9
x10
xa1
xa2
xa3
z
x1
28
1
0
0
0
0
0
0
1
x2
38
0
1
0
0
0
1
0
1
x3
18
0
0
1
0
0
0
0
1
x4
40
0
0
0
1
1
0
1
1
x5
42
0
0
0
0
0
0
0
1
x6
0
1
0
0
0
0
0
0
0
x7
0
0
1
0
0
0
0
0
0
x8
0
0
0
1
0
0
0
0
0
x9
0
0
0
0
1
0
0
0
0
x10
0
0
0
0
0
1
0
0
0
x11
-1
0
0
0
0
0
0
0
0
x12
0
0
0
0
0
0
-1
0
0
x13
0
0
0
0
0
0
0
-1
0
xa1
1
0
0
0
0
0
0
0
0
xa2
0
0
0
0
0
0
1
0
0
xa3
0
0
0
0
0
0
0
1
0
b
600
6
5
3
4
4
4
1
min
x5
4
A soluo anterior a soluo tima para nosso modelo, mas estamos interessados
em uma soluo inteira, ento aplicando o mtodo de branch-and-bound dividiremos o
problema anterior em dois sub-problemas
min z =
x
5
X
xi
min z =
x
i=1
s. a:
1 x3 3;
4 x2 5
x4 4
xi
i=1
s. a:
5
X
3 x1 6;
x5 4
1 x3 3;
4 x2 5
x4 4 x5 4
xi 0
xi 0
(Sub-problema 1)
(Sub-problema 2)
x1
2
z = 16, 44
x2 x3 x4
5 1,4 4
x5
4
x1
3
z = 16, 47
x2 x3 x4
4,4 1
4
x5
4
P1
P2
Observe que a tabela 3 e a tabela 4 ainda no obtivemos uma soluo inteira, ento
cada uma se divide em mais dois mais dois sub-problemas
8
sub-problema 3
sub-problema 4
x3 = 1
x3 2
sub-problema 5
sub-problema 6
x2 = 4
x2 5
sub-problema 1 =
sub-problema 2 =
min z =
x
5
X
xi
min z =
x
i=1
s. a:
x3 = 1;
4 x2 5
x4 4
x1 2;
x5 4
2 x3 3;
4 x2 5
x4 4
x5 4
xi 0
xi 0
(Sub-problema 3)
min z =
x
5
X
(Sub-problema 4)
xi
min z =
x
i=1
s. a:
1 x3 3;
x4 4
3 x1 6;
x2 = 4
x5 4
1 x3 3;
x4 4
x2 = 5
x5 4
xi 0
(Sub-problema 5)
(Sub-problema 6)
INVIVEL
Sub-problema 4
1,6
5
2
4
4
16,64
xi
i=1
xi 0
xi
x1
x2
x3
x4
x5
z
5
X
s. a:
xi
i=1
s. a:
5
X
Sub-problema 5
3,6
4
1
4
4
16,64
Sub-problema 6
3
5
1
3,5
4
16,5
P0
P1
P2
P3
P4
P5
P6
sub-problema 4 =
sub-problema 7 x1 1
sub-problema 8 x1 = 2
sub-problema 9 x1 = 3
sub-problema 10 x1 4
sub-problema 5 =
sub-problema 11 x4 3
sub-problema 12 x4 = 4
sub-problema 6 =
min z =
x
5
X
xi
min z =
x
i=1
s. a:
2 x3 3;
4 x2 5
x4 4
x1 = 2;
x5 4
2 x3 3;
4 x2 5
x4 4
x5 4
xi 0
xi 0
(Sub-problema 7)
min z =
x
5
X
(Sub-problema 8)
xi
min z =
x
i=1
s. a:
x1 = 3;
x2 = 4
x4 4
x5 4
5
X
xi
i=1
s. a:
xi
i=1
s. a:
5
X
xi 0
x2 = 4
x4 4 x5 4
xi 0
(Sub-problema 9)
10
(Sub-problema 10)
min z =
x
5
X
xi
min z =
x
i=1
s. a:
1 x3 3;
x2 = 5
x4 3
xi
i=1
s. a:
5
X
x5 4
1 x3 3;
x2 = 5
x4 = 4 x5 4
xi 0
xi 0
(Sub-problema 11)
(Sub-problema 12)
Sub-prob. 7
1
5
3
4
4
17
Sub-prob. 8
2
4,7
2
4
4
16,73
Sub-prob. 9
3
4
2
4
4
17
Sub-prob. 10
4
4
1
3,7
4
16,75
Sub-prob. 11
3,7
5
1
3
4
16,71
Sub-prob. 12
3
5
1
4
3,5
16,52
P1
P2
P4
P3 INV.
P7
P5
P8
P9
P6
P10
P11
P12
11
min z =
x
5
X
xi
min z =
x
i=1
s. a:
x1 = 2;
x2 = 4
x4 4
x5 4
x1 = 2;
x2 = 5
x4 4
x5 4
xi 0
xi 0
(Sub-problema 13)
(Sub-problema 14)
min z =
x
5
X
xi
min z =
x
i=1
s. a:
4 x1 6;
4 x1 6;
x5 4
1 x3 3;
x2 = 4
x4 = 4 x5 4
xi 0
xi 0
(Sub-problema 15)
(Sub-problema 16)
min z =
x
5
X
min z =
xi
i=1
x2 = 5
x4 3
x5 4
xi
i=1
5
X
s. a:
s. a:
1 x3 3;
xi
i=1
x2 = 4
x4 3
5
X
s. a:
xi
i=1
s. a:
5
X
4 x1 6;
1 x3 3;
x4 3
x2 = 5
x5 4
xi 0
xi 0
(Sub-problema 17)
(Sub-problema 18)
12
min z =
x
5
X
min z =
xi
i=1
s. a:
1 x3 3;
xi
i=1
s. a:
5
X
x2 = 5
x4 = 4 x5 3
1 x3 3;
x2 = 5
x4 = 4 x5 = 4
xi 0
xi 0
(Sub-problema 19)
(Sub-problema 20)
xi
x1
x2
x3
x4
x5
z
Sub-prob. 13
xi
x1
x2
x3
x4
x5
z
INV
Sub-prob. 14
2
5
2
3,7
4
16,75
Sub-prob. 15
5,07
4
1
4
4
17,07
Sub-prob. 16
4
4
1
4
3,7
16,7
Sub-prob. 17
3
5
2,1
3
4
17,1
Sub-prob. 18
4
5
1
2,8
4
16,8
Sub-prob. 19
3,7
5
1
4
3
16,87
Sub-prob. 20
3
5
1
4
4
17
13
min z =
x
5
X
min z =
xi
i=1
s. a:
x1 = 2;
x2 = 5
x4 3
x5 4
x4 = 4 x5 4
xi 0
(Sub-problema 21)
(Sub-problema 22)
5
X
xi
min z =
x
i=1
s. a:
4 x1 6;
xi
i=1
x2 = 4
x4 = 4 x5 3
1 x3 3;
x2 = 4
x4 = 4 x5 = 4
xi 0
xi 0
(Sub-problema 23)
(Sub-problema 24)
min z =
x
5
X
xi
min z =
x
i=1
s. a:
4 x1 6;
xi
i=1
x2 = 5
x4 2
5
X
s. a:
1 x3 3;
x2 = 5
x4 = 3 x5 4
xi 0
xi 0
(Sub-problema 25)
(Sub-problema 26)
min z =
x
5
X
min z =
xi
i=1
xi
i=1
5
X
s. a:
s. a:
1 x3 3;
5
X
s. a:
1 x3 3;
x2 = 5
xi 0
min z =
1 x3 3;
xi
i=1
s. a:
5
X
4 x1 6;
x2 = 5
x4 = 4 x5 3
1 x3 3;
x2 = 5
x4 = 4 x5 3
xi 0
xi 0
(Sub-problema 27)
(Sub-problema 28)
14
xi
x1
x2
x3
x4
x5
z
Sub-prob. 21
xi
x1
x2
x3
x4
x5
z
INV
Sub-prob. 22
2
5
2
4
3,7
16,76
Sub-prob. 23
5,1
4
1
4
3
17,1
Sub-prob. 24
4
4
1
4
4
17
Sub-prob. 25
5,1
5
1
2
4
17,1
Sub-prob. 26
4
5
1
3
3,8
16,8
Sub-prob. 27
3
5
2,2
4
3
17,2
Sub-prob. 28
4
5
1
4
2,8
16,85
min z =
x
5
X
xi
min z =
x
i=1
s. a:
2 x3 3;
xi
i=1
s. a:
5
X
x2 = 5
x1 = 2;
x4 = 4 x5 3
2 x3 3;
x2 = 5
x4 = 4 x5 = 4
xi 0
xi 0
(Sub-problema 29)
(Sub-problema 30)
15
min z =
x
5
X
min z =
xi
i=1
s. a:
1 x3 3;
x2 = 5
x4 = 3 x5 3
1 x3 3;
x2 = 5
x4 = 3 x5 = 4
xi 0
xi 0
(Sub-problema 31)
(Sub-problema 32)
min z =
x
5
X
xi
min z =
x
i=1
s. a:
4 x1 6;
5
X
xi
i=1
s. a:
xi
i=1
s. a:
5
X
x2 = 5
x4 = 4 x5 2
1 x3 3;
x2 = 5
x4 = 4 x5 = 3
xi 0
xi 0
(Sub-problema 33)
(Sub-problema 34)
xi
x1
x2
x3
x4
x5
z
Sub-prob. 29
2
5
3
4
3
17
Sub-prob. 30
2
5
2
4
4
17
Sub-prob. 31
5,2
5
1
3
3
17,2
Sub-prob. 32
4
5
1
3
4
17
Sub-prob. 33
5,2
5
1
4
2
17,2
Sub-prob. 34
4
5
1
4
3
17
Sub-prob.
Sub-7
Sub-20
Sub-24
Sub-29
Sub-30
Sub-32
Sub-34
x1
1
3
4
2
2
4
4
x2
5
5
4
5
5
5
5
x3
3
1
1
3
2
1
1
x4
4
4
4
4
4
3
4
x5
4
4
4
3
4
4
3
16
z
17
17
17
17
17
17
17
P0
P1
P2
P3
P4
P5
P7
P8
P13
P6
P9
P14
P21
P15
P22
P29
P10
P11
P16
P23
P30
P17
P24
P12
P18
P25
P19
P26
P31
P27
P32
P28
P33
CONCLUSO
O mtodo de branch-and-bound foi dividindo a regio factvel gerada pelo Algoritmo
Simplex em sub-regies e aplicando o Simplex, e gerando sub-problemas para cada uma das
sub-regies adicionando cada vez mais restries, dependendo da quantidade de variveis e da
quantidade de variveis no inteira da soluo tima do problema relaxado, encontrar a soluo
inteira pelo mtodo branch-and-bound pode-se tornar um trabalho muito grande, e ento teramos
que procurar alguma alternativa para resolver tal problema. No nosso caso, tnhamos cinco variveis
e na soluo tima apenas uma nica soluo no inteira, e isso j gerou 34 sub-regies. Por outro
lado o Solver tem a opo de encontrar soluo inteira, basta adicionar a restrio xi inteiro, mas a
ferramenta s encontra uma soluo inteira, e se estivssemos interessados em todas as solues
inteiras para o problema?, para o nosso problema ainda foi vivel procurar uma por uma, mas em
problemas com ordens maiores no interessante fazer isso, pois exigiria grande tempo humano e
computacional.
Mas temos que analisar tambm o porque de mais de uma soluo inteira. Pois bem, o
nosso problema encontrar a quantidade mnima de veculos que a prefeitura municipal de Coxim
necessita para fazer o transporte de 600 alunos em cada perodo, no analisamos as rotas que esses
veculos fazem, ento em algumas das solues que encontramos pode no ser possvel faz-la, ou
talvez em todas elas, tambm podemos considerar o caso de todas as solues sejam possveis serem
feitas, ento o tomador de deciso ter um recurso muito bom para remanejar os veculos, caso
algum veculo esteja impossibilitado de fazer viagens em determinado dia.
17
P20
P34
REFERNCIAS
18