[Symphony] user_is_feasible()

Terry maillst at aol.com
Tue Jun 21 08:39:40 EDT 2011


Here is my function:

int user_is_feasible(void *user, double lpetol, int varnum, int *indices,
                     double *values, int *feasible, double *objval,
                     char branching, double *heur_solution)
{
    if (*objval <= 5.0 ) {
            *feasible = IP_INFEASIBLE;
            return(USER_SUCCESS);
    } 
    return(USER_DEFAULT);
}


Obviously this could be accomplished more efficiently by adding a constraint. This is just a test to see if I can make SYMPHONY skip a solution by telling it some solutions are infeasible. 

This appears to put SYMPHONY in an infinite loop, calling it for objval = 4. I think it finds a solution candidate and just keeps trying to use that. It never calls the function with any other values. 

What I want it to do is go on looking for the next feasible solution. I'm working with a very simple example that has many feasible solutions. 

Am I using user_is_feasible() wrong? Is there some way I can make it skip a solution by telling it it's infeasible?

Thanks.
Terry







More information about the Symphony mailing list