roteamento de veiculos transporte escolar

18
Problemas de Roteamento de Veículos Transporte Escolar Fernando Silveira Alves RA: 100834 2014 RESUMO Em otimização combinatória temos os Problemas de Roteamento de Veículos (PRV). O problema consiste no atendimento de um conjunto de clientes c por meio de veículos v, que partem de um depósito ou mais. A principal restrição de um PRV é que cada veículo v possui uma capacidade m e o somatório de todas as demandas dos clientes atendidos por cada veículo na ultrapasse m. Uma das diversas aplicações do problema é o transporte escolar, onde o objetivo é minimizar a quantidade de veículos necessário para transportar alunos. A Prefeitura Municipal de Coxim - MS, conta com 22 veículos, em 36 linhas, com 5 modelos de capacidades distintas que transportam 1500 alunos da rede pública. A pergunta que surge, será que conseguimos atender todos os alunos com um número menor de veículos fazendo a mesma quantidade de viagens?. Para resolver tal problema usaremos o método Simplex e a técnica Branch-and-Bound. Palavras-chaves: Transporte escolar; Problema de roteamento de veículos; Otimização Combinatória. INTRODUÇÃO O município de Coxim está localizado na região 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 município conta com 32.159 habitantes com uma área de 6.409, 224 km 2 , sendo o município composto pelos distritos de: Coxim, Jauru, São Ramão e Taquari. A cidade de Coxim não conta com transporte público e nem privado, tendo somente o serviço de táxi ou moto-táxi. Para atender a rede pública de ensino a prefeitura municipal conta com um serviço gratuito para o transporte escolar dos estudantes no períodos matutino, vespertino e noturno. Sendo no total 36 linhas de atendimento. 2 linhas universitárias (transportam estudantes da cidade de Coxim até a Cidade de Rio Verde - MS no período noturno); 4 linhas urbanas (nos três períodos escolares); 6 linhas de perímetro urbanos (nos três períodos escolares); 1

Upload: fernando-silveira

Post on 24-Dec-2015

228 views

Category:

Documents


4 download

DESCRIPTION

Problemas de roteamento de veículos no transporte escolar da cidade de Coxim - Ms

TRANSCRIPT

Problemas de Roteamento de VeículosTransporte Escolar

Fernando Silveira Alves RA: 100834

2014

RESUMO

Em otimização combinatória temos os Problemas de Roteamento de Veículos (PRV).O problema consiste no atendimento de um conjunto de clientes c por meio de veículosv, que partem de um depósito ou mais. A principal restrição de um PRV é que cadaveículo v possui uma capacidade m e o somatório de todas as demandas dos clientesatendidos por cada veículo na ultrapasse m. Uma das diversas aplicações do problemaé o transporte escolar, onde o objetivo é minimizar a quantidade de veículos necessáriopara transportar alunos. A Prefeitura Municipal de Coxim - MS, conta com 22 veículos,em 36 linhas, com 5 modelos de capacidades distintas que transportam 1500 alunosda rede pública. A pergunta que surge, será que conseguimos atender todos os alunoscom um número menor de veículos fazendo a mesma quantidade de viagens?. Pararesolver tal problema usaremos o método Simplex e a técnica Branch-and-Bound.

Palavras-chaves: Transporte escolar; Problema de roteamento de veículos; OtimizaçãoCombinatória.

INTRODUÇÃO

O município de Coxim está localizado na região norte do Estado do Mato Grossodo Sul, sendo cortado pelos rios Coxim e Taquari. De acordo com o senso do IBGE de2010 o município conta com 32.159 habitantes com uma área de 6.409, 224 km2, sendo omunicípio composto pelos distritos de: Coxim, Jauru, São Ramão e Taquari.

A cidade de Coxim não conta com transporte público e nem privado, tendo somenteo serviço de táxi ou moto-táxi. Para atender a rede pública de ensino a prefeitura municipalconta com um serviço gratuito para o transporte escolar dos estudantes no períodosmatutino, vespertino e noturno. Sendo no total 36 linhas de atendimento.

• 2 linhas universitárias (transportam estudantes da cidade de Coxim até a Cidade deRio Verde - MS no período noturno);

• 4 linhas urbanas (nos três períodos escolares);

