IntegerLP
The IntegerLP
class solves Integer Linear Programming (ILP) and Mixed Integer Linear Programming (MILP) problems recursively using the Simplex algorithm. First, an LP problem is solved. If the optimal solution vector x is entirely integer valued, the ILP is solved. If not, pick the first x_j that is not integer valued. Define two new LP problems which bound x_j to the integer below and above, respectively. Branch by solving each of these LP problems in turn. Prune by not exploring branches less optimal than the currently best integer solution. This technique is referred to as Branch and Bound. An exclusion set may be optionally provided for MILP problems. FIX: Use the Dual Simplex Algorithm for better performance.
Given a constraint matrix a, limit/RHS vector b and cost vector c, find values for the solution/decision vector x that minimize the objective function f(x), while satisfying all of the constraints, i.e.,
minimize f(x) = c x subject to a x <= b, x >= 0, some x_i must be integer valued
Make b_i negative to indicate a >= constraint.
Value parameters
- a
-
the M-by-N constraint matrix
- b
-
the M-length limit/RHS vector
- c
-
the N-length cost vector
- excl
-
the set of variables to be excluded from the integer requirement
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any