• Nenhum resultado encontrado

4 Busca em Vizinhanc¸a Vari´avel

4.2 Algumas aplicac¸˜oes recentes

4.2.3 Problemas de Otimizac¸˜ao

A VNS foi aplicada com grande ˆexito em muitos problemas de otimizac¸˜ao combinat´oria, entre os quais se encontram os problemas mais relevantes de planejamento log´ıstico: o problema de em- pacotamento, de localizac¸˜ao e de rotas. Adicionalmente, tamb´em foram abordados problemas onde as soluc¸˜oes s˜ao certos conjuntos de arestas, como as ´arvores, e alguns problemas de otimizac¸˜ao cont´ınua.

Os problemas de empacotamento constituem uma das classes de problemas importantes no contexto de log´ıstica e distribuic¸˜ao. Em (FLESZAR; HINDI, 2002) foi utilizada a VNS b´asica em uma das vers˜oes b´asicas: o problema de empacotamento unidimensional (bin-packing problem, BPP), em que se tem de empacotar um conjunto de objetos de diferentes tamanhos no menor n´umero de caixas ou segmentos de capacidade fixa.

Os problemas de localizac¸˜ao, muito relevantes no planejamento log´ıstico, e os problemas de agrupamento (clustering) tˆem caracter´ısticas comuns, e por isso permitem que sejam tratados de forma similar em buscas metaheur´ısticas. O problema das p-medianas ´e o problema mais extensa- mente estudado em Teoria de Localizac¸˜ao. Consiste em determinar p locais, entre um conjunto de

m localizac¸˜oes poss´ıveis para um servic¸o, de forma que se minimize a soma das distˆancias de n

usu´arios a seu posto de servic¸o mais pr´oximo. Este problema foi abordado em (HANSEN; MLADEN- OVI ´C, 1997), em (WHITTAKER, 1983) e em (HANSEN; MLADENOVI ´C; P ´EREZ, 2001) utilizando a VNS b´asica, a VNS reduzida e a VNDS, respectivamente. Diversas variantes da VNS foram aplicadas em (BRINBERG et al., 2000) ao problema de janelas m´ultiplas, que ´e uma vers˜ao cont´ınua do problema

das p-medianas, onde as p localizac¸˜oes podem ser escolhidas em todo o plano, onde tamb´em est˜ao localizados os usu´arios.

Outro tipo de problema de otimizac¸˜ao combinat´oria importante, em relac¸˜ao a todo contexto de planejamento log´ıstico, s˜ao os problemas de rotas. Tanto as vers˜oes cl´assicas do problema do caixeiro viajante (Traveling Salesman Problem, TSP), do problema de rota de ve´ıculos (Vehicle

Routing Problem, VRP), como algumas de suas extens˜oes foram abordadas com a VNS.

O TSP consiste em dadas n cidades com as distˆancias e custos entre elas, encontrar uma rota de custo m´ınimo. Em (HANSEN; MLADENOVI ´C, 1997) e em (MLADENOVI ´C; HANSEN, 1997) s˜ao aplicados procedimentos do tipo VNS com distintos tipos de movimento para o TSP. Em (OCHI; SILVA; DRUMMOND, 2001) ´e utilizado a VNS para resolver uma extens˜ao do TSP denominada pro- blema do comprador, e que dada uma partic¸˜ao do conjunto de clientes, deve se visitar pelo menos

um dos conjuntos de cada partic¸˜ao.

Em (SILVA; DRUMMOND; OCHI, 2000) s˜ao apresentados algoritmos baseados em GRASP e VNS para resolver generalizac¸˜oes do TSP, onde apenas um conjunto de cidade ´e visitado, e os autores concluem que a combinac¸˜ao destas metaheur´ısticas apresenta resultados bem expressivos.

O problema de rotas de ve´ıculos (Vehicle Routing Problem, VRP) consiste em determinar rotas a partir de um dep´osito para visitar um conjunto de clientes com um custo m´ınimo. Os clientes tˆem demandas conhecidas e os ve´ıculos possuem capacidade limitada. Em (BR ¨AYSY, 2001) foram aplicados a VNS e VND na resoluc¸˜ao de uma variante deste problema, onde cada cliente deve ser visitado em certo intervalo de tempo, que se denomina VRPTW (Time Windows).

