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 /* the Vehicle Routing Problem and the Traveling Salesman Problem.           */
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 _VRP_CG_PARAMS_H
17 #define _VRP_CG_PARAMS_H
18 
19 /* which_connected_routine choices */
20 #define CONNECTED    0
21 #define BICONNECTED  1
22 #define BOTH         2
23 
24 /*__BEGIN_EXPERIMENTAL_SECTION__*/
25 typedef struct COL_GEN_PARAMS{
26    int  grid_size;
27    float lambda;
28    float mu;
29 }col_gen_params;
30 
31 /*___END_EXPERIMENTAL_SECTION___*/
32 typedef struct VRP_CG_PARAMS{
33    int            verbosity;
34    char           tsp_prob;
35    int            do_greedy;
36    int            greedy_num_trials;
37    int            do_extra_in_root;
38    int            which_tsp_cuts;
39    int            which_connected_routine;
40    int            max_num_cuts_in_shrink;
41    /*__BEGIN_EXPERIMENTAL_SECTION__*/
42    int            do_mincut;
43    int            always_do_mincut;
44    int            update_contr_above;
45    int            shrink_one_edges;
46    int            do_extra_checking;
47    int            do_our_decomp;
48 #ifdef COMPILE_DECOMP
49    int            max_num_columns;    /* to generate in bfm */
50    int            generate_farkas_cuts;
51    int            generate_no_cols_cuts;
52    int            generate_capacity_cuts;
53    int            allow_one_routes_in_bfm;
54    int            follow_one_edges;
55    col_gen_params col_gen_par;
56 #endif
57 #ifdef COMPILE_OUR_DECOMP
58    int            do_decomp_once;
59    int            decomp_decompose;
60    int            feasible_tours_only; /* if set to 1,
61 					  generate only feasible tours */
62    float          graph_density_threshold; /* if density higher,
63 					      do not generate columns */
64    float          gap_threshold;
65 #endif
66    /*___END_EXPERIMENTAL_SECTION___*/
67 }vrp_cg_params;
68 
69 #endif
70