public function __construct($settings) { $this->selectionSize = $settings['selectionSize']; $this->mutationRate = $settings['mutationRate']; $this->crossoverRate = $settings['crossoverRate']; $individualClass = Module\getClassOfModule('Individual', NULL, $this); for ($i = 0; $i < $this->selectionSize; $i++) { $randomString = Random\getRandString(strlen($settings['solution'])); $this->population[] = new $individualClass($settings['solution'], $randomString); } }
public function __construct($settings) { $this->iterations = $settings['iterations']; $populationClass = Module\getClassOfModule('Population', NULL, $this); $this->population = new $populationClass($settings); }
public function run($shortName, $settings) { self::load($shortName); $gaClass = 'Gask\\' . Module\getClassOfModule('GeneticAlgorithm', $shortName); return (new $gaClass($settings))->run(); }