31 research outputs found

    Stochastic Metaheuristics as Sampling Techniques using Swarm Intelligence

    Get PDF
    Optimization problems appear in many fields, as various as identification problems, supervised learning of neural networks, shortest path problems, etc. Metaheuristics [22] are a family of optimization algorithms, often applied to "hard " combinatorial problems for which no more efficient method is known. They have the advantage of being generi

    Noisy fitness evaluation in genetic algorithms and the dynamics of learning

    Get PDF
    A theoretical model is presented which describes selection in a genetic algorithm (GA) under a stochastic fitness measure and correctly accounts for finite population effects. Although this model describes a number of selection schemes, we only consider Boltzmann selection in detail here as results for this form of selection are particularly transparent when fitness is corrupted by additive Gaussian noise. Finite population effects are shown to be of fundamental importance in this case, as the noise has no effect in the infinite population limit. In the limit of weak selection we show how the effects of any Gaussian noise can be removed by increasing the population size appropriately. The theory is tested on two closely related problems: the one-max problem corrupted by Gaussian noise and generalization in a perceptron with binary weights. The averaged dynamics can be accurately modelled for both problems using a formalism which describes the dynamics of the GA using methods from statistical mechanics. The second problem is a simple example of a learning problem and by considering this problem we show how the accurate characterization of noise in the fitness evaluation may be relevant in machine learning. The training error (negative fitness) is the number of misclassified training examples in a batch and can be considered as a noisy version of the generalization error if an independent batch is used for each evaluation. The noise is due to the finite batch size and in the limit of large problem size and weak selection we show how the effect of this noise can be removed by increasing the population size. This allows the optimal batch size to be determined, which minimizes computation time as well as the total number of training examples required

    Modelling Genetic Algorithms and Evolving Populations

    No full text
    A formalism for modelling the dynamics of genetic algorithms using methods from statistical physics, originally due to Pr¨ugel-Bennett and Shapiro, is extended to ranking selection, a form of selection commonly used in the genetic algorithm community. The extension allows a reduction in the number of macroscopic variables required to model the mean behaviour of the genetic algorithm. This reduction allows a more qualitative understanding of the dynamics to be developed without sacrificing quantitative accuracy. The work is extended beyond modelling the dynamics of the genetic algorithm. A caricature of an optimisation problem with many local minima is considered — the basin with a barrier problem. The first passage time — the time required to escape the local minima to the global minimum — is calculated and insights gained as to how the genetic algorithm is searching the landscape. The interaction of the various genetic algorithm operators and how these interactions give rise to optimal parameters values is studied

    JavaEvA : a Java based framework for Evolutionary Algorithms

    Get PDF
    Das Softwarepaket JavaEvA (eine Java Implementierung Evolutionärer Algorithmen) ist ein allgemeines modulares Framework für Optimierungsalgorithmen basierend auf einer Client-Server Architektur, das geeignet ist eine Vielzahl von Optimierungsproblemen zu lösen. Das Paket wurde mit dem Schwerpunkt entwickelt neue Verfahren im Bereich der Evolutionären Algorithmen einfach entwickeln und testen zu können und diese Verfahren letztlich in praktischen Anwendungen anzuwenden. JavaEvA beinhaltet Implementierungen der üblichen Evolutionären Verfahren wie zum Beispiel Genetische Algorithmen, die CHC Adaptive Search, Population Based Incremental Learning, Evolutionsstrategien, Modellunterstützte Evolutionsstrategien, Genetisches Programmieren und Grammatical Evolution. Zusätzlich erlaubt es das modulare Framework von JavaEvA eigene eventuell problemspezifische Optimierungsmodule zu ergänzen und mit den implementieren Verfahren zu vergleichen. Das JavaEvA Paket benutzt ein generisches Verfahren zur GUI Generierung und erlaubt so einen einfachen Objektorientierten Zugang zu allen relevanten Parametern eines Evolutionären Algorithmus. Das gleiche Verfahren generiert auch entsprechende GUI Elemente für neu entwickelte Methoden und vereinfacht so den Aufwand bei der Entwicklung neuer Methoden erheblich. Zusätzlich besteht die Möglichkeit spezialisiere GUI Elemente für einzelne Objekte zu entwickeln und in das bestehende System zu integrieren, um die Benutzerfreundlichkeit weiter zu erhöhen. Da es uns unmöglich ist jedwede potenzielle Anwendung oder Optimierungsproblem zu antizipieren, ist es aus praktischen Gründen fast immer nötig eigene Implementierungen des jeweiligen Anwendungsproblems zu erstellen. Um diesen Vorgang zu erleichtern bietet diese Anleitung zusätzliche Beispiele mit detaillierten Beschreibungen, wie man ein eigenes Problem implementieren kann und JavaEvA lediglich als Optimierungstoolbox integriert. Auf diese Weise behält ihre jeweilige Anwendung die vollständige Kontrolle über die verwendeten Verfahren und die anwendungsspezifische Darstellung der Optimierungsergebnisse.The package JavaEvA (a Java implementation of Evolutionary Algorithms) is a general modular framework with an inherent client server structure to solve practical optimization problems. This package was especially designed to test and develop new approaches for Evolutionary Algorithms and to utilize them in real-world applications. JavaEvA already provides implementations of the most common Evolutionary Algorithms, like Genetic Algorithms, CHC Adaptive Search, Population Based Incremental Learning, Evolution Strategies, Model-Assisted Evolution Strategies, Genetic Programming and Grammatical Evolution. In addition the modular framework of JavaEvA allows everyone to add their own optimization modules to meet their specific requirements. The JavaEvA package uses a generic GUI framework that allows GUI access to any member of a class if get and set methods are provided and an editor is defined for the given data type. This approach allows very fast development cycles, since hardly any additional effort is necessary for implementing GUI elements, while still at the same time user specific GUI elements can be developed and integrated to increase usability. Since we cannot anticipate specific optimization problem and requirements, it is necessary for users to define their optimization problem. Therefore, we provide an additional framework and explain how one can include JavaEvA in an existing Java project or how one can implement ones own optimization problem and optimize it by using JavaEvA. This gives users total control of the optimization algorithms used

    Adaptive scaling of evolvable systems

    Get PDF
    Neo-Darwinian evolution is an established natural inspiration for computational optimisation with a diverse range of forms. A particular feature of models such as Genetic Algorithms (GA) [18, 12] is the incremental combination of partial solutions distributed within a population of solutions. This mechanism in principle allows certain problems to be solved which would not be amenable to a simple local search. Such problems require these partial solutions, generally known as building-blocks, to be handled without disruption. The traditional means for this is a combination of a suitable chromosome ordering with a sympathetic recombination operator. More advanced algorithms attempt to adapt to accommodate these dependencies during the search. The recent approach of Estimation of Distribution Algorithms (EDA) aims to directly infer a probabilistic model of a promising population distribution from a sample of fitter solutions [23]. This model is then sampled to generate a new solution set. A symbiotic view of evolution is behind the recent development of the Compositional Search Evolutionary Algorithms (CSEA) [49, 19, 8] which build up an incremental model of variable dependencies conditional on a series of tests. Building-blocks are retained as explicit genetic structures and conditionally joined to form higher-order structures. These have been shown to be effective on special classes of hierarchical problems but are unproven on less tightly-structured problems. We propose that there exists a simple yet powerful combination of the above approaches: the persistent, adapting dependency model of a compositional pool with the expressive and compact variable weighting of probabilistic models. We review and deconstruct some of the key methods above for the purpose of determining their individual drawbacks and their common principles. By this reasoned approach we aim to arrive at a unifying framework that can adaptively scale to span a range of problem structure classes. This is implemented in a novel algorithm called the Transitional Evolutionary Algorithm (TEA). This is empirically validated in an incremental manner, verifying the various facets of the TEA and comparing it with related algorithms for an increasingly structured series of benchmark problems. This prompts some refinements to result in a simple and general algorithm that is nevertheless competitive with state-of-the-art methods

    Diseño y aplicación de técnicas inteligentes en problemas de logística

    Full text link
    [ES] En este trabajo de investigación se emplea algoritmos genéticos aplicados a los problemas de logística. El algoritmo es implementado para optimizar los resultados obtenidos en la distribución de productos para un grupo de tiendas que pertenecen una cadena de supermercados. Este documento presenta el diseño utilizado en la implementación del algoritmo para que se pueda cumplir con las restricciones asociadas al problema. Además, un meta algoritmo fue creado para obtener la adecuada selección de la configuración inicial que requiere esta heurística. Se realizaron diversas evaluaciones probando distintas configuraciones, los resultados generados están descritos en el documento. Adicional, se creó una plataforma web para que se ingresen todos los datos que necesita el algoritmo diseñado para la generación de las rutas. Esta aplicación permitirá a los usuarios entender, de una forma más sencilla, los resultados generados para el reparto de productos.[EN] This research work uses genetic algorithms applied to logistics problems. The algorithm is implemented to optimize the results obtained in the distribution of products for a group of stores that belong to a supermarket chain. This document presents the algorithm design used in the implementation so that it can comply with the restrictions associated with the problem. In addition, a meta algorithm was created to obtain the appropriate selection of the initial configuration required by this heuristic. Various evaluations were obtained by testing different configurations, the results generated are determined in the document. In addition, a web platform was created to insert all the data requiered by the designed algorithm for the generation of routes. This application allowed users to understand in a simpler way the results generated for the distribution of products.Ponce Torres, JJ. (2019). Diseño y aplicación de técnicas inteligentes en problemas de logística. http://hdl.handle.net/10251/130295TFG
    corecore