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 Set Partitioning Problem.                                             */
6 /*                                                                           */
7 /* (c) Copyright 2005-2013 Marta Eso and Ted Ralphs. All Rights Reserved.    */
8 /*                                                                           */
9 /* This application was originally developed by Marta Eso and was modified   */
10 /* Ted Ralphs (ted@lehigh.edu)                                               */
11 /*                                                                           */
12 /* This software is licensed under the Eclipse Public License. Please see    */
13 /* accompanying file for terms.                                              */
14 /*                                                                           */
15 /*===========================================================================*/
16 
17 #ifndef _SPP_CONSTANTS_H_
18 #define _SPP_CONSTANTS_H_
19 
20 /* stats on these functions */
21 #define READ_INPUT          0
22 #define FIX_LEX             1
23 
24 /* input formats -- this tells how to decode the info in the input file */
25 #define OUR_FORMAT    5
26 #define OUR_FORMAT_0  0
27 
28 /* feasibility of the problem */
29 #define SPP_OPTIMAL                3
30 #define SPP_FEASIBILITY_NOT_KNOWN  2
31 #define SPP_FEASIBLE               1
32 #define SPP_INFEASIBLE             0
33 
34 #define ETOL 0.00001
35 
36 /* possible values for starcl_which_node */
37 #define MIN_DEGREE     0
38 #define MAX_DEGREE     1
39 #define MAX_XJ_MAX_DEG 2
40 
41 /* types of cuts */
42 #define CLIQUE                0
43 #define ODD_HOLE              1
44 #define ODD_ANTIHOLE          2
45 #define WHEEL                 3
46 #define GOMORY                4
47 #define ORTHOCUT              5
48 #define OTHER_CUT             6
49 #define CLIQUE_LIFTED        10
50 #define ODD_HOLE_LIFTED      11
51 #define ODD_ANTIHOLE_LIFTED  12
52 
53 /* strategies for lifting cuts */
54 #define DONT_CHANGE_CUT   0
55 #define MAY_CHANGE_CUT    1
56 
57 /* choices for which_atilde */
58 #define COLS_OF_A         0
59 #define SPARS_PATTERN     1
60 #define EDGE_NODE_INC     2
61 #define EDGE_NODE_INC_PERT 3
62 
63 #endif
64 
65 
66 
67 
68