10 research outputs found

    Variable neighborhood search for solving the DNA fragment assembly problem

    Get PDF
    The fragment assembly problem consists in the building of the DNA sequence from several hundreds (or even, thousands) of fragments obtained by biologists in the laboratory. This is an important task in any genome project, since the accuracy of the rest of the phases depends of the result of this stage. In addition, real instances are very large and therefore, the efficiency is also a very important issue in the design of fragment assemblers. In this paper, we propose two Variable Neighborhood Search variants for solving the DNA fragment assembly problem. These algorithms are specifically adapted for the problem being the difference between them the optimization orientation (fitness function). One of them maximizes the Parsons’s fitness function (which only considers the overlapping among the fragments) and the other estimates the variation in the number of contigs during a local search movement, in order to minimize the number of contigs. The results show that doesn’t exist a direct relation between these functions (even in several cases opposite values are generated) although for the tested instances, both variants allow to find similar and very good results but the second option reduces significatively the consumed-time.VIII Workshop de Agentes y Sistemas InteligentesRed de Universidades con Carreras en Informática (RedUNCI

    Variable neighborhood search for solving the DNA fragment assembly problem

    Get PDF
    The fragment assembly problem consists in the building of the DNA sequence from several hundreds (or even, thousands) of fragments obtained by biologists in the laboratory. This is an important task in any genome project, since the accuracy of the rest of the phases depends of the result of this stage. In addition, real instances are very large and therefore, the efficiency is also a very important issue in the design of fragment assemblers. In this paper, we propose two Variable Neighborhood Search variants for solving the DNA fragment assembly problem. These algorithms are specifically adapted for the problem being the difference between them the optimization orientation (fitness function). One of them maximizes the Parsons’s fitness function (which only considers the overlapping among the fragments) and the other estimates the variation in the number of contigs during a local search movement, in order to minimize the number of contigs. The results show that doesn’t exist a direct relation between these functions (even in several cases opposite values are generated) although for the tested instances, both variants allow to find similar and very good results but the second option reduces significatively the consumed-time.VIII Workshop de Agentes y Sistemas InteligentesRed de Universidades con Carreras en Informática (RedUNCI

    A study on the deployment of GA in a grid computing framework

    Get PDF
    Dissertação de Mestrado, Engenharia Informática, Faculdade de Ciências e Tecnologia, Universidade do Algarve, 2015Os algoritmos genéticos (AG) desempenham um papel importante na resolução de muitos problemas de otimização, incluindo científicos, económicos e socialmente relevantes. Os AGs, conjuntamente com a programação genética (PG), a programação evolutiva (PE), e as estratégias de evolução, são as principais classes de algoritmos evolutivos (AEs), ou seja, algoritmos que simulam a evolução natural. Em aplicações do mundo real o tempo de execução dos AGs pode ser computacionalmente exigente, devido, principalmente, aos requerimentos relacionados com o tamanho da população. Este problema pode ser atenuado através da paralelização, que pode levar a GAs mais rápidos e com melhor desempenho. Embora a maioria das implementações existentes de Algoritmos Genéticos Paralelos (AGPs) utilize clusters ou processamento massivamente paralelo (PMP), a computação em grid é economicamente relevante (uma grid pode ser construída utilizando computadores obsoletos) e tem algumas vantagens sobre os clusters, como por exemplo a não existência de controlo centralizado, segurança e acesso a recursos heterogéneos distribuídos em organizações virtuais dinâmicas em todo o mundo. Esta investigação utiliza o problema do mundo real denominado de Problema do Caixeiro Viajante (PCV) como referência (benchmark) para a paralelização de AGs numa infraestrutura de computação em grid. O PCV é um problema NP-difícil de otimização combinatória, bem conhecido, que pode ser formalmente descrito como o problema de encontrar, num grafo, o ciclo hamiltoniano mais curto. De facto, muitos problemas de roteamento, produção e escalonamento encontrados na engenharia, na indústria e outros tipos de negócio, podem ser equiparados ao PCV, daí a sua importância. Informalmente, o problema pode ser descrito da seguinte forma: Um vendedor tem um grande número de cidades para visitar e precisa encontrar o caminho mais curto para visitar todas as cidades, sem revisitar nenhuma delas. A principal dificuldade em encontrar as melhores soluções para o PCV é o grande número de caminhos possíveis; (n-1)! / 2 para um caminho de n cidades simétricas. À medida que o número de cidades aumenta, o número de caminhos possíveis também aumenta de uma forma fatorial. O PCV é, portanto, computacionalmente intratável, justificando plenamente a utilização de um método de otimização estocástica, como os AGs. No entanto, mesmo um algoritmo de otimização estocástica pode demorar demasiado tempo para calcular, à medida que o tamanho do problema aumenta. Num AG para grandes populações, o tempo necessário para resolver o problema pode até ser excessivamente longo. Uma forma de acelerar tais algoritmos é usar recursos adicionais, tais como elementos adicionais de processamento funcionando em paralelo e colaborando para encontrar a solução. Isto leva a implementações simultâneas de AGs, adequadas para a implementação em recursos colaborando em paralelo e/ou de forma distribuída. Os Algoritmos evolutivos paralelos (AEPs) destinam-se a implementar algoritmos mais rápidos e com melhor desempenho, usando populações estruturadas, ou seja, distribuições espaciais dos indivíduos. Uma das maneiras possíveis de descentralizar a população é distribuí-la por um conjunto de nós de processamento (ilhas) que trocam periodicamente (migram) potenciais soluções; o chamado modelo de ilhas. O modelo de ilhas permite um número considerável de topologias de migração e, pela Informação que foi possível apurar, há uma carência de trabalhos de investigação sobre a comparação dessas topologias de migração, ao implementar AEPs em infraestruturas de computação em grid. De facto, a comparação de topologias de migração, utilizando uma infraestrutura de computação em grid, como proposto neste trabalho, parece não estar disponível na literatura. Esta comparação tem como objetivo fornecer uma resposta tecnicamente sólida para a questão de investigação: Qual é a topologia, de modelo de ilhas, mais rápida para resolver instâncias do PCV usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo? Uma hipótese para responder à questão de investigação pode ser expressa da seguinte forma: Para resolver instâncias TSP, usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo, escolha qualquer uma das topologias coordenadas do modelo de ilhas, de entre as topologias testadas (estrela, roda, árvore, matriz totalmente conectada, árvore-anel, anel) com o maior número de nós possível (mesmo os mais lentos) e selecione a frequência de migração g que otimiza o tempo de execução para a topologia escolhida. A metodologia de investigação é essencialmente experimental, observando e analisando o comportamento do algoritmo ao alterar as propriedades do modelo de ilhas. Os resultados mostram que o AG é acelerado quando implementado num ambiente grid, mantendo a qualidade dos resultados obtidos na versão sequencial. Além disso, mesmo os computadores obsoletos podem ser usados como nós contribuindo para acelerar o tempo de execução do algoritmo. Este trabalho também discute a adequação de uma abordagem assíncrona para a implementação do AG num ambiente de computação em grid

    A study on the deployment of GA in a grid computing framework

    Get PDF
    Dissertação de Mestrado, Engenharia Informática, Faculdade de Ciências e Tecnologia, Universidade do Algarve, 2015Os algoritmos genéticos (AG) desempenham um papel importante na resolução de muitos problemas de otimização, incluindo científicos, económicos e socialmente relevantes. Os AGs, conjuntamente com a programação genética (PG), a programação evolutiva (PE), e as estratégias de evolução, são as principais classes de algoritmos evolutivos (AEs), ou seja, algoritmos que simulam a evolução natural. Em aplicações do mundo real o tempo de execução dos AGs pode ser computacionalmente exigente, devido, principalmente, aos requerimentos relacionados com o tamanho da população. Este problema pode ser atenuado através da paralelização, que pode levar a GAs mais rápidos e com melhor desempenho. Embora a maioria das implementações existentes de Algoritmos Genéticos Paralelos (AGPs) utilize clusters ou processamento massivamente paralelo (PMP), a computação em grid é economicamente relevante (uma grid pode ser construída utilizando computadores obsoletos) e tem algumas vantagens sobre os clusters, como por exemplo a não existência de controlo centralizado, segurança e acesso a recursos heterogéneos distribuídos em organizações virtuais dinâmicas em todo o mundo. Esta investigação utiliza o problema do mundo real denominado de Problema do Caixeiro Viajante (PCV) como referência (benchmark) para a paralelização de AGs numa infraestrutura de computação em grid. O PCV é um problema NP-difícil de otimização combinatória, bem conhecido, que pode ser formalmente descrito como o problema de encontrar, num grafo, o ciclo hamiltoniano mais curto. De facto, muitos problemas de roteamento, produção e escalonamento encontrados na engenharia, na indústria e outros tipos de negócio, podem ser equiparados ao PCV, daí a sua importância. Informalmente, o problema pode ser descrito da seguinte forma: Um vendedor tem um grande número de cidades para visitar e precisa encontrar o caminho mais curto para visitar todas as cidades, sem revisitar nenhuma delas. A principal dificuldade em encontrar as melhores soluções para o PCV é o grande número de caminhos possíveis; (n-1)! / 2 para um caminho de n cidades simétricas. À medida que o número de cidades aumenta, o número de caminhos possíveis também aumenta de uma forma fatorial. O PCV é, portanto, computacionalmente intratável, justificando plenamente a utilização de um método de otimização estocástica, como os AGs. No entanto, mesmo um algoritmo de otimização estocástica pode demorar demasiado tempo para calcular, à medida que o tamanho do problema aumenta. Num AG para grandes populações, o tempo necessário para resolver o problema pode até ser excessivamente longo. Uma forma de acelerar tais algoritmos é usar recursos adicionais, tais como elementos adicionais de processamento funcionando em paralelo e colaborando para encontrar a solução. Isto leva a implementações simultâneas de AGs, adequadas para a implementação em recursos colaborando em paralelo e/ou de forma distribuída. Os Algoritmos evolutivos paralelos (AEPs) destinam-se a implementar algoritmos mais rápidos e com melhor desempenho, usando populações estruturadas, ou seja, distribuições espaciais dos indivíduos. Uma das maneiras possíveis de descentralizar a população é distribuí-la por um conjunto de nós de processamento (ilhas) que trocam periodicamente (migram) potenciais soluções; o chamado modelo de ilhas. O modelo de ilhas permite um número considerável de topologias de migração e, pela Informação que foi possível apurar, há uma carência de trabalhos de investigação sobre a comparação dessas topologias de migração, ao implementar AEPs em infraestruturas de computação em grid. De facto, a comparação de topologias de migração, utilizando uma infraestrutura de computação em grid, como proposto neste trabalho, parece não estar disponível na literatura. Esta comparação tem como objetivo fornecer uma resposta tecnicamente sólida para a questão de investigação: Qual é a topologia, de modelo de ilhas, mais rápida para resolver instâncias do PCV usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo? Uma hipótese para responder à questão de investigação pode ser expressa da seguinte forma: Para resolver instâncias TSP, usando um algoritmo genético baseado em ordem, num ambiente de computação em grid, heterogéneo e distribuído, sem uma perda significativa de fitness, comparativamente com a implementação sequencial e panmítica do mesmo algoritmo, escolha qualquer uma das topologias coordenadas do modelo de ilhas, de entre as topologias testadas (estrela, roda, árvore, matriz totalmente conectada, árvore-anel, anel) com o maior número de nós possível (mesmo os mais lentos) e selecione a frequência de migração g que otimiza o tempo de execução para a topologia escolhida. A metodologia de investigação é essencialmente experimental, observando e analisando o comportamento do algoritmo ao alterar as propriedades do modelo de ilhas. Os resultados mostram que o AG é acelerado quando implementado num ambiente grid, mantendo a qualidade dos resultados obtidos na versão sequencial. Além disso, mesmo os computadores obsoletos podem ser usados como nós contribuindo para acelerar o tempo de execução do algoritmo. Este trabalho também discute a adequação de uma abordagem assíncrona para a implementação do AG num ambiente de computação em grid

    A Study of Ordered Gene Problems Featuring DNA Error Correction and DNA Fragment Assembly with a Variety of Heuristics, Genetic Algorithm Variations, and Dynamic Representations

    Get PDF
    Ordered gene problems are a very common classification of optimization problems. Because of their popularity countless algorithms have been developed in an attempt to find high quality solutions to the problems. It is also common to see many different types of problems reduced to ordered gene style problems as there are many popular heuristics and metaheuristics for them due to their popularity. Multiple ordered gene problems are studied, namely, the travelling salesman problem, bin packing problem, and graph colouring problem. In addition, two bioinformatics problems not traditionally seen as ordered gene problems are studied: DNA error correction and DNA fragment assembly. These problems are studied with multiple variations and combinations of heuristics and metaheuristics with two distinct types or representations. The majority of the algorithms are built around the Recentering- Restarting Genetic Algorithm. The algorithm variations were successful on all problems studied, and particularly for the two bioinformatics problems. For DNA Error Correction multiple cases were found with 100% of the codes being corrected. The algorithm variations were also able to beat all other state-of-the-art DNA Fragment Assemblers on 13 out of 16 benchmark problem instances

    Anales del XIII Congreso Argentino de Ciencias de la Computación (CACIC)

    Get PDF
    Contenido: Arquitecturas de computadoras Sistemas embebidos Arquitecturas orientadas a servicios (SOA) Redes de comunicaciones Redes heterogéneas Redes de Avanzada Redes inalámbricas Redes móviles Redes activas Administración y monitoreo de redes y servicios Calidad de Servicio (QoS, SLAs) Seguridad informática y autenticación, privacidad Infraestructura para firma digital y certificados digitales Análisis y detección de vulnerabilidades Sistemas operativos Sistemas P2P Middleware Infraestructura para grid Servicios de integración (Web Services o .Net)Red de Universidades con Carreras en Informática (RedUNCI
    corecore