📄 routeinfotsp.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 + -