Chapter 41 — Critical infrastructure and sector security: system optimization
Lesson map
Lesson 41 published. Map, example, EX082.
flowchart TD
N0["Learning outcomes and connection"]
N1["41.1 Formulating the problem"]
N2["41.2 Exact and heuristic solutions"]
N3["41.3 Multiple objectives and uncertainty"]
N4["41.4 Interactions"]
N5["41.6 Practical activity: Lab 16"]
N6["Chapter synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Worked example"]
EX --> Q["Exercise EX082"]
Logical drawing
flowchart LR
N0["Learning outcomes and connection"]
N1["41.1 Formulating the problem"]
N2["41.2 Exact and heuristic solutions"]
N3["41.3 Multiple objectives and uncertainty"]
N4["41.4 Interactions"]
N5["41.6 Practical activity: Lab 16"]
N6["Chapter synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX082"]
[Learning outcomes and connection]
|
v
[41.1 Formulating the problem]
|
v
[41.2 Exact and heuristic solutions]
|
v
[41.3 Multiple objectives and uncertainty]
|
v
[41.4 Interactions]
|
v
[41.6 Practical activity: Lab 16]
|
v
[Chapter synthesis]
|
v
[Worked example] --> [Exercise EX082]
Learning outcomes and connection
After this chapter you can (1) formulate security investment as an optimisation problem with objectives and constraints; (2) solve small problems exactly and understand why greedy heuristics can fail; (3) handle multiple objectives and uncertainty with Pareto analysis and sensitivity; and (4) present optimisation results as decision support, not decisions. It builds on Chapters 25, 32 and 36 and prepares the capstone.
41.1 Formulating the problem
Choose a set of controls $S$ to maximise benefit $\sum_{c\in S} b_c$ subject to cost $\sum_{c\in S} k_c \le B$. This is the 0/1 knapsack problem. Benefits might be expected annual loss reduction, reduction in people-hours without water, or reduction in top-event probability. Real problems add constraints (dependencies between controls, staffing limits, phases) and interactions (two controls addressing the same scenario do not add benefits).
For TMRP's phase 1, the benefits in Lab 16 are synthetic estimates of expected annual loss reduction.
41.2 Exact and heuristic solutions
With a handful of candidates, enumerate all subsets ($2^n$). Dynamic programming solves knapsack problems exactly in time proportional to $n \times B$ for integer costs. The greedy heuristic — pick by benefit/cost ratio until the budget is spent — is fast and intuitive but can leave budget unused or miss better combinations. For larger problems, integer programming solvers are standard.
Lab 16 shows the greedy failure on TMRP's seven candidates. Greedy left budget unused and missed the spare RTUs, a gap exhaustive search found at once.
41.3 Multiple objectives and uncertainty
Security investments trade off cost, risk reduction, operability and other goods. A solution is Pareto-optimal if no other solution is better in one objective without being worse in another; present the Pareto set rather than a single weighted answer. Benefits are uncertain estimates; test whether the optimal set changes when benefits vary within plausible ranges. Robust choices — those that are good across scenarios — are often preferable to choices optimal only under point estimates.
For TMRP, the robustness check in EX082 varies each benefit by twenty per cent and finds that three of the fourteen runs change the optimum, so the last part of the portfolio is a near-tie.
41.4 Interactions
Benefits are rarely additive. Authenticated telemetry and network monitoring both reduce forged-command risk; once authentication is in place, monitoring's additional benefit for that scenario is smaller. Model interactions by computing benefit from the scenario model (e.g., the fault tree) for each candidate set rather than adding per-control numbers.
In Lab 16 the benefits are simply added, which is a simplification: authenticated telemetry and the network detection sensor both reduce forged-command risk, so their combined value is less than the sum. A better model recomputes benefit from the fault tree for each candidate set.
41.5 Worked example: TMRP phase 1 portfolio (synthetic)
Seven candidate controls with synthetic costs and benefits, budget 250 k (Lab 16). Greedy by ratio picks offline backups, local manual mode, authenticated telemetry and engineering-workstation hardening: cost 215 k, benefit 480 k. Exhaustive search finds a better set — authenticated telemetry, local manual mode, offline backups and spare RTUs — at cost 250 k and benefit 530 k. Greedy took the cheap workstation hardening early and could then not afford the spare RTUs. The team presents both, notes that benefit estimates have wide uncertainty, and shows that when each benefit varies by ±20% individually, authenticated telemetry and local manual mode stay in every optimum while three runs replace offline backups and spare RTUs with the backup generator (EX082) — a robustness check, not a proof.
41.6 Practical activity: Lab 16
# Lab 16 - choose controls under a budget: exhaustive search beats greedy here (synthetic, offline)
from itertools import combinations
C = { # control: (cost k$, expected annual loss reduction k$)
"auth_telemetry": (120, 260), "backup_gen_PS4": (90, 150), "local_manual_mode": (40, 110),
"offline_backups": (30, 70), "eng_ws_hardening": (25, 40), "ndr_sensor": (100, 120), "spare_rtus": (60, 90)}
B = 250
best = max((s for r in range(len(C)+1) for s in combinations(C, r) if sum(C[c][0] for c in s) <= B),
key=lambda s: sum(C[c][1] for c in s))
print("optimal:", sorted(best), "cost", sum(C[c][0] for c in best), "benefit", sum(C[c][1] for c in best))
g, spent = [], 0
for c in sorted(C, key=lambda c: C[c][1] / C[c][0], reverse=True):
if spent + C[c][0] <= B: g.append(c); spent += C[c][0]
print("greedy :", sorted(g), "cost", spent, "benefit", sum(C[c][1] for c in g))
Expected output:
optimal: ['auth_telemetry', 'local_manual_mode', 'offline_backups', 'spare_rtus'] cost 250 benefit 530
greedy : ['auth_telemetry', 'eng_ws_hardening', 'local_manual_mode', 'offline_backups'] cost 215 benefit 480
The exhaustive optimum spends the whole budget on authenticated telemetry, local manual mode, offline backups and spare RTUs. Greedy chooses workstation hardening early because of its good ratio, leaving too little money for the spare RTUs and finishing with less benefit and some budget unused. On seven candidates the exhaustive search is instant, so there is no reason to accept the greedy answer; with hundreds of candidates, an integer programming solver would replace both. Record both results. Note the unused budget.
41.7 Common errors and limits
- Adding benefits of interacting controls.
- Presenting a single optimum without sensitivity.
- Greedy heuristics used without checking against exact solutions on small instances.
- Optimisation results presented as decisions rather than inputs to decisions.
- Benefit numbers with no stated basis.
TMRP's portfolio avoids the third error by checking greedy against exhaustive search, and presents both results with the robustness check to the decision owner. Each benefit figure is labelled as a synthetic estimate, and the result is offered as decision support. Interactions are noted.
Exercises — chapter 41
EX081 — Budget sweep. Objective: see how the optimum changes with budget. Inputs: Lab 16. Steps: compute the optimal set and benefit for budgets 150, 200, 250, 300 and 350 k; plot or tabulate the marginal benefit per extra 50 k. Expected evidence: table. Rubric: 3 = correct optima (run code), diminishing marginal benefit observed and interpreted; 2 = one error; 1 = one budget; 0 = none.
EX082 — Robustness. Objective: test sensitivity of the optimum. Inputs: Lab 16. Steps: for each control, multiply its benefit by 0.8 and by 1.2 (others unchanged), recompute the optimum, and report any change. Expected evidence: table of 14 runs. Rubric: 3 = correct results and conclusion about robustness; 2 = partial; 1 = not run; 0 = none.
Chapter synthesis
Formulate investment choices as optimisation with explicit objectives and constraints, solve small problems exactly and distrust greedy shortcuts, model interactions instead of adding benefits, present Pareto sets and sensitivity, and offer the result as structured support for a human decision.
Continue studying — chapter 41 of 50
← Chapter 40 · Course chapter index · Chapter 42 →
Continue to the next authored lesson.