• 6 linhas de perímetro urbanos (nos três períodos escolares);

1

• 24 linhas rurais (períodos matutino e vespertino);

Atendendo 06 (seis) escolas estaduais, 02 (duas) escolas municipais, 01 (uma) escolafederal, 01 (uma) universidade federal, 01 (uma) universidade estadual e 08 (oito) centrode educação infantil (CEI). Fazendo o transporte de 600 alunos em cada períodos matutinoe vespertino e de 300 alunos no período noturno. Onde no períodos matutino e vespertinoo transporte conta com 22 veículos e no período noturno 14 veículos, de cinco modelos ecapacidades distintas.

Usando o algoritmo Simplex e a técnica Branch-and-Bound iremos calcular onúmero mínimo de veículos necessários para efetuar esse transporte, sendo desconsiderado02 veículos que transportam alunos para a cidade de Rio Verde - MS.

Nesse trabalho usando o algoritmo simplex para resolver o modelo matemático coproblema e a técnica branch-and-bound para encontrar uma solução inteira e ótima para oproblema.

DESCRIÇÃO DO PROBLEMA

A cidade de Coxim, conta com 22 veículos para transportar estudantes da redepública de ensino, sendo 9 veículos próprios de sua frota e 13 veículos terceirizados, dediversas capacidades que atendem 1500 alunos, sendo 600 no período matutino, 600 noperíodo vespertino. São em número 5 tipos de ônibus com capacidade distintas conformetabela abaixo.

Tipo tipo 1 (x1) tipo 2 (x2) tipo 3 (x3) tipo 4 (x4) tipo 5(x5)Capacidade 30 40 20 42 44Quantidade 6 5 3 4 4

Tabela 1 – Quantidade veículos disponíveis

Estamos interessados em encontrar um número mínimo de veículos necessáriospara efetuar o transporte, sem alterar as rotas atuais nos períodos matutino e vespertino,pois trabalham com a frota total de veículo.

Formulação MatemáticaO modelo que se segue abaixo representa o problema dado:

minx

z =k∑

i=1xi

sujeito a:

k∑i=1

yi · xi ≥ Q

xi ≤ qi (i = 1, . . . , k) (1)xi ≥ 0 e inteiro

2

Onde: xi são as quantidades de veículos necessários de cada tipo disponíveis pelaprefeitura de Coxim, k é a quantidade de tipos de veículos, conforme suas capacidades, yi

é a capacidade de cada veículo, Q é a quantidade total de alunos a serem atendidos, qi é aquantidade de veículos disponíveis de cada tipo.

METODOLOGIA DE SOLUÇÃO

Programação LinearTécnica que se propõe otimizar (maximizar ou minimizar) o valor de uma função

linear, respeitando um conjunto de restrições (equações ou inequações) lineares.

Exemplo 1. George B. Dantzig (1947): planejamento logístico (suprimentos).

Objetivo tratar problemas de alocação de recursos - determinar o modo mais eficiente deutilizar os recursos limitados;

Linear implica que todas as funções do problema são lineares.

Definição 0.1. Um modelo de programação linear (PL) reduz um sistema real a umconjunto de equações ou inequações em que pretendemos otimizar uma função objetivo.

Exemplos de Problemas de Decisão resolvidos por PL

Exemplo 2. Se tanto a Matéria Prima quanto a Mão de Obra são limitados, qual aquantidade produtos que maximiza o lucro da empresa?

Exemplo 3. Se um dado combustível é obtido de uma mistura de produto de preçosvariados, qual a composição de menor custo com poder calorífico suficiente?

Exemplo 4. Se existem vários caminhos que ligam duas cidades, qual é a que propicia omínimo de gasto de combustível?

Exemplo 5. Se existem vários ativos financeiros, qual a combinação que melhor reflete ocompromisso entre o risco e o retorno?

Exemplo 6. Um empresa de ônibus transportam um quantidade Q de alunos, qual onúmero mínimo de ônibus necessários para efetuar tal transporte.

Eliminação Gaussiana (Pivotamento, Gauss-Jordan)É um método direto para solução de sistemas de equações lineares.

Propriedade A solução do sistema Ax=b não se altera se o submetermos a uma seqüência deoperações do tipo:

