AI-система цифрових двійників для енергомереж

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
AI-система цифрових двійників для енергомереж
Складний
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1197
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

AI-цифровий двійник енергомережі

Цифровий двійник енергомережі – від локальної підстанції до регіонального диспетчерського центру – забезпечує моделювання режимів роботи, передбачення відмов та оптимізацію завантаження у реальному часі. Результат: зниження аварійності, скорочення часу відновлення та економія на балансуванні навантаження.

Архітектура Twin для енергомережі

Рівні моделювання:

  • Topology model: граф мережі (вузли = шини, ребра = лінії/трансформатори) з електричними параметрами
  • State estimation: реальний стан мережі із SCADA-телеметрії
  • Power flow model: розрахунок струмів та напруг для поточної конфігурації
  • Predictive layer: прогнозування навантаження, генерації ВІЕ, ймовірності відмов

Дані в реальному часі:

grid_telemetry = {
    # SCADA каждые 4-15 секунд
    'voltage_kv': {bus_id: voltage for bus_id in buses},
    'current_a': {line_id: current for line_id in lines},
    'active_power_mw': {node_id: p for node_id in nodes},
    'reactive_power_mvar': {node_id: q for node_id in nodes},
    'transformer_load_pct': {trafo_id: load_pct for trafo_id in transformers},
    'breaker_status': {breaker_id: 'open'/'closed' for breaker_id in breakers}
}

Оцінка штату (SE): Класичний алгоритм (WLS – Weighted Least Squares) коригує SCADA-вимірювання з помилками → оптимальна оцінка стану мережі. ML-доповнення: детекція bad data points (телеметрія із несправних датчиків).

Power Flow та режимний аналіз

Потік потужності Гауса-Зейделя / Ньютона-Рафсона: Використовуються Python-бібліотеки:

  • pandapower: відкритий інструмент для аналізу розподільчих мереж
  • PyPSA (Python for Power System Analysis): для планування та оптимізації
  • GridLAB-D: детальна симуляція distribution grid
import pandapower as pp

net = pp.from_json('grid_topology.json')

# Обновление данных из SCADA
for gen_id, p_mw in scada_generation.items():
    net.gen.at[gen_id, 'p_mw'] = p_mw
for load_id, p_mw in scada_loads.items():
    net.load.at[load_id, 'p_mw'] = p_mw

# Расчёт потоков мощности
pp.runpp(net, algorithm='nr')  # Newton-Raphson

# Результаты
overloaded_lines = net.res_line[net.res_line['loading_percent'] > 100]
undervoltage_buses = net.res_bus[net.res_bus['vm_pu'] < 0.95]

Прогнозування навантаження та генерації

Короткострокове прогнозування навантаження (STLF):

from statsforecast.models import AutoARIMA, AutoETS
from sklearn.ensemble import GradientBoostingRegressor

# Горизонт 15 мин - 48 часов
load_features = {
    'hour_sin': np.sin(2 * np.pi * hour / 24),
    'hour_cos': np.cos(2 * np.pi * hour / 24),
    'weekday': day_of_week,
    'temperature': weather_forecast['temp'],
    'humidity': weather_forecast['humidity'],
    'holidays': is_holiday,
    'load_lag_24h': load_24h_ago,
    'load_lag_7d': load_7d_ago
}

# Ensemble: ARIMA + GBT + LSTM
forecast_ensemble = (
    arima_forecast * 0.3 +
    gbt_forecast * 0.4 +
    lstm_forecast * 0.3
)

Прогноз виробництва сонячної енергії:

def solar_forecast(irradiance_forecast, pv_capacity_mw, temperature_forecast):
    """
    Модель: физическая деградация при высокой температуре панелей
    PR (Performance Ratio) снижается ~0.4% на °C выше 25°C
    """
    temperature_coeff = 1 - 0.004 * max(0, temperature_forecast - 25)
    pv_generation = irradiance_forecast * pv_capacity_mw * pr_baseline * temperature_coeff
    return pv_generation

