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

📄 tspsep.cpp

📁 遗传算法vc++语言版源程序,台湾大学编写。
💻 CPP
字号:
#include "TSPSep.h"

TSPSep::TSPSep()
{
	// set conditions
	m_Nodes.resize(5);
	m_Nodes[0].x = 0.0;m_Nodes[0].y = 0.0;
	m_Nodes[1].x = 5.0;m_Nodes[1].y = 0.0;
	m_Nodes[2].x = 10.0;m_Nodes[2].y = 0.0;
	m_Nodes[3].x = 10.0;m_Nodes[3].y = 10.0;
	m_Nodes[4].x = 5.0;m_Nodes[4].y = 5.0;

	m_IfRepeat = false;
	// set domain first
	m_Domain.resize(3);
	m_Domain[0].m_Type = DT_PERMUTATE;
	m_Domain[0].m_Set.resize(2);
	for(int a=0;a<2;a++)
		m_Domain[0].m_Set[a] = a;
	m_Domain[1].m_Type = DT_PERMUTATE;
	m_Domain[1].m_Set.resize(1, 2);
	m_Domain[2].m_Type = DT_PERMUTATE;
	m_Domain[2].m_Set.resize(2);
	for(int a=0;a<2;a++)
		m_Domain[2].m_Set[a] = a+3;

	// set param
	m_Param.resize(5);
	m_Param[0].m_Val = 0;
	m_Param[0].m_pDomain = &(m_Domain[0]);
	m_Param[1].m_Val = 1;
	m_Param[1].m_pDomain = &(m_Domain[0]);
	m_Param[2].m_Val = 2;
	m_Param[2].m_pDomain = &(m_Domain[1]);
	m_Param[3].m_Val = 3;
	m_Param[3].m_pDomain = &(m_Domain[2]);
	m_Param[4].m_Val = 4;
	m_Param[4].m_pDomain = &(m_Domain[2]);
}
double TSPSep::GetResult(vector<CParam> &cs)
{
	double dist = 0.0;

	for(size_t a=0;a<cs.size()-1;a++)
		dist += Distance(m_Nodes[cs[a].m_Val],m_Nodes[cs[a+1].m_Val]);
	return dist;
}

⌨️ 快捷键说明

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