📄 yichuan.h
字号:
// YiChuan.h: interface for the CYiChuan class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_YICHUAN_H__F7FA5138_DC36_4D76_B90C_B37117D01192__INCLUDED_)
#define AFX_YICHUAN_H__F7FA5138_DC36_4D76_B90C_B37117D01192__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "StringResolution.h"
struct individual
{
char chrom[200];
double value;
double fitness;
};
class CYiChuan
{
public:
CYiChuan(CString stringstr,int chromlength1,int Popsize1,int generation1,int*lengthi1,double*leftlimit1,double*rightlimit1,double Cmax1,double pc1,double pm1)
{
string=stringstr;
chromlength=chromlength1;
Popsize=Popsize1;
generation=generation1;
lengthi=lengthi1;
leftlimit=leftlimit1;
rightlimit=rightlimit1;
Cmax=Cmax1;
pc=pc1;
pm=pm1;
}
double average;
double*parater;
int generation;
double shuijihanshu();//随机函数
void InisialPopulation();//初始化
double JieMa(char*chrom,int point,int length);//解码
void JinHuaComputer();//进化计算
void MuBiaoComputer();//目标值计算
void ShiYingComputer();//适应值计算
void ZhuiIdividual(); //最优个体
void NextPopulation();//产生下一代
void SelectionOperator();//选择算子
void CrossoverOperator();//交叉算子
void MutationOperation();//变异算子
void ZhiXingOperation();//执行算子
void ShowResult();//显示
individual *population;
individual Currentbest;
individual Currentworst;
individual bestindividual;
virtual ~CYiChuan();
protected:
CString string;
int BestIndex;
int WorstIndex;
int chromlength;
int Popsize;
int*lengthi;
double*leftlimit;
double*rightlimit;
double Cmax;
double pc;
double pm;
CStringResolution m_formular;
};
#endif // !defined(AFX_YICHUAN_H__F7FA5138_DC36_4D76_B90C_B37117D01192__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -