📄 gacode.h
字号:
#include <vector>
struct SYCoordinate
{
SYCoordinate()
{
m_fcodx = 0.0;
m_fcody = 0.0;
}
double m_fcodx;
double m_fcody;
};
struct SYCity
{
SYCity()
{
m_nIndex = 0;
m_strName.Empty();
}
int m_nIndex; //城市编号
CString m_strName; //城市名称
SYCoordinate m_Coordinate; //城市坐标
};
struct SYCityDistance
{
SYCityDistance()
{
m_nFromCity = 0;
m_nToCity = 0;
m_fDistance = 0.0;
}
int m_nFromCity; //源城市
int m_nToCity; //目标城市
double m_fDistance; //城市之间的距离
};
typedef std::vector<int> CityRouterDef;
void CreateCityRouter( CityRouterDef &CityRouter );
void CreateCityRouter2opt( CityRouterDef &preCityRouter, CityRouterDef &CityRouter );
double CountTotalDistance( CityRouterDef &CityRouter );
double CountCityDistance( SYCity &FromCity, SYCity &ToCity, SYCityDistance &CityDistance );
double FindCityDistance( int FromCityIndex, int ToCityIndex );
struct SYRouter
{
SYRouter()
{
CreateCityRouter( m_CityRouter );
m_fTotalDistance = CountTotalDistance( m_CityRouter );
m_fFitness = 0.0;
}
SYRouter( CityRouterDef &preCityRouter )
{
CreateCityRouter2opt( preCityRouter, m_CityRouter );
m_fTotalDistance = CountTotalDistance( m_CityRouter );
m_fFitness = 0.0;
}
void operator=(const SYRouter& srcRouter )
{
m_CityRouter = srcRouter.m_CityRouter;
m_fTotalDistance = srcRouter.m_fTotalDistance;
m_fFitness = 0.0;
}
CityRouterDef m_CityRouter;
double m_fTotalDistance;
double m_fFitness;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -