Capítulo 41 — Infraestrutura crítica e segurança setorial: otimização de sistemas
Mapa da aula
Aula 41 publicada. Mapa, exemplo, EX082.
flowchart TD
N0["41.1 Formulando o problema"]
N1["41.2 Soluções exatas e heurísticas"]
N2["41.4 Interações"]
N3["41.6 Atividade prática: Laboratório 16"]
N4["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX082"]
Desenho lógico
flowchart LR
N0["41.1 Formulando o problema"]
N1["41.2 Soluções exatas e heurísticas"]
N2["41.4 Interações"]
N3["41.6 Atividade prática: Laboratório 16"]
N4["Síntese do capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX082"]
[41.1 Formulando o problema]
|
v
[41.2 Soluções exatas e heurísticas]
|
v
[41.4 Interações]
|
v
[41.6 Atividade prática: Laboratório 16]
|
v
[Síntese do capítulo]
|
v
[Exemplo resolvido] --> [Exercício EX082]
Objetivos de aprendizagem e conexão
Ao fim deste capítulo você será capaz de (1) formular o investimento em segurança como um problema de otimização, com objetivos e restrições; (2) resolver problemas pequenos de forma exata e entender por que heurísticas gulosas podem falhar; (3) tratar múltiplos objetivos e a incerteza com análise de Pareto e de sensibilidade; e (4) apresentar os resultados da otimização como apoio à decisão, e não como decisões. Ele se apoia nos capítulos 25, 32 e 36 e prepara o projeto final.
41.1 Formulando o problema
Escolha um conjunto de controles $S$ que maximize o benefício $\sum_{c\in S} b_c$ sujeito ao custo $\sum_{c\in S} k_c \le B$. Esse é o problema da mochila 0/1. Os benefícios podem ser a redução da perda anual esperada, a redução de pessoas-hora sem água ou a redução da probabilidade do evento de topo. Problemas reais acrescentam restrições (dependências entre controles, limites de pessoal, fases) e interações (dois controles que tratam do mesmo cenário não somam benefícios). Para a fase 1 do TMRP, os benefícios do Laboratório 16 são estimativas sintéticas da redução da perda anual esperada.
41.2 Soluções exatas e heurísticas
Com um punhado de candidatos, enumere todos os subconjuntos ($2^n$). A programação dinâmica resolve problemas da mochila de forma exata, em tempo proporcional a $n \times B$ para custos inteiros. A heurística gulosa — escolher pela razão benefício/custo até gastar o orçamento — é rápida e intuitiva, mas pode deixar orçamento sem uso ou perder combinações melhores. Para problemas maiores, os solucionadores de programação inteira são o padrão. O Laboratório 16 mostra a falha da heurística gulosa nos sete candidatos do TMRP. A gulosa deixou orçamento sem uso e perdeu as RTUs de reserva, uma lacuna que a busca exaustiva encontrou de imediato.
41.3 Múltiplos objetivos e incerteza
Os investimentos em segurança equilibram custo, redução de risco, operabilidade e outros bens. Uma solução é ótima de Pareto se nenhuma outra solução é melhor num objetivo sem ser pior em outro; apresente o conjunto de Pareto, e não uma única resposta ponderada. Os benefícios são estimativas incertas; teste se o conjunto ótimo muda quando os benefícios variam dentro de faixas plausíveis. Escolhas robustas — as que são boas em vários cenários — muitas vezes são preferíveis a escolhas ótimas apenas sob estimativas pontuais. Para o TMRP, a verificação de robustez do EX082 varia cada benefício em vinte por cento e constata que três das catorze execuções mudam o ótimo, de modo que a última parte da carteira é um quase empate.
41.4 Interações
Os benefícios raramente são aditivos. A telemetria autenticada e o monitoramento da rede reduzem ambos o risco de comandos forjados; depois que a autenticação está implantada, o benefício adicional do monitoramento para esse cenário é menor. Modele as interações calculando o benefício a partir do modelo de cenários (p. ex., a árvore de falhas) para cada conjunto candidato, em vez de somar números por controle. No Laboratório 16 os benefícios são simplesmente somados, o que é uma simplificação: a telemetria autenticada e o sensor de detecção na rede reduzem ambos o risco de comandos forjados, então seu valor combinado é menor do que a soma. Um modelo melhor recalcula o benefício a partir da árvore de falhas para cada conjunto candidato.
41.5 Exemplo resolvido: portfólio da fase 1 do TMRP (sintético)
Sete controles candidatos com custos e benefícios sintéticos, orçamento de 250 mil (Laboratório 16). A gulosa pela razão escolhe os backups off-line, o modo manual local, a telemetria autenticada e o endurecimento da estação de engenharia: custo de 215 mil, benefício de 480 mil. A busca exaustiva encontra um conjunto melhor — telemetria autenticada, modo manual local, backups off-line e RTUs de reserva — com custo de 250 mil e benefício de 530 mil. A gulosa escolheu cedo o barato endurecimento da estação de trabalho e depois não teve como pagar as RTUs de reserva. A equipe apresenta os dois, observa que as estimativas de benefício têm grande incerteza e mostra que, quando cada benefício varia ±20% individualmente, a telemetria autenticada e o modo manual local permanecem em todos os ótimos, enquanto três execuções substituem os backups off-line e as RTUs de reserva pelo gerador de reserva (EX082) — uma verificação de robustez, e não uma prova.
41.6 Atividade prática: Laboratório 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))
Saída esperada:
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
O ótimo exaustivo gasta todo o orçamento em telemetria autenticada, modo manual local, backups off-line e RTUs de reserva. A gulosa escolhe cedo o endurecimento da estação de trabalho por causa de sua boa razão, deixando dinheiro de menos para as RTUs de reserva e terminando com menos benefício e algum orçamento sem uso. Com sete candidatos, a busca exaustiva é instantânea, então não há razão para aceitar a resposta gulosa; com centenas de candidatos, um solucionador de programação inteira substituiria ambas. Registre os dois resultados. Observe o orçamento sem uso.
41.7 Erros comuns e limites
- Somar os benefícios de controles que interagem.
- Apresentar um único ótimo, sem sensibilidade.
- Heurísticas gulosas usadas sem conferi-las com soluções exatas em instâncias pequenas.
- Resultados de otimização apresentados como decisões, e não como insumos para decisões.
- Números de benefício sem base declarada.
O portfólio do TMRP evita o terceiro erro conferindo a gulosa com a busca exaustiva e apresenta os dois resultados, com a verificação de robustez, ao dono da decisão. Cada valor de benefício é rotulado como estimativa sintética, e o resultado é oferecido como apoio à decisão. As interações são registradas.
Exercícios — capítulo 41
EX081 — Varredura de orçamento. Objetivo: ver como o ótimo muda com o orçamento. Entradas: Laboratório 16. Passos: calcule o conjunto ótimo e o benefício para orçamentos de 150, 200, 250, 300 e 350 mil; trace ou tabule o benefício marginal a cada 50 mil adicionais. Evidência esperada: tabela. Rubrica: 3 = ótimos corretos (execute o código), benefício marginal decrescente observado e interpretado; 2 = um erro; 1 = um único orçamento; 0 = nada.
EX082 — Robustez. Objetivo: testar a sensibilidade do ótimo. Entradas: Laboratório 16. Passos: para cada controle, multiplique seu benefício por 0,8 e por 1,2 (os demais inalterados), recalcule o ótimo e relate qualquer mudança. Evidência esperada: tabela das 14 execuções. Rubrica: 3 = resultados corretos e conclusão sobre a robustez; 2 = parcial; 1 = não executado; 0 = nada.
Síntese do capítulo
Formule as escolhas de investimento como otimização, com objetivos e restrições explícitos; resolva problemas pequenos de forma exata e desconfie dos atalhos gulosos; modele as interações em vez de somar benefícios; apresente conjuntos de Pareto e a sensibilidade; e ofereça o resultado como apoio estruturado a uma decisão humana.
Continue estudando — capítulo 41 de 50
← Capítulo 40 · Índice de capítulos do curso · Capítulo 42 →
Siga para a próxima lição escrita.