wstabosearchalogrithm.h

来自「开发环境:Visual C++ .net2003 功能:利用禁忌搜索思想求解T」· C头文件 代码 · 共 49 行

H
49
字号
#pragma once
#include "WSTSP.h"
#include "WSRandom.h"

class WSTaboSearchAlogrithm
{
protected:
	int m_TaboTableLen;//禁忌表的长度
	TaboTable m_TaboTable;//禁忌表
	TaboTable m_NeborRoutes;//当前最好解的相邻路径
	CityRouter m_CurBestRoute;//当前最好解
    CityRouter m_BestRoute;//目前解过程中所遇之最佳解
	CityRouter m_BaseCityInfo;//城市的基本信息

	//方式1
	TaboTableCityPeer m_TTCityPeer; //按照城市交换对为禁忌对象
	CityPeerInfoVector m_TTNeborCityPeer; //相邻城市对集合

	//禁忌模式
	INT m_TaboMode;

	INT m_SearchTimes;
	INT m_SearchSteps;

	PCHAR m_OutFileName;

public:
	WSTaboSearchAlogrithm(void);
	~WSTaboSearchAlogrithm(void);

public:
	BOOL Initial(PCHAR p_InFileName, PCHAR p_OutFileName, INT p_TaboMode = 2, INT p_TaboLen = 0, INT p_SearchTimes = 30, INT p_SearchSteps = 0);
	BOOL Initial1(PCHAR p_InFileName, PCHAR p_OutFileName, INT p_TaboLen = 0, INT p_SearchTimes = 30, INT p_SearchSteps = 0);
	//利用城市交换对作禁忌对象
	BOOL Initial2(PCHAR p_InFileName, PCHAR p_OutFileName, INT p_TaboLen = 0, INT p_SearchTimes = 30, INT p_SearchSteps = 0);

	BOOL GenNeborCityOrder();
	//利用城市交换对作禁忌对象
	BOOL GenNeborCityOrder2();

	BOOL GetNextRoute();
	//利用城市交换对作禁忌对象
	BOOL GetNextRoute2();

	BOOL SearchOneStep();
	BOOL RunTaboSearch();
	VOID ShowBestRoute();
	VOID ShowBestRouteInfo();
};

⌨️ 快捷键说明

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