Adding the tie breaker on the Neighbor Search. #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Modified
_solve_GDP_subproblem
The _solve_GDP_subproblem function solves GDP subproblems by fixing disjunctions based on external variable values. It was modified to return None along with False in cases of infeasibility, allowing it to integrate smoothly with the neighbor search process.
Parameters:
external_var_value
: List of external variable values.search_type
: Type of search (e.g., "Neighbor search").config
: GDPopt configuration block.Returns:
True/False
: Indicates if the primal bound is improved.None
: Returned when infeasibility occurs.Neighbor Search
The neighbor_search function evaluates neighboring points and selects the best one, considering both objective improvement and distance (tiebreaker). If multiple neighbors have similar primal bounds, the one farther from the current point is chosen.