Енергія вітру: ML-крива потужності вітер → генерація. Нелінійна залежність із cut-in (3-4 м/с), rated (12-15 м/с) та cut-out (25 м/с) швидкостями.

Предиктивна аналітика обладнання

Трансформатори - гаряча точка:

def transformer_health_index(oil_diagnostics, load_history, age_years):
    """
    Метод МЭК 60422 + ML-дополнение
    Газовый анализ масла (DGA): H₂, CH₄, C₂H₂, C₂H₄, CO
    Rogers ratio / Duval triangle → классификация дефекта
    """
    # Классические диагностические признаки
    duval_zone = classify_duval_triangle(
        oil_diagnostics['c2h2'], oil_diagnostics['c2h4'], oil_diagnostics['ch4']
    )

    # ML-модель на временных рядах DGA + термин + нагрузка
    rul_prediction = lstm_transformer_model.predict(
        np.column_stack([dga_history, load_history, temperature_history])
    )

    return {
        'health_index': rul_prediction['health_score'],
        'defect_type': duval_zone,
        'predicted_remaining_life_years': rul_prediction['rul_years'],
        'recommended_action': get_recommendation(rul_prediction)
    }

Високовольтні вимикачі:

  • Час відключення (операційний час) – індикатор деградації механізму
  • Contact wear за кількістю відключень × рівень струму
  • SF6 pressure monitoring - витік газу

Кабельні лінії: Часткові розряди (Partial Discharge) – рання ознака деградації ізоляції. Моніторинг за високочастотними струмовими трансформаторами.

Оперативне управління та оптимізація

OPF (Оптимальний потік потужності): Мінімізація втрат у мережі за дотримання обмежень (напруга, завантаження ліній):

import pyomo.environ as pyo

def optimal_power_flow(network, generation_costs, load_forecast):
    model = pyo.ConcreteModel()

    # Переменные: активная и реактивная мощность генераторов
    model.p_gen = pyo.Var(generators, domain=pyo.NonNegativeReals)
    model.q_gen = pyo.Var(generators, domain=pyo.Reals)

    # Целевая функция: минимизация стоимости генерации + потерь
    model.obj = pyo.Objective(
        expr=sum(generation_costs[g] * model.p_gen[g] for g in generators),
        sense=pyo.minimize
    )

    # Ограничения: баланс мощности, ограничения по напряжению и токам
    # ...
    solver = pyo.SolverFactory('ipopt')
    result = solver.solve(model)
    return model

Автоматичне керування конфігурацією (Reconfiguration): При перевантаженні лінії або відмови - алгоритм пошуку оптимальної реконфігурації (радіальна топологія без острівних секцій). Graph algorithms + constrained optimization.

Відповідь на попит: Управління гнучким навантаженням (промислові споживачі) для балансування піків. Оптимізація: кому і коли надіслати сигнал DR з урахуванням чуйності та економічних стимулів.

Інтеграція з диспетчерським центром

SCADA/EMS (Система енергоменеджменту): Двостороннє API: дані зі SCADA → Digital Twin (стан мережі), рекомендації з Twin → дисплеї диспетчера.

ICCP (Протокол зв'язку між центрами управління): Стандарт обміну даними між диспетчерськими центрами різного рівня (ПАТ ФСК ЄЕС, регіональні РСК).

Відповідність:

  • NERC CIP (Північна Америка) / ENTSO-E (Європа): вимоги до кібербезпеки та надійності
  • Російські стандарти: ПУЕ, ГОСТ Р з релейного захисту та автоматики

Терміни: підключення SCADA, topology model, state estimation, базовий power flow - 6-8 тижнів. Короткостроковий прогноз навантаження/генерації, predictive maintenance трансформаторів, OPF оптимізатор – 4-5 місяців. Повний Digital Twin із DR, рекомфігурацією, кабельною діагностикою, інтеграцією EMS – 7-10 місяців.