52 research outputs found

    Design methodologies and architectures of hardware-based evolutionary algorithms for aerospace optimisation applications on FPGAS

    Get PDF
    This thesis is a study of new design methods for allowing evolutionary algorithms to be more effectively utilised in aerospace optimisation applications where computation needs are high and computation platform space may be restrictive. It examines the applicability of special hardware computational platforms known as field programmable gate arrays and shows that with the right implementation methods they can offer significant benefits. This research is a step forward towards the advancement of efficient and highly automated aircraft systems for meeting compact physical constraints in aerospace platforms and providing effective performance speedups over traditional methods

    Implementation of Genetic Algorithms in FPGA-based Reconfigurable Computing Systems

    Get PDF
    Genetic Algorithms (GAs) are used to solve many optimization problems in science and engineering. GA is a heuristics approach which relies largely on random numbers to determine the approximate solution of an optimization problem. We use the Mersenne Twister Algorithm (MTA) to generate a non-overlapping sequence of random numbers with a period of 219937-1. The random numbers are generated from a state vector that consists of 624 elements. Our work on state vector generation and the GA implementation targets the solution of a flow-line scheduling problem where the flow-lines have jobs to process and the goal is to find a suitable completion time for all jobs using a GA. The state vector generation algorithm (MTA) performs poorly in traditional von Neumann architectures due to its poor temporal and spatial locality. Therefore its performance is limited by the speed at which we can access memory. With an approximate increase of processor performance by 60% per year and a drop of memory latency only 7% per year, a new approach is needed for performance improvement. On the other hand, the GA implementation in a general-purpose microprocessor, though performs reasonably well, has scope for performance gain in a parallel implementation. The parallel implementation of the GA can work as a kernel for applications that uses a GA to reach a solution. Our approach is to implement the state vector generation process and the GA in an FPGA-based Reconfigurable Computing (RC) system with the goal of improving the overall performance. Application design for FPGA-based RC systems is not trivial and the performance improvement is not guaranteed. Designing for RC systems requires algorithmic parallelism in order to exploit the inherent parallelism of the FPGA. We are using a high-level language that provides a level of abstraction from the lower-level hardware in the RC system making it difficult to fully exploit some of the architectural benefits of the FPGA. Considering these factors, we improve the state vector generation process algorithmically. Our implementation generates state vectors 5X faster than the previous implementation in an Intel Xeon microprocessor of 2GHz. The modified algorithm is also implemented in a Xilinx Virtex-4 FPGA that results in a 2.4X speedup. Improvement in this preprocessing step accelerates GA application performance as random numbers are generated from these state vectors for the genetic operators. We simulate the basic operations of a GA in an FPGA to study its behavior in a parallel environment and analyze the results. The initial FPGA implementation of the GA runs about 7X slower than its microprocessor counterpart. The reasons are explained along with suggestions for improvement and future work

    Swarm intelligence: novel tools for optimization, feature extraction, and multi-agent system modeling

    Get PDF
    Abstract Animal swarms in nature are able to adapt to dynamic changes in their envi-ronment, and through cooperation they can solve problems that are crucial for their survival. Only by means of local interactions with other members of the swarm and with the environment, they can achieve a common goal more efficiently than it would be done by a single individual. This problem-solving behavior that results from the multiplicity of such interactions is referred to as Swarm Intelligence. The mathematical models of swarming behavior in nature were initially proposed to solve optimization problems. Nevertheless, this decentralized approach can be a valuable tool for a variety of applications, where emerging global patterns represent a solution to the task at hand. Methods for the solution of difficult computational problems based on Swarm Intelligence have been experimentally demonstrated and reported in the literature. However, a general framework that would facilitate their design does not exist yet. In this dissertation, a new general design methodology for Swarm Intelligence tools is proposed. By defining a discrete space in which the members of the swarm can move, and by modifying the rules of local interactions and setting the adequate objective function for solutions evaluation, the proposed methodology is tested in various domains. The dissertation presents a set of case studies, and focuses on two general approaches. One approach is to apply Swarm Intelligence as a tool for optimization and feature extraction, and the other approach is to model multi-agent systems such that they resemble swarms of animals in nature providing them with the ability to autonomously perform a task at hand. Artificial swarms are designed to be autonomous, scalable, robust, and adaptive to the changes in their environment. In this work, the methods that exploit one or more of these features are presented. First, the proposed methodology is validated in a real-world scenario seen as a combinatorial optimization problem. Then a set of novel tools for feature extraction, more precisely the adaptive edge detection and the broken-edge linking in digital images is proposed. A novel data clustering algorithm is also proposed and applied to image segmentation. Finally, a scalable algorithm based on the proposed methodology is developed for distributed task allocation in multi-agent systems, and applied to a swarm of robots. The newly proposed general methodology provides a guideline for future developers of the Swarm Intelligence tools. Los enjambres de animales en la naturaleza son capaces de adaptarse a cambios dinamicos en su entorno y, por medio de la cooperación, pueden resolver problemas ´ cruciales para su supervivencia. Unicamente por medio de interacciones locales con otros miembros del enjambre y con el entorno, pueden lograr un objetivo común de forma más eficiente que lo haría un solo individuo. Este comportamiento problema-resolutivo que es resultado de la multiplicidad de interacciones se denomina Inteligencia de Enjambre. Los modelos matemáticos de comportamiento de enjambres en entornos naturales fueron propuestos inicialmente para resolver problemas de optimización. Sin embargo, esta aproximación descentralizada puede ser una herramienta valiosa en una variedad de aplicaciones donde patrones globales emergentes representan una solución de las tareas actuales. Aunque en la literatura se muestra la utilidad de los métodos de Inteligencia de Enjambre, no existe un entorno de trabajo que facilite su diseño. En esta memoria de tesis proponemos una nueva metodologia general de diseño para herramientas de Inteligencia de Enjambre. Desarrollamos herramientas noveles que representan ejem-plos ilustrativos de su implementación. Probamos la metodología propuesta en varios dominios definiendo un espacio discreto en el que los miembros del enjambre pueden moverse, modificando las reglas de las interacciones locales y fijando la función objetivo adecuada para evaluar las soluciones. La memoria de tesis presenta un conjunto de casos de estudio y se centra en dos aproximaciones generales. Una aproximación es aplicar Inteligencia de Enjambre como herramienta de optimización y extracción de características mientras que la otra es modelar sistemas multi-agente de tal manera que se asemejen a enjambres de animales en la naturaleza a los que se les confiere la habilidad de ejecutar autónomamente la tarea. Los enjambres artificiales están diseñados para ser autónomos, escalables, robustos y adaptables a los cambios en su entorno. En este trabajo, presentamos métodos que explotan una o más de estas características. Primero, validamos la metodología propuesta en un escenario del mundo real visto como un problema de optimización combinatoria. Después, proponemos un conjunto de herramientas noveles para ex-tracción de características, en concreto la detección adaptativa de bordes y el enlazado de bordes rotos en imágenes digitales, y el agrupamiento de datos para segmentación de imágenes. Finalmente, proponemos un algoritmo escalable para la asignación distribuida de tareas en sistemas multi-agente aplicada a enjambres de robots. La metodología general recién propuesta ofrece una guía para futuros desarrolladores deherramientas de Inteligencia de Enjambre

    Applications of reprogrammability in algorithm acceleration

    Get PDF
    This doctoral thesis consists of an introductory part and eight appended publications, which deal with hardware-based reprogrammability in algorithm acceleration with a specific emphasis on the possibilities offered by modern large-scale Field Programmable Gate Arrays (FPGAs) in computationally demanding applications. The historical evolution of both the theoretical and technological paths culminating in the introduction of reprogrammable logic devices is first outlined. This is followed by defining the commonly used terms in the thesis. The reprogrammable logic market is surveyed, and the architectural structures and the technological reasonings behind them are described in detail. As reprogrammable logic lies between Application Specific Integrated Circuits (ASICs) and general-purpose microprocessors in the implementation spectrum of electronics systems, special attention has been paid to differentiate these three implementation approaches. This has been done to emphasize, that reprogrammable logic offers much more than just a low-volume replacement for ASICs. Design systems for reprogrammable logic are investigated, as the learning curve associated with them is the main hurdle for software-oriented designers for using reprogrammable logic devices. The theoretically important topic of partial reprogrammability is described in detail, but it is concluded, that the practical problems in designing viable development platforms for partially reprogrammable systems will hinder its wide-spread adoption. The main technical, design-oriented, and economic applicability factors of reprogrammable logic are laid out. The main advantages of reprogrammable logic are their suitability for fine-grained bit-level parallelizable computing with a short time-to-market and low upfront costs. It is also concluded, that the main opportunities for reprogrammable logic lie in the potential of high-level design systems, and the ever-growing ASIC design gap. On the other hand, most power-conscious mass-market portable products do not seem to offer major new market potential for reprogrammable logic. The appended publications are examined and compared to contemporaneous research at other research institutions. The conclusion is that for relatively wide classes of well-defined computation problems, reprogrammable logic offers a more efficient solution than a software-centered approach, with a much shorter production cycle than is the case with ASICs.reviewe

    Applied (Meta)-Heuristic in Intelligent Systems

    Get PDF
    Engineering and business problems are becoming increasingly difficult to solve due to the new economics triggered by big data, artificial intelligence, and the internet of things. Exact algorithms and heuristics are insufficient for solving such large and unstructured problems; instead, metaheuristic algorithms have emerged as the prevailing methods. A generic metaheuristic framework guides the course of search trajectories beyond local optimality, thus overcoming the limitations of traditional computation methods. The application of modern metaheuristics ranges from unmanned aerial and ground surface vehicles, unmanned factories, resource-constrained production, and humanoids to green logistics, renewable energy, circular economy, agricultural technology, environmental protection, finance technology, and the entertainment industry. This Special Issue presents high-quality papers proposing modern metaheuristics in intelligent systems
    corecore