附录C 基本算法
C.1 二进制编码的简单遗传算法源程序
// SCCADlg.cpp : implementation file
#include \#include \#include \#include \#include
#ifdef _DEBUG
#define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About
class CAboutDlg : public CDialog { public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA
// ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // //}}AFX_VIRTUAL
// Implementation protected:
DDX/DDV support 1
//{{AFX_MSG(CAboutDlg) //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) {
//{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT }
void CAboutDlg::DoDataExchange(CDataExchange* pDX) {
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP }
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////////////// // CSCCADlg dialog
CSCCADlg::CSCCADlg(CWnd* pParent /*=NULL*/) : CDialog(CSCCADlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSCCADlg) m_N = 0; m_c = 0; m_ge = 0; m_zz = 0.0; m_x2 = 0.0; m_x3 = 0.0; m_x4 = 0.0; m_x5 = 0.0; m_y1 = 0.0; m_y2 = 0.0; m_y3 = 0.0; m_y4 = 0.0;
m_y5 = 0.0;
2
}
m_fev = 0; m_now = 0; m_SP2 = _T(\m_x1 = 0; m_PP2 = _T(\m_Pm = 0.0; m_Pc = 0.0;
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
void CSCCADlg::DoDataExchange(CDataExchange* pDX) {
CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSCCADlg)
DDX_Control(pDX, IDC_LIST1, m_PP); DDX_Control(pDX, IDC_COMBO1, m_SP); DDX_Text(pDX, IDC_EDIT1, m_N); DDX_Text(pDX, IDC_EDIT2, m_c); DDX_Text(pDX, IDC_EDIT3, m_ge); DDX_Text(pDX, IDC_EDIT7, m_zz); DDX_Text(pDX, IDC_EDIT9, m_x2);
DDX_Text(pDX, IDC_EDIT10, m_x3); DDX_Text(pDX, IDC_EDIT11, m_x4); DDX_Text(pDX, IDC_EDIT12, m_x5); DDX_Text(pDX, IDC_EDIT13, m_y1); DDX_Text(pDX, IDC_EDIT14, m_y2); DDX_Text(pDX, IDC_EDIT15, m_y3); DDX_Text(pDX, IDC_EDIT16, m_y4); DDX_Text(pDX, IDC_EDIT17, m_y5);
DDX_Text(pDX, IDC_EDIT6, m_fev); DDX_CBString(pDX, IDC_COMBO1, m_SP2); DDX_Text(pDX, IDC_EDIT8, m_x1); DDX_LBString(pDX, IDC_LIST1, m_PP2); DDX_Text(pDX, IDC_EDIT4, m_Pm); DDX_Text(pDX, IDC_EDIT18, m_now);
DDX_Text(pDX, IDC_EDIT19, m_Pc); //}}AFX_DATA_MAP }
BEGIN_MESSAGE_MAP(CSCCADlg, CDialog) //{{AFX_MSG_MAP(CSCCADlg) ON_WM_SYSCOMMAND()
3
基本遗传算法源程序



