searchareatsp.cpp

来自「c++语言实现的遗传算法的例子,需要的快下啊」· C++ 代码 · 共 62 行

CPP
62
字号
// SearchAreaTsp.cpp: implementation of the SearchAreaTsp class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SearchAreaTsp.h"

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

SearchAreaTsp::SearchAreaTsp(Rand * ra,double m,int d):SearchArea(ra)
{
	r=m;
	dimension=d;
}

double SearchAreaTsp::SearchA(double old_loc)
{
	return old_loc;
}

double * SearchAreaTsp::SearchA(double * old_loc)
{
	double * temp=new double[dimension];
	for(int i=0;i<dimension;i++)
		temp[i]=old_loc[i];
	for(i=0;i<r;i++)
	{
		int n=rand->randint(dimension);
		int m=rand->randint(dimension);
		if(n<m)
		{
			int t=n;
			n=m;
			m=t;
		}
		for(int k=0;k<(n-m)/2;k++)
		{
			double temp1=temp[n-k];
			temp[n-k]=temp[m+k+1];
			temp[m+k+1]=temp1;
		}
	}
	return temp;
}

void SearchAreaTsp::SetR(int p)
{
	if(p==1)
		r=r*0.99;
	if(p==2)
		r*=1.000;
	if(r<1)
		r=1;
}

SearchAreaTsp::~SearchAreaTsp()
{

}

⌨️ 快捷键说明

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