• Nenhum resultado encontrado

Modelo com uma Abordagem Matricial: Com demanda não compartilhada

Como já foi analisado no Capítulo 2, uma das diferenças entre os modelos do CFLP e UFLPé a variável yij que nesses modelos determina se uma instalação i atenderá o cliente j, sendo que uma instalação pode atender toda a demanda de determinado cliente ou apenas parte dela e essa diferença está na definição da variável yij que no primeiro modelo pertence ao intervalo real r0, 1s e no segundo é binária e pertence ao conjunto t0, 1u. Nessa mesma ideia usaremos o termo "demanda não compartilhada" para o primeiro modelo em que um setor terá toda sua demanda atendida por uma única viatura.

Diante das definições já esclarecidas podemos construir o primeiro modelo que viabiliza a resolução do problema por um ponto de vista bem simplificado. Vamos dividir o problema em três objetivos, o primeiro consiste em obter o número mínimo de viaturas que atende a cidade obedecendo as exigências de distância para cada setor e a capacidade de cada viatura. O resultado dessa primeira etapa será o número µmin, que será utilizado posteriormente para alcançarmos o segundo e terceiro objetivo para delimitar o valor de µ que será dado pelo problema, ou seja, no primeiro objetivo do problema obtemos a quantidade mínima de viaturas, porém isso não significa que será adotado exatamente essa quantidade nos objetivos seguintes tendo em vista que o custo e a distância total podem diminuir. O Segundo objetivo é alocar cada viatura no setor ideal de maneira a minimizar o custo total de atendimento. Já o terceiro objetivo é minimizar a distância total percorrida pelas µ viaturas, já poderemos impor também um custo máximo total se o problema assim exigir.

Vimos que cada setor sij pode ou não ser ocupado por uma viatura yij, diante disso devemos resolver o primeiro questionamento, que é a quantidade mínima de viaturas necessária para atender a cidade diante das restrições impostas. Devemos então minimizar a seguinte função: ÿ i ÿ j yij

Capítulo 3. Construção do Modelo com uma Abordagem Matricial 35

apenas em regiões viáveis precisamos cumprir duas condições, e uma delas é o número de ocorrências atendidos pela viatura yij definido na Inequação (3.10):

xXij, Θijy ď λ (3.10)

Conforme Apêndice Bisso significa que ÿ k

ÿ l

xijkl¨ θijkl ď λ ou seja, a quantidade

de ocorrências atendidas pela viatura yij sempre será menor ou igual a λ

• Raio de Segurança: a segunda condição que garante que uma viatura atue apenas em regiões viáveis é o raio de segurança, assim, para cada matriz de ligação Xijpxijklq associada a matriz de viatura Vij “ pvijklq temos que a Inequação (3.11)

xijklď vijkl (3.11)

Veja que vijkl P t0, 1u determina se o setor skl está dentro do raio de atendimento da viatura yij, de maneira que quando impomos a Inequação (3.11), obrigamos a variável de decisão xijkl P t0, 1u a assumir valor igual a 1 apenas quando vijkltambém for igual a 1, ou seja, se a viatura yij não atender o setor skl o custo dessa ligação será 0 pois xijkl “ 0. Como estamos considerando a distância entre o setor sij em que a viatura será alocada e o setor skl conforme a definição das matrizes Vij a Inequação (3.11) é equivalente a Inequação (3.12) pois limita a atuação da viatura yij à uma

região viável.

xijkl¨ dijkl ď r (3.12)

• Atendimento em todos os setores: Precisamos garantir que todo setor seja atendido, e que esse atendimento seja feito por uma única viatura, dessa forma basta impormos a seguinte restrição:

p ÿ i ÿ j Xijq “ Φ (3.13)

Conforme a definição de Φ a Equação (3.13) garante que a soma de viaturas que atendem o setor skl será igual a 1 se δklą 0 e será igual a 0 se δkl “ 0

• Ligação de cada setor com viaturas: Cada setor poderá ser atendido por apenas uma determinada viatura. E para termos essa garantia precisamos que dada a matriz de ligação Xij “ pxijklq e a posição de viatura yij tenhamos:

pelo fato de yij P t0, 1u toda variável xijkl poderá assumir valores não nulos apenas se yij “ 1

• Cada Viatura atender o próprio setor: Se consideramos o exemplo da matriz de região (3.15), podemos perceber que o melhor setor de alocação para otimizar a quantidade de viaturas é o s23, porém por ter ocorrência zero, significa que esse

setor não é habitado, e provavelmente impossível de alocar uma viatura ali, podendo essa região da cidade ser um lago, floresta, etc.:

¨ ˚ ˚ ˚ ˚ ˝ 0 1 2 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 ˛ ‹ ‹ ‹ ‹ ‚ (3.15)

Ou seja, para que a posição de uma viatura escolhida não seja atendida por outra viatura precisamos da Restrição (3.16), dessa forma uma viatura nunca será alocada em um setor com 0 ocorrências e sempre atenderá o seu próprio setor.

yij “ xijij (3.16)

3.3.1

Objetivo 1: Otimizando a Quantidade de Viaturas

Após construirmos todas as restrições e funções que precisamos podemos apresentar então o modelo que visa minimizar a função objetivo que determina a quantidade de viaturas necessárias, sendo definido da seguinte forma:

minÿ j ÿ i yij (3.17) Sujeito a: ÿ k ÿ l pxijkl¨ θijklq ď λ i P I j P J (3.18) ÿ i ÿ j xijkl “ φkl k P I l P J (3.19) xijkl ď vijkl i, k P I j, l P J (3.20) xijkl ď yij i, k P I j, l P J (3.21) yij “ xijij i P I j P J (3.22) yij, xijklP t0, 1u i, k P I j, l P J

Neste modelo a Restrição (3.18) refere-se ao limite de ocorrências atendidos pela viatura que será alocada na posição pi, jq pois soma todas as ocorrências da matriz

Capítulo 3. Construção do Modelo com uma Abordagem Matricial 37

de de região Θij que serão atendidas pela viatura yij. Já a Restrição (3.19) determina que a quantidade de viaturas que irão atender o setor skl seja igual a 1 se esse setor tiver demanda não nula e que seja igual a 0 se esse setor tiver demanda nula. A Restrição (3.20) garante que a viatura yij só atenderá setores dentro do seu raio de segurança e fazendo o caminho de volta a Restrição (3.21) garante que o setor skl só será atendido pela viatura yij se de fato for alocada uma viatura na posição pi, jq e por fim a (3.22) garante que toda viatura quando for alocada atenderá o próprio setor e quando não for não atenderá nenhum setor.

Note que neste modelo o custo fij de instalação da viatura yij e o custo de deslocamento Cijkl não são considerados tendo em vista que o objetivo do problema é apenas minimizar a quantidade de viaturas achando assim o valor µmin. Para alcançarmos o Segundo e Terceiro objetivos esses valores serão considerados.

3.3.2

Objetivo 2: Otimizando o Custo Total

Após obtermos o resultado µmin da primeira etapa do problema, podemos modelar a segunda etapa objetivando minimizar custos. Note que o objetivo da primeira etapa do problema é apenas encontrar µminpois os valores de yij e xijklnão necessariamente representação posicionamentos que levam a um custo mínimo pois esse propósito não foi levado em consideração.

Para cada setor sij temos associado uma demanda que a quantidade de ocor- rências δij, uma matriz de ligação Xij e uma matriz de custo Cij, portanto o custo da viatura yij atender todas as ocorrências do setor sij é dado pela Expressão (3.23)

ÿ ÿ ÿ ÿ

cijkl¨ δkl¨ xijkl (3.23)

Além disso agora devemos considerar o custo de alocar cada viatura, que como sabemos é dado por fijyij. Portanto considerando todas as restrições já definidas, a segunda etapa do problema com o objetivo de minimizar custos pode ser modelado da seguinte forma:

minÿ ÿfijyij `

ÿ ÿ ÿ ÿ

Sujeito a: ÿ i ÿ j yij ď µmax i P I j P J (3.25) ÿ i ÿ j yij ě µmin i P I j P J (3.26) ÿ k ÿ l pxijkl¨ θijklq ď λ i P I j P J ÿ i ÿ j xijkl “ φkl k P I l P J xijkl ď vijkl i, k P I j, l P J xijkl ď yij i, k P I j, l P J yij “ xijij i P I j P J yij, xijklP t0, 1u i, k P I j, l P J

Diferente da primeira etapa, agora com o objetivo de minimizar custos portanto vamos considerar o custo cijkl da viatura yij atender o setor skl, levando em conta que a variável xijkl P t0, 1u determina de a viatura yij atende ou não o setor skl formamos assim a Função Objetivo (3.24). Após a quantidade mínima de viaturas necessárias para atender toda a cidade ter sido obtida na primeira etapa do problema, agora no segundo modelo foi acrescentada a Restrição (3.25) que garante o número máximo de viaturas que serão utilizadas, obviamente o número µ ě µmin de acordo com (3.26), mantendo as demais restrições.

3.3.3

Objetivo 3: Otimizando Distâncias

Se o objetivo do problema no entanto for agilizar o atendimento, então usaremos a Função Objetivo (3.27) repetindo todas as restrições do modelo anterior que visa minimizar custos.

minÿ ÿ ÿ ÿdijkl¨ δkl¨ xijkl (3.27)

Para ambos os modelos (minimizar custos e distâncias) podemos acrescentar mais uma restrição que visa otimizar o resultado. Ao ser encontrado o custo mínimo cmin no Modelo (3.27) podemos adicionar então a Restrição (3.28) ao modelo de distância mínima, onde c ě cmin é o valor que estamos disponibilizando para melhorar a localização das viaturas ÿ k ÿ l pxijkl¨ δkl¨ cijklq ď c i P I j P J (3.28)

Capítulo 3. Construção do Modelo com uma Abordagem Matricial 39

Porém se encontramos primeiro a distância mínima total (dmin), podemos adicionar ao modelo de custo mínimo (3.24) a Restrição (3.29) e dessa forma já minimiza os gastos com as viaturas o mais próximo possível de seus setores de atendimento. Levando em conta que d ě dmin é a soma de todas as distâncias percorridas por todas as viaturas alocadas. ÿ k ÿ l pxijkl¨ δkl¨ dijklq ď d i P I j P J (3.29)

É importante ressaltar que a escolha da ordem que se resolvem os modelos leva em conta os objetivos do mesmo. Após toda a modelagem do problema teremos como solução um conjunto de pi ¨ j ` 1q matrizes e serão elas: a matriz Y e as matrizes Xij. A Matriz Y nos dirá a posição central de cada viatura no mapa e cada matrizes Xij dirá quais setores a viatura yij atenderá. O conjunto de matrizes Xij é composto por pi ¨ j ´ µq matrizes nulas e µ matrizes não nulas.

3.4

Modelo com uma Abordagem Matricial: Com demanda com-

Documentos relacionados