4 research outputs found

    An Investigation Of Topologies and migration schemes for asynchronous distributed evolutionary algorithms

    Full text link

    An Object-Oriented Programming Environment for Parallel Genetic Algorithms

    Get PDF
    This thesis investigates an object-oriented programming environment for building parallel applications based on genetic algorithms (GAs). It describes the design of the Genetic Algorithms Manipulation Environment (GAME), which focuses on three major software development requirements: flexibility, expandability and portability. Flexibility is provided by GAME through a set of libraries containing pre-defined and parameterised components such as genetic operators and algorithms. Expandability is offered by GAME'S object-oriented design. It allows applications, algorithms and genetic operators to be easily modified and adapted to satisfy diverse problem's requirements. Lastly, portability is achieved through the use of the standard C++ language, and by isolating machine and operating system dependencies into low-level modules, which are hidden from the application developer by GAME'S application programming interfaces. The development of GAME is central to the Programming Environment for Applications of PArallel GENetic Algorithms project (PAPAGENA). This is the principal European Community (ESPRIT III) funded parallel genetic algorithms project. It has two main goals: to provide a general-purpose tool kit, supporting the development and analysis of large-scale parallel genetic algorithms (PGAs) applications, and to demonstrate the potential of applying evolutionary computing in diverse problem domains. The research reported in this thesis is divided in two parts: i) the analysis of GA models and the study of existing GA programming environments from an application developer perspective; ii) the description of a general-purpose programming environment designed to help with the development of GA and PGA-based computer programs. The studies carried out in the first part provide the necessary understanding of GAs' structure and operation to outline the requirements for the development of complex computer programs. The second part presents GAME as the result of combining development requirements, relevant features of existing environments and innovative ideas, into a powerful programming environment. The system is described in terms of its abstract data structures and sub-systems that allow the representation of problems independently of any particular GA model. GAME's programming model is also presented as general-purpose object-oriented framework for programming coarse-grained parallel applications. GAME has a modular architecture comprising five modules: the Virtual Machine, the Parallel Execution Module, the Genetic Libraries, the Monitoring Control Module, and the Graphic User Interface. GAME's genetic-oriented abstract data structures, and the Virtual Machine, isolates genetic operators and algorithms from low-level operations such as memory management, exception handling, etc. The Parallel Execution Module supports GAME's object- oriented parallel programming model. It defines an application programming interface and a runtime library that allow the same parallel application, created within the environment, to run on different hardware and operating system platforms. The Genetic Libraries outline a hierarchy of components implemented as parameterised versions of standard and custom genetic operators, algorithms and applications. The Monitoring Control Module supports dynamic control and monitoring of simulations, whereas the Graphic User Interface defines a basic framework and graphic 'widgets' for displaying and entering data. This thesis describes the design philosophy and rationale behind these modules, covering in more detail the Virtual Machine, the Parallel Execution Module and the Genetic Libraries. The assessment discusses the system's ability to satisfy the main requirements of GA and PGA software development, as well as the features that distinguish GAME from other programming environments

    Algoritmos genéticos paralelos y su aplicación al diseño de redes de comunicaciones confiables

    Get PDF
    Esta Tesis presenta el estudio de las técnicas de computación evolutiva y la aplicación de técnicas de procesamiento de alta performance para implementar modelos de algoritmos genéticos capaces de ejecutar en un ambiente paralelo distribuido. Se aborda la aplicación de algoritmos evolutivos al caso concreto de problemas que surgen al diseñar redes de comunicaciones de alta conectividad topológica. En particular, se concentró el estudio sobre una clase de problemas de diseño de redes de comunicaciones que pueden modelarse bajo el denominado Problema de Steiner Generalizado. Dada una red de comunicaciones con ciertos nodos distinguidos denominados nodos terminales, el Problema de Steiner Generalizado propone diseñar una subred de mínimo costo que verifique un conjunto de requisitos prefijados de conectividad entre pares de nodos terminales. En el trabajo se evalúan diferentes algoritmos evolutivos puros e híbridos en sus versiones secuenciales y paralelas, presentando un estudio comparativo que reporta resultados satisfactorios tanto desde el punto de vista de la calidad de resultados obtenidos como desde el punto de vista de la mejora de eficiencia computacional alcanzada por las versiones paralelas de los algoritmos con respecto a sus contrapartes secuenciales
    corecore