16,583 research outputs found
Evolutionary improvement of programs
Most applications of genetic programming (GP) involve the creation of an entirely new function, program or expression to solve a specific problem. In this paper, we propose a new approach that applies GP to improve existing software by optimizing its non-functional properties such as execution time, memory usage, or power consumption. In general, satisfying non-functional requirements is a difficult task and often achieved in part by optimizing compilers. However, modern compilers are in general not always able to produce semantically equivalent alternatives that optimize non-functional properties, even if such alternatives are known to exist: this is usually due to the limited local nature of such optimizations. In this paper, we discuss how best to combine and extend the existing evolutionary methods of GP, multiobjective optimization, and coevolution in order to improve existing software. Given as input the implementation of a function, we attempt to evolve a semantically equivalent version, in this case optimized to reduce execution time subject to a given probability distribution of inputs. We demonstrate that our framework is able to produce non-obvious optimizations that compilers are not yet able to generate on eight example functions. We employ a coevolved population of test cases to encourage the preservation of the function's semantics. We exploit the original program both through seeding of the population in order to focus the search, and as an oracle for testing purposes. As well as discussing the issues that arise when attempting to improve software, we employ rigorous experimental method to provide interesting and practical insights to suggest how to address these issues
Multi-objective improvement of software using co-evolution and smart seeding
Optimising non-functional properties of software is an important part of the implementation process. One such property is execution time, and compilers target a reduction in execution time using a variety of optimisation techniques. Compiler optimisation is not always able to produce semantically equivalent alternatives that improve execution times, even if such alternatives are known to exist. Often, this is due to the local nature of such optimisations. In this paper we present a novel framework for optimising existing software using a hybrid of evolutionary optimisation techniques. Given as input the implementation of a program or function, we use Genetic Programming to evolve a new semantically equivalent version, optimised to reduce execution time subject to a given probability distribution of inputs. We employ a co-evolved population of test cases to encourage the preservation of the programâs semantics, and exploit the original program through seeding of the population in order to focus the search. We carry out experiments to identify the important factors in maximising efficiency gains. Although in this work we have optimised execution time, other non-functional criteria could be optimised in a similar manner
High-Level Object Oriented Genetic Programming in Logistic Warehouse Optimization
DisertaÄnĂ prĂĄce je zamÄĹena na optimalizaci prĹŻbÄhu pracovnĂch operacĂ v logistickĂ˝ch skladech a distribuÄnĂch centrech. HlavnĂm cĂlem je optimalizovat procesy plĂĄnovĂĄnĂ, rozvrhovĂĄnĂ a odbavovĂĄnĂ. JelikoĹž jde o problĂŠm patĹĂcĂ do tĹĂdy sloĹžitosti NP-teĹžkĂ˝, je vĂ˝poÄetnÄ velmi nĂĄroÄnĂŠ nalĂŠzt optimĂĄlnĂ ĹeĹĄenĂ. MotivacĂ pro ĹeĹĄenĂ tĂŠto prĂĄce je vyplnÄnĂ pomyslnĂŠ mezery mezi metodami zkoumanĂ˝mi na vÄdeckĂŠ a akademickĂŠ pĹŻdÄ a metodami pouĹžĂvanĂ˝mi v produkÄnĂch komerÄnĂch prostĹedĂch. JĂĄdro optimalizaÄnĂho algoritmu je zaloĹženo na zĂĄkladÄ genetickĂŠho programovĂĄnĂ ĹĂzenĂŠho bezkontextovou gramatikou. HlavnĂm pĹĂnosem tĂŠto prĂĄce je a) navrhnout novĂ˝ optimalizaÄnĂ algoritmus, kterĂ˝ respektuje nĂĄsledujĂcĂ optimalizaÄnĂ podmĂnky: celkovĂ˝ Äas zpracovĂĄnĂ, vyuĹžitĂ zdrojĹŻ, a zahlcenĂ skladovĂ˝ch uliÄek, kterĂŠ mĹŻĹže nastat bÄhem zpracovĂĄnĂ ĂşkolĹŻ, b) analyzovat historickĂĄ data z provozu skladu a vyvinout sadu testovacĂch pĹĂkladĹŻ, kterĂŠ mohou slouĹžit jako referenÄnĂ vĂ˝sledky pro dalĹĄĂ vĂ˝zkum, a dĂĄle c) pokusit se pĹedÄit stanovenĂŠ referenÄnĂ vĂ˝sledky dosaĹženĂŠ kvalifikovanĂ˝m a trĂŠnovanĂ˝m operaÄnĂm manaĹžerem jednoho z nejvÄtĹĄĂch skladĹŻ ve stĹednĂ EvropÄ.This work is focused on the work-flow optimization in logistic warehouses and distribution centers. The main aim is to optimize process planning, scheduling, and dispatching. The problem is quite accented in recent years. The problem is of NP hard class of problems and where is very computationally demanding to find an optimal solution. The main motivation for solving this problem is to fill the gap between the new optimization methods developed by researchers in academic world and the methods used in business world. The core of the optimization algorithm is built on the genetic programming driven by the context-free grammar. The main contribution of the thesis is a) to propose a new optimization algorithm which respects the makespan, the utilization, and the congestions of aisles which may occur, b) to analyze historical operational data from warehouse and to develop the set of benchmarks which could serve as the reference baseline results for further research, and c) to try outperform the baseline results set by the skilled and trained operational manager of the one of the biggest warehouses in the middle Europe.
Genetic programming for the automatic design of controllers for a surface ship
In this paper, the implementation of genetic programming (GP) to design a contoller structure is assessed. GP is used to evolve control strategies that, given the current and desired state of the propulsion and heading dynamics of a supply ship as inputs, generate the command forces required to maneuver the ship. The controllers created using GP are evaluated through computer simulations and real maneuverability tests in a laboratory water basin facility. The robustness of each controller is analyzed through the simulation of environmental disturbances. In addition, GP runs in the presence of disturbances are carried out so that the different controllers obtained can be compared. The particular vessel used in this paper is a scale model of a supply ship called CyberShip II. The results obtained illustrate the benefits of using GP for the automatic design of propulsion and navigation controllers for surface ships
Automating biomedical data science through tree-based pipeline optimization
Over the past decade, data science and machine learning has grown from a
mysterious art form to a staple tool across a variety of fields in academia,
business, and government. In this paper, we introduce the concept of tree-based
pipeline optimization for automating one of the most tedious parts of machine
learning---pipeline design. We implement a Tree-based Pipeline Optimization
Tool (TPOT) and demonstrate its effectiveness on a series of simulated and
real-world genetic data sets. In particular, we show that TPOT can build
machine learning pipelines that achieve competitive classification accuracy and
discover novel pipeline operators---such as synthetic feature
constructors---that significantly improve classification accuracy on these data
sets. We also highlight the current challenges to pipeline optimization, such
as the tendency to produce pipelines that overfit the data, and suggest future
research paths to overcome these challenges. As such, this work represents an
early step toward fully automating machine learning pipeline design.Comment: 16 pages, 5 figures, to appear in EvoBIO 2016 proceeding
- âŚ