목차
없음
본문내용
#include
#include
#include
#include
#include
#include
#define nOfCity 1000
#define maxTime 280 // 최대 시간
#define divide 200 // 부분으로 나누는 구간의 길이
#define aaa 30
#define TRUE 1
#define FALSE 0
// Greedy Search Algorithm
/* 각 노드의 path를 기준으로 오름차순 정렬하는 함수 */
void getGreedyPath(unsigned short **, int *, unsigned short index[][aaa+1][2], int);
/* Branch & Bound 함수 divide를 기준으로 일정구간으로 나누어 노드의 깊이가 divide가 되면 종료 */
int BandB(unsigned short **, unsigned short index[][aaa+1][2], int *, int, bool check[]);
int BandB2(unsigned short **, unsigned short index[][aaa+1][2], int *, int, bool check[]);
/* 크러스칼 알고리즘 구현 함수, 존재하는 패스중 상위 20%는 한가지 패스만 남긴다. */
void Kruscal(unsigned short **, unsigned short **, unsigned short index[][aaa+1][2], int *, int);
/* 생성된 패스를 패스의 cost에따라 오름차순 정렬한다. */
void SortPath(unsigned short **, unsigned short sort[][3], int *);
/* SA 구현함수, 모든패스를 검색하여, 3opt, 2opt로 교체되는 모든 노드를 교환한다. */
int SALeftShift(unsigned short **, int *, int);
int SARightShift(unsigned short **, int *, int);
int SA3Opt(unsigned short **, int *, int);
/* SA확률값 조정 함수 */
int MakeStochastic(int, int, int);
/* 돌연변이 생성 함수 */
int Mutation(unsigned short **, int *);
/* path의 총 거리를 리턴하는 함수 */
int SumOfPath(unsigned short **, int *);
#include
#include
#include
#include
#include
#define nOfCity 1000
#define maxTime 280 // 최대 시간
#define divide 200 // 부분으로 나누는 구간의 길이
#define aaa 30
#define TRUE 1
#define FALSE 0
// Greedy Search Algorithm
/* 각 노드의 path를 기준으로 오름차순 정렬하는 함수 */
void getGreedyPath(unsigned short **, int *, unsigned short index[][aaa+1][2], int);
/* Branch & Bound 함수 divide를 기준으로 일정구간으로 나누어 노드의 깊이가 divide가 되면 종료 */
int BandB(unsigned short **, unsigned short index[][aaa+1][2], int *, int, bool check[]);
int BandB2(unsigned short **, unsigned short index[][aaa+1][2], int *, int, bool check[]);
/* 크러스칼 알고리즘 구현 함수, 존재하는 패스중 상위 20%는 한가지 패스만 남긴다. */
void Kruscal(unsigned short **, unsigned short **, unsigned short index[][aaa+1][2], int *, int);
/* 생성된 패스를 패스의 cost에따라 오름차순 정렬한다. */
void SortPath(unsigned short **, unsigned short sort[][3], int *);
/* SA 구현함수, 모든패스를 검색하여, 3opt, 2opt로 교체되는 모든 노드를 교환한다. */
int SALeftShift(unsigned short **, int *, int);
int SARightShift(unsigned short **, int *, int);
int SA3Opt(unsigned short **, int *, int);
/* SA확률값 조정 함수 */
int MakeStochastic(int, int, int);
/* 돌연변이 생성 함수 */
int Mutation(unsigned short **, int *);
/* path의 총 거리를 리턴하는 함수 */
int SumOfPath(unsigned short **, int *);
소개글