[Symphony] user_is_feasible()
Michael Hennebry
hennebry at web.cs.ndsu.nodak.edu
Tue Jun 21 12:44:20 EDT 2011
On Tue, 21 Jun 2011, Terry wrote:
> 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.
I ran into precisely this problem.
If you tell SYMPHONY that an all-integer solution
is infeasible you need to add a constraint.
It's been a while.
There might be some trickiness in adding the constraint.
--
Michael hennebry at web.cs.ndsu.NoDak.edu
"Pessimist: The glass is half empty.
Optimist: The glass is half full.
Engineer: The glass is twice as big as it needs to be."
More information about the Symphony
mailing list