OTIMIZAÇÃO DE PESO EM TRELIÇAS METÁLICAS VIA VND E VNS Componentes: Gleidson Fonseca Soares Leandro da Silva Santos
Tópicos O Problema Metaheurísticas utilizadas Resultados Conclusão
O Problema Encontre o conjunto de áreas a = {A1, A2, ..., An} que minimiza o peso da estrutura. O problema está submetido às restrições de tensão e de deslocamento para todos os graus de liberdade globais.
Requisitos a serem atendidos As áreas referentes a cada solução devem pertencer ao conjunto de áreas existentes no mercado. Para que uma solução seja aceita, ela não deve possuir restrições. As soluções viáveis possuem o mesmo valor para o peso e a função objetivo.
Representação computacional da Treliça de 10 barras Uma solução é representada por um arranjo de 10 posições. Cada posição do arranjo solução é preenchida através de escolhas aleatórias sobre um arranjo de 42 posições, referente às áreas existentes no mercado.
Construção da Solução Inicial Possuímos dois arranjos que armazenam áreas. Um deles representa o conjunto de áreas existentes no mercado, possuindo 42 índices e o outro a solução corrente que possui 10 índices. Na construção da solução inicial, preenchemos o arranjo a partir de índices escolhidos aleatoriamente no arranjo áreas de mercado até completarmos todas os 10 índices da solução. Porém só aceitamos a combinação encontrada se ela for viável. Caso contrário efetuamos sucessivas iterações até encontrarmos uma solução inicial viável.
Metaheurísticas utilizadas Para a solução do problema, foram utilizadas as metaheurísticas: Método da Descida em Vizinhança Variável – VND; Método de Pesquisa em Vizinhança Variável – VNS.
VND procedimento VND(); Seja so uma solução inicial; Seja r o número de estruturas diferentes de vizinhança; 3 s so; {Solução corrente} 4 k 1; enquanto( k <= r ) faça encontre o melhor vizinho s’ є N(k)(s); se( f(s’) < f(s) ) então s s’; k 1; senão k k + 1; fim – se; fim – enquanto; Retorne s; fim VND;
VNS procedimento VNS(); Seja so uma solução inicial; Seja r o número de estruturas diferentes de vizinhança; s so; {Solução corrente} enquanto(critério de parada não for satisfeito) faça 4 k 1; enquanto( k <= r ) faça gere um vizinho qualquer s’ є N(k)(s); s’’ BuscaLocal(s’); se( f(s’’) < f(s) ) então s s’’; k 1; senão k k + 1; fim – se; fim – enquanto; Retorne s; fim VNS;
Função objetivo Cálculo da função objetivo : f(a) = W(a) + Σi [ ( |σi| / σmax) – 1 ]+ + [ ( |υj| / υ max) - 1]+ Sendo W(a) = Σi ρAiLi o peso da treliça
VND Método da Descida em Vizinhança Variável é um método de busca local que consiste em explorar o espaço de soluções através de trocas sistemáticas de estruturas de vizinhança, aceitando somente soluções de melhora da solução corrente e retornando a primeira estrutura quando uma melhor solução é encontrada.
VNS Método de Pesquisa em Vizinhança Variável é um método de busca local que consiste em explorar o espaço de soluções através de trocas sistemáticas de estruturas de vizinhança. Contrariamente às outras metaheurísticas baseadas em métodos de busca local, o método VNS não segue uma trajetória mais sim explora vizinhanças gradativamente mais “distantes”da solução corrente e focaliza a busca em torno de uma nova solução se e somente se um movimento de melhora é realizado. O método inclui, também, um procedimento de busca local a ser aplicada sobre a solução corrente.
Estruturas de Vizinhança As estruturas de vizinhança utilizadas no VND primaram pela troca de áreas. Através de um percurso sobre o arranjo solução corrente, obtemos em cada iteração uma área deste arranjo. Tal área é localizada no arranjo áreas de mercado e por um determinado acréscimo(+1,-1,+2,-2) sobre seu índice atualizamos o arranjo solução corrente. Logo após, aferimos o arranjo solução corrente através da função objetivo que terá como suporte um programa de cálculos (o programa retorna valores para serem apreciados pelas restrições). Se houver restrições, o peso da treliça e a função objetivo apresentaram valores diferentes, pois a função objetivo é igual ao peso da treliça acrescida pelas restrições. Assim a solução encontrada será inviável e descartada.
Estruturas de Vizinhança As estruturas de vizinhança utilizadas no VNS versaram pela troca aleatória de áreas. Tento como diferencial o número de barras modificadas por cada tipo de vizinhança. Ocorrendo para os demais processos a mesma rotina empregada no VND.
Resultados Computacionais O método proposto foi codificado na linguagem Java usando o compilador Borland JBuilder 9. Todos os experimentos foram realizados em um PC com processador AMD Athlon, de 850 MHz, 256 MB de RAM rodando a plataforma Windows 2000.
Resultados Computacionais Teste 1 Teste 2 Teste 3 Teste 4 Ref.1 1 33.5 30.0 33.0 2 1.62 3 22.9 26.5 4 13.5 16.9 14.2 16.0 5 6 7 7.97 7.22 8 22.0 9 10 W(lb) 5511.35 5507.75 5498.37 5490.73 5513.30 Ref.1: LEMONGE, Afonso C. C.; Otimização de Estruturas Reticuladas via Algoritmos Genéticos (1997).
Conclusões Por meio deste trabalhado visualizamos melhor o mecanismo de busca em vizinhança. Um meio de se restringir o espaço amostral e ao mesmo tempo ampliá-lo através do trabalho sobre soluções iniciais aleatórias que possibilitaram o caminhar no universo solução. A utilização de metaheurísticas para problemas de minimização propociona a busca de boas soluções em curto espaço de tempo. A utilização de técnicas exatas em problemas desse porte é inviável, pois o espaço de busca para possíveis soluções é muito extenso e tornaria o custo computacional alto. Assim, com o emprego de metaheurísticas, geramos uma solução inicial aleatória e “navegamos” pela vizinhança em busca de soluções ótimas.