LeanPool.Duality.LinearProgramming #
Linear program over F∞ in the standard form (i.e.,
a system of linear inequalities with nonnegative variables).
Variables are of type J. Conditions are indexed by type I.
The objective function is intended to be minimized.
The left-hand-side matrix.
- b : I → F∞
The right-hand-side vector.
- c : J → F∞
The objective function coefficients.
Instances For
Extended linear program with properties that are needed for duality theorems.
No
⊥and⊤in the same row.No
⊥and⊤in the same column.No
⊥in the row where the right-hand-side vector has⊥.No
⊤in the column where the objective function has⊥.No
⊤in the row where the right-hand-side vector has⊤.No
⊥in the column where the objective function has⊤.
Instances For
A nonnegative vector x is a solution to a linear program P iff
its multiplication by matrix A from the left yields a vector whose
all entries are less or equal to corresponding entries of the vector b.
Instances For
Linear program P reaches objective value r iff there is a solution x such that,
when its entries are elementwise multiplied by the the coefficients c and summed up,
the result is the value r.
Instances For
Linear program P is feasible iff P reaches a value that is not ⊤.
Instances For
Linear program P is bounded by r iff every value reached by P is
greater or equal to r (i.e., P is bounded by r from below).
Equations
- P.IsBoundedBy r = ∀ (p : F∞), P.Reaches p → ↑r ≤ p
Instances For
Linear program P is unbounded iff values reached by P have no finite lower bound.
Equations
- P.IsUnbounded = ¬∃ (r : F), P.IsBoundedBy r
Instances For
Extended notion of "optimum" of "minimization LP" (the less the better).
Equations
Instances For
OppositesOpt p q essentially says none ≠ p = -q.
Equations
- OppositesOpt (some p) (some q) = (p = -q)
- OppositesOpt x✝¹ x✝ = False
Instances For
Dualize an extended linear program in the standard form. The matrix gets transposed and its values flip signs. The original objective function becomes the new right-hand-side vector. The original right-hand-side vector becomes the new objective function. Both linear programs are intended to be minimized.
Instances For
Dualize a valid extended linear program.
Equations
Instances For
The strong duality auxiliary proof is split because the original single proof exceeded the
LeanPool 200-line cap. We dispatch on the two cases coming from extendedFarkas and finish
each in its own helper.