1. Multiplicação de uma equação por constante não-nula;2. Soma do múltiplo de uma equação à outra;3. Troca da ordem das equações.

3

Formas de Representação

Formato Padrão todas as restrições são igualdades e todas as variáveis são não-negativas.

Formato canônico (problema de minimização) todas as variáveis são não-negativas e todas as restriçõessão do tipo ≥.

Variáveis básicas e variáveis não básicas

Definição 0.2. Uma base de uma matrix Am×n é uma matriz quadrada de m vetorescoluna linearmente independentes em Rm. As variáveis associadas a essas colunas sãodenominadas variáveis básicas.

Assim, é possível decompor o vetor de variáveis em x = (xB), xA, em que:

xB representa o vetor das variáveis básicas de m componentes;

xA representa o vetor das n−m variáveis restantes (não-básicas).

Método SimplexO método nada mais é do que um algoritmo de busca, isto é, ele começa num

vértice a região factível (região onde se encontra todas as soluções viáveis) e move-se de umvértice a outro até encontrar o vértice ótimo, ele descreve uma sequência de passos para asolução de sistemas de equações lineares sujeitos a uma função objetivo. Basicamente, eledispõe sobre três situações:

1. O método de inversão de matriz básica m×m deduzida a partir de A, uma matrizde restrições m× n.

2. As condições de troca de variáveis dentro da matriz básica, para que exista garantiade uma contínua melhora da solução do longo do desenvolvimento dos passos doalgoritmo.

3. As regras de parada do algoritmo e a interpretação dessa situação final.

Resumo do Algoritmo Simplex

• [Condição de otimalidade] A variável que entra na base em um problema demaximização (minimização) é a variável não básica que tiver o coeficiente maisnegativo (positivo) na linha z. Os vínculos são rompidos arbitrariamente. O ótimo éalcançado na iteração em que todos os coeficientes da linha z das variáveis básicasforem não negativos (não positivos).

• [Condição de viabilidade] Tanto para os problemas de maximização quanto paraos problemas de minimização, a variável que sai da base é a variável básica associadacom a menor razão não negativa (que tenha um denominador estritamente positivo).Os vínculos são quebrados arbitrariamente.

• [Operações de linha por Gauss-Jordan]

1. Linha do pivô

4

a) Substitua a variável que sai da base na coluna Base pela variável que entrana 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 solução básica viável.

Etapa 2 Selecione uma variável para entrar na base usando a condição de otimalidade. Pareaqui se não houver nenhuma variável para entrar na base; a solução é ótima. Senão,passe para a etapa 3.

Etapa 3 Selecione uma variável para sair da base usando a condição de viabilidade.

Etapa 4 Determine uma nova solução básica usando os cálculos de Gauss-Jordan adequados.Passe para a etapa 2.

Branch-and-BoundO método denominado Branch-and-Bound (B&B) baseia-se na idéia de desenvolver

uma enumeração inteligente dos pontos candidatos à solução ótima inteira de um problema.O termo branch refere-se ao fato de que o método efetua partições no espaço de soluções. Otermo bound ressalta que a prova de otimalidade da solução utiliza-se de limites calculadosao longo da enumeração.

Algoritmo B&B

Considerando um problema maximização, estabeleça um limite inferior inicialz = −∞ para o valor dos coeficientes da função objetivo ótima da PLI. Determine i = 0.

Etapa 1 Selecione uma PLi, o próximo sub-problema a ser examinado. Resolva a PLi e tenteinterpretá-la usando uma das três condições:

1. O valor ótimo de z da PLi não pode dar uma valor objetivo melhor que o limiteinferior atual.

2. A PLi dá uma solução inteira viável melhor do que o limite inferior atual.3. A PLi não tem solução viável

Surgirão dois casos.

1. Se a PLi for interpretada em uma solução melhor for encontrada, atualize olimite inferior. Se todos os sub-problemas tiverem sido descartados, para; a PLIótima associada com o limite inferior finito atual. Se não existir nenhum limiteinferior finito, o problema não tem nenhum solução viável. Senão, determinei = i + 1, repita a etapa 1.

2. Se a PLi não for interpretada, vá para a etapa 2 para ramificar.

5

Etapa 2 (Ramificação) Selecione uma das variáveis inteiras xj , cujo valor ótimo x∗j na solução

