📄 wstabosearchalogrithm.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -