• Nenhum resultado encontrado

4 O PROBLEMA ABORDADO

5.4 A FASE DE APRIMORAMENTO

A fase de aprimoramento usa a estrutura apresentada por Xu e Kelly,1996, baseada no problema de minimização de fluxo em redes para pesquisar uma estrutura de vizinhança semelhante a Ejection Chains. Esta estrutura é mostrada na figura 5.

O modelo é composto de 4 níveis. No primeiro nível, mais à esquerda, o nó S fornece um fluxo c a ser dividido entre os nós que representam veículos. No segundo nível, arcos ligam cada veículo aos nós de clientes que se encontram na rota destes veículos (arcos de exclusão). O fluxo nesses arcos é limitado a {0, 1} e a existência de fluxo na solução final do problema indica que o cliente será retirado da rota em que se encontra. No terceiro nível, cada cliente é ligado aos veículos cujas rotas não incluem este cliente (arcos de inclusão). O fluxo nesses arcos também é limitado a {0, 1} e a existência de fluxo na solução final do problema indica que o cliente será incluído na rota indicada pelo arco. O quarto nível inclui o nó destino, T, para todo fluxo c que entra na rede.

FIGURA 5: O MODELO DE FLUXO EM REDES PARA A FASE DE APRIMORAMENTO Nível 1 Nível 2 arcos de exclusão Nível 4 Veículos Clientes Veículos Nível 3 arcos de inclusão S T

O custo de cada arco no nível dois representa a diminuição do valor da função objetivo relacionado à retirada da coleta e da entrega referentes a um determinado pedido do roteiro. O custo dos arcos do nível três representa o acréscimo do valor da função objetivo pela inclusão da coleta e da entrega nos melhores pontos já calculados do roteiro para o qual o arco aponta. Os custos dos arcos nos níveis 1 e quatro são nulos.

O fluxo, c, fornecido pelo nó S é um número inteiro que determina quantas alterações serão permitidas.

5.4.1 Diferenças na Estrutura de Rede

Neste trabalho, algumas diferenças devem ser ressaltadas.

No esquema original apresentado por Xu e Kelly, há sempre um arco de inclusão ligando cada nó-cliente a todos os nós-roteiros que não representem o roteiro que contém o próprio cliente. No caso estudado aqui, isto levaria a uma rede muitíssimo grande e a obtenção da solução do fluxo de custo mínimo seria demasiadamente lenta. Neste trabalho, de forma alternativa, os arcos são criados durante a fase de inclusão e levando-se em conta a estrutura de setores explicada em 6.3.1. Com isto a fase de inclusão cumpre duas etapas: fornecer o melhor ponto de inclusão dentro de um roteiro para um novo pedido e guardar outras tentativas não tão boas mas que sejam viáveis para serem verificadas na fase de aprimoramento. Com isto, apenas estas tentativas que foram negadas na fase de inclusão por não serem a melhor de todas formarão os arcos de inclusão que partem do nó-cliente a que se referem.

5.4.1.1 Estrutura dos arcos de inclusão e exclusão

Cada arco de inclusão contém a informação dos pontos de inserção da coleta e da entrega. Ainda na fase de inclusão, quando são criados os arcos, no caso de mais de um arco de inclusão referenciar um mesmo pedido a um mesmo roteiro (diferenciando apenas os pontos de inclusão e exclusão), será levado em conta apenas o arco de menor custo.

Arcos de exclusão, portanto, são representados por um vetor de três posições:

[Roteiro-de-Saída Cliente Custo]

Arcos de inclusão contém cinco valores:

[Cliente Roteiro-de-Entrada Custo Posição-de-Coleta Posição-de-Entrega]

5.4.1.2 Validade dos arcos de inclusão e exclusão

O dinamismo do problema exige que cada arco, seja de inclusão ou de exclusão, tenha uma validade. Os arcos de exclusão são válidos até que o veículo responsável pela coleta do pedido referenciado pelo arco comece a executar o trecho que o leva ao ponto de coleta. Os arcos de inclusão são validos até que o pedido representado pelo arco comece a ser atendido ou até que a visita anterior ao qual o arco se referencia no roteiro de inclusão seja realizada. Os três casos estão exemplificados na figura 6. Além disso, tanto os arcos de inclusão quanto os arcos de exclusão devem ser atualizados se o roteiro respectivo for alterado conforme será descrito nos itens 5.4.1.3 e 5.4.1.4.

FIGURA 6: ARCOS DE INCLUSÃO E EXCLUSÃO QUE NÃO SÃO MAIS VÁLIDOS (LINHAS PONTILHADAS) E DEVEM SER RETIRADOS DA ESTRUTURA. À ESQUERDA, TRÊS ROTEIROS COMPÕEM UMA SOLUÇÃO CUJA ESTRUTURA DE VIZINHANÇA ESTÁ REPRESENTADA À DIREITA PELO ESQUEMA DE XU E KELLY, 1996. 1 -2 3 -1 1 2 3 1 2 3 4 5 R1 R2 2 - 3 4 - 6 -6 A 4 -A 6 Veícul os Cliente s 1 2 3 R3 5 -5 7 8 -8 -7 7 8 Veícul os Coleta na posição 2

5.4.1.3 Atualização dos arcos de exclusão

Um arco de exclusão deve ser atualizado sempre que um pedido é incluído ou excluído no mesmo roteiro ao qual o arco se refere. O que irá variar, neste caso, é o custo do arco seja qual for a posição de entrada ou de saída do pedido no roteiro. Se um pedido é incluído em posições anteriores àquelas ocupadas pelos pontos de entrega e coleta do pedido ao qual o arco se refere, o custo deste arco será alterado já que este pedido será fatalmente atendido em tempo maior (inclusão de novo pedido) ou menor (exclusão de novo pedido). Se um pedido é incluído ou excluído em posições posteriores àquelas ocupadas pelo pedido ao qual o arco se refere, o custo de exclusão também será alterado já que a existência deste pedido interferirá no tempo de atendimento de mais um pedido (inclusão de novo pedido) ou de menos um pedido (exclusão de novo pedido).

A única situação em que a inclusão ou exclusão de um pedido em uma rota não interfere no custo de um arco de exclusão referente à mesma rota, é no caso da inclusão ser feita antes do intervalo de almoço e sem atrasar este intervalo, e a posição do pedido referido pelo arco for posterior ao almoço ou vice-versa.

5.4.1.4 Atualização dos arcos de inclusão

Os arcos de inclusão devem ser atualizados também quando há alterações nas rotas indicadas por eles. Esta atualização pode ser mais complicada, pois além dos custos, as posições de coleta e entrega indicadas pelo arco mudam dependendo de como o roteiro foi alterado. Como a cada alteração em um roteiro, duas visitas serão inseridas ou retiradas, as posições destas visitas em relação às posições de coleta e entrega indicadas pelo arco devem ser analisadas.

No caso de exclusão de visitas, basta verificar se as visitas eram anteriores a estas posições e ajustar as posições indicadas. Já o custo dos arcos irá mudar se as visitas retiradas forem tanto anteriores como posteriores às posições indicadas pelo arco.

No caso de inclusão, o procedimento difere, pois, caso a inclusão ocorra justamente nas posições indicadas pelo arco, uma decisão deverá ser tomada entre as alternativas: a) manter as posições do arco de inclusão anteriores ao pedido incluído, b) manter as posições do arco de inclusão posteriores ao pedido incluído,

c) eliminar o arco e d) testar a posição de menor custo e ajustar o arco para ela. Neste trabalho, a última alternativa foi escolhida realizando o teste de menor custo diretamente pela função objetivo (calculada apenas sobre o roteiro em questão, evidentemente). A figura 7 resume os possíveis casos de ajustes necessários no caso de inclusão de pedidos no roteiro indicado por um arco.

Cabe ressaltar que mesmo que a alteração no roteiro não interfira nas posições indicadas pelos arcos de inclusão, há necessidade de se recalcular o custo dos arcos.

FIGURA 7: ATUALIZAÇÃO DE ARCOS DE INCLUSÃO POR ALTERAÇÃO NOS ROTEIROS INDICADOS

Finalmente, deve-se explicar como lidar com fluxos, c, maiores que 1 visto que isto pode levar a um resultado cujo custo não corresponda a realidade. Isto ocorre, pois um fluxo indicando a exclusão ou inclusão de um pedido em um roteiro altera todos os demais custos de exclusão e inclusão referentes a este mesmo roteiro. Isto levaria a um problema dinâmico de fluxo em redes no qual os custos dos arcos não seriam mais fixos durante a obtenção da solução de cada uma das instâncias. Para não aumentar em demasia a complexidade do problema, pode- se optar por duas alternativas: ignorar este detalhe e permitir que o problema de minimização de fluxo seja solucionado com custos inexatos, calculando posteriormente o custo real da solução ou fixando o valor do fluxo total na rede, c, em 1 (problema do caminho de custo mínimo). A primeira alternativa tem como

R1 (antes da

inclusão 1 2 -2 3 -1 -3

R1 (depois

da inclusão) 1 2 -2 102 -10 3 -1 -3

Exemplos de arcos de inclusão para R1 e novas posições a serem testadas (* indica a escolha de menor custo):

[4 R1 C1 4 5] posições testadas (4,7), (5,7)* e (6,7).

[5 R1 C2 4 4] posições testadas (4,4), (4,5), (4,6), (5,5), (5,6)* e (6,6). [7 R1 C3 6 6] posições não afetadas, apenas recalcula custo de inclusão. [9 R1 C4 3 3] posições não afetadas, apenas recalcula custo de inclusão. Exemplos de arcos de inclusão para R1 depois de atualizados:

[4 R1 C1’ 5 7] [5 R1 C2’ 5 6] [7 R1 C3’ 6 6] [9 R1 C4’ 3 3] Inclusão realizada: [10 R1 C10 4 4]

desvantagem o fato de que uma solução ótima encontrada para o problema de fluxo em redes pode não se refletir como um bom conjunto de alterações no problema de roteamento devido à não exatidão dos custos. A segunda alternativa limita a estrutura de vizinhança àquela definida por simples transferência de um pedido de um roteiro solução para outro. Neste trabalho, a segunda alternativa foi escolhida por considerar ainda que ela apresenta uma vantagem a mais ainda não citada: a solução do problema de caminho de custo mínimo (c=1) é bem mais rápida do que o problema de fluxo de custo mínimo (C>1) principalmente por existirem arcos com custos negativos e esta rapidez é fundamental para se obter bons aprimoramentos.

Cada resultado obtido do problema de fluxo em rede é aplicado à solução de acordo com as regras da busca tabu explicada em 5.5. Além disso, cada alteração executada altera também a estrutura de rede. Neste processo, os arcos de inclusão e exclusão trocam os roteiros indicados entre si assim como seus custos (com sinais trocados). As posições de entrada indicadas pelo arco de inclusão já alterado passam a ser as mesmas que o cliente já ocupava no roteiro do qual foi retirado (veja figura 8).

FIGURA 8: ATUALIZAÇÃO DOS ARCOS USADOS A CADA NOVA ALTERAÇÃO PROPOSTA PELA FASE DE APRIMORAMENTO.

Documentos relacionados