da PLi não seja inteiro. elimine a região

[x∗j ] < xj < [x∗

j ] + 1

(na qual [v] define o maior inteiro ≤ v), criando dois sub-problemas de PL quecorrespondem a

xj ≤ [x∗j ] e xj ≥ [x∗

j ] + 1

Determine i = i + 1, e vá para a etapa 1.

As etapas dadas se aplicam a problema de maximização. Para minimização, substi-tuímos o limite inferior para um limite superior (cujo valor inicial é z = +∞).

APRESENTAÇÃO DO RESULTADOS

Utilizando a tabela da página 2 e o modelo da página 2, temos então o seguinteproblema a minimizar:

minx

z =5∑

i=1xi

sujeito a:

5∑i=1

(yi − fol) · xi ≥ 600

xi ≤ qi (i = 1, . . . , 5)xi ≥ 0 e inteirox2 ≥ 4x3 ≥ 1

Note que na inequação∑5

i=1(yi − fol) · xi ≥ 600 foi adicionada a variável folreferente a quantidade de passageiros nos veículos, a prefeitura municipal de Coxim nãotrabalha com a lotação máxima, pois esporadicamente fiscais da prefeitura andam naslinhas para verificar se os motoristas não estão dando carona para não estudantes, ou se,os passageiros são estudantes com cadastrado daquela linha. A prefeitura adota fol = 2,x2 ≥ 4 são os veículos para as linhas das escolas rurais, ou seja, os veículos só voltam paraa cidade no final da tarde para começarem a fazer a linha noturna, e x3 ≥ 1, pois umadeterminada escola só é acessível por meio de veículos de pequeno ou médio porte, assim,o modelo fica:

6

minx

z =5∑

i=1xi

sujeito a:5∑

i=1(yi − 2) · xi ≥ 600

xi ≤ qi (i = 1, . . . , 5) (2)xi ≥ 0 e inteirox2 ≥ 4x3 ≥ 1

Observe que a função objetivo é

z = x1 + x2 + x3 + x4 + x5

com coeficientes inteiros, deste modo, uma técnica boa para solução é usar o AlgoritmoSimplex. Como o Algoritmo não está interessado em soluções inteiras, então usando atécnica Branch-and-Bound (B&B) procuraremos as soluções inteiras que minimizem oproblema. Adicionando as variáveis de folgas e variáveis artificiais, deixaremos o modelo(2) na forma padrão.

minx

z = x1 + x2 + x3 + x4 + x5

sujeito a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 − x11 + xa

1 = 600x1 + x6 = 6 x2 + x7 = 5x3 + 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, ≥ 0x10, x11, x12, x13, xa

1, xa2, xa

3 ≥ 0

Assim, a tabela abaixo, será usada para aplicação do Algoritmo Simplex:

VB x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 xa1 xa

2 xa3 b

x6 28 38 18 40 42 0 0 0 0 0 -1 0 0 1 0 0 600x7 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 6x8 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 5x9 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 3x10 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 4xa

1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 4xa

2 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 4xa

3 0 0 0 1 0 0 0 0 0 0 0 0 -1 0 0 1 1z 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 min

7

Utilizando a função Solver da planilha eletrônica, em nosso caso o Excel, e tirandoa restrição de que xi inteiro, temos a seguinte solução ótima:

z = 16, 2857x1 x2 x3 x4 x52,2 5 1 1 4

Tabela 2 – Solução ótima solver

A solução anterior é a solução ótima para nosso modelo, mas estamos interessadosem uma solução inteira, então aplicando o método de branch-and-bound dividiremos oproblema anterior em dois sub-problemas

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 ≤ 2; 4 ≤ x2 ≤ 51 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 1)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; 4 ≤ x2 ≤ 51 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 2)

Assim, resolvendo com o solver cada um dos sub-problemas, temos que:

z = 16, 44x1 x2 x3 x4 x52 5 1,4 4 4

Tabela 3 – Solução Sub-problema 1

z = 16, 47x1 x2 x3 x4 x53 4,4 1 4 4

Tabela 4 – Solução Sub-problema 2

Estamos então começando a criar a árvore de branch-and-bound, procurando assoluções fazendo uma busca em largura.

P0

P1 P2

Figura 1 – Árvore branch-and-bound

