HighsDomain

Bound tracking, propagation, and conflict analysis for MIP

Bound tracking, propagation, and conflict analysis for MIP

HighsDomain Class: Manages variable bounds during MIP branch-and-bound with:

Bound Propagation:

Reason Tracking: Each bound change records its cause:

Conflict Analysis (ConflictSet): Learns from infeasibility:

Cut Pool Integration (CutpoolPropagation):

Backtracking:

Algorithm

Objective Propagation: Given incumbent z* and objective c'x: For each variable, derive bound from c'x < z* constraint. Particularly effective when objective has large coefficients.

Complexity: propagate(): $O(nnz × propagation_rounds)$ amortized conflictAnalysis(): $O(conflict_clause_length × reason_chain_depth)$ backtrack(): $O(number_of_bound_changes_to_undo)$

References:

  • Achterberg, T. (2007). "Conflict analysis in mixed integer programming". Discrete Optimization 4:4-20.

See Also

Source

Header file: `highs/mip/HighsDomain.h`