Graph Convolutional Branch and Bound v1.0.0
A TSP solver that combines a graph convolutional network with a 1-Tree branch-and-bound.
Loading...
Searching...
No Matches
problem_settings.h
Go to the documentation of this file.
1
17#ifndef BRANCHANDBOUND1TREE_PROBLEM_SETTINGS_H
18#define BRANCHANDBOUND1TREE_PROBLEM_SETTINGS_H
19#include <stdio.h>
20#include <limits.h>
21#include <float.h>
22#include <string.h>
23#include <stdarg.h>
24#include <stdbool.h>
25#include <stdlib.h>
26#include <math.h>
27#include <time.h>
28#include <errno.h>
29#include <pthread.h>
30
31
33#define INFINITE DBL_MAX
34
35
37//#define MAX_VERTEX_NUM 20//-- no longer in this file, but in the CMakeLists.txt to be able to change it from the command line.
38
39
41//#define HYBRID 0 //-- no longer in this file, but in the CMakeLists.txt to be able to change it from the command line.
42
43
45#define PRIM 1
46
47
49#define MAX_EDGES_NUM (MAX_VERTEX_NUM * (MAX_VERTEX_NUM - 1) / 2)
50
51
53#define GHOSH_UB (sqrt(MAX_VERTEX_NUM) * 1.27f)
54
55
57#define TRACE() fprintf(stderr, "%s (%d): %s\n", __FILE__, __LINE__, __func__)
58
59
61
65#define EPSILON (GHOSH_UB / 1000)
66
67
69
73#define EPSILON2 (0.1f * EPSILON)
74
75
77
82#define BETTER_PROB 0.05f
83
84
86
92#define PROB_BRANCH 0.5f
93
94
96#define TIME_LIMIT_SECONDS 600
97
98
100#define NUM_HK_INITIAL_ITERATIONS (((((float) MAX_VERTEX_NUM * MAX_VERTEX_NUM)/50) + 0.5f) + MAX_VERTEX_NUM + 15)
101
102
104#define NUM_HK_ITERATIONS (((float) MAX_VERTEX_NUM / 4) + 5)
105
106
107#endif //BRANCHANDBOUND1TREE_PROBLEM_SETTINGS_H