Problema de Roteamento de Veículos – Vehicle Routing Problem (VRP)

Texto

(1)
(2)

Problemas

● Problema do Caixeiro Viajante – Travel

Salesman Problem (TSP)

● Problema de Roteamento de Veículos – Vehicle

(3)

TSP

● Dado um conjunto V de n cidades, e uma

cidade origem o entre elas, encontrar a melhor rota possível para cobrir todas as cidades e

retornar à origem

● As cidades só podem ser visitadas uma única

(4)

TSP

● Função objetivo

● Restrições de equilíbrio

● Restrições de Eliminação de sub-rota

(5)

TSP

● Função objetivo (minimiza distâncias)

● Restrições de equilíbrio (impede que cidades sejam

visitas mais de uma vez ou nenhuma vez)

● Restrições de Eliminação de rota (impedem

sub-rotas desconexas da origem)

(6)

TSP: sub-rotas

(7)

TSP: rota

(8)

TSP: sub-rota

(9)

TSP

● Seja x

ij uma variável que indica que j foi

visitada após i na rota

● c

ij o custo de ir de i para j

(10)

TSP

min

iV j

V−{i}

cij xij

s. a.

jV

xij=1, ∀ iV , ji ,

SV ,2≤|S|≤n−2,

iS

jS

xij≤|S|−1,ij ,

xij∈{0,1},i , jV , ij .

iV

xij=1,∀ jV , ji ,

(1)

(2)

(3)

(4)

(11)

TSP

● 1 – Função objetivo

● 2 e 3 - Restrições de grau

● 4 – Restrições de Eliminação de sub-rota

(12)

Verificação

● Suponha o exemplo abaixo

1

2

4 5

(13)

Verificação

● Enumere todos os possíveis subconjuntos de

V, começando com os de tamanho 2.

1

2

4 5

(14)

Verificação

● Enumere todos os possíveis subconjuntos de

V, começando com os de tamanho 2.

1

2

4 5

3 origem

(15)

Verificação

● Verifica-se se as restrições (4) estão válidas

para estes subconjuntos.

1

2

4 5

3 origem

(16)

Verificação

● Verifica-se se as restrições (4) estão válidas

para estes subconjuntos.

1

2

4 5

3 origem

{{1,2},{1,3},{1,4},{1,5},{2,3},{2,4},{2,5},{3,4},{3,5},{4,5}}

|S|=2,

iS

jS

(17)

Verificação

● Note que quando S={4,5}, a desigualdade não

é válida

1

2

4 5

3 origem

{{1,2},{1,3},{1,4},{1,5},{2,3},{2,4},{2,5},{3,4},{3,5},{4,5}}

|S|=2,

iS

jS

(18)

Verificação

● Note que quando S={4,5}, a desigualdade não

é válida

1

2

4 5

3 origem

{{1,2},{1,3},{1,4},{1,5},{2,3},{2,4},{2,5},{3,4},{3,5},{4,5}}

|S|=2,

(19)

Verificação

● O mesmo pode ser mostrado para

subconjuntos de tamanho 3

● Ao fazer a análise para todos os possíveis

