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

📄 checkpnt.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:	checkpoint.c
 *
 *  purpose:	save global variables in a file for later restart
 *
 *  modified:	18 apr 86
 *		12 nov 86: pass Length to Unpack()
 */

#include "extern.h"


Checkpoint(ckptfile)
char ckptfile[];
{
	FILE *fp, *fopen();
	int i,j;

	Trace("Checkpoint entered");
	Dtrace("checkpointing");

	fp = fopen(ckptfile, "w");
	fprintf(fp, "Experiment %d\n", Experiment);
	fprintf(fp, "Totonline %13.7e\n", Totonline);
	fprintf(fp, "Totoffline %13.7e\n", Totoffline);
	fprintf(fp, "Gen %d\n", Gen);
	fprintf(fp, "Onsum  %13.7e\n", Onsum);
	fprintf(fp, "Offsum %13.7e\n", Offsum);
	fprintf(fp, "Trials %d\n", Trials);
	fprintf(fp, "Plateau %d\n", Plateau);
	fprintf(fp, "Best %13.7e\n", Best);
	fprintf(fp, "Worst  %13.7e\n", Worst);
	fprintf(fp, "Spin %d\n", Spin);
	fprintf(fp, "Curr_dump %d\n", Curr_dump);
	fprintf(fp, "Mu_next %d\n", Mu_next);
	fprintf(fp, "Random Seed %lu\n", Seed);
	fprintf(fp, "Initialization Seed %lu\n", Initseed);

	fprintf(fp,"\n");
	fprintf(fp, "Window\n");
	for (i=0; i<Windowsize; i++) fprintf(fp, "%13.7e\n", Window[i]);
	fprintf(fp,"\n");


	for (i=0; i<Popsize; i++)
	{
		Unpack(New[i].Gene, Bitstring, Length);
		fprintf(fp, "%s", Bitstring);
		fprintf(fp, " %13.9e ", New[i].Perf);
		fprintf(fp, "%1d", New[i].Needs_evaluation);
		fprintf(fp, "\n");
	}

	if (Floatflag)	/* print floating point representation */
	{
		fprintf(fp, "\n");
		for (i=0; i<Popsize; i++)
		{
			Unpack(New[i].Gene, Bitstring, Length);
			FloatRep(Bitstring, Vector, Genes);
			for (j=0; j < Genes; j++)
			{
				fprintf(fp, Gene[j].format, Vector[j]);
				fprintf(fp, " ");
			}
			fprintf(fp, " %10.4f\n", New[i].Perf);
		}
	}

	fclose(fp);

	/*  save the best structures */
	if (Savesize)
		Printbest();

	Trace("Checkpoint completed");
}

/** end of file **/

⌨️ 快捷键说明

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