Java Evolutionary Computation Toolkit
   HOME





Java Evolutionary Computation Toolkit
ECJ is a freeware evolutionary computation research system written in Java. It is a framework that supports a variety of evolutionary computation techniques, such as genetic algorithms, genetic programming, evolution strategies, coevolution, particle swarm optimization, and differential evolution. The framework models iterative evolutionary processes using a series of pipelines arranged to connect one or more subpopulations of individuals with selection, breeding (such as crossover, and mutation operators that produce new individuals. The framework is open source and is distributed under the Academic Free License. ECJ was created bSean Luke a computer science professor at George Mason University, and is maintained by Sean Luke and a variety of contributors. Features (listed froECJ's project page: General Features: * GUI with charting * Platform-independent checkpointing and logging * Hierarchical parameter files * Multithreading * Mersenne Twister Random Number Generators * Ab ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Evolutionary Computation
Evolutionary computation from computer science is a family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial and error problem solvers with a metaheuristic or stochastic optimization character. In evolutionary computation, an initial set of candidate solutions is generated and iteratively updated. Each new generation is produced by stochastically removing less desired solutions, and introducing small random changes as well as, depending on the method, mixing parental information. In biological terminology, a population of solutions is subjected to natural selection (or artificial selection), mutation and possibly recombination. As a result, the population will gradually evolve to increase in fitness, in this case the chosen fitness function of the algorithm. Evolutionary computation techni ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Genetic Algorithms
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems via biologically inspired operators such as selection, crossover, and mutation. Some examples of GA applications include optimizing decision trees for better performance, solving sudoku puzzles, hyperparameter optimization, and causal inference. Methodology Optimization problems In a genetic algorithm, a population of candidate solutions (called individuals, creatures, organisms, or phenotypes) to an optimization problem is evolved toward better solutions. Each candidate solution has a set of properties (its chromosomes or genotype) which can be mutated and altered; traditionally, solutions are represented in binary as strings of 0s and 1s, but other encodi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Genetic Programming
Genetic programming (GP) is an evolutionary algorithm, an artificial intelligence technique mimicking natural evolution, which operates on a population of programs. It applies the genetic operators selection (evolutionary algorithm), selection according to a predefined fitness function, fitness measure, mutation (evolutionary algorithm), mutation and crossover (evolutionary algorithm), crossover. The crossover operation involves swapping specified parts of selected pairs (parents) to produce new and different offspring that become part of the new generation of programs. Some programs not selected for reproduction are copied from the current generation to the new generation. Mutation involves substitution of some random part of a program with some other random part of a program. Then the selection and other operations are recursively applied to the new generation of programs. Typically, members of each new generation are on average more fit than the members of the previous gene ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Evolution Strategies
Evolution strategy (ES) from computer science is a subclass of evolutionary algorithms, which serves as an optimization (mathematics), optimization technique. It uses the major genetic operators mutation (evolutionary algorithm), mutation, recombination (evolutionary algorithm), recombination and selection (evolutionary algorithm), selection of parents. History The 'evolution strategy' optimization technique was created in the early 1960s and developed further in the 1970s and later by Ingo Rechenberg, Hans-Paul Schwefel and their co-workers. Methods Evolution strategies use natural problem-dependent representations, so Genetic representation, problem space and Genetic representation, search space are identical. In common with evolutionary algorithms, the operators are applied in a loop. An iteration of the loop is called a generation. The sequence of generations is continued until a termination criterion is met. The special feature of the ES is the self-adaptation of mutation ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Coevolution
In biology, coevolution occurs when two or more species reciprocally affect each other's evolution through the process of natural selection. The term sometimes is used for two traits in the same species affecting each other's evolution, as well as gene-culture coevolution. Charles Darwin mentioned evolutionary interactions between flowering plants and insects in ''On the Origin of Species'' (1859). Although he did not use the word coevolution, he suggested how plants and insects could evolve through reciprocal evolutionary changes. Naturalists in the late 1800s studied other examples of how interactions among species could result in reciprocal evolutionary change. Beginning in the 1940s, plant pathologists developed breeding programs that were examples of human-induced coevolution. Development of new crop plant varieties that were resistant to some diseases favored rapid evolution in pathogen populations to overcome those plant defenses. That, in turn, required the development of ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Differential Evolution
Differential evolution (DE) is an evolutionary algorithm to optimize a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Such methods are commonly known as metaheuristics as they make few or no assumptions about the optimized problem and can search very large spaces of candidate solutions. However, metaheuristics such as DE do not guarantee an optimal solution is ever found. DE is used for multidimensional real-valued functions but does not use the gradient of the problem being optimized, which means DE does not require the optimization problem to be differentiable, as is required by classic optimization methods such as gradient descent and quasi-newton methods. DE can therefore also be used on optimization problems that are not even continuous, are noisy, change over time, etc. DE optimizes a problem by maintaining a population of candidate solutions and creating new candidate solutions by combining existing ones accor ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Selection (genetic Algorithm)
Selection is a genetic operator in an evolutionary algorithm (EA). An EA is a metaheuristic inspired by Evolution, biological evolution and aims to solve challenging problems at least Approximation, approximately. Selection has a dual purpose: on the one hand, it can choose individual genomes from a population for subsequent breeding (e.g., using the Crossover (genetic algorithm), crossover operator). In addition, selection mechanisms are also used to choose candidate solutions (individuals) for the next generation. The biological model is natural selection. Retaining the best individual(s) of one generation unchanged in the next generation is called ''elitism'' or ''elitist selection''. It is a successful (slight) variant of the general process of constructing a new population. The basis for selection is the quality of an individual, which is determined by the fitness function. In Memetic algorithm, memetic algorithms, an extension of EA, selection also takes place in the select ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Crossover (genetic Algorithm)
Crossover in evolutionary algorithms and evolutionary computation, also called recombination, is a genetic operator used to combine the chromosome (genetic algorithm), genetic information of two parents to generate new offspring. It is one way to stochastic, stochastically generate new candidate solution, solutions from an existing population, and is analogous to the chromosomal crossover, crossover that happens during sexual reproduction in biology. New solutions can also be generated by cloning (programming), cloning an existing solution, which is analogous to asexual reproduction. Newly generated solutions may be mutation (genetic algorithm), mutated before being added to the population. The aim of recombination is to transfer good characteristics from two different parents to one child. Different algorithms in evolutionary computation may use different data structures to store genetic information, and each genetic representation can be recombined with different crossover operat ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Mutation (genetic Algorithm)
In biology, a mutation is an alteration in the nucleic acid sequence of the genome of an organism, virus, or extrachromosomal DNA. Viral genomes contain either DNA or RNA. Mutations result from errors during DNA or viral replication, mitosis, or meiosis or other types of damage to DNA (such as pyrimidine dimers caused by exposure to ultraviolet radiation), which then may undergo error-prone repair (especially microhomology-mediated end joining), cause an error during other forms of repair, or cause an error during replication ( translesion synthesis). Mutations may also result from substitution, insertion or deletion of segments of DNA due to mobile genetic elements. Mutations may or may not produce detectable changes in the observable characteristics ( phenotype) of an organism. Mutations play a part in both normal and abnormal biological processes including: evolution, cancer, and the development of the immune system, including junctional diversity. Mutati ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Academic Free License
The Academic Free License (AFL) is a permissive free software license written in 2002 by Lawrence E. Rosen, a former general counsel of the Open Source Initiative (OSI). The license grants similar rights to the BSD, MIT, UoI/NCSA and Apache licenses licenses allowing the software to be made proprietary but was written to correct perceived problems with those licenses. The AFL: *makes clear what software is being licensed by including a statement following the software's copyright notice; *includes a complete copyright grant to the software; *contains a complete patent grant to the software; *makes clear that no trademark rights are granted to the licensor's trademarks; *warrants that the licensor either owns the copyright or is distributing the software under a license; *is itself copyrighted, with the right granted to copy and distribute without modification. The Free Software Foundation consider all AFL versions up to and including 3.0 as incompatible with the GNU GPL. th ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Paradiseo
ParadisEO is an object-oriented framework dedicated to the flexible design of metaheuristics. It uses EO, a template-based, ANSI-C++ compliant computation library. ParadisEO is portable across both Windows system and sequential platforms (Unix, Linux, Mac OS X, etc.). ParadisEO is distributed under the CeCill license and can be used under several environments. See also * Java Evolutionary Computation Toolkit, a toolkit to implement Evolutionary Algorithms * MOEA Framework The MOEA Framework is an open-source software, open-source evolutionary computation library for Java (programming language), Java that specializes in multi-objective optimization. It supports a variety of multiobjective evolutionary algorithms (MO ..., an open source Java framework for multiobjective evolutionary algorithms References * External links Official sitePrevious official site, at ''Paradiseo'' website at DOLPHIN project-team website Distributed computing architecture Metaheuris ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

MOEA Framework
The MOEA Framework is an open-source software, open-source evolutionary computation library for Java (programming language), Java that specializes in multi-objective optimization. It supports a variety of multiobjective evolutionary algorithms (MOEAs), including genetic algorithms, genetic programming, grammatical evolution, differential evolution, and particle swarm optimization. As a result, it has been used to conduct numerous comparative studies to assess the efficiency, reliability, and controllability of state-of-the-art MOEAs. Features The MOEA Framework is an extensible framework for rapidly designing, developing, executing, and statistically testing multiobjective evolutionary algorithms (MOEAs). It features 25 different MOEAs and over 80 test problems. New problems are defined in the MOEA Framework using one or more decision variables of a varying type. This includes common representations such as binary strings, real-valued numbers, and permutations. It additional ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]