Outros problemas com m´ultiplas aplicac¸˜oes importantes cuja soluc¸˜oes s˜ao ´arvores, como o problema de Steiner, onde se deve determinar a ´arvore de menor distˆancia que conecta todos os n´os terminais em um grafo. Foram testadas v´arias vers˜oes da VND para estes problemas em (MARTINS et al., 2000) e (RIBEIRO; UCHOA; WERNEK, 2002). Em outras vers˜oes em que o grau de cada v´ertice no subgrafo est´a inclu´ıdo, tamb´em foram testados a VNS com sucesso, (RIBEIRO; SOUZA, 2002). Em (CANUTO; RESENDE; RIBEIRO, 2001) foi abordado o problema de determinar a sub´arvore que minimiza a soma das distˆancias das arestas inclu´ıdas no grafo e o peso dos v´ertices conectados. Em conectados. Em (ANDREATTA; RIBEIRO, 2002) foi aplicada a VND ao problema da ´arvore filo- gen´etica (the Phylogeny Problem). A efetividade da VNS foi provada em (FESTA et al., 2001) para resolver problemas de corte m´aximo, onde o objetivo ´e dividir o grafo em duas partes de forma que a soma dos pesos das arestas que os unem seja m´axima.

Em (QU; BURKE, 2005) ´e apresentada uma vers˜ao de hyperheur´ıstica com VNS aplicada ao problema de tabela de hor´arios de exames (Exam Timetabling Problem) com comparac¸˜oes entre TS e Iterated Local Search.

Em (BRINBERG; HANSEN; MLADENOVI ´C, 2004) foi realizada uma an´alise das propriedades de convergˆencia da metaheur´ıstica VNS em condic¸˜oes gerais. Tamb´em ´e apresentada uma vers˜ao h´ıbrida da VNS e de Random Multistart Local Search (MLS) aplicada ao conhecido problema de alocac¸˜ao cont´ınua, Multisource Weber Problem, e uma explicac¸˜ao do fato de a t´ecnica VNS obter resultados superiores aos obtidos com MLS.

4.3

VNS aplicada no PPEST

Nesta sec¸˜ao descrevem-se os detalhes de implementac¸˜ao da busca em vizinhanc¸a vari´avel apli- cada ao problema de planejamento da expans˜ao de sistemas de transmiss˜ao.

Na primeira implementac¸˜ao, utiliza-se a VNS de descida, VND, cujo algoritmo aparece nova- mente na Figura 4.8, com o modelo de transportes, cuja soluc¸˜ao inicial foi obtida com o Algoritmo

de Garver. Na segunda implementac¸˜ao tamb´em utiliza-se a VND, mas com o modelo DC e, nesse caso, a soluc¸˜ao inicial ´e obtida utilizando-se o algoritmo Villasana-Garver-Salon.

—————————————————————————————————————–

Inicializac¸˜ao: Selecione o conjunto de estruturas de vizinhanc¸as Nk, para k = 1, . . . , kmax, que ser´a utilizado durante o processo; encontre uma soluc¸˜ao inicial x (ou aplique a regra a um x conhecido). Repetir a seq¨uˆencia at´e que nenhuma melhoria seja obtida:

(1) Fac¸a k← 1;

(2) Repetir at´e que k= kmax:

(a)Explorac¸˜ao: Encontre o melhor vizinho xde x(x ∈ Nk(x));

(b)Mover ou n˜ao: Se a soluc¸˜ao assim obtida ´e melhor que x, fac¸a x ← x e k ← 1; Caso contr´ario, k← k + 1.

—————————————————————————————————————– Figura 4.8: Algoritmo VND B´asico.

Em todos os casos considerados, seguiu-se os passos do algoritmo descrito na Figura 4.9, os quais ser˜ao explicados em detalhes nas sec¸˜oes seguintes.

—————————————————————————————————————- Passo 1. Codificac¸˜ao do problema: como representar as propostas de soluc¸˜oes;

Passo 2. Soluc¸˜ao inicial: Utilizar um algoritmo heur´ıstico para determinar uma soluc¸˜ao inicial; Passo 3. Definic¸˜ao das vizinhanc¸as: Caracterizar cada vizinhanc¸a e determinar seus elementos; Passo 4. Busca local: Indicar um mecanismo que possa determinar a melhor configurac¸˜ao em cada

vizinhanc¸a da soluc¸˜ao corrente.

—————————————————————————————————————- Figura 4.9: Algoritmo VND para o PPEST.