Observe que a tabela 3 e a tabela 4 ainda não obtivemos uma solução inteira, entãocada uma se divide em mais dois mais dois sub-problemas

8

sub-problema 1 ={sub-problema 3 x3 = 1sub-problema 4 x3 ≥ 2

sub-problema 2 ={sub-problema 5 x2 = 4sub-problema 6 x2 ≥ 5

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 ≤ 2; 4 ≤ x2 ≤ 5x3 = 1; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 3)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 ≤ 2; 4 ≤ x2 ≤ 52 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 4)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; x2 = 41 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 5)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 6)

Resolvendo cada um desses sub-problemas temos as seguintes soluções:

xi Sub-problema 3 Sub-problema 4 Sub-problema 5 Sub-problema 6x1 1,6 3,6 3x2 5 4 5x3 INVIÁVEL 2 1 1x4 4 4 3,5x5 4 4 4z 16,64 16,64 16,5

9

P0

P1

P3 P4

P2

P5 P6

Figura 2 – Árvore branch-and-bound

Como ainda não obtivemos uma solução inteira para o problema, dividimos ossub-problemas 4, 5 e 6 em dois sub-problemas cada, adicionando as restrições:

sub-problema 4 ={sub-problema 7 x1 ≤ 1sub-problema 8 x1 = 2

sub-problema 5 ={sub-problema 9 x1 = 3sub-problema 10 x1 ≥ 4

sub-problema 6 ={sub-problema 11 x4 ≤ 3sub-problema 12 x4 = 4

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 ≤ 1; 4 ≤ x2 ≤ 52 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 7)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; 4 ≤ x2 ≤ 52 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 8)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 3; x2 = 41 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 9)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 41 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 10)

10

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 ≤ 3 x5 ≤ 4

xi ≥ 0(Sub-problema 11)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 4

xi ≥ 0(Sub-problema 12)

Resolvendo cada um desses sub-problemas temos as seguintes soluções:

xi Sub-prob. 7 Sub-prob. 8 Sub-prob. 9 Sub-prob. 10 Sub-prob. 11 Sub-prob. 12x1 1 2 3 4 3,7 3x2 5 4,7 4 4 5 5x3 3 2 2 1 1 1x4 4 4 4 3,7 3 4x5 4 4 4 4 4 3,5z 17 16,73 17 16,75 16,71 16,52

Observe que Sub-problema 7 e Sub-problema 9 são soluções inteiras e distintas, como asolução ótima [] é z = 16, 2857, logo esse é um limitante inferior para o problema, e encontramosnos Sub-problema 7 e Sub-problema 9 z = 17, ou seja um limitante superior, como os coeficientesda função objetivo são inteiros, deste modo z é um número inteiro tal que

16, 2857 ≤ z ≤ 17

ou seja, o valor mínimo de z é 17, sendo assim, podemos parar de aplicar o método de branch-and-bound e afirmar que as soluções inteiras encontradas para o problema são ótimas.

P0

P1

P3 INV. P4

P7 P8

P2

P5

P9 P10

P6

P11 P12

Figura 3 – Árvore branch-and-bound

Como no 3o nível da árvore de branch-and-bound encontramos duas soluções inteiras, issonos leva a acreditar que existe mais soluções inteiras e ótimas para o problema, assim, continuandoaplicando o método de branch-and-bound e procuraremos todas as soluções ótimas inteiras doproblema, aquela ramo da árvore que encontrar o valor para z superior a 17, podamos aquele ramo

11

da árvore, assim, cada um dos sub-problemas 8, 10, 11 e 12 se dividem em 2 sub-problemas cada:

