name: Problem
about: Propose a new problem type
title: "[Model] MinimumDummyActivitiesPert"
labels: model
assignees: ''
Motivation
MINIMIZING DUMMY ACTIVITIES IN PERT NETWORKS (P120) from Garey & Johnson, A2 ND44. A classical NP-complete problem arising in project management. When converting an activity-on-node (AON) project representation to an activity-on-arc (AOA) PERT network, dummy activities (arcs without real work) are needed to encode precedence constraints. Since network computation time is proportional to the number of arcs, minimizing dummy activities directly impacts project scheduling efficiency.
Associated reduction rules:
Definition
Name: MinimumDummyActivitiesPert
Canonical name: Minimizing Dummy Activities in PERT Networks (also: Minimum Dummy Arc Problem)
Reference: Garey & Johnson, Computers and Intractability, A2 ND44
Mathematical definition:
INSTANCE: Directed acyclic graph G = (V,A) where vertices represent tasks and the arcs represent precedence constraints.
QUESTION: Find a PERT network corresponding to G with the minimum number of dummy activities, i.e., a directed acyclic graph G' = (V',A') where V' = {v_i^-, v_i^+: v_i in V} and {(v_i^-, v_i^+): v_i in V} subset of A', such that |A'| - |V| is minimized and there is a path from v_i^+ to v_j^- in G' if and only if there is a path from v_i to v_j in G.
Note: The GJ formulation is a decision problem with bound K ("is there a PERT network with K or fewer dummy activities?"). We implement the optimization version (minimize dummy arcs), which is more common in the literature (Krishnamoorthy & Deo 1979, Syslo 1984, Michael et al. 1993).
Variables
- Count: The number of potential dummy arcs to decide upon. In the worst case, this is O(|V|^2) (any pair of event nodes could potentially have a dummy arc). The decision is which dummy arcs to include in the PERT network.
- Per-variable domain: binary {0, 1} — whether a potential dummy arc between event nodes is included.
- Meaning: The variable assignment encodes the set of dummy arcs in the PERT network G'. A valid solution must preserve the reachability relation: v_i^+ can reach v_j^- in G' if and only if v_i can reach v_j in G. The metric is
SolutionSize<i32>: the number of dummy arcs (|A'| - |V|), with Invalid if the reachability constraint is violated.
Schema (data type)
Type name: MinimumDummyActivitiesPert
Variants: none
| Field |
Type |
Description |
graph |
DirectedGraph |
The precedence DAG G = (V, A) where vertices are tasks (acyclicity enforced by constructor) |
Notes:
- This is an optimization problem:
Metric = SolutionSize<i32>, implementing OptimizationProblem with Direction::Minimize.
- Key getter methods:
num_vertices() (= |V|, number of tasks), num_arcs() (= |A|, number of precedence constraints).
- The PERT network G' has event nodes (not task nodes). Each task v_i becomes an arc (v_i^-, v_i^+), and dummy arcs encode the precedence relations.
- The number of activity arcs is exactly |V| (one per task). Dummy arcs are the additional arcs beyond these |V| activity arcs.
Complexity
- Decision complexity: NP-complete (Krishnamoorthy and Deo, 1979; transformation from VERTEX COVER on graphs of degree <= 3).
- Best known exact algorithm: Brute force enumeration of all possible event-node merging strategies and dummy arc placements. No faster exact algorithm is known for the general case.
- Complexity string:
"2^num_arcs" (brute force over all possible dummy arc configurations; no better exact algorithm is known)
- Polynomial special cases: Solvable in polynomial time for:
- Interval orders (precedence is an interval order)
- Two-dimensional partial orders
- Series-parallel partial orders
- References:
- M.S. Krishnamoorthy and N. Deo (1979). "Complexity of the minimum-dummy-activities problem in a PERT network." Networks, 9(3):189-194.
- M.M. Syslo (1984). "On the computational complexity of the minimum-dummy-activities problem in a PERT network." Networks, 14(1):37-45. Alternative analysis and polynomial special cases.
Extra Remark
Full book text:
INSTANCE: Directed acyclic graph G = (V,A) where vertices represent tasks and the arcs represent precedence constraints, and a positive integer K <= |V|.
QUESTION: Is there a PERT network corresponding to G with K or fewer dummy activities, i.e., a directed acyclic graph G' = (V',A') where V' = {v_i^-, v_i^+: v in V} and {(v_i^-, v_i^+): v_i in V} subset of A', and such that |A'| <= |V|+K and there is a path from v_i^+ to v_j^- in G' if and only if there is a path from v_i to v_j in G?
Reference: [Krishnamoorthy and Deo, 1977b]. Transformation from VERTEX COVER.
How to solve
Example Instance
Instance (6 tasks with precedence constraints):
Precedence DAG G with 6 tasks {A, B, C, D, E, F} and 5 arcs:
- A → C (task A must complete before C starts)
- A → D
- B → D
- B → E
- C → F
Naive PERT network (no merging):
- 12 event nodes: A-, A+, B-, B+, C-, C+, D-, D+, E-, E+, F-, F+
- 6 activity arcs (one per task): (A-,A+), (B-,B+), (C-,C+), (D-,D+), (E-,E+), (F-,F+)
- 5 dummy arcs (one per precedence arc): (A+,C-), (A+,D-), (B+,D-), (B+,E-), (C+,F-)
- Total: 6 + 5 = 11 arcs, 5 dummy arcs
Optimal PERT network (with event-node merging):
Merge event nodes when a task has a single predecessor:
- Merge A+ = C- into node e1 (only predecessor of C is A) → eliminates dummy (A+,C-)
- Merge B+ = E- into node e3 (only predecessor of E is B) → eliminates dummy (B+,E-)
- Merge C+ = F- into node e2 (only predecessor of F is C) → eliminates dummy (C+,F-)
Final PERT network with 9 event nodes:
- Event nodes: A-, e1(=A+=C-), e2(=C+=F-), F+, B-, e3(=B+=E-), E+, D-, D+
- Activity arcs (6): A:(A-,e1), B:(B-,e3), C:(e1,e2), D:(D-,D+), E:(e3,E+), F:(e2,F+)
- Dummy arcs (2): (e1,D-) for A→D, (e3,D-) for B→D
- Total: 6 + 2 = 8 = |V| + 2
Reachability verification:
- A→C: A+ = e1 = C-, path of length 0 ✓
- A→D: e1 → D- via dummy ✓
- B→D: e3 → D- via dummy ✓
- B→E: B+ = e3 = E-, path of length 0 ✓
- C→F: C+ = e2 = F-, path of length 0 ✓
- A→F: e1 → e2 (task C) → F+ (task F), i.e., A→C→F ✓
- No spurious reachability (B cannot reach C or F; A cannot reach E) ✓
Optimal value: 2 dummy arcs
No further merging is possible: D has two predecessors (A and B), so D- cannot be merged with either e1 or e3 without creating spurious reachability between A and B's subnetworks.
name: Problem
about: Propose a new problem type
title: "[Model] MinimumDummyActivitiesPert"
labels: model
assignees: ''
Motivation
MINIMIZING DUMMY ACTIVITIES IN PERT NETWORKS (P120) from Garey & Johnson, A2 ND44. A classical NP-complete problem arising in project management. When converting an activity-on-node (AON) project representation to an activity-on-arc (AOA) PERT network, dummy activities (arcs without real work) are needed to encode precedence constraints. Since network computation time is proportional to the number of arcs, minimizing dummy activities directly impacts project scheduling efficiency.
Associated reduction rules:
Definition
Name:
MinimumDummyActivitiesPertCanonical name: Minimizing Dummy Activities in PERT Networks (also: Minimum Dummy Arc Problem)
Reference: Garey & Johnson, Computers and Intractability, A2 ND44
Mathematical definition:
INSTANCE: Directed acyclic graph G = (V,A) where vertices represent tasks and the arcs represent precedence constraints.
QUESTION: Find a PERT network corresponding to G with the minimum number of dummy activities, i.e., a directed acyclic graph G' = (V',A') where V' = {v_i^-, v_i^+: v_i in V} and {(v_i^-, v_i^+): v_i in V} subset of A', such that |A'| - |V| is minimized and there is a path from v_i^+ to v_j^- in G' if and only if there is a path from v_i to v_j in G.
Note: The GJ formulation is a decision problem with bound K ("is there a PERT network with K or fewer dummy activities?"). We implement the optimization version (minimize dummy arcs), which is more common in the literature (Krishnamoorthy & Deo 1979, Syslo 1984, Michael et al. 1993).
Variables
SolutionSize<i32>: the number of dummy arcs (|A'| - |V|), withInvalidif the reachability constraint is violated.Schema (data type)
Type name:
MinimumDummyActivitiesPertVariants: none
graphDirectedGraphNotes:
Metric = SolutionSize<i32>, implementingOptimizationProblemwithDirection::Minimize.num_vertices()(= |V|, number of tasks),num_arcs()(= |A|, number of precedence constraints).Complexity
"2^num_arcs"(brute force over all possible dummy arc configurations; no better exact algorithm is known)Extra Remark
Full book text:
INSTANCE: Directed acyclic graph G = (V,A) where vertices represent tasks and the arcs represent precedence constraints, and a positive integer K <= |V|.
QUESTION: Is there a PERT network corresponding to G with K or fewer dummy activities, i.e., a directed acyclic graph G' = (V',A') where V' = {v_i^-, v_i^+: v in V} and {(v_i^-, v_i^+): v_i in V} subset of A', and such that |A'| <= |V|+K and there is a path from v_i^+ to v_j^- in G' if and only if there is a path from v_i to v_j in G?
Reference: [Krishnamoorthy and Deo, 1977b]. Transformation from VERTEX COVER.
How to solve
Example Instance
Instance (6 tasks with precedence constraints):
Precedence DAG G with 6 tasks {A, B, C, D, E, F} and 5 arcs:
Naive PERT network (no merging):
Optimal PERT network (with event-node merging):
Merge event nodes when a task has a single predecessor:
Final PERT network with 9 event nodes:
Reachability verification:
Optimal value: 2 dummy arcs
No further merging is possible: D has two predecessors (A and B), so D- cannot be merged with either e1 or e3 without creating spurious reachability between A and B's subnetworks.