📄 ga_optq2.h
字号:
#if !defined(AFX_GA_OPTQ_H__A5DC82F7_5F4C_4470_9520_3E67674EC492__INCLUDED_)
#define AFX_GA_OPTQ_H__A5DC82F7_5F4C_4470_9520_3E67674EC492__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CGA_OptQ.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CGA_OptQ dialog
class CGA_OptQ : public CDialog
{
// Construction
public:
CGA_OptQ(CWnd* pParent = NULL); // standard constructor
#define POPSIZE 150
#define PARAMNUM 111
public:
double m_dParama[111],m_dParamb[111];
//double *m_dB,*m_dL,*m_dE; //已知数据
double m_dB[211],m_dL[211],m_dE[211]; //已知数据
int m_iPtNum; //已知点个数
int m_iParamNum; //待求参数个数
//double *m_dCodeB,*m_dCodeL,*m_dCodeE; //节点数据
double m_dCodeB[111],m_dCodeL[111],m_dCodeE[111]; //节点数据
int m_iCodeNum; //节点个数
double m_dAntibody[POPSIZE+1][PARAMNUM+1];
double m_dObjective[POPSIZE+1];
//double **m_dAntibody; //待求参数【种群规模】【未知参数个数】
//double *m_dObjective; //目标函数值
double m_dAbsV; //残差绝对值之和/种群规模
double q[POPSIZE+1]; //用于选择操作
public:
void GA_Initialization(void);
void GA_Evaluation(int gen);
void GA_Selection(void);
void GA_Crossover(void);
void GA_Mutation(void);
int GA_Constraint_check(double x[]);
void GA_Objective(void); //遗传算法,求目标函数
// Dialog Data
//{{AFX_DATA(CGA_OptQ)
enum { IDD = IDD_GA_OptQ };
double m_dCrosser;
CString m_strKnownFilePath;
double m_dMutation;
CString m_strParamFilePath;
double m_dq;
int m_db;
int m_iPopSize;
int m_iMaxCalcNum;
BOOL m_bOverwrite;
CString m_strOutputFilePath;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGA_OptQ)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CGA_OptQ)
afx_msg void OnCalc();
afx_msg void OnBTNOpenKnownFile();
afx_msg void OnBTNOpenParamFile();
afx_msg void OnBTNOpenOutputFile();
afx_msg void OnChangeEDTPopSize();
afx_msg void OnChangeEDTMaxCalcNum();
afx_msg void OnChangeEDTCrosser();
afx_msg void OnChangeEDTMutation();
virtual void OnCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_HARDY_GADLG_H__5B05D228_95ED_4F9E_BF80_A405FCCBB54F__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -