next up previous contents Back to SYMPHONY Home Page
Next: user_send_feasible_solution Up: User-written functions of the Previous: user_get_upper_bounds

user_is_feasible

int user_is_feasible(void *user, double lpetol, int varnum, int
                     *indices, double *values, int *feasible)

Description:

User tests the feasibility of the solution to the current LP relaxation.

There is no post-processing. Possible defaults are testing integrality (TEST_INTEGRALITY) and testing whether the solution is binary (TEST_ZERO_ONE).

Arguments:

void *user INOUT 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.
     
int *feasible OUT Feasibility status of the solution ( NOT_FEASIBLE, or FEASIBLE).

Return values:

ERROR Error. Solution is considered to be not feasible.
USER_NO_PP User checked IP feasibility.
DEFAULT Regulated by the parameter is_feasible_default, but set to TEST_INTEGRALITY unless over-ridden by the user.
TEST_INTEGRALITY Test integrality of the given solution.
TEST_ZERO_ONE Tests whether the solution is binary.

Wrapper invoked from:
select_branching_object() after pre-solving the LP relaxation of a child corresponding to a candidate and from fathom_branch() after solving an LP relaxation.




next up previous contents
Next: user_send_feasible_solution Up: User-written functions of the Previous: user_get_upper_bounds
Ted Ralphs
2000-09-08