crossover.hpp

来自「遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生」· HPP 代码 · 共 55 行

HPP
55
字号
/***************************************************************/* Single & Multi-Objective Real-Coded Genetic Algorithms Code *//* Author: Kumara Sastry                                       *//* Illinois Genetic Algorithms Laboratory (IlliGAL)            *//* Deparment of General Engineering                            *//* University of Illinois at Urbana-Champaign                  *//* 104 S. Mathews Ave, Urbana, IL 61801                        *//***************************************************************/#ifndef _CROSSOVER_H#define _CROSSOVER_H#include "individual.hpp"#include "globalSetup.hpp"#include "random.hpp"#include <iostream>#include <math.h>class Crossover {protected:  void deterministicCrowding(Individual *parent1, Individual *parent2, Individual *child1, Individual *child2);public:  virtual void crossover(Individual *parent1, Individual *parent2)=0;};class OneTwoPointCrossover : public Crossover {private:  int noOfPoints;public:  OneTwoPointCrossover(int numPoints);  void crossover (Individual *parent1, Individual *parent2);};class UniformCrossover: public Crossover {private:  double genewiseProbability;public:  UniformCrossover(void);  UniformCrossover(double geneProb);  void crossover (Individual *parent1, Individual *parent2);};class SimulatedBinaryCrossover: public Crossover {private:  double genewiseProbability;public:  SimulatedBinaryCrossover(void);  SimulatedBinaryCrossover(double geneProb);  void crossover (Individual *parent1, Individual *parent2);};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?