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

📄 routeinfotsp.cpp

📁 c++语言实现的遗传算法的例子,需要的快下啊
💻 CPP
字号:
// RouteInfoTsp.cpp: implementation of the RouteInfoTsp class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "RouteInfoTsp.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

RouteInfoTsp::RouteInfoTsp(int d,double p,double pi,char * name):RouteInfo(d,p)
{
	FILE * file=fopen(name,"r");
	distance=new double *[dimension];
	pheromone=new double *[dimension];
	dmax=0;
	for(int i=0;i<dimension;i++)
	{
		distance[i]=new double[dimension];
		pheromone[i]=new double[dimension];
		for(int j=0;j<dimension;j++)
		{
			float temp=0;
			fscanf(file,"%f",&temp);
			distance[i][j]=temp;
			if((double)temp>dmax)
				dmax=temp;
			pheromone[i][j]=pi;
		}
	}
	fclose(file);
}

void RouteInfoTsp::SetIncretion(double p,int i,int j)
{
	pheromone[i][j]+=p;
	pheromone[j][i]+=p;
}

void RouteInfoTsp::PDescend()
{
	for(int i=0;i<dimension;i++)
		for(int j=0;j<dimension;j++)
			pheromone[i][j]*=pd;
}

RouteInfoTsp::~RouteInfoTsp()
{
	for(int i=0;i<dimension;i++)
		delete[] pheromone[i];
	delete[] pheromone;
	for(i=0;i<dimension;i++)
		delete[] distance[i];
	delete[] distance;
}

⌨️ 快捷键说明

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