Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
sacode.h
Package: TSP.rar [view]
Upload User: jsfeizhou
Upload Date: 2018-08-08
Package Size: 675k
Code Size: 2k
Category:
matlab
Development Platform:
Matlab
- #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 InitialSA();
- 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 );
- double CountInitialTemperature();
- double CountDownTemperature( int DownMode );
- BOOL JudgeOverInnerLoop( int JudgeMode );
- BOOL JudgeOverExternalLoop( int JudgeMode );
- struct SYRouter
- {
- SYRouter()
- {
- m_CityRouter.clear();
- m_fTotalDistance = 0.0;
- m_fTemperature = 0.0;
- m_nExternalIterNumber = 0;
- m_nInnerIterNumber = 0;
- }
- SYRouter( double nowTemp,
- int nowExtIterNum,
- int nowInIterNum )
- {
- CreateCityRouter( m_CityRouter );
- m_fTotalDistance = CountTotalDistance( m_CityRouter );
- m_fTemperature = nowTemp;
- m_nExternalIterNumber = nowExtIterNum;
- m_nInnerIterNumber = nowInIterNum;
- }
- SYRouter( CityRouterDef &preCityRouter,
- double nowTemp,
- int nowExtIterNum,
- int nowInIterNum )
- {
- CreateCityRouter2opt( preCityRouter, m_CityRouter );
- m_fTotalDistance = CountTotalDistance( m_CityRouter );
- m_fTemperature = nowTemp;
- m_nExternalIterNumber = nowExtIterNum;
- m_nInnerIterNumber = nowInIterNum;
- }
- void operator=(const SYRouter& srcRouter)
- {
- m_CityRouter = srcRouter.m_CityRouter;
- m_fTotalDistance = srcRouter.m_fTotalDistance;
- m_fTemperature = srcRouter.m_fTemperature;
- m_nExternalIterNumber = srcRouter.m_nExternalIterNumber;
- m_nInnerIterNumber = srcRouter.m_nInnerIterNumber;
- }
- CityRouterDef m_CityRouter;
- double m_fTotalDistance;
- double m_fTemperature;
- int m_nExternalIterNumber;
- int m_nInnerIterNumber;
- };