psosolver.cpp

来自「遗传算法vc++语言版源程序,台湾大学编写。」· C++ 代码 · 共 38 行

CPP
38
字号
#include "PSOSolver.h"
#include "PopSolution.h"
//#include "MyTerminator.h"
#include "PSO1DArraySolution.h"
//#include "MyTest.h"
#include <functional>
#include <algorithm>
#include <iostream>
using namespace std;

bool PSOMinScore(UOFSolution *a, UOFSolution *b)
{
	PopSolution	*a1 = dynamic_cast<PopSolution*>(a);
	PopSolution	*a2 = dynamic_cast<PopSolution*>(b);
	return (a1->GetScore() < a2->GetScore());
}

PSOSolver::PSOSolver(PopSolution& src,size_t size)
: PopBaseSolver(src,size)
{
	PSO1DArraySolution	*psrc = dynamic_cast<PSO1DArraySolution*>(&src);

	static PSOTerminateUponScoreIteration	Term;
	m_pTerm		= &Term;

//	static MyPSOMove pm;
	m_pMove		= psrc->m_pMove;

	m_Vc = 0.95;
	m_K1 = 0.1;
	m_K2 = 0.1;

	m_Record.SetUpdateFreq(1);
	m_Record.showEvoResultOnScreen(true);
}
void PSOSolver::Initialization()
{
	// 

⌨️ 快捷键说明

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