📄 gabasesolver.cpp
字号:
#include "GABaseSolver.h"#include "PopSolution.h"#include "UOFProblem.h"#include "GA1DArraySolution.h"#include <functional>#include <algorithm>#include <iostream>using namespace std;bool MinScore(UOFSolution *a, UOFSolution *b){ PopSolution *a1 = dynamic_cast<PopSolution*>(a); PopSolution *a2 = dynamic_cast<PopSolution*>(b); return (a1->GetScore() < a2->GetScore());}int GABaseSolver::MyRankingSelector::operator()(vector<PopSolution*> &src, vector<PopSolution*> &result){ for(size_t i=0;i<result.size();i++) { result[i] = src[i]->clone(); } return 1;}GABaseSolver::GABaseSolver(PopSolution& src,size_t size): PopBaseSolver(src,size){ GA1DArraySolution *psrc = dynamic_cast<GA1DArraySolution*>(&src); m_pCros = psrc->m_pCros; m_pMutr = psrc->m_pMutr; static MyRankingSelector rs; m_pSlct = &rs; static TerminateUponScoreIteration Term; //static TerminateUponConvergence Term; //static TerminateUponScoreTime Term; m_pTerm = &Term; m_MutationRate = 0.6; m_CrossoverRate = 0.6; m_SelectionRate = 0.4; m_NewSpringRate = 0.3; m_Record.SetUpdateFreq(1); m_Record.outputConvergenceEveryUpdate(true); m_Record.convergenceFilename("Conv.txt"); m_Record.outputResultEveryUpdate(true); m_Record.paramFilename("Param.txt");}GABaseSolver::~GABaseSolver(){}void GABaseSolver::Initialization(){ //
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -