示例#1
0
 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);
     }
 }
示例#2
0
 public function __construct($settings)
 {
     $this->iterations = $settings['iterations'];
     $populationClass = Module\getClassOfModule('Population', NULL, $this);
     $this->population = new $populationClass($settings);
 }
示例#3
0
 public function run($shortName, $settings)
 {
     self::load($shortName);
     $gaClass = 'Gask\\' . Module\getClassOfModule('GeneticAlgorithm', $shortName);
     return (new $gaClass($settings))->run();
 }