A Set of Jobs Is Feasible Exactly When It Satisfies Both Conditions
Lax496464.Feasibility · concepts/Lax496464/Feasibility.lean · lax-496464
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
A set of jobs can be completed just in time if and only if it satisfies Condition 1 and Condition 2. The two stages therefore decouple: the first-stage machine and the second-stage machines constrain separately, and any pair of schedules meeting the two conditions can be combined into one schedule of the shop.
Condition 2 is in turn a depth condition: fits on second-stage machines exactly when at most of its jobs are running at any one instant. One direction is immediate, since jobs running at a common instant pairwise conflict; the other is the perfectness of interval graphs.
Concept map
Evidence
In the paper
- page 2 of this submission's paper
Lean source view on GitHub
| 1 | import Lax496464.Conditions |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: A Set of Jobs Is Feasible Exactly When It Satisfies Both Conditions |
| 6 | type: theorem |
| 7 | --- |
| 8 | A set of jobs can be completed just in time if and only if it satisfies Condition 1 |
| 9 | and Condition 2. The two stages therefore decouple: the first-stage machine and the |
| 10 | second-stage machines constrain separately, and any pair of schedules meeting the two |
| 11 | conditions can be combined into one schedule of the shop. |
| 12 | |
| 13 | Condition 2 is in turn a *depth* condition: fits on second-stage machines exactly |
| 14 | when at most of its jobs are running at any one instant. One direction is immediate, |
| 15 | since jobs running at a common instant pairwise conflict; the other is the perfectness of |
| 16 | interval graphs. |
| 17 | |
| 18 | # Formalization Notes |
| 19 | |
| 20 | The characterization is what every algorithm of the paper runs on, so it is stated about |
| 21 | the schedule itself rather than assumed. `Feasible` unfolds to the existence of a |
| 22 | `JITSchedule`, a piece of data with five conditions; the theorem is what licenses |
| 23 | replacing it by the two conditions on the set. |
| 24 | |
| 25 | The depth condition is used throughout the paper and proved nowhere in it. It is not an |
| 26 | immediate consequence of the partition formulation: the content is that greedily |
| 27 | colouring the jobs in order of their start times never needs more colours than the |
| 28 | largest number of jobs alive at one instant. It is stated here because the algorithms of |
| 29 | Sections 4, 5 and 6 index their tables by the jobs alive at an instant, and that index is |
| 30 | only the right one because of this equivalence. |
| 31 | |
| 32 | The depth statement carries the hypothesis that the processing times of are positive. |
| 33 | It is not cosmetic. A job with has an empty interval, is therefore running at no |
| 34 | instant at all, and conflicts with nothing; it is invisible to the left-hand side of the |
| 35 | equivalence, while the right-hand side still has to give it a machine — which is possible |
| 36 | only if there is one. The paper assumes positive processing times throughout. |
| 37 | |
| 38 | Decidability of feasibility is recorded as a separate statement, in the form the paper's |
| 39 | Observation 2 needs: it is enough to test the counting condition at the start times of |
| 40 | the selected jobs, of which there are at most . |
| 41 | -/ |
| 42 | |
| 43 | namespace Lax496464.Feasibility |
| 44 | |
| 45 | open Lax496464.FlowShop Lax496464.FlowShop.Instance Lax496464.Conditions |
| 46 | |
| 47 | /-- **Section 2.** A set of jobs is feasible exactly when it can be preprocessed in time |
| 48 | and can be scheduled on the `m` second-stage machines. -/ |
| 49 | axiom feasible_iff (I : Instance) (Z : Finset I.Job) : |
| 50 | Feasible I Z ↔ Preprocessable I Z ∧ MSchedulable I Z |
| 51 | |
| 52 | /-- **Condition 2 is a depth condition.** A set of jobs with positive processing times |
| 53 | fits on the `m` second-stage machines exactly when at most `m` of them are running at any |
| 54 | one instant. -/ |
| 55 | axiom mSchedulable_iff_card_running_le (I : Instance) {Z : Finset I.Job} |
| 56 | (hq : ∀ j ∈ Z, 0 < I.q j) : |
| 57 | MSchedulable I Z ↔ ∀ t : ℤ, (running I Z t).card ≤ I.machines |
| 58 | |
| 59 | /-- **Observation 2.** Feasibility is decided by Condition 1 together with a count, at |
| 60 | the start time of each selected job, of the selected jobs running then. -/ |
| 61 | axiom feasible_iff_conditions (I : Instance) {Z : Finset I.Job} |
| 62 | (hq : ∀ j ∈ Z, 0 < I.q j) : |
| 63 | Feasible I Z ↔ |
| 64 | Preprocessable I Z ∧ ∀ j ∈ Z, (running I Z (s j)).card ≤ I.machines |
| 65 | |
| 66 | end Lax496464.Feasibility |
| 67 |
Formalization Notes
The characterization is what every algorithm of the paper runs on, so it is stated about the schedule itself rather than assumed. unfolds to the existence of a , a piece of data with five conditions; the theorem is what licenses replacing it by the two conditions on the set.
The depth condition is used throughout the paper and proved nowhere in it. It is not an immediate consequence of the partition formulation: the content is that greedily colouring the jobs in order of their start times never needs more colours than the largest number of jobs alive at one instant. It is stated here because the algorithms of Sections 4, 5 and 6 index their tables by the jobs alive at an instant, and that index is only the right one because of this equivalence.
The depth statement carries the hypothesis that the processing times of are positive. It is not cosmetic. A job with has an empty interval, is therefore running at no instant at all, and conflicts with nothing; it is invisible to the left-hand side of the equivalence, while the right-hand side still has to give it a machine — which is possible only if there is one. The paper assumes positive processing times throughout.
Decidability of feasibility is recorded as a separate statement, in the form the paper's Observation 2 needs: it is enough to test the counting condition at the start times of the selected jobs, of which there are at most .
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments