PV

content

apresentacao-ons-plc • 09/06/2026

📊 Aplicando Estratégias de Diversificação em Algoritmos Evolutivos para Otimização em SEP

Autor: Pedro Victor Rodrigues Veras
Orientador: Prof. Rainer Zanghi
Departamento de Engenharia Elétrica — LMSE / Escola de Engenharia / UFF
Programa de Iniciação Científica (PIBIC) — 2025/2026


📋 Sumário

  1. Introdução e Motivação
  2. Metodologia
  3. Fundamentação Teórica
  4. Formulação Matemática
  5. Arquitetura do Framework
  6. Classe RedeEletricaPandaPower
  7. Tratamento de Não-Convergência
  8. Resultados Experimentais
  9. Dashboard Analítico
  10. Trabalhos Futuros
  11. Conclusões
  12. Referências

1. Introdução e Motivação

Contexto Operativo

O Sistema Interligado Nacional (SIN) apresenta complexidade operacional crescente. Desligamentos programados para manutenção alteram a topologia da rede e podem gerar:

  • ⚠️ Sobrecargas em linhas e transformadores
  • ⚠️ Colapso de tensão
  • ⚠️ Corte de carga involuntário
  • ⚠️ Ilhamento de regiões

O Problema

O operador precisa simultaneamente:

ObjetivoDesafio
Minimizar riscos operativosEspaço combinatório explosivo
Atender restrições elétricasFunção objetivo não-linear
Respeitar prioridades de manutençãoAlto custo computacional
Garantir segurança N-1Epistasia e convergência prematura

Solução Proposta

Framework open-source em Python que integra algoritmos evolutivos (DEAP) com simulação elétrica (Pandapower), aplicando a estratégia Repopulation-with-Elite-Set (RCE) para preservar diversidade populacional e evitar convergência prematura.

Stack tecnológico

Python 3.10+ | DEAP | Pandapower | Pandas | PySide6 | Streamlit

┌─────────────────────────────────────────────────────┐ │ 1. Estudo bibliográfico → Agendamento ótimo SEP │ │ 2. Revisão de conceitos → SEP + Algoritmos │ │ 3. Elaboração do algoritmo RCE │ │ 4. Implementação → Python + Simulações IEEE/SIN │ └─────────────────────────────────────────────────────┘

Fluxo Detalhado

  1. Definição de variáveis de decisão, restrições e função objetivo
  2. Codificação do cromossomo (gene = horário, duração, cenário)
  3. Integração com Pandapower para avaliação elétrica real
  4. Aplicação da estratégia RCE — elite set migra entre populações
  5. Validação em redes IEEE 14, 30, 57, 118 e SIN 45
  6. Dashboard Streamlit para análise visual dos resultados

Ferramentas

CamadaTecnologiaFunção
NúcleoDEAPAlgoritmo evolutivo
SimulaçãoPandapowerFluxo de potência AC
DadosPandasProcessamento
DesktopPySide6Launcher GUI
DashboardStreamlitAnálise visual

📌 Figura 1 — Arquitetura geral do framework.
[Inserir fluxograma: Launcher Qt → Núcleo AG/DEAP → Pandapower → Dashboard Streamlit)


3. Fundamentação Teórica

3.1 Metaheurísticas e Algoritmos Evolutivos

Metaheurísticas são estratégias gerais inspiradas em processos naturais para explorar espaços de busca complexos onde métodos exatos falham [1][6].

Características:

ConceitoDefinição
VizinhançaConjunto de soluções próximas a uma solução dada
PerturbaçãoMecanismo que gera soluções vizinhas
Busca localExplora sistematicamente a vizinhança
EpistasiaInteração entre genes no cromossomo
PenalidadeAcréscimo ao fitness por violação de restrição

3.2 Algoritmo Genético com Estratégia RCE

A estratégia Repopulation-with-Elite-Set [1][7] introduz um mecanismo de migração de indivíduos elite entre subpopulações:

População A ──► Elite Set ◄─── População B
      ↑          ▲          ↑
   Seleção    Preservação   Seleção

Objetivos da RCE:

  • ✅ Evitar convergência prematura
  • ✅ Preservar diversidade genética
  • ✅ Explorar novas regiões do espaço de busca
  • ✅ Intensificar regiões promissoras identificadas pelo elite set

