Lemma 5
Lax496464.Lemma5 · concepts/Lax496464/Lemma5.lean · lax-496464
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
On a proper instance the jobs alive at any one instant form a consecutive block of the earliest-start-time order, so the constraint matrix of Section 6.2 has the consecutive ones property: the first family of rows is a family of prefixes, and the second is a family of blocks.
With the theorem of Fulkerson and Gross this makes the matrix totally unimodular, which is what lets the integer program be solved as a linear program.
The correspondence the section asserts — that the feasible solutions of the program are exactly the feasible sets — is stated here too. It holds on every instance with equal, positive preprocessing times and nonnegative start times, proper or not.
Concept map
Evidence
In the paper
- page 6 of this submission's paper
Lean source view on GitHub
| 1 | import Lax496464.ConsecutiveOnes |
| 2 | import Lax496464.IntegerProgram |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Lemma 5 |
| 7 | type: theorem |
| 8 | --- |
| 9 | On a proper instance the jobs alive at any one instant form a consecutive block of the |
| 10 | earliest-start-time order, so the constraint matrix of Section 6.2 has the consecutive |
| 11 | ones property: the first family of rows is a family of prefixes, and the second is a |
| 12 | family of blocks. |
| 13 | |
| 14 | With the theorem of Fulkerson and Gross this makes the matrix totally unimodular, which |
| 15 | is what lets the integer program be solved as a linear program. |
| 16 | |
| 17 | The correspondence the section asserts — that the feasible solutions of the program are |
| 18 | exactly the feasible sets — is stated here too. It holds on every instance with equal, |
| 19 | positive preprocessing times and nonnegative start times, proper or not. |
| 20 | |
| 21 | # Formalization Notes |
| 22 | |
| 23 | Three statements: that the program describes the problem, that its matrix has the |
| 24 | consecutive ones property, and that the matrix is therefore totally unimodular. |
| 25 | |
| 26 | The first is asserted in the paper and not proved there. It is the statement that turns a |
| 27 | program on paper into an algorithm for the shop, and both directions are needed: a |
| 28 | feasible set gives a feasible vector, and a feasible vector gives a feasible set. |
| 29 | |
| 30 | Properness enters only in the second. What it buys is that the order by start time and |
| 31 | the order by due date agree, which is what makes a set of intervals containing a common |
| 32 | point an interval of the order. |
| 33 | -/ |
| 34 | |
| 35 | namespace Lax496464.Lemma5 |
| 36 | |
| 37 | open Lax496464.FlowShop Lax496464.FlowShop.Instance |
| 38 | open Lax496464.EstOrder Lax496464.ProperInstances |
| 39 | open Lax496464.ConsecutiveOnes Lax496464.IntegerProgram |
| 40 | open Matrix |
| 41 | |
| 42 | variable (I : Instance) |
| 43 | |
| 44 | /-- **The program is the problem.** With equal positive preprocessing times and |
| 45 | nonnegative start times, a set of jobs is feasible exactly when its indicator vector |
| 46 | satisfies both families of constraints. -/ |
| 47 | axiom ilp_correct (hest : EstOrdered I) {p : ℕ} (hp : ∀ i : I.Job, I.p i = p) (hp0 : 0 < p) |
| 48 | (hq : ∀ i : I.Job, 0 < I.q i) (hs : ∀ j : I.Job, 0 ≤ s j) (Z : Finset I.Job) : |
| 49 | Feasible I Z ↔ ∀ r, (matrix I *ᵥ indicator I Z) r ≤ rhs I p r |
| 50 | |
| 51 | /-- **The optimum is the optimum.** A `0/1` vector satisfying the constraints with |
| 52 | objective value `W` is exactly a feasible set of weight `W`. -/ |
| 53 | axiom ilp_optimum (hest : EstOrdered I) {p : ℕ} (hp : ∀ i : I.Job, I.p i = p) (hp0 : 0 < p) |
| 54 | (hq : ∀ i : I.Job, 0 < I.q i) (hs : ∀ j : I.Job, 0 ≤ s j) (W : ℕ) : |
| 55 | (∃ x : I.Job → ℤ, (∀ i, x i = 0 ∨ x i = 1) ∧ |
| 56 | (∀ r, (matrix I *ᵥ x) r ≤ rhs I p r) ∧ ∑ i, (I.w i : ℤ) * x i = W) ↔ |
| 57 | ∃ Z : Finset I.Job, Feasible I Z ∧ weight I Z = W |
| 58 | |
| 59 | /-- **Lemma 5.** On a proper instance the constraint matrix has the consecutive ones |
| 60 | property. -/ |
| 61 | axiom lemma5 (hest : EstOrdered I) (h : Proper I) : HasConsecutiveOnes (matrix I) |
| 62 | |
| 63 | /-- The constraint matrix of a proper instance is totally unimodular. -/ |
| 64 | axiom matrix_isTotallyUnimodular (hest : EstOrdered I) (h : Proper I) : |
| 65 | (matrix I).IsTotallyUnimodular |
| 66 | |
| 67 | end Lax496464.Lemma5 |
| 68 |
Formalization Notes
Three statements: that the program describes the problem, that its matrix has the consecutive ones property, and that the matrix is therefore totally unimodular.
The first is asserted in the paper and not proved there. It is the statement that turns a program on paper into an algorithm for the shop, and both directions are needed: a feasible set gives a feasible vector, and a feasible vector gives a feasible set.
Properness enters only in the second. What it buys is that the order by start time and the order by due date agree, which is what makes a set of intervals containing a common point an interval of the order.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments