int user_pack_cp_data(void *user, void **user_cp)
The user has to send all problem-specific data that will be needed by the cut pool in order to store and check cuts. This is one of the few places where the user will need to worry about the configuration of the modules. If either the tree manager, the LP, or the cut pool are running as a separate process(either COMPILE_IN_LP, COMPILE_IN_TM, or COMPILE_IN_CP are FALSE in the make file), then the data will be sent and received through message-passing. See user_receive_cp_data() for more discussion. Otherwise, it can be copied over directly to the user-defined data structure for the CP. In the latter case, *user_cp is a pointer to the user-defined data structure for the CP that must be allocated and initialized. For a discussion of message passing in SYMPHONY, see Section 1.7. The code for the two cases is put in the same source file by use of #ifdef statements. See the comments in the code stub for this function for more details.
void *user | IN | Pointer to the user-defined data structure. |
void **user_cp | OUT | Pointer to the user-defined data structure for the cut pool process. |
ERROR | Error. SYMPHONY stops. |
USER_NO_PP | Packing is done. |