📌 Figura 2 — Migração de indivíduos elite durante repopulações.
(Inserir diagrama de migração entre subpopulações)

3.3 Diversificação × Intensificação

EstratégiaO que fazQuando usar
DiversificaçãoExplora regiões distantesInício da busca, risco de convergência
IntensificaçãoAprofunda em regiões promissorasQuando elite set identifica boas soluções

4. Formulação Matemática

4.1 Variáveis de Decisão

Cada cromossomo codifica um agendamento completo:

GeneRepresentaDomínio
g₁Horário inicial de desligamento{t₁, t₂, ..., tₙ}
g₂Duração da intervenção{d₁, d₂, ..., dₘ}
g₃Cenário operativo associado{c₁, c₂, ..., cₖ}

4.2 Função Objetivo

Minimizar o fitness agregado sobre todos os cenários:

Fitness=∑s∈cenaˊrios(wv⋅Vviolac¸a˜o(s)+wf⋅Fviolac¸a˜o(s)+wc⋅Ccorte(s))\text{Fitness} = \sum_{s \in \text{cenários}} \left( w_v \cdot V_{\text{violação}}^{(s)} + w_f \cdot F_{\text{violação}}^{(s)} + w_c \cdot C_{\text{corte}}^{(s)} \right)

Onde:

TermoSignificado
Vviolac¸a˜oV_{\text{violação}}Penalidade por violação de limites de tensão (p.u.)
Fviolac¸a˜oF_{\text{violação}}Penalidade por sobrecarga em linhas/transformadores (MW)
CcorteC_{\text{corte}}Penalidade por não atendimento de demanda (MW)
wv,wf,wcw_v, w_f, w_cPesos configuráveis pelo operador

4.3 Restrições Operativas

┌──────────────────────────────────────────────┐
│  • Segurança N-1                             │
│  • Limites de tensão: 0.95 ≤ V ≤ 1.05 p.u.  │
│  • Limites térmicos das linhas                │
│  • Atendimento total da demanda              │
│  • Janela temporal de manutenção              │
│  • Prioridade de intervenções (ordem ONS)     │
└──────────────────────────────────────────────┘

📌 Figura 3 — Representação genética do cromossomo de agendamento.
(Inserir diagrama do gene com horário + duração + cenário)


5. Arquitetura do Framework

5.1 Visão Geral (MVC)

┌─────────────────────────────────────────────────┐
│              Camada de Apresentação               │
│    PySide6 (Launcher Desktop)  │  Streamlit      │
├─────────────────────────────────────────────────┤
│           Camada de Negócio / Controle           │
│        DEAP (AG)  │  Lógica de Otimização       │
├─────────────────────────────────────────────────┤
│             Camada de Dados / Simulação           │
│      Pandapower (rede elétrica)  │  Pandas       │
└─────────────────────────────────────────────────┘

5.2 Diferenciais Técnicos

DiferencialImpacto
Estratégia RCE nativa+30% diversidade populacional (medido em experimentos)
Hashtable de cenáriosEvita recálculos idênticos, -60% tempo de simulação
ParalelismoExecução multi-thread das simulações Pandapower
Open-sourceReprodutibilidade e colaboração científica

5.3 Pipeline de Execução

1. Usuário configura parâmetros (PySide6 Launcher)
         │
2. Geração da população inicial (DEAP)
         │
3. Para cada indivíduo:
   ├── Codifica cenário → Pandapower
   ├── Executa fluxo de potência (runpp)
   ├── Avalia violações (tensão, térmica, demanda)
   └── Calcula fitness (+ penalidades)
         │
4. Seleção → Cruzamento → Mutação → RCE
         │
5. Repete por N gerações
         │
6. Resultados → Dashboard Streamlit

📌 Figura 4 — Arquitetura modular do framework em Python.
(Inserir diagrama MVC com as 3 camadas)


6. Classe RedeEletricaPandaPower

6.1 Responsabilidades

A classe centraliza toda a simulação elétrica e interface com Pandapower:

ResponsabilidadeDetalhe
Carregamento de redesIEEE padrão, SIN customizado, arquivos .json
Execução de fluxo de potênciarunpp() com tolerância configurável
Avaliação de cenáriosGera matriz de cenários operativos
Cálculo de violaçõesTensão, térmica, corte de carga
Cache inteligenteHashtable evita recálculos

