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

📄 pso.h

📁 标准pso算法
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -