⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operators_nsga2.h

📁 多目标优化进化算法目前公认效果收敛性最好的算法NSGA2c++源码,具有一般性
💻 H
字号:
///////////////////////////////////////////////////////////////////
/*****************************************************************
Copyright: Artificial Life and Adaptive Robotics Laboratory - ALAR
School of ITEE, UNSW@ADFA, Australia, 2005
*******************************************************************/
///////////////////////////////////////////////////////////////////#if !defined(_NSGA2)#define _NSGA2#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include "population.h"#include "Random.h"#include "objective.h"#include "movpeaks.h"extern double global_max;
extern double maxheight;class operators_NSGA2  {public:
	void init(double _pc,double _pm,int ObjID);

	double eDistance(individual &id1, individual &id2);	void add_secondobjective(population &pop, int pop_size);
	void re_evaluate(individual &id);
	void setAge();	void Evolve(int population_size, int N_generation, int SEED, int n_Genes,int n_Objs,int *GSize,double *Ub,double *Lb);	void combination(population &Q,population &P);	void set_objectivevalue(individual &id,double *real_params);	void initialize_population(const int n_Genes,int n_Objs,int *GSize,double *Ub,double *Lb,population &pop);	static void copyarray(unsigned int *&d,unsigned int *s,int size);	void set_objectivevalue_maxmin(population &p, int size);	void crowding_sort(population &F, int sort);		void mutation(population &pop);	void crossover(population &pop);	void selection(population &q,population &p);  // crowded selection	operators_NSGA2(){pc=1;pm=0;obj.setObjID(1); max_values=NULL;min_values=NULL;}	operators_NSGA2(double _pc,double _pm,int ObjID)	{		init(_pc,_pm,ObjID);	}	virtual ~operators_NSGA2();		population newpop;  // temp;	population P;    // parrent population: size N	population Q;    // offspring population: size N	population F;    // sub population //private:	int n_SEED,n_GEN;	objective obj;	Random rnd;   //random generator	double pc;	double pm;	double *min_values;	double *max_values;	//int lastrun;	//double dev;	int objID;	int N_evals;	int genNo;};	#endif // !defined(_NSGA2)

⌨️ 快捷键说明

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