Project Scheduling with Time Windows and Scarce Resources VI: Stable, Semistable, Pseudostable and Quasistable Schedules Are Extreme Points of the Feasible RegionTextbook
Motivation
Resource-constrained project scheduling with minimum and maximum time lags is the model behind make-to-order production, process-industry batch planning and large engineering projects. When the objective is the project duration or another regular function (nondecreasing in every start time), an optimum can be found among schedules that cannot be shifted to the left. Many objectives in practice are nonregular: net present value, earliness–tardiness costs, resource levelling and resource investment. For these, delaying an activity can pay, and "shift as far left as possible" no longer identifies a finite set of candidate schedules.
Neumann, Nübel and Schwindt (Math. Methods Oper. Res. 52, 2000) answered this with classes of schedules defined by the absence of pairs of opposite shifts: stable, semistable, pseudostable and quasistable schedules, the mirror image of active, semiactive, pseudoactive and quasiactive schedules. Section 3.2 of Neumann, Schwindt and Zimmermann, Project Scheduling with Time Windows and Scarce Resources (Springer 2003), shows that these classes are exactly the extreme points of the feasible region and of its natural convex pieces. The classification of objective functions in §3.3, and every enumeration scheme of the later chapter, rests on that correspondence.
Setting
A project has activities with . Activity is the project beginning and the project completion. Activity has an integer duration , with and otherwise. The project network has node set and arcs with integer weights , each encoding a temporal constraint . A prescribed deadline is included as the backward arc of weight . Renewable resources have capacities , and activity uses units while it runs.
A schedule is a vector of start times. The time-feasible region collects the schedules with , and on every arc; it is a polyhedron, and a polytope when every activity precedes as in Remarks 1.1.2. A schedule is resource-feasible if at every time the running activities use at most units of every resource. The feasible region is . It is in general neither convex nor connected.
A schedule induces the strict order . For a strict order , the order polytope is . The order is feasible if . The schedule polytope of is .
A shift moves a schedule to . It is global if both are feasible, local if in addition a continuous path inside joins them, order-preserving if , and order-monotone if and are comparable. Two shifts from to and are opposite if with . A feasible schedule is stable, semistable, pseudostable or quasistable if no pair of opposite global, local, order-monotone or order-preserving shifts, respectively, starts at it. It is antiactive if no global right-shift starts at it.
Formalization targets
Goal: Theorem 3.2.10
For every feasible schedule :
Milestones
- Lemma 3.2.4: opposite order-preserving or order-monotone shifts can be taken uniform (all moved activities move by one common amount).
- Lemma 3.2.8: pseudostable schedules are the local extreme points of , the points on no segment that lies entirely in .
- Lemma 3.2.9: when is not pseudostable, a segment through can be found inside one order polytope with feasible.
- Proposition 3.2.13: the quasistable schedules, and every class below them in Fig. 3.2.6, form finite sets.
- Proposition 3.2.16: every vertex of is the unique solution of , on the arcs of a spanning tree of ; for the minimal point, an outtree rooted at .
- Theorem 3.2.18: is quasistable iff it is the unique solution of such a tree system in the schedule network .
- Remark 3.2.7: every activity of a quasistable schedule is tied to another one by a tight duration or time lag, so quasistable schedules are integer-valued.
Significance
The theorem makes four shift-defined classes computable objects: extreme points of explicit polytopes, or of a finite union of them. Together with Proposition 3.2.13, it gives each class of nonregular objective functions in §3.3 a finite candidate set of schedules among which an optimum can be sought (§3.2, p. 207). Theorem 3.2.18 gives the certificate for quasistable schedules: a spanning tree of the schedule network, which the later sections use to enumerate vertices.
The results are proved in the book, except Lemma 3.2.9, whose proof is cited to Neumann, Nübel and Schwindt (2000). As far as a search of the platform shows, none of them has been formalized. A formalization supplies the missing details, among them that connected and path components of coincide and the degenerate vertices behind the tree description. It also produces a reusable library of schedule classes on real-valued start times.
Difficulty
Part (b) is close to the definition, since a pair of opposite global shifts is a segment through with feasible endpoints. The content is elsewhere. In (c) the definition speaks of continuous trajectories and the right-hand side of connected components, so the proof needs local path-connectedness of a finite union of polytopes. In (d) the feasible region is not convex: an order-monotone shift keeps and in a common order polytope, but and may lie in different ones. The segment through has to be moved into a single order polytope with , and that is Lemma 3.2.9. Proposition 3.2.16 and Theorem 3.2.18 need the passage from linearly independent tight constraints to a spanning tree. They must allow degenerate vertices, where several trees describe the same point, and must represent the nonnegativity constraints by arcs of the network.
Formalization scope
Activities are Fin (n + 2); start times are real vectors Fin (n + 2) → ℝ with the pointwise order. Durations, capacities and requirements are natural numbers, and time lags integers. The deadline is the arc of weight , which is always present, as §3.1 prescribes. Resource constraints are imposed for every , not only for as (3.1.2) writes; the proofs use the first reading. Extreme points are Mathlib's Set.extremePoints ℝ, maximal points are Maximal for the pointwise order, and components are connectedComponentIn. A local shift carries an explicit continuous map from unitInterval into . Strict orders are asymmetric, transitive relations on . A spanning tree is an arc set of size whose underlying simple graph is connected. Its arcs must be arcs of , resp. of , with their network weights, so an arbitrary equation system does not count.
The schedule classes are defined through shifts and nothing else. Defining "stable" as "extreme point", or "pseudostable" as "local extreme point", would make the goal and Lemma 3.2.8 tautologies, and such encodings are ruled out. Proposition 3.2.16 carries the book's standing convention (§1.2, p. 8) that every node is reached from by a walk of nonnegative length. Without it the statement is false.
The definitions duplicate, under this mission's namespace, the model of the book's Chapter 2 missions (order polytopes, shifts, active classes). They are written to be merged with those once published. Contributions on the geometry of finite unions of polytopes, and on spanning-tree bases of difference constraint systems, are reusable beyond this mission.
Selected references
- K. Neumann, C. Schwindt, J. Zimmermann, Project Scheduling with Time Windows and Scarce Resources, 2nd ed., Springer, 2003, §3.1–3.2. https://doi.org/10.1007/978-3-540-24800-2
- K. Neumann, H. Nübel, C. Schwindt, Active and stable project scheduling, Mathematical Methods of Operations Research 52 (2000), 441–465. https://doi.org/10.1007/s001860000092
- M. Bartusch, R. H. Möhring, F. J. Radermacher, Scheduling project networks with resource constraints and time windows, Annals of Operations Research 16 (1988), 199–240. https://doi.org/10.1007/BF02283745