tspsolution.cpp

来自「遗传算法vc++语言版源程序,台湾大学编写。」· C++ 代码 · 共 55 行

CPP
55
字号

#include "TSPSolution.h"
/*
CParam TSPSolution::RandomNewParam(int iNonFix)
{
	int i=0, pid;
	for(pid=0;pid<(int)m_Param.size();pid++)
	{
		if(i==iNonFix)
			break;
		if(m_Param[pid].m_pDomain->m_Type!=DT_FIX)
			i++;
	}
	CParam temp;
	CDomain tempD;
	tempD = *m_Param[i].m_pDomain;
	temp.m_pDomain = &tempD;
	if(temp.m_pDomain->m_Type==DT_SET && !m_IfRepeat)
	{
		for(pid=0;pid<(int)m_Param.size();pid++)
		{
			if(pid==i)
				continue;
			int j=0;
			while(j<(int)tempD.m_Set.size())
			{
				if(tempD.m_Set[j]==m_Param[pid].m_Val)
					tempD.m_Set.erase(tempD.m_Set.begin() + j);
				else
					j++;
			}
		}
	}
	temp.GetRandomValue();
	temp.m_pDomain = m_Param[i].m_pDomain;
	return temp;
}

void TSPSolution::NewParamSet()
{
	vector<CParam> Fixed;
	int psize = (int)m_Param.size();
	for(int i=0;i<psize/2;i++)
	{
		int a = rand()%psize;
		int b = rand()%psize;
		if((*(m_Param[a].m_pDomain))==(*(m_Param[b].m_pDomain)))
			swap(m_Param[a].m_Val, m_Param[b].m_Val);
	}
int test1[5];
for(int i=0;i<5;i++)
test1[i] = m_Param[i].m_Val;
Fixed.empty();
}
*/

⌨️ 快捷键说明

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