cc-by-sa license; get it from http://goo.gl/U4fgHd
(function do_ea() {
eo.generation();
generation_count++;
if ( (generation_count % 100 === 0) ) {
do_periodic_stuff()
}
if( (eo.fitness_of[eo.population[0]] < traps*conf.fitness.b )
&& ( generation_count*conf.population_size < conf.max_evaluations)) {
setTimeout(do_ea, 5);
} else {
we_are_done();
}
})();
generate_population();
do_evolution();
function do_evolution(){
single_generation();
if (time_to_migrate()) {
migrate_out();
migrate_in();
}
if ( !evolution_end() ) {
do_after_callbacks( do_evolution);
}
}
do {
eo.generation();
generation_count++;
} while ( eo.not_finished() && eo.current_run());
if ( conf.peers ) {
var peer_url = conf.peers[ Math.floor(Math.random()*conf.peers.length )];
rest.get( peer_url+"/best" ).on('success', function(result) {
eo.incorporate( result.chromosome );
});
}
total_generations += generation_count;
if ( eo.way_to_go() ) {
setImmediate( generations );
} else {
eo.we_re_done();
process.exit();
}
generation_count++;
eo.generation();
if ( generation_count % conf.generation_run === 0 ) {
rest.put( pool_url+"/one/" + eo.population[0])
.on('complete', function(result) {
if ( result instanceof Error ) {log_errer(); }
});
rest.get( pool_url+"/random" )
.on('complete', function(result) {
else {
if ( result.chromosome) {
eo.incorporate( result.chromosome );
}
}
});
Use arrows for navigation