1 /*===========================================================================*
2  * This file is part of the Abstract Library for Parallel Search (ALPS).     *
3  *                                                                           *
4  * ALPS is distributed under the Eclipse Public License as part of the       *
5  * COIN-OR repository (http://www.coin-or.org).                              *
6  *                                                                           *
7  * Authors:                                                                  *
8  *                                                                           *
9  *          Yan Xu, Lehigh University                                        *
10  *          Aykut Bulut, Lehigh University                                   *
11  *          Ted Ralphs, Lehigh University                                    *
12  *                                                                           *
13  * Conceptual Design:                                                        *
14  *                                                                           *
15  *          Yan Xu, Lehigh University                                        *
16  *          Ted Ralphs, Lehigh University                                    *
17  *          Laszlo Ladanyi, IBM T.J. Watson Research Center                  *
18  *          Matthew Saltzman, Clemson University                             *
19  *                                                                           *
20  *                                                                           *
21  * Copyright (C) 2001-2019, Lehigh University, Yan Xu, Aykut Bulut, and      *
22  *                          Ted Ralphs.                                      *
23  * All Rights Reserved.                                                      *
24  *===========================================================================*/
25 
26 
27 #ifndef AlpsMessage_h_
28 #define AlpsMessage_h_
29 
30 #include "CoinMessageHandler.hpp"
31 
32 //#############################################################################
33 /** A list of Alps print out messages. Note this is not the messages sent
34     round among processes. */
35 enum ALPS_Message
36 {
37     ALPS_DONATE_AFTER,
38     ALPS_DONATE_BEFORE,
39     ALPS_DONATE_FAIL,
40     ALPS_DONATE_SPLIT,
41     ALPS_DONATE_WHOLE,
42     ALPS_DATAFILE,
43     ALPS_KNOWLEDGE_GEN,
44     ALPS_HUB_NUM,
45     ALPS_LAUNCH,
46     ALPS_LOADBAL_HUB,
47     ALPS_LOADBAL_HUB_FAIL,
48     ALPS_LOADBAL_HUB_NO,
49     ALPS_LOADBAL_HUB_PERIOD,
50     ALPS_LOADBAL_MASTER,
51     ALPS_LOADBAL_MASTER_NO,
52     ALPS_LOADBAL_MASTER_PERIOD,
53     ALPS_LOADBAL_WORKER_ASK,
54     ALPS_LOADREPORT_MASTER,
55     ALPS_LOADREPORT_MASTER_F,
56     ALPS_LOADREPORT_MASTER_N,
57     ALPS_LOADREPORT_MASTER_F_N,
58     ALPS_MSG_HOW,
59     ALPS_NODE_COUNT,
60     ALPS_NODE_MEM_SIZE,
61     ALPS_PARAMFILE,
62     ALPS_PEAK_MEMORY,
63     ALPS_RAMPUP_HUB,
64     ALPS_RAMPUP_HUB_FAIL,
65     ALPS_RAMPUP_HUB_NODES,
66     ALPS_RAMPUP_HUB_NODES_AUTO,
67     ALPS_RAMPUP_HUB_RECV,
68     ALPS_RAMPUP_HUB_SOL,
69     ALPS_RAMPUP_HUB_START,
70     ALPS_RAMPUP_MASTER,
71     ALPS_RAMPUP_MASTER_FAIL,
72     ALPS_RAMPUP_MASTER_NODES,
73     ALPS_RAMPUP_MASTER_NODES_AUTO,
74     ALPS_RAMPUP_MASTER_SOL,
75     ALPS_RAMPUP_MASTER_START,
76     ALPS_RAMPUP_WORKER_RECV,
77     ALPS_RAMPUP_WORKER_SOL,
78     ALPS_SEARCH_WORKER_START,
79     ALPS_SOLUTION_COUNT,
80     ALPS_SOLUTION_SEARCH,
81     ALPS_STATIC_BALANCE_BEG,
82     ALPS_STATIC_BALANCE_END,
83     ALPS_TERM_FORCE_NODE,
84     ALPS_TERM_FORCE_SOL,
85     ALPS_TERM_FORCE_TIME,
86     ALPS_TERM_HUB_INFORM,
87     ALPS_TERM_MASTER_START,
88     ALPS_TERM_MASTER_INFORM,
89     ALPS_TERM_WORKER_INFORM,
90     ALPS_T_FAILED,
91     ALPS_T_FEASIBLE,
92     ALPS_T_INFEASIBLE,
93     ALPS_T_NODE_LIMIT,
94     ALPS_T_NO_MEMORY,
95     ALPS_T_COMPLETE,
96     ALPS_T_SOL_LIMIT,
97     ALPS_T_TIME_LIMIT,
98     // Following are for serial only
99     ALPS_S_NODE_COUNT,
100     ALPS_S_SEARCH_START,
101     ALPS_S_SEARCH_SOL,
102     ALPS_S_FINAL_SOL,
103     ALPS_S_FINAL_SOL_WD,
104     ALPS_S_FINAL_NO_SOL,
105     ALPS_S_FINAL_NODE_PROCESSED,
106     ALPS_S_FINAL_NODE_FULL,
107     ALPS_S_FINAL_NODE_PARTIAL,
108     ALPS_S_FINAL_NODE_BRANCHED,
109     ALPS_S_FINAL_NODE_DISCARDED,
110     ALPS_S_FINAL_NODE_LEFT,
111     ALPS_S_FINAL_DEPTH,
112     ALPS_S_FINAL_CPU,
113     ALPS_S_FINAL_WALLCLOCK,
114     ALPS_WORK_UNIT,
115     ALPS_DUMMY_END
116 };
117 
118 //#############################################################################
119 
120 class AlpsMessage : public CoinMessages {
121 
122  public:
123     /**@name Constructors etc */
124     //@{
125     AlpsMessage(Language language=us_en);
126     //@}
127 };
128 
129 #endif
130