Expand description
Integer Programming and Mixed-Integer Optimization
This module provides algorithms for optimization problems where some or all variables must take integer values. It implements:
BranchAndBoundSolver: Branch-and-bound for mixed-integer programsIntegerVariableSet: Specification of integer/binary/general integer constraintsCuttingPlaneSolver: Gomory cutting plane method for pure integer programs
§Mixed-Integer Programming (MIP)
A mixed-integer program has the form:
minimize c^T x
subject to A x <= b (linear inequality constraints)
Aeq x = beq (linear equality constraints)
lb <= x <= ub (bounds)
x_I in Z (integrality constraints for a subset I)§References
- Land, A.H. & Doig, A.G. (1960). “An automatic method of solving discrete programming problems.” Econometrica, 28(3), 497-520.
- Gomory, R.E. (1958). “Outline of an algorithm for integer solutions to linear programs.” Bulletin of the American Mathematical Society, 64(5), 275-278.
Re-exports§
pub use branch_and_bound::BranchAndBoundOptions;pub use branch_and_bound::BranchAndBoundSolver;pub use cutting_plane::CuttingPlaneOptions;pub use cutting_plane::CuttingPlaneSolver;pub use lp_relaxation::LpRelaxationSolver;
Modules§
- branch_
and_ bound - Branch-and-Bound algorithm for Mixed-Integer Programming
- cutting_
plane - Gomory Cutting Plane Method for Integer Programming
- knapsack
- Knapsack Problem Solvers
- lp_
relaxation - LP relaxation solver for use in branch-and-bound
- milp_
branch_ and_ bound - Mixed-Integer Linear Programming via Branch-and-Bound
Structs§
- Integer
Variable Set - Set of integer variable constraints for a MIP problem
- Linear
Program - Linear program specification
- MipResult
- Result from a MIP solve
Enums§
- Integer
Kind - Type of integer variable constraint
Functions§
- is_
integer_ valued - Check if a value is integer (within tolerance)
- most_
fractional_ variable - Find the most fractional variable index