Dip  0.92.4
cnrp_const.h
Go to the documentation of this file.
1 /*===========================================================================*/
2 /* */
3 /* This file is part of a demonstration application for use with the */
4 /* SYMPHONY Branch, Cut, and Price Library. This application is a solver for */
5 /* Capacitated Network Routing Problems. */
6 /* */
7 /* (c) Copyright 2000-2013 Ted Ralphs. All Rights Reserved. */
8 /* */
9 /* This application was developed by Ted Ralphs (ted@lehigh.edu) */
10 /* */
11 /* This software is licensed under the Eclipse Public License. Please see */
12 /* accompanying file for terms. */
13 /* */
14 /*===========================================================================*/
15 
16 #ifndef _CNRP_CONST_H
17 #define _CNRP_CONST_H
18 
19 #define LENGTH 255
20 #define KEY_NUM 41
21 #define DEAD 2
22 #define NEAR_INS -1
23 #define FAR_INS -2
24 #define DEPOT_PENALTY 20
25 #define RRR 6378.388
26 #define MY_PI 3.141592
27 #define LINE_LEN 80
28 
29 /*---------------- problem types --------------------------------------------*/
30 #define NONE 0
31 #define VRP 1
32 #define TSP 2
33 #define BPP 3
34 #define CSTP 4
35 #define CTP 5
36 
37 /*---------------- distance types -------------------------------------------*/
38 #define _EXPLICIT 0
39 #define _EUC_2D 1
40 #define _EUC_3D 2
41 #define _MAX_2D 3
42 #define _MAX_3D 4
43 #define _MAN_2D 5
44 #define _MAN_3D 6
45 #define _CEIL_2D 7
46 #define _GEO 8
47 #define _ATT 9
48 
49 /*---------------- message types --------------------------------------------*/
50 #define CNRP_DATA 1
51 #define DISPLAY_DATA 2
52 #define NUMROUTES 3
53 #define COORD_DATA 4
54 
55 /*---------------- cut types ------------------------------------------------*/
56 #define SUBTOUR_ELIM_SIDE 0
57 #define SUBTOUR_ELIM_ACROSS 1
58 #define SUBTOUR_ELIM 2
59 #define CLIQUE 3
60 #define FLOW_CAP 4
61 #define X_CUT 5
62 #define TIGHT_FLOW 6
63 #define MIXED_DICUT 7
64 #define OPTIMALITY_CUT_FIXED 8
65 #define OPTIMALITY_CUT_VARIABLE 9
66 
67 /*---------------- tsp cut routines -----------------------------------------*/
68 
69 #define NO_TSP_CUTS 0
70 #define SUBTOUR 1
71 #define BLOSSOM 2
72 #define COMB 4
73 #define ALL_TSP_CUTS 7
74 
75 #define NUM_RANDS 6
76 
77 #define ACTIVE_NODE_LIST_BLOCK_SIZE 100
78 #define DELETE_POWER 3
79 #define DELETE_AND 0x07
80 
81 /*-------------- base variable selection rules ------------------------------*/
82 #define EVERYTHING_IS_EXTRA 0
83 #define SOME_ARE_BASE 1
84 #define EVERYTHING_IS_BASE 2
85 
86 /*--------- constants used in creating the edges lists for the root ---------*/
87 #define CHEAP_EDGES 0
88 #define REMAINING_EDGES 1
89 
90 /*--------- constants for saving the small graph ----------------------------*/
91 #define SAVE_SMALL_GRAPH 1
92 #define LOAD_SMALL_GRAPH 2
93 
94 /*--------- constants for defining which set of exchange heuristics to do --*/
95 #define FIRST_SET 1
96 #define SECOND_SET 2
97 
98 #endif