56 resultados para Otimização de algoritmos
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
Este trabalho faz uma análise ampla sobre os algoritmos de posicionamento. Diversos são extraídos da literatura e de publicações recentes de posicionamento. Eles foram implementados para uma comparação mais precisa. Novos métodos são propostos, com resultados promissores. A maior parte dos algoritmos, ao contrário do que costuma encontrar-se na literatura, é explicada com detalhes de implementação, de forma que não fiquem questões em aberto. Isto só possível pela forte base de implementação por trás deste texto. O algorítmo de Fidduccia Mateyeses, por exemplo, é um algorítmo complexo e por isto foi explicado com detalhes de implementação. Assim como uma revisão de técnicas conhecidas e publicadas, este trabalho oferece algumas inovações no fluxo de posicionamento. Propõe-se um novo algorítimo para posicionamento inicial, bem como uma variação inédita do Cluster Growth que mostrta ótimos resultados. É apresentada uma série de evoluções ao algorítmo de Simulated Annealling: cálculo automático de temperatura inicial, funções de perturbação gulosas (direcionadas a força), combinação de funções de perturbação atingindo melhores resultados (em torno de 20%), otimização no cálculo de tamanho dos fios (avaliação das redes modificadas e aproveitamento de cálculos anteriores, com ganhos em torno de 45%). Todas estas modificações propiciam uma maior velocidade e convergência do método de Simulated Annealling. É mostrado que os algorítmos construtivos (incluindo o posicionador do Tropic, baseado em quadratura com Terminal Propagation) apresentam um resultado pior que o Simulated Annealling em termos de qualidade de posicionamento às custas de um longo tempo de CPD. Porém, o uso de técnicas propostas neste trabalho, em conjunto com outras técnicas propostas em outros trabalhos (como o trabalho de Lixin Su) podem acelerar o SA, de forma que a relação qualidade/tempo aumente.
Resumo:
Este trabalho apresenta uma sistemática para realizar a otimização numérica de pré-formas e de matrizes em problemas de forjamento axissimétricos e em estado plano de deformações. Para este fim, desenvolveu-se um código computacional composto basicamente de três módulos: módulo de pré-processamento, módulo de análise e módulo de otimização. Cada um destes foi elaborado acrescentando rotinas em programas comerciais ou acadêmicos disponíveis no GMAp e no CEMACOM. Um programa gerenciador foi desenvolvido para controlar os módulos citados no processo de otimização. A abordagem proposta apresenta uma nova função objetivo a minimizar, a qual está baseada em uma operação booleana XOR (exclusive or) sobre os dois polígonos planos que representam a geometria desejada para o componente e a obtida na simulação, respectivamente. Esta abordagem visa eliminar possíveis problemas geométricos associados com as funções objetivo comumente utilizadas em pesquisas correlatas. O trabalho emprega análise de sensibilidade numérica, via método das diferenças finitas. As dificuldades associadas a esta técnica são estudadas e dois pontos são identificados como limitadores da abordagem para problemas de conformação mecânica (grandes deformações elastoplásticas com contato friccional): baixa eficiência e contaminação dos gradientes na presença de remalhamentos. Um novo procedimento de diferenças finitas é desenvolvido, o qual elimina as dificuldades citadas, possibilitando a sua aplicação em problemas quaisquer, com características competitivas com as da abordagem analítica Malhas não estruturadas são tratadas mediante suavizações Laplacianas, mantendo as suas topologias. No caso de otimização de pré-formas, o contorno do componente a otimizar é parametrizado por B-Splines cujos pontos de controle são adotados como variáveis de projeto. Por outro lado, no caso de otimização de matrizes, a parametrização é realizada em termos de segmentos de reta e arcos de circunferências. As variáveis de projeto adotadas são, então, as coordenadas das extremidades das retas, os raios e centros dos arcos, etc. A sistemática é fechada pela aplicação dos algoritmos de programação matemática de Krister Svanberg (Método das Assíntotas Móveis Globalmente Convergente) e de Klaus Schittkowski (Programação Quadrática Sequencial – NLPQLP). Resultados numéricos são apresentados mostrando a evolução das implementações adotadas e o ganho de eficiência obtido.
Resumo:
Neste trabalho é resolvido o problema da minimização do volume de estruturas bidimensionais contínuas submetidas a restrições sobre a flexibilidade (trabalho das forças externas) e sobre as tensões, utilizando a técnica chamada otimização topológica, que visa encontrar a melhor distribuição de material dentro de um domínio de projeto pré-estabelecido. As equações de equilíbrio são resolvidas através do método dos elementos finitos, discretizando a geometria e aproximando o campo de deslocamentos. Dessa forma, essas equações diferenciais são transformadas em um sistema de equações lineares, obtendo como resposta os deslocamentos nodais de cada elemento. A distribuição de material é discretizada como uma densidade fictícia constante por elemento finito. Esta densidade define um material isotrópico poroso de uma seqüência pré-estabelecida (SIMP). A otimização é feita através da Programação Linear Seqüencial. Para tal, a função objetivo e as restrições são sucessivamente linearizadas por expansão em Série de Taylor. A análise de sensibilidade para a restrição de flexibilidade é resolvida utilizando o cálculo da sensibilidade analítico adaptado para elementos finitos de elasticidade plana. Quando as restrições consideradas são as tensões, o problema torna-se mais complexo. Diferente da flexibilidade, que é uma restrição global, cada elemento finito deve ter sua tensão controlada. A tensão de Von Mises é o critério de falha considerado, cuja sensibilidade foi calculada de acordo com a metodologia empregada por Duysinx e Bendsøe [Duysinx e Bendsøe, 1998] Problemas como a instabilidade de tabuleiro e dependência da malha sempre aparecem na otimização topológica de estruturas contínuas. A fim de minimizar seus efeitos, um filtro de vizinhança foi implementado, restringindo a variação da densidade entre elementos adjacentes. Restrições sobre as tensões causam um problema adicional, conhecido como singularidade das tensões, fazendo com que os algoritmos não convirjam para o mínimo global. Para contornar essa situação, é empregada uma técnica matemática de perturbação visando modificar o espaço onde se encontra a solução, de forma que o mínimo global possa ser encontrado. Esse método desenvolvido por Cheng e Guo [Cheng e Guo, 1997] é conhecido por relaxação-ε e foi implementado nesse trabalho.
Resumo:
Com o objetivo de desenvolver uma fundamentação teórica para o estudo formal de problemas de otimização NP-difíceis, focalizando sobre as propriedades estruturais desses problemas relacionadas à questão da aproximabilidade, este trabalho apresenta uma abordagem semântica para tratar algumas questões originalmente estudadas dentro da Teoria da Complexidade Computacional, especificamente no contexto da Complexidade Estrutural. Procede-se a uma investigação de interesse essencialmente teórico, buscando obter uma formalização para a teoria dos algoritmos aproximativos em dois sentidos. Por um lado, considera-se um algoritmo aproximativo para um problema de otimização genérico como o principal objeto de estudo, estruturando-se matematicamente o conjunto de algoritmos aproximativos para tal problema como uma ordem parcial, no enfoque da Teoria dos Domínios de Scott. Por outro lado, focaliza-se sobre as reduções entre problemas de otimização, consideradas como morfismos numa abordagem dentro da Teoria das Categorias, onde problemas de otimização e problemas aproximáveis são os objetos das novas categorias introduzidas. Dentro de cada abordagem, procura-se identificar aqueles elementos universais, tais como elementos finitos, objetos totais, problemas completos para uma classe, apresentando ainda um sistema que modela a hierarquia de aproximação para um problema de otimização NP-difícil, com base na teoria categorial da forma. Cada uma destas estruturas matemáticas fornecem fundamentação teórica em aspectos que se complementam. A primeira providencia uma estruturação interna para os objetos, caracterizando as classes de problemas em relação às propriedades de aproximabilidade de seus membros, no sentido da Teoria dos Domínios, enquanto que a segunda caracteriza-se por relacionar os objetos entre si, em termos de reduções preservando aproximação entre problemas, num ponto de vista externo, essencialmente categorial.
Resumo:
A área de pesquisa de testes não-destrutivos é muito importante, trabalhando com o diagnóstico e o monitoramento das condições dos componentes estruturais prevenindo falhas catastróficas. O uso de algoritmos genéticos para identificar mudanças na integridade estrutural através de mudanças nas respostas de vibração da estrutura é um método não-destrutivo que vem sendo pesquisado. Isto se deve ao fato de que são vantajosos em achar o mínimo global em situações difíceis de problemas de otimização, particularmente onde existem muitos mínimos locais como no caso de detecção de dano. Neste trabalho é proposto um algoritmo genético para localizar e avaliar os danos em membros estruturais usando o conceito de mudanças nas freqüências naturais da estrutura. Primeiramente foi realizada uma revisão das técnicas de detecção de dano das últimas décadas. A origem, os fundamentos, principais aspectos, principais características, operações e função objetivo dos algoritmos genéticos também são demonstrados. Uma investigação experimental em estruturas de materiais diferentes foi realizada a fim de se obter uma estrutura capaz de validar o método. Finalmente, se avalia o método com quatro exemplos de estruturas com danos simulados experimentalmente e numericamente. Quando comparados com técnicas clássicas de detecção dano, como sensibilidade modal, os algoritmos genéticos se mostraram mais eficientes. Foram obtidos melhores resultados na localização do que na avaliação das intensidades dos danos nos casos de danos propostos.
Resumo:
Os algoritmos baseados no paradigma Simulated Annealing e suas variações são atualmente usados de forma ampla na resolução de problemas de otimização de larga escala. Esta popularidade é resultado da estrutura extremamente simples e aparentemente universal dos algoritmos, da aplicabilidade geral e da habilidade de fornecer soluções bastante próximas da ótima. No início da década de 80, Kirkpatrick e outros apresentaram uma proposta de utilização dos conceitos de annealing (resfriamento lento e controlado de sólidos) em otimização combinatória. Esta proposta considera a forte analogia entre o processo físico de annealing e a resolução de problemas grandes de otimização combinatória. Simulated Annealing (SA) é um denominação genérica para os algoritmos desenvolvidos com base nesta proposta. Estes algoritmos combinam técnicas de busca local e de randomização. O objetivo do presente trabalho é proporcionar um entendimento das características do Simulated Annealing e facilitar o desenvolvimento de algoritmos com estas características. Assim, é apresentado como Simulated Annealing e suas variações estão sendo utilizados na resolução de problemas de otimização combinatória, proposta uma formalização através de um método de desenvolvimento de algoritmos e analisados aspectos de complexidade. O método de desenvolvimento especifica um programa abstrato para um algoritmo Simulated Annealing seqüencial, identifica funções e predicados que constituem os procedimentos deste programa abstrato e estabelece axiomas que permitem a visualização das propriedades que estes procedimentos devem satisfazer. A complexidade do Simulated Annealing é analisada a partir do programa abstrato desenvolvido e de seus principais procedimentos, permitindo o estabelecimento de uma equação genérica para a complexidade. Esta equação genérica é aplicável aos algoritmos desenvolvidos com base no método proposto. Uma prova de correção é apresentada para o programa abstrato e um código exemplo é analisado com relação aos axiomas estabelecidos. O estabelecimento de axiomas tem como propósito definir uma semântica para o algoritmo, o que permite a um desenvolvedor analisar a correção do código especificado para um algoritmo levando em consideração estes axiomas. O trabalho foi realizado a partir de um estudo introdutório de otimização combinatória, de técnicas de resolução de problemas, de um levantamento histórico do uso do Simulated Annealing, das variações em torno do modelo e de embasamentos matemáticos documentados. Isto permitiu identificar as características essenciais dos algoritmos baseados no paradigma, analisar os aspectos relacionados com estas características, como as diferentes formas de realizar uma prescrição de resfriamento e percorrer um espaço de soluções, e construir a fundamentação teórica genérica proposta.
Resumo:
Esta dissertação pretende consolidar um método quantitativo, flexível e genérico que possa ser útil na otimização experimental dos mais variados produtos e processos industriais medidos por múltiplas variáveis de resposta. O que se pretende com o método é identificar o ajuste ótimo dos fatores controláveis, ou seja, aquele que reduz os custos devido à má qualidade de um produto considerando também os custos de matéria-prima e energia gastos na fabricação desse produto. A redução dos custos gerados pela má qualidade de um produto é alcançada através da minimização dos desvios das variáveis de resposta dos seus valores alvos e maximização da robustez do produto ou processo aos fatores de ruído e a possíveis oscilações nos fatores controláveis, pois toda vez que uma variável de resposta desvia-se do seu valor alvo ou apresenta variabilidade, existe uma perda financeira experimentada pelo seu usuário. Ao longo do texto, faz-se uma revisão da literatura existente sobre o assunto, apresentam-se as etapas do método que devem ser cumpridas e algumas ferramentas consideradas eficientes no cumprimento dessas etapas. Logo após, realizam-se estudos práticos para validar o método e, baseado nesses estudos e no referencial teórico, conclui-se sobre o assunto.
Resumo:
A crescente demanda por produtos de melhor qualidade, diferenciados e com custos competitivos tem forçado as manufaturas a se tornarem flexíveis, capacitando-as a responder às mudanças impostas pelo mercado. A flexibilidade permite que as empresas alcancem a customização desejada através da capacitação do sistema de responder e atuar em tempo real, mesmo em um ambiente de incertezas. Para atuar em tempo real, os sistemas de manufatura precisam de representações eficientes dos planos de produção. Muitas vezes, a atuação em tempo real torna-se inviável devido ao crescimento exponencial no número de planos de produção para cada máquina ou operação adicionada ao sistema. Uma possível solução para este problema é uso de representações adequadas para o espaço de estados. A escolha de uma representação adequada para o espaço de estados influencia na capacidade de reposta em tempo real, pois determina o desempenho computacional do sistema através da utilidade e eficiência dos algoritmos desenvolvidos, tornando possível explorar problemas clássicos de flexibilidade, tais como, seqüenciamento, otimização, etc. Entretanto, a geração de uma representação que trabalhe com o espaço de estados completo de uma manufatura é considerada um problema não polinomial (NP). Esta particularidade dificulta o desenvolvimento de algoritmos que trabalhem com uma manufatura flexível. Assim, a geração de uma representação, que trabalhe com pouca memória computacional e permita o desenvolvimento de heurísticas eficientes, é um importante desafio para uma avaliação efetiva da flexibilidade. Este trabalho objetiva o desenvolvimento de uma representação para o espaço de estados de uma manufatura com flexibilidade de seqüência. Na construção desta representação são aplicadas técnicas de modelagem baseadas na teoria dos grafos e nos princípios de álgebra booleana. Inicialmente, os grafos são utilizados para representar todas as seqüências de operações de uma manufatura, posteriormente estas seqüências são convertidas em formas normais disjuntivas (FND). Por fim, é apresentada uma possível aplicação da representação na FND em modelos de programação linear.
Resumo:
O objetivo deste trabalho consiste no desenvolvimento de alguns avanços, teóricos e numéricos, no método LTSN visando implementar a primeira versão de um código computacional, para resolver a equação de transporte utilizando formulação LTSN na forma de multigrupos em geometria plana. Os avanços para o método LTSN estão fundamentados na solução iterativa para o sistema de equações que constituem as condições de contorno, um novo método para a busca do valor de keff baseado no método da bissecção. O desenvolvimento desta metodologia permitiu realizar o calculo muito rápido com altas ordens de quadratura e com esforço computacional muito reduzido. Juntos os avanços matemáticos e numéricos, implementados nesta primeira versão de um código fortran, tal como nos códigos já conhecidos permite solucionar a equação de transporte na forma de multigrupos, tanto para o cálculo direto como para o adjunto, com fontes arbitrárias. Este código utiliza de recursos computacionais da linguagem FORTRAN e as bibliotecas LAPACK, para a otimização de seus algoritmos, facilitando o desenvolvimento futuro. A validação deste trabalho foi feita utilizando dois problemas: um relativo ao fluxo angular e escalar, tanto para o fluxo direto como para o adjunto, cuja importância está relacionada com busca de convergência, relação de reciprocidade e comprovação da solução adjunta, e; um problema de criticalidade, para comprovar a eficácia do algoritmo de busca iterativa de keff e espessura crítica. Com este trabalho se abrem muitas possibilidades tanto teóricas como numéricas a investigar com o método LTSN.
Resumo:
Esta tese apresenta contribuições ao processo de Descoberta de Conhecimento em Bases de Dados (DCBD). DCBD pode ser entendido como um conjunto de técnicas automatizadas – ou semi-automatizadas – otimizadas para extrair conhecimento a partir de grandes bases de dados. Assim, o já, de longa data, praticado processo de descoberta de conhecimento passa a contar com aprimoramentos que o tornam mais fácil de ser realizado. A partir dessa visão, bem conhecidos algoritmos de Estatística e de Aprendizado de Máquina passam a funcionar com desempenho aceitável sobre bases de dados cada vez maiores. Da mesma forma, tarefas como coleta, limpeza e transformação de dados e seleção de atributos, parâmetros e modelos recebem um suporte que facilita cada vez mais a sua execução. A contribuição principal desta tese consiste na aplicação dessa visão para a otimização da descoberta de conhecimento a partir de dados não-classificados. Adicionalmente, são apresentadas algumas contribuições sobre o Modelo Neural Combinatório (MNC), um sistema híbrido neurossimbólico para classificação que elegemos como foco de trabalho. Quanto à principal contribuição, percebeu-se que a descoberta de conhecimento a partir de dados não-classificados, em geral, é dividida em dois subprocessos: identificação de agrupamentos (aprendizado não-supervisionado) seguida de classificação (aprendizado supervisionado). Esses subprocessos correspondem às tarefas de rotulagem dos itens de dados e obtenção das correlações entre os atributos da entrada e os rótulos. Não encontramos outra razão para que haja essa separação que as limitações inerentes aos algoritmos específicos. Uma dessas limitações, por exemplo, é a necessidade de iteração de muitos deles buscando a convergência para um determinado modelo. Isto obriga a que o algoritmo realize várias leituras da base de dados, o que, para Mineração de Dados, é proibitivo. A partir dos avanços em DCBD, particularmente com o desenvolvimento de algoritmos de aprendizado que realizam sua tarefa em apenas uma leitura dos dados, fica evidente a possibilidade de se reduzir o número de acessos na realização do processo completo. Nossa contribuição, nesse caso, se materializa na proposta de uma estrutura de trabalho para integração dos dois paradigmas e a implementação de um protótipo dessa estrutura utilizando-se os algoritmos de aprendizado ART1, para identificação de agrupamentos, e MNC, para a tarefa de classificação. É também apresentada uma aplicação no mapeamento de áreas homogêneas de plantio de trigo no Brasil, de 1975 a 1999. Com relação às contribuições sobre o MNC são apresentados: (a) uma variante do algoritmo de treinamento que permite uma redução significativa do tamanho do modelo após o aprendizado; (b) um estudo sobre a redução da complexidade do modelo com o uso de máquinas de comitê; (c) uma técnica, usando o método do envoltório, para poda controlada do modelo final e (d) uma abordagem para tratamento de inconsistências e perda de conhecimento que podem ocorrer na construção do modelo.
Resumo:
O setor calçadista brasileiro, da mesma forma que toda a economia nacional, vem sofrendo transformações nos últimos anos, o que obriga as empresas do setor a buscar informações sobre métodos de custeio mais acurados, para que consigam atingir a eficiência e a competitividade necessárias em suas decisões, garantindo assim a sua permanência no mercado. Este trabalho propõe um metodologia para a implantação de um Sistema de Custeio Baseado em Atividades ABC, ferramenta esta que promove um aprimoramento no controle dos recursos consumidos pela empresa, o aperfeiçoamento contínuo dos processos e fornece informações relevantes na Gestão Estratégica de Custos, através da compreensão das atividades desenvolvidas e da dinâmica dos custos, que são proporcionadas pela metodologia proposta. Com a finalidade de avaliar a metodologia proposta, é desenvolvida uma aplicação em uma indústria calçadista, a Indústria e Comércio de Calçados Andarilho Ltda, em Frederico Westphalen - RS e também é realizada a validação para uma maior fidedignidade do Sistema de Custeio Baseado em Atividades - ABC. Neste trabalho, portanto, pode-se conhecer uma metodologia para a implantação deste sistema, além de avaliá-lo através da descrição do seu uso na empresa e compreender seus principais passos para implementação, benefícios, dificuldades e resultados que o referido sistema pode proporcionar.
Resumo:
A equação de complexidade de um algoritmo pode ser expressa em termos de uma equação de recorrência. A partir destas equações obtém-se uma expressão assintótica para a complexidade, provada por indução. Neste trabalho, propõem-se um esquema de solução de equações de recorrência usando equações características que são resolvidas através de um "software" de computação simbólica, resultando em uma expressão algébrica exata para a complexidade. O objetivo é obter uma forma geral de calcular a complexidade de um algoritmo desenvolvido pelo método Divisão-e-Conquista.