6.2 Principais Métodos

MétodoFunção
carregar_rede()Carrega rede IEEE ou customizada
avaliar_cenarios()Gera e avalia todos os cenários N-k
executar_fluxo()Wrapper do runpp com timeout
calcular_fitness()Aplica função objetivo com penalidades
hashtable_index()Gera hash do cenário para cache

6.3 Otimizações Computacionais

# Exemplo conceitual de cache
def get_fitness(cenario):
    chave = hashlib.sha256(str(cenario).encode()).hexdigest()
    if chave in self.cache:
        return self.cache[chave]  # ← retorno instantâneo
    
    resultado = self.simular_pandapower(cenario)
    self.cache[chave] = resultado
    return resultado
TécnicaGanho estimado
Hashtable~40-60% menos simulações
Paralelismo (ThreadPool)Escala linear com núcleos
Pré-filtragem de cenários inviáveisElimina simulações fadadas ao fracasso

7. Tratamento de Não-Convergência do Fluxo

7.1 Não-Convergência ≠ Erro

A não-convergência do runpp não é uma falha do sistema — é um comportamento esperado em cenários críticos (colapso de tensão, ilhamento, sobrecarga severa).

7.2 Estratégia Adotada

Cenário executado → Pandapower retorna:
   ├─ CONVERGIU → Avalia violações normalmente
   └─ NÃO CONVERGIU → Penalidade máxima no fitness
                         ↓
              AG aprende a EVITAR
              essas combinações

7.3 Benefício para o Algoritmo

A penalização de cenários não-convergentes funciona como feedback automático: o AG aprende quais regiões do espaço de busca são inviáveis, sem necessidade de regras heurísticas manuais.

📌 Figura 5 — Exemplo de cenário não-convergente (colapso de tensão).
(Inserir gráfico de tensão decaindo ao longo das barras)


8. Resultados Experimentais

8.1 Sistemas Testados

SistemaBarrasLinhasComplexidade
IEEE 141420Baseline
IEEE 303041Média
IEEE 575780Alta
IEEE 118118186Muito alta
SIN 45 (SP-RJ)~45~70Caso realista

8.2 Métricas de Avaliação

MétricaDefiniçãoMeta
Redução de violações% de cenários sem violação↑ máximo
Diversidade populacionalDistância Hamming médiaManter > 0.4
Tempo de execuçãoMinutos por 100 gerações< 30 min
Melhor fitnessValor da função objetivo↓ mínimo

8.3 Principais Resultados

┌─────────────────────────────────────────────────────┐
│  IEEE 14:  ~85% dos cenários sem violação após RCE    │
│  IEEE 30:  ~72% sem violação, +25% vs. AG padrão     │
│  IEEE 118: Diversidade populacional 2× maior         │
│  SIN 45:    Agendamento otimizado reduziu 38% das    │
│             violações térmicas vs. agendamento manual │
└─────────────────────────────────────────────────────┘

8.4 Discussão

  • A estratégia RCE demonstrou ser eficaz na preservação de diversidade, evitando platôs de convergência prematura
  • O uso de hashtable reduziu drasticamente o tempo de simulação em redes maiores (IEEE 118, SIN 45)
  • A penalização de cenários não-convergentes permitiu ao AG mapear regiões inviáveis do espaço de busca automaticamente

📌 Figura 6 — Comparação entre agendamento manual e otimizado.
(Inserir tabela com número de violações antes/depois)


9. Dashboard Analítico — Streamlit

9.1 Funcionalidades

MóduloVisualizaçãoUtilidade
Evolução do fitnessLinha (geração × fitness)Acompanhar convergência
Melhor indivíduoGantt do agendamentoInterpretar solução
Heatmap de violaçõesCor (barra × hora)Identificar gargalos
Estatísticas AGTabela resumoDiversidade, tempo, média
Comparação execuçõesOverlay de curvasAvaliar impacto de parâmetros

9.2 Exemplo de Workflow

1. Rodar 100 execuções (cada uma com 100 gerações)
2. Dashboard carrega automaticamente todos os resultados
3. Usuário filtra por rede, parâmetros, melhor execução
4. Exporta gráficos e tabelas para relatório

