DECOM - Departamento de Computação
URI Permanente desta comunidade
Navegar
Navegando DECOM - Departamento de Computação por Assunto "Algoritmos de computador"
Agora exibindo 1 - 6 de 6
Resultados por página
Opções de Ordenação
Item Um algoritmo de estimação de distribuição para otimização multiobjetivo baseado em colônia de abelhas e clusters.(2013) Novais, Fabiano Tomás; Guimarães, Frederico GadelhaNeste trabalho, propõem-se um novo algoritmo híbrido denominado Multiobjective Optimization Estimation of Distribution Algorithm Based on Bee Colonies and Clusters (MOEDABC) para resolução de problemas de otimização multiobjetivo de larga escala no domínio contínuo. Este algoritmo é inspirado na organização de uma colônia de abelhas e baseia-se nos algoritmos de estimação de distribuição. Como forma de gerar melhores soluções utiliza-se também técnicas de clusterização com a finalidade de aumentar a convergência local das soluções na fronteira Pareto. O algoritmo é baseado em quatro tipos de abelhas: as campistas, as observadoras, as nutrizes e as escoteiras, onde cada uma utiliza uma forma diferente de gerar as novas soluções. Combinando diferentes técnicas como clusterização, estimação de distribuição e algoritmos genéticos possibilitou-se um melhor aprendizado por meio de modelos probabilísticos baseados em distribuições Gaussianas e de Cauchy, obtendo assim soluções de maior qualidade. Em busca de obter maior flexibilidade do algoritmo na resolução de problemas foi introduzido um feromônio de controle responsável por controlar a proporção de cada tipo de abelhas na colônia. Comparado com outros algoritmos os resultados obtidos demonstram que o algoritmo proposto apresenta uma maior velocidade de convergência e uma melhor distribuição das soluções na fronteira Pareto conforme os indicadores utilizados.Item Algoritmos exatos e heurísticos para a resolução do problema da descoberta de cliques de peso máximo.(2015) Vilas Boas, Matheus Guedes; Santos, Haroldo GambiniO presente trabalho trata do projeto, implementação e avaliação de algoritmos exatos e heurísticos, sequenciais e paralelos, para a resolução do problema da enumeração de cliques com peso acima de um limiar (PECPL). Esse problema considera um grafo com vértices ponderados, onde o objetivo é encontrar todos os cliques maximais com peso acima de um limiar. Os algoritmos estudados neste trabalho são aplicados na separação de cortes no contexto de Programação Inteira. Encontrar todos os cliques acima de um dado peso é equivalente ao problema de encontrar todas as desigualdades violadas de clique. Foram desenvolvidas adaptações em algoritmos conhecidos na literatura para a resolução do problema. Para o algoritmo de Bron-Kerbosch, uma adaptação foi realizada para resolver o PECPL. Além disso, várias melhorias foram propostas a fim de melhorar a eficiência na resolução das instâncias do problema. Foram propostas uma versão iterativa do algoritmo, originalmente recursivo, e uma versão paralela. O algoritmo de Ostergard e a heurística busca tabu com multi-vizinhanças também foram implementados e modificados para refletir o problema abordado no presente trabalho. Porém, a metaheurística Simulated Annealing foi proposta e desenvolvida utilizando-se as mesmas estruturas de vizinhança utilizadas na heurística busca tabu com multivizinhanças. A diferença das duas técnicas está na estratégia de resolução do problema: enquanto a primeira utiliza-se do conceito de lista tabu, a ultima simula o processo de recozimento de metais. Nos experimentos computacionais, foram utilizadas 7292 instâncias, oriundas de quatro conjuntos referentes à separação de cortes em problemas formulados por meio do uso de programação inteira. Os experimentos foram conduzidos em duas partes: em um primeiro momento, as instâncias foram utilizadas para resolução do PECPL. Posteriormente, o foco foi a resolução do problema do clique de peso máximo (PCPM). Quanto à resolução do PECPL, os resultados obtidos comprovam a eficiência do algoritmo de Bron-Kerbosch, quando comparado aos demais algoritmos, ao encontrar a solução ótima para todas as instâncias e em um tempo consideravelmente menor do que as outras técnicas. Quando a análise dos resultados foi direcionada à resolução do PCPM, todas as técnicas implementadas obtiveram bons resultados, com destaque para a heurística busca tabu com multi-vizinhanças, a qual resolveu todas as instâncias de forma ótima, com o menor tempo computacional em relação às demais abordagens. Como trabalhos futuros, são sugeridos a adoção de operadores lógicos para a representação do grafo no algoritmo de Bron-Kerbosch, a melhoria da versão paralela do algoritmo e o estudo do projeto das metaheurísticas Simulated Annealing e busca tabu.Item Certified derivative-based parsing of regular expressions.(2018) Lopes, Raul Felipe Pimenta; Ribeiro, Rodrigo Geraldo; Figueiredo, Carlos Camarão de; Malaquias, José Romildo; Reis, Leonardo Vieira dos Santos; Ribeiro, Rodrigo GeraldoParsing is pervasive in computing and fundamental in several software artifacts. This dissertation reports the rst step in our ultimate goal: a formally veri ed toolset for parsing regular and context free languages based on derivatives. Speci cally, we describe the formalization of Brzozowski and Antimirov derivative based algorithms for regular expression parsing, in the dependently typed language Agda. The formalization produces a proof that either an input string matches a given regular expression or that no matching exists. A tool for regular expression based search in the style of the well known GNU Grep has been developed using the certi ed algorithms. Practical experiments conducted using this tool are reported.Item Decision trees for the algorithm selection problem : integer programming based approaches.(2019) Vilas Boas, Matheus Guedes; Santos, Haroldo Gambini; Blum, Christian Clemens; Merschmann, Luiz Henrique de Campos; Silva, Rodrigo César Pedrosa; Toffolo, Túlio Ângelo MachadoEven though it is well known that for most relevant computational problems different algorithms may perform better on different classes of problem instances, most researchers still focus on determining a single best algorithmic configuration based on aggregate results such as the average. In this thesis, we propose Integer Programming based approaches to build decision trees for the Algorithm Selection Problem. These techniques allow the automation of three crucial decisions: (i) discerning the most important problem features to determine problem classes; (ii) grouping the problems into classes and (iii) select the best algorithm configuration for each class. We tested our approach from different perspectives: (i) univariate approach, where for each branch node, only one cutoff point of a feature is chosen and (ii) multivariate approach, where for each branch node, weights for multiple features are used (oblique decision trees). Considering the current scenario where the number of cores per machine has increased considerably, we also propose a new approach based on recommendation of concurrent algorithms. To evaluate our approaches, extensive computational experiments were executed using a dataset that considers the linear programming algorithms implemented in the COIN-OR Branch & Cut solver across a comprehensive set of instances, including all MIPLIB benchmark instances. We also conducted experiments with the scenarios/- datasets of the Open Algorithm Selection Challenge (OASC) held in 2017. Considering the first dataset and a 10-fold cross validation experiment, while selecting the single best solver across all instances decreased the total running time by 2%, our univariate approach decreased the total running time by 68% and using the multivariate approach, the total running time is decreased by 72%. An even greater performance gain can be obtained using concurrent algorithms, something not yet explored in the literature. For our experiments, using three algorithm configurations per leaf node, the total running time is decreased by 85%. These results indicate that our method generalizes quite well and does not overfit. Considering the results obtained using the scenarios of the OASC, the experimental results showed that our decision trees can produce better results than less interpretable models, such as random forest, which has been extensively used for algorithm recommendation.Item Um modelo reforçado e heurísticas relax-and-fix e VNS para o Problema da Árvore Geradora Mínima Capacitada em Níveis.(2018) Campos, Jean Carlos Tiburcio; Souza, Marcone Jamilson Freitas; Martins, Alexandre Xavier; Souza, Marcone Jamilson Freitas; Martins, Alexandre Xavier; Santos, Haroldo Gambini; Carvalho, Marco Antonio Moreira de; Souza, Maurício Cardoso deEste trabalho tem seu foco no Problema da Árvore Geradora Mínima Capacitada em Níveis (PAGMCN). Ele consiste em encontrar uma árvore geradora de custo mínimo, tal que o fluxo a ser transferido de um nó central aos demais nós seja limitado pela capacidade das arestas. Para resolvê-lo, propomos neste trabalho uma formulação reforçada de programação matemática e um algoritmo híbrido, combinando as heurísticas relax-and-fix e Variable Neighborhood Search (VNS), juntamente com um modelo matemático. A formulação matemática proposta, chamada \Modelo Baseado na Capacidade das Facilidades 2" (MBC2), consiste em adicionar dois novos conjuntos de restrições à formulação considerada a mais e ciente da literatura. A motivação para a utilização do modelo MBC2 está em ele fornecer um limite inferior de qualidade, esperando assim convergir mais rapidamente à solução ótima. Experimentos computacionais mostraram que a formulação reforçada proposta, quando comparada ao modelo da literatura, melhora a qualidade da relaxação linear, fornecendo um limite inferior melhor e justificando a sua utilização. Para o desenvolvimento do algoritmo híbrido, foi utilizado o modelo MBC2 proposto neste trabalho, em razão de ele ser capaz de proporcionar um limite inferior de qualidade. Essa formulação reforçada é usada com a heurística relax-and-fix para fornecer uma solução inicial para o VNS. Resultados mostram que o VNS melhora a solução inicial e gera soluções com gaps relativamente pequenos nas instâncias usadas para teste.Item Operador de pesquisa local baseada em aproximação quadrática para problemas de otimização contínua.(2018) Mota, Felipe de Oliveira; Moreira, Gladston Juliano Prates; Moreira, Gladston Juliano Prates; Cruz, André Rodrigues; Wanner, Elizabeth Fialho; Santos, Thiago FontesEste documento traz o estudo de um operador de busca local que uti- liza aproxima¸c˜oes quadr´aticas para formar um algoritmo hibrido e resolver problemas multiobjetivo ou mono objetivo com restri¸c˜oes de igualdade. Mui- tas vezes, algoritmos evolutivos como o PSO (Eberhart & Kennedy,1995) conseguem encontrar boas bacias de atra¸c˜ao em problemas de otimiza¸c˜ao, mas explor´a-las pode ser complicado. Por isso uma hibridiza¸c˜ao com poten- cial para encontrar rapidamente m´ınimos locais ´e uma op¸c˜ao amplamente utilizada para acelerar a convergˆencia e melhorar a precis˜ao do processo. Ao longo da sua execu¸c˜ao, os algoritmos evolutivos movem seus pon- tos de maneira que eles avancem a`s regi˜oes com as melhores solu¸c˜oes. Os operadores utilizados, chamados aqui de Full-Matrix Quadratic Approxima- tion (FMQA) e Diagonal Quadratic Approximation (DQA), utilizar˜ao pontos das boas regi˜oes encontradas no espa¸co para gerar fun¸c˜oes quadr´aticas que aproximam as fun¸c˜oes originais do problema. Eles diferem apenas em como as matrizes s˜ao constru´ıdas. Este modelo aproximado pode ser facilmente resolvido, obtendo uma solu¸c˜ao que atender´a o problema original e ´e prova- velmente melhor do que os pontos utilizados para fazer tal constru¸c˜ao. O objetivo do trabalho ´e testar a uni˜ao destes operadores com o algoritmo evolutivo Particle Swarm Optimization (PSO), melhorando seus indiv´ıduos separadamente para resolver problemas com restri¸c˜oes de igualdade. N´os queremos observar suas vantagens e desvantagens quanto a tempo compu- tacional e precis˜ao, quando aplicada aos problemas propostos. Nestes pro- blemas, a dimens˜ao reduzida do espa¸co de busca torna dif´ıcil o trabalho do algoritmo evolutivo puro, e esse operador se mostrou eficiente para auxiliar na busca. Tamb´em ser´a estudado como os operadores performam em problemas multiobjetivo.