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

📄 antcolony.h

📁 蚁群算法在数值方法中的应用以及求解最优化函数的极值问题
💻 H
字号:
// Antcolony.h: interface for the Antcolony class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ANTCOLONY_H__DAFEC8E4_3997_4FAE_82D1_5277BD5FFD89__INCLUDED_)
#define AFX_ANTCOLONY_H__DAFEC8E4_3997_4FAE_82D1_5277BD5FFD89__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <stdlib.h>
#include <math.h>
#include <iostream.h>

class Antcolony  
{


private: 

	double m_randseed;         //随机种子
	int    m_number;           //参数个数
	double m_enum;             //参数划分成的块数
	int    m_ant;              //蚂蚁的总数
	double m_maxscope[10];     //各参数最大值
	double m_minscope[10];     //各参数最小值
	double m_averagescope[10]; //各参数的步长
    double m_tabu[21][2];      //第一个变量:第i个蚂蚁所选第一个参数的块,
    
	double m_tempaffect[21][2];//每个因子的影响度,                         //第二个变量:第i个蚂蚁所选第二个参数的块,值表示试验后的函数值
   
	double m_block[21][2];     //把参数分成n等份,确定每个块内的数值大小
	double m_affect[21][2];   //各参数的影响因子

	double m_seescope[21][2]; //每个块内的能见度
	double m_pheromne[21][2]; //每个块内的信息素
	double m_deltapheromne[21][2];//每个块的信息素变化
	double m_ptrans[21][2];   //每个块的转移概率
	float  m_precision;        //要求计算精度
	double m_sumcut;           //离差平方和
	int    m_sign;             //当停止搜索时,禁忌表m_tabu内第m_sign个蚂蚁所周游到的参数为优化值
//	int    m_column[20][2];	   //第i个蚂蚁所占的列数
    //第i 个蚂蚁所占的行数;
	

private:
	int    randomint(int low, int high);
	double randomperc(double *);
	void   fvalue();//计算函数值
    void   seescope();//能见度
	void   pheromne();//信息素
	void   ptrans();//转移概率
	//void   sumcut();//离差平方和
	double f(double a,double b);//函数
	void   travel();//根据概率周游


public:
	double m_value[31];//最终被选中的参数值
		double m_fvalue[21];       //第i个蚂蚁的函数值
    int	   m_row[21][2];   
	Antcolony();
	double f1;

	virtual ~Antcolony();
	void Antalgorithm();
   
	
};

#endif // !defined(AFX_ANTCOLONY_H__DAFEC8E4_3997_4FAE_82D1_5277BD5FFD89__INCLUDED_)

⌨️ 快捷键说明

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