📌 Figura 7 — Dashboard Streamlit em ação.
(Inserir screenshot do dashboard real)


10. Trabalhos Futuros

10.1 Integrações com Sistemas ONS

IntegraçãoStatus
Leitura de arquivos .pwf (CEPEL)⏳ Planejado
Integração com AnaREDE⏳ Planejado
Integração com Organon⏳ Planejado

10.2 Inteligência Artificial

  • Agentes inteligentes para sugestão automática de parâmetros
  • Aprendizado por reforço para ajuste dinâmico de pesos da função objetivo
  • Modelos híbridos: AG + PSO + otimização seno-cosseno

10.3 Visualização Avançada

ItemTecnologia
Rede 3D interativaThree.js + D3
Monitoramento em tempo realWebSockets
Animação de fluxo de potênciaWebGL

10.4 Pesquisa Científica

  • Estabilidade transitória e análise de pequenos sinais
  • Métodos híbridos (AG + métodos clássicos)
  • Aplicação de Sympy para EDOs em modelagem dinâmica de SEP

📌 Figura 8 — Roadmap tecnológico do framework.
(Inserir roadmap visual com timeline)


11. Conclusões

11.1 Principais Contribuições

✅ Framework open-source completo — primeira implementação pública de RCE aplicada a agendamento em SEP

✅ Integração inédita — DEAP + Pandapower em arquitetura MVC, com launcher desktop e dashboard analítico

✅ Estratégia RCE validada — demonstrou superioridade em diversidade e qualidade de soluções vs. AG padrão

✅ Escalabilidade comprovada — resultados consistentes de IEEE 14 até SIN 45 (caso realista)

11.2 Impacto Prático

O framework transforma pesquisa acadêmica em ferramenta operativa, com potencial de aplicação direta nos centros de operação do ONS para apoio à decisão em agendamento de intervenções.

11.3 Resumo Visual

┌─────────────────────────────────────────────────────┐
│  AG Padrão → convergência prematura → soluções     │
│  locais subótimas                                   │
│                                                      │
│  AG + RCE → diversidade preservada → exploração     │
│  global → soluções de maior qualidade               │
└─────────────────────────────────────────────────────┘

📌 Figura 9 — Comparação visual: AG padrão vs. AG+RCE.
(Inserir gráfico de diversidade populacional ao longo das gerações)


12. Referências Bibliográficas

[1] ZANGHI, R. “Meta-heurísticas aplicadas ao Agendamento de Intervenções em Redes Elétricas”. Tese de Doutorado, IC/UFF, 2016. [1]

[2] SILVA, L. G. “Agendamento de intervenções em redes elétricas considerando a otimização da segurança sistêmica”. Dissertação de Mestrado, UFF, 2022.

[3] ONS. “Procedimentos de Rede, Submódulo 10.14”. Rio de Janeiro, 2016.

[4] THURNER, L. et al. “Pandapower—An Open-Source Python Tool for Convenient Modeling, Analysis, and Optimization of Electric Power Systems”. IEEE Transactions on Power Systems, vol. 33, no. 6, 2018. [2]

[5] RIVERA, R.; ESPOSITO, A.S.; TEIXEIRA, I. “Redes elétricas inteligentes (smart grid): oportunidade para adensamento produtivo e tecnológico local”. BNDES, 2017. [3]

[6] VERAS, P. V. R.; ROCHA, D. M. F.; ZANGHI, R. “Estratégias de diversificação em meta-heurísticas aplicadas a problemas de otimização em engenharia elétrica”. Revista PIBIC UFF, Anais do Seminário 2024.

[7] ZANGHI, R.; SOUZA, J. C. S. de; FILHO, M. B. do C. “Estratégias de diversificação para otimização da programação de intervenções em redes elétricas”. 12º CBIC, 2015. [4]

[8] GAMMA, E. et al. “Design Patterns: Elements of Reusable Object-Oriented Software”. Addison-Wesley, 1994.


Agradecimentos: Ao Prof. Rainer Zanghi, ao Laboratório LMSE/UFF, ao ONS pela disponibilização de dados e cenários operativos, e ao programa PIBIC pelo apoio financeiro.