tamanhos de subconjuntos de 2 (tamanho

(20)

TSP

● Formulação anterior é baseada na enumeração

de subconjuntos de V, o que gera na casa de restrições

● Isto torna a resolução da formulação inviável

mesmo para valores pequenos de n

(21)

TSP

● Uma outra formulação utiliza variáveis extra ● Seja u

i a posição da localidade i na rota. Assim

(22)

TSP

min

iV j

V−{i}

cij xij

s. a.

jV

xij=1, ∀ iV , ji ,

1≤uin−1, ∀ iV −{o}

uiu j+(n−1) xijn−2,∀ i , jV −{o}ij ,

xij∈{0,1},i , jV , ij .

iV

xij=1,∀ jV , ji ,

(1)

(2)

(3)

(6)

(23)

Prova de funcionalidade

● Suponha uma sub-rota r=(e

1, e2, e3, …, ek, e1)

com k menor que n, ei é o i-ésimo elemento da sub-rota

● Qualquer rota fechada de tamanho com k

cidades possui exatamente k arcos

● Como se trata de uma sub-rota a origem não

(24)

Prova de funcionalidade

● A enumeração dos arcos desta sub-rota de

acordo com as restrições (6) fica:

ue

1−ue2+(n−1)≤n−2

ue

2−ue3+(n−1)≤n−2

...

ue

(25)

Prova de funcionalidade

● A enumeração dos arcos desta sub-rota de

acordo com as restrições (6) fica:

● Como são k arcos, então tem-se k inequações ue

1−ue2+(n−1)≤n−2

ue

2−ue3+(n−1)≤n−2

...

ue

(26)

Prova de funcionalidade

● Ao somar as inequações anteriores tem-se

● Que é uma inconsistência, logo uma sub-rota

com tamanho k, menor que n não pode existir

(27)

TSP

● Formulação anterior utiliza restrições e

variáveis

● Para n=10, o consumo de memória para

armazenar a primeira formulação já é mais que o dobro necessário para a segunda

(28)

VRP

● Problema de grande interesse prático

● Dado um conjunto V de n cidades

geograficamente dispersas, encontrar o melhor conjunto de rotas para atender todos os

clientes

(29)

VRP

● Seja F o conjunto de veículos

● Seja q a capacidade dos veículos e b

i a

demanda da cidade i

● X

ijk uma variável que assume 1 se o veículo k

(30)

VRP

min

iV

jV k

F

cij xijk

s. a.

jV k

F

xijk=1,∀ iV −{o},

iV k

F

xijk=1,∀ jV −{o },

(7) (8) (9) (10) (11)

iV

xijk

iV

x jik=0, ∀ jV ,kF ,

iV

jV

(31)

VRP

jV−{o}

xojk≤1, ∀ kF ,

ui∈ℝ+ ,iV −{o},

(12) (13) (14) (15) (16)

iV −{o}

xiok≤1,∀ kF ,

uiu j+nxijkn−1,∀ kF ,i , jV −{o}, ij ,

(32)

VRP

● Função objetivo (7) minimiza as distâncias

percorridas

● Restrições (8) e (9) asseguram que cada cidade

seja visitada apenas uma vez

● Restrições (10) garantem que o mesmo veículo

que chega a uma cidade será o que deixará esta cidade

(33)

VRP

● Restrições (12) e (13) garantem que cada

veículo sairá e chegara no máximo uma vez da origem

● Restrições (14) tratam das sub-rota

● Restrições (15) e (16) cuidam da integralidade

(34)

Variações do VRP: Frota

Heterogênea

● Veículos possuem capacidades diferentes ● Restrições (11) devem ser substituídas por

(17), onde é a capacidade do veículo k

iV

jV

bi xijkqk ,kF (17)

(35)

Variações do VRP: Custo fixo para

uso do veículo

● Cada veículo possuí um custo que deve ser pago

quando o veículo é utilizado, independente do tamanho da rota

● Substituir (7) por (18), onde d

k representa o custo

de uso do veículo k

● Variável y

k assume 1 se o veículo k está sendo

usado

● As restrições (19) e (20) também devem ser

(36)

Variações do VRP: Custo fixo para

uso do veículo

(18) min

iV

jV k

F

cij xijk+

kF

d k yk

(19) xijkyk ,i , jV ,kF

(37)

Variações do VRP: Múltiplos

Depósitos

● Existe mais de uma origem

● Veículos ainda devem terminar a rota nos

mesmos depósitos que começaram

(38)

Variações do VRP: Múltiplos

Depósitos

● Restrições (12) e (13) devem ser modificadas

para (21) e (22)

iW j

VW

xijk≤1,∀ kF

jW i

VW

xijk≤1,∀ kF

(21)

(39)

Variações do VRP: Múltiplos

Depósitos

● Restrições (8), (9), (14) e (15) precisam ser

adaptadas à nova condição

(23)

(24)

jV k

F

xijk=1,∀ iVW

iV k

F

xijk=1,∀ jVW

uiu j+nxijkn−1,∀ kF ,i , jVW , ij , (25)

(26)

(40)

Variações do VRP: Janela de tempo

● Clientes possuem janelas de tempo em que

podem ser atendidos

● Tempo de viagem tv

ij entre 2 vértices também

deve ser computado

● Variável t

i é o tempo em que o cliente i é atendido

● s

i e fi são os limites de tempo inferior e superior,

respectivamente, do cliente i

(41)

VRPVariações do VRP: Janela de

tempo

min

iV

jV k

F

cij xijk

s. a.

jV k

F

xijk=1,∀ iV −{o},

iV k

F

xijk=1,∀ jV −{o },

(24) (25) (26) (27) (28)

iV

xijk

iV

x jik=0, ∀ jV ,kF ,

iV

jV

(42)

Variações do VRP: Janela de tempo

jV−{o}

xojk≤1, ∀ kF , (29)

(30)

(31)

(32)

(33)

iV −{o}

xiok≤1,∀ kF ,

uiu j+nxijkn−1,∀ kF ,i , jV −{o}, ij ,

t jti+tvij−(1−xijk) M ,i , jV ,kF ,

(43)

Variações do VRP: Janela de tempo

sitif i ,iV −{o },

ui∈ℝ+ ,iV −{o},

(34)

(35)

(36)

(44)

Variações do VRP: Janela de tempo

● Restrições (34) garantem que todo cliente será

atendido dentro de sua janela de tempo

● Restrições (32) e (33) são sempre satisfeitas

quando xijk = 0 → tj <= M e tj >= -M

● Restrições (32) e (33) são efetivas quando

(45)

VRP: Outras Variações

● Entrega Dividida – Clientes podem ter sua

demanda atendida parcialmente por um

veículo. A demanda total de cada cliente deve ser atendida

● Coleta e entrega simultânea – Clientes tem

dois tipos de demanda, uma para entrega e

Imagem

Referências