📄 pso1darraysolution.h
字号:
#ifndef _PSO1DARRAYSOLUTION_
#define _PSO1DARRAYSOLUTION_
#include <vector>
using namespace std;
#include "CommonBase.h"
#include "PopSolution.h"
class PSO1DArraySolution : public PopSolution
{
public:
UOFIdentity("PSO1DArraySolution class",1);
public:
PSO1DArraySolution(size_t length, UOFInitializer *init, UOFEvaluator *eval);
PSO1DArraySolution(UOFInitializer *init, UOFEvaluator *eval);
PSO1DArraySolution(const PSO1DArraySolution&);
PSO1DArraySolution& operator=(const PSO1DArraySolution&);
virtual double score()
{
m_score = (*m_pEval)(static_cast<void*>(&(this->m_Array)));
if(m_BestScore > m_score)
{
m_Best = m_Array;
m_BestScore = m_score;
}
return m_score;
}
virtual ~PSO1DArraySolution();
virtual PSO1DArraySolution* clone() const;
virtual void copy(const PSO1DArraySolution&);
virtual void PrintSelf(ostream& os);
virtual void SelfInit();
public:
double m_BestScore;
vector<double> m_Array;
vector<double> m_Best;
vector<double> m_Velo;
public:
Move *m_pMove;
public:
class MyPSOMove : public Move
{
public:
virtual int operator()(PopSolution* bp, PopSolution* p1, double w, double c1, double c2);
};
};
inline ostream& operator <<(ostream& os, PSO1DArraySolution& s){s.PrintSelf(os); return os;}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -