免疫算法C代码
免疫算法C代码
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define LENGTH1 10
#define LENGTH2 10
#define CHROMLENGTH LENGTH1+LENGTH2
#define POPSIZE 300
int MaxGeneration =200;
struct individual
{
char chrom[CHROMLENGTH+1];
double value;//适应度
double affective;//亲和力
double concentration;//浓度
double activity;//激励度
};
int generation;
int best_index;
struct individual population[POPSIZE];
struct individual nextpopulation[POPSIZE];
struct individual array[POPSIZE];
struct individual A;
struct individual B;
struct individual bestindividual;
struct individual currentbest;
int PopSize =80;//全局变量
double umu =0.08;//全局变量
double r =0.001;//全局变量
double rad =0.3;
int clone_total =0;//全局变量
//*****************************************************************************
void GenerateInitialPopulation();
long DecodeChromosome(char *string,int point,int length);
void CalculateObjectValue(struct individual array[],int n);
void Calculateaffective(struct individual array[],int n);
void EvaluatePopulation();
void affectivesort(struct individual array[],int n);
void clonenum();
void MutationOperator(void);
void GenerateNextPopulation(void);
double CalculateSimilarity(struct individual A,struct individual B);
void Inhibition(void);
void chongzu();
void CalculateConcentrationValue(struct individual population[],int n);
void CalculateActivityValue(struct individual population[],int n);
void activeslect();
void sortnewmember();
void PerformEvolution();
void FindBestIndividual();
void OutputTextReport();
//******************************************************************************
void main()
{
generation=0;
GenerateInitialPopulation();
EvaluatePopulation();
while(generation<MaxGeneration)
{
generation++;
GenerateNextPopulation();
EvaluatePopulation();
PerformEvolution();
OutputTextReport();
}
}
//***********************************************************************************
void GenerateInitialPopulation()
{
int i,j;
for(i=0;i<PopSize ;i++)
{
for(j=0;j<CHROMLENGTH;j++)
{
population[i].chrom[j]=(rand()%10<5)?'0':'1';
}
population[i].chrom[CHROMLENGTH]='\0';
}
}
//*******************************************************************************
void GenerateNextPopulation(void)
{
affectivesort(population,PopSize);//排序选择亲和力高的进行克隆
clonenum();
MutationOperator();
Inhibition();
chongzu();
activeslect();
sortnewmember();
}
//********************************************************************************
void EvaluatePopulation(void)
{
CalculateObjectValue ( population,PopSize);
Calculateaffective
你可能喜欢
- 智能优化算法
- 人工免疫算法
- 算法研究
- C语言经典算法100例
- 蚁群算法 matlab
- 聚类分析
- 无标度网络
- 智能优化算法的认识5页
- 智能优化算法的部分精华笔试试题10页
- 群智能理论及粒子群优化算法115页
- 智能优化算法_数学建模_王成章_人工神经网络_201166页
- 智能优化算法2页
- 智能优化算法29页
- TERCOM算法研究11页
- 适合云计算平台的规划算法研究8页
- 硕士论文 WDM网络中组播传送的几种优化算法研究67页
- 一种基于密度的K_means算法研究4页
- 对排序算法的一点研究3页
- svm算法研究2页
- C语言经典算法100例30页
- C语言经典算法100例(3)20页
- C语言经典算法100例题目11页
- C语言经典算法100例 61-9422页
- C语言经典算法100例 31-6017页
- C语言经典算法100例54页
- matlab 蚁群算法 机器人路径优化问题12页
- 蚁群算法最短路径matlab程序6页
- matlab蚁群算法求解TSP问题3页
- 蚁群算法matlab源码3页
- matlab蚁群算法2页
- 可以直接运行的蚁群算法(matlab版)2页
- 第八章 聚类分析24页
- matlab做聚类分析3页
- 聚类分析在优化地下水监测点位中的应用4页
- 聚类分析35页
- 聚类与判别分析81页
- 系统聚类分析方法15页


