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

📄 mygaview.h

📁 一个遗传算法的程序
💻 H
字号:
// MyGAView.h : interface of the CMyGAView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MYGAVIEW_H__1DF1808A_2647_44BE_BF43_11B4FC342A5D__INCLUDED_)
#define AFX_MYGAVIEW_H__1DF1808A_2647_44BE_BF43_11B4FC342A5D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "xx1.h"
class CMyGAView : public CScrollView
{
protected: // create from serialization only
	CMyGAView();
	DECLARE_DYNCREATE(CMyGAView)

// Attributes
public:
	CMyGADoc* GetDocument();
	CWinThread *m_pGAFun,*m_pMonteCarlo;
	CString m_strResult;
	CString m_strSetup;
	BOOL m_bParaChanged,m_bAutoScroll,m_bLowSpeed;
	int m_iShowSelect;
	FILE *m_pFile,*m_pMCFile;
	CStringList m_strList;
	CStatusBar *m_pStatus;
	COLORREF m_color[2];
	//GA result statics
	long  MaxGens,MinGens,lGeneration;
	int OKCount,CalCount;
	double AverGens,AverGens2,StdDevGens;
	double AverFunCall,AverFunCall2,StdDevFunCall;
	double AverTime,AverTime2,StdDevTime;
	double AverEqC,AverEqC2,StdDevEqC;
	double BestFitness,AverBest,AverBest2,StdDevBest;
	int m_iLine;       //行数
	int m_iLineHeight;  //行高度
	int m_iPageLine;  //每页行数
	BOOL	m_bAllOptimaFitness;
	BOOL	m_bAllOptimaGene;
	BOOL	m_bAllSubpopFitness;
	BOOL	m_bAllSubpopGene;
	BOOL	m_bSubpop1;
	BOOL	m_bSubpop2;
	BOOL	m_bSubpop3;
	int		m_iSubpop3;
	int		m_iSubpop1;
	int		m_iSubpop2;

// Operations
public:
	int AddOptima(CIndividual &ind);
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMyGAView)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	virtual void OnInitialUpdate(); // called first time after construct
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMyGAView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CMyGAView)
	afx_msg void OnCalStop();
	afx_msg void OnCalStart();
	afx_msg void OnCalPause();
	afx_msg void OnCALSetting();
	afx_msg void OnFunSelect();
	afx_msg void OnUpdateCalStart(CCmdUI* pCmdUI);
	afx_msg void OnUpdateCalPause(CCmdUI* pCmdUI);
	afx_msg void OnUpdateCalStop(CCmdUI* pCmdUI);
	afx_msg void OnUpdateCalSetting(CCmdUI* pCmdUI);
	afx_msg void OnUpdateFunSelect(CCmdUI* pCmdUI);
	afx_msg void OnDispSet();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnClrResult();
	afx_msg void OnSubpopSet();
	afx_msg void OnUpdateSubpopSet(CCmdUI* pCmdUI);
	afx_msg void OnFuncal();
	afx_msg void OnParaShow();
	afx_msg void OnMCStart();
	afx_msg void OnMCPause();
	afx_msg void OnMCStop();
	afx_msg void OnUpdateMCStop(CCmdUI* pCmdUI);
	afx_msg void OnUpdateMCStart(CCmdUI* pCmdUI);
	afx_msg void OnUpdateMCPause(CCmdUI* pCmdUI);
	//}}AFX_MSG
	afx_msg long OnGAFinished(WPARAM wParam,LPARAM lParam);
	afx_msg long OnGAResult(WPARAM wParam,LPARAM lParam);
	afx_msg long OnGAPause(WPARAM wParam,LPARAM lParam);
	afx_msg long OnMCResult(WPARAM wParam,LPARAM lParam);
	afx_msg long OnMCFinished(WPARAM wParam,LPARAM lParam);
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  // debug version in MyGAView.cpp
inline CMyGADoc* CMyGAView::GetDocument()
   { return (CMyGADoc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////
// CSetupDlg dialog

class CSetupDlg : public CDialog
{
// Construction
public:
	CSetupDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CSetupDlg)
	enum { IDD = IDD_SETUP };
	int		m_iSaveType;
	int		m_iRepeatNumber;
	UINT	m_NoNewNum;
	long	m_MaxFunCall;
	double	m_SubpopRadius;
	UINT	m_MaxOptimaNum;
	UINT	m_SubpopNum;
	int		m_MuteType;
	int		m_ReproduceType;
	int		m_iESType;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CSetupDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CSetupDlg)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// CFunSelDlg dialog

class CFunSelDlg : public CDialog
{
// Construction
public:
	CFunSelDlg(CWnd* pParent = NULL);   // standard constructor
//	~CFunSelDlg(){m_strList.RemoveAll();}
// Dialog Data
	//{{AFX_DATA(CFunSelDlg)
	enum { IDD = IDD_FUNSEL };
	int		m_iFunSel;
	int		m_iVarNum;
	double	m_dLower;
	double	m_dUpper;
	double	m_dOptima;
	double	m_dAccuracy;
	CString	m_strDescription;
	int		m_iFunSelx;
	long	m_lMonteCarloNum;
	BOOL	m_bSave;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFunSelDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CFunSelDlg)
	afx_msg void OnSelchange();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CDisplayDlg dialog

class CDisplayDlg : public CDialog
{
// Construction
public:
	CDisplayDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CDisplayDlg)
	enum { IDD = IDD_DISPLAY };
	int		m_iResultInterval;
	BOOL	m_bAutoScroll;
	BOOL	m_bAllOptimaFitness;
	BOOL	m_bAllOptimaGene;
	BOOL	m_bAllSubpopFitness;
	BOOL	m_bAllSubpopGene;
	BOOL	m_bSubpop1;
	BOOL	m_bSubpop2;
	BOOL	m_bSubpop3;
	int		m_iSubpop3;
	int		m_iSubpop1;
	int		m_iSubpop2;
	BOOL	m_bLowSpeed;
	long	m_lBreakPos;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDisplayDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CDisplayDlg)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CSubpopSetDlg dialog

class CSubpopSetDlg : public CDialog
{
// Construction
public:
	CSubpopSetDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CSubpopSetDlg)
	enum { IDD = IDD_SUBPOP };
	long	m_Gap;
	long	m_NoEvolveGen;
	long	m_MaxGen;
	double	m_SigmaCoe;
	double	m_MinSigma;
	int		m_Lumda;
	int		m_Kap;
	int		m_Mu;
	double	m_Sigma0;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CSubpopSetDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CSubpopSetDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CFunCalDlg dialog

class CFunCalDlg : public CDialog
{
// Construction
public:
	CFunCalDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CFunCalDlg)
	enum { IDD = IDD_FUNCAL };
	double	m_x1;
	double	m_x2;
	double	m_x3;
	double	m_x4;
	double	m_result;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFunCalDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CFunCalDlg)
	afx_msg void OnFuncal();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// GAParaShowDlg dialog

class CParaShowDlg : public CDialog
{
// Construction
public:
	CParaShowDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(GAParaShowDlg)
	enum { IDD = IDD_SHOWGAPARA };
	CString	m_strPara;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CParaShowDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CParaShowDlg)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MYGAVIEW_H__1DF1808A_2647_44BE_BF43_11B4FC342A5D__INCLUDED_)

⌨️ 快捷键说明

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