user_send_feasible_solution

[cf]user_send_feasible_solution
int user_send_feasible_solution(void *user, double lpetol,
                                int varnum, int *indices, double *values)

Description:

This function is only used for parallel computation. The user can send a feasible solution in custom format to the master module if desired. However, the default routine suffices in most situations. The solution is sent using the communication functions described in Section 5.5.1 in whatever logical format the user wants to use. The default is to pack the user indices and values of variables at non-zero level. If the user packs the solution herself then the same data must be packed here that will be received in the user_receive_feasible_solution() function in the master module. See the description of that function for details. This function will only be called when either the LP or tree manager are running as a separate executable. Otherwise, the solution gets stored within the LP user data structure.

Arguments:

void *user IN Pointer to the user-defined LP data structure.
     
double lpetol IN The $ \epsilon$ tolerance of the LP solver.
int varnum IN The length of the indices and values arrays.
int *indices IN User indices of variables at nonzero level in the current solution.
double *values IN Values of the variables listed in indices.

Return values:

USER_ERROR Error. Do the default.
USER_SUCCESS User packed the solution.
USER_DEFAULT Regulated by the parameter pack_feasible_solution_default, but set to SEND_NONZEROS unless overridden by the user.
SEND_NONZEROS Pack the nonzero values and their indices.

Wrapper invoked:
as soon as feasibility is detected anywhere.



Ted Ralphs
2016-02-19