sub-problema 8 ={sub-problema 13 x2 = 4sub-problema 14 x2 = 5

sub-problema 10 ={sub-problema 15 x4 ≤ 3sub-problema 16 x4 = 4

sub-problema 11 ={sub-problema 17 x1 = 3sub-problema 18 x1 ≥ 4

sub-problema 12 ={sub-problema 19 x5 ≤ 3sub-problema 20 x5 = 4

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; x2 = 42 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 13)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; x2 = 52 ≤ x3 ≤ 3; x4 ≤ 4 x5 ≤ 4

xi ≥ 0(Sub-problema 14)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 41 ≤ x3 ≤ 3; x4 ≤ 3 x5 ≤ 4

xi ≥ 0(Sub-problema 15)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 41 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 4

xi ≥ 0(Sub-problema 16)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 3; x2 = 51 ≤ x3 ≤ 3; x4 ≤ 3 x5 ≤ 4

xi ≥ 0(Sub-problema 17)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 ≤ 3 x5 ≤ 4

xi ≥ 0(Sub-problema 18)

12

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 3

xi ≥ 0(Sub-problema 19)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

3 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 = 4

xi ≥ 0(Sub-problema 20)

Resolvendo cada um desses sub-problemas temos as seguintes soluções:

xi Sub-prob. 13 Sub-prob. 14 Sub-prob. 15 Sub-prob. 16x1 2 5,07 4x2 5 4 4x3 INV 2 1 1x4 3,7 4 4x5 4 4 3,7z 16,75 17,07 16,7

xi Sub-prob. 17 Sub-prob. 18 Sub-prob. 19 Sub-prob. 20x1 3 4 3,7 3x2 5 5 5 5x3 2,1 1 1 1x4 3 2,8 4 4x5 4 4 3 4z 17,1 16,8 16,87 17

Note agora que o método de branch-and-bound irá podar vários galhos da árvore desolução, seria os galhos abaixo do Sub-problema 13 por não ter solução viável e os galhos abaixodos Sub-problema 15, Sub-problema 17 por terem valor mínimo maior que o limitante superior, e oSub-problema 20 por já ter solução inteira, observe que encontramos mais uma solução inteira ediferente das anteriores.

Agora os sub-problemas 14, 16, 18, 19 em dois sub-problemas cada, adicionando asrestrições:

sub-problema 14 ={sub-problema 21 x4 ≤ 3sub-problema 22 x4 = 4

sub-problema 16 ={sub-problema 23 x5 ≤ 3sub-problema 24 x5 = 4

sub-problema 18 ={sub-problema 25 x4 ≤ 2sub-problema 26 x4 = 3

sub-problema 19 ={sub-problema 27 x1 = 3sub-problema 28 x1 ≥ 4

13

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; x2 = 52 ≤ x3 ≤ 3; x4 ≤ 3 x5 ≤ 4

xi ≥ 0(Sub-problema 21)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; x2 = 52 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 4

xi ≥ 0(Sub-problema 22)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 41 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 3

xi ≥ 0(Sub-problema 23)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 41 ≤ x3 ≤ 3; x4 = 4 x5 = 4

xi ≥ 0(Sub-problema 24)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 ≤ 2 x5 ≤ 4

xi ≥ 0(Sub-problema 25)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 3 x5 ≤ 4

xi ≥ 0(Sub-problema 26)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 3; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 3

xi ≥ 0(Sub-problema 27)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 3

xi ≥ 0(Sub-problema 28)

Resolvendo cada um desses sub-problemas temos as seguintes soluções:

14

xi Sub-prob. 21 Sub-prob. 22 Sub-prob. 23 Sub-prob. 24x1 2 5,1 4x2 5 4 4x3 INV 2 1 1x4 4 4 4x5 3,7 3 4z 16,76 17,1 17

xi Sub-prob. 25 Sub-prob. 26 Sub-prob. 27 Sub-prob. 28x1 5,1 4 3 4x2 5 5 5 5x3 1 1 2,2 1x4 2 3 4 4x5 4 3,8 3 2,8z 17,1 16,8 17,2 16,85

Aplicando o método de branch-and-bound podamos os galhos referente aos Sub-problema23, Sub-problema 24, Sub-problema 25 e Sub-problema 27. Agora os sub-problemas 22, 26, e 28 sedividem em dois sub-problemas cada, adicionando as restrições:

sub-problema 22 ={sub-problema 29 x5 ≤ 3sub-problema 30 x5 = 4

sub-problema 26 ={sub-problema 31 x5 ≤ 3sub-problema 32 x5 = 4

sub-problema 28 ={sub-problema 33 x5 ≤ 2sub-problema 34 x5 = 3

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; x2 = 52 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 3

xi ≥ 0(Sub-problema 29)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

x1 = 2; x2 = 52 ≤ x3 ≤ 3; x4 = 4 x5 = 4

xi ≥ 0(Sub-problema 30)

15

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 3 x5 ≤ 3

xi ≥ 0(Sub-problema 31)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 3 x5 = 4

xi ≥ 0(Sub-problema 32)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 ≤ 2

xi ≥ 0(Sub-problema 33)

minx

z =5∑

i=1xi

s. a:28x1 + 38x2 + 18x3 + 40x4 + 42x5 ≥ 600

4 ≤ x1 ≤ 6; x2 = 51 ≤ x3 ≤ 3; x4 = 4 x5 = 3

xi ≥ 0(Sub-problema 34)

Resolvendo cada um desses sub-problemas temos as seguintes soluções:

xi Sub-prob. 29 Sub-prob. 30 Sub-prob. 31 Sub-prob. 32 Sub-prob. 33 Sub-prob. 34x1 2 2 5,2 4 5,2 4x2 5 5 5 5 5 5x3 3 2 1 1 1 1x4 4 4 3 3 4 4x5 3 4 3 4 2 3z 17 17 17,2 17 17,2 17

Como todos os valores da função objetivo z ou é 17, ou superior a 17, o método debranch-and-bound poda todos os galhos da árvore abaixo desses problemas.

Sub-prob. x1 x2 x3 x4 x5 z

Sub-7 1 5 3 4 4 17Sub-20 3 5 1 4 4 17Sub-24 4 4 1 4 4 17Sub-29 2 5 3 4 3 17Sub-30 2 5 2 4 4 17Sub-32 4 5 1 3 4 17Sub-34 4 5 1 4 3 17

Tabela 5 – Soluções Inteiras

16

P0

P1

P3 P4

P7 P8

P13 P14

P21 P22

P29 P30

P2

P5

P9 P10

P15 P16

P23 P24

P6

P11

P17 P18

P25 P26

P31 P32

P12

P19

P27 P28

P33 P34

P20

Figura 4 – Árvore branch-and-bound

CONCLUSÃO

O método de branch-and-bound foi dividindo a região factível gerada pelo AlgoritmoSimplex em sub-regiões e aplicando o Simplex, e gerando sub-problemas para cada uma dassub-regiões adicionando cada vez mais restrições, dependendo da quantidade de variáveis e daquantidade de variáveis não inteira da solução ótima do problema relaxado, encontrar a soluçãointeira pelo método branch-and-bound pode-se tornar um trabalho muito grande, e então teríamosque procurar alguma alternativa para resolver tal problema. No nosso caso, tínhamos cinco variáveise na solução ótima apenas uma única solução não inteira, e isso já gerou 34 sub-regiões. Por outrolado o Solver tem a opção de encontrar solução inteira, basta adicionar a restrição xi inteiro, mas aferramenta só encontra uma solução inteira, e se estivéssemos interessados em todas as soluçõesinteiras para o problema?, para o nosso problema ainda foi viável procurar uma por uma, mas emproblemas com ordens maiores não é interessante fazer isso, pois exigiria grande tempo humano ecomputacional.

Mas temos que analisar também o porque de mais de uma solução inteira. Pois bem, onosso problema é encontrar a quantidade mínima de veículos que a prefeitura municipal de Coximnecessita para fazer o transporte de 600 alunos em cada período, não analisamos as rotas que essesveículos fazem, então em algumas das soluções que encontramos pode não ser possível fazê-la, outalvez em todas elas, também podemos considerar o caso de todas as soluções sejam possíveis seremfeitas, então o tomador de decisão terá um recurso muito bom para remanejar os veículos, casoalgum veículo esteja impossibilitado de fazer viagens em determinado dia.

17

REFERÊNCIAS

[1] Goldbarg, M. C. & Luna, H. P. L. Otimização combinatória e programação linear: modelos ealgoritmos Rio de Janeiro, Campus. 1a Edição, 2000.

[2] Boldrini, Jose Luiz ... [et. al]. Álgebra Linear. São Paulo: Harper & Row do Brasil, 3a Edição,1980.

[3] Taha, Hamdy A. Pesquisa operacional: uma visão geral. 8. ed. São Paulo: Pearson PrenticeHall, 2008.

[4] Scarpel, Rodrigo A. Pesquisa operacional: notas de aula. www.mec.ita.br/˜rodrigo. acessadoem 18/05/2014, 2014

18