The following is an example of parameter file for running ECJ.
#No. of breeding threads, in general, it is set it to match the
#no. of cores or
#processors running on the computer
breedthreads = 1
#No. of evaluation threads
evalthreads = 1
#Setting the seed to ensure ECJ to produce the exact same
#results.
seed.0 = 4357
# This setup the evolution state, which is created by ec.Evolve
# for performing evolutionary process.
# However, prior to create the ec.EvolutionState, ec.Evolve will
# create the following objects beforehand.
# i . Parameter Database, which holds all parameters
# that ec.EvolutionState uses to build and process
# ii. Output, e.g. out.stat
# iii. Checkpointing Facility
# iv. No. of Threads, and random number generators,
# one per thread
# v. No. of Jobs
state = ec.simple.SimpleEvolutionState
# Load class for population holding the individuals in the evolutionary process
pop = ec.Population
# Load class for Initializer to create the initial population
# ec.simple.SimpleInitializer is the only known class
init = ec.simple.SimpleInitializer
# Finisher for clean up job at the very end of the run
# ec.simple.SimpleFinisher is the only known class
finish = ec.simple.SimpleFinisher
# Breeder for creating new population based on existing
# population using mutation and/or crossover
# There are four types of breeder in ECJ including:
# DEBreeder, MuCommaLambdaBreeder, PSOBreeder, SimpleBreeder
breed = ec.simple.SimpleBreeder
# For assigning qualifier to each member of the Population
# There are four types of evaluator in ECJ including:
# CompetitiveEvaluator, MultiPopCoevolutionaryEvaluator,
# SimpleEvaluator
eval = ec.simple.SimpleEvaluator
# For statistics generation
# ChartableStatistics, RandomRestarts, SimpleShortStatistics,
# SimpleStatistics, TarpeianStatistics
stat = ec.simple.SimpleStatistics
# For importing / exporting individuals from/to the population
# InterPopulationExchange, IslandExchange, SimpleExchanger
exch = ec.simple.SimpleExchanger
# Parameters for the EvolutionState
generations = 1000
# whether or not to quit ECJ when it finds an ideal individual.
# otherwise, it will continue until it runs out of generation.
quit-on-run-complete = false
# checkpointing is a facility to save state of process to a file
checkpoint = false
checkpoint-prefix = ec
# modulo tells by how many generation it will create one
# checkpoint file
checkpoint-modulo = 1
# Output file
stat.file = $out.stat
# No. of population
pop.subpops = 1
# Class of the population subpop.0, which is a repository of
# individuals
pop.subpop.0 = ec.Subpopulation
# Size of the subpop.0
pop.subpop.0.size = 50
# This tells ECJ not to regenerate individual if it is
# duplicate.
pop.subpop.0.duplicate-retries = 0
# Species of the individual
pop.subpop.0.species = ec.vector.BitVectorSpecies
# Define the fitness model and ec.simple.SimpleFitness defines
# fitness values from 0.0 inclusive to infinity exclusive,
# where 0.0 is the worst fitness
# Further, it can define an ideal fitness to any value
# other than 0.
# There are three types of fitness in
# ECJ KozaFitness, MultiObjectiveFitness, SimpleFitness
pop.subpop.0.species.fitness = ec.simple.SimpleFitness
# Define representation
# The type of individual in the species
pop.subpop.0.species.ind = ec.vector.BitVectorIndividual
# Parameters of the species
pop.subpop.0.species.genome-size = 200
pop.subpop.0.species.crossover-type = one
pop.subpop.0.species.crossover-prob = 0.3
pop.subpop.0.species.mutation-prob = 0.01
# Define pipeline for creating new individuals
# Top node is a vector mutation pipe
pop.subpop.0.species.pipe = ec.vector.breed.VectorMutationPipeline
# Lower node is a vector crossover pipe
pop.subpop.0.species.pipe.source.0 = ec.vector.breed.VectorCrossoverPipeline
# Define two sources of individual for the crossover using tournament selection
pop.subpop.0.species.pipe.source.0.source.0 = ec.select.TournamentSelection
pop.subpop.0.species.pipe.source.0.source.1 = same
# set tournament size to 2 for all tournament cases
select.tournament.size = 2
# set the fitness function
eval.problem = ec.app.tutorial1.MaxOnes
BC IT Outsourcing 2023/24
-
OK, it has been a while since the last time I published this data, but I have
a valid excuse.
The most striking feature of the 2024 chart is the zero’ing...
1 年前
