content
📊 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
- Introdução e Motivação
- Metodologia
- Fundamentação Teórica
- Formulação Matemática
- Arquitetura do Framework
- Classe
RedeEletricaPandaPower - Tratamento de Não-Convergência
- Resultados Experimentais
- Dashboard Analítico
- Trabalhos Futuros
- Conclusões
- 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:
| Objetivo | Desafio |
|---|---|
| Minimizar riscos operativos | Espaço combinatório explosivo |
| Atender restrições elétricas | Função objetivo não-linear |
| Respeitar prioridades de manutenção | Alto custo computacional |
| Garantir segurança N-1 | Epistasia 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
- Definição de variáveis de decisão, restrições e função objetivo
- Codificação do cromossomo (gene = horário, duração, cenário)
- Integração com Pandapower para avaliação elétrica real
- Aplicação da estratégia RCE — elite set migra entre populações
- Validação em redes IEEE 14, 30, 57, 118 e SIN 45
- Dashboard Streamlit para análise visual dos resultados
Ferramentas
| Camada | Tecnologia | Função |
|---|---|---|
| Núcleo | DEAP | Algoritmo evolutivo |
| Simulação | Pandapower | Fluxo de potência AC |
| Dados | Pandas | Processamento |
| Desktop | PySide6 | Launcher GUI |
| Dashboard | Streamlit | Aná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:
| Conceito | Definição |
|---|---|
| Vizinhança | Conjunto de soluções próximas a uma solução dada |
| Perturbação | Mecanismo que gera soluções vizinhas |
| Busca local | Explora sistematicamente a vizinhança |
| Epistasia | Interação entre genes no cromossomo |
| Penalidade | Acré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égia | O que faz | Quando usar |
|---|---|---|
| Diversificação | Explora regiões distantes | Início da busca, risco de convergência |
| Intensificação | Aprofunda em regiões promissoras | Quando elite set identifica boas soluções |
4. Formulação Matemática
4.1 Variáveis de Decisão
Cada cromossomo codifica um agendamento completo:
| Gene | Representa | Domí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:
Onde:
| Termo | Significado |
|---|---|
| Penalidade por violação de limites de tensão (p.u.) | |
| Penalidade por sobrecarga em linhas/transformadores (MW) | |
| Penalidade por não atendimento de demanda (MW) | |
| Pesos 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
| Diferencial | Impacto |
|---|---|
| Estratégia RCE nativa | +30% diversidade populacional (medido em experimentos) |
| Hashtable de cenários | Evita recálculos idênticos, -60% tempo de simulação |
| Paralelismo | Execução multi-thread das simulações Pandapower |
| Open-source | Reprodutibilidade 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:
| Responsabilidade | Detalhe |
|---|---|
| Carregamento de redes | IEEE padrão, SIN customizado, arquivos .json |
| Execução de fluxo de potência | runpp() com tolerância configurável |
| Avaliação de cenários | Gera matriz de cenários operativos |
| Cálculo de violações | Tensão, térmica, corte de carga |
| Cache inteligente | Hashtable evita recálculos |
6.2 Principais Métodos
| Método | Funçã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écnica | Ganho estimado |
|---|---|
| Hashtable | ~40-60% menos simulações |
| Paralelismo (ThreadPool) | Escala linear com núcleos |
| Pré-filtragem de cenários inviáveis | Elimina 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
| Sistema | Barras | Linhas | Complexidade |
|---|---|---|---|
| IEEE 14 | 14 | 20 | Baseline |
| IEEE 30 | 30 | 41 | Média |
| IEEE 57 | 57 | 80 | Alta |
| IEEE 118 | 118 | 186 | Muito alta |
| SIN 45 (SP-RJ) | ~45 | ~70 | Caso realista |
8.2 Métricas de Avaliação
| Métrica | Definição | Meta |
|---|---|---|
| Redução de violações | % de cenários sem violação | ↑ máximo |
| Diversidade populacional | Distância Hamming média | Manter > 0.4 |
| Tempo de execução | Minutos por 100 gerações | < 30 min |
| Melhor fitness | Valor 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ódulo | Visualização | Utilidade |
|---|---|---|
| Evolução do fitness | Linha (geração × fitness) | Acompanhar convergência |
| Melhor indivíduo | Gantt do agendamento | Interpretar solução |
| Heatmap de violações | Cor (barra × hora) | Identificar gargalos |
| Estatísticas AG | Tabela resumo | Diversidade, tempo, média |
| Comparação execuções | Overlay de curvas | Avaliar 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ção | Status |
|---|---|
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
| Item | Tecnologia |
|---|---|
| Rede 3D interativa | Three.js + D3 |
| Monitoramento em tempo real | WebSockets |
| Animação de fluxo de potência | WebGL |
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.