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

📄 evaluate.c

📁 改编过的遗传算法
💻 C
字号:

/*
 *  GENESIS  Copyright (c) 1986, 1990 by John J. Grefenstette
 *  This program may be freely copied for educational
 *  and research purposes.  All other rights reserved.
 *
 *  file:	evaluate.c
 *
 *  purpose:	evaluate the current population by
 *		calling the user-defined function "eval"
 *
 *  modified:	13 feb 86
 *		12 nov 86: pass Length to Unpack()
 *		15 sep 90: handle floating pt representation,
 *		           change args to eval
 */

#include "extern.h"
extern double eval(); 


Evaluate()
{
	register double performance;
	register int i;

	Trace("Evaluate entered");
	Dtrace("evaluate");

	for (i=0; i<Popsize; i++)
	{
		if ( New[i].Needs_evaluation )
		{
			Unpack(New[i].Gene, Bitstring, Length);
			if (Floatflag)
				FloatRep(Bitstring, Vector, Genes);
			New[i].Perf = eval (Bitstring, Length,
				Vector, Genes);
			performance = New[i].Perf;
			New[i].Needs_evaluation = 0;
			Trials++;
			Spin = 0;   /* we're making progress */
			if (Savesize)  Savebest(i);

			if (Trials == 1)
				Best = performance;
			if (BETTER(performance, Best))
			{
				Best = performance;
			}

			Onsum += performance;
			Offsum += Best;
			if (Dumpflag) Checkpoint(Ckptfile);
		}
	}

	Trace("Evaluate completed");
}


/** end of file **/

⌨️ 快捷键说明

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