pso.h

来自「标准pso算法」· C头文件 代码 · 共 58 行

H
58
字号
#ifndef  PSO_H
#define  PSO_H
                               
class PARTICLE
{
  public:
	double *X; 								 //微粒的位置数组
	double *V; 						    	 //微粒的速度数组
	double *pbest;                       
	int    Dim;                         	 //微粒的维数
	double Fit;                         	 //微粒适应度
    double BestFit;
    
    PARTICLE();                          
	PARTICLE(int n);                    	 //维数为参数的构造函数
                                     
    ~PARTICLE();

    void SetDim(int d);				       	 //设置微粒的维数
};

                                       		  //定义群粒子类
class PSO
{
  private:
	PARTICLE *Particle;                   	  //微粒群数组
	int PNum;                             	  //微粒个数
	int GBestIndex;                       	  //最好微粒索引
	double W;                            
	double C1;
	double C2; 
	double Xmax;                               //微粒坐标上界数组
	double Vmax;                               //微粒最大速度数	                                        //通讯函数,返回值为false时,系统停止优化 
		                                 
  public:
	PSO(); 
	PSO(int dim, int num); 

	~PSO();
	
	void Initialize();                      	//初始化群体
    void ParticleFly();            	            //微粒飞翔,产生新一代微粒
    void SetW(double w)       {W = w;}; 
	void SetC1(double c)      {C1 = c;};
	void SetC2(double c)      {C2 = c;};
    void SetXmax(double xmax) {Xmax = xmax;};                    
	void SetVmax(double vmax) {Vmax = vmax;};
            
    double GetFit(PARTICLE &);

	PARTICLE& Run(int MaxNum); 
};

#endif



⌨️ 快捷键说明

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