⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ga_optq2.h

📁 利用多面函数拟合法来拟合似大地水准面
💻 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 + -