Você está na página 1de 11

UNIVERSIDADE ESTADUAL DE MARINGÁ

PÓS GRADUAÇÃO EM ENGENHARIA QUÍMICA

OTIMIZAÇÃO DE PROCESSOS

Modelagem e otimização do problema de roteirização de


veículos da coleta de resíduos sólidos urbanos.
Thales Rossi Spartalis1 – Universidade Estadual de Maringá

RESUMO

A coleta de resíduos sólidos urbanos é um importante processo que existe nas


civilizações urbanas. Esse processo consiste em determinar uma rota de paradas
(coletas) que devem ser realizadas por um ou mais veículos. De fato, é comum
acontecerem roteiros ineficientes em termo de distância total percorrida. Uma
otimização no processo de coleta de resíduos sólidos urbanos é uma solução para
eliminar essa ineficiência. O problema de otimização aplicado à coleta de RSU encaixa-
se nos problemas MILP.
Neste trabalho, desenvolveu-se um modelo de otimização que consiste em uma função
objetivo e restrições que relacionam as variáveis do problema entre si. O modelo foi
aplicado no ambiente de programação matemática (GAMS) afim de buscar soluções
utilizando o método “Branch and Bound”. Dificuldades foram encontradas no
desenvolvimento do código e por esse motivo ainda não foi possível obter soluções
viáveis para o problema.

INTRODUÇÃO

O Problema de Roteirização de Veículos (VRP)

O problema de roteirização de veículos consiste no processo para a determinação de


um ou mais roteiros ou sequências de paradas a serem cumpridas por veículos de uma
frota, tendo por objetivo coletar ou entregar objetos em um conjunto de pontos
geograficamente dispersos (Cunha, 2000). A roteirização pode ser caracterizada por n
clientes (representados por nós ou arcos) que deverão ser servidos por uma frota de
veículos, podendo ou não apresentarem restrições ou ordem que deverão ser atendidos.

A classificação dos problemas de roteirização de veículos feita por Bodin e


colaboradores (Bodin et al, 1983), apesar de antiga, é uma das mais aceitas na
literatura. A divisão proposta considera as restrições geográficas e espaciais, dividindo
assim o problema em três grupos: problema de roteirização pura, de programação de
veículos e tripulações e de roteirização e programação. Os problemas de roteirização
pura são problemas que não consideram as variáveis temporais entre as atividades na
elaboração dos roteiros de coletas ou entrega. Neste tipo de problema existe um
conjunto de nós ou arcos para serem atendidos que formarão uma sequência de locais,
buscando a minimização do custo total de transporte ou da distância total percorrida. Já
os problemas de programação de veículos e tripulações podem ser considerados como
problemas de roteirização com restrições relacionadas ao tempo quando várias
atividades precisam ser executadas. Por fim, os problemas de roteirização e
programação envolvem relações de precedência entre as atividades envolvidas e
também restrições de janelas de tempo. São problemas que frequentemente surgem na
prática e representam aplicações do mundo real, ou seja, apresentam restrições mais
realistas.

Roteirização aplicada à coleta de resíduos sólidos urbanos (RSU)

O gerenciamento de resíduos sólidos urbanos é uma grande preocupação em todo o


mundo devido à seu efeito direto no meio ambiente. A rápida velocidade de urbanização
e todas as atividades humanas produzem uma grande quantidade de resíduos em áreas
residenciais, comerciais ou industriais (Hannan et al, 2017).

Entre todas as etapas do gerenciamento de resíduos, a coleta do centro de geração de


resíduos (clientes) para o centro de gestão de resíduos (depósito), é uma etapa
importante. Se o lixo não for coletado adequadamente, problemas de saneamento
público poderão ocorrer nos pontos de coleta (Hua et al., 2017). O processo típico coleta
de resíduos envolve veículos partindo do depósito e viajando em rotas fixas para coletar
resíduos visitando todos os locais. Esse processo causa desperdício de recursos pelo
fato de ocorrerem viagens para esvaziar uma lixeira que ainda não está cheia. Além
disso, dado um cronograma e rota de coleta fixos e nenhuma informação em tempo real
do status da posição, às vezes, uma posição não é esvaziada, embora esteja cheia
antes do dia agendado.

Otimização aplicada à coleta de resíduos sólidos urbanos

Um problema de otimização, segundo Apostila dos Professores Argimiro R. Secchi e


Evaristo C. Biscaia Jr (Referenciada no final deste trabalho), consiste em um problema
composto por uma função objetivo, o modelo do processo e as restrições do problema.
A função objetivo apresenta a variável a ser minimizada ou maximizada em função das
variáveis de decisão do processo, usualmente essa função objetivo representa o custo,
energia, distância, número de equipamentos, entre outros. O modelo do processo e as
restrições são a equações que relacionam as variáveis entre sí, ou definem parâmetros
que restringem o domínio das variáveis de decisão.

Modelos de otimização podem ser definidos como problemas lineares (LP), não-lineares
(NLP), lineares inteiro-misto (MILP) e não lineares inteiro-misto (MINLP). Os modelos
de otimização aplicada à coleta de resíduos sólidos urbanos existentes na literatura são,
em maioria, MILP, encontra-se tambem alguns modelos mais simples que são definidos
como modelos lineares (LP).

Os modelos de otimização lineares inteiro-misto, segundo apostila do Professor José


Antonio Caballero (Referenciada no final deste trabalho), são modelos que possuem
variáveis contínuas e variáveis inteiras que se relacionam na função objetivo e nas
restrições do problema. Ainda segundo Caballero, muitas das aplicações de um MILP
são aplicando variáveis binárias, onde dois valores inteiros representam algum
significado fixo ao problema. Uma dessas aplicações é encontrada no caso dos
problemas de Transporte, onde uma variável binária pode representar a passagem ou
não de um veículo por um determinado nó e/ou arco.

Método de solução de um MILP

Segundo Argimiro R. Secchi e Evaristo C. Biscaia Jr, a formulação MILP com variáveis
0 e1 é dada por:

min S(x,y) = cTx + dTy

sujeito a: A x + B y ≤ b

x≥0

x € X ∩ Rn, y € Y = {0,1}

Para um dado valor do vetor y, o problema é definido como uma programação linear
(LP). Uma busca completa, enumerando todas as possíveis combinações de variáveis
0 e 1 para os elementos do vetor y, poderia ser utilizada para a solução do problema.
Mas , para problemas de grande e médio porte isso se torna inviável.

Os algoritmos existentes para problemas MILP podem ser classificados como:

 Métodos “branch and bound”;

 Métodos dos planos de corte;

 Métodos de decomposição;

 Métodos baseados em lógica e disjunções.

O algorítmo mais aceito na literatura para a solução de problemas do tipo MILP são os
métodos “Branch and Bound” (ou ramificar e limitar). Esse método procura evitar a
busca completa exaustiva de todas as combinações das variáveis binárias (0 e 1). Ou
seja, o problema é subdividido em subproblemas lineares (“Branch”) e são definidos
limites superiores e inferiores para o problema afim de eliminar combinações.

O primeiro passo para a aplicação do método é relaxar o problema, ou seja, a variável


binária deixa de assumir valores 0 ou 1 e passa a assumir valores entre 0 e 1. Essa
técnica matemática ja torna o problema um LP.

Em seguida, resolve-se o problema relaxado e a solução encontrada é chamada de


Lower Bound ou limite inferior. O próximo passo é escolher uma das variáveis binárias
e defini-lá com valores de 0 e 1, essa divisão é denominada “filhos” da primeira solução.
Ou seja, a partir da primeira solução (do problema relaxado), cria-se dois filhos em que
uma das variáveis binárias do problema não é mais relaxada e assume o valor de 0 ou
1.
Esse processo é realizado sucessivamente buscando soluções que sejam possiveis ao
problema real (não relaxado). Cada solução possivel encontrada do problema não
relaxado é candidata a se tornar o limite superior do problema (upper bound). Caso uma
solução seja encontrada mas não atenda as restrições do problema não relaxado, todo
o ramo é excluído e o método diminui seu tempo de busca (comparando com o método
da busca exaustiva). Por fim, o menor valor do upper bound encontrado é a solução final
do problema.

METODOLOGIA

A metodologia utilizada para a modelagem e otimização do problema de roteirização de


veículos aplicada à coleta de resíduos sólidos urbanos é a aplicação dos conceitos de
otimização de processos que são representados pela definição de uma Função Objetivo,
modelo do problema e restrições.

Para a solução do problema desenvolvido utilizou-se o ambiente de programação


matemática GAMS (General Algebraic Modeling System) que é um sistema de
modelagem de alto nível desenvolvido e projetado para modelar e resolver problemas
de otimização. Essa ferramenta matemática necessita de uma licença para ser utilizada
de forma integral. A licença utilizada foi adquirida pelo professor Dr Mauro Ravagnani e
é disponibilizada para os alunos do grupo de pesquisa de Análise, Simulação e Controle
de Processos do Departamento de Engenharia Química da UEM.

FIGURA 1 – Logo Ambiente de programação e modelagem matemática GAMS


RESULTADOS

O modelo de otimização aplicado a roteirização de veículos na coleta de resíduos


sólidos foi desenvolvido a partir dos conhecimentos obtidos durante as aulas de
Otimização de Processos e a partir de Artigos e Apostila encontradas na literatura e que
estão referenciadas no fim deste trabalho.

Para melhor visualização do problema a ser modelado, um esquema foi construído a


fim de representar graficamente o problema de roteirização de veículos.

Figura 2 – Esquema do problema de roteirização de veículos.

Observe que no caso da figura 2, o nó 0 corresponde ao depósito e os nós 1 ao 15


correspondem aos clientes a serem visitados.

A seguir é apresentado o modelo desenvolvido:

𝑀𝑖𝑛 𝑧 = ∑𝑛𝑖=0 ∑𝑛𝑗=0 ∑𝐾


𝑘=1 𝑋𝑖𝑗𝑘 . 𝑑𝑖𝑗 (1)

Sujeito a,

∑𝐾
𝑘=1 𝑋𝑖𝑗𝑘 = 1 ∀(𝑖, 𝑗) = 0,1,2,3, … , 𝑛. (𝑖 ≠ 𝑗) (2)

𝑋06𝑘 = 1 ∀𝑘 = 1,2,3, … , 𝐾 (3)

∑𝐾
𝑘=1 𝑋0𝑗𝑘 = 0 ∀𝑗 ≠ 6 (4)

∑𝑛𝑗=0 𝐿0𝑗𝑘 = 0 ∀𝑘 = 1,2,3, … , 𝐾 (5)

∑𝑛𝑗=0 ∑𝐾
𝑘=1 𝑋0𝑗𝑘 = 1 (6)

∑𝑛𝑖=0 ∑𝐾
𝑘=1 𝑋𝑖0𝑘 = 1 (7)

∑𝑛𝑗=0 𝐿𝑖𝑗𝑘 − ∑𝑛𝑗=1 𝐿𝑖𝑗𝑘 = 𝑌𝑖𝑘 ∀𝑖 = 0,1,2,3, … , 𝑛 𝑒 ∀𝑘 = 1,2,3, … , 𝐾 (8)


∑𝑛𝑖=0 𝑌𝑖𝑘 ≤ 𝑄𝑘 ∀𝑘 = 1,2,3, … , 𝐾 (9)

∑𝐾
𝑘=1 𝑌𝑖𝑘 = 𝐶𝑖 ∀𝑖 = 0,1,2,3, … , 𝑛 (10)

𝑋𝑖𝑗𝑘 ∊ {0; 1} , ∀(𝑖, 𝑗) = 0,1,2,3, … , 𝑛 𝑒 ∀𝑘 = 1,2,3, … , 𝐾 (11)

𝐿𝑖𝑗𝑘 ≥ 0 ∀(𝑖, 𝑗) = 0,1,2,3, … , 𝑛 𝑒 ∀𝑘 = 1,2,3, … , 𝐾 (12)

𝑌𝑖𝑗𝑘 ≥ 0 ∀(𝑖, 𝑗) = 0,1,2,3, … , 𝑛 𝑒 ∀𝑘 = 1,2,3, … , 𝐾 (12)

Tabela 1 – Lista de Parâmetros, Conjuntos e Variáveis do modelo

Parâmetros
𝑑𝑖𝑗 Distância entre o nó i e j
𝑄𝑘 Capacidade máxima do veículo
𝐶𝑖 Demanda de coleta do nó i
Variáveis
𝑌𝑖𝑘 Carga coletada no nó i pelo veículo k
𝑋𝑖𝑗𝑘 Binário: existência ou não do
percurso entre i e j pelo veículo k
𝐿𝑖𝑗𝑘 Carga do veículo k entre os nós i e j
Conjuntos
Conjunto (𝑖) Conjunto de nós i
Conjunto (𝑗) Conjunto de nós j
Conjunto (𝑘) Conjunto de veículos k

A função objetivo representa a distância total percorrida por todos os veículos


do problema. Logo, o objetivo da otimização é a minimização da distância total
percorrida sujeito às restrições mencionadas anteriormente.

A equação (2) garante que todos os arcos sejam percorridos por apenas 1
veículo.
A equação (3) determina que o veículo saindo do depósito (i=0) pode apenas
percorrer o arco (i=0  j=6).

A equação (4) determina que nenhum outro nó, exceto o nó 6, pode ser um
destino caso o veículo esteja no depósito (nó 0).

A restrição (5) garante que todos os veículos estejam vazios no início da rota.

A restrição (6) determina que todos os veículos iniciam sua rota no depósito.

A equação (7) determina que todos os veículos retornem ao depósito no final


de sua rota.

A equação (8) representa a carga coletadas pelo veículo k ao passar pelo nó i.

A equação (9) determina que o modelo obedeça a capacidade máxima do


veículo.

A restrição (10) determina que todos os nós tenham sua demanda atendida.

As restrições (11), (12) e (13) são definições da variável binária 𝑋𝑖𝑗𝑘 e


garantia de valores positivos para as variáveis 𝐿𝑖𝑗𝑘 e 𝑌𝑖𝑘 .

O modelo desenvolvido foi aplicado no ambiente de programação matemática


GAMS para buscar soluções possíveis para o problema. A seguir são
apresentadas imagens da interface do software onde o modelo foi aplicado.

Figura 3 – Aplicação do modelo GAMS


Figura 4 – Aplicação do modelo GAMS

Figura 5 – Aplicação do modelo GAMS


O ambiente de programação matemática GAMS possui uma linguagem não
muito intuitiva. Apesar de seu enorme potencial de solução de problemas de
otimização, seu uso necessita habilidade e tempo de prática para realizar a
modelagem de um problema complexo de forma satisfatória. Por esse motivo, a
solução do modelo proposto ainda não foi atingida. Inconsistências nas
restrições do modelo podem ser um motivo, bem como a sintaxe das equações
no GAMS, que exigem estudo completo da linguagem do programa.

Para solucionar o problema, o solver testado foi o CPLEX. Esse solver utiliza a
metodologia Branch and Bound para buscar soluções para um problema MILP.
A otimização do problema proposto apesar de não ser atingida por completo
(ausência de soluções), ainda está em processo de estudo e o modelo será
aprimorado bem como o desenvolvimento da escrita e sintaxe da linguagem
usada no ambiente de programação matemática GAMS.
CONCLUSÃO

O trabalho desenvolvido acima teve como objetivo a aplicação do ambiente de trabalho


GAMS em um estudo da modelagem e otimização do problema de roteirização de
veículos na coleta de resíduos sólidos urbanos. Os dados propostos pelo problema
permitiram o desenvolvimento das programações matemáticas e desenvolvimento do
modelo de otimização Linear Inteiro-Misto (MILP)

A modelagem do problema mostrou ser complexa e de difícil desenvolvimento, devido


às restrições do problema. Apesar das dificuldades, um modelo foi desenvolvido e
apresentado. A função objetivo busca minimizar a distância total percorrida pelos
veículos e as restrições relacionam as variáveis do problema entre si. O ambiente de
programação matemática GAMS foi usado para a aplicação do modelo e busca por
soluções. Devido a inexperiência do aluno com a linguagem do programa, ainda restam
detalhes a serem aprendidos para de fato aplicar de maneira correta as equações do
modelo no GAMS. O método de solução escolhido para solucionar o MILP foi o Branch
and Bound.

O estudo da técnica de otimização e desenvolvimento de um modelo possibilitou


aprendizado em técnicas de programação matemática, bem como a possibilidade de
criar familiaridade com o uso do ambiente de trabalho GAMS.
REFERÊNCIAS

Apostila - Simulación y optimización de los procesos químicos - José Antonio Caballero


– Universidad de Alicante.

Apostila – Otimização de Processos - Professores Argimiro R. Secchi e Evaristo C.


Biscaia Jr – Universidade Federal do Rio de Janeiro.

Bodin, L. D.; Golden. B.; Assad, A.; Ball, M. (1983). Routing and Scheduling of vehicles
and crews: The state of the art. Computers and Operations Research, v.10, n.2

Cunha, C. B. (2000). Aspectos Práticos da Aplicação de Modelos de Roteirização de


Veículos a Problemas Reais. Transportes, v.8, n.2, p.51-74

Hannan, M.A., Arebey, M., Begum, R.A., Basri, H., 2011. Radio Frequency Identification
(RFID) and communication technologies for solid waste bin and truck monitoring system.
Waste Manage. 31 (12), 2406–2413.

RAVAGNANI, M. A. S. S.; SUÁREZ, J. A. C. Redes de Trocadores de Calor. Maringá:


EDUEM, 2012.

Você também pode gostar